ARM汇编之内存寻址模式

对加载和存储的汇编指令目前有三种寻址模式:偏移寻址(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

你可能感兴趣的:(ARM汇编之内存寻址模式)