FPU проблемка..
От: Аноним  
Дата: 13.11.06 19:31
Оценка:
Есть два дизасмовых листинга (первый .ехе файл, второй .dll):
CODE:00444F50 var_C= dword ptr -0Ch
...
CODE:00444FAF fild    [ebp+var_C]   ; [ebp+var_C] = 00047E0  
CODE:00444FB2 fmul    ds:dbl_446A80
...
DATA:00446A80 dbl_446A80 dq 7.26

и

CODE:00D94F24 var_88= dword ptr -88
...
CODE:00D95D5B fild    [ebp+var_88]  ; [ebp+var_88] = 00047E0
CODE:00D95D61 fmul    ds:dbl_DA64F
...
DATA:00DA64FC dbl_DA64FC dq 7.26

Если в дебагере посмотреть на значения регистра ST0, то после выполнения первого листинга туда загружается
1.3358399999999999608e5, а после второго 1.33584e5!

Значения, по-сути, одинаковые, отличия лишь в представлении.. Но учитывая, что в моём случае это критично, хотелось бы
узнать возможные причины этой разницы? Тип операндов совпадает, значения и сам код тоже.. Что же тогда?

Единственное, видное мне, отличие — второй код выполняется в dll, но каким местом это может влиять — ума не приложу..

Спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.