LINUX下寫一個可以執行的彙編程序
# 準備
編譯環境
- nasm編譯器
- vi文本編輯器,其他的編輯器也可以
- ld 連接器
開始寫作
裝NASM
看看有沒有安裝 nasm
<code> nasm -v
安裝好了的後查詢版本應該是這樣的
brew 上有,自己裝一個,或者可以更新
/<code>
<code> brew install nasm
brew upgrade nasm/<code>
<code> NASM version 2.11.08 compiled on MM DD YYYY/<code>
<code> /<code>
ld -macosx_version_min 10.14 -o main -e _main main.o -lSystem
鏈接
nasm -f macho64 -o main.o main.asm
編譯
寫程序
<code>SECTION .data
msg: db "hello world", 0x0a
len: equ $-msg
SECTION .text
global _main
kernel:
syscall
ret
_main:
mov rax,0x2000004
mov rdi,1
mov rsi,msg
mov rdx,len
call kernel
mov rax,0x2000001
mov rdi,0
call kernel/<code>
閱讀更多 青峰科技 的文章