我想将一个 32 位常量加载到一个寄存器中,我发现了一个伪指令“mov32”,它可以做到这一点(mov32 伪指令)。然后我编写了一个汇编文件,其中包括:
MOV32 r0, #0xABCDEF12
并使用 linaro 工具链(版本 13.04)编译它:
arm-linux-gnueabihf-as -march=armv7-a -mcpu=cortex-a9 test.s -o test.o
但它失败了消息:
Error: bad instruction `mov32 r0, #0xABCDEF12'
不知道是不是统一汇编语言的问题。以防万一,我在源代码中写了“.syntax unity”并再次测试,但也失败了。GNU 工具链是否支持“mov32”、“ldr r0、=address”等 ARM 伪指令?如果是,我该如何解决这个问题?谢谢。