|
1鱼币
ZF OF SF ZF PF
sub al,al 0h/0000 0000b 0 0 0 1 1
mov al,10h 10h/0010 0000b 0 0 0 1 1
add al,90h a0h/1010 0000b 0 0 1 0 1
有符号数执行正常结果 A0 =为有符号数160
al=10h=有符号数-240的补码
90H=为有符号数-112的补码
[-240] + [-112] = [-352]
为什么没有溢出 这里很迷茫啊
mov al, 0f0H ;f0H,为有符号数-16的补码
add al, 088H ;088H为有符号数-120的补码
补充内容 (2012-10-27 01:38):
add运行后结果为78H 这个代码明显溢出 正常结果应该是178H 它对应的有符号数是-136
补充内容 (2012-10-27 01:40):
而上面那2个代码 结果为A0 正常结果也是A0 A0对应的有符号数是96 怎么算都不会跟-352有联系啊 郁闷就郁闷在这里了
补充内容 (2012-10-27 01:41):
A0是有符号数96的补码 上面打错了
补充内容 (2012-10-27 01:45):
更为有趣的是我在计算-352的补码 转换2进制然后取反加1的结果是A0 ,但是A0转换成2进制取反加1后的结果是-96 |
最佳答案
查看完整内容
90H+10H 对于无符号数的情况下结果为100H,
因为 al是八位的,
无法存放 所以产生进位,此时CF=1,
100H的补码是多少?是0,0是在-128~127之间,所以没有溢出,OF=0
(90H+10H=100H,al能存放吗? 如果按照楼主的算法,你看看AL能不能存放-352的原码、可是奇怪的是能,哈哈、自己去理解下... ...)
|