标志寄存器的作用

用来判断CPU的状态 。标志寄存器又称程序状态字(外语缩写:PSW、外语全称:Program Status Word) 。这是一个16位的存放条件标志、控制标志寄存器 , 主要用于反映处理器的状态和ALU运算结果的某些特征及控制指令的执行 。
进位标志:用于反映运算是否产生进位或借位 。如果运算结果的最高位产生一个进位或借位 , 则CF置1 , 否则置0 。运算结果的最高位包括字操作的第15位和字节操作的第7位 。移位指令也会将操作数的最高位或最低位移入CF 。
奇偶标志:用于反映运算结果低8位中“1”的个数 。“1”的个数为偶数 , 则PF置1 , 否则置0 。
辅助进位标志:算数操作结果的第三位(从0开始计数)如果产生了进位或者借位则将其置为1 , 否则置为0 , 常在BCD(binary-codedecimal)算术运算中被使用 。
零标志:用于判断结果是否为0 。运算结果0 , ZF置1 , 否则置0 。
符号标志:用于反映运算结果的符号 , 运算结果为负 , SF置1 , 否则置0 。因为有符号数采用补码的形式表示 , 所以SF与运算结果的最高位相同 。
【标志寄存器的作用】溢出标志:反映有符号数加减运算是否溢出 。如果运算结果超过了8位或者16位有符号数的表示范围 , 则OF置1 , 否则置0 。

    推荐阅读