肥马时代 发表于 2012-8-27 14:33:21

检测点11.1问题

检测点11.1写出下面每条指令执行后,ZF、PF、SF、等标志位的值。 sub al,al   al=0h      ZF=1      PF=1      SF=0mov al,1      al=1h      ZF=1      PF=1      SF=0push ax       ax=1h      ZF=1      PF=1      SF=0pop bx      bx=1h      ZF=1      PF=1      SF=0add al,bl   al=2h      ZF=0      PF=0      SF=0add al,10   al=12h       ZF=0      PF=1      SF=0mul al      ax=144h      ZF=0      PF=1      SF=0
上面是标准答案,
但是第二行开始我怎么也想不通啊,al=1 ,也就是说结果为不为零,zf 应该是0啊,为啥zf会得1,然后al=1,说明是0000 0001,1的个数为1,为奇数,为啥pf会得1啊,偶数才是1.
请好心人解释

lukelqz 发表于 2012-8-27 14:33:22

本帖最后由 lukelqz 于 2012-8-27 15:51 编辑

{:5_103:}mov指令不改变标志位的哦。也就是和上一个改变标志位的指令执行完后的标志位完全一样。

请看王爽《汇编语言》P214中间的文字

肥马时代 发表于 2012-8-31 09:22:27

哈哈,感谢,粗心,没看见
页: [1]
查看完整版本: 检测点11.1问题