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

    http://blog.sina.com.cn/s/blog_5d888b200100csds.html

    通常情況下,在普通的彙編子程序中用RET做返回,在中斷服務子程序中用RETI起中斷返回作用。兩條指令都能從堆棧中彈出斷點地址並裝入PC中,使CPU回到原來主程序的斷點處繼續運行。然而,RET和RETI有本質的區別:當某一中斷源響應後,單片機中的標誌寄存器flag H和flag L其中的一個將會自動置位,用於阻止比它低級或同級的中斷觸發。RETI可以清除“優先級激活觸發器”(即flag寄存器),以保證後續中斷源的及時響應。所以,當把RETI替換爲RET後,該程序在第一次運行時可能不會出錯,但在第二次運行時就會出錯了!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章