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 初入汇编