858 B
858 B
- 读写指令
- ldr
- 普通用法
- 伪指令用法 多一个等号
- 多一个等号相当于直接取值,而不需要再解一次引用,跟mov指令差不多了,比如 ldr x1, =0x1000 这就是把0x1000直接拷贝到x1里, ldr x1, [x2] x2的值是0x1000,这就是读取0x1000位置的数据
- pc相对寻址 注意1MB限制,汇编的时候会检查
- ldr x1, label 注意!label是相对于当前pc位置的偏移
- 变换
- 基地址加偏移 ldr r5, [sp, #24] // 取栈上的值
- 前变基 ldr tmp1w, [src, #-4]! // memmove函数
- 后变基 ldr w0, [x1], #4 // memcpy
- ldr
- 待整理
- stp/ldp
- b/bl/br/blr
- b不带返回的跳到符号
- bl将当前pc+4设置到lr寄存器,带返回功能
- br调到
- isb/dmb/dsb
- dsb sy 用的比较多
- 主要是参数