图8显示树莓派的ARM寄存器值及RAM堆栈区的内容 从图8可知,程序执行到第9行断点处时,sp=0x7efff150,r4=0x100,r5=0xff,r6=0x1234,r7=0xa0be。 下面输入s单步命令接着执行第9行的stmfd入栈指令(见图9)。图9 显示执行stmfd入栈指令后的树莓派ARM寄存器值及RAM堆栈区的内容 在图9中,再次...
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]/...