-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,在“打印a”之后它显示了巨大的数字而不是1,并且与其他2个变量(b,test1)相同。

这里有什么问题?

4

1 回答 1

0

您需要使用print/f a才能将数字解释和打印为浮点值而不是整数。

参考

于 2013-04-20T10:26:57.153 回答