ARM GNU 常用汇编伪指令介绍

  1. abort

.abort: 停止汇编

.align abs­expr1, abs­expr2: 以某种对齐方式,在未使用的存储区域填充值. 第一个值表示对齐方式,4, 8,16 或 32. 第 二个表达式值表示填充的值.

  1. if...else...endif

.if

.else

.endif: 支持条件预编译

  1. include

.include "file": 包含指定的头文件, 可以把一个汇编常量定义放在头文件中.

  1. comm

.comm symbol, length:在 bss 段申请一段命名空间,该段空间的名称叫 symbol, 长度为 length. Ld 连接器在连接会

为它留出空间.

  1. data

.data subsection: 说明接下来的定义归属于 subsection 数据段.

  1. equ

.equ symbol, expression: 把某一个符号(symbol)定义成某一个值(expression).该指令并不分配空间.

  1. global

.global symbol: 定义一个全局符号, 通常是为 ld 使用.

扫描二维码关注公众号,回复: 6625140 查看本文章
  1. ascii

.ascii "string": 定义一个字符串并为之分配空间.

  1. byte

.byte expressions: 定义一个字节, 并为之分配空间.

  1. short

.short expressions: 定义一个短整型,  并为之分配空间.

  1. int

.int expressions: 定义一个整型,并为之分配空间. 12 long

.long expressions: 定义一个长整型, 并为之分配空间.

13 word

.word expressions: 定义一个字,并为之分配空间, 4bytes.

  1. macro/endm

.macro: 定义一段宏代码, .macro 表示代码的开始, .endm 表示代码的结束.

  1. req

name .req register name:  为寄存器定义一个别名.

  1. code

.code [16|32]: 指定指令代码产生的长度, 16 表示 Thumb 指令, 32 表示 ARM 指令.

  1. ltorg

.ltorg: 表示当前往下的定义在归于当前段,并为之分配空间.

猜你喜欢

转载自www.cnblogs.com/niezhongle/p/11088658.html