-
轉移指令
鎖定
- 中文名
- 轉移指令
- 外文名
- Transfer instructions
- 分 類
- 有條件 無條件等
- 性 質
- 工業流程術語
- 領 域
- 彙編語言
目錄
轉移指令簡介
轉移指令,相對於流水指令而説的。轉移指令是指不按程序的語句流程執行的指令,如跳轉指令,call指令、jmp指令等。
轉移指令分為以下幾類:
轉移指令無條件轉移指令(如:jmp)
(1)絕對跳轉指令
這是2KB尋址範圍內的無條件轉移指令,是絕對跳轉。跳轉的目的地址必須與AJMP的下一條指令的第一個字節在同一個2KB尋址範圍內,這是因為跳轉的目的地址與AJMP的下一條指令的第一個字節的高5位addr15~11相同。這條指令是為與MCS-48兼容而保留的指令,現在一般很少使用。
[2]
(2)相對跳轉指令
這條指令執行的時候先將PC的內容加2,再加相對偏移量rel,計算出跳轉目的地址。rel是一個帶符號的字節數,在程序中用補碼錶示,其值範圍為-128B~+127B,當rel為正數時表示正向跳轉,為負數時表示負向跳轉。
[2]
(3)長跳轉指令
(4)間接跳轉指令
轉移指令條件轉移指令(如:jcxz)
功能:以標誌位的狀態或者以標誌位的邏輯運算結果作為轉移依據,如果滿足轉移條件,則轉到目標地址所指示的指令執行否則繼續執行下一條指令。必須指出,條件轉移指令轉移地址的偏移量限制在-128~+127字節範圍內,採用相對轉移方式(相對轉移指令是指跳轉時以當前地址為基準加上相對偏移量進行跳轉,一般是在本地址段內跳轉。如果需要跳轉到較遠的地方如跳到另一個地址段,就需要加上跳轉的目標段地址)。
[3]