linux下寫一個hello world的彙編程序

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>


linux下寫一個hello world的彙編程序


分享到:


相關文章: