本文共 986 字,大约阅读时间需要 3 分钟。
ARM
指令和 CODE32
指令是同义词。 它们指示汇编程序将后面的指令解释为 32 位 ARM 指令。 必要时,它们也可插入最多三个填充字节,以对齐到下一个字边界。
在此模式下,汇编程序接受最新版本和旧版本的汇编语言。
ARMTHUMBTHUMBXCODE16CODE32
在包含使用不同指令集的代码的文件中:
ARM
必须位于任何 ARM 代码之前。 CODE32
是 ARM
的同义词。
THUMB
必须位于用新语法编写的 Thumb 代码之前。
THUMBX
必须位于用新语法编写的 Thumb‑2EE 代码之前。
CODE16
必须位于用旧 Thumb 语法编写的 Thumb 代码之前。
这些命令不汇编为改变状态的指令。 它们仅指示汇编程序适当地汇编 ARM、Thumb‑2、Thumb‑2EE 或 Thumb 指令,并在必要时插入填充字节。
此示例演示如何使用 ARM
和 CODE16
从 ARM 指令跳转到 16 位 Thumb 指令。
AREA ToThumb, CODE, READONLY ; Name this block of code ENTRY ; Mark first instruction to execute ARM ; Subsequent instructions are ARM start ADR r0, into_thumb + 1 ; Processor starts in ARM state BX r0 ; Inline switch to Thumb state THUMB ; Subsequent instructions are Thumbinto_thumb MOVS r0, #10 ; New‑style Thumb instructions
转载地址:http://ppnfb.baihongyu.com/