汇编基础2.3——标志寄存器

  • 标志寄存器中有一些位,它们控制了CPU在不同情况下所做出的反应(初学小白的总结,目前稍作记录,深入学习后会补充完善)
  • 通常情况下,运算类的指令会影响标志寄存器中标志的变化

0位 Carry Flag(CF):进位标志

  • 若算数操作产生的结果在最高有效位(most-significant bit)发生进位或借位,则将其置1,反之置0
  • 这个标志通常表示无符号整型的运算的溢出状态

2位 Parity Flag(PF):奇偶标志

  • 如果结果的最低有效字节(least-significant byte)包含偶数个1,则将其置1,反之置0
  • 可进行奇偶校验检查

4位 Assistent Carry Flag(AF):辅助进位标志

  • 如果算数操作在结果的第三位发生进位或借位,则将其置1,反之置0
  • 在BCD(binary-code decimal)算数运算中被使用

6位 (ZF):零标志

  • 相关指令执行后结果为0,则将其置1,反之置0

7位 (SF):符号标志

  • 相关指令执行后结果为负,则将其置1,反之置0

8位 (TF):单步标志

  • 当TF=1时,处理器每次只执行一条指令,即单步执行

9位 (IF):中断使能标志

  • 当IF=1时,CPU可以响应CPU外部的可屏蔽中断发出的中断请求
  • 当IF=0时,CPU不响应CPU外部的可屏蔽中断发出的中断请求
  • 决定CPU是否受外部中断请求的影响

10位 (DF):方向标志

  • 执行某些串操作指令时(比如lodsb,cmpsb)的方向标志
  • 当DF=0时,SI、DI寄存器自动递增;当DF=01时,SI、DI寄存器自动递减

11位 (OF):溢出标志

  • 记录有符号运算的结果是否发生溢出,如果发生溢出,则将其置1,反之置0

猜你喜欢

转载自blog.csdn.net/Dugege007/article/details/103848156