汇编语言是一系列用于电脑、处理器、控制器,或其他可以编程器件的低级语言的统称。通常不同的设备会对应不同的汇编语言。下面着重介绍Linux下的64位汇编语言 NASM x86-64,我这边主要使用Ubuntu系统进行作业,原则上其他版本的64位Linux也同样可以进行相应的操作,只不过某些命令会有所不同,需要大家注意。
安装NASM
我们可以使用APT工具直接在联网的情况下安装NASM:
安装完毕后,可以查看一下它的版本号:
nasm -v
# NASM version 2.14.02
Linux下64位汇编的“Hello World”
我们在文本编辑器中写入如下代码并进行保存「建议扩展名为.asm」:
global _start
section .text
_start:
mov rax, 1
mov rdi, 1
mov rsi, message
mov rdx, 13
syscall
mov rax, 60
xor rdi, rdi
syscall
section .data
message:
db "Hello, World", 10
运行编译和链接命令生成可执行的二进制文件然后运行:
nasm -f elf64 hello.asm && ld hello.o
./a.out
输出结果:
Hello, World
成功编译并能输出正确的结果就说明Linux下64位NASM开发环境已经准备完毕,下一节将解析一下这段代码的含意,欢迎关注。