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上

demo

ldr用于正数

ldur用于负数

总结:ldr和ldur,把右边的内存的值放到左边

ldp 指令:从内存中读取数据,放到一对寄存器中

p:是pair简称,一对的意思

如图Xcode

demo  这里涉及到寻址

demo demo demo demo

store, 往内存中存储数据

其中s开头,store意思

示例

str w0 , [x1]

解析: 将寄存器w0的值存储到X1这个内存地址,和ldr有点不一样

左边必须是寄存器,不能是立即数,w0占4个字节,x0占8个字节

stur和stp类似ldur,ldp

十六进制 10 == 16 立即数就是值,比如int a = 5;5就是立即数