條件轉移指令

條件轉移指令

屬於彙編語言內容

格式:JXX DEST

功能:以標誌位的狀態或者以標誌位的邏輯運算結果作為轉移依據,如果滿足轉移條件,則轉到目標地址所指示的指令執行否則繼續執行下一條指令。

基本介紹


功能:以標誌位的狀態或者以標誌位的邏輯運算結果作為轉移依據,如果滿足轉移條件,則轉到目標地址所指示的指令執行否則繼續執行下一條指令。必須指出,條件轉移指令轉移地址的偏移量限制在-128~+127位元組範圍內,採用相對轉移方式(相對轉移指令是指跳轉時以當前地址為基準加上相對偏移量進行跳轉,一般是在本地址段內跳轉。如果需要跳轉到較遠的地方如跳到另一個地址段,就需要加上跳轉的目標段地址)。
v從指令的轉移條件以及上條指令參加運算的操作數性質,可以將它們分成三類:
v(1)根據單個標誌位的狀態判斷轉移的指令(DEST為目的地址destination的縮寫)
指令轉移條件說明
JC DESTCF=1有進位/借位
JNC DESTCF=0無進位/借位
JE/JZ DESTZF=1相等/等於零
JNE/JNZ DESTZF=0不相等/不等於零
JS DESTSF=1是負數
JNS DESTSF=0是正數
JO DESTOF=1有溢出
JNO DESTOF=0無溢出
JP/JPE DESTPF=1有偶數個“1”
JNP/JPO DESTPF=0有奇數個“1”
v(2)根據兩個無符號數的比較結果判斷轉移的指令 v
指令轉移條件含義英文表述
JA/JNBE DESTCF=0 AND ZF=0無符號數A>BJMP above (not below or equal)
JAE/JNB DESTCF=0無符號數A≥BJMP above or equal (not below )
JB/JNAE DESTCF=1無符號數AJMP blow (not above or equal)
JBE/JNA DESTCF=1 OR ZF=1無符號數A≤BJMP blow or equal (not above)
v(3)根據兩個有符號數的比較結果判斷轉移的指令
指令轉移條件含義英文表述
JG/JNLE DESTSF=OF AND ZF=0有符號數A>BJMP greater (not less or equal)
JGE/JNL DESTSF=OF OR ZF=1有符號數A≥BJMP greater or equal (not less)
JL/JNGE DESTSF≠OF AND ZF=0有符號數AJMP less (not greater or equal)
JLE/JNG DESTSF≠OF OR ZF=1有符號數A≤BJMP less or equal (not greater)