数据存储器主要用于存放经常要改变的中间运算结果、数据暂存或标志位等,通常都是由随机存储器RAM(Random Access Memory)组成。数据存储器可分为片内和片外两部分。
片内数据存储器,片内数据存储器为8位地址,寻址范围为00H~FFH。AT89S51片内供用户使用的RAM为片内低128字节,地址范围为00H~7FH,对其访问可采用直接寻址或间接寻址的方式。AT89S52片内供用户使用的RAM为256字节,地址范围为00H~FFH。
片外数据存储器,片外数据存储器最多可扩展到64KB。
片内RAM和片外RAM的低地址部分(00H~FFH)的地址码是相同的,但它们却是两个地址空间。区分这两个部分地址空间的方法是采用不同的寻址指令:访问片内RAM用MOV指令,访问片外RAM用MOVX指令。