久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
[Full]
完整版
[Rss]
訂閱
[Xml]
無圖版
[Xhtml]
無圖版
Rss
& SiteMap
曙海教育集團論壇
http://www.bjzhda.cn
曙海教育集團論壇
◎
曙海教育集團論壇
→
單片機初中級
→
關于c51內存優化的帖子問題
共1 條記錄, 每頁顯示 10 條, 頁簽:
[1]
[瀏覽完整版]
標題:關于c51內存優化的帖子問題
1樓
wangxinxin
發表于:2010-12-7 14:50:06
以下內容含腳本,或可能導致頁面不正常的代碼
天祥老師原帖如下: 對 51 <span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%B5%A5%C6%AC%BB%FA">單片機</span>內存的認識,很多人有誤解,最常見的是以下兩種 ① 超過變量128后必須使用compact模式編譯 實際的情況是只要內存占用量不超過 256.0 就可以用 small 模式編譯 ② 128以上的某些地址為特殊寄存器使用,不能給<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%B3%CC%D0%F2">程序</span>用 與 <img alt="" src="http://www.51c51.com/bbs/images/smilies/default/titter.gif" border="0" smilieid="9"/>C 機不同,51 單片機不使用線性編址,特殊寄存器與 RAM 使用重復的重復的地址。但訪問時采用不同的<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%D6%B8%C1%EE">指令</span>,所以并不會占用 RAM 空間。 由于內存比較小,一般要進行內存優化,盡量提高內存的使用效率。 以 Keil C 編譯器為例,small 模式下未指存儲類型的變量默認為data型,即直接尋址,只能訪問低 128 個字節,但這 128 個字節也不是全為我們的程序所用,寄存器 R0-R7必須映射到低RAM,要占去 8 個字節,如果使用寄存組切換,占用的更多。 所以可以使用 data 區最大為 120 字節,超出 120 個字節則必須用 idata 顯式的指定為間接尋址,另外堆棧至少要占用一個字節,所以極限情況下可以定義的變量可占 247 個字節。當然,實際應用中堆棧為一個字節肯定是不夠用的,但如果<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%C7%B6%CC%D7">嵌套</span>調用層數不深,有十幾個字節也夠有了。 為了驗上面的觀點,寫了個例子 #define LEN 120 data UCHAR tt1[LEN]; idata UCHAR tt2[127]; void main() { UCHAR i,j; for(i = 0; i < LEN; ++i ) { j = i; tt1[j] = 0x55; } } 可以計算 R0-7(8) + tt1(120) + tt2(127) + SP(1) 總共 256 個字節 <span class="t_tag" onclick="tagshow(event)" href="tag.php?name=keil">keil</span> 編譯的結果如下: Program Size: data=256.0 xdata=0 code=30 creating hex file from ".\Debug\Test"... ".\Debug\Test" - 0 Error(s), 0 Warning(s). (測試環境為 XP + Keil C 7.5) 這段代碼已經達到了內存分配的極限,再定義任何全局變量或將數組加大,編譯都會報錯 107 這里要引出一個問題:為什么變量 i、j 不計算在內? 這是因為 i、j 是局部變量,編譯器會試著將其優化到寄存器 Rx 或棧。問題也就在這了,如果局部變量過多或定義了局部數組,編譯器無法將其優化,就必須使用 RAM 空間,雖然全局變量的分配經過精心計算沒有超出使用范圍,仍會產生內存溢出的錯誤! 而編譯器是否能成功的優化變量是根據代碼來的 上面的代碼中,循環是<a style="TEXT-DECORATION: underline" href="http://www.sogou.com/sogoupedia?query=%D3%B7" target="_blank"><font color="#0000ff">臃</font></a>腫的,變量 j 完全不必要,那么將代碼改成 UCHAR i; UCHAR j; for(i = 0; i < LEN; ++i ) { tt1<i> = 0x55; } 再編譯看看,出錯了吧! 因為編譯器不知道該如何使用 j,所以沒能優化,j 須占 RAM 空間,RAM 就溢出了。 (<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%D6%C7%C4%DC">智能</span>一點的編譯器會自動將這個無用的變量去掉,但這個不在討論之列了) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// <font color="#f73809" size="5">我現在仿照上面那個列子</font> <font color="#f73809" size="5">#include<reg52.h></font> <font color="#f73809" size="5">#define LEN 120 data UCHAR tt1[LEN]; idata UCHAR tt2[127]; void main() { UCHAR i,j; for(i = 0; i < LEN; ++i ) { j = i; tt1[j] = 0x55; } } </font> <font color="#f73809" size="5">在smalll模式下編譯怎么出現這樣的錯誤,在compact 和larger也出線這樣的結果,怎么回事?</font> <font color="#f73809" size="5">Build target 'Target 1' assembling STARTUP.A51... linking... *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL SYMBOL: ?C_START MODULE: STARTUP.obj (?C_STARTUP) *** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL SYMBOL: ?C_START MODULE: STARTUP.obj (?C_STARTUP) ADDRESS: 000DH Program Size: data=9.0 xdata=0 code=15 creating hex file from "neicun"... "neicun" - 0 Error(s), 2 Warning(s).</font> <font color="#f73809" size="5">兩個警告 我認為那兩個只是c編譯器把他當作警告了,其實應該是錯誤.</font> <font color="#f73809" size="5">警告1:沒有引用外部變量</font> <font color="#f73809" size="5">警告2:應該也是關于外部變量的事</font> <font color="#f73809" size="5">我定義的data 和idata都是C52自帶的RAM (256Byte)沒有定義外部變量,怎么說我引用了外部變量呢?</font> <font color="#f73809" size="5">謝謝大家!!!</font> </i>
說明:
上面顯示的是代碼內容。您可以先檢查過代碼沒問題,或修改之后再運行.
共1 條記錄, 每頁顯示 10 條, 頁簽:
[1]
Copyright © 2000 - 2009
曙海
教育集團
Powered By
曙海教育集團
Version 2.2
Processed in .01563 s, 2 queries.
[Full]
完整版
[Rss]
訂閱
[Xml]
無圖版
[Xhtml]
無圖版
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
日日夜夜免费精品
|
久久青青草综合
|
亚洲欧美区自拍先锋
|
精品国产乱码久久久久久久久
|
欧美性淫爽ww久久久久无
|
日本高清一区
|
一本色道久久综合亚洲精品婷婷
|
岛国精品在线观看
|
国产成a人亚洲精品
|
国产精品一区二区不卡
|
久久精品国产一区二区
|
国产一区二区免费在线
|
成人美女视频在线看
|
91丨porny丨国产入口
|
国产成人亚洲欧美
|
欧美日韩在线观看一区
|
亚洲欧洲久久
|
精品视频1区2区3区
|
欧美一级日韩一级
|
欧美激情艳妇裸体舞
|
一区二区三区免费看视频
|
亚洲电影中文字幕在线观看
|
久久国产精品无码网站
|
岛国精品在线播放
|
久久综合狠狠综合久久综青草
|
亚洲成人自拍视频
|
日韩亚洲欧美在线观看
|
国产精品视频一二三区
|
亚洲成a人片综合在线
|
国产高清不卡二三区
|
国内精品国语自产拍在线观看
|
性欧美videosex高清少妇
|
欧美精品99久久久**
|
国产精品水嫩水嫩
|
六月丁香婷婷色狠狠久久
|
51国偷自产一区二区三区的来源
|
久久久国际精品
|
亚洲精品免费看
|
老司机精品视频在线
|
av亚洲精华国产精华精
|
蜜桃视频在线观看成人
|
欧美精品黑人性xxxx
|
亚洲欧美日韩综合aⅴ视频
|
久久国产婷婷国产香蕉
|
精品国产一区二区三
|
色8久久精品久久久久久蜜
|
精品88久久久久88久久久
|
一区二区三区蜜桃
|
大陆成人av片
|
夜夜爽99久久国产综合精品女不卡
|
亚洲精品大片www
|
国产一区 二区
|
欧美日韩精品一区
|
日韩欧美区一区二
|
亚洲午夜精品一区二区三区他趣
|
粉嫩av一区二区三区粉嫩
|
欧美aaaaa喷水
|
日韩一级黄色片
|
亚瑟在线精品视频
|
成人av免费看
|
555www色欧美视频
|
亚洲自拍偷拍九九九
|
91麻豆精品视频
|
欧美三级欧美一级
|
一区二区三区免费
|
动漫一区二区在线
|
欧美大黄免费观看
|
久久99久久99
|
一区二区在线观
|
亚洲日本中文字幕区
|
国产成人免费视
|
色偷偷成人一区二区三区91
|
综合在线观看色
|
av电影在线观看完整版一区二区
|
亚洲人一区二区
|
亚洲日本在线看
|
成人做爰66片免费看网站
|
欧美一级精品大片
|
加勒比av一区二区
|
一本色道综合亚洲
|
亚洲午夜私人影院
|
欧美福利一区二区三区
|
国产精品私人影院
|
99久热re在线精品视频
|
欧美大度的电影原声
|
黄色日韩网站视频
|
91成人网在线
|
丝袜诱惑亚洲看片
|
色噜噜狠狠一区二区三区
|
亚洲另类一区二区
|
免费精品视频一区二区三区
|
国产精品视频一区二区三区不卡
|
9人人澡人人爽人人精品
|
欧美一级生活片
|
懂色av一区二区三区免费观看
|
制服丝袜中文字幕亚洲
|
韩国女主播成人在线
|
欧美色视频在线观看
|
久久se精品一区二区
|
91久久国产最好的精华液
|
美腿丝袜亚洲一区
|
欧美日韩一区精品
|
久久综合综合久久综合
|
欧美日韩一区二区在线观看
|
久久精品国产秦先生
|
欧美日韩一区二区在线观看视频
|
亚洲精品va在线观看
|
精品一卡二卡三卡四卡日本乱码
|
99爱精品视频
|
国产喷白浆一区二区三区
|
caoporn国产精品
|
亚洲精品在线免费播放
|
91精品久久久久久蜜桃
|
国产精品麻豆久久久
|
美女主播视频一区
|
亚洲一区二区在线免费看
|
日韩在线电影一区
|
日韩电影一区二区三区四区
|
在线观看av一区
|
国产精品一区免费在线观看
|
精品女同一区二区
|
国产精品国产精品
|
亚洲最快最全在线视频
|
91极品美女在线
|
国产精品小仙女
|
精品成人在线观看
|
国产精品美女久久久久av福利
|
亚洲精品成人少妇
|
欧洲视频一区二区
|
成人免费毛片aaaaa**
|
中文字幕欧美日韩一区
|
任我爽在线视频精品一
|
美美哒免费高清在线观看视频一区二区
|
欧美日韩精品免费
|
97自拍视频
|
亚洲第一精品在线
|
日韩一区二区三区高清免费看看
|
91手机在线播放
|
亚洲国产精品麻豆
|
日韩欧美激情四射
|
欧美日韩国产综合视频在线
|
久久福利视频一区二区
|
国产欧美日韩在线观看
|
一区视频二区视频
|
av亚洲精华国产精华精华
|
樱花草国产18久久久久
|
欧美人牲a欧美精品
|
国产区欧美区日韩区
|
美女在线视频一区
|
国产日产欧美一区
|
一区二区在线中文字幕电影视频
|
国产麻豆精品theporn
|
欧美国产日韩亚洲一区
|
在线一区高清
|
91美女片黄在线
|
日本不卡免费在线视频
|
久久精品夜色噜噜亚洲a∨
|
一道精品一区二区三区
|
91在线精品一区二区
|
午夜不卡av在线
|
久久久高清一区二区三区
|
永久久久久久
|
国产精品久久7
|
激情五月婷婷综合
|
中文字幕在线观看一区
|
欧美人与性动xxxx
|
欧美xxxx黑人又粗又长精品
|
成人做爰69片免费看网站
|
亚洲电影第三页
|
亚洲国产成人在线
|
欧美日韩国产首页在线观看
|
国产一区精品视频
|
国产真实乱偷精品视频免
|
亚洲日本成人在线观看
|
欧美成人一区二区三区在线观看
|
亚洲日本无吗高清不卡
|
国产精品裸体一区二区三区
|
精品一区二区三区视频
|
一区二区三区日本
|
国产欧美一区在线
|
4hu四虎永久在线影院成人
|
日韩一本精品
|
国产精品区一区
|
国产成人精品综合在线观看
|
午夜久久久久久
|
综合亚洲深深色噜噜狠狠网站
|
日韩欧美国产精品
|
欧美三级日韩在线
|
亚洲欧洲日本国产
|
精品国产一区二区三区麻豆小说
|
风间由美久久久
|
国产激情视频一区二区三区欧美
|
日日摸夜夜添夜夜添亚洲女人
|
国产精品不卡一区
|
久久久777精品电影网影网
|
91精品国产欧美一区二区
|
伊人婷婷久久
|
欧美在线3区
|
国产一区二区三区四区五区在线
|
成人av在线影院
|