在一个 iPhone 项目中,我正在编译一个 .s 程序集文件。在这个文件中,我需要访问外部 C 变量的地址并将其加载到寄存器中。我有以下代码:
_execute_read_spsr:
ldr r0,=_spsr_pointer
ldr r0, [r0]
ldr r0, [r0]
bx lr
然而,在编译时,Clang/LLVM 在方法的第一行抛出一个错误,说:
unexpected token in operand
ldr r1,=_spsr_pointer
^
我在某处读到 iOS 汇编器不支持这种形式的伪操作。不幸的是,这是我从别人那里收到的代码,我的汇编知识有限。汇编器可以接受的这行代码的等价物是什么?