检测11.2 请问al 7D 加B 为什么会有溢出?
本帖最后由 fky1989 于 2011-7-27 20:53 编辑7D 01111101
B+ 00001011
--------------------------
10001000
这怎么溢出了呢??
是计算al么? 如果是,那么如果计算al要向ah借位的话,这也算溢出,因为这时候用的寄存器是al,而不是ax! weixianlang 发表于 2011-7-26 17:14 static/image/common/back.gif
是计算al么? 如果是,那么如果计算al要向ah借位的话,这也算溢出,因为这时候用的寄存器是al,而不是ax!
是啊,但是这个结果还是1个字节,并没有向ah借位呀 al,8位,能表示的范围是-128 ~ 127 ,7D + B = 136 ,已经超出al所能表示的范围! 其实是借了位的,这和标志寄存器的CF位有关系。 两个正数相加变成负数就说明溢出了。 cpu 如何判断数据是否溢出(转贴)
http://bbs.fishc.com/forum.php?m ... &fromuid=106565
死亡请帖 发表于 2011-7-27 16:39 static/image/common/back.gif
cpu 如何判断数据是否溢出(转贴)
http://bbs.fishc.com/forum.php?m ... &fromuid=106565
了解了,谢啦!
页:
[1]