Here is my program:
section .text
extern printf, scanf
global main
main:
mov rdi, msg1
mov rax, 0
call printf
mov rsi, res
mov rdi, fmt
mov rax, 0
call scanf
mov rsi, [res]
mov rdi, msg2
mov rax, 0
call printf
ret
section .data
fmt db '%d', 0
msg1 db 'Please give a number: ', 0
msg2 db 'Your number is %d', 10, 0
res dq 0
From gdb, I got :
"Program received signal SIGSEGV, Segmentation fault. 0x00007ffff7e4d88a in _IO_vfscanf () from /lib/x86_64-linux-gnu/libc.so.6"
What did I do wrong?