卖向日葵的 发表于 2012-11-20 09:48:48

of位的设置

就是溢出是针对有符号数的,书上有一段话是“若两个操作数符号相同,而结果的符号位与之相反,OF=1,否则OF=0”
我可以理解成,比如8位数的加法01111100+01001110应该要设OF=1喽??
求更详细,简单的理解~~

dAb 发表于 2012-11-20 13:32:00

溢出,和名字一样,装不下就溢出。例如你是8位寄存器,但你装入大于8位的数据,那就溢出了。。。
2数相加,结果没有超过8位,那样不会产生溢出。。。16位汇编我也忘的差不多了。。好像8位寄存器对有符号数来说是 负128 到 正127(-128+127) 。。。你上面给出的2个数如果不是表示负数的话,相加后结果还是没有超过8位,所以没有溢出。。。。。希望没有误导你,阿门:lol

卖向日葵的 发表于 2012-11-20 20:05:43

dAb 发表于 2012-11-20 13:32 static/image/common/back.gif
溢出,和名字一样,装不下就溢出。例如你是8位寄存器,但你装入大于8位的数据,那就溢出了。。。
2数相加, ...

那是把那些数转化为10进制相加看超过没???还是直接根据二进制结果来看??还有我一直不懂有符号和无符号是程序员决定的???

dAb 发表于 2012-11-20 22:18:24

本帖最后由 dAb 于 2012-11-20 22:19 编辑

呵呵,你的概念还是很模糊啊,2进制转成10进制还不是一样的值啊,只是表示的方法不同。。
什么是8位,16位,32位,这概念你也没理解啊??
其实就是8位2进制,16位2进制:lol(天啊,不知道说的正不正确)
16位就是2剩8等于16 (一个字节等于8位2进制,2个字节也就是1个字等于16位2进制,就是所谓的16位)
为什么要用16进制来表示呢?FF FF呵呵 2X8=16    一个F是4位2进制

上面的是废话
问;那是把那些数转化为10进制相加看超过没???
答;没看过,因为转成10进制,然后又转回2进制,或者转成16进制,8进制,结果都是一样
问;还是直接根据二进制结果来看??
答;可以直接。。当你理解一个16进制数表示多少位2进制,也一样可以16进制直接看,10也一样,不理 解就直接转成2进制看
问;还有我一直不懂有符号和无符号是程序员决定的???
答;这个问题问得很有水平。。。等你以后能自己独立写出软件了,回来看看,自己答:lol这样也是一番感慨啊
   
页: [1]
查看完整版本: of位的设置