汇编语言条件转移指令 汇编语言指令集学习条件转移指令详解
壹零捌 人气:0想了解汇编语言指令集学习条件转移指令详解的相关内容吗,壹零捌在本文为您仔细讲解汇编语言条件转移指令的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:汇编语言指令集,汇编语言条件转移指令,下面大家一起来学习吧。
条件转移指令较多,容易混淆,在此记录一下便于日后使用
1.根据单个条件标志的设置情况转移
指令 | 英文 | 含义 | 格式 | 测试条件 |
---|---|---|---|---|
JZ/JE | jump if zero/equal | 结果为零/相等则转移 | JZ/JE OPR | ZF=1 |
JNZ/JNE | jump if not zero/equal | 结果不为零/不相等则转移 | JNZ/JNE OPR | ZF=0 |
JS | jump if sign | 结果为负则转移 | JS OPR | SF=1 |
JNS | jump if not sign | 结果为正则转移 | JNS OPR | SF=0 |
JO | jump if overflow | 溢出则转移 | JO OPR | OF=1 |
JNO | jump if not overflow | 不溢出则转移 | JNO OPR | OF=0 |
JP/JPE | jump if parity/parity even | 奇偶位为1则转移 | JP/JPE OPR | PF=1 |
JNP/JNPE | jump if not parity/parity even | 奇偶位为0则转移 | JNP/JNPE OPR | PF=0 |
JB/JNAE/JC | jump if below/not above、not equal/carry | 低于/不高于或不等于/进位为1则转移 | JB/JNAE/JC OPR | CF=1 |
JNB/JAE/JNC | jump if not below/ above、equal/not carry | 不低于/高于或等于/进位为零则转移 | JNB/JAE/JNC OPR | CF=0 |
适用于测试某 | 一次运算的结果并根据其 | 不同特征产生程序分支 | 不同的处理的 | 情况 |
2. 比较两个无符号数,并根据比较的结果转移
指令 | 英文 | 含义 | 格式 | 测试条件 | 等价于 |
---|---|---|---|---|---|
JB/JNAE/JC | jump if below/not above、not equal/carry | 低于/不高于或不等于/进位为1则转移 | JB/JNAE/JC OPR | CF=1 | < |
JNB/JAE/JNC | jump if not below/ above、equal/not carry | 不低于/高于或等于/进位为零则转移 | JNB/JAE/JNC OPR | CF=0 | ≥ |
JBE/JNA | jump if below/equal、not above | 低于/等于、不高于则转移 | JBE/JNA OPR | CF并ZF=1 | ≤ |
JNBE/JA | jump if not below/not equal、above | 不低于/不等于、高于则转移 | JNBE/JA OPR | CF并ZF=0 | > |
3. 比较两个带符号数,并根据比较的结果转移
指令 | 英文 | 含义 | 格式 | 测试条件 | 等价于 |
---|---|---|---|---|---|
JL/JNGE | jump if less、not greater/equal | 小于、不大于/不等于则转移 | JL/JNGE OPR | SF异或CF=1 | < |
JNL/JGE | jump if not less、greater/equal | 不小于、大于/等于则转移 | JNL/JGE OPR | SF异或CF=0 | ≥ |
JLE/JNG | jump if less/equal、not greater | 小于/等于、不大于则转移 | JLE/JNG OPR | (SF异或CF)并ZF=1 | ≤ |
JNLE/JG | jump if not less/not equal、 greater | 不小于/不等于、大于则转移 | JNLE/JG OPR | (SF异或CF)并ZF=0 | > |
4.测试CX或ECX的值为0则转移指令
1. LCXZ (jump if CX register is zero) CX寄存器的内容为零则转移
格式:JCXZ OPR
测试条件:(CX)=02. LECXZ (jump if ECX register is zero) ECX寄存器的内容为零则转移
格式:JECXZ OPR (386及其后继机型可用)
测试条件:(ECX)=0
加载全部内容