GNU汇编器

✍ dations ◷ 2025-05-20 23:59:30 #汇编器,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指令使用。

相关

  • 荷兰足球甲级联赛荷兰足球甲级联赛(荷兰文:Eredivisie,简称荷甲)是荷兰最高级别足球联赛。1950年前荷兰只有四个地区足球联赛,当中各区最优秀的球队可以晋级参加全国锦标赛,锦标赛采取联赛形式进行
  • 海迷失后海迷失后(蒙古语:.mw-parser-output .font-mong{font-family:"Menk Hawang Tig","Menk Qagan Tig","Menk Garqag Tig","Menk Har_a Tig","Menk Scnin Tig","Oyun Gurban Ulus
  • 澳大利亚地方政府地方政府区域(英语:Local Government Areas,缩写为 LGAs)是澳大利亚(尤其是澳大利亚统计局)对于各地方政府辖区的通称。地方政府是澳大利亚的第三级政府,第一级是联邦,第二级是州和
  • 阿克曼转向几何阿克曼转向几何(英语:Ackermann steering geometry)是一种为了解决交通工具转弯时,内外转向轮路径指向的圆心不同的几何学,这个想法是由德国车辆工程师“Lankensperger”于1817年
  • 反正我信了《反正我信了》是信 于2015年发行的第六张个人专辑唱片,由华研唱片唱片公司发行。
  • 美国国家篮球协会球员工会美国国家篮球协会球员工会(National Basketball Players Association,NBPA)是由波士顿凯尔特人的全明星得分后卫鲍勃·库锡于1954年成立的球员工会,旨在保障、改善美国国家篮球
  • 孔闻謤孔闻謤(1593年12月7日-1645年?),字玄伏,号观生,一号观我,山东曲阜人,孔子六十二代孙,属息陬户,明朝政治人物,同进士出身。孔闻謤明万历二十一年十一月十五日(1593年12月7日),天启二年(1622年
  • 阿尔法托利车队阿尔法托利车队(意大利语:Scuderia AlphaTauri),全名为阿尔法托利本田车队(意大利语:Scuderia AlphaTauri Honda),或为与红牛车队区别而被称作小红牛或小牛或红牛第二车队,是一支意大
  • 命令与征服:红色警戒2《命令与征服:红色警戒2》(英语:Command & Conquer: Red Alert 2),是一款由西木太平洋制作,艺电发行的2.5D实时即时战略游戏。于2000年10月23日在Windows发行,是《命令与征服:红色警
  • 蔡忆雯蔡忆雯(英文名:Vivian Chua,1992年2月26日-),马来西亚歌手,2011年在马来西亚八度空间《终极天王》获得总冠军,同年也参加台湾中视第七届《超级星光大道》,名次为16名,2012年在马来西亚