3.1. 命令语法

本节仅与 armasm 相关。 内联汇编程序是 C 和 C++ 编译器的组成部分,没有自身独立的命令语法。

armasm 命令行不区分大小写,文件名和特别指定之处除外。

使用此命令调用 ARM 汇编程序:

armasm {options} {inputfile}

其中 options 可以是以下任何组合,用空格分隔:

--16

使用旧 Thumb 语法时,指示汇编程序将指令解释为 Thumb® 指令。 这等价于源文件开头的 CODE16 指令。 使用新语法时,用 --thumb 选项可以指定 Thumb 或 Thumb-2 指令。

--32

指示汇编程序将指令解释为 ARM 指令。 这是缺省设置。

--apcs [qualifiers]

指定是否要使用 ARM 体系结构的程序调用标准 (AAPCS)。 它也指定代码节的某些属性。 有关详细信息,请参阅AAPCS

--arm

--32 的同义词。

--bigend

指示汇编程序汇编适合于大端 ARM 的代码。 缺省为 --littleend

--brief_diagnostics

请参阅控制诊断消息的输出

--littleend

指示汇编程序汇编适合于小端 ARM 的代码。

--checkreglist

指示汇编程序检查 RLISTLDMSTM 寄存器列表,以确保所有寄存器按寄存器编号升序排列。 如果寄存器未按顺序列出,则给出一条警告信息。

此选项不提倡使用,将在以后的版本中删除。 改为使用 --diag_warning 1206(请参阅控制诊断消息的输出)。

--cpu name

设置目标 CPU。 请参阅CPU 名称

--debug

指示汇编程序生成 DWARF 调试表。--debug-g 的同义词。

缺省为 DWARF 3。

Note

使用 --debug 时不保留局部符号。 如果要保留局部符号来辅助调试,必须指定 --keep

--depend dependfile

指示汇编程序将源文件相关性列表保存到 dependfile 中。 这些选项适合与 make 实用程序一起使用。

--depend_format=string

此选项将输出相关性文件的格式更改为 UNIX 风格,以便与某些 UNIX make 程序兼容。

string 的值可以是以下值之一:

unix

生成具有 UNIX 风格路径分隔符的相关性文件。

unix_escaped

unix 相同,但是使用反斜线转义空格。

unix_quoted

unix 相同,但路径名用双引号括起。

--diag_[error | remark | warning | suppress | style]

请参阅控制诊断消息的输出

--dllexport_all

指示汇编程序提供所有全局符号的动态可见度,除非另行指定。 编译 DLL 时可使用此选项。

--dwarf2

--debug 一起使用,可指示汇编程序生成 DWARF 2 调试表。

--dwarf3

--debug 一起使用,可指示汇编程序生成 DWARF 3 调试表。 指定 --debug 时,这是缺省设置。

--errors errorfile

指示汇编程序将错误消息输出到 errorfile

--exceptions

请参阅控制异常表生成

--exceptions_unwind

请参阅控制异常表生成

--fpmode model

指定浮点一致性,并设置库属性和浮点优化。 请参阅浮点模型

--fpu name

选择目标浮点单元 (FPU) 体系结构。 请参阅FPU 名称

-g

--debug 的同义词。

-idir,dir

向源文件添加目录必须完全限定(请参阅GET 或 INCLUDE)。

--keep

指示汇编程序在目标文件的符号表中保留局部标签,以供调试器使用(请参阅KEEP)。

--length

请参阅列表输出到文件中

--library_type=lib

启用链接时使用的相关库选择。

其中 lib 可以是以下项之一:

standardlib

指定在链接时选择完整的 RVCT 运行时库。 这是缺省设置。

microlib

指定在链接时选择 C 微型库 (microlib)。

Note

如果使用库需要更多的特定优化,则可以将此选项与编译器、汇编程序或链接器一起使用。

将此选项与链接器一起使用可覆盖所有其他 --library_type 选项。

有关详细信息,请参阅:

--list file

指示汇编程序将汇编程序生成的汇编语言详细列表输出到 file 中。 有关详细信息,请参阅列表输出到文件中

-m

指示汇编程序将源文件相关性列表输出到 stdout

--maxcache n

将最大源缓冲区大小设置为 n 字节。 缺省为 8MB。如果该大小小于 8MB,则 armasm 发出警告。

--md

指示汇编程序将源文件相关性列表输出到 inputfile.d

--memaccess attributes

指定目标内存系统的内存访问属性。 请参阅内存访问属性

Note

--memaccess 选项不提倡使用,将在以后的版本中删除。

--no_code_gen

指示汇编程序在第一轮汇编后退出。 不生成目标文件。

--no_esc

指示汇编程序忽略 C 语言风格的转义特殊字符,如 \n\t

--no_exceptions

请参阅控制异常表生成

--no_exceptions_unwind

请参阅控制异常表生成

--no_hide_all

在编译 SVr4 共享对象时,使您可以控制符号可见度。 所有导出的定义和参考都给定动态可见度(请参阅EXPORT 或 GLOBAL)。

--no_regs

指示汇编程序不要预定义寄存器名称。 请参阅预定义的寄存器和协处理器名称 中的预定义寄存器名称列表。

此选项不提倡使用,将在以后的版本中删除。 改为使用 --regnames=none

--no_terse

请参阅列表输出到文件中

--no_unaligned_access

指示汇编程序在目标文件中设置一个属性,以指明不使用未对齐访问。

--no_warn

关闭警告消息。

-o filename

命名输出目标文件。 如果未指定此选项,则汇编程序创建 inputfilename.o 格式的目标文件名。

--predefine "directive"

指示汇编程序预先执行 SET 指令中的一个。 有关详细信息,请参阅预先执行 SET 指令

--[no_]reduce_paths

启用或禁用在文件路径中删除冗余路径名信息。 此选项只在 Windows 系统中有效。

Windows 系统对文件路径有 260 个字符的限制。 如果存在其绝对路径名长度超过了 260 个字符的相对路径名,则可以使用 --reduce_paths 选项,通过使用对应的 .. 实例匹配目录并成对删除 directory/.. 序列,来减少绝对路径名的长度。

Note

建议优先使用 --reduce_paths 选项使路径长度最小,避免使用冗长和深层嵌套的路径名。

有关详细信息,请参阅 《RealView 编译工具编译器参考指南》第 2-77 页的--[no_]reduce_paths

--regnames=none

指示汇编程序不要预定义寄存器名称。 请参阅预定义的寄存器和协处理器名称中的预定义寄存器名称列表。

--regnames=callstd

根据 --apcs 选项所指定的您要使用的 AAPCS 变体,定义其他寄存器名称(有关详细信息,请参阅AAPCS )。

--regnames=all

定义所有的 AAPCS 寄存器,无论 --apcs 的值如何(有关详细信息,请参阅AAPCS )。

--show_cmdline

显示汇编程序是如何处理命令行的。 命令以标准化方式显示,并且所有 via 文件的内容将进行扩展。

--split_ldm

指示汇编程序使长 LDMSTM 指令出错。 有关详细信息,请参阅分割长 LDM 和 STM。 不提倡使用此选项。

--thumb

使用 ARM 语法时,指示汇编程序将指令解释为 Thumb 指令。 这等价于源文件开头的 THUMB 指令。

--unaligned_access

指示汇编程序在目标文件中设置一个属性,以指明使用未对齐访问。

--unsafe

可使来自不同体系结构的指令无错误地进行汇编。 请参阅控制诊断消息的输出)。

--untyped_local_labels

当引用 Thumb 代码中的标签时,强制汇编程序不设置 Thumb 位。 有关详细信息,请参阅LDR 伪指令

--via file

指示汇编程序打开 file,并将命令行参数读取到汇编程序中。 有关详细信息,请参阅 《RealView 编译工具编译器参考指南》中的附录 A via 文件语

--width

请参阅列表输出到文件中

--xref

请参阅列表输出到文件中

inputfile

指定汇编程序的输入文件。 输入文件必须是 ARM 或 Thumb 汇编语言源文件。

Copyright © 2002-2007 ARM Limited. All rights reserved. ARM DUI 0204HC
Non-Confidential