8051单片机内部256字节RAM,低128字节既可直接寻址,又可间接寻址,高128字节RAM只能间接寻址(直接寻址方式下,高128字节被映射到SFR特殊功能寄存器)。内部RAM中包含16字节可位寻址区域,该区域起始地址为20H。
内部RAM存储区被分为三种不同的存储区类型:data,idata,bdata。
1)data指低128字节,以直接寻址方式访问存在该区域的变量。
2)idata指全部256字节,该存储类型编译后的代码以间接寻址方式访问内存。
3)bdata指16字节可位寻址区,该区域地址范围为20H-2FH。使用bdata能够定义可位寻址的变量。
汇编语言内部RAM直接寻址方式,示例:
MOV A,10H /* 将内部RAM 10H地址处的数据送到累加器A */
汇编语言内部RAM间接寻址方式,示例:
MOV R0,#90H
MOV A,@R0 /* 将内部RAM 90H地址处的数据送到累加器A */