我正试图在NASM中与浮点搏斗,而我似乎无法弄清楚我做错了什么。这个程序总是给我0.000000,我真的看不出错误在哪里。
extern printf
extern scanf
SECTION .data
junk: dq 7.6
temp: dq 0
print_float: db "%f",10,0
SECTION .bss
SECTION .text
global main
main:
push ebp
mov ebp,esp
finit
fld qword[junk]
fst qword[junk]
push dword [junk-4]
push dword [junk]
push dword print_float
call printf
add esp,12
mov esp, ebp
pop ebp
mov eax,0
ret
答案 0 :(得分:0)
感谢rkhb回答这个问题。
push dword[junk+4]
应该在这里,而不是减去。