假定函数原型:
int test (int r0, int r1, int r2, int ext1);
发生函数调用时,如:
// ...
test(a, b, c, d);
// ...
编译器会将局部变量a,b,c在函数调用附近分别处理到寄存器R0,R1,R2中,而更高的参量,如ext1,则顺次从字节地址SP+0xC位置开始存放。在执行CALL指令调用子程序的时候,堆栈寄存器FP和SP仍不发生变化,直到,执行LINK指令,寄存器将发生如下变化:
1. [--SP] = RETS;
2. [--SP] = FP;
3. FP = SP; // FP+0保存原FP,FP+4保存返回地址。
4. SP += -n; // 其中n为LINK指令的操作数,表示子程序栈的初始分配(用于局部变量)。
在LINK指令之后可显式加入对寄存器保护性压栈的代码。局部变量的访问则通过SP或FP加相应偏移实现。
这样,在子程序中,对前3个实参的访问,即通过寄存器进行,但在调用函数的栈中有占位(是调用函数侧的SP+0到SP+8,或被调用函数侧的FP+8到FP+0x10);而对其他实参,则从它的FP+0x14处顺次得到。所有实参的占位均集中于调用函数的栈的最高位置(地址最低)。
分享到:
相关推荐
Blackfin系列DSP原理与系统设计(陈峰 编著)
Blackfin系列DSP原理与系统设计.rar Blackfin系列DSP原理与系统设计.rar
介绍Blackfin系列DSP的一本中文书籍
关于学习dsp blackfin处理器很有用的文章
我所见到的唯一一本blackfin相关的电子书。与大家分享。
与大家一起分享,我所见到的唯一一本blackfin详细学习参考资料 书籍。
第三部分,由于文件比较大,所以分的部分较多,请多多谅解。
Blackfin系列DSP原理与系统设计
这本书介绍基于ADI公司开发的基于微信号体系的Blackfin系列DSP高速处理器在数字图像领域的应用。Blackfin系列DSP每秒的运算速度最高可达1200MMAC(兆次乘法加法运算),非常适用于图像处理领域。 本书共10章,介绍...
这本书介绍基于ADI公司开发的基于微信号体系的Blackfin系列DSP高速处理器在数字图像领域的应用。Blackfin系列DSP每秒的运算速度最高可达1200MMAC(兆次乘法加法运算),非常适用于图像处理领域。 本书共10章,介绍...
adi dsp blackfin系列资料 adi dsp blackfin系列资料 adi dsp blackfin系列资料 adi dsp blackfin系列资料
Blackfin DSP 的资料Blackfin DSP 的资料Blackfin DSP 的资料Blackfin DSP 的资料Blackfin DSP 的资料Blackfin DSP 的资料Blackfin DSP 的资料Blackfin DSP 的资料Blackfin DSP 的资料Blackfin DSP 的资料
blackfin DSP学习的一本好书籍。 用超星格式打开。 一共4部分 。
Blackfin系列DSP是ADI公司开发的基于微信号体系的高速处理器,每秒的运算速度最高可达1200MMAC(兆次乘法加法运算),非常适用于图像处理领域。本书共10章,介绍图像处理的基本知识、Blackfin DSP的硬件结构及指令...
有关ADI blackfin 系列DSP 嵌入系统设计详细解析教程 ,内容丰富,精确讲解步骤