下面的代码返回值“448070899”而不是 sqrt(4),即 2
segment .data
heeder: db "%d", 0
x dd 16
y dd 4
segment .bss
array resd 10
sum resd 1
SECTION .text
global _main
extern _scanf
extern _printf
_main:
push ebp
mov ebp, esp
fldz
fld dword[y]
fsqrt
fst dword[sum]
mov eax, [sum]
push eax
push heeder
call _printf
add esp, 8
pop ebp
ret
它没有返回正确的数字......它返回的数字是 448070899。这是不正确的,正确的应该是 2..因为 4 的平方根是 2。