古詩詞大全網 - 成語故事 - 單片機匯編指令中RETI和RET的區別

單片機匯編指令中RETI和RET的區別

1、方式不同

當某壹中斷源響應後,單片機中的RETI將會自動置位,用於阻止比它低級或同級的中斷觸發。RETI可以清除“優先級激活觸發器”(即flag寄存器),以保證後續中斷源的及時響應。

所以,當把RETI替換為RET後,該程序在第壹次運行時可能不會出錯,但在第二次運行時就會出錯了。

2、過程不同

RET是從子程序返回,返回到LCALL或ACALL指令下壹條指令處繼續執行程序。RETI是從中斷服務子程序返回,返回到中斷時的斷點處繼續執行程序,斷點未知。

擴展資料:

直接使用匯編指令編寫單片機程序,對硬件的控制更加直接,可以直接操作物理地址,寄存器,端口等;其它更高級的語言(如:C語言)對硬件的控制是依賴於類庫來實現的。並且,對於壹些對程序大小和運行速度有非常嚴苛要求的項目而言,都必須使用匯編指令。

C語言只是為了方便編寫,與機器打交道的其實都是2進制得代碼,匯編語言就是這些代碼好記憶的名稱和規則,只是比C語言難理解些。