效果:
步骤:
1. 用homebrew更新汇编编译器nasm:
brew install nasm
2. 在您的汇编源程序文件夹中新建一个shell脚本,如 rin.sh ,内容如下:
name=$1
asmfile=${name##*/}
path=${name%/*}
echo "编译 ${asmfile} 中……"
nasm -f macho64 ${name}
asmname=${asmfile%.*}
echo "编译成功!开始连接${asmname}.o ……"
gcc -o ${path}/${asmname} -Wl,-no_pie ${path}/${asmname}.o
echo "连接成功!开始运行 ${asmname} 可执行文件:"
${path}/${asmname}
echo "运行结束!"
rm ${path}/*.o
rm ${path}/${asmname}
保存后,在终端中赋予执行权限:
chmod +x rin.sh
以后只需在终端中输入
./rin.sh 文件路径/文件名
即可。
附一份 helloworld.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