load ,从内存中装载数据,通俗的讲相当于从内存中读取数据
- ldr, ldur
- ldp 其中l开头,load意思
ldr x0, [x1]
解析: x1是寄存器所存的地址,x1的值,赋值给x0
再比如
ldr w0, [0x10001,#0x4]
#0x4,就是立即数,相当于0x10001+4=0x10005
ldr w0,[0x10005]
基址变址寻址示例
LDR R0, [R1, #4]!
意思就是寄存器R0 <- [R1+4] 并且R1 <- R1 + 4
如图在Xcode中,ldr 指令,意思就是把[sp, #0x8]的值放到寄存器x9上
ldr用于正数
ldur用于负数
总结:ldr和ldur,把右边的内存的值放到左边
ldp 指令:从内存中读取数据,放到一对寄存器中
p:是pair简称,一对的意思
如图Xcode
 这里涉及到寻址
store, 往内存中存储数据
- str,stur
- stp
其中s开头,store意思
示例
str w0 , [x1]
解析: 将寄存器w0的值存储到X1这个内存地址,和ldr有点不一样
左边必须是寄存器,不能是立即数,w0占4个字节,x0占8个字节
stur和stp类似ldur,ldp
十六进制 10 == 16 立即数就是值,比如int a = 5;5就是立即数