keil中 code、data、idata的區(qū)別
存儲(chǔ)器類型
本C51編譯器支持8051及其派生類型的結(jié)構(gòu)能夠訪問(wèn)8051的所有存儲(chǔ)器空間具有下表列出的存儲(chǔ)器類型的變量都可以被分配到某個(gè)特定的存儲(chǔ)器空間。
存儲(chǔ)器類型 描述
code 程序空間64 Kbytes ;通過(guò)MOVC @A+DPTR 訪問(wèn)
data 直接訪問(wèn)的內(nèi)部數(shù)據(jù)存儲(chǔ)器;訪問(wèn)速度最快128 bytes
idata 間接訪問(wèn)的內(nèi)部數(shù)據(jù)存儲(chǔ)器 ;可以訪問(wèn)所有的內(nèi)部存儲(chǔ)器空間 256 bytes
bdata 可位尋址的內(nèi)部數(shù)據(jù)存儲(chǔ)器;可以字節(jié)方式也可以位方式訪問(wèn)16bytes
xdata 外部數(shù)據(jù)存儲(chǔ)器64 Kbytes ;通過(guò)MOVX @DPTR訪問(wèn)
pdata 分頁(yè)的外部數(shù)據(jù)存儲(chǔ)器256 bytes; 通過(guò)MOVX @Rn 訪問(wèn)
訪問(wèn)內(nèi)部數(shù)據(jù)存儲(chǔ)器將比訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器快的多由于這個(gè)原因你應(yīng)該把頻繁使用的變量放置在內(nèi)部數(shù)據(jù)存儲(chǔ)器中把很少使用的變量放在外部數(shù)據(jù)存儲(chǔ)器中這通過(guò)使用
SMALL模式將很容易就做到通過(guò)定義變量時(shí)包括存儲(chǔ)器類型你可以定義此變量存儲(chǔ)在你想要的存儲(chǔ)器中。