您的位置:網站首頁 > 電器維修資料網 > 正文 >
C語言編程時的注意事項
★★★★★【文章導讀】:C語言編程時的注意事項具體內容是:1)關于設置指針SP的問題。編譯器在把所有變量和緩沖區賦予地址后,自動把 后一個字節開始的地方,作為SP的開始位置,所以初學者是不必要去理會的。這體現C的優越性,很多事情C編譯時候做了。2)在51系列中data,idat…
來源: 日期:2013-12-18 14:00:48 人氣:標簽:
1)關于設置指針SP的問題。
編譯器在把所有變量和緩沖區賦予地址后,自動把 后一個字節開始的地方,作為SP的開始位置,所以初學者是不必要去理會的。這體現C的優越性,很多事情C編譯時候做了。
2)在51系列中data,idata,xdata,pdata的區別data:固定指前面0x00-Ox7f的128個RAM,可以用aCC直接讀寫的,速度 快,生成的代碼也 小。
idata:固定指前面0x00-0xff的256個RAM,其中前128和data的128完全相同,只是因為訪問的方式不同。idata是用類似C中的指針方式訪問的。匯編中的語句為:moxA,@Rx.xdata:外部擴展RAM,一般指外部0x0000-0xffff空間,用DPTR訪問。
pdata:外部擴展RAM的低256個字節,地址出現在A0-A7的上時讀寫,用movxACC,@Rx讀寫。這個比較特殊,而且C51好象有對此BUG,建議少用。但也有他的優點,具體用法屬于中級問題,這里不提。
3)startUp.a51的作用和匯編一樣,在C中定義的那些變量和數組的初始化就在star。tup.a51中進行,如果你在定義全局變量時帶有數值,如LJnsignedchardataXXX=100;,那startup.a51中就會有相關的賦值。如果沒有=100,startup.a51就會把他清O。(startup.a51==變量的初始化)。
這些初始化完畢后,還會設置SP指針。對非變量區域,如堆棧區,將不會有賦值或清零動作。
【看看這篇文章在百度的收錄情況】
相關文章
- 上一篇: C語言與匯編語言程序的混合編程
- 下一篇: 什么是空載功耗?