64位AT&T汇编语言学习第一课:汇编和链接

源文件exitTest.s内容如下:

c 复制代码
# This is the first program
.global _start
.section .text
_start:
      movq $60,%rax
      movq $9,%rdi
      syscall

源文件里边放的就是源代码,而我这里源代码是使用汇编语言写的,都是一些人类都可以阅读的字符。之后需要经过汇编器的汇编,变成目标文件(里边存放的是机器语言)。我这里使用的汇编器是GAS汇编器,命令是as,命令格式是as 源文件名 -o 目标文件名,比如as exitTest.s -o exitTest.o

之后把目标文件变成可执行文件时,需要链接器进行链接。我这里使用的链接器是ld链接器,命令就是ld,命令格式是ld 目标文件 -o 可执行文件,比如ld exitTest.o -o exitTest

最后./exitTest运行程序,echo $?得到了9这个结果。

我是知识星球上约有3万人的AI破局俱乐部初创合伙人,我的微信号是zhaoseaside,欢迎大家加我,相互学习AI知识和个人IP知识,毕竟这是未来两大风口。

相关推荐
迅为电子3 分钟前
迅为iTOP-Hi3516开发板linux驱动开发资料全面上线,构建从入门到精通的完整学习路径!
linux·驱动开发·学习
xwz小王子3 分钟前
UniBYD:超越人类示教模仿的跨实体机器人操作学习统一框架
学习·算法·机器人·跨实体
代码游侠10 分钟前
应用——Linux进程通信与信号处理
linux·运维·服务器·笔记·学习·信号处理
石像鬼₧魂石14 分钟前
内网渗透靶场 攻击 & 排错命令分类速查表
linux·windows·学习·ubuntu
d111111111d34 分钟前
在STM32中,中断服务函数的命名有什么要求?
笔记·stm32·单片机·嵌入式硬件·学习·c#
零一科技1 小时前
然然管理系统-学习搭环境-本地先跑起来
学习
走在路上的菜鸟1 小时前
Android学Dart学习笔记第二十三节 类-扩展类型
android·笔记·学习·flutter
愤怒学习的白菜1 小时前
0 trivial:UVM的空壳平台
学习·uvm·ic验证
快乐非自愿1 小时前
Java函数式接口——渐进式学习
java·开发语言·学习
心动啊1212 小时前
负载均衡 + Nginx的基本使用
学习·nginx·负载均衡