printf float in nasm assembly 64-bit

Ich möchte einen Gleitkommawert mit printf drucken

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 enthält den Gleitkommawert 1.6

(gdb) x/fg &rs
0x600ad8 <rs>:  1.6000000000000001

aber das programm druckt

[username@localhost folder]$ ./programname
0.000000

Wem kann ich das Programm zum Drucken von 1.6 bringen? Was mache ich falsch?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage