Juguemos al Z80 6: Instrucciones de Carga de Registro – LD r,n

2 Byte - 7 Ciclos de Reloj

Sigamos con nuestra exploración, en esta ocasión la instrucción sirve para almacenar un valor numérico de tamaño un byte en un registro de 8 bits.

InstrucciónLD r,n
Tamaño2 Bytes
Ciclos de Máquina2 Ciclo M
Ciclos de Reloj7 Ciclos T
FLAGSN/A
Perfil de la instrucción LD r,n v0.1

Tan sencillo como esto, ejemplos pueden ser LD A,7, LD H,33 … 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 A,n3E XX
LD B,n06 XX
LD C,n0E XX
LD D,n16 XX
LD E,n1E XX
LD H,n26 XX
LD L,n2E XX
Tabla deOP Codes para LD r,n v0.1
ItemValor
XXEl byte a almacenar.
Tabla de sustitución para XX en OP-Codes

XX corresponde con el valor numérico que se desea almacenar y se debe sustituir por el valor correspondiente según la la tabla de sustitución anterior.

Lógica de ejecución de LD r,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
1Escribir el byte en el registro Destino.Destino.val = n
Lógica de la instrucción LD r,n v0.1

Ejecución detallada por ciclos M

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

InstrucciónLD r,n
M1OCF(4T)
M2OD(3)
M3
M4
M5
Desglose de la instrucción LD r,n por ciclos

Bibliografía

  • Z80 Users Manual JJ Carr 1980 Reston (EN, 1980) [página 250]
  • Z80 Family product specifications handbook – Feb84 (EN, 1984) [pçagina 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)

Quizá te interese ...

Deixa una Resposta

XHTML: Podeu fer servir aquestes etiquetes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>