如何使用ARM汇编在`r0`寄存器中的特定地址(0x63FC4080)加载内容?

时间:2017-06-25 15:02:45

标签: assembly arm

是否有一行asm指令,如ldr r0, 0x63FC4080

1 个答案:

答案 0 :(得分:2)

ARM没有加载任意32位数的指令。但是,您可以将常量放在附近的某处,并使用PC相对负载来获取所需的地址。 ARM汇编程序通常提供一种特殊的表示法,用于生成文字池,将文字放入其中,然后生成适当的寻址模式。例如,要在GNU汇编程序中为ARM执行所需操作,请编写

+----------------------+
|   id    |   col1     |
-----------------------
|  122    |    1       |
|  124    |    2       |
+----------------------+

这可以组装成例如。

ldr r0,=0x63fc4080

具有文字池的位置,具体取决于周围的代码。