龙之行5 发表于 2014-9-14 19:22:25

新手求助汇编语言检测题11.2问题


mov al,80h    80h/1000 0000b   0   0   1   0   1

add al,80h    0h/0000 0000b      1   1   0   1   1

mov al,0fch   0fch/1111 1100b    1   1   0   1   1

add al,05h    1h/0000 0001b    1   0   0   0   0

mov al,7dh    7dh/1111 1101b   1   0   0   0   0

add al,0bh    88h/1000 1000b    0   1   1   0   1


问题 add al ,80h 结果 应该是100h   cf=1 of=1   
如果做为无符号数来运算,相当于128+128=256则进位,cf=1    如果做为有符号数来运算,80h是-128的补码,-128-128 = -256显然溢出,OF=1,但是SF结果不是等于-256为负数应该是=0,为什么答案是等于1呢?

add al,0bh
如果做为无符号数来运算,相当于125+11=136没有进位cf=0    如果做为有符号数来运算125+11=136有溢出

但是SF结果不是等于136为正数应该是等于=0,为什么答案是等于1呢?

小靚同学Leon 发表于 2014-9-14 23:35:46

貌似这个问题以前回答过,可以搜索以前的帖子
页: [1]
查看完整版本: 新手求助汇编语言检测题11.2问题