Escolar Documentos
Profissional Documentos
Cultura Documentos
Trabalho laboratorial
(Z80/Micamaster MAT980)
Engº F. Zile
1
Introdução
O presente documento tem a pretensão de apresentar o relatório do trabalho laboratorial
reaizado sobre Z80/Micamater MAT980. Onde são apresentados resultados/observações
feitas durante o trabalho laboratorial.
Objectivos
Materiais Utilizados
Fonte de Alimentação;
Placa Micamaster MAT980.
2
Resumo Teórico
O Zilog Z80 é um microprocessador de 8 bits projectado, que foi amplamente usado,
tanto em microcomputadores desktop quanto em sistemas embarcados, centrais
telefónicas e para fins militares. O Z80, seus derivados e clones constituem uma das
famílias de UCPs mais usadas em todos os tempos e, juntamente com a família MOS
Technology 6502 dominou o mercado de microcomputadores de 8 bits de fins da
década de 1970 até meados dos anos 1980.
O Z80 conta com um conjunto de 178 tipos diferentes de instruções, divididas nas
seguintes categorias: Instruções de controle do Z80, entrada e saída, carga e de troca;,
aritméticas e lógicas, transferência e pesquisa de bloco, rotação e deslocamento de bits,
manipulação de bit, salto e sub-rotina.
O código de operação de uma instrução constitui-se de um ou mais bytes, podendo
incluir os operandos. Dentro de 8 bits é possível haver 256 instruções, entretanto 252
correspondem propriamente a instruções reais; as demais são usados como prefixos, que
obrigam o Z80 buscar no próximo byte qual instrução deve ser executada.
4
(tem actualmente pouco interesse, dada a evolução tecnológica das memórias
dinâmicas).
2. Sinais de controlo do CPU (os sinais /INT e /NMI serão analisados em maior
detalhe quando adiante se considerar o processamento dos pedidos de
interrupção):
/HALT: saída que indica que o CPU executou uma instrução de halt (que
suspende a execução do programa) e que aguarda um pedido de interrupção ou
uma ordem de reinicialização (reset) para retomar a actividade.
/WAIT: entrada que permite estender a duração temporal dos ciclos de acesso
a memória ou a dispositivos de entrada / saída, quando estes não forem
suficientemente rápidos para acompanharem a rapidez de funcionamento do
CPU (actualmente também com pouco interesse, pelas mesmas razões de
evolução tecnológica).
/INT: entrada que recebe pedidos de interrupção que podem ou não ser
atendidos, conforme o programa executado pelo CPU.
/NMI: entrada que recebe pedidos de interrupção que são sempre atendidos
(non-maskable interrupt).
/RESET: entrada que provoca a inicialização do CPU, forçando-o a executar a
rotina que se inicia no endereço 0000h.
3. Sinais de controlo do barramento do CPU:
/BUSREQ: entrada para solicitar ao microprocessador que coloque em alta
impedância em todos os pinos que suportam esta facilidade, de modo a
possibilitar a outro dispositivo o controlo dos barramentos de endereços, dados
e controlo.
/BUSACK: saída que indica quando o estado de alta impedância está já
presente nos pinos que suportam esta facilidade, em resposta a um pedido
para controlo externo dos barramentos.
Procedimento/Passos
HALT: saída ativa em nível baixo, indica que o Z80 está executando instrução
HALT, e só sairá deste estado quando aceitar uma interrupção;
RESET: entrada ativa em nível baixo, reinicializa o Z80 zerando os
registradores PC, I e R e os IFF1 e IFF2, entrando no modo IM 0, deixando os
barramentos em alta impedância e tornando todos os sinais de controle de saída
em estado inativo;
+ para ir pra frente
5
- para ir pra trás
MEM: verifica os dados introduzidos na memória;
FIL: tem como função introduzir bytes num certo bloco de memória;
GO: somente clicamos esta tecla para executarmos o programa;
Botão Vermelho para resetar(se o programa congelar).
Figura 3: Z80/Micamaster
Trabalhos realizados
Programa do Slide 25 – que serviu de base para o laboratório
Endereço Código Rótulos Menm+Oper Comentários
ORG 4200h ;codigo inicia no
4200 2A 00 50 Inicio: LD HL, (5000h) ender.4200h
4203 4C LD C, H
4204 26 00 LD H, 0 ;tb pode ser ED 6B 00 50
4206 44 LD B, H ;tb pode ser ED 63 02 50
4207 09 Fim: ADD HL, BC
22 02 50 LD (5002), HL
4208
76 HALT
420B
Realizou-se duas somas, com e sem transporte que pode ser visualizado nas tabelas
abaixo.
6
Sem transporte
2A
+
11
3B
Nota:
5000h – onde guardou-se a primeira parcela a ser somada
(2A);
5001h – onde guardou-se a segunda parcela a ser somada
(11)
5002h – onde obteve-se o resultado
Com transporte
2C
+ vai 1
F2
1E
Nota:
5000h – onde guardou-se a primeira parcela a ser somada
(2C);
5001h – onde guardou-se a segunda parcela a ser somada (F2);
5002h – onde obteve-se o resultado (1E);
5003h – onde foi alocado o transporte.
7
Conclusão e Observações
Na realização do trabalho laboratorial verificou-se, como o Z80 funciona no quesito da
execução de instrução, mormente transmitiu-se o modo como os outros processadores
executam as suas instruções, uma vez que a ideia básica é a mesma para todos os
processadores. Ademais, ficou claro o porquê que todas linguagens de programação
precisam de compiladores e interpretadores, sendo que a razão é para poderem traduzir
a os mnemónicos para a linguagem máquina (língua das maquinas).
8
Referências Bibliográficas