久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

立即注冊 登錄
返回首頁

uid:197415的個人空間

日志

Keil Cx51編譯器提供的三種編譯模式SMALL,COMPACT,LARGE的使用方法

已有 4500 次閱讀2017-8-10 13:43

SMALL:所有變量都被定義在8051單片機的片內(nèi)RAM中,對這種變量的訪問速度最快。另外,堆棧也必須位于片內(nèi)RAM中,而堆棧的長度是很重要的,實際棧長取決與不同函數(shù)的嵌套深度。采用SMALL編譯模式與定義變量時指定data存儲器類型具有相同效果。
COMPACT:所有變量被定義在分頁尋址的片外XRAM中,每一頁片外XRAM的長度為256字節(jié):即所有變量存儲在片外XRAM的某一頁中。這時對變量的訪問是通過寄存器間接尋址(MOVX @R0,MOVX @R1)進行的,變量的低8位地址由R0和R1確定,變量的高8位地址由P2口確定。采用這種模式時,必須適當改變配置文件STARTUP.A51中的參數(shù):PDATASTART和PDATALEN;同時還必須對uVision2的“Options選項/BL51 Locator 標簽/Pdata框”中鍵入合適的地址參數(shù),以確保P2口能輸出所需要的高8位地址。采用COMPACT編譯模式與定義變量時指定pdata存儲器類型具有相同效果。
LARGE:所有變量被定義在片外XRAM中(最大可達64KB),使用數(shù)據(jù)指針DPTR來間接訪問變量(MOVX @DPTR),這種編譯模式對數(shù)據(jù)訪問的效率最低,而且將增加程序的代碼長度。采用LARGE編譯模式與定義變量時指定xdata存儲器類型具有相同效果。
Note
1、在程序中定義的變量,若不指定其存儲區(qū)域(data、idata、xdata等),則系統(tǒng)自動存放到上述編譯模式指定的存儲區(qū)。
2、在指定編譯器編譯模式情況下,要想將變量存放在其他區(qū)域,可指定變量修飾類型。(假設(shè)指定為small模式,則默認變量存儲在片內(nèi)RAM區(qū),此時可指定變量為idata類型,即可將其存放在片外RAM中)
3、同一段代碼,在不同編譯模式下,編譯出的代碼code大小為:small < compact < large。
4、同一編譯模式下,變量存儲區(qū)域不同,編譯出的代碼code大小為:data < idata < xdata。

路過

雞蛋

鮮花

握手

雷人

評論 (0 個評論)

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

返回頂部
主站蜘蛛池模板: 国产精品久久国产精品99 gif | 亚洲美女在线一区 | 亚洲精品久久久久久久久久久久久 | 亚洲综合在线网 | 美国一级片在线观看 | 欧美国产日本一区 | 九九在线视频 | 九九视频在线观看 | 野狼在线社区2017入口 | 欧美精品一二三区 | 国产精品v | 97超碰人人草 | 国产精品成人久久久久a级 久久蜜桃av一区二区天堂 | 久久精品亚洲国产奇米99 | 国产精品视频不卡 | 免费观看国产视频在线 | 欧美精品一区二区三区在线 | 欧美三级在线 | 久久99视频这里只有精品 | 国内精品视频在线观看 | 日韩中文字幕久久 | 干干干日日日 | 蜜桃视频一区二区三区 | 亚洲精品视频一区二区三区 | 国产精品一区在线 | 国产午夜视频 | 青青草av网站 | 亚洲激情网站 | 久草免费在线视频 | 精品欧美激情在线观看 | 97超碰人人| 日韩精品一区二区三区四区 | 91免费看片| 亚洲国产成人在线视频 | 国产精品www | 91精品国产91久久久久久最新 | 久久久久久国模大尺度人体 | 国产免费一区二区 | 欧美一级淫片免费视频黄 | 国产精品一区免费 | 欧美不卡 |