有关多寄存器load-store指令

寻址模式        描述               起始地址       结束地址          Rn!

IA              执行后增加             Rn              Rn+4*N-4      Rn+4*N
DB            执行前减少             Rn-4*N         Rn-4            Rn-4*N
注意看DB模式的起始地址,这是能够使用
           STMIA    与 LDMDB 指令对(相同寄存器数目)来临时保存一组寄存器,然后在恢复它们的关键所在。
        分析ARM内核的数据流模型可以发现,对于地址寄存器只有一个加法器相连,就是说只能对地址进行自动加运算,于是我们得出这样的结论,实际上DB模式还是采用增加地址的方法的,他的起始地址为
Rn-4*N,结束地址是Rn-4,整体看起来实现的效果从Rn-4 到Rn-4*N,所以被称为递减。(实际上回写时也确实是回写Rn-4*N)
            另外三对load-store同理可得。

你可能感兴趣的:(ARM)