images/blog-posts

汇编语言「Linux/x86-64」・第一步

汇编语言是一系列用于电脑、处理器、控制器,或其他可以编程器件的低级语言的统称。通常不同的设备会对应不同的汇编语言。下面着重介绍Linux下的64位汇编语言 NASM x86-64,我这边主要使用Ubuntu系统进行作业,原则上其他版本的64位Linux也同样可以进行相应的操作,只不过某些命令会有所不同,需要大家注意。

安装NASM

我们可以使用APT工具直接在联网的情况下安装NASM:

sudo apt install 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开发环境已经准备完毕,下一节将解析一下这段代码的含意,欢迎关注。

SUBSCRIBE


🔒 No spam. Unsubscribe any time.

About kk

kk

Vincenzo Antedoro is an engineer who helps those who want to invest in renewables. For the rest he enjoys teaching with the method of learning by doing..

» More about kk