sudo lsb_release -r
看到操作系统的版本是22.04
,sudo uname -r
可以看到内核版本是5.15.0-86-generic
,sudo gcc --version
可以看到版本是11.2.0
,sudo make --version
可以看到版本是GNU Make 4.3
。
下载yasm
http://yasm.tortall.net/Download.html是yasm官网,https://github.com/yasm/yasm/是yasm的git仓库。
sudo wget -c http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
下载yasm
源码。
sudo tar -xf yasm-1.3.0.tar.gz
解压yasm源码。
cd yasm-1.3.0
进入源码目录。
编译并安装
sudo ./configure
进行配置
完成之后如下:
sudo make
进行编译。
完成如下:
sudo make install
安装。
yasm --version
可以看到输出的内容如下:
yasm 1.3.0
Compiled on Nov 9 2023.
Copyright (c) 2001-2014 Peter Johnson and other Yasm developers.
Run yasm --license for licensing overview and summary.
代码测试
代码如下:
section .data
stringToShow db "Hello",10,0
section .bss
section .text
global _start
_start:
mov rax,1
mov rdi,1
mov rsi,stringToShow
mov rdx,6
syscall
mov rax,60
mov rdi,0
syscall
上边的代码使用编辑器保存成helloInYasm.asm
,sudo yasm -felf64 -g dwarf2 helloInYasm.asm -o helloInYasm.o
进行汇编,sudo ld helloInYasm.o -o helloInYasm
进行链接,sudo ./helloInYasm
执行输出Hello
。