80386标志寄存器

80386标志寄存器
 
1.运算结果标志
(1) 进位标志CF(Carry Flag)
进位标志主要用于反映运算是否产生进位或错位。如果运算结果的最高位(字操作时的第15位或字节操作时的第7位)产生一个进位或借位,则CF被置1,否则CF被清0。在进行多字节数的加减运算时,要使用到该标志;在比较无符号数的大小时,要使用到该标志。
移位指令也把操作数的最高位或最低位移入CF。移位指令和CF的配合,可实现操作数之间的位传送。
(2)零标志ZF(Zero Flag)
        零标志ZF用于反映运算结果是否为0。如果运算结果为0,则ZF被置1,否则ZF被清0。
    在判断运算结果是否为0时,要使用到该标志。
(3)符号标志SF(Sign Flag)
       符号标志SF用于反映运算结果的符号位。SF与运算结果的最高位相同,如果运算的最
   为1,则SF被置1,否则SF被清0。由于在8086/8088系统中,有符号数采用补码的形式表示,所以SF反映了运算结果的符号。如果运算结果为正,则SF被清0,否则SF被置1。
(4)溢出标志OF(Overflow Flag)
       溢出标志OF用于反映有符号加减运算是否引起溢出。如运算结果超出了8位或16位有符号数的表示范围,即在字节运算时大于127或小于-128,在字运算时大于32767或小于-32768,称为溢出。如果溢出,则OF被置1,否则OF被清0。
   要特别注意,溢出标志与进位标志是两个不同性质的标志,不能混淆。
(5)奇偶标志PF(Parity Flag)
       奇偶标志用于反映运算结果中1的个数。如果1的个数为偶数,则OF被置1,否则OF被清0。利用PF可进行奇偶校验检查,可产生奇偶效验位。在串行通信中,为了提高传送的可靠性,常采用奇偶校验。
(6)辅助进位标志位AF(Auxiliary Carry Flag)
       在字节操作时,如发生低半字节向高半字节进位或借位;在字操作时,如发生低字节向高字节进位或借位,则辅助进位标志AF被置1,否则AF被清0.十进制算术运算调整指令自动根据该标志产生相应的调整动作。
2.状态控制标志
  状态控制标志控制处理器的操作,要通过专门的指令才能使状态控制标志发生变化。
(1)方向标志DF(Direction Flag)
方向标志决定着串操作指令执行时有关指针寄存器调整方向。当DF为1时,串操作指令按减方式改变有关的存储器指针值;当DF为0时,串操作指令按加方式改变有关的存储器指针值。8086/8088提供的专门用于设置方向标志DF的指令是STD,专门用于清DF的指令是CLD。
(2)中断允许标志IF(Interrupt-enable Flag)
中断允许标志决定着CPU是否响应外部可屏蔽中断请求。当IF为1时,CPU能够响应外部的可屏蔽中断请求;当IF为0时,则不响应外部的可屏蔽中断请求。但此标志的状态对于外部的非屏蔽中断请求,或内部产生的中断不起作用。8086/8088提供的专门用于设置中断允许IF的指令为STI,专门用于清IF的指令是CLI。
(3)追踪标志TF(Trap Flag)
当追踪标志TF被置1后,CPU进入单步方式。所谓单步方式是指在一条指令执行后产生一个单步中断。这主要用于程序的调试。8086/8088没有专门设置和清除TF标志的指令,要通过其他方法设置或清除TF。


EFLAGS,和8086的16位标志寄存器相比,增加了4个控制位,不过这4个控制位它们在实模下不起作,这四个控制位分别是:
    a.IOPL(I/O Privilege Level),I/O特权级字段,它的宽度为2bit,它指定了I/O指令的特权级。如果当前的特权级别在数值上小于或等于IOPL,那么I/O指令可执行。否则,将发生一个保护性异常。
    b.NT(Nested Task):控制中断返回指令IRET,它宽度为1位。NT=0,用堆栈中保存的值恢复EFLAGS,CS和EIP从而实现中断返回;NT=1,则通过任务切换实现中断返回。
    c.RF(Restart Flag):重启标志,它的宽度是1位。它主要控制是否接受调试故障。RF=0接受,RF=1忽略。如果你的程序每一条指令都被成功执行,那么RF会被清0。而当接受到一个非调试故障时,处理器置RF=1。
    d.VM(Virtual Machine):虚拟8086模式(用软件来模拟8086的模式,所以也称虚拟机)。VM=0,处理器工作在一般的保护模式下;VM=1,工作在V8086模式下。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值