printf с плавающей точкой в сборке nasm 64-bit
Я хочу напечатать значение с плавающей запятой с помощью 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 содержит плавающее значение 1.6
(gdb) x/fg &rs
0x600ad8 : 1.6000000000000001
но программа печатает
[username@localhost folder]$ ./programname
0.000000
у кого можно получить программу для печати 1.6? Что я делаю неправильно?