鱼C论坛

 找回密码
 立即注册
查看: 3352|回复: 4

一道计算题引发的血案问题

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

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

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

x
为什么7dh+0bh的sf标志寄存器是ng 也就是计算结果存在负数
首先 按照国际惯例  先把7d转换成2进制为1111101
最高位不是1 所以不用转换成补码形式 也就是二进制为125
b为11 所以125+11=136 结果不可能为负数
是在低8位内进行运算的
还有关于有符号运算的一个小问题 80h的补码结果根据我的技术是-128
那么为什么80h+80h=-256 结果为负数  但是sf标志寄存器的结果却为pl
也就是结果不为负数?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-12-2 09:53:15 | 显示全部楼层
自己顶一下  希望大神看到
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-4 20:00:55 | 显示全部楼层
符号标志 SF     NG/Negative/负
7d:0111 1101
d:  0000 1101
8a:1000 1010   
SF它记录指令执行后,其结果是否为负。结果为负,sf=1.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-4 20:05:25 | 显示全部楼层
80h+80h=100h
8位运算最高位舍去,=00h,SF最高位为0,但是CF=1。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-4 20:39:30 | 显示全部楼层
一念天堂 发表于 2015-12-4 20:00
符号标志 SF     NG/Negative/负
7d:0111 1101
d:  0000 1101

所以sf是看结果然后在来看补码的?不是说数据先转换成补码形式 然后进行运算来看结果的吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-21 00:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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