Ubuntu 22.04源码安装yasm 1.3.0

sudo lsb_release -r看到操作系统的版本是22.04sudo uname -r可以看到内核版本是5.15.0-86-genericsudo gcc --version可以看到版本是11.2.0sudo 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可以看到输出的内容如下:

shell 复制代码
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.

代码测试

代码如下:

c 复制代码
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.asmsudo yasm -felf64 -g dwarf2 helloInYasm.asm -o helloInYasm.o进行汇编,sudo ld helloInYasm.o -o helloInYasm进行链接,sudo ./helloInYasm执行输出Hello

相关推荐
hhwyqwqhhwy21 分钟前
Linux file->private
linux·运维·服务器
WongKyunban21 分钟前
在Linux下制作软件安装包
linux·运维·服务器
IT 乔峰43 分钟前
Centos7中部署DNS服务器
linux
hweiyu001 小时前
Linux 命令:parted
linux·运维·服务器
搞全栈小苏1 小时前
Linux下 cmake所有版本适用/下载编译使用教程 附cmake3.26安装包
linux·运维·ubuntu
偶像你挑的噻2 小时前
16-Linux驱动开发-多核通信中的并发控制
linux·驱动开发·stm32·嵌入式硬件
liweiweili1263 小时前
Linux 中查询指定目录下查找包含特定文本的文件
linux·运维·chrome
YFLICKERH3 小时前
【Linux系统】安装包 deb | rpm
linux·运维·安装包
CodeByV3 小时前
【Linux】线程从内核到实战:本质、控制逻辑与封装指南
linux
Xの哲學3 小时前
Linux设备管理:从内核驱动到用户空间的完整架构解析
linux·服务器·算法·架构·边缘计算