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

相关推荐
小林想被监督学习16 分钟前
RabbitMQ 仲裁队列 -- 解决 RabbitMQ 集群数据不同步的问题
linux·分布式·rabbitmq
xf8079891 小时前
cursor远程调试Ubuntu以及打开Ubuntu里面的项目
linux·运维·ubuntu
dot to one1 小时前
Linux 入门 常用指令 详细版
linux·服务器·centos
Golinie2 小时前
记一次Linux共享内存段排除Bug:key值为0x0000000的共享内存段删除不了
linux·bug·共享内存段
狄加山6752 小时前
Linux 基础1
linux·运维·服务器
Once_day2 小时前
Linux-arm(1)ATF启动流程
linux·arm开发
测试冲鸭2 小时前
【可实战】Linux 系统扫盲、 Shell扫盲(如何写一个简单的shell脚本)
linux·运维·arm开发
Zfox_3 小时前
HTTP cookie 与 session
linux·服务器·网络·c++·网络协议·http
余额很不足3 小时前
K8S知识点
linux·容器·kubernetes
xfchn多多学习学习3 小时前
Ubuntu 顶部状态栏 配置,gnu扩展程序
linux·ubuntu