Escritura en un registro de 2 bytes desde registros de 1 byte

3

Soy un novato en ensamblajes e intento escribir una rutina de ensamblaje para escribir datos en la EEPROM de una variante 8051. (Específicamente, AT89C51CC03 )

En la hoja de datos, dice que primero debo escribir en los cierres de columna. Para esto, necesito llenar el registro DPTR con la dirección que quiero escribir (2 bytes). Como estoy trabajando principalmente con C, necesitaba una forma de pasar la dirección del código C a la rutina de ensamblaje. El siguiente enlace explica la convención:

enlace

que dice que los parámetros del puntero se asignan a R2 (MSB) y R1 (LSB).

Mi pregunta es, ¿cómo puedo mover el contenido de estos registros de 1 byte a DPTR, que es un registro de dos bytes? Tengo la sensación de que si uso MOV, sobrescribiré el primero byte he escrito. Y el manual del conjunto de instrucciones solo proporciona un ejemplo para pasar valores inmediatos, no de registros.

    
pregunta Çetin K

1 respuesta

5

Parece que son registros de función especial (SFR) llamados DPH y DPL, que deberían estar accesibles en modo de 8 bits, consulte here y here (comenzando en la página 20).

    
respondido por el Anonymous

Lea otras preguntas en las etiquetas