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

相关推荐
洛寒瑜4 分钟前
【读书笔记-《30天自制操作系统》-23】Day24
开发语言·汇编·笔记·操作系统·应用程序
有时间要学习9 分钟前
Linux——应用层自定义协议与序列化
linux·服务器·网络
阑梦清川20 分钟前
简明linux系统编程--互斥锁--TCP--UDP初识
linux·udp·tcp·互斥锁·信号·解锁·加锁
hardStudy_h23 分钟前
Linux——常用系统设置和快捷键操作指令
linux·运维·服务器
XF鸭1 小时前
TCP 和 UDP 协议的区别?
linux
Flying_Fish_roe2 小时前
linux-安全管理-防火墙与网络安全
linux·数据库·oracle
不见长安见晨雾3 小时前
Linux:vim编辑技巧
linux·编辑器·vim
神秘的土鸡3 小时前
Linux中使用Docker容器构建Tomcat容器完整教程
linux·运维·服务器·docker·容器·tomcat
TravisBytes4 小时前
linux 系统是如何收发数据包
linux·运维·服务器
ice___Cpu5 小时前
Linux 基本使用和 web 程序部署 ( 8000 字 Linux 入门 )
linux·运维·前端