Z80A con el texto "Instrucciones del Z80" e "Instrucciones de Carga" sobreimpreso.

Juguemos al Z80 4: Instrucciones de Carga de Registro

En el capítulo de hoy vamos a inventariar las Instrucciones de carga de registro, esto es, que toman un dato de algún lugar (memoria o registro) y lo cargan en un registro.

Según la guia que estamos siguiendo en este viaje, existen 5 instrucciones en esta categoría, que són las siguientes:

  • LD r,r’
  • LD r,n
  • LD r,(HL)
  • LD r,(IX+d)
  • LD r,(IY+d)

Los registros del Z80

Antes de empezar a trabajar con ellos, vamos a listar los registros de este procesador y sus características básicas, lo primero a tener en cuenta, es que los registros se dividen en varias categorías:

El puntero de programa (PC)

Este registro, también llamado contador de programa, es un registro de 16 bits (que puede contener dos bytes de información), y su cometido es almacenar la dirección de memoria RAM de la siguiente instrucción que el procesador ejecutará.

Este contador se incrementa en una unidad, cada vez que el microprocesador ejecuta una instrucción, generando la “secuencia de ejecución” en el proceso.

El puntero de Pila (SP)

También existe un registro, de 16 bits, que contiene la dirección de la pila LIFO que utiliza el procesador (y que además va decrementando, razón por la que debemos tener cuidado para que la pila no sobreescriba nuestro programa (que normalmente estará situado en direcciones inferiores).

Registros de uso general

El Z80 pone a nuestra disposición 14 registros de 8 bits repartidos en 2 bloques:

  • Grupo 1: A, B, C, D, E ,H y L
  • Grupo 2: A’, B’, C’, D’, E’, H’ y L’

Las instrucciones trabajan con el Grupo 1, pudiendo intercambiar los datos de ambos grupos mediante instrucciones específicas.

Registros de Índice (IX e IY)

Son registros de 16 bits que se usan para apuntar a áreas específicas de la memoria RAM mediante un mecanismo que explicaremos llegado el momento.

Registro de Interrupciones

Es un registro de 8 bits que contiene parte de una dirección de memoria utilizada para una suerte de subrutinas, cuyo funcionamiento exacto trataremos más adelante.

Registro de Banderas de Estado

El Z80 nos brinda un mecanismo de banderas que nos avisan de determinadas situaciones, usando para ello este registro de 8 bits en el que cada bit de inforamción significa una cosa diferente.

Las banderas y su significado serán tratadas más adelante, cuando precisemos utilizarlas en una instrucción concreta, por ahora con saber que existe, suficiente.