相关指令记录
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 |