1

私はこのことを理解できません: そのようなコマンド (FFREE、FDECSTP) の使用は何ですか? fpuスタックから値をポップするために使用できますか、それとも別の目的のためですか? 私はそれを理解していません:/誰かがそれを説明できますか、tnx

4

1 に答える 1

4

はい、を使用して、FFREEFPUスタックを手動で管理できます。FPUスタックはCPUスタックと同様に成長するため、レジスタを空きとしてマークしてスタックポインタをインクリメントするものを削除(ポップ)することに注意してください。FINCSTPFDECSTP

これらの命令は、特に一度に1つのレジスタしか操作できないため、通常のコードでは表示されません。CPUスタックを使用している場合ADD ESP, x、一度に複数のアイテムを破棄できますが、FPUスタックでは破棄できません。そのため、通常FSTP st(0)は、同等のFFREE+FINCSTPペアではなく、1つのアイテムを破棄するために使用します。アイテムを割り当てるときは、通常も初期化する必要があるため、いくつかのFLDバリアントを使用します。

于 2012-11-11T22:52:47.783 に答える