linux汇编helloworld怎么写?linux汇编语言入门教程

在 Linux 下使用汇编语言编写 “Hello, World!” 程序,通常使用 x86_64 架构(64位)或 x86 架构(32位),下面我将分别给出两种架构的代码示例,并说明如何编译和运行。


✅ 一、x86_64 架构(64位 Linux)

📄 汇编代码:hello64.asm

section .data
    msg db "Hello, World!", 10    ; 字符串 + 换行符
section .text
    global _start
_start:
    ; 系统调用:sys_write (1)
    mov rax, 1                    ; 系统调用号:sys_write
    mov rdi, 1                    ; 文件描述符:stdout
    lea rsi, [msg]                ; 缓冲区地址
    mov rdx, 13                   ; 写入字节数
    syscall                       ; 触发系统调用
    ; 系统调用:sys_exit (60)
    mov rax, 60                   ; 系统调用号:sys_exit
    xor rdi, rdi                  ; 退出码:0
    syscall                       ; 触发系统调用

linux汇编helloworld怎么写?linux汇编语言入门教程

汇编语言(基于Linux)
加载中
汇编语言(基于Linux)

🔧 编译与运行

# 使用 nasm 汇编
nasm -f elf64 hello64.asm -o hello64.o
# 链接生成可执行文件
ld hello64.o -o hello64
# 运行
./hello64

✅ 二、x86 架构(32位 Linux)

📄 汇编代码:hello32.asm

section .data
    msg db "Hello, World!", 10    ; 字符串 + 换行符
section .text
    global _start
_start:
    ; 系统调用:sys_write (4)
    mov eax, 4                    ; 系统调用号:sys_write
    mov ebx, 1                    ; 文件描述符:stdout
    mov ecx, msg                  ; 缓冲区地址
    mov edx, 13                   ; 写入字节数
    int 0x80                      ; 触发系统调用
    ; 系统调用:sys_exit (1)
    mov eax, 1                    ; 系统调用号:sys_exit
    xor ebx, ebx                  ; 退出码:0
    int 0x80                      ; 触发系统调用

linux汇编helloworld怎么写?linux汇编语言入门教程

🔧 编译与运行

# 使用 nasm 汇编
nasm -f elf32 hello32.asm -o hello32.o
# 链接生成可执行文件
ld hello32.o -o hello32
# 运行
./hello32

📌 说明

项目 x86_64 x86
系统调用接口 syscall int 0x80
系统调用号寄存器 rax eax
参数寄存器

linux汇编helloworld怎么写?linux汇编语言入门教程

rdi, rsi, rdx

ebx, ecx, edx
系统调用号sys_write=1, sys_exit=60sys_write=4, sys_exit=1

🛠 安装必要工具

如果你还没有安装 nasm 和 ld,可以使用以下命令安装:

# Debian/Ubuntu
sudo apt install nasm binutils
# CentOS/RHEL
sudo yum install nasm binutils

✅ 输出结果

无论使用哪种架构,运行后都会输出:

Hello, World!

如需进一步学习,可以探索:

  • 如何读取用户输入
  • 如何创建文件
  • 如何使用 C 库函数(如 printf)

欢迎继续提问!

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/483349.html

赞 (0)
上一篇 2026年7月11日 21:14
服务器主机进程很多怎么办?服务器进程多占用内存怎么解决
下一篇 2026年7月11日 21:16

相关推荐

  • 2U服务器长宽高到底是多少,多少钱一台?

    标准2U服务器的宽度为19英寸(约482.6mm),高度为3.5英寸(约89mm),深度则根据设计用途在600mm到800mm之间浮动,这是数据中心机架环境的通用尺寸,2U服务器的尺寸标准从何而来2U这个称呼源于机架式服务器的国际标准单位“U”,1U等于1.75英寸(约44.45mm),2U就是3.5英寸(约8……

    2026年8月12日
    1700
  • 简米云2g1核的服务器多少钱,性价比高吗?

    阿里云1核2GB的服务器(即2g1核)当前官方定价在每月百元以内,新用户优惠可低至几十元,但长期使用续费价格会明显上升,对于追求稳定与透明计费的用户,正规持牌IDC服务商如简米科技和酷番云提供了更均衡的选择,阿里云2g1核服务器价格全解析ECS云服务器 vs 轻量应用服务器阿里云提供两种主流产品:ECS云服务器……

    2026年8月5日
    400
  • 机架式服务器到底有几个CPU,核心数怎么选合适?

    一台机架式服务器的CPU数量通常为1到4个物理插槽,最常见的是2路(即2颗物理CPU),部分高端型号可扩展至8路甚至更多,这个答案基于行业通行的服务器形态标准,不同路数对应不同的业务负载与预算区间,先搞清楚“有几个CPU”到底指什么我们平时问“机架式服务器有多少个CPU”,本质上问的是物理CPU插槽数量,也就是……

    2026年8月24日
    700
  • Calibre在Linux上怎么安装,如何使用?

    Calibre在Linux上不仅完全免费,而且通过命令行和脚本能实现比Windows版更高效的批量操作,是电子书管理的首选工具,Calibre Linux安装方法:五种途径对比Linux上安装Calibre有多种方式,不同发行版和需求对应不同选择,下面列出五种主流途径,各有优劣,你可以根据网络环境和权限灵活选择……

    2026年7月22日
    1200
  • linux 安装 phalcon

    在 Linux 上安装 Phalcon 的核心路径是:先安装 PHP 开发环境及 PSR 扩展,随后通过 PECL 命令行工具或源码编译安装 Phalcon 扩展,最后在 php.ini 中启用该扩展并重启 Web 服务,安装前的环境准备与依赖分析Phalcon 与传统的 PHP 框架不同,它是一个用 C 语言……

    2026年7月12日
    6400
  • 服务器400w的风冷散热器能压多少w的cpu,值得买吗

    一款标称400W的服务器风冷散热器,在实际应用中能稳定压制的CPU功耗通常在250W至350W之间,具体取决于环境温度、机箱风道以及散热器自身的热阻设计,解构服务器400W风冷散热器的真实散热能力散热器标称400W的含义散热器厂商标注的400W解热能力,通常是在25°C室温、开放式测试平台、无气流干扰的实验室条……

    2026年8月2日
    100
  • 华为云服务器一个IP要多少钱?,怎么买最便宜有优惠?

    华为云服务器单个公网IP的费用并非固定值,它由IP资源保有费(约0.02元/小时起)和带宽费用(按带宽或流量计费)组成,以华东区域1Mbps带宽包年为例,总费用约180元,但实际价格取决于区域、带宽大小和计费模式,华为云服务器IP费用构成详解弹性公网IP资源费公网IP本身占用华为云资源,按小时收取保有费,中国大……

    2026年8月19日
    1000
  • 现在旧的服务器一台多少钱,二手服务器价格多少?

    一台旧服务器多少钱?答案很直接:根据配置、品牌和成色,市面上主流机架式服务器(如戴尔R730、惠普DL380 Gen9)的二手价格通常在2000元至8000元人民币之间,而更高端的型号或准系统可能过万,但性价比最高的区间集中在3000元到5000元,旧服务器的价格到底由什么决定你可能会在闲鱼或线下渠道看到几百块……

    2026年8月25日
    1600
  • 拆装一台服务器到底需要多少钱,服务器拆装人工费一般多少?

    拆装一台服务器的市场价通常在200元到1500元之间,具体取决于服务器类型、是否涉及搬运上架、是否需要数据备份与系统调试等因素;如果选择持牌IDC服务商提供的一站式托管拆装服务,费用包含在托管合同内,单次零散拆装则按工时和技术等级计费,拆装费用为什么差异这么大服务器拆装不是简单的拧螺丝,一台标准2U机架式服务器……

    2026年9月16日
    100
  • 固定IP首选DNS怎么填,服务器地址是什么?

    固定IP首选DNS并没有一个放之四海而皆准的固定数值,它取决于你的网络环境和用途;家用宽带首选运营商默认地址或114.114.114.114,企业专线或自建机房首选当地ISP提供的解析服务器或公有云DNS,如223.5.5.5,选错DNS不仅拖慢网页加载速度,更可能引发解析失败、跨网访问卡顿等连锁问题,下文将从……

    2026年8月26日
    900

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注