首页
社区
课程
招聘
[旧帖] [求助][求助]计算机加法运算算错了吗??? 0.00雪花
发表于: 2010-3-5 17:33 1547

[旧帖] [求助][求助]计算机加法运算算错了吗??? 0.00雪花

2010-3-5 17:33
1547
00441270 > $  55            PUSH EBP                              
00441271   .  8BEC          MOV EBP,ESP
00441273   .  83C4 F4       ADD ESP,-0C


执行ADD运算前  ESP 0012FFC0 ;  执行后  ESP 0012FFB4

但我自己无论是笔算还是计算器算都得出 ESP 001300B4

是计算机出错了吗?
 

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 245
活跃值: (93)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
2
你该换个计算器了
2010-3-5 18:27
0
雪    币: 156
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
add -0c
注意有一个减号啊.不过再怎么样也得不到你算的结果.
2010-3-5 18:37
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我是这样算的:-0C 求补: F4,将减法变成加法,即是:0012FFCO-0C=0012FFC0+F4.

所以由后一个表达式我得出结果是 001300B4 .
2010-3-5 19:38
0
雪    币: 245
活跃值: (93)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
5
[QUOTE=jackdonna;770792]我是这样算的:-0C 求补: F4,将减法变成加法,即是:0012FFCO-0C=0012FFC0+F4.

所以由后一个表达式我得出结果是 001300B4 .
[/QUOTE]

你这样算的结果是0012FFC0减掉一个0c比0012FFC0还大
你的补码算错了 你要是真是想绕路用补码(根本没必要 直接减法不就行了?)
就该是-0C的补码表示FFFFFFF4 再加上0012FFC0
应该是10012FFB4
         这个1超过位数 舍掉 结果是0012FFB4
推荐是,学好基础课,再来弄汇编
2010-3-5 20:57
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
感谢爱鸟的详细回复,的确是补码算错了,进位标志寄存器CF=1

从现在起打好基础,还望大家以后多多指教。
2010-3-5 21:28
0
游客
登录 | 注册 方可回帖
返回
//