状态标志

来源:互联网 发布:mac系统远程控制 编辑:程序博客网 时间:2024/04/29 15:23

状态标志是16位标志寄存器PSW用来存放运算结果的特征,常用作后续条件转移指令的转移控制条件。其中7位没用,9位标志位分成两类:一类为状态标志,表示运算后结果的状态特征,它影响后面的操作。状态标志有CF PF AF ZF SF和OF等6个。另一类为控制标志,用来控制CPU操作,控制标志有TF IF和DF等3个。 状态标志位记录了算术和逻辑运算的一些特征。如:结果是否为0,是否有进位,借位,结果是否溢出等。不同指令对标志位具有不同的影响。

CF(carry flag):进位标志位。

  当进行加(减)法运算时,若最高位向前有进(借)位,则CF=1,否则CF=0。

编辑本段PF(parity flag):奇偶标志位。

  当运算结果的低8位中的“1”的个数为偶数时PF=1,为奇数时,PF=0。

编辑本段AF(auxiliary flag):辅助进位。

  在加(减)法操作中,Bit3向Bit4有进位(借位)发生时,AF=1,否则AF=0。DAA和DAS指令测试这个标志位,以便在BCD加法或减法之后调整AL中的值。

编辑本段ZF(zero flag):零标志位。

  当运算结果为零时ZF=1,否则ZF=0。

编辑本段SF(sign flag):符号标志位。

  当运算结果的最高位为1时SF=1,否则SF=0。

编辑本段OF(overflow flag):溢出标志位。

  当算术运算结果超出了带符号数的范围,即溢出时,OF=1,否则OF=0.