最近、FPUスタックオーバーフローで問題が発生しています。呼び出されるたびにガベージ値をFPUスタックにプッシュし、クリーンアップしないバグのあるライブラリ関数まで追跡することができました。
幸いなことに、これは簡単に再現でき、どのような条件が原因であるかを正確に把握しています。インラインASMのブロックを、このルーチンを呼び出すルーチンにドロップして、FPUスタックから最上位の値をポップバックすることができます...何を書くべきかよくわからない場合を除きます。私のASM-fuは中途半端なものですが、それほど強力ではありません。
では、x86アセンブリでFPUスタックの最上位の値を削除する最も簡単な方法は何ですか?それがガベージデータであり、値を気にしないと仮定しますか?