对加载和存储的汇编指令目前有三种寻址模式:偏移寻址(Offset addressing),前变址寻址(Pre-indexed addressing),后变址寻址(Post-indexed addressing)。
下面分别进行介绍。
-
偏移寻址
语法格式如下
[Rn, offset]
最终访问内存的地址 = Rn+offset
这种操作后Rn的值不会改变 -
前变址寻址
语法格式如下
[Rn, offset]!
最终访问内存的地址 = Rn+offset
这种操作后Rn的值 = Rn+offset -
后变址寻址
语法格式如下
[Rn], offset
最终访问内存的地址 = Rn
这种操作后Rn的值 = Rn+offset
备注:
- 其中Rn为基址寄存器,存储着访问内存的基地址
- offset可以是立即数常量,可以是寄存器,也可以是移位操作后的寄存器(如: Rm, LSL #shift)
参考文献
【1】DUI0801I_armasm_user_guide
网友评论