ARM中关于批量Load/Store指令操作过程中的地址变化方式及对应
批量Load/Store指令操作过程中的地址变化方式
这其中内存操作分为4种类型:
(1)后增IA:每次数据传送后地址加4
(2)先增IB:每次数据传送前地址加4
(3)后减DA:每次传送数据后地址减4
(4)先减DB:每次数据传送前地址减4
而对于堆栈操作也对应有4种类型:
(1)满递增堆栈FA:堆栈指针指向最后压入的数据,且由低地址像高地址生成
(2)满递减堆栈FD:堆栈指针指向最后压入的数据,且由高地址像低地址生成
(3)空递增堆栈EA:堆栈指针指向下一个将要放入数据的空位置,由低地址向高地址生成
(4)空递减堆栈ED:堆栈指针指向下一个将要放入数据的位置,且由高地址向低地址生成
对应关系如下:
IA——EA,IB——FA,DA——ED,DB——EA
(其中IA、EA、IB、FA等这些短语都直接加载指令后
例如:LDMIA r0,{r5-r8})