浮動小数点ユニット ASM を使用してより大きなプログラムを作成していますが、数値が間違っています。私は単純なコードを作成しましたが、これも誤った数値を示しています。誰でも理由がわかりましたか?ここで何が問題なのですか?Ubuntu 32b を使用しています。
SYSEXIT = 1
.align 32
.data
a: .float 1
b: .float 2
test1: .float 0
.text
.global main
main:
finit
fld a
fld b
loop:
fmulp
fstp test1
mov $SYSEXIT, %eax
int $0x80
私はgdbを使用していますが、「print a」の後、1ではなく巨大な数が表示され、他の2つの変数(b、test1)と同じです。
ここで何が問題なのですか?