GNU汇编器

✍ dations ◷ 2025-07-23 06:46:16 #汇编器,GNU计划软件,自由编译器与直译器,Linux编程工具,Unix编程工具

GNU汇编器(英语:GNU assembler),是由GNU计划所使用的汇编器,一般称为gas,或依其可执行文件名称简称为as。它是GCC的默认后端。它用于汇编GNU操作系统、Linux内核以及其他各种软件。它是GNU Binutils包的一部分。

GAS的可执行文件被命名为as,Unix汇编器的标准名称。GAS是跨平台的,可以运行或为不同的计算机系统结构编译。GAS依据GNU通用公共许可证第三版发布,为自由软件。

GAS支持适用于所有支持架构的通用语法。通用语法包括汇编指令和注释方法。

GAS使用汇编器指令(也被称为伪操作),它们作为关键字指示开始一个时期,与C语言中的预处理指令表现相同。虽然无论目标架构如何,大多数可用的汇编指令都是有效的,但一些指令仍然因机器不同而不同。

GAS支持两种注释风格:

多行注释:

与C语言类似,以一对斜线-星号对开始和结束:

/* 注释*/

单行注释:

在不同的架构中汇编时,单行注释有几种不同的格式。

作为流行编译器包GCC的后端,GNU汇编器在编译现代开源软件中有非常广泛的应用。在Linux系统上,GAS经常用作与其他GNU软件结合的汇编器。因为OS X,修改后版本的GAS也可以在麦金塔操作系统的开发工具包中找到。

一个标准的“Hello, world!”程序,运行于Linux IA-32:

.globl _start.text_start: movl $len, %edx movl $msg, %ecx movl $1, %ebx movl $4, %eax int $0x80 movl $0, %ebx movl $1, %eax int $0x80.datamsg: .ascii "Hello, world!\n" len = . - msg

批评

那些更习惯于Intel语法的人认为,比起其他汇编器,在x86和x86-64平台上不支持使用Intel语法就是一大败笔。

然而,自从2.10版本,Intel语法可以通过使用.intel_syntax指令使用。

相关

  • 望远镜望远镜是一种可以透过透镜或面镜将电磁波(例如可见光)折射或反射以协助观察远方物体的工具。已知能实用的第一架望远镜是在17世纪初期在荷兰使用玻璃透镜发明的。这项发明现在
  • 851年重要事件及趋势逝世重要人物
  • 仑伽勒玛努恩伽勒(Manungal)或简称仑伽勒(Nungal)是一位受苏美尔、巴比伦和阿卡德人崇拜的冥界女神。她是比尔杜(Birdu)神的配偶。她的头衔是“埃库尔的女王”,掌握着“生命之碑”并对恶
  • 坎伯兰县坎伯兰县(英语:Cumberland County)是美国缅因州西南部的一个县。面积3,152平方公里。根据美国2000年人口普查,共有人口265,612。县治波特兰(Portland)。成立于1760年5月28日,县名来
  • 自杀论:社會學的研究《自杀论:社会学的研究》(法语:),为爱米尔·涂尔干的一部巨著。该书从社会学的角度分析自杀的动因及分类。涂尔干着手进行研究自杀的人们的特质,他先收集欧洲各国自杀数据与当代一
  • Bad (迈克尔·杰克逊专辑)《Bad》是美国歌手迈克尔·杰克逊第三张英语专辑。目前Bad之销量超过4500万,在英国获13白金认证,在美国则有8白金销量认证。由于继《Thriller》和这张《Bad》专辑的成功,广大的
  • 曼久尔·巴尔加瓦曼朱尔·巴伽瓦(英语:Manjul Bhargava,1974年8月8日-),印度裔加拿大-美国数学家。他是普林斯顿大学教授,主要以对数论的研究知名。2014年,巴伽获费尔兹奖,获奖原因是“发展了数的几何
  • Girvan–Newman算法Girvan–Newman算法(以Michelle Girvan和k Newman的名字命名 )是复杂系统中一种启发式的社区发现算法。Girvan-Newman算法通过不断地删除网络中的边来检测网络中的社区。在最
  • SalenSalen是一类配位化学和均相催化中常用的螯合配体。Salen这个名字是由水杨醛(salicylaldehyde)和乙二胺(ethylenediamine,en)组合而成的。这种配体是淡黄色云母状固体,可溶于极性有
  • 郭贞一郭贞一(?-?),字元侯,号道憨,福建同安人,明末政治人物,同进士出身。郭贞一于崇祯十三年(1640年)登庚辰科进士,授监察御史,巡抚浙东。福王立,擢为右都御史。清军南下,郭贞一转入家乡福建。受到