安装nasm
brew install nasm
编写helloworld
test.asm文件
SECTION .data
msg: db "hello world", 0x0a
len: equ $-msg
SECTION .text
global _start
kernel:
syscall
ret
_start:
mov rax,0x2000004
mov rdi,1
mov rsi,msg
mov rdx,len
call kernel
mov rax,0x2000001
mov rdi,0
call kernel
编译
nasm -f macho64 -o test.o test.asm
链接
ld -o test -e _start test.o
如上是错误的链接命令会报错,如下:
ld: dynamic main executables must link with libSystem.dylib for architecture x86_64
正确链接命令
ld -o test -e _main test.o -macosx_version_min 12.4 -static
网上更多的是给出这条命令,这条命令如果执行不成功,可以尝试上边的链接命令。
ld -o test -e _main test.o -macosx_version_min 12.4 -lSystem