本人是汇编初学者,学习到检测点11.1的时候遇到了问题,就是 SF为什么=0,所以我搜了网上的答案,结果如下(好多解答都是这样的):
sub al,al al=0h ZF=1 PF=1 SF=0
mov al,1 al=1h ZF=1 PF=1 SF=0
push ax ax=1h ZF=1 PF=1 SF=0
pop bx bx=1h ZF=1 PF=1 SF=0
add al,bl al=2h ZF=0 PF=0 SF=0
add al,10 al=12h ZF=0 PF=1 SF=0
mul al ax=144h ZF=0 PF=1 SF=0
但很明显,解释是有问题的, add al,10 al=12h,al应该=12(十进制),mul al ax=144h,ax应该=144(十进制),我一直把结果当成144=10010000B,所以认为SF=1,后来又搜了好多文章,找到应该是正确答案,mul的结果存在ax中,ax=144=0000000010010000B,所以SF=0,SF是针对ax的结果而不是al。
|