私はx86上の浮動小数点演算の基本的な理解を得ようとしています。私はスタックを持つ専用のFPUを持っていることを理解していますが、異なる命令の観点からスタックがどのように動作するかに関する関連性の高い情報は見つかりません。基本的なFPU命令/スタックの概要?
基本的に、fpuレジスタのアドレッシングは私を混乱させます。私がst(#)を参照すると、特定のレジスタについて話していますか?それとも、スタックの先頭からオフセットされていますか?
私は私の質問のほとんどはこの1つの例で答えることができると思う:私は空のFPUスタックを持ち、そして実行した場合
:
fld x
fld y
fmul st, st(1)
結果は以下のようになります。
ST(0) = y * x
ST(1) = x
か:
ST(0) = x * y
ST(1) = y
?
これらの違いはST(1)の値です。
ありがとう!参考文献も非常に有用でした。 – ProdigySim