相关指令记录
ARDP
ADRP <reg> <imm>
- 从PC相对地址到4KB页添加一个直接值
- 将当前
pc
地址低12位置零
, 并加上立即数左移12位后
的值
例子:
1 | PC = 0xe7b27341c7b0 |
CBZ
CBZ <reg> <imm>
- 将寄存器的值与
0
比较, 如过相等则跳转
到相对pc
+/-1MB
的位置
例子:
1 | reg = x0 |
XZR
用于64位(8字节)置零操做
例子:
1 | ; 将x20寄存器置零 |
LDP
LDP <reg1>, <reg2>, [reg3], <imm>
- 将
reg3
地址里面的值加载到reg1
和reg2
- 然后更新
reg3
的值,reg3 += imm
例子:
1 | sp = uint64[]{ 2, 3 } |
STP
STP <reg1>, <reg2>, [reg3, imm]!
- 将
reg1
,reg2
中的值存入reg3 + imm
的地址里面, 并更新reg3
的值reg3 += imm
例子:
1 | x1 = 1 |