转载自: http://www.cnblogs.com/dennisOne/archive/2012/10/23/2736238.html
☞标志寄存器综述
8086CPU的标志寄存器(flags Register, FR)有16位,其中存储的信息通常被称为程序状态字(PSW),flag寄存器与其他寄存器不同,flag寄存器是按位起作用的。8086的flag寄存器中有CF、PF、ZF、SF、OF、DF标志位。
8086的FR的9个标志位
标志位
名称
功能
ZF
零标志位(Zero Flag)
判断结果是否为0。运算结果0,ZF置1,否则置0。
PF
奇偶标志位(Parity Flag)
反映运算结果低8位中'1'的个数。'1'的个数为偶数,PF置1,否则置0。
SF
符号标志位(Sign Flag)
反映运算结果的符号。运算结果为负,SF置1,否则置0。
CF
进位标志位(Carry Flag)
反映无符号运算是否产生进位或借位。运算结果的最高有效位向更高位进位或者借位,CF置1,否则置0。
OF
溢出标志位(Overflow Flag)
反映有符号运算是否溢出。运算结果超过了8位或者16位有符号数的表示范围,OF置1,否则置0。
AF
辅助进位标志位(Auxiliary Flag)
在字节操作时低半字节向高半字节进位或借位。字操作时低字节向高字节进位或借位,AF置1,否则置0。
DF
方向标志位(Direction Flag)
决定串处理指令控制每次操作后si、di的增减。df=0,则每次操作后si、di递增,否则递减。
IF
中断标志位(Interrupt Flag)
决定CPU是否响应外部可屏蔽中断请求。IF为1时,CPU允许响应外部的可屏蔽中断请求。
TF
陷阱标志位(Trap Flag)
TF被设置位1时,CPU进入单步模式,所谓单步模式就是CPU在每执行一步指令后都产生一个单步中断。主要用于程序的调试。8086/8088中没有专门用来置位和清零TF的命