2014年3月14日

LDMFD和STMFD个人理解

摘要: ARM里面的堆栈是满递减(FULL DESCENDING)的。SP指向最后一个入栈的数据,SP的地址由高向低生长。对于LDM和STM指令来说,编号小的寄存器对应堆栈中的低地址。STMFD的寻址方式是事先递减方式(Decrease Before)。内存地址可以用下面的式子表示:start_address=SP-(Number of register *4)end_address=SP-4举例来说:STMFD SP!,{R1-R7,LR} //SP=0x48000060入栈后各寄存器存放的地址如下图所示:SP后面的!表示SP=SP-(Number of registers *4),在这里入栈后SP 阅读全文

posted @ 2014-03-14 19:40 zuji 阅读(8095) 评论(0) 推荐(0) 编辑

导航