先了解下,汇编中flag标志位寄存器的各种标志位的含义
CF ZF PF DF SF TF OF IF AF 九个标志位,在8086中flag是十六位的
8086的flag寄存器的标志位。
OF=1表是溢出,CF=0无溢出,
DF方向标志位,DF=1,串的操作指令按减地址方式进行,CF=0,串的操作指令将按加地址的方式进行。
IF中断标志位,IF=1,表示允许CPU接受外部的中断请求信号,IF=0,表示禁止CPU接受可屏蔽的中断信号。
TF跟踪标志位。为测试用。
SF符号标志位,SF=1,所计算的结构为负数,SF=0,计算结果为整数。
ZF零标志位,ZF=1,当前运算结果为0,否则ZF为0
AF辅助进位标志,若运算一条加法或者减法的时,若结果的低四位向高四位有进位或者借位,则AF=1,否则AF=0
PF奇偶标示位,当执行的结果低8位含有偶数个1时,PF=1,否则为零
CF进位标志位,CF=1,即有进位或者借位,否则CF=0
JE/JZ disp8 转移条件 ZF=1 即就是等于/零转移
JNE/JNZ disp8 转移条件ZF=0 即就是不等于/非零转移
JS disp8 转移条件 SF=1 即就是负转移
JNS disp8 转移条件 SF=0 即就是正转
JP/JPE disp8 转移条件 PF=1 偶转移(JP等价与JPE)
JNP/JPO disp8 转移条件 PF=0 非偶转移
JO disp8 转移条件 OF=1 溢出转移
JNO disp8 转移条件 OF=0 不溢出转移
JC disp8 转移条件 CF=1 进位转移
JNC disp8 转移条件 CF=0 不进位转移
以上这些转移基本都只依赖与单一的标志位的状态。
以下的跳转与CMP指令结合的比较紧密
JB/JNAE disp8 转移条件CF=1,即低于/不高于或等于
JAE/JNB disp8 转移条件 CF=0,即高于或等于/不低于转移
JA/JNBE disp8 转移条件 CF=0且ZF=0,即高于/不低于或等于转移
JBE/JNA disp8 转移条件 CF=1或ZF=1 ,即低于或等于/不高于转移
JG/JNLE disp8 转移条件 SF=OF且ZF=0。 大于/不小于或等于转移
JGE/JNL disp8 转移条件 SF=OF 。即大于或等于/不小于转移
JL/JNGE disp8 转移条件 SF!=OF且ZF=0 ,即小于/不大于或等于转移
JLL/JNG disp8 转移条件 SF!=OF或ZF=1,即小于或者等于/不大于转移
JCXZ disp8 转移条件 CX=0 CX等于零转移
本文出自 “朴树” 博客,转载请与作者联系!