假定函式原型:
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處順次得到。所有實參的佔位均集中於呼叫函式的棧的最高位置(位址最低)。
優化系列 之DSP優化方法
date 2019 2 18 1 參考 ti dsp tms320c66x學習筆記之dsp優化經驗 2 dsp介紹和特點 dsp是英文digital signal process的簡稱,即數字訊號處理器,dsp晶元內部採用程式和資料分開的哈佛結構,具有特殊的dsp指令和不同的功能單元,實現多級流水操...
TI的tms320系列DSP對比
三種新型tms320 dsp系列的特點 1.tms320c2000 作控制用的最佳dsp,可以替代老的 c1x和 c2x。現在有趨勢集中在以下兩個方向上 1 c20x 16位定點dsp,速度為20mips,主要用途是 數字相機 售貨機等,其中 f206帶有閃速儲存器,售價從5 17美元。2 c24x...
C66x系列DSP架構
c66x dsp是最新一代定點和浮點dsp,由4個乘法器組成,以實施單精度浮點運算。c66x dsp核心可同時執行多大8項浮點乘法運算,加之高達1.4ghz的時鐘頻率,使其具有很高的浮點處理效能。將多個c66x dsp核心與其他核心融合,即可建立出具有初中效能的多核片上系統器件。本文以tms320c...