條件轉(zhuǎn)移指令較多,容易混淆,在此記錄一下便于日后使用
1. 根據(jù)單個條件標志的設(shè)置情況轉(zhuǎn)移
指令 | 英文 | 含義 | 格式 | 測試條件 |
---|---|---|---|---|
JZ/JE | jump if zero/equal | 結(jié)果為零/相等則轉(zhuǎn)移 | JZ/JE OPR | ZF=1 |
JNZ/JNE | jump if not zero/equal | 結(jié)果不為零/不相等則轉(zhuǎn)移 | JNZ/JNE OPR | ZF=0 |
JS | jump if sign | 結(jié)果為負則轉(zhuǎn)移 | JS OPR | SF=1 |
JNS | jump if not sign | 結(jié)果為正則轉(zhuǎn)移 | JNS OPR | SF=0 |
JO | jump if overflow | 溢出則轉(zhuǎn)移 | JO OPR | OF=1 |
JNO | jump if not overflow | 不溢出則轉(zhuǎn)移 | JNO OPR | OF=0 |
JP/JPE | jump if parity/parity even | 奇偶位為1則轉(zhuǎn)移 | JP/JPE OPR | PF=1 |
JNP/JNPE | jump if not parity/parity even | 奇偶位為0則轉(zhuǎn)移 | JNP/JNPE OPR | PF=0 |
JB/JNAE/JC | jump if below/not above、not equal/carry | 低于/不高于或不等于/進位為1則轉(zhuǎn)移 | JB/JNAE/JC OPR | CF=1 |
JNB/JAE/JNC | jump if not below/ above、equal/not carry | 不低于/高于或等于/進位為零則轉(zhuǎn)移 | JNB/JAE/JNC OPR | CF=0 |
適用于測試某 | 一次運算的結(jié)果并根據(jù)其 | 不同特征產(chǎn)生程序分支 | 不同的處理的 | 情況 |
2. 比較兩個無符號數(shù),并根據(jù)比較的結(jié)果轉(zhuǎn)移
指令 | 英文 | 含義 | 格式 | 測試條件 | 等價于 |
---|---|---|---|---|---|
JB/JNAE/JC | jump if below/not above、not equal/carry | 低于/不高于或不等于/進位為1則轉(zhuǎn)移 | JB/JNAE/JC OPR | CF=1 | < |
JNB/JAE/JNC | jump if not below/ above、equal/not carry | 不低于/高于或等于/進位為零則轉(zhuǎn)移 | JNB/JAE/JNC OPR | CF=0 | ≥ |
JBE/JNA | jump if below/equal、not above | 低于/等于、不高于則轉(zhuǎn)移 | JBE/JNA OPR | CF并ZF=1 | ≤ |
JNBE/JA | jump if not below/not equal、above | 不低于/不等于、高于則轉(zhuǎn)移 | JNBE/JA OPR | CF并ZF=0 | > |
3. 比較兩個帶符號數(shù),并根據(jù)比較的結(jié)果轉(zhuǎn)移
指令 | 英文 | 含義 | 格式 | 測試條件 | 等價于 |
---|---|---|---|---|---|
JL/JNGE | jump if less、not greater/equal | 小于、不大于/不等于則轉(zhuǎn)移 | JL/JNGE OPR | SF異或CF=1 | < |
JNL/JGE | jump if not less、greater/equal | 不小于、大于/等于則轉(zhuǎn)移 | JNL/JGE OPR | SF異或CF=0 | ≥ |
JLE/JNG | jump if less/equal、not greater | 小于/等于、不大于則轉(zhuǎn)移 | JLE/JNG OPR | (SF異或CF)并ZF=1 | ≤ |
JNLE/JG | jump if not less/not equal、 greater | 不小于/不等于、大于則轉(zhuǎn)移 | JNLE/JG OPR | (SF異或CF)并ZF=0 | > |
4.測試CX或ECX的值為0則轉(zhuǎn)移指令
1. LCXZ (jump if CX register is zero) CX寄存器的內(nèi)容為零則轉(zhuǎn)移
格式:JCXZ OPR
測試條件:(CX)=0
2. LECXZ (jump if ECX register is zero) ECX寄存器的內(nèi)容為零則轉(zhuǎn)移
格式:JECXZ OPR (386及其后繼機型可用)
測試條件:(ECX)=0
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持html5模板網(wǎng)。
【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!