-1

浮動小数点ユニット 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)と同じです。

ここで何が問題なのですか?

4

1 に答える 1