语法:

adr{条件} 目的寄存器, 地址表达式

备注:

  • {条件} 可选项
  • 地址表达式 可以是标号、数值

功能:

adr指令将基于PC的相对偏移地址值 或 基于寄存器的相对偏移地址值读取到目标寄存器中。

编译:

当汇编编译器处理adr指令时,adr指令会被替换为一条add或sub指令(注意:只能会一条,否则报错)。

示例:

    adr r0, SofTool


SofTool
    mov r0, #0x00
    mov pc, lr

下图是我刚执行 adr r0, SofTool 之后的截图,我们可以看出 r0 保存的地址为 0x3200 0284 :
adr - 图1