Juguemos al Z80 15: Instrucciones de Carga en memoria – LD (IX+d),n

4 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, en la dirección de memoria indicada por el registro de 16 bits IX mas un incremento..

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

Tan sencillo como esto, ejemplos pueden ser LD (IX+20),33 , LD (IX+AF),2F … 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 (IX+d),nDD 36 dd nn
Tabla deOP Codes para LD (IX+d),n v0.1

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

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

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 IXDireccion = (IX)
2Suma “d” a la dirección de memoriaDirección += d
4Guarda en la dirección correspondiente correspondiente el valor indicado(Direccion) = Valor
Lógica de la instrucción LD (IX+d),n v0.1

Ejecución detallada por ciclos M

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

InstrucciónLD (IX+d),n
M1OCF(4)/OCF(4)
M2OD(3)
M3IO(5)
M4MW(3)
M5
Desglose de la instrucción LD (IX+d).n por ciclos v0.1

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

Bibliografía

Gracias a los miembros del canal de telegram “Ensamblador Z80” por su apoyo y ayuda!


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>