存储和加载指令
ldr
指令寻址之1: 地址偏移模式 (unsigned offset
)
1 | LDR Xd, [Xn, $offset] |
首先在 Xn
寄存器的内容上加上一个 offset
偏移量后作为内存地址,加载此地址的内容到 Xd
寄存器。
ldr
指令寻址之2: 变基模式
- 前变基模式(
pre-index
模式): 先更新偏移地址然后再访问内存。 - 后变基模式(
post-index
模式):先访问内存地址然后再更新偏移地址。
1 | LDR X0, [X1, #8]! // 前变基模式。先更新X1 的值为 X1+8,然后义新的X1值为地址,加载内存的值到X0 |
ldr
指令寻址之3: 标签(literal
)
PC + label offset
ldr 伪指令
1 | LDR x7, =MY_LABEL |
move 指令
- 16位立即数
- 16立即数左移16,32,48位