64位linux下嘗試用nasm寫彙編程序, 系統調用的參數在man page的第二章 系統調用號可以在文件 /usr/include/x86_64-linux-gnu/asm/unistd_64.h 中查到 section .data msg db "Hello,World!",10 len:equ $-msg section .text global _start _start: mov rax,1 ;系統調用號 mov rdi,1 ;參數1,stdout mov rsi,msg ;參數2 mov rdx,len ;參數3 syscall ;系統調用 mov rax,60 ;exit調用號 mov rdi,0 ;exit狀態,參數1 syscall ;系統調用
上面內容保存在文件hel.asm中
編譯
nasm -g -f elf64 hel.asm
鏈接
ld -g -o hello hel.o