鱼C论坛

 找回密码
 立即注册

汇编语言_标志寄存器

热度 1已有 447 次阅读2011-8-5 05:36 |个人分类:汇编语言

AX=0000  BX=0000  CX=0000  DX=0000  SP=0000  BP=0000 SI=0000 DI=0000
DS=****  ES=****  SS=****  CS=****  IP=****  NV UP EI PL NZ NA PO NC
****:**** 指令数据      指令                  6  9  8  5  4  3  2  1
                                            
条件标志:           ┌     = 1               = 0
1 CF 进位标志       ├     CY 进位           NC 无进位
2 PF 奇偶标志       ├     PE 偶             PO 奇
3 AF 辅助进位标志   ├     AC 进位           NA 无进位
4 ZF 零标志         ├     ZR 等于零         NZ 不等于零
5 SF 符号标志       ├     NG 负             PL 正
6 OF 溢出标志       └     OV 溢出           NV 未溢出
控制标志:
7 TF 陷阱标志
8 IF 中断标志              EI 允许           DI 禁止
9 DF 方向标志              DN 减少           UP 增加
标志寄存器:
  └标志寄存器(Flags Register,FR)又称程序状态字(Program Status Word,PSW)。
这是一个存放条件标志、控制标志寄存器,主要用于反映处理器的状态和运算结果的某
些特征及控制指令的执行。
标志功能:
└条件标志:
  1 CF(Carry Flag)进位标志:用于反映运算是否产生进位或借位。如果运算结果的
最高位产生一个进位或借位,则CF置1,否则置0。运算结果的最高位包括字操作的第15
位和字节操作的第7位。移位指令也会将操作数的最高位或最低位移入CF。
  2 PF(Parity Flag)奇偶标志:用于反映运算结果低8位中“1”的个数。“1”的个
数为偶数,则PF置1,否则置0。
  3 AF(Auxiliary Carry Flag)辅助进位标志:在字节操作时低半字节向高半字节进
位或借位,字操作时低字节向高字节进位或借位,AF置1,否则置0。
  4 ZF(Zero Flag)零标志:用于判断结果是否为0。运算结果0,ZF置1,否则置0。
  5 SF(Sign Flag)符号标志:用于反映运算结果的符号,运算结果为负,SF置1,否
则置0。因为有符号数采用补码的形式表示,所以SF与运算结果的最高位相同。
  6 OF(Overflow Flag)溢出标志:反映有符号数加减运算是否溢出。如果运算结果超
过了8位或者16位有符号数的表示范围,则OF置1,否则置0。
└控制标志:
  7 TF(Trap Flag)陷阱标志:当TF被设置位1时,CPU进入单步模式,所谓单步模式就
是CPU在每执行一步指令后都产生一个单步中断。主要用于程序的调试。8086/8088中没
有专门用来置位和清零TF的命令,需要用其他办法。
  8 IF(Interrupt Flag)中断标志:决定CPU是否响应外部可屏蔽中断请求。IF为1时
,CPU允许响应外部的可屏蔽中断请求。
  9 DF(Direction Flag)方向标志:决定串操作指令执行时有关指针寄存器调整方向
。当DF为1时,串操作指令按递减方式改变有关存储器指针值,每次操作后使SI、DI递减

各标志在标志寄存器中的位置:
15   14   13   12   11   10   9    8   7    6    5    4    3    2    1    0
                            OF   DF  IF  TF  SF  ZF        AF         PF       CF
原创自己弄的. o(∩_∩)o 初入汇编

路过

雷人

握手
1

鲜花

鸡蛋

刚表态过的朋友 (1 人)

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-1 02:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部