SJMP

SJMP,是51單片機指令。

51單片機指令。
功能:短轉移(Short Jump)
格式:SJMP rel ;
作用: PC
PC+2 , PC
PC+rel
轉移指令(-128—+127範圍內的轉移指令)
短轉移指令的功能是先使程式計數器PC加1兩次(即:取出指令碼),然後把加2後的地址和rel相加作為目標轉移地址。因此,短轉移指令是一條相對轉移指令,是一條雙位元組雙周期指令,指令碼格式為:80H rel(操作碼 地址偏移量),這裡,80H是SJMP指令的操作碼;rel是地址偏移量,在程式中也常採用符號地址,上機運行前才被代真成二進制形式。
注意:遇到具體問題時,頭腦中一定要清楚一個關係式:目標轉移地址=源地址+2+rel
常見用法:
SJMP$
即跳轉到本指令的起始位置開始執行,這樣就變成了循環執行,即原地跳轉,一般用來等待中斷。
但是本指令也不宜濫用。這是一條死循環指令,如果系統的中斷是開放的,那么SJMP $指令實際上是在等待中斷,當有中斷申請後,CPU 轉至執行中斷服務程式。中斷返回時,仍然返回到這條死循環指令,繼續等待中斷,而不是返回到該指令的下一條指令。這是因為執行SJMP $後,PC 仍指向這條指令,中斷的斷點就是這條指令的首位元組地址。

相關詞條

熱門詞條

聯絡我們