Почему printf в сборке NASM 64 бит возвращает -nan? - PullRequest
0 голосов
/ 03 октября 2018

Все, что я пытаюсь сделать, это напечатать число с плавающей запятой, используя функцию printf.Когда он запускается, он выводит: Число с плавающей запятой -nan

Почему он не выводит сохраненное число с плавающей запятой (5.93)?

%macro EXITPGM 0
mov eax, 0
call exit
%endmacro

section .data
        flt1  dq 0.0
        msg db "The floating point number is %f",10,0



section .text
        global main
        extern printf
        extern exit

main:
        push rbp
        mov qword[flt1], __float64__(5.93)
        mov rdi, msg
        mov rax, 1
        movq xmm0, qword [flt1]
        call printf



        pop rbp
        EXITPGM
...