1 转移指令:条件转移和无条件转移
2 条件转移指令:
条件转移指令 | |||
JXX 标号 | |||
单标志条件转移: | |||
JC (JNC) |
有(无)进位则转 | CF=1(CF=0) | |
JP (JNP) | 1个数为偶数则转 | PF=1 | |
JZ (JNZ) | 为零则转 | ZF=1 | |
JS (JNS) | 为负数则转 | SF=1 | |
JO (JNO) | 溢出则转 | OF=1 | |
无符号数专用: | |||
JA (JBE) | > (JBE<=) | CF=0 && Zf=0 |
JA与JBE相反 |
JB (JAE) | < (JAE>=) | CF=1 | JB与JAE相反 |
有符号数专用: | |||
JG (JLE) | > | SF=OF且ZF=0 | JG与JLE相反 |
JL (JGE) | < | SF!=OF且ZF=0 |
附上ADD对标志位的影响:(SUB与ADD基本一致,CMP除不更改目的操作符之外,与SUB一致)
OF | 字节运算结果超出字节有符号数的范围(-128~+127)或字运算超出字有符号数范围(-32768~+32767)时,OF=1否则OF=0。把操作数视为有符号数时,可以通过此标志了解是否溢出。 |
SF | 运算结果的最高位为1时 |