- abort
.abort: 停止汇编
.align absexpr1, absexpr2: 以某种对齐方式,在未使用的存储区域填充值. 第一个值表示对齐方式,4, 8,16 或 32. 第 二个表达式值表示填充的值.
- if...else...endif
.if
.else
.endif: 支持条件预编译
- include
.include "file": 包含指定的头文件, 可以把一个汇编常量定义放在头文件中.
- comm
.comm symbol, length:在 bss 段申请一段命名空间,该段空间的名称叫 symbol, 长度为 length. Ld 连接器在连接会
为它留出空间.
- data
.data subsection: 说明接下来的定义归属于 subsection 数据段.
- equ
.equ symbol, expression: 把某一个符号(symbol)定义成某一个值(expression).该指令并不分配空间.
- global
.global symbol: 定义一个全局符号, 通常是为 ld 使用.
- ascii
.ascii "string": 定义一个字符串并为之分配空间.
- byte
.byte expressions: 定义一个字节, 并为之分配空间.
- short
.short expressions: 定义一个短整型, 并为之分配空间.
- int
.int expressions: 定义一个整型,并为之分配空间. 12 long
.long expressions: 定义一个长整型, 并为之分配空间.
13 word
.word expressions: 定义一个字,并为之分配空间, 4bytes.
- macro/endm
.macro: 定义一段宏代码, .macro 表示代码的开始, .endm 表示代码的结束.
- req
name .req register name: 为寄存器定义一个别名.
- code
.code [16|32]: 指定指令代码产生的长度, 16 表示 Thumb 指令, 32 表示 ARM 指令.
- ltorg
.ltorg: 表示当前往下的定义在归于当前段,并为之分配空间.