Los registros en el 8051 se asignan a las primeras direcciones de la RAM interna, de este modo:
0x00 - > 0x07 --- > Los registros R0 a R7 del conjunto de registros 0
0x08 - > 0x0F --- > Los registros R0 a R7 del conjunto de registros 1
0x10 - > 0x17 --- > Los registros R0 a R7 del conjunto de registros 2
0x18 - > 0x1F --- > Los registros R0 a R7 del conjunto de registros 3
Dado que muchas de las instrucciones 8051 pueden abordar directamente la RAM interna, es posible componer una instrucción MOV que pueda mover datos a uno de los registros utilizando su dirección RAM interna correspondiente.
Algunos compiladores o conjuntos de herramientas de lenguaje ensamblador crearán símbolos intrínsecos que especifican direcciones de RAM internas. AR0 es un ejemplo de esto. Es común que AR0 se defina como 0x00 para que haga referencia a la ubicación de la memoria donde el registro R0 se almacena en el conjunto de registros 0. En su ejemplo, la declaración "USANDO 1" dice que se use el conjunto de registros 1 para que cuando la siguiente instrucción "MOV Se encuentra R0, # 1 "y termina almacenando el valor de 1 en la ubicación de la memoria interna 8, mientras que la siguiente instrucción" MOV AR0, # 2 "coloca el valor de 2 en la dirección que representa AR0 (probablemente 0x00).