Professional Documents
Culture Documents
Informtica de Sistemas
Departamento de Automtica Laboratorio de Microprocesadores
MODELO DE PROGRAMACIN
7 PSW 0
PSW S Z H PV N C
7 A 0
7 A 0
15 B 87 C 0
15 B 87 C 0
15 D 87 E 0
15 D 87 E 0
15 H 87 L 0
15 H 87 L 0
15 SP 0
15 PC 0 IFF1 IFF2 0/1 Prohibido/Permitido
15 IX 0
IFMa IFMb Modo
15 IY 0
7 IV 0
7 R 0
Z80 Pgina 1
Universidad de Alcal I. T. Informtica de Sistemas
Departamento de Automtica Laboratorio de Microprocesadores
Seal de entrada /BUSREQ (Bus request) para la peticin del bus y seal de salida
/BUSACK (Bus acknowledge) para la confirmacin de bus cedido que permiten implementar
los protocolos de gestin del bus para el DMA y el multiproceso.
MODOS DE DIRECCIONAMIENTO
IMPLCITO: El operando est referenciado implcitamente por el cdigo de operacin.
SCF Pone a 1 el flag C.
DE REGISTROS: El propio cdigo de operacin indica los registros cuyos contenidos sern
los operandos.
ADD A,B Suma el contenido del acumulador (A) con el contenido del registro
B, dejando el resultado en el acumulador.
PGINA CERO: Solo se utiliza en la instruccin RST, que salta y continua ejecutando la
instruccin contenida en la posicin en pgina cero cuya direccin se incluye en la
instruccin, que puede ser 0, 8, 10h, 18h, 20h, 28h, 30h y 38h.
RST 10h Carga el PC con el valor 0010h, con lo que se ejecutar la
instruccin contenida en esa direccin.
RELATIVO: Es utilizado exclusivamente en las instrucciones de salto condicional (Jump
relative). El operando de un byte incluido en la instruccin es un offset expresado en
complemento a 2 que se suma al contador de programa (PC) actualizado si se cumple la
condicin, pasando el PC a apuntar a la direccin de continuacin del programa.
JR Z,7Ah Salta, si el resultado anterior fue cero, a la direccin que resulta de
sumar al PC actualizado el nmero 7Ah en complemento a dos.
Z80 Pgina 2
Universidad de Alcal I. T. Informtica de Sistemas
Departamento de Automtica Laboratorio de Microprocesadores
INTERRUPCIONES
La lnea /NMI provoca una interrupcin no enmascarable (siempre ser atendida) y acta
del siguiente modo:
1. Copia IFF1 en IFF2.
2. Pone IFF1 a cero (prohibe las interrupciones enmascarables).
3. Guarda el PC en la pila.
4. Salta a la rutina que comienza en 0066h y que debe finalizar con la instruccin RETN
para que se restaure el contenido original de IFF1.
La interrupcin /INT solo ser atendida si IFF1 est a 1 (los biestables IFF1 y IFF2
constituyen la mscara de interrupciones) y puede funcionar de tres modos diferentes (las
instrucciones IM0, IM1 e IM2 seleccionan cada uno de ellos):
Modo 0: Cuando se produce la interrupcin la CPU espera, en el bus de datos, un cdigo
de operacin que ser ejecutado en lugar de la siguiente instruccin de la memoria.
Normalmente el cdigo de operacin enviado ser el de la instruccin RST que producir
un salto a una posicin en pgina cero.
Modo 1: Cuando se produce la interrupcin se ejecuta la instruccin RST 38h, es decir,
comienza a ejecutar el programa que se localice a partir de la direccin 0038h.
Modo 2: Al producirse la interrupcin, en el bus de datos se espera un vector de 8 bits
que constituir la parte baja de una direccin de memoria, la parte alta de esa direccin
deber encontrarse en el registro IV. La direccin de comienzo de la rutina de atencin a
la interrupcin se obtiene de forma indirecta: byte bajo en (IV[vector]) y byte alto en
(IV[vector+1]).
Z80 Pgina 3
Universidad de Alcal I. T. Informtica de Sistemas
Departamento de Automtica Laboratorio de Microprocesadores
Programa que inicializa a FFh las posiciones de memoria comprendidas entre la 4080h y
408Fh.
Programa que inicializa el bloque de memoria entre las direcciones 4100h y 411Fh con los
valores 0, 1, 2, ..., 1Fh.
Programa anterior modificado para que la inicializacin se realice en orden inverso (de la
4100h a la 411Fh con los valores 1Fh, 1Eh, ...0).
Z80 Pgina 4
Universidad de Alcal I. T. Informtica de Sistemas
Departamento de Automtica Laboratorio de Microprocesadores
Programa que copia el bloque de memoria comprendido entre las direcciones 0000h y 001Fh
a partir de la direccin 4100h.
Programa que localiza el mayor y el menor de los 16 datos de un byte almacenados a partir
de la posicin 4050h y los almacena, respectivamente, en las posiciones 40A0h y 40B0h.
Z80 Pgina 5
Universidad de Alcal I. T. Informtica de Sistemas
Departamento de Automtica Laboratorio de Microprocesadores
Programa que suma dos datos de 8 bytes que comienzan en las posiciones 4050h y 4060h y
almacena el resultado a partir de la direccin 40A0h. Como el Z80 almacena los datos en
memoria con los bytes de pesos mayores en las direcciones mayores, en caso de producirse
acarreo final, este deber almacenarse en la direccin 40A8h, si no hay acarreo, deber
ponerse a cero.
Z80 Pgina 6
Universidad de Alcal I. T. Informtica de Sistemas
Departamento de Automtica Laboratorio de Microprocesadores
REPERTORIO DE INSTRUCCIONES
El repertorio de instrucciones del Z80 es, probablemente, uno de los ms completos y
complejos de los microprocesadores de su categora, adems de mantener la compatibilidad con
el juego del 8080. (Ver hojas adjuntas).
Z80 Pgina 7
Universidad de Alcal I. T. Informtica de Sistemas
Departamento de Automtica Laboratorio de Microprocesadores
Z80 Pgina 8
Universidad de Alcal I. T. Informtica de Sistemas
Departamento de Automtica Laboratorio de Microprocesadores
Z80 Pgina 9
Universidad de Alcal I. T. Informtica de Sistemas
Departamento de Automtica Laboratorio de Microprocesadores
Z80 Pgina 10
Universidad de Alcal I. T. Informtica de Sistemas
Departamento de Automtica Laboratorio de Microprocesadores
Z80 Pgina 11
Universidad de Alcal I. T. Informtica de Sistemas
Departamento de Automtica Laboratorio de Microprocesadores
Z80 Pgina 12
Universidad de Alcal I. T. Informtica de Sistemas
Departamento de Automtica Laboratorio de Microprocesadores
Z80 Pgina 13
Universidad de Alcal I. T. Informtica de Sistemas
Departamento de Automtica Laboratorio de Microprocesadores
Z80 Pgina 14
Universidad de Alcal I. T. Informtica de Sistemas
Departamento de Automtica Laboratorio de Microprocesadores
Z80 Pgina 15
Universidad de Alcal I. T. Informtica de Sistemas
Departamento de Automtica Laboratorio de Microprocesadores
Z80 Pgina 16
Universidad de Alcal I. T. Informtica de Sistemas
Departamento de Automtica Laboratorio de Microprocesadores
Z80 Pgina 17
Universidad de Alcal I. T. Informtica de Sistemas
Departamento de Automtica Laboratorio de Microprocesadores
Z80 Pgina 18