stmdb sp!, {fp, ip, lr, pc} //sp=sp-4,sp=pc;先压PC //sp=sp-4,sp=lr;再压lr //sp=sp-4,sp=ip;再压ip //sp=sp-4,sp=fp;再压fp ldmia sp, {fp, sp, pc} //和stmdb成对使用, //fp=sp,sp=sp+4;先弹fp //sp=sp,sp=sp+4;先弹sp,此处的弹出不会影响sp,因为ldmia是一个...
//fp=sp,sp=sp+4;先弹fp//sp=sp,sp=sp+4;先弹sp,此处的弹出不会影响sp,因为ldmia是一个...
voidtest2(int a,int b,int c){int k=a,j=b,m=c;}GCC反汇编:00000064<test2>:mov ip,sp//IP=SP;保存SPstmdb sp!,{fp,ip,lr,pc}//先对SP减4,再对fp,ip,lr,pc压栈。---1sub fp,ip,#4;0x4//fp=ip-4;此时fp指向栈里面的“fp”sub sp,sp,#24;0x18//分配空间str r0,[fp,#-28]/...