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的汇编程序


分享到:


相關文章: