EFLAGS寄存器

EFLAGS寄存器在32位操作系统中的大小是32_bit的,也就是说,它可以存32个标志。实际上标志寄存器并没有完全被使用。

EFLAGS寄存器的状态标志(0,2,4,6,7,11位)指示算数指令(如ADD,SUB,MUL,DIV等)的结果。



CF (bit 0) 进位标志寄存器 (Carry Flag)

若算术操作产生的结果在最高有效位(most_significant_bit)发生进位或借位则将其置1,反之置0。

这个标志指示无符号整形运算的溢出状态,这个标志同样在多倍精度运算(mulitple_precision_arithmetic)中使用。

使用该标志位的情况有:多字节数的加减运算,无符号数的大小比较运算,位移操作,字节之间位移,专门改变CF的指令等。

PF (bit 2) 奇偶标志寄存器 (Parity Flag)

若运算结果中“1”(二进制)的个数为偶数,则将其置1,反之置0。

利用PF可以进行奇偶效验检查,或产生奇偶校验位。在数据传送过程中,为了提供传送的可靠性,如果采用其偶校验的方法,就可以使用该标志位。

AF (bit 4) 辅助进位标志寄存器 (Auxiliary Carry Flag)

在发生低位向高位进行进位或借位时,辅助进位标志的值被置1,反之置0。

ZF (bit 6) 零位标志寄存器 (Zero Flag)

若运算结果为0则将其置1,反之置0。在判断运算结果是否为0时,可使用此标志位。

SF (bit 7) 符号标志寄存器 (Sign Flag)

有符号形的最高标志位 运算结果为负数则将其置1,反之置0。

0F (bit 11) 溢出标志寄存器 (Overflow Flag)

有符号形运算结果是否溢出,溢出则将其置1,反之置0。




  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值