1.低128字节自己随便用。
data、idata、xdata、pdata、code是定义不同数据的数据或地址空间的伪指令,含义如下:
data: 0x00-0x7f,片内RAM直接寻址区
idata: 0x00-0xff,片内RAM间接寻址区
xdata: 0x0000-0xffff,64KB片外RAM数据区
pdata: 0x00-0xff(256字节/页),分页片外数据存储区
code: 0x0000-0xffff,64K片内外ROM代码区
2.通用寄存器r0~r7,地址是00h~07h
3.51有四个通用寄存器组,在KEIL中用using关键字切换寄存器组,一般用在中断时切换寄存器组,而不用当前寄存器组,这样可以不用保护现场,
如void t0(void) interrupt 1 using 1
通用寄存器可分位4个bank(0~3)
defaule register bank是通过改变special function register上PSW的RS0(bit.3)
,RS1(bit.4)来控制的.
RS0=0,RS1=0====>bank0(R0~R7=00H~07H)
RS0=1,RS1=0====>bank1(R0~R7=08H~0FH)
RS0=0,RS1=1====>bank2(R0~R7=10H~17H)
RS0=1,RS1=1====>bank3(R0~R7=18H~2FH)
RAM的20H~2FH这段范围是bit addressable(范围由00H~7FH)的记忆体
可以直接针对每个bit来改变数据
30H~7FH就是普通的RAM而已
80H及以后就是特殊寄存器了