GNU汇编器

✍ dations ◷ 2025-07-01 13:15:29 #汇编器,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指令使用。

相关

  • 平原印第安手语平原印第安人手语(英语:Plains Indian Sign Language,PISL;法语:Langue des Signes Indienne des Plaines;西班牙语:Lenguaje de Signos Indio de las Llanuras),又称平原手语、平原
  • 曲状杆菌见内文弯曲菌属(学名:Campylobacter),又名曲状杆菌属或弯曲杆菌属,是一种革兰氏阴性细菌的属。曲状杆菌属的型态就是折曲了的一般杆菌,呈“逗号”状或S字型。本属绝大多数物种均为
  • 阿克巴阿克巴(或译阿克拜,全名为杰拉尔-丁·穆罕默德·阿克巴,1542年10月15日-1605年10月27日)是莫卧儿帝国的第三位统治者(1556年-1605年在位)。他被认为是莫卧儿帝国的真正奠基人和最伟
  • 纤溶酶原激活物纤维蛋白溶酶原激活物(英语:plasminogen activator,或译为纤溶蛋白酶原激活物,简称纤溶酶原激活物)是一种丝氨酸蛋白酶,它可以将纤溶蛋白酶原转化为纤溶蛋白酶,从而促进纤维蛋白溶
  • 太守又称郡守,中国、朝鲜半岛与越南古代一种地方职官,一般是掌理地方郡一级的行政区之地方行政官。战国时就开始设置郡守。当时,列国在边境冲突地区设立郡的建制,作为综合行使军
  • 沃特伯里沃特伯里(英语:Waterbury)是位于美国康涅狄格州纽黑文县诺格塔克河畔的一座城市,人口约11万(2005年)。历史 | 经济 | 地理 | 州长哈特福德费尔菲尔德县 | 哈特福德县 | 利奇菲尔德
  • 34街-宾州车站34街-宾州车站(英语:34th Street–Penn Station)可以指:
  • 2017年NBA季后赛2017年NBA季后赛是国家篮球协会(NBA)在2016-17 NBA赛季常规赛完毕后举行的七场四胜制淘汰赛,本届是第71届季后赛。季后赛第一轮在2017年4月15日开打,东西部半决赛在5月1日开打,东
  • 阿尼律陀阿那律(梵语:अनिरुद्ध,转写:Aniruddha),又译为阿那律,阿那律陀,阿泥卢豆,阿㝹楼駄,阿泥㝹豆,阿楼駄,阿㝹駄,阿泥㝹豆,阿泥噜多、阿泥律陀,意译为无灭、如意、无障、无贪、随顺义人
  • 安八町安八町(日语:安八町/あんぱちちょう  */?)为岐阜县西南部,浓尾平原西北部的町。