2. Estructura de la memoria en los microcontroladores 8051
2.2. Memoria de datos interna
Los microcontroladores 8051 disponen de una memoria interna muy limitada, un total de 256 posiciones destinadas a los datos, registros de trabajo y registros especiales. En la familia de microcontroladores 8052 se ha ampliado mediante la incorporación de 128 nuevas posiciones entre las posiciones de memoria 80H y FFH que se solapan con las actuales. Para poder acceder a un grupo o al otro se ha de hacer por medio del direccionamiento, de esta forma, a la memoria principal se accede mediante el direccionamiento directo y a la secundaria o solapada mediante el indirecto. Atendiendo a los modos de direccionamiento del microcontrolador, podemos distinguir tres zonas de memoria:
- Área de direccionamiento directo e indirecto.
- Área de direccionamiento solo directo.
- Área de direccionamiento solo indirecto (en el 8052).

Memoria de datos de los microcontroladores 8051/8052
Acceso a la zona de memoria mediante el Direccionamiento Directo.
Para el acceso al área de memoria de direccionamiento directo, se utiliza la dirección a la cual se desea acceder. Por ejemplo, para situar el valor 05H en el puerto P0 (80H).
MOV 80H,#05H ; Poner el dato inmediato (constante) 05H en la posición 80H
Acceso a la zona de memoria mediante el Direccionamiento Indirecto.
Para el acceso a la zona de memoria de direccionamiento indirecto se ha de utilizar el registro interno R0 o R1.
Por ejemplo, para poner 4 posiciones, de la 90H a la 93H de memoria a 0.
MOV R0,#90H ; Mover la dirección a la que se desea acceder al registro R0
MOV @R0,#00H ; Mover de forma indirecta, mediante el contenido de R0 el dato inmediato 0
INC R0 ; Incrementar el registro R0 apuntador (91H)
MOV @R0,#00H ; Mover un 00H a la dirección apuntada
INC R0 ; Incrementar el registro R0 apuntador (92H)
MOV @R0,#00H ; Mover un 00H a la dirección apuntada
INC R0 ; Incrementar el registro R0 apuntador (93H)
MOV @R0,#00H ; Mover un 00H a la dirección apuntada