linux 64位彙編之hello world

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章