120 likes | 336 Views
ZILOG Z80 Formatos de instrucción. Alberto de Miguel Valdunciel Miriam Aguado Gago Fernando Martín Sánchez. INTRODUCCIÓN. Su diseño dependió de la búsqueda de compatibilidad con las inst . del intel 8080 El tamaño de instrucción varía entre 1 y 4 bytes
E N D
ZILOG Z80Formatos de instrucción Alberto de Miguel Valdunciel Miriam Aguado Gago Fernando Martín Sánchez
INTRODUCCIÓN • Su diseño dependió de la búsqueda de compatibilidad con las inst. del intel 8080 • El tamaño de instrucción varía entre 1 y 4 bytes • El primer (o primer y segundo) byte corresponde al código de operación. • El resto se emplea para desplazamientos/ operandos inmediatos.
Lectura de instrucciones • Al ser el Z-80 un procesador de 8 bits, cada vez que accede a memoria lee un byte ( código de operación o dato). • 2^8 =256 Lo cuál permitiría codificar hasta 256 instrucciones distintas • El Z-80 tiene más de 256 inst. , lo que le obliga a usar códigos de operación de más de un byte en algunos casos.
Tipos de instrucciones • Carga e intercambio • Aritméticas y lógicas • Rotación y desplazamiento • Manipulación de bits • Salto , llamada y retorno. • Entrada y salida • Control de CPU
Análisis de las instrucciones • Para decodificar la instrucción, analizamos los dos primeros bits. • Estos dos bits codifican 4 casos : • 00,01,10,11
Instrucciones de carga entre Registros (LD) • I(7:6) = 01 • EJEMPLO: • Para cargar E en A( LD E,A ) en binario seria 01 011(E) 111(A).
Instrucciones ariméticas y lógicas de 8 bits • I(7:6) = 10 • EJEMPLO: • ADD A,r Suma del contenido del registro A con el contenido del registro r: 10 000 r • Para multiplicar por dos A(111), seria ADD A,A y en binario 10 000 111
Transferencias entre memoria y registros, cargas ctes, instrucciones aritmético-lógicas de 16 bits y saltos relativos. • I(7:6) = 00 • EJEMPLO: • LD r, n => 00 r 110 n • LD A,20 => 00 111 110 00010100 • DEC r => 00 r 101
Salto absoluto, llamada y retorno de subrutina, manejo de pila. • I(7:6) = 11 • Código de operación: DD, FD, ED, CB • EJEMPLO: • PUSH BC => 11 00 0101
Añadidas en el Z80 • I(7:6) = 11 • 1er byte código de operación: DD, FD, ED, 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ÍA • Apuntes de la asignatura • http://proton.ucting.udg.mx/dpto/maestros/mateos/z80/arquitectura/arquitectura.html • http://en.wikipedia.org/wiki/Zilog_Z80 • http://www.eie.fceia.unr.edu.ar/proyectos/apunte-tec-dig/MicroprocesadorZ80.html • http://www.speccy.org/curso-cm/fr_cap3.html