久久精品在这里_成人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欧美一区二区三区
亚洲欧美影院
|
国产精品日韩高清
|
午夜不卡av在线
|
日本成人在线看
|
国内精品写真在线观看
|
成人午夜av电影
|
99国产超薄肉色丝袜交足的后果
|
国语精品中文字幕
|
天天人人精品
|
欧美性生活影院
|
久久综合色综合88
|
亚洲欧美日韩国产综合在线
|
日韩和欧美一区二区三区
|
国产精品一线二线三线
|
114国产精品久久免费观看
|
久久久久网址
|
欧美日韩在线播放三区四区
|
久久久精品天堂
|
一区二区三区免费看视频
|
精品一区二区精品
|
超碰国产精品久久国产精品99
|
欧美在线激情
|
日韩免费视频一区
|
一个色综合av
|
jiyouzz国产精品久久
|
欧美激情视频一区二区三区
|
欧美日韩一区二区欧美激情
|
国产精品区一区二区三
|
麻豆精品视频在线观看
|
91麻豆免费看
|
欧美在线观看禁18
|
国产精品久久久久久久久晋中
|
喷水一区二区三区
|
精品国产福利
|
日韩欧美国产综合在线一区二区三区
|
亚洲欧美色一区
|
成人性色生活片免费看爆迷你毛片
|
精品乱色一区二区中文字幕
|
欧美日韩精品久久久
|
亚洲色图制服诱惑
|
精品国产91洋老外米糕
|
亚洲午夜精品17c
|
97国产一区二区
|
欧美日韩一级大片网址
|
亚洲视频免费看
|
99re视频这里只有精品
|
欧美一a一片一级一片
|
亚洲欧洲韩国日本视频
|
成人免费看的视频
|
欧美艳星brazzers
|
亚洲国产aⅴ成人精品无吗
|
av一区二区三区免费
|
这里只有精品视频在线观看
|
偷拍日韩校园综合在线
|
狠狠色噜噜狠狠色综合久
|
日韩午夜精品视频
|
久久国产剧场电影
|
一本久久a久久精品vr综合
|
成人免费视频观看视频
|
欧美日精品一区视频
|
亚洲国产va精品久久久不卡综合
|
51午夜精品
|
欧美变态tickle挠乳网站
|
久久国产欧美日韩精品
|
中文一区一区三区免费
|
一级女性全黄久久生活片免费
|
国产精品国产一区二区
|
www精品美女久久久tv
|
高清在线不卡av
|
欧美精品少妇一区二区三区
|
青青草国产精品亚洲专区无
|
亚洲精品免费在线看
|
亚洲欧美日韩国产中文在线
|
国产另类第一区
|
日本一二三不卡
|
91国产丝袜在线放
|
久久久国产精品不卡
|
99久久国产综合色|国产精品
|
欧美一区二区视频免费观看
|
激情国产一区二区
|
欧美高清激情brazzers
|
国产综合久久久久久鬼色
|
欧日韩精品视频
|
久久99精品久久只有精品
|
在线观看91视频
|
久久成人羞羞网站
|
在线观看av一区
|
激情图区综合网
|
欧美裸体bbwbbwbbw
|
国产精品123
|
日韩一区二区三区观看
|
成人性生交大片免费看中文
|
精品久久久久久综合日本欧美
|
成人黄色软件下载
|
久久精品人人做人人爽人人
|
yy111111少妇影院日韩夜片
|
欧美一区二区视频17c
|
悠悠色在线精品
|
亚洲成色www久久网站
|
视频一区欧美精品
|
欧美日精品一区视频
|
国产黄色精品网站
|
久久综合久久鬼色
|
国产日韩一区欧美
|
亚洲国产一区二区在线播放
|
一本久道中文字幕精品亚洲嫩
|
美腿丝袜亚洲综合
|
日韩免费视频一区
|
国产精品日韩一区二区
|
亚洲国产精品视频
|
欧美性videosxxxxx
|
不卡视频一二三
|
中文字幕亚洲不卡
|
一区二区国产日产
|
成人激情开心网
|
《视频一区视频二区
|
一区二区三视频
|
国产成人精品影院
|
国产三级久久久
|
日韩av电影免费在线
|
精品一区二区综合
|
国产欧美一区二区精品久导航
|
日韩毛片精品高清免费
|
亚洲国内在线
|
国产一区在线视频
|
国产精品网站在线
|
色综合久久中文字幕综合网
|
国产精品香蕉一区二区三区
|
国产欧美日产一区
|
色婷婷av一区二区三区gif
|
成人在线视频一区
|
亚洲精品高清在线观看
|
欧美精品在线观看一区二区
|
国产精品国模大尺度私拍
|
日韩av电影一区
|
久久一区二区三区四区
|
日韩一区免费观看
|
成人福利电影精品一区二区在线观看
|
风间由美一区二区三区
|
图片区小说区区亚洲影院
|
日韩一区二区三区电影在线观看
|
国产精品国产亚洲精品看不卡15
|
青青草视频一区
|
欧美国产成人在线
|
欧美午夜精品免费
|
久久久久久国产精品mv
|
国产精品亚洲午夜一区二区三区
|
一区精品在线播放
|
91精品国产色综合久久不卡蜜臀
|
久久97超碰色
|
亚洲日本乱码在线观看
|
欧美日韩三级在线
|
欧美日本韩国国产
|
成人av在线网
|
美女视频黄久久
|
亚洲女同一区二区
|
久久综合网色—综合色88
|
色婷婷综合久久久中文一区二区
|
99九九视频
|
国产麻豆精品久久一二三
|
夜夜爽夜夜爽精品视频
|
久久嫩草精品久久久久
|
欧美影院午夜播放
|
五码日韩精品一区二区三区视频
|
2022国产精品
|
国产一区二区0
|
日韩av一区二
|
亚洲一区免费观看
|
亚洲国产电影在线观看
|
欧美电影免费提供在线观看
|
在线观看一区日韩
|
亚洲欧美日韩国产yyy
|
免费成人深夜夜行视频
|
成人免费看片网址
|
99久久精品国产网站
|
国产成人综合视频
|
精东粉嫩av免费一区二区三区
|
亚洲国产精品自拍
|
一区二区三区国产精华
|
国产精品全国免费观看高清
|
欧美精品一区二区久久婷婷
|
91精品国产欧美一区二区18
|
色成年激情久久综合
|
少妇特黄a一区二区三区
|
黄色国产精品一区二区三区
|
99久久国产综合精品色伊
|
国产成人精品午夜视频免费
|
国产乱淫av一区二区三区
|
久久99深爱久久99精品
|
日本vs亚洲vs韩国一区三区二区
|
亚洲一本大道在线
|
亚洲精品国产一区二区三区四区在线
|
国产精品私人影院
|
国产欧美一二三区
|
欧美—级在线免费片
|
国产色综合一区
|
国产精品三级视频
|
中文字幕一区二区三区精华液
|
亚洲国产精品精华液2区45
|
欧美激情一区三区
|