<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > Keil C51中的優(yōu)化級別及優(yōu)化作用

Keil C51中的優(yōu)化級別及優(yōu)化作用

作者: 時(shí)間:2016-11-26 來(lái)源:網(wǎng)絡(luò ) 收藏
級別說(shuō)明

0常數合并:編譯器預先計算結果,盡可能用常數代替表達式。包括運行地址計算。
優(yōu)化簡(jiǎn)單訪(fǎng)問(wèn):編譯器優(yōu)化訪(fǎng)問(wèn)8051系統的內部數據和位地址。
跳轉優(yōu)化:編譯器總是擴展跳轉到最終目標,多級跳轉指令被刪除。

本文引用地址:http://dyxdggzs.com/article/201611/321745.htm


1死代碼刪除:沒(méi)用的代碼段被刪除。
拒絕跳轉:嚴密的檢查條件跳轉,以確定是否可以倒置測試邏輯來(lái)改進(jìn)或刪除。


2數據覆蓋:適合靜態(tài)覆蓋的數據和位段被確定,并內部標識。BL51連接/定位器可以通

過(guò)全局數據流分,選擇可被覆蓋的段。


3窺孔優(yōu)化:清除多余的MOV指令。這包括不必要的從存儲區加載和常數加載操作。當存

儲空間或執行時(shí)間可節省時(shí),用簡(jiǎn)單操作代替復雜操作。


4寄存器變量:如有可能,自動(dòng)變量和函數參數分配到寄存器上。為這些變量保留的存儲區就省略了。
優(yōu)化擴展訪(fǎng)問(wèn):IDATA、XDATA、PDATA和CODE的變量直接包含在操作中。在多數時(shí)間沒(méi)

必要使用中間寄存器。
局部公共子表達式刪除:如果用一個(gè)表達式重復進(jìn)行相同的計算,則保存第一次計算

結果,后面有可能就用這結果。多余的計算就被刪除。
Case/Switch優(yōu)化:包含SWITCH和CASE的代碼優(yōu)化為跳轉表或跳轉隊列。


5全局公共子表達式刪除:一個(gè)函數內相同的子表達式有可能就只計算一次。中間結果

保存在寄存器中,在一個(gè)新的計算中使用。
簡(jiǎn)單循環(huán)優(yōu)化:用一個(gè)常數填充存儲區的循環(huán)程序被修改和優(yōu)化。


6循環(huán)優(yōu)化:如果結果程序代碼更快和有效則程序對循環(huán)進(jìn)行優(yōu)化。


7擴展索引訪(fǎng)問(wèn)優(yōu)化:適當時(shí)對寄存器變量用DPTR。對指針和數組訪(fǎng)問(wèn)進(jìn)行執行速度和代碼大小優(yōu)化。

8公共尾部合并:當一個(gè)函數有多個(gè)調用,一些設置代碼可以復用,因此減少程序大小。

9公共塊子程序:檢測循環(huán)指令序列,并轉換成子程序。Cx51甚至重排代碼以得到更大的循環(huán)序列。



評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>