11. 汇编器指示符

11.1. 标签

  • label(INNER1)

这定义了一个用于分支指令的标签。因此在代码的其他地方,一个 b(INNER1) 会使执行跳转到该标签指示符后面的指令继续进行。

11.2. 定义内联数据

以下汇编器指示符便于在汇编代码块中嵌入数据。

  • data(size, d0, d1 .. dn)

data 指示符在内存中创建一个数据值数组。第一个参数指定后续各参数的字节大小。因此下面第一条语句会让汇编器将三个字节(值分别为 2、3 和 4)放入连续的内存位置,而第二条则会让它发出两个四字节的字。

data(1, 2, 3, 4)
data(4, 2, 100000)

长度超过单个字节的数据值以小端格式存储在内存中。

  • align(nBytes)

将下一条指令对齐到 nBytes 的值。ARM Thumb-2 指令必须按两字节对齐,因此建议在 data 指示符之后、任何后续代码之前发出 align(2)。这能确保无论数据数组大小如何,代码都能运行。