浮点始终返回0

时间:2015-02-28 19:35:10

标签: assembly floating-point nasm

我正试图在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 

1 个答案:

答案 0 :(得分:0)

感谢rkhb回答这个问题。

push dword[junk+4]

应该在这里,而不是减去。