GNU汇编器

✍ dations ◷ 2025-04-12 08:18:18 #汇编器,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指令使用。

相关

  • 肉毒杆菌中毒肉毒杆菌中毒(拉丁语:botulinus)是一种罕见但致命的瘫痪性疾病,由肉毒杆菌制造的毒素引起。患者最开始会感到无力、看不清楚、疲倦、以及说话困难,接下来则可能会出现手臂、腿、
  • 樱桃典型樱亚属 Cerasus Subgen. Cerasus 矮生樱亚属 Cerasus Microcerasus.Lithocerasus樱桃(学名:Cerasus pseudocerasus),是某些李属植物的统称,包括典型樱亚属(Cerasus)和矮生樱亚
  • 中国农业银行中国农业银行股份有限公司(简称农业银行、农行,英语:Agricultural Bank of China Limited,缩写:ABC)是中华人民共和国的五大国有大型商业银行之一,资产在中国银行排名第三。2014年
  • 芙蓉区芙蓉区为湖南省长沙市辖市辖区,1996年7月10日设立,本级架构上继承原东区体制(含行政驻地)。芙蓉区辖区面积42.8平方公里,常住人口523,730人(2010年人口普查)。2010年地区生产总值58
  • 英白拉多古罗马政府与政治 系列条目罗马共和国 前509年–前27年 罗马帝国 前27年–1453年元首制 西罗马帝国君主制 东罗马帝国王政时代宪政(英语:Constitution of the Roman Kingdom)
  • 失实症失实症(有时简称为DR)是一个对外部世界的感知或经验的改变,让人觉得周围环境奇怪或不真实。其他症状包括感觉环境不自然,缺乏感情性色彩和深度。这是一个许多疾病的游离症症状,如
  • 丁烯丁烯是四个化学式为C4H8的异构体的总称,它们主要是无色气体,来源是从原油提炼。这四个异构体都含有四个碳原子和一个双键。下表中列出了它们的IUPAC命名与常用名:1-丁烯顺-2-丁
  • 南方小檗南方小檗(学名:)为小檗科小檗属下的一个种。
  • 中国轻工业出版社中国轻工业出版社是中华人民共和国的一家出版机构,社址位于北京市东长安街。中国轻工业出版社成立于1954年,被国家新闻出版署评为“国家一级出版社”和“全国百佳图书出版单位
  • 兰屿树杞兰屿树杞(学名:),又称兰屿紫金牛、滨树杞,是紫金牛属的一个成员,为台湾的原生植物,分布于东南亚地区、台湾以及琉球。兰屿树杞是一种常绿灌木,通常作为观赏盆景,其果实可食用。它已经