英语法语德语意大利语葡萄牙语俄语西班牙语

OnWorks 网站图标

aarch64-linux-gnu-as - 云端在线

在 OnWorks 免费托管服务提供商中通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器运行 aarch64-linux-gnu-as

这是命令 aarch64-linux-gnu-as 可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

名称


AS - 便携式 GNU 汇编器。

概要


作为 [-a[cdghlns][=文件]] [- 备用[-D]
[--compress-debug-sections[--nocompress-debug-sections]
[--debug-prefix-map =]
[--defsym 符号=VAL[-f[-g[--gstabs]
[--gstabs+[--gdwarf-2[--gdwarf-sections]
[ - 帮帮我[-I DIR[-J]
[-K[-L[--listing-lhs-宽度=]
[--listing-lhs-width2=[--listing-rhs-宽度=]
[--listing-cont-lines=[--保持本地人]
[-o 目标文件[-R]
[--哈希大小=[--减少内存开销]
[- 统计数据]
[-v[-版[- 版]
[-W[- 警告[--致命警告[-w[-x]
[-Z[@文件]
[--sectname-subst[--size-check=[错误|警告]]
[--目标帮助[目标选项]
[--| ...]

目标 AAArch64 opţiuni:
[-EB|-EL]
[-马比=ABI]

目标 阿尔法 opţiuni:
[-mCPU]
[-mdebug | -无调试]
[-代替 | -noreplace]
[-放松[-g[-G尺寸]
[-F[-32地址]

目标 ARC opţiuni:
[-mcpu=CPU]
[-mA6|-mARC600|-mARC601|-mA7|-mARC700|-mem|-mHS]
[-mcode-密度]
[-EB|-EL]

目标 ARM opţiuni:
[-微处理器=处理器[+延期...]]]
[-行进=架构[+延期...]]]
[-mfpu=浮点格式]
[-mfloat-abi=ABI]
[-米比=版本]
[-拇指]
[-EB|-EL]
[-mapcs-32|-mapcs-26|-mapcs-浮动|
-mapcs-可重入]
[-拇指互通[-k]

目标 Blackfin处理器 opţiuni:
[-微处理器=处理器[-修订版]]
[-mfdpic]
[-mno-fdpic]
[-mnopic]

目标 CRIS opţiuni:
[--下划线 | --无下划线]
[--图片[-N]
[--emulation=criself | --emulation=crisaout]
[--march=v0_v10 | --三月=v10 | --三月=v32 | --march=common_v10_v32]

目标 D10V opţiuni:
[-O]

目标 D30V opţiuni:
[-O|-n|-N]

目标 埃皮尼 opţiuni:
[-mepiphany|-mepiphany16]

目标 H8 / 300 opţiuni:
[-h-tick-十六进制]

目标 i386 opţiuni:
[ - 32|--x32| - 64[-n]
[-行进=中央处理器[+延长...]] [-mtune=中央处理器]

目标 i960 opţiuni:
[-ACA|-ACA_A|-ACB|-ACC|-又名|-AKB|
-AKC|-AMC]
[-b[-不放松]

目标 IA-64 opţiuni:
[-mconstant-gp|-自动图片]
[-milp32|-milp64|-mlp64|-mp64]
[-mle|MBE]
[-mtune=itanium1|-mtune=itanium2]
[-munwind-check=警告|-munwind-检查=错误]
[-mint.b=ok|-mint.b=警告|-mhint.b=错误]
[-x|-x 显式[-xauto[-xdebug]

目标 IP2K opţiuni:
[-mip2022|-mip2022ext]

目标 M32C opţiuni:
[-m32c|-m16c] [-放松] [-h-tick-hex]

目标 M32R opţiuni:
[--m32rx|--[no-]warn-explicit-parallel-conflicts|
--W[n]p]

目标 M680X0 opţiuni:
[-l[-立方米|-立方米|-立方米|...]

目标 M68HC11 opţiuni:
[-m68hc11|-m68hc12|-m68hcs12|-mm9s12x|-mm9s12xg]
[-mshort|-mlong]
[-mshort-double|-mlong-双]
[--force-long-branchs[--短枝]
[--严格直接模式[--print-insn-语法]
[--打印操作码[--生成示例]

目标 核心 opţiuni:
[-jsri2bsr[-sifilter[-放松]
[-mcpu=[210|340]]

目标 opţiuni:
[-mcpu=CPU[-mfpu=CPU[-mdsp=CPU] 目标 微晶 opţiuni:

目标 MIPS opţiuni:
[-nocpp[-EL[-EB[-O[优化 水平]]
[-g[调试 水平]] [-G NUM[-大韩油化[-call_shared]
[-非共享[-xgot [-mvxworks-pic]
[-马比=ABI[-32[-n32[-64[-mfp32[-mgp32]
[-mfp64[-mgp64[-mfpx]
[-modd-spreg[-mno-odd-spreg]
[-行进=中央处理器[-mtune=中央处理器[-mips1[-mips2]
[-mips3[-mips4[-mips5[-mips32[-mips32r2]
[-mips32r3[-mips32r5[-mips32r6[-mips64[-mips64r2]
[-mips64r3[-mips64r5[-mips64r6]
[-构造浮动[-无构造浮点数]
[-mnan=编码]
[-陷阱[-没有休息[-break[-无陷阱]
[-mips16[-no-mips16]
[-mmicromips[-mno-micromips]
[-msmartmips[-mno-smartmips]
[-mips3d[-no-mips3d]
[-mdmx[-无-mdmx]
[-mdsp[-mno-dsp]
[-mdspr2[-mno-dspr2]
[-mmsa[-mno-msa]
[-mxpa[-mno-xpa]
[-mmt[-mno-mt]
[-mmcu[-mno-mcu]
[-minsn32[-mno-insn32]
[-mfix7000[-mno-fix7000]
[-mfix-rm7000[-mno-fix-rm7000]
[-mfix-vr4120[-mno-fix-vr4120]
[-mfix-vr4130[-mno-fix-vr4130]
[-mdebug[-无调试]
[-mpdr[-mno-pdr]

目标 MMIX opţiuni:
[--fixed-special-register-names[--globalize-symbols]
[--gnu 语法[- 放松[--no-predefined-symbols]
[--不扩展[--no-merge-gregs[-x]
[--linker-allocated-gregs]

目标 孩童 II opţiuni:
[- 放松所有[-放松部分[-不放松]
[-EB[-EL]

目标 NDS32 opţiuni:
[-EL[-EB[-O[-Os[-mcpu=CPU]
[-米莎=ISA[-mabi=ABI[-商场分机]
[-m[no-]16 位[-m[no-]perf-ext[-m[no-]perf2-ext]
[-m[no-]string-ext[-m[no-]dsp-ext[-m[no-]mac[-m[no-]div]
[-m[no-]audio-isa-ext[-m[no-]fpu-sp-ext[-m[no-]fpu-dp-ext]
[-m[no-]fpu-fma[-mfpu-freg=弗雷格[-mreduced-regs]
[-mfull-regs[-m[no-]dx-regs[-mpic[-mno-放松]
[-mb2bb]

目标 PDP11 opţiuni:
[-mpic|-mno-pic[-购物中心[-mno-扩展]
[-m延期|-mno-延期]
[-mCPU[-m]

目标 picoJava opţiuni:
[-mb|-我]

目标 PowerPC的 opţiuni:
[.A32|.A64]
[-mpwrx|-mpwr2|-mpwr|-立方米|-mppc|-mppc32|-立方米|-立方米|-立方米|-立方米|
-立方米|-立方米|-立方米|-立方米|-立方米|-立方米|-立方米|-m750cl|-mppc64|
-立方米|-me500|-e500x2|-me500mc|-me500mc64|-me5500|-me6500|-mppc64bridge|
-mbooke|-mpower4|-mpwr4|-mpower5|-mpwr5|-mpwr5x|-mpower6|-mpwr6|
-mpower7|-mpwr7|-mpower8|-mpwr8|-mpower9|-mpwr9-ma2|
-mcell|-mspe|-mtitan|-me300|-mcom]
[-许多[-maltivec|-mvsx|-mhtm|-mvle]
[-mregnames|-mno-regnames]
[-可重定位|-mrelocate-lib|-K PIC单片机[-成员]
[-小|-小端|-这|-mbig|-mbig-endian|-是]
[-msolaris|-mno-solaris]
[-nops=]

目标 RL78 opţiuni:
[-mg10]
[-m32bit-双打|-m64bit-双打]

目标 RX opţiuni:
[-小端|-mbig-endian]
[-m32bit-双打|-m64bit-双打]
[-muse-conventional-section-names]
[-msmall-数据限制]
[-mpid]
[-放松]
[-薄荷注册=]
[-mgcc-abi|-mrx-abi]

目标 s390 opţiuni:
[-立方米|-立方米[-台面|-mzarch[-行进=中央处理器]
[-mregnames|-mno-regnames]
[-mwarn-areg-零]

目标 SCORE opţiuni:
[-EB][-EL][-修复][-NWARN]
[-分数5][-SCORE5U][-分数7][-分数3]
[-march=score7][-march=score3]
[-USE_R1][-大韩油化][-O0][-G NUM][-V]

目标 SPARC opţiuni:
[-AV6|-AV7|-AV8|-天冬氨酸|-天冬石
-Av8plus|-Av8plusa|-AV9|-AV9a]
[-xarch=v8plus|-xarch=v8plusa[-磕碰]
[-32|-64]

目标 TIC54X opţiuni:
[-mcpu=54[123589]|-mcpu=54[56]lp[-mfar模式|-mf]
[-错误到文件 |-我 ]

目标 TIC6X opţiuni:
[-三月=[-mbig-endian|-小端]
[-mdsbt|-mno-dsbt[-mpid=否|-mpid=接近|-mpid=远]
[-mpic|-mno-pic]

目标 瓷砖-Gx opţiuni:
[-立方米|-立方米][-EB][-EL]

目标 视觉 opţiuni:
[-mtune=]

目标 Xtensa opţiuni:
[--[no-]text-section-literals[--[no-]auto-litpools]
[--[no-] 绝对字面量]
[--[no-]目标对齐[--[无-]长时间通话]
[--[无-]变换]
[--重命名部分 旧名=新名字]
[--[无-]蹦床]

目标 Z80 opţiuni:
[-z80[-r800]
[ -忽略未记录的说明[-Wnud]
[ -忽略不可移植的指令[-Wnup]
[ -warn-undocumented-instructions[-武德]
[ -警告不可移植说明[-Wup]
[ -禁止无证说明[-Fud]
[ -禁止不可移植的说明[-Fup]

商品描述


GNU as 真是一个汇编家族。 如果您使用(或已经使用)GNU 汇编器
一个架构,当你在另一个架构上使用它时,你应该找到一个相当相似的环境
建筑学。 每个版本与其他版本有很多共同点,包括目标文件
格式,大多数汇编指令(通常称为 伪操作) 和汇编语法。

as 主要用于汇编 GNU C 编译器“gcc”的输出以供
链接器“ld”。 尽管如此,我们已经尝试使 as 正确组装一切
同一台机器的其他组装者将进行组装。 任何异常都被记录在案
明确地。 这并不意味着 as 总是使用与另一个汇编程序相同的语法
相同的架构; 例如,我们知道有几个不兼容的 680x0 程序集版本
语言语法。

每次跑步 as 它只汇编了一个源程序。 源程序制作完成
一个或多个文件。 (标准输入也是一个文件。)

你给 as 具有零个或多个输入文件名的命令行。 输入文件是
读取(从左文件名到右)。 一个命令行参数(在任何位置)具有
输入文件名没有特殊含义。

如果你给 as 没有文件名它试图从文件中读取一个输入文件 as 标准
输入,通常是您的终端。 您可能需要输入 ctl-d 告诉 as 没有
更多的程序来组装。

使用方法 -- 如果您需要在命令行中明确命名标准输入文件。

如果源为空, as 产生一个小的、空的目标文件。

as 可能会将警告和错误消息写入标准错误文件(通常是您的
终端)。 这不应该在编译器运行时发生 as 自动地。 警告
报告一个假设,以便 as 可以继续组装有缺陷的程序; 错误报告
使装配停止的严重问题。

如果您正在调用 as 通过 GNU C 编译器,您可以使用 -Wa 选择通过
参数传递给汇编程序。 汇编器参数必须与每个参数分开
其他(和 -Wa) 用逗号。 例如:

gcc -c -g -O -Wa,-alh,-L 文件.c

这将两个选项传递给汇编程序: -啊 (将列表发送到标准输出
高级和汇编源)和 -L (在符号表中保留局部符号)。

通常你不需要使用这个 -Wa 机制,因为许多编译器命令行
选项由编译器自动传递给汇编器。 (你可以调用 GNU
编译器驱动程序 -v 选项以准确查看它传递给每个选项的选项
编译过程,包括汇编程序。)

配置


@文件
从中读取命令行选项 文件. 读取的选项被插入代替
原来的 @文件 选项。 如果 文件 不存在或无法读取,则该选项
将按字面处理,而不是删除。

中的选项 文件 由空格分隔。 可以包含空格字符
通过用单引号或双引号将整个选项括在一个选项中。 任何
字符(包括反斜杠)可以通过在字符前加上前缀来包含
包含反斜杠。 这 文件 可能本身包含额外的@文件 选项; 任何
这些选项将被递归处理。

-a[cdghlmns]
以多种方式中的任何一种打开列表:

-交流 省略假条件

-广告 省略调试指令

-ag 包括一般信息,如版本和传递的选项

-啊 包括高级来源

-al 包括组装

-是 包括宏扩展

-一个 省略表格处理

-如 包括符号

=文件
设置列表文件的名称

您可以组合这些选项; 例如,使用 -aln 用于组装列表,没有
表格处理。 这 =文件 选项,如果使用,必须是最后一个。 通过它自己, -a
默认为 -ahls.

- 备用
以替代宏模式开始。

--compress-debug-sections
使用 zlib 和来自 ELF ABI 的 SHF_COMPRESSED 压缩 DWARF 调试部分。 这
生成的目标文件可能与旧的链接器和目标文件不兼容
公用事业。 请注意压缩是否会使给定部分 那么它不是
压缩。

--compress-debug-sections=none
--compress-debug-sections=zlib
--compress-debug-sections=zlib-gnu
--compress-debug-sections=zlib-gabi
这些选项控制 DWARF 调试部分的压缩方式。
--compress-debug-sections=none 相当于 --nocompress-debug-sections.
--compress-debug-sections=zlib--compress-debug-sections=zlib-gabi 是等价的
--compress-debug-sections. --compress-debug-sections=zlib-gnu 压缩矮人
使用 zlib 调试部分。 调试部分被重命名为 .zdebug.
请注意压缩是否会使给定部分 那么它既不压缩也不
更名。

--nocompress-debug-sections
不要压缩 DWARF 调试部分。 这通常是所有目标的默认值
除了 x86/x86_64,但可以使用配置时间选项来覆盖它。

-D 忽略。 接受此选项是为了与调用其他脚本兼容
装配工。

--debug-prefix-map =
组装目录中的文件时 , 记录描述它们的调试信息
如在 代替。

--defsym 符号=
定义符号 符号 成为 在组装输入文件之前。 必须是
整数常量。 在 C 中,一个领先的 0x 表示一个十六进制值,和一个前导
0 表示八进制值。 可以在源中覆盖符号的值
文件通过使用“.set”伪操作。

-f “快速”---跳过空格和注释预处理(假设源是编译器输出)。

-g
--gen-调试
使用任何调试为每个汇编源代码行生成调试信息
目标首选格式。 这当前意味着 STABS、ECOFF 或
矮人2。

--gstabs
为每个汇编行生成 stabs 调试信息。 这可能有助于调试
汇编代码,如果调试器可以处理它。

--gstabs+
为每个汇编行生成 stab 调试信息,带有 GNU 扩展
可能只有 gdb 可以处理,这可能会使其他调试器崩溃或拒绝
阅读你的程序。 这可能有助于调试汇编代码。 目前唯一的 GNU
扩展名是组装时当前工作目录的位置。

--gdwarf-2
为每个汇编行生成 DWARF2 调试信息。 这可能有帮助
调试汇编代码,如果调试器可以处理它。 注意---此选项仅
得到一些目标的支持,而不是全部。

--gdwarf-sections
与其创建 .debug_line 部分,不如创建一系列 .debug_line。FOO 部分
哪里 FOO 是相应代码段的名称。 例如代码部分
被称为 .text.func 将其矮行号信息放入一个部分
被称为 .debug_line.text.func. 如果代码段刚被调用 的.text 然后调试
行部分仍将被称为只是 .debug_line 没有任何后缀。

--size-check=错误
--size-check=警告
为无效的 ELF .size 指令发出错误或警告。

- 帮帮我
打印命令行选项的摘要并退出。

--目标帮助
打印所有目标特定选项的摘要并退出。

-I DIR
添加目录 DIR 到“.include”指令的搜索列表。

-J 不要警告签名溢出。

-K 当差异表因长位移而改变时发出警告。

-L
--保持本地人
保留(在符号表中)局部符号。 这些符号以特定于系统的
本地标签前缀,通常 .L 对于 ELF 系统或 L 对于传统的 a.out 系统。

--listing-lhs-宽度=
将汇编器列表的输出数据列的最大宽度(以字为单位)设置为
.

--listing-lhs-width2=
设置连续行的输出数据列的最大宽度(以字为单位)
汇编器列表 .

--listing-rhs-width=
将输入源行的最大宽度(如列表中所示)设置为
个字节。

--listing-cont-lines=
将单行输入的列表中打印的最大行数设置为
+ 1。

-o 目标文件
将目标文件输出命名为 as 目标文件.

-R 将数据部分折叠到文本部分。

--哈希大小=
将 GAS 的哈希表的默认大小设置为接近于的素数 .
增加这个值可以减少汇编程序执行的时间长度
它的任务,以增加汇编程序的内存要求为代价。
类似地,减小此值可以减少内存需求,但代价是
速度。

--减少内存开销
此选项降低了 GAS 的内存要求,但代价是制作组件
进程较慢。 目前这个开关是同义词 --哈希大小=4051,但在
未来它可能还会产生其他影响。

--sectname-subst
尊重节名称中的替换序列。

- 统计数据
打印程序集使用的最大空间(以字节为单位)和总时间(以秒为单位)。

--strip-local-absolute
从传出符号表中删除局部绝对符号。

-v
-版
打印 as 版。

- 版
打印 as 版本并退出。

-W
--无警告
禁止警告消息。

--致命警告
将警告视为错误。

- 警告
不要抑制警告消息或将它们视为错误。

-w 忽略了。

-x 忽略了。

-Z 即使发生错误也生成目标文件。

-- | ...
要汇编的标准输入或源文件。

当为 ARM 的 64 位模式配置 as 时,以下选项可用
架构 (AArch64)。

-EB 此选项指定汇编器生成的输出应标记为
为大端处理器编码。

-EL 此选项指定汇编器生成的输出应标记为
为小端处理器编码。

-mabi=ABI
指定源代码使用的 ABI。 公认的参数是:“ilp32”和
“lp64”,决定生成的目标文件为ELF32和ELF64格式
分别。 默认值为“lp64”。

-mcpu=处理器[+延期...]
此选项指定目标处理器。 汇编器会发出错误信息
如果试图组装一条不会在目标上执行的指令
处理器。 可识别以下处理器名称:“cortex-a35”、“cortex-a53”、
“cortex-a57”、“cortex-a72”、“exynos-m1”、“qdf24xx”、“thunderx”、“xgene1”和“xgene2”。
特殊名称“all”可用于允许汇编器接受有效的指令
适用于任何受支持的处理器,包括所有可选扩展。

除了基本指令集,汇编器可以被告知接受,或者
限制,扩展处理器的各种扩展助记符。

如果特定处理器的某些实现可以有扩展,那么
这些扩展是自动启用的。 因此,您通常不会有
指定任何其他扩展名。

-三月=架构[+延期...]
此选项指定目标体系结构。 汇编器会报错
如果试图组装一条不会在
目标架构。 可识别以下体系结构名称:“armv8-a”、
“armv8.1-a”和“armv8.2-a”。

如果两者 -微处理器-行进 指定,汇编器将使用该设置 -微处理器.
如果两者都没有指定,汇编器将默认为 -mcpu=全部.

可以使用相同的指令集扩展来扩展架构选项
选项作为 -微处理器 选项。 不像 -微处理器, 扩展并不总是由
默认,

-详细错误
此选项为 AArch64 气体启用详细错误消息。 此选项由启用
默认。

-mno-详细错误
此选项禁用 AArch64 gas 中的详细错误消息。

当为 Alpha 处理器配置 as 时,以下选项可用。

-mCPU
此选项指定目标处理器。 如果试图组装一个
不会在目标处理器上执行的指令,汇编器可以
将指令扩展为宏或发出错误消息。 这个选项是
相当于“.arch”指令。

可识别以下处理器名称:21064、“21064a”、21066、21068、21164、
“21164a”、“21164pc”、21264、“21264a”、“21264b”、“ev4”、“ev5”、“lca45”、“ev5”、“ev56”、
“pca56”、“ev6”、“ev67”、“ev68”。 特殊名称“all”可用于允许
汇编器接受对任何 Alpha 处理器有效的指令。

为了支持 OSF/1 中关于“.arch”的现有实践,以及现有的
在里面练习 MILO (Linux ARC 引导加载程序)、编号的处理器名称(例如
21064) 启用处理器特定的 PALcode 指令,而“electro-vlasic”
名称(例如“ev4”)没有。

-mdebug
-无调试
启用或禁用 stabs 指令的“.mdebug”封装的生成和
过程描述符。 默认是自动启用“.mdebug”,当
看到第一个 stabs 指令。

-放松
此选项强制将所有重定位放入目标文件中,而不是保存
空间并在组装时解决一些重定位问题。 请注意,此选项不
将所有符号算术传播到目标文件中,因为并非所有符号
算术可以表示。 但是,该选项在特定情况下仍然有用
的应用程序。

-代替
-noreplace
启用或禁用过程调用的优化,在汇编和在
链接时间。 这些选项仅适用于 VMS 目标,“-replace”是
默认。 请参阅 OpenVMS 链接器实用程序手册的 1.4.1 节。

-g 当编译器生成调试信息时使用此选项。 什么时候 GCC 正在使用
mips-t 文件 要为 ECOFF 生成调试信息,必须传递本地标签
通过到目标文件。 否则此选项无效。

-G尺寸
大于等于的局部通用符号 尺寸 放在“.bss”中,而较小的符号则放在
放置在“.sbss”中。

-F
-32地址
为了向后兼容,这些选项被忽略。

当为 ARC 处理器配置 as 时,以下选项可用。

-mcpu=CPU
此选项选择核心处理器变体。

-EB | -EL
选择大端 (-EB) 或小端 (-EL) 输出。

-mcode-密度
启用代码密度扩展指令。

当为 ARM 处理器系列配置 as 时,以下选项可用。

-mcpu=处理器[+延期...]
指定哪个 ARM 处理器变体是目标。

-三月=架构[+延期...]
指定目标使用哪个 ARM 体系结构变体。

-mfpu=浮点格式
选择哪个浮点架构是目标。

-mfloat-abi=ABI
选择正在使用的浮点 ABI。

-拇指
启用 Thumb only 指令解码。

-mapcs-32 | -mapcs-26 | -mapcs-浮动 | -mapcs-可重入
选择正在使用的过程调用约定。

-EB | -EL
选择大端 (-EB) 或小端 (-EL) 输出。

-拇指互通
指定代码已经生成,Thumb 和 ARM 代码互通
在心。

-mccs
打开 CodeComposer Studio 程序集语法兼容模式。

-k 指定已生成 PIC 代码。

当为 Blackfin 处理器配置 as 时,以下选项可用
家庭。

-mcpu=处理器[-修订版]
此选项指定目标处理器。 可选的 修订版 不用于
汇编程序。 正是在这里,GCC 可以轻松地传递其“-mcpu=”选项。 这
如果尝试汇编指令,汇编器将发出错误消息
它不会在目标处理器上执行。 以下处理器名称是
已识别:“bf504”、“bf506”、“bf512”、“bf514”、“bf516”、“bf518”、“bf522”、“bf523”、
“bf524”、“bf525”、“bf526”、“bf527”、“bf531”、“bf532”、“bf533”、“bf534”、“bf535”(不是
尚未实现)、“bf536”、“bf537”、“bf538”、“bf539”、“bf542”、“bf542m”、“bf544”、
“bf544m”、“bf547”、“bf547m”、“bf548”、“bf548m”、“bf549”、“bf549m”、“bf561”和
“bf592”。

-mfdpic
为 FDPIC ABI 组装。

-mno-fdpic
-mnopic
禁用 -mfdpic。

有关 CRIS 特定选项的文档,请参阅信息页面。

当为 D10V 处理器配置 as 时,以下选项可用。

-O 通过并行化指令优化输出。

当为 D30V 处理器配置 as 时,以下选项可用。

-O 通过并行化指令优化输出。

-n 生成 nops 时发出警告。

-N 生成 32 位乘法指令后的 nop 时发出警告。

当为 Epiphany 处理器配置 as 时,以下选项可用。

-mepiphany
指定允许 32 位和 16 位指令。 这是默认的
行为。

-mepiphany16
将允许的指令限制为仅 16 位集。

当为 H8/300 处理器配置 as 时,以下选项可用。
@chapter H8/300 相关特性

附加选项
Renesas H8/300 版本的“as”有一个依赖机器的选项:

-h-tick-hex
除了 00x0 样式外,还支持 H'00 样式的十六进制常量。

-马赫=姓名
设置 H8300 机器变体。 可识别以下机器名称:“h8300h”,
“h8300hn”、“h8300s”、“h8300sn”、“h8300sx”和“h8300sxn”。

当为 i386 处理器配置 as 时,以下选项可用。

- 32 | --x32 | - 64
选择字长,32 位或 64 位。 - 32 暗示英特尔 i386
建筑,而 --x32 - 64 暗示 AMD x86-64 架构与 32 位或 64 位
字大小分别。

这些选项仅适用于 ELF 目标文件格式,并且要求
包括必要的 BFD 支持(在 32 位平台上,您必须添加
--enable-64-bit-bfd 配置启用 64 位使用并使用 x86-64 作为目标
平台)。

-n 默认情况下,x86 GAS 替换用于代码内对齐的多个 nop 指令
带有多字节 nop 指令的部分,例如 leal 0(%esi,1),%esi。 这个开关
禁用优化。

- 划分
在 SVR4 衍生平台上,角色 / 被视为注释字符,其中
意味着它不能在表达式中使用。 这 - 划分 选项轮流 /
正常的性格。 这不会禁用 / 在一行的开头开始一个
评论,或影响使用 # 开始评论。

-三月=中央处理器[+延长...]
此选项指定目标处理器。 汇编器会发出错误信息
如果试图组装一条不会在目标上执行的指令
处理器。 可识别以下处理器名称:“i8086”、“i186”、“i286”、
“i386”、“i486”、“i586”、“i686”、“奔腾”、“奔腾”、“奔腾”、“奔腾”、
"pentium4", "prescott", "nocona", "core", "core2", "corei7", "l1om", "k1om", "iamcu",
“k6”、“k6_2”、“athlon”、“opteron”、“k8”、“amdfam10”、“bdver1”、“bdver2”、“bdver3”、
“bdver4”、“znver1”、“btver1”、“btver2”、“generic32”和“generic64”。

除了基本的指令集,汇编器可以被告知接受各种
扩展助记符。 例如,“-march=i686+sse4+vmx”扩展 i686sse4
虚拟机. 目前支持以下扩展:8087、287、387、“no87”、“mmx”、
"nommx", "sse", "sse2", "sse3", "ssse3", "sse4.1", "sse4.2", "sse4", "nosse", "avx",
“avx2”、“adx”、“rdseed”、“prfchw”、“smap”、“mpx”、“sha”、“prefetchwt1”、“clflushopt”、
“se1”、“clwb”、“pcommit”、“avx512f”、“avx512cd”、“avx512er”、“avx512pf”、“avx512vl”、
"avx512bw", "avx512dq", "avx512ifma", "avx512vbmi", "noavx", "vmx", "vmfunc", "smx",
“xsave”、“xsaveopt”、“xsavec”、“xsaves”、“aes”、“pclmul”、“fsgsbase”、“rdrnd”、“f16c”、
“bmi2”、“fma”、“movbe”、“ept”、“lzcnt”、“hle”、“rtm”、“invpcid”、“clflush”、“mwaitx”、
“clzero”、“lwp”、“fma4”、“xop”、“cx16”、“系统调用”、“rdtscp”、“3dnow”、“3dnowa”、
“sse4a”、“sse5”、“svme”、“abm”和“挂锁”。 请注意,而不是扩展一个基本的
指令集,以“no”开头的扩展助记符撤销各自的
功能。

当“.arch”指令与 -行进,“.arch”指令将采用
先例。

-mtune=中央处理器
此选项指定要优化的处理器。 当与
-行进 选项,只有处理器指定的指令 -行进 选项将
被生成。

有效 中央处理器 值与处理器列表相同 -三月=中央处理器.

-msse2avx
此选项指定汇编程序应使用 VEX 对 SSE 指令进行编码
字首。

-msse-检查=没有
-msse-检查=警告
-msse-检查=错误
这些选项控制汇编器是否应该检查 SSE 指令。
-msse-检查=没有 将使汇编程序不检查 SSE 指令,这是
默认。 -msse-检查=警告 将使汇编程序对任何 SSE 发出警告
指令。 -msse-检查=错误 将使汇编程序对任何 SSE 发出错误
指令。

-mavx标量=128
-mavx标量=256
这些选项控制汇编器应如何编码标量 AVX 指令。
-mavx标量=128 将编码具有 128 位向量长度的标量 AVX 指令,其中
是默认值。 -mavx标量=256 将用 256 位编码标量 AVX 指令
矢量长度。

-mevexlig=128
-mevexlig=256
-mevexlig=512
这些选项控制汇编程序应如何编码忽略长度 (LIG) EVEX
指示。 -mevexlig=128 将用 128 位向量编码 LIG EVEX 指令
长度,这是默认值。 -mevexlig=256-mevexlig=512 将编码 LIG EVEX
分别具有 256 位和 512 位向量长度的指令。

-mevexwig=0
-mevexwig=1
这些选项控制汇编程序应如何编码 w-ignored (WIG) EVEX
指示。 -mevexwig=0 将使用 evex.w = 0 编码 WIG EVEX 指令,即
默认值。 -mevexwig=1 将使用 evex.w = 1 编码 WIG EVEX 指令。

-助记符=
-助记符=英特尔
此选项指定匹配指令的指令助记符。 这
“.att_mnemonic”和“.intel_mnemonic”指令将优先使用。

-ms语法=
-ms语法=英特尔
此选项指定处理指令时的指令语法。 这
“.att_syntax”和“.intel_syntax”指令将优先使用。

-mnaked-reg
此选项指定寄存器不需要 % 字首。 “.att_syntax”和
“.intel_syntax”指令将优先使用。

-madd-bnd-前缀
此选项强制汇编器向所有分支添加 BND 前缀,即使这样
源代码中未明确指定前缀。

-mno-共享
在 ELF 目标上,汇编程序通常会针对非 PLT 重定位进行优化
定义了具有默认可见性的非弱全局分支目标。 这 -mshared 选项
告诉汇编器生成可能进入共享库的代码,其中所有非
可以抢占具有默认可见性的弱全局分支目标。 所结果的
代码稍大。 这个选项只影响分支的处理
指示。

-mbig-obj
在 x86-64 PE/COFF 目标上,此选项强制使用大对象文件格式,
允许超过 32768 个部分。

-momit-lock-前缀=没有
-momit-lock-前缀=
这些选项控制汇编器应该如何编码锁前缀。 这个选项是
旨在作为处理器的解决方法,在锁定前缀上失败。 这个选项可以
只能与单核、单线程计算机安全使用 -momit-lock-前缀=
将省略所有锁前缀。 -momit-lock-前缀=没有 将像往常一样编码锁定前缀,
这是默认设置。

-mrelax-重定位=没有
-mrelax-重定位=
这些选项控制汇编器是否应生成松弛重定位,
R_386_GOT32X,在 32 位模式下,或 R_X86_64_GOTPCRELX 和 R_X86_64_REX_GOTPCRELX,在
64 位模式。 -mrelax-重定位= 将产生relax relocations。
-mrelax-重定位=没有 不会产生松弛重定位。 默认可以是
由配置选项控制 --enable-x86-relax-relocations.

-mevexrcig=ne
-mevexrcig=rd
-mevexrcig=ru
-mevexrcig=rz
这些选项控制汇编器应如何编码仅 SAE 的 EVEX 指令。
-mevexrcig=ne 将 EVEX 指令的 RC 位编码为 00,这是默认值。
-mevexrcig=rd, -mevexrcig=ru-mevexrcig=rz 将编码 SAE-only EVEX 指令
分别具有 01、10 和 11 RC 位。

-mamd64
-mintel64
此选项指定汇编程序应仅接受 AMD64 或 Intel64 ISA
64 位模式。 默认是接受两者。

当为 Intel 80960 处理器配置 as 时,以下选项可用。

-ACA | -ACA_A | -ACB | -ACC | -又名 | -AKB | -AKC | -AMC
指定 960 架构的哪个变体是目标。

-b 添加代码以收集有关所采用分支的统计信息。

-不放松
不要更改长位移的比较和分支指令; 错误如果
必要。

当为 Ubicom IP2K 系列配置时,以下选项可用。

-mip2022ext
指定允许扩展 IP2022 指令。

-mip2022
恢复默认行为,将允许的指令限制在
基本 IP2022 的。

当为 Renesas M32C 和 M16C 配置时,以下选项可用
处理器。

-m32c
汇编 M32C 指令。

-m16c
汇编 M16C 指令(默认)。

-放松
启用对链接时间松弛的支持。

-h-tick-hex
除了 00x0 样式外,还支持 H'00 样式的十六进制常量。

当为 Renesas M32R(以前的
三菱 M32R) 系列。

--m32rx
指定 M32R 系列中的哪个处理器是目标。 默认值通常是
M32R,但此选项将其更改为 M32RX。

--warn-explicit-parallel-conflicts or --wp
当遇到有问题的并行结构时产生警告消息。

--no-warn-explicit-parallel-conflicts or --Wnp
当遇到有问题的并行结构时,不要产生警告消息。

当为 Motorola 68000 系列配置时,以下选项可用。

-l 缩短对未定义符号的引用,将其缩短为一个词而不是两个词。

-立方米 | -立方米 | -立方米 | -立方米 | -立方米
| -立方米 | -立方米 | -立方米 | -立方米 | -立方米
| -立方米 | -立方米 | -mcpu32 | -立方米
指定 68000 系列中的哪个处理器是目标。 默认值通常是
68020,但这可以在配置时更改。

-立方米 | -立方米 | -mno-68881 | -mno-68882
目标机器有(或没有)一个浮点协处理器。 默认的
假设有一个用于 68020、68030 和 cpu32 的协处理器。 虽然基本的68000是
与 68881 不兼容,可以指定两者的组合,因为它是
可以用主处理器模拟协处理器指令。

-立方米 | -mno-68851
目标机器有(或没有)内存管理单元协处理器。 这
默认是为 68020 及更高版本假设 MMU。

当为 Altera Nios II 处理器配置 as 时,以下选项可用。

-放松部分
在以下情况下用 PC 相关的“jmp”序列替换已识别的超出范围的分支
可能的。 生成的代码序列适用于位置无关
代码,但由于扩展分支范围存在实际限制
序列的长度。 此选项是默认选项。

- 放松所有
替换无法确定在范围内的分支指令和所有调用指令
使用“jmp”和“callr”序列(分别)。 此选项生成绝对
针对目标符号重新定位,不适用于位置无关
码。

-不放松
不要替换任何分支或调用。

-EB 生成大端输出。

-EL 生成小端输出。 这是默认设置。

-三月=架构
此选项指定目标体系结构。 汇编器发出错误信息
如果试图组装一条不会在目标上执行的指令
建筑学。 可识别以下体系结构名称:“r1”、“r2”。 这
默认值为“r1”。

当为 Meta 处理器配置 as 时,以下选项可用。

“-mcpu=metac11”
为 Meta 1.1 生成代码。

“-mcpu=metac12”
为 Meta 1.2 生成代码。

“-mcpu=metac21”
为 Meta 2.1 生成代码。

“-mfpu=metac21”
允许代码使用 Meta 2.1 的 FPU 硬件。

有关 MMIX 特定选项的文档,请参阅信息页面。

当为 NDS32 处理器配置 as 时,以下选项可用。

“-O1”
优化性能。

“-Os”
优化空间。

“-EL”
产生小端数据输出。

“-EB”
产生小端数据输出。

“-mpic”
生成 PIC。

“-mno-fp-as-gp-relax”
禁止此文件的 fp-as-gp 松弛。

“-mb2bb-放松”
背靠背分支优化。

“-mno-all-relax”
抑制此文件的所有松弛。

“-三月= ”
为建筑组装可能是 v3, v3j, v3m, v3f, v3s, v2, v2j,
v2f,v2s。

“-mbaseline= ”
组装基线这可能是 v2、v3、v3m。

“-mfpu-freg=FREG”
指定 FPU 配置。

“0 8 SP / 4 DP 寄存器”
“1 16 SP / 8 DP 寄存器”
“2 32 SP / 16 DP 寄存器”
“3 32 SP / 32 DP 寄存器”
"-mabi=阿比”
指定 abi 版本可能是 v1、v2、v2fp、v2fpp。

“-m[no-]mac”
启用/禁用乘法指令支持。

“-m[no-]div”
启用/禁用除法指令支持。

“-m[no-]16bit-ext”
启用/禁用 16 位扩展

“-m[no-]dx-regs”
启用/禁用 d0/d1 寄存器

“-m[no-]perf-ext”
启用/禁用性能扩展

“-m[no-]perf2-ext”
启用/禁用性能扩展 2

“-m[no-]string-ext”
启用/禁用字符串扩展

“-m[no-]reduced-regs”
启用/禁用缩减寄存器配置 (GPR16) 选项

“-m[no-]audio-isa-ext”
启用/禁用 AUDIO ISA 扩展

“-m[no-]fpu-sp-ext”
启用/禁用 FPU SP 扩展

“-m[no-]fpu-dp-ext”
启用/禁用 FPU DP 扩展

“-m[no-]fpu-fma”
启用/禁用 FPU 融合乘加指令

“-商场-分机”
开启所有扩展和指令支持

当为 PowerPC 处理器配置 as 时,以下选项可用。

.A32
生成 ELF32 或 XCOFF32。

.A64
生成 ELF64 或 XCOFF64。

-K PIC单片机
在 ELF 标志中设置 EF_PPC_RELOCATABLE_LIB。

-mpwrx | -mpwr2
为 POWER/2 (RIOS2) 生成代码。

-mpwr
为 POWER (RIOS1) 生成代码

-立方米
为 PowerPC 601 生成代码。

-mppc, -mppc32, -m603, -立方米
为 PowerPC 603/604 生成代码。

-m403, -立方米
为 PowerPC 403/405 生成代码。

-立方米
为 PowerPC 440 生成代码。BookE 和一些 405 指令。

-立方米
为 PowerPC 464 生成代码。

-立方米
为 PowerPC 476 生成代码。

-m7400, -m7410, -m7450, -立方米
为 PowerPC 7400/7410/7450/7455 生成代码。

-m750cl
为 PowerPC 750CL 生成代码。

-m821, -m850, -立方米
为 PowerPC 821/850/860 生成代码。

-mppc64, -立方米
为 PowerPC 620/625/630 生成代码。

-me500, -me500x2
为摩托罗拉 e500 核心复合体生成代码。

-me500mc
为飞思卡尔 e500mc 核心复合体生成代码。

-me500mc64
为飞思卡尔 e500mc64 核心复合体生成代码。

-me5500
为飞思卡尔 e5500 核心复合体生成代码。

-me6500
为飞思卡尔 e6500 核心复合体生成代码。

-mspe
为摩托罗拉 SPE 指令生成代码。

-mtitan
为 AppliedMicro Titan 核心复合体生成代码。

-mppc64bridge
为 PowerPC 64 生成代码,包括桥 insns。

-mbooke
为 32 位 BookE 生成代码。

-ma2
为 A2 架构生成代码。

-me300
为 PowerPC e300 系列生成代码。

-maltivec
使用 AltiVec 指令为处理器生成代码。

-mvle
为飞思卡尔 PowerPC VLE 指令生成代码。

-mvsx
使用向量标量 (VSX) 指令为处理器生成代码。

-mhtm
使用硬件事务内存指令为处理器生成代码。

-mpower4, -mpwr4
为 Power4 架构生成代码。

-mpower5, -mpwr5, -mpwr5x
为 Power5 架构生成代码。

-mpower6, -mpwr6
为 Power6 架构生成代码。

-mpower7, -mpwr7
为 Power7 架构生成代码。

-mpower8, -mpwr8
为 Power8 架构生成代码。

-mpower9, -mpwr9
为 Power9 架构生成代码。

-mcell
-mcell
为 Cell Broadband Engine 架构生成代码。

-mcom
生成代码 Power/PowerPC 通用指令。

-许多
为任何架构(PWR/PWRX/PPC)生成代码。

-mregnames
允许寄存器的符号名称。

-mno-regnames
不允许为寄存器使用符号名称。

-可重定位
支持 GCC 的 -mrelocatable 选项。

-mrelocate-lib
支持 GCC 的 -mrelocatable-lib 选项。

-成员
在 ELF 标志中设置 PPC_EMB 位。

- 一点点, - 小端, -这
为小端机器生成代码。

-mbig, -mbig-endian, -是
为大端机器生成代码。

-msolaris
为 Solaris 生成代码。

-mno-solaris
不要为 Solaris 生成代码。

-nops=
如果对齐指令插入超过 nops,在开头放一个分支
跳过 nops 的执行。

有关 RX 特定选项的文档,请参阅信息页面。

当为 s390 处理器系列配置 as 时,以下选项可用。

-立方米
-立方米
选择字长,31/32 位或 64 位。

-台面
-mzarch
选择架构模式,企业系统架构 (esa) 或
z/架构模式(zarch)。

-三月=处理器
指定哪个 s390 处理器变体是目标, g6, g6, z900, z990, z9-109, z9-ec,
z10, z196, zEC12z13.

-mregnames
-mno-regnames
允许或禁止寄存器的符号名称。

-mwarn-areg-零
每当指定了基址或索引寄存器的操作数时发出警告,但
评估为零。

当为 TMS320C6000 处理器配置 as 时,以下选项可用。

-三月=
启用(仅)来自架构的指令 . 默认情况下,所有指令都是
允许的。

以下值 被接受:“c62x”、“c64x”、“c64x+”、“c67x”、“c67x+”、
“c674x”。

-mdsbt
-mno-dsbt
-mdsbt 选项会导致汇编器生成“Tag_ABI_DSBT”属性
值为 1,表示代码使用 DSBT 寻址。 这 -mno-dsbt 选项,
默认值,使标签的值为 0,表示代码没有
使用 DSBT 寻址。 如果不同类型的对象,链接器将发出警告
(DSBT 和非 DSBT)链接在一起。

-mpid=否
-mpid=接近
-mpid=远
-mpid= 选项会导致汇编器生成“Tag_ABI_PID”属性
指示代码使用的数据寻址形式的值。 -mpid=否, 默认,
表示位置相关的数据寻址, -mpid=接近 表示位置-
使用近 DP 寻址的 GOT 访问进行独立寻址,以及 -mpid=远
表示使用远 DP 寻址的 GOT 访问的位置无关寻址。
如果使用此选项的不同设置构建的对象,链接器将发出警告
是联系在一起的。

-mpic
-mno-pic
-mpic 选项会导致汇编器生成“Tag_ABI_PIC”属性
值为 1,表示代码使用位置无关代码寻址,
“-mno-pic”选项,默认值,使标签的值为 0,表示
位置相关的代码寻址。 链接器将发出警告,如果对象
不同的类型(位置相关和位置无关)链接在一起。

-mbig-endian
-小端
为指定的字节序生成代码。 默认为小端。

当为 TILE-Gx 处理器配置 as 时,以下选项可用。

-立方米 | -立方米
选择字长,32 位或 64 位。

-EB | -EL
选择字节序,大端 (-EB) 或小端 (-EL)。

当为 Visium 处理器配置 as 时,以下选项可用。

-mtune=
此选项指定目标体系结构。 如果试图组装一个
不会在目标架构上执行的指令,汇编器将发出
错误信息。

识别以下名称:“mcm24”“mcm”“gr5”“gr6”

当为 Xtensa 处理器配置 as 时,以下选项可用。

--text-section-literals | --no-text-section-literals
控制文字池的处理。 默认是 --no-text-section-literals,
它将文字放在输出文件的不同部分中。 这允许
要放置在数据 RAM/ROM 中的文字池。 和 --text-section-literals中,
文字散布在文本部分中,以使它们尽可能接近
可以参考他们。 这对于大型装配文件可能是必要的,其中
否则文字将超出文本中“L32R”指令的范围
部分。 文字按照“.literal_position”指令分组到池中或
在“ENTRY”指令之前。 这些选项仅影响通过 PC- 引用的文字
相关的“L32R”指令; 绝对模式“L32R”指令的文字是
分开处理。

--auto-litpools | --no-auto-litpools
控制文字池的处理。 默认是 --no-auto-litpools,在哪
的缺席 --text-section-literals 将文字放在单独的部分中
输出文件。 这允许将文字池放置在数据 RAM/ROM 中。 和
--auto-litpools, 文字散布在文本部分中,以保持
他们尽可能接近他们的引用,明确的“.literal_position”指令
不是必需的。 这对于非常大的函数可能是必要的,其中单个
“L32R”可能无法访问函数开头的文字池
最后的说明。 这些选项仅影响通过 PC- 引用的文字
相关的“L32R”指令; 绝对模式“L32R”指令的文字是
分开处理。 当与 --text-section-literals, --auto-litpools
优先。

--绝对字面量 | --no-absolute-literals
向汇编器指示“L32R”指令是使用绝对指令还是 PC 相对指令
寻址。 如果处理器包括绝对寻址选项,则默认值为
使用绝对的“L32R”重定位。 否则,只有 PC 相关的“L32R”
可以使用重定位。

--目标对齐 | --无目标对齐
启用或禁用自动对齐以减少分支惩罚
代码大小。 默认情况下启用此优化。 请注意,汇编程序将
始终对齐具有固定对齐要求的“LOOP”等指令。

--longcalls | --no-longcalls
启用或禁用调用指令的转换以允许跨更大范围的调用
地址范围。 当呼叫目标可能是潜在的时,应使用此选项
超出范围。 它可能会降低代码大小和性能,但链接器可以
当呼叫在范围内结束时,通常会优化掉不必要的开销。
默认是 --no-longcalls.

- 转变 | --无变换
启用或禁用 Xtensa 指令的所有汇编器转换,包括两者
放松和优化。 默认是 - 转变; --无变换 应该只
在极少数情况下使用,当说明必须完全按照说明书中的规定进行时
汇编源。 使用 --无变换 导致超出范围的指令操作数
错误。

--重命名部分 旧名=新名字
重命名 旧名 部分到 新名字. 这个选项可以多次使用
重命名多个部分。

--蹦床 | --无蹦床
启用或禁用跳转指令的转换以允许跨更大的跳转
地址范围。 当跳转目标可能是潜在的时,应使用此选项
超出范围。 如果没有这样的跳转,这个选项不会影响代码大小或
表现。 默认是 --蹦床.

当为 Z80 系列处理器配置时,以下选项可用。

-z80
为 Z80 处理器组装。

-r800
组装 R800 处理器。

-忽略未记录的说明
-Wnud
组装未记录的 Z80 指令,这些指令也可在没有警告的情况下用于 R800。

-忽略不可移植的指令
-Wnup
在没有警告的情况下组装所有未记录的 Z80 说明。

-warn-undocumented-instructions
-武德
对同样适用于 R80 的未记录的 Z800 指令发出警告。

-警告不可移植说明
-Wup
对在 R80 上不起作用的未记录的 Z800 指令发出警告。

-禁止无证说明
-Fud
将所有未记录的说明视为错误。

-禁止不可移植的说明
-Fup
将在 R80 上不起作用的未记录的 Z800 指令视为错误。

使用 onworks.net 服务在线使用 aarch64-linux-gnu-as


Ad


Ad

最新的 Linux 和 Windows 在线程序