Juguemos al Z80 13: Instrucciones de Carga en memoria – LD (IY+d),r

3 Bytes - 19 Ciclos de Reloj

Sigamos con nuestra exploración, en esta ocasión la instrucción sirve para almacenar el valor numérico de tamaño un byte, de la dirección de memoria indicada por el registro de 16 bits IY mas un incremento, en un registro de 8 bits.

InstrucciónLD (IY+d),r
Tamaño3 Bytes
Ciclos de Máquina5 Ciclo M
Ciclos de Reloj19 Ciclos T
FLAGSN/A
Perfil de la instrucción LD (IY+d v0.1

Tan sencillo como esto, ejemplos pueden ser LD (IY+CF),A, LD (IY+33),H … o cualesquiera combinaciones que se nos ocurran.

Los FLAGS (CNPHZS) no se ven afectados por esta instrucción.

Tabla de OP-Codes

Para las variaciones de esta instrucciones, la tala de OP-Codes sería como sigue:

MnemotécnicoOP-Code
LD (IY+d),AFD 77 XX
LD (IY+d),BFD 70 XX
LD (IY+d),CFD 71 XX
LD (IY+d),DFD 72 XX
LD (IY+d),EFD 73 XX
LD (IY+d),HFD 74 XX
LD (IY+d),LFD 75 XX
Tabla deOP Codes para LD (IY+d),r v0.1

En la tabla XX corresponde con el valor “d” en HEX

Lógica de ejecución de LD (IY+d),r

A continuación, trato de explicar el funcionamiento de la instrucción, desgranando la lógica en términos humanos, pero sin llegar a bajar a nivel de ciclos como tal.

OrdenOperaciónNotas
1Obtiene la dirección de memoria contenida en IYDireccion = (IY)
2Suma “d” a la dirección de memoriaDirección += d
3Obtiene el valor almacenado en la dirección contenida en IY+dValor = Contenido(r)
4Guarda en la dirección correspondiente correspondiente el valor leído del registro indicadoDireccion = Valor
Lógica de la instrucción LD (IY+d),r v0.1

Ejecución detallada por ciclos M

Detallo aquí la ejecución de la instrucción, ciclo a ciclo:

InstrucciónLD r,(IY+d)
M1OCF(4)/OCF(4)
M2OD(3)
M3IO(5)
M4MR(3)
M5
Desglose de la instrucción LD (IY+d).r por ciclos

  • IO = Internal CPU Operation
  • MR = Memory Read
  • MW = Memory Write
  • OCF = Op Code Fetch
  • OD = Operation Data Read

Bibliografía

  • Z80 Users Manual JJ Carr 1980 Reston (EN, 1980) [página 235]
  • Z80 Family product specifications handbook – Feb84 (EN, 1984) [página 10]
  • Microprocessor Technology ISBN 0835943925 (EN, 1983)
  • Z80 CPU User Manual Zilog (EN, 2016)
  • Z80 Instruction Set Summary version 2000c (EN, 2000)
  • Curso de Código Máquina de Microhobby (ES, 1986)
  • Z80 CPU Microprocessor Instant Reference Card. (EN, 1981)
  • Ciclos de Máquina del Z80 (Web)
  • Tabla de Z80 Opcodes

Quizá te interese leer más sobre Z80

Dejar una Respuesta

XHTML: Usted puede usar las siguientes etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>