基本配置:
设备:Macbookpro(13-inch,2018)
系统:macOS Monterey
环境安装
vim
利用vim编辑.asm文件
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
nasm
利用nasm运行.asm文件
如果未安装nasm可以参考一下这篇文章
利用nasm将helloworld.asm文件转化为helloworld.o文件
nasm -f macho64 -o helloworld.o helloworld.asm
注意:nasm只是用做汇编与反汇编 本身并没有链接的功能 所以需要在将文件链接一下才能够运行
ld -o helloworld -e _main helloworld.o
如果报ld: dynamic main executables must link with libSystem.dylib for architecture x86_64错误
可以在命令最后加-lSystem
ld -o helloworld -e _main helloworld.o -lSystem
但是加完之后可能会报ld: library not found for -lSystem如果报这个错误可以将-lSystem换成-static即可
ld -o helloworld -e _main helloworld.o -static
最后直接执行 出现hello world!即为成功
./helloworld