鱼C论坛

 找回密码
 立即注册
查看: 2080|回复: 0

对于标志寄存器CF OF的理解

[复制链接]
发表于 2014-1-15 18:03:27 | 显示全部楼层 |阅读模式
1鱼币
mov al,80h
add al,al


80H+80H=100H,AL是8位寄存器,100H=100000000b,第8位=1,说明有进位,所以CF=1

对于有符号计算,AL=80H就看做一个数的补码,80H的原码为-128,al=-128+(-128),实际结果应该为-256大于AL的范围-128-127,所以溢出,OF=1


以上是我自己的理解。不知道是否理解有误,求高手指点。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-1-15 18:35:28 | 显示全部楼层
:lol:支持下,鱼C我很喜欢的讨论论坛
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-1-16 13:25:36 | 显示全部楼层
你只要记住:数据只是0和1的组合,有符号还是无符号是你怎么看这段数据。。OF对应有符号,CF对应有符号。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-1-16 20:28:55 | 显示全部楼层
简单说,对于一个计算,如果你认为是有符号数计算,你就要看OF而不能看CF;如果你认为是无符号数计算,你就要看CF而不能看OF。

由于计算机不知道你到底认为是有符号数计算还是无符号数计算,所以它把CF和OF全部列出供你选择一个看(由于引入了补码,使得带符号数的补码运算和无符号数的二进制运算在形式上是一样的)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-1-17 00:40:12 | 显示全部楼层
你理解的是对的  进位和借位对于无符号数运算 128+128 >255 进位 溢出 对于有符号运算 8位表示范围(-128 ~ 127) -128 + -128 8位的范围不能表示  产出溢出
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-1-21 00:05:32 | 显示全部楼层
80H+80H=160H 吧,怎么回事100H呢?al=60H
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-1-21 14:12:57 | 显示全部楼层
本帖最后由 sokou001 于 2014-1-21 14:16 编辑

超过范围区间才看成补码 比如 127 就看成+127 但是128因为不在区间[-128~127内]才换成(-(255-128+1))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-2-14 14:06:57 | 显示全部楼层
学习了,这里的高手很多啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-11 05:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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