1

fdiv!!!!の使用に大きな問題があります。私は分割しようとして1/3いるので、これが私がしていることです

.model small
.stack 100h 
.data 

var1 dd 1
var2 dd 3 
var3 dd 2
resultado dt 0.0

.code 

mov ax,@data 
mov ds,ax 
finit 
fild var1
fild var2
fdiv
fstp resultado
ffree 

.exit 

ご覧のとおり、結果が表示さresultadoれないため、結果をに移動しますst(0)(tasm を使用しているため、デバッガーで変数を確認でき3EAAAA3Aます) 404000003どのように可能ですか?? 変数を交換してみましたが、何もありません!!! 手伝って頂けますか??=(

4

2 に答える 2

6

FPU が 8087 と同じくらい古い場合は、 のfwait後に命令を配置する必要がありfdivます。そうしないと、FPU がまだ除算を実行している間に FPU から結果を読み取る可能性があり、書き戻す結果は未定義です。

この「機能」は 80287 FPU で削除されました。

于 2012-03-25T07:24:01.950 に答える