-
根据单个条件标志的设置情况转移
指令 |
英文 |
含义 |
格式 |
测试条件 |
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 |
结果为正则转移 |
JO 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 |
适用于测试某一次运算的结果并根据其不同特征产生程序分支不同的处理的情况
-
比较两个无符号数,并根据比较的结果转移
指令 |
英文 |
含义 |
格式 |
测试条件 |
等价于 |
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 |
> |
-
比较两个带符号数,并根据比较的结果转移
指令 |
英文 |
含义 |
格式 |
测试条件 |
等价于 |
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 |
> |
注:OPR
更改成标号名称
原文链接:http://www.cnblogs.com/arblogs/p/14866686.html