ZILOG Z80 Formatos de instrucción
description
Transcript of ZILOG Z80 Formatos de instrucción
ZILOG Z80ZILOG Z80Formatos de Formatos de instruccióninstrucción
Alberto de Miguel ValduncielMiriam Aguado GagoFernando Martín Sánchez
INTRODUCCIÓNINTRODUCCIÓN
Su diseño dependió de la búsqueda de Su diseño dependió de la búsqueda de compatibilidad con las inst. del intel 8080compatibilidad con las inst. del intel 8080
El tamaño de instrucción varía entre 1 y El tamaño de instrucción varía entre 1 y 4 bytes4 bytes
El primer (o primer y segundo) byte El primer (o primer y segundo) byte corresponde al código de operación.corresponde al código de operación.
El resto se emplea para desplazamientos/ El resto se emplea para desplazamientos/ operandos inmediatos.operandos inmediatos.
Lectura de instruccionesLectura de instrucciones
Al ser el Z-80 un procesador de 8 bits, Al ser el Z-80 un procesador de 8 bits, cada vez que accede a memoria lee un cada vez que accede a memoria lee un byte ( código de operación o dato).byte ( código de operación o dato).
2^8 =256 Lo cuál permitiría codificar 2^8 =256 Lo cuál permitiría codificar hasta 256 instrucciones distintashasta 256 instrucciones distintas
El Z-80 tiene más de 256 inst. , lo que le El Z-80 tiene más de 256 inst. , lo que le obliga a usar códigos de operación de obliga a usar códigos de operación de más de un byte en algunos casos.más de un byte en algunos casos.
Tipos de instruccionesTipos de instrucciones
Carga e intercambioCarga e intercambio Aritméticas y lógicasAritméticas y lógicas Rotación y desplazamientoRotación y desplazamiento Manipulación de bitsManipulación de bits Salto , llamada y retorno.Salto , llamada y retorno. Entrada y salidaEntrada y salida Control de CPUControl de CPU
Análisis de las Análisis de las instruccionesinstrucciones
Para decodificar la instrucción, Para decodificar la instrucción, analizamos los dos primeros bits.analizamos los dos primeros bits.
Estos dos bits codifican 4 casos :Estos dos bits codifican 4 casos :
00,01,10,1100,01,10,11
Instrucciones de carga Instrucciones de carga entre Registros (LD)entre Registros (LD)
II(7:6) (7:6) = 01 = 01
EJEMPLO:
Para cargar E en A( LD E,A ) en binario seria 01 011(E) 111(A).
Instrucciones ariméticas Instrucciones ariméticas y lógicas de 8 bitsy lógicas de 8 bits
II(7:6) (7:6) = 10 = 10
EJEMPLO: ADD A,r Suma del contenido del ADD A,r Suma del contenido del
registro A con el contenido del registro registro A con el contenido del registro r: r: 10 000 r 10 000 r
Para multiplicar por dos A(111), seria Para multiplicar por dos A(111), seria ADD A,A y en binario 10 000 111ADD A,A y en binario 10 000 111
Transferencias entre memoria Transferencias entre memoria y registros, cargas ctes, y registros, cargas ctes,
instrucciones aritmético-instrucciones aritmético-lógicas de 16 bits y saltos lógicas de 16 bits y saltos
relativos.relativos. II(7:6) (7:6) = 00 = 00
EJEMPLO:
LD r, n => 00 r 110 nLD A,20 => 00 111 110 00010100
DEC r => 00 r 101
Salto absoluto, llamada y Salto absoluto, llamada y retorno de subrutina, manejo retorno de subrutina, manejo
de pila.de pila. II(7:6) (7:6) = 11 = 11 Código de operación: DD, FD, ED, Código de operación: DD, FD, ED,
CBCB
EJEMPLO:
PUSH BC => 11 00 0101
Añadidas en el Z80Añadidas en el Z80
II(7:6) (7:6) = 11 = 11 1er byte código de operación: DD, FD, 1er byte código de operación: DD, FD,
ED, CBED, CB Extienden cod. Operación al siguiente
byte. Instrucciones ya existentes en el 8080
que utilizan nuevos registros Operaciones sobre bloques,
manipulación directa de bits
BIBLIOGRAFÍABIBLIOGRAFÍA
Apuntes de la asignaturaApuntes de la asignatura http://proton.ucting.udg.mx/dpto/http://proton.ucting.udg.mx/dpto/
maestros/mateos/z80/arquitectura/maestros/mateos/z80/arquitectura/arquitectura.htmlarquitectura.html
http://en.wikipedia.org/wiki/Zilog_Z80http://en.wikipedia.org/wiki/Zilog_Z80 http://www.eie.fceia.unr.edu.ar/http://www.eie.fceia.unr.edu.ar/
proyectos/apunte-tec-dig/proyectos/apunte-tec-dig/MicroprocesadorZ80.htmlMicroprocesadorZ80.html
http://www.speccy.org/curso-cm/http://www.speccy.org/curso-cm/fr_cap3.htmlfr_cap3.html