GNU汇编器

✍ dations ◷ 2024-12-22 19:54:07 #汇编器,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指令使用。

相关

  • 英国历史联合王国(英语:United Kingdom,缩写:UK,全名:大不列颠与北爱尔兰联合王国)历史,其发展以英格兰王国为核心,逐次并入威尔士公国、苏格兰王国和爱尔兰王国。目前联合王国的领土包含英格
  • 巴比伦王国巴比伦(阿拉伯语:بابل‎ Bābil;阿卡德语:Bābili(m);苏美尔语语标符号:KÁ.DINGIR.RAKI;希伯来语:.mw-parser-output .script-hebrew,.mw-parser-output .script-Hebr{font-siz
  • 刘崇乐刘崇乐(1901年9月20日-1969年1月6日),原籍福建福州,生于上海,中国昆虫学家。中国科学院动物研究所研究员,中国科学院云南分院副院长兼昆明动物研究所所长。长期从事生物学教学、生
  • 鹤山区鹤山区是中华人民共和国河南省鹤壁市的一个市辖区。面积159平方公里,2002年人口13万。目前下辖:中山路街道、九矿广场街道、新华街街道、中山北路街道和鹤山街街道;鹤壁集镇和
  • 文化干扰文化干扰,又称文化反堵,是一种反消费主义的社会运动,目的在于反抗主流媒体及其塑造的文化,并暴露商业文化可能存在的问题、重新塑造文化定义。常用手段为异轨。“Culture jammin
  • WillPlusWillPlus(ウィルプラス)是位于东京都千代田区的日本成人游戏制作公司。WillPlus的前身是Will有限公司(ウィル)位于爱知县名古屋市的福冈开发室。2010年8月Will公司解散,原公司成
  • 理查德·S·阿诺德(1) Gale Hussman Arnold (1958年结婚,1975年离异)Brother Morris S. ArnoldMaternal grandfather Morris SheppardFormer brother-in-law Walter E. Hussman, Jr.Janet She
  • 乔纳森·温特斯乔纳森·汉斯曼·温特斯三世(英语:Jonathan Harshman Winters III,1925年11月11日-2013年4月11日),美国知名喜剧大师和影视演员。乔纳森·温特斯1925年生于俄亥俄州代顿,高中时辍学
  • 大迫纯一大迫纯一(1962年7月21日-2010年5月25日),日本小说家、脚本家、漫画家,出身于岩手县。大阪艺术大学艺术学部辍学后,开始从事编剧、游戏脚本、原案创作、特技演员、漫画助手、漫画家
  • 药都街道药都街道,是中华人民共和国河北省保定市安国市下辖的一个街道办事处。2017年,河北省民政厅批复同意将祁州药市街道办事处更名为药都街道办事处,街道办事处驻药都大街130号。药