我正在使用浮点单元 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,在“打印a”之后它显示了巨大的数字而不是1,并且与其他2个变量(b,test1)相同。
这里有什么问题?