ZHCUAV7Z september 1995 – march 2023 66AK2E05 , 66AK2H06 , 66AK2H12 , 66AK2H14 , AM1705 , AM1707 , AM1802 , AM1806 , AM1808 , AM1810 , AM5K2E04 , OMAP-L132 , OMAP-L137 , OMAP-L138 , SM470R1B1M-HT , TMS470R1A288 , TMS470R1A384 , TMS470R1A64 , TMS470R1B1M , TMS470R1B512 , TMS470R1B768
统一汇编语言 (UAL) 是一种新的汇编语法,由 ARM Ltd. 推出,可控制原始 Thumb-2 汇编语法带来的岐义,并为 ARM、Thumb 和 Thumb-2 提供类似的语法。UAL 向后兼容旧版 ARM 汇编,但与之前的 Thumb 汇编语法不兼容。
从 ARMv7 架构开始,UAL 语法是默认的汇编语法。编写汇编代码时,.arm 和 .thumb 指令分别用于指定 ARM 和 Thumb UAL 语法。.state32 和 .state16 指令仍可指定非 UAL ARM 和 Thumb 语法。.arm 和 .state32 指令是等效的,因为在 ARM 模式下 UAL 语法是向后兼容的。Thumb-2 指令不支持非 UAL 语法,因此在 .state16 段中不能使用 Thumb-2 指令。但具有 .state16 段的汇编代码如果仅包含非 UAL Thumb 代码,可针对 ARMv7 架构进行汇编,从而能够方便地移植更早的代码。
请参阅节 5.3,了解有关 .state16、.state32、.arm 和 .thumb 指令的更多信息。
ARM Ltd. 文档中可找到有关 UAL 语法的全面介绍,但有一些与 Thumb-2 语法相关的关键差异: