我想加載一個32位常量到一個寄存器中,我發現一個僞指令「mov32」可以在其上執行此操作(mov32 pseudo-instruction)。然後,我編寫一個彙編文件,其中包括:ARM程序集:錯誤的指令「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 unified」並再次測試,但也失敗了。 GNU工具鏈是否支持ARM僞指令,如「mov32」,「ldr r0,= address」等?如果確實如此,我該如何解決這個問題?謝謝。
LDR RX = 0x12345678的會爲你工作與GNU工具。 –
您正在使用gnu彙編程序和arm彙編僞指令。 – auselen