GNU汇编器

✍ dations ◷ 2025-06-10 20:33:44 #汇编器,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指令使用。

相关

  • 阿戈斯蒂诺·基吉阿戈斯蒂诺·基吉(Agostino Chigi,1465年-1520年),文艺复兴时期欧洲锡耶纳一个富有家庭成员。 他在罗马开有一家银行,曾帮助若干教皇举办工程筹措资金。他还拥有托尔法的明矾开采
  • 瘴气致病论瘴气,亦称瘴毒、瘴疠,中文中瘴气为中医名词,疾病地理学之概念,是指中国南方山林间湿热环境下因某种原因(如动植物腐败等)而产生的一种能致病的有毒气体。由瘴气引起的疾病被称为瘴
  • 练习曲练习曲,是指专门提供某乐器的练习特定技巧的音乐作品,钢琴练习曲是最常见的练习曲,著名的钢琴练习曲作者包括拜厄、车尔尼等,他们的作品很适合初学者。但并不是所有练习曲都是仅
  • 京釜高速公路京釜高速公路(朝鲜语:경부고속도로/京釜高速道路 Gyeongbu gosokdoro */?)为大韩民国主要高速公路兼第一条高速公路,连接国内两大城市釜山和首尔,全长约417千米,同时也是亚洲公路
  • 江西 (消歧义)江西可以指:
  • ATC代码 (C02)A·B·C·D·G·H·QI·J·L·M·N·P·R·S·VATC代码C02(抗高血压药)是解剖学治疗学及化学分类系统的一个药物分组,这是由世界卫生组织药物统计方法整合中心(The WHO Collabor
  • 下雨地震说下雨地震说指的是干燥的土壤因下雨淋湿,又因该处地质松软而造成地震。此说法并不是正式学说,由台湾艺人炎亚纶自2015年花莲地震发生后所提出,引起台湾各界关注,亦被认为是网络模
  • 下吕市下吕市(日语:下呂市/げろし  */?)为日本岐阜县中部的市。成立于2004年3月1日,由益田郡萩原町、小坂町、下吕町、金山町、马濑村合并诞生。现任市长为山田良司。木曾町以东、王
  • 张次溪张次溪(1909年-1968年9月9日),名仲锐、涵锐,字次溪,号江裁,别署燕归来主人、肇演、张大都、张四都,中国近现代作家、史学家,一生著述有200余种。他曾任《民国日报》主编,是齐白石的学
  • 伊丽莎白·布莱克威尔伊丽莎白·布莱克韦尔(英语:Elizabeth Blackwell,1821年2月3日-1910年5月31日)是一位英国女医生,曾前往美国学习,并成为美国第一位获得医学学位的妇女,她也是医学总会中第一位女性。