我有以下程序集,我用NASM组装然后用gcc链接:
section .text
extern printf
global main
main:
sub rsp, 8 ;align stack pointer
mov rax, 0 ;no vector arguments
mov rdi, intro_message ;First argument
call printf
mov rax, 60 ;exit
syscall
section .data
intro_message:
db 'Hello world',0
当我运行./a.out时,没有打印任何内容,并且指令指针似乎已移动到无效位置。我做错了什么?