汇编语言 标志寄存器(flag)

本文详细介绍了8086CPU的标志寄存器(Flag),包括CF、PF、ZF、SF、TF、IF、DF、OF等位的功能。讲解了它们在逻辑/算数运算中如何影响CPU的行为,如零标志位、奇偶标志位、符号标志位、进位标志位、溢出标志位,并提到了带进位加法指令ADC、带借位减法指令SBB以及比较指令CMP。此外,还讨论了方向标志位DF在串数据指令中的作用,以及PUSHF和POPFC指令对标志寄存器的处理。
摘要由CSDN通过智能技术生成

标志寄存器(flag)
1用来存储相关指令的某些数据结果
2用来为CPU执行相关的指令提供行为依据
3用来控制CPU的相关工作方式
Flag寄存器是按位起作用,每一位都有专门的含义
8086CPU

0(CF),2(FF),4(AF),6(ZF),7(SF),8(TF),9(IF),10(DF),11(OF)都具有特殊含义,其他位没有使用(造成影响的大多数是运算指令(逻辑/算数))

ZF标志
零标志位,记录相关指令执行后,其结果是否为0,如果结果为0,那么ZF=1;不为0,那么ZF=0

PF标志
奇偶标志位,记录相关指令执行后,其结果的所有bit位中的1的个数是否为偶数,如果1的个数是偶数,PF=1,个数为奇数,PF=0

SF标志(7)
符号标志位,记录相关指令执行后,其结果如果是负数SF=1,如果非负数,SF=0
计算中的一个数据可以当作有符号数处理,也可以看作无符号数处理
00000001 无符号数1 有符号数+1/-1
如果我们把数据当作无符号运算,CF对我们没有任何意义

CF标志(0)
进位标志位,在进行无符号数运算时,他记录了运算结果

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值