data ---> 可寻址片内ram
data:固定指前面0x00-0x7f的128个RAM,可以用acc直接读写的,速度最快,生成的代码也最小。
bdata ---> 可位寻址的片内ram
idata ---> 可寻址片内ram,允许访问全部内部ram ( mox ACC,@Rx.)
idata:固定指前面0x00-0xff的256个RAM,其中前128和data的128完全相同,只是因为访问的方式不同。idata是用类似C中的指针方式 访问的。
pdata ---> 分页寻址片外ram (MOVX @R0) (256 BYTE/页)
pdata:外部扩展RAM的低256个字节,地址出现在A0-A7的上时读写,用movx ACC,@Rx读写。这个比较特殊,而且C51好象有对此BUG, 建议少用。但也有他的优点,具体用法属于中级问题,这里不提。
xdata ---> 可寻址片外ram (64k 地址范围)
xdata:外部扩展RAM,一般指外部0x0000-0xffff空间,用DPTR访问。
code ---> 程序存储区 (64k 地址范围),对应MOVC @DPTR