Você está na página 1de 108

MDULO EE - 1015 - 0417

Objetivo: Conhecer ochip processador Z-80 e o seu set de instrues Motivao: O Z-80 um integrado de baixo custo, com uma ampla faixa de aplicao em pequenos projetos de informatizao Barema de avaliao: P, cap. 1 e 2.(1.0 a 2.5) P, cap. 2 e 3 2.6 a 3.Z) Disc.: Introduo aos microprocessadores

Captulo 1 Hardware bsico de um micro processador. Captulo 2 - Software do micro processador Z-80 Captulo 3 Introduo a programao em Assembly

1.1 Introduo aos microprocessadores Objetivo: Definir um computador bsico O Computador uma mquina que processa informaes As informaes fornecidas pelo usurio so processadas de acordo com o programa utilizado e retornam ao mesmo atravs de um monitor, impressora,etc. O programa define a funo exata que o computador ir executar Neste mdulo, tomamos como base a arquitetura do microprocessador Z-80 da Zilog

1.1- Diagrama em blocos de um microprocessador

CPU

REDE DE REG. ULA CONTROLE

1.1 Aspecto do hardware do Z- 80


PROGRAMA define exatamente o que o micro vai fazer (soma; simulao de automao; etc) - o cojunto ordenado de instrues chama-se pprograma As principais partes de um microcomputador so: HARDWARE e SOFTWARE HARDWARE DO Z-80 - compatvel com o 8080 com novo set de instrues. SOFTWARE DO Z - 80 compatvel com o 8080 com o acrscimo de novas instrues.

1.1. -DESCRIO DOS BLOCOS


CPU Processa informaes. Registros Guarda dados provisrios. ULA Executa operaes lgicas e aritmticas. Memria Guarda Dados permanente e provisrio Interfaces e perifricos so blocos que complementam o microprocessador

1.1.2 - SISTEMA Z 80

1.1.3-microprocessador Z-80
O Z-80 uma central de processamento Incluido em um s CHIP: este chip contm:

1) Uma rede de REGISTRO,

2) Uma CPU
3) E uma unidade de CONTROLE
Este chip capaz de comandar e controlar dispositivos externos (perifricos) e executar 80% da potencialidade total do sistema.

1.1.- BARRAMENTOS DO MICRO PROCESSADOR Z 80 A CPU Z-80 interligada ao mundo exterior atravs de trs barramentos Bus de dados - Bidirecional com oito bits, conduz os dados da CPU para os elementos do sistema/dos elementos do sistema para a CPU Z 8 0

D0.........D7 Data bus Elementos do sistema

BARRAMENTOS DE ENDEREOS
Bus de endereos Unidirecional com 16 bits, transporta endereos gerados pela CPU Estes endereos serve para especificar a fonte ou o destino dos dados que transitar atravs da barra de dados

C P U

A0 .....A15
Adder Bus

Elementos Do sistema

BARRAMENTOS DE CONTROLE
Bus control Usado para transportar diversos sinais para sincronozao requerida pelo sistema. Todo sistema computacional precisa de uma re ferncia de tempo para executar suas tarefas
(CLOCK)

C P U

Control bus

Elementos Do sistema

Avaliao 1
1- Como se compe o chip Z-80? R: CPU; ULA; controle e rede de registros 2- Como se chama o conjunto ordenado de instrues? R: Programa 3-Quantos bits compe a barra de endereos? R: 16 bits 4 Qual o barramento responsvel pelo transporte do pulso de sincronismo? R: Barramento de controle

1.1.4 Memrias
Objetivo: conhecer os tipos de memrias do sistema Z-80 ROM uma memria destinada a guardar informaes permanentes. Contm o programa monitor. No perde seu contedo.(no voltil)
RAM Permite escrita e leitura de dados: Gurda o programa e os dados do usurio: uma memria voltil. (pode perder seu contedo quando desliga equipamento)

1.1.4 - Tipos de informaes guardadas memrias


Um byte representa um conjunto de oito bits, onde, cada bit representado por uma tenso alta (HI) ou baixa (LO). Ou seja, 1 ou 0. Um conjunto de bytes armazenados em uma memria tero significados diferentes para a CPU, isto , conduz informaes que representa um certo significado para a CPU Todas as informaes so composta por um byte, (oito bits). Quando a instruo composta de 16 bits, ser dividida em dois bytes (HI/LO).

1.1.4 - Tipos de informaes guardadas memrias


A CPU Z-80 possui seis tipos de informaes que so: i) Cdigo de operaes (OPCODE) ii) Byte de dados (OPERANDOS) iii) Byte de endereos mais significativos (HI) iv) Byte de endereos menos significativos (LO) V) Byte de direcionamento Vi) Byte de dados mais significativos (HI) Vii) Byte de dados menos significativos (LO) Viii) Cdigo de dispositivos (endereos de I/O)

1.1.4a - Cdigo de operao(OPCODE)

o primeiro byte de uma instruo Representa a ao a ser realizada pela CPU (busca outro opcode/byte de instrues suficiente para completar a instruo) Cada OPCODE representa uma instruo que o micro ir executar( lgica aritmtica,busca e transferncia de dados,operao com I/O e de controle) 1.1.5-Byte de dados - utilizados em operaes de lgicos e aritmticas como operando, carrega registro, carrega e inicializa I/O,so guardados na memria na localidade denominada buffer

1.1.6 - BYTE DE ENDEREAMENTO


A CPU de 8 bits possui em sua barra de endereos 16 bits que so divididos em duas partes:

A parte alta(HI-high) formada pelas linhas A15 - A8 A parte baixa(LO-low) formada pelas linhas A7-A0 A parte baixa tambm utilizada para endereamento de I/O BYTE DE DIRECIONAMENTO - usado no grupo de instrues com endereamento indexado que define a posio real da informao desejada. BYTE de dados de 16 bits (HI/LO) esta CPU apesar de ser de 8 bits, tambm pode operar com dados de 16 bits, para isso divide o operando em duas partes (HI e LO)

APLICAO 1.1

1)Qual o lugar da memria que guardado os bytes de dados? R. buffer 2) O que o opcode? R. o primeiro byte de uma instruo 3)Quantos bits contm a barra de endereos? R. 16 bits 4)Quantos bytes contm uma informao? R. apenas um byte

1.2. Arquitetura e operao da CPU Z-80

1.2. Arquitetura e operao da CPU Z80

Adder Bus 16 bits: unidirecional (A15 a A0) sua extenso de 0000H at FFFFh(64K) A parte baixa (A7 a A0) da barra de edereo gera os endereos de I/O

Bara de dados internas 8 bits : a via de comunicao da CPU com o mundo exterior: bidirecional Bara de controle : sinal de controle para I/O; Memria e a prpria CPU

1.2.1
A B D H

- Rede de Reg. do Z - 80
F C E L A B D H F C E L

O processador Z 80 tem 16 registros de 8 bits, sendo 14 para finalidades gerais e 2 registros de sinalizao. Dos 16 Reg., 8 so genercos (Operando e sinalizao) e 8 so primos (guardam os dados provisrios e parciais dos operandos)

1.2.1 - Rede de Reg. do Z - 80


A F A F

B
D H

C
E L

B
D H

C
E L

O Registro A o principal operando da CPU e tambm atua como acumulador (Guarda os resultados das operaes de lgica e aritmetica)
Este registro a porta de entrada e sada da CPU O registro A sempre o endereo de um dos operandos em operaes de lgicas e aritmticas

1.2.2 - REGISTRO DE FLAG (sinalizador)


S Z * H * P/V N C

B7

B6

B5 B4

B3

B2

B1

B0

H indica que houve carry no meio do byte isto , do bit3 para o bit 4. A CPU analisa este flag para executar ajustes nas operaes em BCD. P/V um flag de dupla funo (paridade e over flow

o flag de carry, ser setado quando houver vai um no bit 7.

1.2.2 - REGISTRO DE FLAG(sinalizador)


S Z * H * P/V N C

B7

B6

B5

B4

B3

B2

B1

B0

setado. operao de soma.

Para operaes de subitrao, e resetado para

o flag de sinal, se for setado o n negativo. Se for resetado o n positivo. Normalmente acompanha o bit 7 do acumulador
o flag zero, significa que o resultado da operao zero,ou seja indica que o acumulador est resetado.

O bit 5 e o bit 3 podem estar em qualquer estado que a CPU no toma conhecimento (dont care)

Bits do FLAGS Flag C (bit0). Este Flag indica se ocorreu vai 1 no bit7, (na soma ) ou empresta 1 (na subtrao ). O Flag C tambm ser acionado em operao de deslocamento de bits. Ex. 10000001 A (81H) + 10000100 B (84H) 1 00000101 A (05H) (vai 1) bit 7 do acumulador O mesmo fato ocorre, se houvesse um vem um (operao de subtrao) No caso acima o Flag S, ser zero, pois o bit 7 do acumulador zero

Bits do FLAGS O Flag C tambm ser acionado em operao de deslocamento de bits. Ex. C 0 10000001 A (81H) 1 00000010 A (02H)

Flag C (bit0) deslocou o bit 7 do acumulador modificando o seu contedo. No caso acima o Flag S, ser zero, pois o bit 7 do acumulador zero

Bits do Flag
Flag P/V (Bit2 ).Este Flag Possui dupla funo : i) operaes de lgica e rotaes. O Flag P/V ser setado se ocorrer um N par de uns no resultado da operao.
Ex. A or B sendo: A = 21H e B = 34H 00100001 A 00110100 B 001101 01 A O bit2 ser igual a 1 por que existe um n par de 1
A segunda funo sinalizar a ocorrncia em operaes aritmticas com bit de sinal e magnitude, o estouro de bits (over flow)

Flag P/V (Bit2 ). continuao


ii)Funes aritmticas que usam complemento a 2. Nesta condio so representados nmeros entre (+127 a -128), ou seja, os sete 1s bits representam o valor numrico, e o bit 7 representa o bit de sinal

Ex. A + B A = -21H ; B= -34H 1 1011111 (- 21H) em complemento de 2 1 1001100 (-34H ) em complemento de 2 1 1 0101011 (-55H) em complemento de 2 O flag P/V ser resetado, pois -55H est dentro da faixa. O Flag C ser setado, porque houve um carry

Exercicios 1.2.2
A CPU Z-80 executou a soma de A=-1310 com B=-510 . Determine: a) as condies dos Flags P/V e C b)o contedo do acumulador, aps o trmino da operao.

Ex. -5 10 1 1111011 comp a 2 -1310 1 1101101 comp a 2 -1810 1 1101000 comp a 2 a) P/V = 0; no houve estouro de bits. b) C = 1; pois, houve carry c)O acumulador ser carregado com 92H (-1810)

DE 1.2.6 - EXERCICIOS FLAG


1)

Quem determina o status da CPU?

R.O registro de flag (F) e o acumulador (A) 2) Se A 3Eh; F 88h; B 2Ch determine: i) A and B + B; ii) A+B ; iii) Status da CPU aps a terceira operao. i)A B A 00111110 and 00101100= 00101100 A B Ii)00101100 + 00101100 = 01011000 A Iii)A=001101000; F= 0 0 1/0 1 1/0 0 0 0 S Z * H * P/V N C

Bits do Flag(flag N eH)


Os flags H e N so utilizados em operaes aritmticas com nmeros codificados em BCD. A instruo DAA(Dec. Adjust Acumm.) analisa e ajusta estes Flags

Flag N (Bit1) ser resetado,se houver soma , e ser setado, se ocorrer subtrao. O Flag H ser setado, sempre que houver um vai 1 ou empresta 1 no meio do byte. Ex. 1 101 1001 D9H 0001 1000 18H 1111 1000 F8H H=1; houve um vai no meio do byte(do bit 3 para o bit 4) N=0; a operao foi de soma

1.2.7 - REGISTRO DE FINALIDADES ESPECIAIS


Os registro do Z-80 so compostos de 8 bits, Os pares (16 bits) de emprego geral so: BC, DE, HL para funes aritmticas de dupla preciso, e o par AF para atividade especfica O par HL armazena o resultado das operaes aritmticas de 16 bits e como apontador de endereos de memria Outros reg, especiais so: R, I. IX, IY, SP e PC

Registro vetor de interrupo ( I ) registro de 8 bits, especifica parte de um end. de memria, que juntamente com o cdigo de I/O aponta para uma ISR (instruo de sub rotina) A rotina de interrupo estar no endereo de memria gerado pela combinao do endereo de I/O e o contedo do registro I
Z - 80 1 2 LSB I/O MSB

1.2.7 - Registro para finalidades especiais

I
MEM ISR

Ao do reg. I
1) 2) 3) O dispositivo I / O solicita uma INT. O Z-80 reconhece a INT O I/O envia pelas linhas de endereos menos sgnificativos um cdigo de 8 bits, no caso 12H, que se combinar com o contedo do reg. I que ocupar os oito bits mais significativos do endereos da ISR, no caso FF12H. 4) O endereo da ISR colocado na barra de endereos onde contm os dados da Interrupo

1.2.8-REG. R-restaurao da Memria(refresh )


um registro composto de 7 bits. Este registro l e restaura memrias D-RAM ( Memria Dinmica) a cada ciclo de 2 mseg. O seu contedo enviado atravs dos LSB ( parte baixa )do Bus de endereo.
HI

B15 B14 B13 B12 B11 B10 B9 B7 B6 B5 B4 B3 B2 B1

B8 Bo

LO

1.2.9 - PC Registro contador DE programa.


O PC um registro de 16 bits que armazena a localizao da instruo corrente que est sendo buscada na memria Est disponvel ao programador(usurio) podendo

ser carregado ou armazenado.

Est sempre apontando para a instruo seguinte No permite operaes lgicas, aritmticas ou rotao com o seu conteudo

1.2. 9- Registros de ndice IX e IY


So dois registro de 16 bits que permitem

endereamento indexado nos programas do Z-80 Em uma instruo indexada , um dos registro utilizado para calcular o endereo de memria do operando

Este endereo efetivo de memria obtido, soman-

do-se o registro de ndice ao valor de 8 bits contido no campo de deslocamento da instruo ( IX +/- d) reg. dice IX/IY +/- d operando campo de deslocamento

1.2.9 - SP Stack( pilha) pointer


O SP um apontador da poro externa da memria denominada Stack O Stack externo simplesmente uma rea da memria separada para o armazenamento temporrio dos registros, do micro processador, do Flag e do PC. Este armazenamento torna-se necessrio em algumas situaes O SP aponta a ltima posio ocupada por um dado na entrada da pilha

1.2.9 STACK POINTER

1.2. 9- UNIDADE LGICA ARITIMTICA Compe a arquitetura Interna de qualuer micro processador. responsvel pela execuo das opera-es lgicas e aritimticas com operan-dos de 8 bits. Executa a operao determinada pelo Opcode da instruo. Executa a atualizao dos Flags, aps a execuo de determinsds operao. Ligado diretamente a ULA est o acumulador e um registro temporrio para dados.

1.2.11- PINAGEM DO Z-80

BARRAMENTOS 1
Barra de endereos composta pelos sinais eltricos nos pinos A15 a A0, onde A15 o bit mais significativo. So unidirecionais e assumem condio de alta impedncia (three state) quando o endereo desativado. Podemos enderear 216 de endereos de memria(64K) Para enderear dispositivos I/O a CP ocupa apenas os oito bits menos significativos da barra ( A7 a A0) O barramento de endereos do Z-80 Pode enderear 256 localidades de I/O As sete linhas formadas pelos sinais A6 a A0, conduzem o contedo do Registro R (restaurao) por certo instante de tempo durante a execuo da instruo

BARRAMENTOS 2
Barra de dados interliga a CPU com a memria e aos dispositivos I/O. So bidirecionais podendo ser colocado na condio de alta impedncia (HIGH Z). a via de comunicao da CPU Este barramento formado pelas linhas D7 a D0 O barramento de controle do Z-80 recebe sinais de entrada ou sada em diversos tips a saber: i) controle dos barramentos; ii) Operao com a memria iii) Controle de dispositivos de entrada e sada iv) controle de mquina v) Controle de interupo

Controle dos BARRAMENTOS


As barras de dados e de endereos podem ser colocadas em terceiro estado (HIGH Z), para isso dependem das linhas de controle de barramentos que so:

i) BUSREQ (requisio de barramentos). Um sinal ativado em nvel baixo.

ii) BUSAK (confirmao da requisio). Ativado em nvel baixo. Este conjunto de linhas usado nas operaes de DMA(Dirct Acess Memory) O I/O solicita o Barramento a CPU para ler ou escrever na memria aplicando um nvel lgico baixo na linha BUSREQ. A CPU aps executar a ao corrente, coloca a linha BUSAK em
nvel baixo, liberando os barramentos para o DMA

CONTROLE DA MEMRIA
Este contrle ser executado atravs de sinais com nvel lgico baixo aplicados nos pinos: MReq; RD; WR e RFSH. MReq avisa ao sistema que o barramento contm um endereo vlido de memria. Habilita o chip que compe o banco de memria Os sinais RD e WR indicam ao sistema que a operao de leitura ou escrita. Em cada ciclo, apenas um deles ser acionado. O sinal RFSH acionado quando o banco de memria composto por D-RAM, que necessita de atuali-

Controle de dispositivos I/O


Este contrle ser executado atravs de sinais com nvel lgico baixo aplicados nos pinos: IORQ; RD; WR e as linhas de endereos A7 a A0 IORQ Seleciona a operao com I/O. Quando ativada, significa que as linhas A7 a A0 contm um endereo vlido para dispositivos I/O. Os sinais RD e WR indicam ao sistema que o dispositivo I/O de leitura (entrada) ou escrita (sada). O sinal IORQ acionado em conjunto com o sinal M1 (ciclo de busca) nas operaes de interupes

Controle da CPU
Este contrle ser executado atravs de sinais com nvel lgico baixo aplicados nos pinos: M1; RESET ; WAIT e HALT M1 indica ao sistema que a CPU entrou no ciclo de busca de um OPCODE. Para cada busca de OPCODE um sinal M1 ser gerado O sinal RESET gerado para reinicializar o sistema, isto feito sempre ao se ligar o sistema (Power up) ou de modo assncrono acionando o pino correspondente. Ao se ativar o RESET os seguinte eventos ocorrer na CPU; O PC carregado com 0000H; Os braramentos vo p/Hi-Z Desabilita o sistema de INT. Exceto para NMI Os registros R e I so carregados com 00H

O sinal WAIT (ESPERA) esta associado a operao com memrias lenta ou dispositivos I/O que no possuam BUFER. Quando ativado, (WAIT ) a CPU no executa nenhum ciclo de mquina ativo, enquanto a a memria ou I/O atende a uma requisio. O sinal HALT Ao ser ativado, executa a instruo HALT (parada). Esta instruo deve ser introduzida quando: O programa executou todas as tarefas especficas O programa est esperando uma INT. Deseja-se separar na memria diversos programas Durante o ciclo HALT a CPU executa a instruo NOP, para assegurar o REFRESH das D-RAM

Controle da CPU

Sinais de controle de interrupo Defini-se como interrupo a mudana na ordem da execu-

o do programa, provocado por um dispositivo externo. (chamada de sub rotina executada por hardware). O sistema de interrupo possui duas linhas de controle que so:

INT e NMI .
A linha INT o principal controle de interrupo. Ao ser ativada (INT ) , ser reconhecida pela CPU ao final da instruo corrente se: O sistema for habilitado por software Estiver setado o IFF(IFF=1) e o sinal BUSRQ estiver desativado

Sinais de controle de interrupo


A linha NMI ao ser ativada especifica que uma interrupo no mascarvel deve ser executada. Ao ser ativada (NMI ) , ser sempre reconhecida pela CPU indenpendente de qualquer condio. O PC guarda seu contedo atual no SP(topo da pilha) e ser carregado com o endereo 0066H que o local de incio da sub rotina (ISR) PCH PCL
contedo anterior(SP)

00

66

Tempoprizao da CPU
Toda CPU dividida em ciclos bsicos. Sua base de tempo denominada ESTADO cuja durao exatamente um perodo de um pulso de clock Cada ciclo M composto de 3 a 6 estados Uma instruo gasta de 1 a 6 ciclos de mquina(M) Ciclo de mquina uma instruo especfica executada

pala CPU dentro do sistema computacional

Para uma F=2MHz

Tipos de ciclos de mquina


O micro processador Z-80 possui sete ciclos Mquina i) ciclo de busca do OPCODE ii) ciclo de escrita ou leitura em memria iii)ciclo de escrita ou leitura em I/O iv) ciclo de reconhecimento ou requisio de barramentos(BUS) v)Ciclo de reconhecimento de interrupo (INT) vi)Ciclo de reconhecimento de interrupo (NMI) vii)Ciclo de parada (HLT)

CICLO DE BUSCA DO OPCODE (M 1) 1

CICLO DE BUSCA DO OPCODE (M 1) 2

DIAGRAMA DE TEMPORIZAO (CICLO M 1)


Ciclo de busca do opcode (ciclo M1)

LDR,(HL) carrega o registrador R com o contedo da posio de memria dado pelo par HL R Memria

Ciclo de escrita e leitura em memria

ZZ
H L

0000

WW

XX YY

XXYY

ZZ

Aps a execuo da instruo o registro R estar com o seu contedo igual ZZH

LD(HL),R carrega o contedo da posio de memria dado pelo par HL, com o contedo de R. R Memria

Ciclo de escrita e leitura em memria

QQ
H L

0000

WW

XX YY

XXYY

QQ

Aps a execuo da instruo o contedo do local de memria XXYYH ser igual a QQH

DIAGRAMA TEMPORAL

CICLO DE LEITURA OU ESCRITA DA MEMRIA

CICLO DE REQUISIA DE

I/O

Em qualquer momento um I\O pode ganhar o controle das barras de dados, endereos e das linhas de controle (MREQ, RD,WR,IORQ e RFSH), habilitando o sinal BUSRQ i) o sinal BUSRQ em, nvel baixo detectado pela CPU na subida do ltimo estado T do ciclo de mquina(M1) ii) ao iniciar o prximo estado, a CPU respon-de ativando o sinal BUSAK., ento as linhas e os barrametos so colocados em HI-Z iii)A linha BURSRQ ser desativada quan-do o I/O completar a transferncia de DMA. iv) Durante a prxima subida do pulso T a CPU deleta o processo de requisio, e se no houver outra ativao de BURSRQ, continuar o processamento normal no ponto em que parou.

CICLO DE REQUISIA DE
DIAGRAMA DE TEMPO

I/O

Ciclo de requisio e reconhecimento de interrupo A requisio de interrupo pode ser feita atravs das linhas

INT e NMI
i)Para atender um pedido pela linha INT necessrio que o IFF seja ativado por software e que a linha BUSRQ no seja ativada O processo de interrupo inicia-se aps a ativao da linha INT durante a subida do ltimo T do ltimo M1 Durante o estado T1 da INT o sinal M1 habilitado, e combinao de M1 e IORQ indicam o reconhecimento da INT ii) A interrupo pela linha NMI no depende da condio do IFF. a interrupo de mais alta prioridade. Ao ser reconhecida no ltimo estado T do ltimo M1, o PC carregado com 0066H, que o endereo para o tratamento da NMI.

CICLO DE REQUISIO DE INTERRUPO

DIAGRAMA TEMPORAL

CICLO DE HALT (PARADA)


HALT (parada) este sinal hablitado automaticamente em nvel baixo pelo micro que continua a gerar o ciclo M1 sem incrementar o PC . O ciclo de HALT s ser desativado na ocorrncia de um resete (PC 0000H) ou se: receber uma NMI (PC 0066H) - o programa executou todas as tarefas - o programa est esperando uma INT - separar programas na memria sem que um interfira no outro -no HALT a CPU executa a instruo NOP, para assegurar o REFRESH nas memrias dinmicas

Ciclo de RESET
Este sinal gerado para promover uma reinicializao da CPU Ocorre quando o sistema ligado automaticamente (power-up) ou com o uso de uma chave ligada ao pino correspondente. Ao ativar o RESET teremos: PC 0000H, e a CPU executa um salto para o inicio da memria AS interrupes sero inabilitadas, exceto as NMI Os registros R e I so zerados (R = I = 00H) As barras de dados e endereos so colocadas em HI-Z Todos os sinais de controle so colocados em HI-Z

1.3 Aspectos de hardware do microprocessador 85-Z80


i) CPU e seus circuitos de apoio ii) Memrias Iii) PIO perifricos de entrada e sada Iv) Programa monitor

1.3 Aspectos de hardware do processador 85-Z80 CPU com 158 instrues com frequncia mxima de 4MHz Frequncia de trabalho 2,048MHz. Memria EPROM de 2 Kbytes, guarda o programa monitor. Seu espao vai de 0000H a 07FFH. Teclado(perifrico de entrada) 36 teclas com feedback Display (perifrico de sada) 6 dgitos de sete segmentos Programa monitor de 2Kbyte, examina os drives do sistema e da o pronto da CPU ( sub-rotinas, execuo dos programas etc) Memria RAM ocupa o espao de 1800H a 1FFFH

1) Quais so os contrles da memria? R. MREQ; RD; WR e RFSH; 2) Quais so as linhas de contrle de I/O? R. IORQ; WR e RD 3) O que ocorre quando a CPU resetada? R. O PC executa um salto incondicional para o inicio da memria; Todos os sinais de controle so desabilitado; R e I so zerados 4) Quando ocorre a leitura do OPCODE? R. No ciclo M1 5)Quais so os sinais que determinam o reconhecimento de uma INT? R. M1 e IORQ Qual a INT que para ser atendida no depende do IFF? R. NMI

1.3 Avaliao da sub unidade

1) Qual o ciclo em que a CPU executa a instruo NOP? R. HALT 2) Quantos ciclos de mquina so utilizados no ciclo de escrita e leitura de I/O? R. 3 a 4 3) Qual o sinal da CPU que reconhece uma requisio de barramento? R. BUSAK 4) Quando ocorre o salto incondicional do PC para o endereo 0066H? R. quando houver ativao do sinal NMI 5)Qual o espao da ROM do mdulo 85-Z80? R. 2Kbyte, de 0000H a 07FFH. Qual o valor de um estado T gerado pelo mdulo 85-Z80? R. 0,5S aproximadamente 91/2,048MHz

1.3 Avaliao da sub unidade

1.3 verificao da sub unidade 1) Qual o espao da RAM do mdulo 85 Z-80? R. 2Kbytes, de 1800H a 1FFFH; 2) Quando ocorre o ciclo HALT? R. ao termino do programa ou quando se quer dividir programas em etapas distintas 3) Qual o procedimento para inserir um dado em um registro da CPU Z-80? R. Calcar a tecla REG; selecione o Registro desejado;calcar a tecla DATA e escrever o dado desejado no registro 4) Modifique o contedo de 1800H para ABH. R.Calque a tecla ADDR e depois as teclas 1800, a seguir calque as teclas 3 A, em seguida calque a tecla B

1.3.1 Mdulo 85- Z80

2.1-SOFTWARE Introduo ao ASSEMBLY


O processador uma mquiona digital, logo sua linguagem mais prxima a linguagem de mquina O programa escrito em Linguagem de mquina chamado

de programa objeto (linguagem de baixo nvel -binrio) Podemos escrever um programa em Hexa decimal com o objetivo de dimuir o tamanho do mesmo Para gerar uma linguagem mais proxima da mquina foi criado o Assembly (linguagem de alto nvel - LDA,M) O assembly composto de caracteres de fcil memorizaa (MNEMNICOS - LD= LOAD =carregar) Os programas LODER e ASSEMBLER faz a converso do

2.1-SOFTWARE Introduo ao ASSEMBLY Compilador programa que interpreta uma linguagem especifca em linguagem de mquina O assembly uma linguagem cujas palavras que a compe chama-se instrues Podemos dividir as Instrues do assembly em diversos grupos separados por funo especfica (programa) que ser interpretado por um leitor (CPU) O Z-80 possui 158 instrues representadas pelo seu MNEMNICO(OPCODE).

2.1-SOFTWARE Introduo ao ASSEMBLY


As instrues do Z-80 podem ser do tipo: a) troca de informaes e Carga
Consiste em manuseio de dados d e 8 e 16 bits entre a CPU e a

memria ou entre registro

CPU REG C

MEMRIA REG D DE

HL

b) Instrues de lgicas e Aritmticas


So utilizadas para realizar soma, subtrao operaes de lgica. Podendo ainda setar e resetar bits
A 4EH 0Ch + ou B 23H 6AH = = A 71H 6EH

Transferncia de Blocos
Bloco um conjunto de bits armazenados em uma regio sequncial da memria que a CPU Z-80 pode transferir ou copiar de uma s vez.

2.1. Rotao e deslocamento


Esta instruo utilizada para deslocar os bits de uma informao para direita ou para a esquerda EX b7b6b5b4b3b2b1b0 b6b5b4b3b2b1b0 b7 100100001 00100011 91H 23H Note que o bit7 foi para o lugar do bit0

2.1.Salto, chamada para sub rotina e retorno


So usadas para modicar o contedo do PC, promovendo uma quebra de seqncia nos endereos de memria e habilitando o micro a executar outro programa especificado pela instruo. A instruo de salto apenas mudam a seqn-cia do programa

(PC) = 0033H
Salte(00XXH) salte Salte (1FFCH)

As instrues de sub rotina em instrues que se repetem ao longo do programa

Entrada e sada
Uma instruo de entrada e sada possibilita a movimentao de dados para dispositivos externos

CPU

PIO

PERF

Controle interno A CPu Z-8- possui um grupo de instrues utilizadas para o seu controle interno por sofware

2.1.5 set de instrues


O micro processador Z-80 psui um set de intrues com 158 instrues onde cada uma delas representada pelo seu mnemnico As instrues podem ser de 8 bits ou de 16bits Possui instrues especficas tal como transferncia de blocos

2.1.2-Classe
Tipos de instrues:

de instrues

Instrues so atividades especficas dentro de um programa.


O Z-80 posui um set de 158 diferentes instrues. a)Carga e trocas de informaes;

b) aritmtica e lgica;
c)Rotao e deslocamento; d)entrada e sada. As instrues podem conter 1byte(opcode) 2byte, 3byte e 4byte

CPU

MEM

CARGA OU TROCA DE INFORMAAS


ESTAS INSTRUES CONSISTE EM MANUSEAR DADOS DE 8 OU 16 BITS ENTRE A CPU E A MEMRIA E VICE - VERSA

CPU

MEM

8 BITS

H L

16bits

D E

2.1.3 Instrues lgicas e aritimeticas


Realiza soma e subtrao entre dados nos registros internos da CPU e a memria As operaes lgicas so utilizadas para realizar funes ou setar e resetar bits de um registrador

2EH

23H

51H 6FH 11H

15H OR

1AH 11H

11H

AND

Transferncia de blocos e rotao e deslocamento


O Z-80 apresenta um tipo de instruo de grande utilidade que a transferncia de blocos Um bloco um conjunto de bytes armaze-nados e,m uma localidade de memria As instrues de rotao e deslocamento so utilizadas para deslocar bits de um byte para a direita ou para esquerda e outras aplicaes
ACUMULADOR ACUMULADOR

1 0 0 1 0 0 0 1
91H

0 0 1 0 0 0 1 1 23H

1-MANIPULAO DE bits 2 - Salto, chamada de ISR e retornos


1-So instrues que comparam certos bytes e tambm modificam o contedo do registrador de FLAGS de acordo com esta comparao. Ex : COMP,r Compara o R com o contedo do acumulador e ativa principalmente o flag Z 2- As instrues de Salto so usadas para modificar o contedo do PC, promovendo uma quebra na sequn-cia de endereos de memria levando o a executar outro programa especificado pela instruo (ISR). (PC) = zzyyyH (salte)
yyxxH (salte) (salte)nnmmH wwqqH (ret)

2.1.8-Instrues de I/O 2.19- OPCODE Uma instruo de I/O pode movimentar dados para dispositivos externos(impresso-ra, vdeo,etc.)

CPU

I/O

Cada bit dentro do OPCODE determina o que o micro ir fazer Os OPCODES so compostos de bits de sinais que definem o mnemnico(fcil memorizao)

2.2 - MODO DE ENDEREAMENTO


a)definio: endereamento um dado (informao ) localizado em uma certa posio de memria ou um dispositivo de entrada e sada. O Z- 80 possui 64K de endereos diferentes e ainda 256 endereos de dispositivis I/O.

2.2-1- Endereamento imediato


formada por dois bytes, um o OPCODE e o segundo a prpria informao Ex. LD.E,2FH. Significa: carregue o registro E com o byte de dado 2FH que est locali-zado no endereo imediato ao OPCODE
2000H 2001H 2002H 2003H 2004H

opcode endereo imediato contm

XXH

o dado a ser transferido

Endereamento por registro


Esta instruo utilaza apenas um byte B7 b6 b5 b4 b3 b2 b1 b 0

2.3- Instrues de carga e armazenamento de dados


a)Esta instruo tem como mnemnico LDR,R' b) R' a fonte, local que contem o dado. c) R o destino, local para onde seguir o dado As intrues de carga podem ser de 8 ou 16 bits. Ex: LDHL, nn, que significa carregue o par HL com o dado de 16 bits nn.

2.3- Instrues de carga e armazenamento de dados(cont.)


O Z-80 contm em seu set a intruo de trnaferncia entre blocos ex. LDHL,DE isto sgnifica trocar os contedos dos pares entre s. E pode ser substituida pela instruo EX
L H E D

2.1 .3- Instrues aritmticas e lgicas

Executa operaes de soma, subtrao, setar, ressetar, e deslocar bits. Operao OR, AND, XOR, etc. A B A 4EH + = 90H

42H

2.1.3.5- Operadores lgicos de 8 e 16 bits


A CPU utiliza os registros como operando Estes registros so de 8 bits ,portanto executa operaes de 8 bits Para operaes de 16 bits utilizamos pares de registros Quando a operao de 16 bits o resultado ficar guardado no par HL

Transferncia de blocos
Esta instruo de grande utilidade uma das exclusividade do Z-80 Um bloco um conjunto de bytes armazena-dos em uma determinada regio seqencial da memria que pode ser copiada ou transferida para outra regio. ROTAO E DESLOCAMENTO Promove a rotao e deslocamento de bits para a direita como tambm para a esquerda A A
10010001 00100011

91H

23H

2.5 -Registradores de FLAGS


J apresentado na SU 1.2.1 Aplicao de exerccios Prova objetiva das SU 1.1 a 2.5 comemtrio

2.6- instrues de saltos


As instrues de salto so do tipo com endereamento relativo So instrues de JUMP, isto , o micro abandona a instruo vigente e vai executar uma sub rotina Os asltos podem condicionais ou incondicionais

2.6.1- contadores e delay


Podemos aplicar as intrues de salto para implementar contadores e circuitos de retardos(DELAY) Contadores aplicao
Delay aplicao

2.7.1instrues de sub rotina


So instrues de semelhante as instres de salto, porem com outros opcodes. Podemos executar uma tarefa de sub rotina em uma parte qualquer da memria sem interferir diretamente na instruo vigente As chamadas de sub rotinas podem ser condicionais ou incondicionais

2.8 - INSTRUES DE ENTRADA E SADA


A CPU se comunica com seus perifricos atravs da barra de endereos. Para comunicao com os I/O utilizada a parte bixa desta BUS As intrues de I/O so do tipo IN ou OUT. IN busca o dado contido no I/O OUT manda o dado para ser guardado no I/O

2.9 - sistemas de interupo


Interrupo uma inetrferncia de um I/O para exercer o domino dos barramentos da CPU - uma chamada de sub a feita por HARDWARE As inetrupes podem ser solicitadas pelas linhas INT e NMI Na linha INT a CPU s atender se estiver disponvel Na linha NMI o atendimento prioritrio

2.9.1 modos de interrupo


As interrupes podem ser requeridas a CPU de 3 modos Modo 0 atravs do resset Modo 1 atravs da linha INT Modo 2 depende da condio do IFF

3.1- introduo programao Assembly


Conceito , como visto na SU 2.1 Fluxograma uma representao grfica de um program Em um fluxograma usamos um quadrado para definir uma ao O losngulo utilizado para tomada de deciso e para mudanas de plano utilizado o triangulo

3.1 - continuao
Ex. de fluxograma

incio
LDR,R'

fim

Se o, fim

Cont.

3.2 programa fonte


O Programa fonte escrito em uma linguagem estruturada Existem dois nveis de linguagem: a) de alto nvel ASSEMBLY (programa fonte) b)linguagem baixo nvel Linguagem de mquina( binrio) Compilador cliper Interpretador Basic

3.3 formato das instrues


As instruea so classificadas em cinco categorias para o Z-80 Transferencias de dados Processamento de dados Blanch Entrada e Sada Controle

3.4.- Introduo dos dados no Mdulo 85-Z80


Exercicio prtico

3.5- TESTES EM PROGRAMAS


Exercicios no lab. Mdulo 85-Z*)

PROVA OBJETIVA
Prova Objetiva DAS SU 2.6 3.5 Comentrio da prova

Você também pode gostar