Простейший способ удалить что-нибудь из стека FPU

В последнее время у меня возникли некоторые проблемы с переполнением стека FPU. Мне удалось отследить это до ошибочной библиотечной функции, которая помещает значение мусора в стек FPU при каждом вызове и никогда не очищает его.

К счастью, это легко воспроизвести, и я точно знаю, какие условия его вызывают. Я могу поместить блок встроенного ASM в подпрограмму, которая вызывает эту подпрограмму, чтобы вернуть верхнее значение из стека FPU ... за исключением того, что я не совсем знаю, что писать. Моя ASM-fu справедлива для middlin ', но не , которая сильна.

Итак, каков самый простой способ избавиться от верхнего значения в стеке FPU в сборке x86, предполагая, что это мусорные данные, а я не заботится о значении?

11
задан Mason Wheeler 23 January 2011 в 04:59
поделиться