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?