然后,依次将各名字数据传送到寄存器R0,R1,R2,R3;如果参数多于4个,将剩余的字数据传送到数据栈中,入栈的顺序与参数顺序相反,即最后一个字数据先入栈....1.栈是一种具有后进先出的数据组织方式,也就是说后存放的先取出,先存放的后取出。栈底是第一个进栈的数据所处位置,栈顶是最后一个数据进栈所处的位置。
?
?
?
?
?...栈帧(stack frame):就是一个函数所使用的那部分栈,所有函数的栈帧串起来就组成了一个完整的栈。栈帧的两个边界分别由fp(r11)和sp(r13)来限定。
栈帧是如何形成的呢?...下例中栈就是用于存储保存局部变量的。
?
?
栈用于存储返回值的
?
?
Str r0,[r7,#12]意思是将返回值R0写入到栈[r7,#12]的位置
7. 栈帧在函数中的使用?...最后总结:
函数指令:B、BL、BX、BLX、PC
函数调用约定:ATPCS
函数参数:小于等于4个:R0-R3; 大于4个用SP栈表示。