① 單片機匯編語言指令中中斷返回指令RET和RETI有什麼不同
RET是普通子程序的返回指令,RET是普通子程序的最後1條指令,它使程序從子程序轉到調用該子程序指令LCALL/ACALL的下1條指令執行。
RETI是中斷服務子程序的返回指令,RETI是中斷服務子程序的最後1條指令,它使程序從中斷服務子程序轉到中斷點繼續運行。
RETI指令除了執行返回功能外,還清除內部相應的中斷狀態寄存器(該狀態寄存器由CPU響應中斷時置位,宣告CPU當前正在執行中斷服務程序),因此中斷服務子程序必須用RETI結束,
CPU執行RETI指令後,必須至少再執行一條其它指令才能響應新的中斷。
② 中斷服務程序的最後一條指令是
RETI。根據查詢《基於嵌入式實時操作系統的編程技術》書得知,中斷服務程序的最後一條指令是RETI。中斷服務程序是操作系統中用於處理中斷的一段代碼,其代碼結構和實現方式取決於具體的中斷類型和操作系統。