printf float in nasm assembly 64-bit
Chcę wydrukować wartość zmiennoprzecinkową za pomocą printf
global main
extern printf
section .data
string: db `%f\n`, 0
section .bss
rs: resq 1
[...]
movq xmm0, [rs]
mov rdi, string
mov rax, 0
call printf
rs zawiera wartość zmienną 1.6
(gdb) x/fg &rs
0x600ad8 <rs>: 1.6000000000000001
ale program drukuje
[username@localhost folder]$ ./programname
0.000000
komu mogę wydrukować program 1.6? Co ja robię źle?