王爽《汇编语言》检测点11.2详细解析

sub al,al

al结果为00000000

CF:al结果00000000没有进位,所以CF=0

OF:八位寄存器有符号数值范围为-128到127,结果0在此范围之中,所以没有溢出,OF=0

SF:al寄存器所存储的结果数值首位符号位为0,非负数,所以SF=0

ZF:al结果数值为0,所以ZF=1

PF:al结果00000000中1的数量为0,为偶数,所以PF=1

mov al,10h

非算术运算,CF=0 OF=0 SF=0 ZF=1 PF=1

add al,90H

十六进制10H+90H等于二进制00010000+10010000=10100000

CF:二进制结果10100000没有进位,所以CF=0

OF:OF会将寄存器中的加法运算看为有符号加法运算,所以第一个加数00010000为十进制正数16,第二个加数10010000为十进制负数-112(寄存器会以补码形式存储负数,而补码=反码+1,逆推此公式,将10010000减1可得该负数的反码二进制数值,将反码取反,即可得到该负数的绝对值的原码),16-112=-96,已知8位寄存器的有符号数值范围为-128至127,-96在此范围之中,所以没有溢出,OF=0

SF:al寄存器存储的结果数值10100000首位符号位为1,所以SF=1

ZF:al寄存器存储的结果数值10100000不为0,所以ZF=0

PF:al寄存器存储的结果数值10100000中有两个1,为偶数,所以PF=1

依照上面的逻辑,可以得出以下的运算

mov al,80H

CF=0 OF=0 SF=1 ZF=0 PF=1

add al,80H

CF=1 OF=1 SF=0 ZF=1 PF=1

mov al,0FCH

CF=1 OF=1 SF=0 ZF=1 PF=1

add al,05H

CF=1 OF=0 SF=0 ZF=0 PF=0

mov al,7DH

CF=1 OF=0 SF=0 ZF=0 PF=0

add al,0BH

CF=0 OF=1 SF=1 ZF=0 PF=1

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值