DSP技術(shù)-第6章-TMS320C54x-DSP的CC++程序設(shè)計(jì)_第1頁
DSP技術(shù)-第6章-TMS320C54x-DSP的CC++程序設(shè)計(jì)_第2頁
DSP技術(shù)-第6章-TMS320C54x-DSP的CC++程序設(shè)計(jì)_第3頁
DSP技術(shù)-第6章-TMS320C54x-DSP的CC++程序設(shè)計(jì)_第4頁
DSP技術(shù)-第6章-TMS320C54x-DSP的CC++程序設(shè)計(jì)_第5頁
已閱讀5頁,還剩52頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

2024年3月10日DSP原理及應(yīng)用1第6章TMS320C54xDSP的C/C++程序設(shè)計(jì)DSP系統(tǒng)軟件設(shè)計(jì)的一般過程使用C語言設(shè)計(jì)DSP程序的特點(diǎn)C程序的結(jié)構(gòu)及組成C語言數(shù)據(jù)結(jié)構(gòu)C語言函數(shù)C的DSP訪問規(guī)那么C語言和匯編語言混合編程2024年3月10日DSP原理及應(yīng)用2DSP系統(tǒng)設(shè)計(jì)過程:1.明確任務(wù),確定功能。2.硬件設(shè)計(jì)(電路圖(原理圖)設(shè)計(jì),PCB(電路板圖)設(shè)計(jì),PCB加工)。3.軟件設(shè)計(jì)(編程,調(diào)試(軟仿真運(yùn)行程序))。4.焊板,調(diào)試(打通電路)。5.聯(lián)調(diào)。6.現(xiàn)場(chǎng)安裝調(diào)試。DSP系統(tǒng)軟件設(shè)計(jì)的一般過程2024年3月10日DSP原理及應(yīng)用3軟件開發(fā)流程圖:DSP系統(tǒng)軟件設(shè)計(jì)的一般過程選擇開發(fā)語言選擇硬件開發(fā)工具和開發(fā)環(huán)境編輯源代碼文件編譯、匯編、鏈接,軟件仿真下載目標(biāo)文件,硬件在線調(diào)試2024年3月10日DSP原理及應(yīng)用4第6章TMS320C54xDSP的C/C++程序設(shè)計(jì)DSP系統(tǒng)軟件設(shè)計(jì)的一般過程使用C語言設(shè)計(jì)DSP程序的特點(diǎn)C程序的結(jié)構(gòu)及組成C語言數(shù)據(jù)結(jié)構(gòu)C語言函數(shù)C的DSP訪問規(guī)那么C語言和匯編語言混合編程2024年3月10日DSP原理及應(yīng)用51DSP的C語言編程與匯編語言編程的區(qū)別

CCS開發(fā)平臺(tái)中包括了優(yōu)化的C語言編譯器,全面支持C源程序級(jí)代碼的開發(fā)與調(diào)試。使用C語言編程能夠極大地提高軟件開發(fā)的速度,增加程序代碼的可續(xù)性,方便程序的維護(hù)和移植。但C語言代碼的效率還無法與匯編語言代碼的效率相比,5000系列DSPC語言代碼的效率大概只有匯編語言程序的60%,這些缺點(diǎn)可以通過內(nèi)嵌匯編語句,及使用匯編語言編寫對(duì)時(shí)間要求苛刻的程序等方法加以彌補(bǔ),從而圓滿地解決使用C語言編程導(dǎo)致代碼效率低問題。使用C語言設(shè)計(jì)DSP程序的特點(diǎn)2024年3月10日DSP原理及應(yīng)用6

很多情況下要常用混合編程的方法進(jìn)行DSP的程序設(shè)計(jì)。一方面能夠充分發(fā)揮C語言和匯編語言各自的優(yōu)點(diǎn);另一方面能夠很好地完成DSP系統(tǒng)的軟件設(shè)計(jì),充分發(fā)揮DSP芯片的性能。使用C語言設(shè)計(jì)DSP程序的特點(diǎn)2024年3月10日DSP原理及應(yīng)用72DSP的C語言編程與通用C語言編程的區(qū)別本質(zhì)上和工作原理上來說都是一致的,都采用C編程語言來對(duì)處理器進(jìn)行編程,但受硬件資源限制和處理對(duì)象的不同,也有區(qū)別,如:DSP的數(shù)據(jù)存儲(chǔ)區(qū)非常有限,不會(huì)像通用計(jì)算機(jī)那樣先采集大量數(shù)據(jù),然后集中處理,只能實(shí)時(shí)處理小批量數(shù)據(jù);DSP的代碼需要絕對(duì)定位,而計(jì)算機(jī)的C代碼有操作系統(tǒng)定位等。因此,在面向DSP的C程序設(shè)計(jì)中,要注意一下幾個(gè)原那么:靈活使用嵌入式C語言中的位操作指令編譯系統(tǒng)不允許有太多的程序嵌套需要考慮對(duì)DSP硬件的時(shí)序要求區(qū)別不同庫函數(shù)的使用不同存儲(chǔ)類型變量的使用盡可能模塊化設(shè)計(jì)使用C語言設(shè)計(jì)DSP程序的特點(diǎn)2024年3月10日DSP原理及應(yīng)用8第6章TMS320C54xDSP的C/C++程序設(shè)計(jì)DSP系統(tǒng)軟件設(shè)計(jì)的一般過程使用C語言設(shè)計(jì)DSP程序的特點(diǎn)C程序的結(jié)構(gòu)及組成C語言數(shù)據(jù)結(jié)構(gòu)C語言函數(shù)C的DSP訪問規(guī)那么C語言和匯編語言混合編程2024年3月10日DSP原理及應(yīng)用9完整的C程序由以下局部組成:包含.h頭文件〔用戶自定義頭文件和函數(shù)庫中頭文件〕宏定義〔#define〕子函數(shù)聲明、全局變量的聲明主函數(shù)main()子函數(shù)定義在CCS集成開發(fā)環(huán)境中,為C語言提供了完整的支持硬件的底層函數(shù)庫和支持算法的DSP函數(shù)庫。在使用C語言的庫函數(shù)時(shí),在工程中必須包括相應(yīng)的函數(shù)庫和rts.lib運(yùn)行時(shí)支持庫。

C程序的結(jié)構(gòu)及組成2024年3月10日DSP原理及應(yīng)用10//#include包含語句定義程序中使用的函數(shù)庫對(duì)應(yīng)的.h頭文件#include“函數(shù)庫1”#include<函數(shù)庫2>#include“函數(shù)庫3”…//#define定義程序中所有的宏替換#define宏替換名替換內(nèi)容…//如果函數(shù)調(diào)用在函數(shù)定義之前,需要對(duì)函數(shù)進(jìn)行聲明函數(shù)類型函數(shù)名〔函數(shù)參數(shù)列表〕;…下面是一般C語言程序的結(jié)構(gòu)和組成框架。2024年3月10日DSP原理及應(yīng)用11//中斷效勞程序〔函數(shù)〕的聲明Interruptvoidfunction_name(void);//全局變量聲明變量類型全局變量名;…//本程序的內(nèi)部函數(shù)函數(shù)類型函數(shù)名〔函數(shù)參數(shù)列表〕{//本函數(shù)的局部變量定義…//本函數(shù)中的算法…}DSP原理及應(yīng)用12//中斷效勞程序Interruptvoidfunction_name(void){//中斷效勞程序的局部變量定義…//中斷效勞程序的算法程序…}//主函數(shù)main()Voidmain(void){//局部變量定義…for(;;){//數(shù)據(jù)的輸入…//數(shù)據(jù)處理函數(shù)…//數(shù)據(jù)的輸出…}}//程序結(jié)束2024年3月10日DSP原理及應(yīng)用13第6章TMS320C54xDSP的C/C++程序設(shè)計(jì)DSP系統(tǒng)軟件設(shè)計(jì)的一般過程使用C語言設(shè)計(jì)DSP程序的特點(diǎn)C程序的結(jié)構(gòu)及組成C語言數(shù)據(jù)結(jié)構(gòu)C語言函數(shù)C的DSP訪問規(guī)那么C語言和匯編語言混合編程2024年3月10日DSP原理及應(yīng)用141.C54xDSPC語言的數(shù)據(jù)類型C語言數(shù)據(jù)結(jié)構(gòu)類型長(zhǎng)度最小值最大值char,signedchar16位-3276832767unsignedchar16位065535short16位-3276832767unsignedshort16位065535int,signedint16位-3276832767unsignedint16位065535long,signedlong32位-21474836482147483647unsignedlong32位04294967295enum16位-3276832767float32位1.192092e-383.402835e+38double32位1.192092e-383.402835e+38longdouble32位1.192092e-383.402835e+38pointers16位00xFFFF2024年3月10日DSP原理及應(yīng)用15

另外,為了簡(jiǎn)化書寫,用戶可以自定義數(shù)據(jù)類型,自定義數(shù)據(jù)類型使用typedef類型說明符。例如在CCS中的某些頭文件中定義了如下的用戶自定義數(shù)據(jù)類型。C語言數(shù)據(jù)結(jié)構(gòu)2024年3月10日DSP原理及應(yīng)用16typedef

float

f32; //將浮點(diǎn)型數(shù)據(jù)定義為f32typedef

long

s32; //將有符號(hào)的長(zhǎng)整型數(shù)據(jù)定義為s32typedef

int

s16; //將有符號(hào)的整型數(shù)據(jù)定義為s16typedef

unsignedchar u8;

//將無符號(hào)的字符型數(shù)據(jù)定義為u8typedef

unsignedint u16;

//將無符號(hào)的整型數(shù)據(jù)定義為u16typedef

unsignedlong u32;

//將無符號(hào)的長(zhǎng)整型數(shù)據(jù)定義為u32

用戶在以后編寫C語言的程序時(shí),可以使用自定義的數(shù)據(jù)類型f32、s32、s16、u8、u16和u32來定義變量,這樣書寫程序很方便,又增加了可讀性。C語言數(shù)據(jù)結(jié)構(gòu)2024年3月10日DSP原理及應(yīng)用172.C語言中常量和變量的定義在C語言中參與數(shù)據(jù)運(yùn)算的數(shù)據(jù)只有常量和變量?jī)煞N類型?!?〕C語言中常量的定義為了提高程序的可讀性,可以使用#define宏定義來定義符號(hào)常量。C語言數(shù)據(jù)結(jié)構(gòu)2024年3月10日DSP原理及應(yīng)用18

一般格式為:#define符號(hào)常量名字符串

其中符號(hào)常量名一般使用大寫字母表示,符號(hào)常量名與所對(duì)應(yīng)的字符串之間用空格隔開,它把符號(hào)常量名定義為指定的字符串。以后在程序中凡出現(xiàn)符號(hào)常量名的地方,在進(jìn)行預(yù)編譯處理時(shí),都會(huì)被替換為所對(duì)應(yīng)的字符串。C語言數(shù)據(jù)結(jié)構(gòu)2024年3月10日DSP原理及應(yīng)用19例如:#define OK 0

//定義符號(hào)常量OK,在程序中出現(xiàn)OK時(shí)均會(huì)以0代替#define ERROR -1 //定義符號(hào)常量ERROR,在出現(xiàn)ERROR時(shí)均會(huì)以-1代替

宏定義命令#define不是C語言的語句,因此不能以分號(hào)結(jié)束。另外,預(yù)處理程序?qū)Ψ?hào)常量的處理只是簡(jiǎn)單的替換,不做語法檢查。所以符號(hào)常量不占用存儲(chǔ)器的位置。C語言數(shù)據(jù)結(jié)構(gòu)2024年3月10日DSP原理及應(yīng)用20例如:#defineUINT16unsignedintvoidmain(){

UINT16temp;//其他程序代碼……}C語言數(shù)據(jù)結(jié)構(gòu)2024年3月10日DSP原理及應(yīng)用21練習(xí):定義符號(hào)常量NUMBER,在程序中出現(xiàn)NUMBER時(shí)均會(huì)以1代替#define NUMBER1

C語言數(shù)據(jù)結(jié)構(gòu)2024年3月10日DSP原理及應(yīng)用22

使用const關(guān)鍵字來定義整型常量、字符常量和字符串常量。例如:constint Port1=0x0;

//定義整型常量port1,并將其初始化為0x0constunsignedchar s1=‘a(chǎn)’;

//定義字符常量s1,并將其初始化為字母a,字符必須使用單引號(hào)括起來,并且單引號(hào)中只能有一個(gè)字符。constunsignedchar s2[]="abcd";

//定義字符串常量s2,并將其初始化為字符串"abcd"

字符串使用雙引號(hào)括起,并且使用數(shù)組定義字符串常量,數(shù)組的下標(biāo)可以為空,由編譯器根據(jù)初始化字符串自動(dòng)確定它的大小。C語言數(shù)據(jù)結(jié)構(gòu)2024年3月10日DSP原理及應(yīng)用23練習(xí):定義整型常量Number,并將其初始化為0x000FconstintNumber=0x000F;

C語言數(shù)據(jù)結(jié)構(gòu)2024年3月10日DSP原理及應(yīng)用24const關(guān)鍵字可用來控制常量的存儲(chǔ)位置。你可以同時(shí)使用volatile關(guān)鍵字將常量定位到RAM。例如:volatileconstintx,//定義整型常量x并定位到const段

C語言數(shù)據(jù)結(jié)構(gòu)2024年3月10日DSP原理及應(yīng)用25也可以使用const關(guān)鍵字定義一個(gè)大的常量表,并且將其定位在系統(tǒng)ROM中。例如:constintdigits[]={0,1,2,3,4,5,6,7,8,9};C語言數(shù)據(jù)結(jié)構(gòu)2024年3月10日DSP原理及應(yīng)用26const關(guān)鍵字在常量定義中的位置很重要。例如:int*constp=&x;constint*q=&x;第一條語句定義了一個(gè)常量指針p,指向一個(gè)int型變量。第二條語句定義了一個(gè)變量指針q,指向一個(gè)整型常量。

C語言數(shù)據(jù)結(jié)構(gòu)2024年3月10日DSP原理及應(yīng)用27〔2〕C語言中變量的定義

變量定義的一般格式同ANSIC一致:數(shù)據(jù)類型說明符變量名;變量名必須以字母或下劃線開頭,最多有100個(gè)字符。數(shù)據(jù)類型說明符必須使用TMS320C54x支持的數(shù)據(jù)類型,并且應(yīng)該注意到char同signedchar,short同signedshort,int同signedint,long同signedlong分別是等效的。

C語言數(shù)據(jù)結(jié)構(gòu)2024年3月10日DSP原理及應(yīng)用28例如:charm; 等效于signed

charm;shortn; 等效于signedshortn;intp; 等效于signedintp;longq; 等效于signedlongq;

C語言數(shù)據(jù)結(jié)構(gòu)2024年3月10日DSP原理及應(yīng)用29

為了便于記憶,一種方法是在變量定義時(shí)使用數(shù)據(jù)類型名的全稱,另一種方法是在程序中先使用#include<type.h>語句包含type.h頭文件,然后使用其中的用戶自定義數(shù)據(jù)類型f32、s32、s16、u8、u16和u32來定義變量。C語言數(shù)據(jù)結(jié)構(gòu)2024年3月10日DSP原理及應(yīng)用30練習(xí):定義無符號(hào)整型變量number:unsignedintnumber;并將number初始化為0x0000:

number=0x0000;

C語言數(shù)據(jù)結(jié)構(gòu)2024年3月10日DSP原理及應(yīng)用31練習(xí):typedef

unsignedint u16;

//將無符號(hào)的整型數(shù)據(jù)定義為u16定義無符號(hào)整型變量number:u16number;并將number初始化為0x0000:

number=0x0000;

C語言數(shù)據(jù)結(jié)構(gòu)2024年3月10日DSP原理及應(yīng)用32另外,TMS320C54x的C語言編譯器還支持復(fù)合型數(shù)據(jù)類型的定義,包括數(shù)組、指針、結(jié)構(gòu)、聯(lián)合、枚舉,所有的定義均用“;”結(jié)束。例如:u16 a[100]; //定義無符號(hào)整型的一維數(shù)組a,包括100個(gè)元素u16 b[50][50];//定義無符號(hào)整型的二維數(shù)組b,包括2500個(gè)元素u32 *pl; //定義指針變量pl,指向無符號(hào)32位的長(zhǎng)整型數(shù)據(jù)C語言數(shù)據(jù)結(jié)構(gòu)2024年3月10日DSP原理及應(yīng)用33結(jié)構(gòu)變量定義:structdate{ intyear; intmonth; intday;}birthday; //定義結(jié)構(gòu)變量birthday,結(jié)構(gòu)名為date,包括三個(gè)成員year、month和dayC語言數(shù)據(jù)結(jié)構(gòu)2024年3月10日DSP原理及應(yīng)用34聯(lián)合變量定義:unionfic{ floatf; inti; charc;}u; //定義聯(lián)合變量u,并按照其成員中占內(nèi)存最多的float型變量來分配存儲(chǔ)單元C語言數(shù)據(jù)結(jié)構(gòu)2024年3月10日DSP原理及應(yīng)用35枚舉型變量定義:enumcolor{ red;green;blue;}c; //定義枚舉型變量c,取值為red、green和blue三者之一,red、green和blue的值按順序依次為0、1和2C語言數(shù)據(jù)結(jié)構(gòu)2024年3月10日DSP原理及應(yīng)用36typedefenum{ BRD_LED0, BRD_LED1, BRD_LED2}BrdLed; //自定義枚舉型數(shù)據(jù)類型BrdLed。BRD_LED0、BRD_LED1和BRD_LED2的值按順序依次為0、1和2s16brd_led_toggle(BrdLedled);//在函數(shù)定義的形參中定義枚舉型變量led,其取值只能為枚舉型數(shù)據(jù)類型。Brdled的取值BRD_LED0、BRD_LED1和BRD_LED2C語言數(shù)據(jù)結(jié)構(gòu)2024年3月10日DSP原理及應(yīng)用37存放器變量定義:C54x的C/C++支持全局的存放器變量使用register作為關(guān)鍵字,變量名只能為AR1或AR6使用存放器變量能夠減小代碼的大小,加快程序的執(zhí)行速度,一般用在中斷效勞子程序中。但是使用規(guī)那么較復(fù)雜,一般情況下慎用。C語言數(shù)據(jù)結(jié)構(gòu)2024年3月10日DSP原理及應(yīng)用38第6章TMS320C54xDSP的C/C++程序設(shè)計(jì)DSP系統(tǒng)軟件設(shè)計(jì)的一般過程使用C語言設(shè)計(jì)DSP程序的特點(diǎn)C程序的結(jié)構(gòu)及組成C語言數(shù)據(jù)結(jié)構(gòu)C語言函數(shù)C的DSP訪問規(guī)那么C語言和匯編語言混合編程2024年3月10日DSP原理及應(yīng)用39函數(shù)的使用對(duì)于C語言的模塊化和結(jié)構(gòu)化設(shè)計(jì)具有舉足輕重的作用。從函數(shù)定義的角度看,函數(shù)可分為用戶自定義函數(shù)和庫函數(shù)兩種。C語言函數(shù)2024年3月10日DSP原理及應(yīng)用401.用戶自定義函數(shù)

由用戶按需要寫的函數(shù)。不僅要在程序中定義函數(shù)本身,而且在主調(diào)函數(shù)模塊中還必須對(duì)該被調(diào)函數(shù)進(jìn)行類型說明,然后才能使用。

函數(shù)定義的一般形式:

類型說明符函數(shù)名(形式參數(shù)表){

類型說明

語句}C語言函數(shù)2024年3月10日DSP原理及應(yīng)用412.庫函數(shù)CCS提供的庫函數(shù)包括兩類:做一些根本的、常規(guī)的處理,大局部是輔助性的C:\CCStudio_v3.3\C5400\cgtools\includeDSPLIB通用庫,專門為TMS320C54xDSP芯片使用的C語言優(yōu)化程序函數(shù)庫。C:\CCStudio_v3.3\C5400\dsplib

C語言函數(shù)2024年3月10日DSP原理及應(yīng)用42第6章TMS320C54xDSP的C/C++程序設(shè)計(jì)DSP系統(tǒng)軟件設(shè)計(jì)的一般過程使用C語言設(shè)計(jì)DSP程序的特點(diǎn)C程序的結(jié)構(gòu)及組成C語言數(shù)據(jù)結(jié)構(gòu)C語言函數(shù)C的DSP訪問規(guī)那么C語言和匯編語言混合編程2024年3月10日DSP原理及應(yīng)用431.DSP片內(nèi)存放器的訪問規(guī)那么2.DSP內(nèi)部和外部存儲(chǔ)器的訪問規(guī)那么3.DSPI/O端口的訪問規(guī)那么C的DSP訪問規(guī)那么2024年3月10日DSP原理及應(yīng)用441.DSP片內(nèi)存放器的訪問規(guī)那么一般采用指針方式來訪問。將DSP存放器地址的列表定義在頭文件DspRegDefine.h中。例如:〔通過指針操作對(duì)ST0和AR1進(jìn)行初始化〕#include“DspRegDefine.h”intuserfunc(){…*ST0=0x1278h;*AR1=0x6013h;…}C的DSP訪問規(guī)那么2024年3月10日DSP原理及應(yīng)用452.DSP內(nèi)部和外部存儲(chǔ)器的訪問規(guī)那么一般采用指針方式來訪問。例如:〔通過指針操作對(duì)內(nèi)部存儲(chǔ)器單元0x4000和外部存儲(chǔ)器單元0x80FF進(jìn)行操作〕int*data1=0x4000;/*內(nèi)部存儲(chǔ)器單元*/int*data2=0x80FF;/*外部存儲(chǔ)器單元*/intuserfunc(){…*data1=7000;*data2=0;…}C的DSP訪問規(guī)那么2024年3月10日DSP原理及應(yīng)用463.DSPI/O端口的訪問規(guī)那么借助于關(guān)鍵字ioport來訪問。定義形式:ioporttypeporthex_num〔port表示IO地址,hex_num為十六進(jìn)制地址,type為I/O數(shù)據(jù)類型〔16位〕〕。例如:〔聲明一個(gè)io變量,地址為300H,并對(duì)I/O端口讀/寫〕ioportunsignedport300;/*定義地址為300H的I/O端口變量*/intuserfunc(){…port300=20;//寫I/O端口,port300作為一個(gè)變量使用…b=port300;//讀I/O端口,port300作為一個(gè)變量使用…}C的DSP訪問規(guī)那么2024年3月10日DSP原理及應(yīng)用47第6章TMS320C54xDSP的C/C++程序設(shè)計(jì)DSP系統(tǒng)軟件設(shè)計(jì)的一般過程使用C語言設(shè)計(jì)DSP程序的特點(diǎn)C程序的結(jié)構(gòu)及組成C語言數(shù)據(jù)結(jié)構(gòu)C語言函數(shù)C的DSP訪問規(guī)那么C語言和匯編語言混合編程2024年3月10日DSP原理及應(yīng)用48混合編程三種根本形式:鏈接獨(dú)立的C語言模塊和匯編語言模塊在C語言中嵌入?yún)R編語句手工修改C程序編譯后的匯編程序〔不建議〕C語言和匯編語言混合編程2024年3月10日DSP原理及應(yīng)用49鏈接獨(dú)立的C語言模塊和匯編語言模塊最常用的混合編程方法。分別獨(dú)立編寫匯編和C程序,編譯或匯編得到各自的目標(biāo)代碼模塊,用鏈接器將C模塊和匯編模塊鏈接起來。C程序和匯編程序可相互調(diào)用,可相互訪問各自定義的變量。在編寫C和匯編語言程序時(shí),必須遵循有關(guān)的調(diào)用規(guī)那么和存放器規(guī)那么。C語言和匯編語言混合編程2024年3月10日DSP原理及應(yīng)用50例如下面的C程序和匯編程序之間的引用。C程序:externintasmfunc();//聲明外部的匯編子程序,注意函數(shù)不要中下劃線intgvar; //定義全局變量main(){inti=5;i=asmfunc(i); //調(diào)用匯編語言函數(shù)}匯編程序:_asmfunc: ;函數(shù)名前一定要有下劃線STLA,*〔_gvar〕;i的值在累加器A中ADD*(_gvar),A ;返回結(jié)果在累加器A中RET ;子程序返回2024年3月10日DSP原理及應(yīng)用51從C程序中訪問匯編程序變量從C程序中訪問匯編程序中定義的變量或常數(shù)時(shí),根據(jù)變量和常數(shù)定義的位置和方法的不同,可以分為三種情況?!?〕訪問在.bss段中定義的變量,方法如下: *采用.bss命令定義變量; *用.global將變量說明為外部變量; *在匯編變量名前加下劃線“_”; *在C程序中將變量說明為外部變量,然后就可以像訪問普通變量一樣訪問它。C語言和匯編語言混合編程2024年3月10日DSP原理及應(yīng)用52例如下面的程序:匯編程序:.bss_var,1 ;注意變量名之前要有下劃線.global

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論