ARM汇编指令-STMFD和LDMFD

根据ATPCS规则,我们一般使用FD(FullDescending)类型的数据栈!所以经常使用的指令就有STMFD和LDMFD。这两个指令一般用于进行程序搬移等大规模操作前的cpu现场保护和操作结束后的现场恢复,属于非单一连续的压栈和出栈。

STMFD SP! ,{R0-R7,LR}

意义是:

SP = SP-9x4

ADDRESS =SP

for  i = 0 to 7

     memory[address] = Ri

     address =address+4

memory[address] = LR


LDMFD SP! ,{R0-R7,LR}

过程算是STMFD的逆过程


结果