查看nasm版本
终端:
nasm -v nasm现在最新版本是2.13.02
nasm升级
终端输入:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null
上述命令执行完毕后,输入如下命令
brew install nasm
4、将MAC重新启动,在终端中输入
nasm -v 这时应该显示最新的nams了
输出hello world
新建一个 hello.s文件替换里面内容、上代码。
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
终端 cd 对应的hello.s文件 生成.o文件
nasm -f macho64 hello.s
第二步:链接
gcc hello.o -o hello
或
ld -e _main hello.o -o hello
执行文件
./hello
汇编并链接
nasm -f macho64 hello.s && gcc hello.o -o hello
或者
nasm -f macho64 hello.s && ld -e _main hello.o -o hello
&&的作用是连接多条命令,但某一条命令失败(返回值不为0),就不再执行后面的命令。和之前提到的分号(;)不同,分号不管成功与否都会依次执行命令。