Sigamos con nuestra exploración lineal de las instrucciones del Z80, en esta ocasión la primera que tomo en cuenta sirve para copiar el contenido de un registro de 8 bits, en otro.
Instrucción | LD r,r’ |
---|---|
Tamaño | 1 Byte |
Ciclos de Máquina | 1 Ciclo M |
Ciclos de Reloj | 4 Ciclos T |
FLAGS | N/A |
Tan sencillo como esto, ejemplos pueden ser LD A,B, LD H,L … o cualesquiera combinaciones que se nos ocurran.
Cabe recordar, no obstante, que las instrucciones trabajan únicamente con el grupo de registros principal.
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écnico | OP-Code |
---|---|
LD A,r | 78+r |
LD B,r | 4r |
LD C,r | 48+r |
LD D,r | 5r |
LD E,r | 58+r |
LD H,r | 6r |
LD L,r | 68+r |
Registro | Valor |
---|---|
A | 7 |
B | 0 |
C | 1 |
D | 2 |
E | 3 |
H | 4 |
L | 5 |
r significa registro 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,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.
Orden | Operación | Notas |
---|---|---|
1 | Leer contenido del registro Origen. | a = Origen.val |
2 | Escribir el contenido leído en el registro Destino. | Destino.val = a |
Ejecución detallada por ciclos M
Detallo aquí la ejecución de la instrucción, ciclo a ciclo:
Instrucción | LD r,r’ |
---|---|
M1 | OCF(4T) |
M2 | – |
M3 | – |
M4 | – |
M5 | – |
OCF = Op Code Fetch
Bibliografía
- Z80 Users Manual JJ Carr 1980 Reston (EN, 1980) [página 252]
- 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)
[…] LD r,r’ […]