首页
社区
课程
招聘
[旧帖] [已解决]请教关于浮点数指令 0.00雪花
发表于: 2011-11-8 21:21 1158

[旧帖] [已解决]请教关于浮点数指令 0.00雪花

2011-11-8 21:21
1158


我在使用浮点堆栈的时候有时通过fild压入一个整数,或者类似fld st(0)从浮点堆栈压入数时,有时会出现像图上的那类错误,也就是压入堆栈的数成了一个NaN

请问在什么条件下会出现这种情况?如何避免?

我猜想是压入堆栈的数超过了8个以后会出现这样的情况,但是我有个程序用fincstp指令正常退栈也一样会出现这样的错误。求指教!

例如我的这个代码:
http://www.cnblogs.com/bombless/archive/2011/11/08/2240732.html
问题出在_highest_digit_when_not_less_than_1标号处。

求大家帮帮我!

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

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 89
活跃值: (53)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
图片我看不到,浮点数压入堆栈不对的话, 就新建一个工程,专门测试下这个程序
2011-11-8 22:37
0
雪    币: 26
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我的确测试过了。

嗯,为了避免X87的状态出错,我干脆把状态都在栈上复制一次,一有机会就用fninit指令初始化X87状态,这样程序好歹是正确运行了。

多谢您的建议~
2011-11-9 00:24
0
游客
登录 | 注册 方可回帖
返回
//