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