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? Что я делаю неправильно?

Ответы на вопрос(2)

Ваш ответ на вопрос