Professional Documents
Culture Documents
汇编标志位
汇编标志位
汇编标志位
汇编常用跳转指令及检测的标志位
助记符 条件 表达式
无符号数 JC/JB/JNAE CF=1 A < B
JNC/JAE/JNB CF=0 A ≥ B
JA/JNBE CF=0 and ZF=0 A > B
JBE/JNA CF=1 or ZF=1 A ≤ B
有符号数 JL/JNGE SF ≠ OF A < B
JGE/JNL SF=OF A ≥ B
JG/JNLE SF=OF and ZF=0 A > B
JLE/JNG SF ≠ OF or ZF=1 A ≤ B
无符号数或 JZ/JE ZF=1 A = B
有符号数 JNZ/JNE ZF=0 A != B
其他 JS SF=1 结果为负
JNS SF=0 结果为正
提示:
1. JC/JNAE 会被汇编器汇编成 JB
2. JNC/JAE 会被汇编器汇编成 JNB
3. JNE 会被汇编器汇编成 JNZ
汇编常用指令对标志位的影响
加法指令 ADD (addition)
指令对标志位的影响:
CF=1 最高有效位向高位有进位
CF=0 最高有效位向高位无进位
OF=0 两个不同符号数相加,或同符号数相加,结果符号与其相同。
指令对标志位的影响:
CF=1 最高有效位向高位有进位
CF=0 最低有效位相高位无进位
OF=1 两个同符号数相加,结果符号与其相反,
OF=0 两个同符号数相加,或同符号相加,结果符号与其相同
加 1 指令 INC (increament)
指令对标志位的影响:
对 CF 无影响
OF=1 两个同符号数相加,结果符号与其相反,
OF=0 两个同符号数相加,或同符号相加,结果符号与其相同。
指令对标志位的影响:
CF=1 二进制减法运算中最高有效位向高位有借位(被减数小于减数,不够减的情况)
CF=0 二进制减法运算中最高有效为向高位无借位(被减数〉=减数,够减的情况)
OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。
OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不同。
指令对标志位的影响:
CF=1 二进制减法运算中最高有效位向高位有借位(被减数小于减数,不够减的情况)
CF=0 二进制减法运算中最高有效为向高位无借位(被减数〉=减数,够减的情况)
OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。
OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不同。
减 1 指令 DEC (decrement)
指令对标志位的影响:
对 CF 无影响
OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。
OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不同。
指令对标志位的影响:
CF=1 二进制减法运算中最高有效位向高位有借位(被减数小于减数,不够减的情况)
CF=0 二进制减法运算中最高有效为向高位无借位(被减数〉=减数,够减的情况)
OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。
OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不同。
指令对标志位的影响:
CF=1 不为 0 的操作数求补时
CF=0 为 0 的操作数求补时
OF=1 操作数为-128(字节运算)或操作数为-32768(字运算)
OF=0 当求补运算的操作数不为-128(字节)或-32768(字)时
指令对标志位的影响:乘法指令只影响标志位 CF 和 OF,其他条件码位无定义。
MUL 指令的条件码设置为:
CF OF=1 1 乘积的高一半不为 0
IMUL 指令的条件码设置为:
CF OF=0 0 乘积的高一半为低一半的符号扩展.
CF OF=1 1 其他情况
指令对标志位的影响:不影响条件码。
指令对标志位的影响:
指令对标志位的影响:
指令对标志位的影响:对标志位无影响
指令对标志位的影响:
测试指令 TEST
指令对标志位的影响:
令执行后 CF 和 OF 置零,AF 无定义。
指令对标志位的影响:CF=移入的数值
指令对标志位的影响:CF=移入的数值
指令对标志位的影响:CF=移入的数值
指令对标志位的影响:CF=移入的数值
指令对标志位的影响:CF=移入的数值
指令对标志位的影响:CF=移入的数值
指令对标志位的影响:CF=移入的数值。
SF、ZF、PF 标志位不受影响。
指令对标志位的影响:CF=移入的数值。
SF、ZF、PF 标志位不受影响。
指令对条件码的影响:不影响条件码。
指令对条件码的影响:不影响条件码。
指令对条件码的影响:不影响条件码。
指令对条件码的影响:
CF=1 二进制减法运算中最高有效位向高位有借位(被减数小于减数,不够减的情况)
CF=0 二进制减法运算中最高有效为向高位无借位(被减数〉=减数,够减的情况)
OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。
OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不同。
指令对条件码的影响:
CF=1 二进制减法运算中最高有效位向高位有借位(被减数小于减数,不够减的情况)
CF=0 二进制减法运算中最高有效为向高位无借位(被减数〉=减数,够减的情况)
OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。
OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不同。
条件转移指令
指令的汇编格式及功能 根据条件码的值转移:
比较两个无符号数,根据比较的结果转移
比较两个带符号数,根据比较结果转移
根据 CX 寄存器的值转移