鱼C论坛

 找回密码
 立即注册
查看: 4123|回复: 7

请教OF进位问题

[复制链接]
发表于 2015-12-10 00:03:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
assume cs: code
        
        start:
                mov al, 01000000b
                mov bl, 01000000b
                add bl, al
               
                mov ax, 4c00h
                int 21h
code ends
end        start

这段汇编代码 add bl, al为什么OF会进位呢?作为有符号数 我计算的是 al和bl都是十六进制的40,也就是反码是10进制的-64, 两个加起来是十进制的-128正好啊,没有进位的(我认为范围是在 127到-128),但是我用debug调试发现OF=OV进位了:sweat: ,特请教各位原因!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-12-10 11:28:22 | 显示全部楼层
相加之后,OF会把你的两个加数解释成有符号数,求和之后是1000 0000 变成了负数,与原结果不对,OF就进位。CF会把你的两个加数解释成无符号数,求和之后结果正确,也存放的下,CF为0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-10 20:03:35 | 显示全部楼层
想不出来 发表于 2015-12-10 11:28
相加之后,OF会把你的两个加数解释成有符号数,求和之后是1000 0000 变成了负数,与原结果不对,OF就进位。 ...

相加之后,OF会把你的两个加数解释成有符号数,求和之后是1000 0000 变成了负数,与原结果不对,
请问原结果是什么呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-10 21:08:53 | 显示全部楼层
sejung 发表于 2015-12-10 20:03
相加之后,OF会把你的两个加数解释成有符号数,求和之后是1000 0000 变成了负数,与原结果不对,
请问原 ...

对于计算机来说,0x40+0x40=0x80.
如果用有符号数去解释,16位机器,是不可以表示+0x80的。它的范围是-0x80~~~+0x7F,所以溢出了,OF置一。
如果用无符号去解释,16位机器范围是0~~~+FF,这个算式就没有溢出,就不会置一。
计算机是本身按理来说是不识别有符号无符号的,这个完全是程序员对数据的解释。但是OF标志位应该是个例外,它会替程序员分别测试有符号和无符号,返回溢出结果。
我理解着就是这样。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-10 21:12:14 | 显示全部楼层
判断OF位是否溢出,可以判断和的结果的最高位和次高位是否产生进位,进位为1,不进位为0,然后异或,就是OF标志位。比如你0x40+0x40,OF为1.      0x80+0x80,OF为1,  0xC0+0xC0,OF为0:smile:smile
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2015-12-10 21:43:41 | 显示全部楼层
想不出来 发表于 2015-12-10 21:12
判断OF位是否溢出,可以判断和的结果的最高位和次高位是否产生进位,进位为1,不进位为0,然后异或,就是OF ...

好的,谢谢你,还是没有懂哎!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-5 20:20:26 | 显示全部楼层
学习,但没看懂,我还没学到那儿
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-2-7 17:43:58 | 显示全部楼层
计算机的运算都是数字电路层面的,只会进行“硬算”,具体这个算术操作是什么含义,由人去定义,不同的角度看对应的OF和CF
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-20 23:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表