检测11.1
mul al sf=?AX=144. 即10010000,sf 应该是1吧 最后结果 mul al 其结果放在ax中 为0000000010010000b最高位为0, sf=0 {:5_96:}我开始说的不对,你再看下我的这个测试结果
结论:mul对SF位没有影响。
怎么可能没影响呢
不知道怎么上传图片,所以传了附件 本帖最后由 _活不明白﹏ 于 2012-8-16 19:15 编辑
sub al,al-------->al=0
mov al,1------->al=1
push ax-------->al=1
pop bx--------->bl=1
add al,bl------->al=2
add al,10------>al=12
mul al---------->al=al*ax=12*12=144=10010000B--->8位,最高位为1,则sf果断为1
以上楼主问题回答
说一下lukelqz哥们为什么会弄错
原因在于mul al这句话,al为8位寄存器,你得到AX寄存器中F231的值--->1111001000110001B,高八位11110010,低八位00110001,此时sf的取值由于操作的是al的8位寄存器,因此不会看高八位,而是看的低八位,即00110001,最高位为0,因此sf值为0
你所写的程序中,将mul al改为mul ax就可以看到变化了
依然是不知道怎么上传图,因此上传附件,基本上不写回复的,今天不知道怎么,突然想回答了
页:
[1]