cmp指令的问题
(ah)=0feh,(bx)=0ffh(ah)-(bh)=(-2)-(-1)=0ffh
看图片:
图上面说的是因为溢出导致了实际结果为负,那么逻辑上真正的结果必然为正。
上面的代码的二进制为:
ah=1111 1110=-2
bh=1111 1111=-1
(ah)-(bh)=11111110-11111111=11111111=(-1)
溢出了,OF=1,又因为SF=1,所以为负数,这样看着,前面的被减数比减数要小,但下面写的是(ah)>(bh),这又是什么意思?ah不是小于bh吗?
什么鬼逻辑,大神求助 我接受不了这种理邻念,一个小的数减去一个大的数,那个小的数比那个大的数要大 clhjswe 发表于 2017-2-7 17:34
我接受不了这种理邻念,一个小的数减去一个大的数,那个小的数比那个大的数要大
无符号字节数字 就是这鸟样 我觉得你可以先看一看补码,然后回过头来看看应该会比较好理解这个问题 -2-(-1)=-1 没有溢出哦OF为0SF为1
页:
[1]