标志寄存器在Debug中的显示与基本汇编指令对标志寄存器的影响

标志寄存器是在CPU内部的特殊寄存器,具有三种作用:

1.存储运算结果
2.为一些指令提供执行依据
3.控制CPU的相关工作方式
8086的flag寄存器结构如下

8086 标志寄存器

标志位在debug下的显示如下
这里写图片描述

常见运算标志位的解释

OF(overflow flag)溢出标志位 ,针对有符号运算使用,当运算有溢出 时 of = 1
sf (sign flag ) 符号标志位 ,sf的值为有符号数的符号位的值
zf(zero flag )零标志位,当结果为零时 zf=1
pf(pairty flag) 偶标志位 ,当结果中1的个数为偶数个是pf=1
cf(carry flag) 进位标志位,无符号运算时如果产生进位cf = 1
af(auxiliary flag )辅助进位标志位,当低半字节运算产生进位时af=1

其中表格中的前六个标志位为运算标志位 ,他们用来表示在运算过程中执行的结果,最后三个是状态控制标志位 ,用来控制cpu的工作方式。

常见的指令对标志寄存器中标志位 的影响

add、adc、sub、sbb、imul、idiv、neg对六个运算标志位都可能产生影响
inc、dec不会对cf产生影响 对其他标志位可能会有影响,mul、div只会对cf/of产生影响。
and、or、xor指令都能清cf/of为0 ,not对标志位没影响,TEST指令影响 sf/pf/zf。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值