首页
社区
课程
招聘
[求助]有关fdiv的奇怪问题
发表于: 2008-9-29 21:36 3961

[求助]有关fdiv的奇怪问题

2008-9-29 21:36
3961
有一个DLL,它有一个导出函数,里面是大量的浮点操作。现在发现用不同的Exe调用它,得到的结果会不同。这个DLL是我写的,绝对没有做什么特殊处理,来故意使结果不一致。但是同样的汇编代码,同样的输入值,会什么输出会有区别呢?于是我用OD跟踪了两个Exe的调用过程,发现分歧点:
分歧前的浮点寄存器:
ST0 54.900001525878906250
ST1 2.5399999618530273440
分歧处的汇编代码:
fdiv    st, st(1)      //也就是拿st0除以st1,结果放到st0里面
运算结果:
A.EXE:ST0 21.614174153698510500
B.EXE:ST0 21.614173889160156250

不知道它这个是怎么算的,如果是同一个Exe,执行到这里的时候,每次结果都一样,但就是跟别的Exe不一样。

fdiv到底做了哪些工作???

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 242
活跃值: (418)
能力值: ( LV11,RANK:188 )
在线值:
发帖
回帖
粉丝
2
浮点的特性
2008-9-30 13:28
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
单精度只有7位有效,确实需要更长可以用双精度。
2008-10-2 08:18
0
游客
登录 | 注册 方可回帖
返回
//