fky1989 发表于 2011-7-26 17:05:13

检测11.2 请问al 7D 加B 为什么会有溢出?

本帖最后由 fky1989 于 2011-7-27 20:53 编辑

7D   01111101
B+ 00001011
--------------------------
       10001000

这怎么溢出了呢??


weixianlang 发表于 2011-7-26 17:14:57

是计算al么? 如果是,那么如果计算al要向ah借位的话,这也算溢出,因为这时候用的寄存器是al,而不是ax!

fky1989 发表于 2011-7-26 17:18:44

weixianlang 发表于 2011-7-26 17:14 static/image/common/back.gif
是计算al么? 如果是,那么如果计算al要向ah借位的话,这也算溢出,因为这时候用的寄存器是al,而不是ax!

是啊,但是这个结果还是1个字节,并没有向ah借位呀

weixianlang 发表于 2011-7-26 20:42:12

al,8位,能表示的范围是-128 ~ 127 ,7D + B = 136 ,已经超出al所能表示的范围!

zzxxcc89 发表于 2011-7-27 16:22:16

其实是借了位的,这和标志寄存器的CF位有关系。

死亡请帖 发表于 2011-7-27 16:39:12

两个正数相加变成负数就说明溢出了。

死亡请帖 发表于 2011-7-27 16:39:46

cpu 如何判断数据是否溢出(转贴)
http://bbs.fishc.com/forum.php?m ... &fromuid=106565

fky1989 发表于 2011-7-27 20:53:40

死亡请帖 发表于 2011-7-27 16:39 static/image/common/back.gif
cpu 如何判断数据是否溢出(转贴)
http://bbs.fishc.com/forum.php?m ... &fromuid=106565

了解了,谢啦!
页: [1]
查看完整版本: 检测11.2 请问al 7D 加B 为什么会有溢出?