当前位置首页 > 百科资料> 正文

标志寄存器

2022-06-28 14:33:55 百科资料

标志寄存器又称程序状态字(外语缩写:PSW、外语全称:Program Status Word)。

这是一个16位的存放条件标志、控制标志寄存器,主要用于反映处理器的状态和ALU运算结果的某些特征及控制指令的执行。

  • 中文名称 标志寄存器
  • 外文名称 Flags Register
  • 外语缩写 FR

符号含义

  一览:

  标志位(外语缩写)

  标志位名称及外语全称

  =1

  =0

  CF

  进位标志/Carry Flag

  CY/Carry/进位

  NC/No Carry/无进位

  PF

  奇偶标志/Parity Flag

  PE/Parity Even/偶

  PO/Parity Odd/奇

  AF

  辅助进位标志/Auxiliary Carry Flag

  AC/Auxiliary Carry/进位

  NA/No Auxiliary Carry/无进位

  ZF

  零标志/Zero Flag

  ZR/Zero/等于零

  NZ/Not Zero/不等于零

  SF

  符号标志/Sign Flag

  NG/Negative/负

  PL/Positive/非负

  TF

  跟踪标志/Trace Flag

  IF

  中断标志/Interrupt Flag

  EI/Enable Interrupt/允许

  DI/Disable Interrupt/禁止

  DF

  方向标志/Direction Flag

  DN/Down/减少

  UP/增加

  OF

  溢出标志/Overflow Flag

  OV/Overflow/溢出

  NV/Not Overflow/未溢出

标志位置

  条件标志:

  • 进位标志:用于反映运算是否产生进位或借位。如果运算结果的最高位产生一个进位或借位,则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。

  控制标志:

  • 跟踪标志:当TF被设置为1时,CPU进入单步模式,所谓单步模式就是CPU在每执行一步指令后都产生一个单步中断。主要用于程序的调试。8086/8088中没有专门用来置位和清零TF的命令,需要用其他办法。
  • 中断标志:决定CPU是否响应外部可屏蔽中断请求。IF为1时,CPU允许响应外部的可屏蔽中断请求。
  • 方向标志:决定串操作指令执行时有关指针寄存器调整方向。当DF为1时,串操作指令按递减方式改变有关存储器指针值,每次操作后使SI、DI递减。
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:baisebaisebaise@yeah.net