1。简介:
在51系列中data,idata,xdata,pdata的区别
data:固定指前面0x00-0x7f的128个RAM,可以用acc直接读写的,速度最快,生成的代码也最小。
idata:固定指前面0x00-0xff的256个RAM,其中前128和data的128完全相同,只是因为访问的方式不同。idata是用类似C中的指针方式 访问的。汇编中的语句为:mox ACC,@Rx.(不重要的补充:c中idata做指针式的访问效果很好)
xdata:外部扩展RAM,一般指外部0x0000-0xffff空间,用DPTR访问。
pdata:外部扩展RAM的低256/或者是128个字节,地址出现在A0-A7的上时读写,用movx ACC,@Rx读写,pdata可以看成是xdara区的前面的一块区域。
2。用法:
2。1 xdata 区和pdata区的用法
基本上一样的,不同的只是数据区的范围不同。可以被用于扩展的RAM,或者是扩展的特殊功能寄存器。
在Myson的51单片机,是这样描述:
扩展的RAM:Auxiliary RAM (AUXRAM)There are total 768 bytes auxiliary RAM allocated in the 8051 external RAM area 800h - AFFh. Program can use "MOVX" instruction to access the AUXRAM.
扩展的特殊功能寄存器:External Special Function Registers (XFR)The XFR is a group of registers allocated in the 8051 external RAM area F00h - FFFh. These registers are used
for OSD control or other special function. Program can use "MOVX" instruction to access these registers.
因为是地址统一编的,所以,这两种AUXRAM&XFR用法也是一样的。
关键是,在C51中,有两种不同的处理方法:
2。1。1 直接把它看成是一块数组来操作。