Buscar

Processador 8085

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 178 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 178 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 178 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Microprocessadores e Microprocessadores e MicrocontroladoresMicrocontroladores
Matheus W RomãoMatheus W. Romão
Prof. Matheus Romão
Processador 8085: ArquiteturaProcessador 8085: Arquitetura
Prof. Matheus Romão
Processador 8085: Configuração dos PinosProcessador 8085: Configuração dos Pinos
Prof. Matheus Romão
8085: Pinos 1 e 2 8085: Pinos 1 e 2 –– Circuito de ClockCircuito de Clock
•Cristal: Possui melhor estabilidade de freqüência•Cristal: Possui melhor estabilidade de freqüência.
•O Flip Flop divide a frequencia por 2. Por isso , para se ter 3MHz (frequencia de clock) é necessário o uso 
de um cristal de 6MHz (frequencia do oscilador).
•Circuito LC: É mais econômico e pode ser usado quando uma tolerância de frequencia de 10% for aceitável.
•Circuito RC: Baixo custo Porém frequencia varia bastante com a temperatura•Circuito RC: Baixo custo. Porém,frequencia varia bastante com a temperatura.
•Circuito de clock externo: Resistor pull-up serve para garantir níveis de tensão mínimo (4V) para nível lógico 
alto e máximo (0,8V) para o nível lógico baixo.Prof. Matheus Romão
8085: Pinos 3 e 36 8085: Pinos 3 e 36 –– ResetReset
RESET IN (ativo em baixo), quando baixo:
1) Zera o contador de programa (0000H).
2) Dá um reset nas habilitações das interrupções e 
nos flip flops de HLDAnos flip-flops de HLDA.
3) Coloca em tri-state os barramentos de dado, 
endereço e controle (apenas enquanto Reset in 
estiver ativo).
4) Altera o conteúdo dos registradores internos de4) Altera o conteúdo dos registradores internos de 
maneira aleatória.
Obs: Para garantir a reinicialização, o sinal RESET IN 
deve ser mantido baixo por, no mínimo, 10ms.
Reset Out (ativo em alto): Indica para dispositivos 
externos (periféricos) quando o processador está 
sendo reinicializado. Este sinal fica alto enquanto 
RESET IN estiver baixoRESET IN estiver baixo. 
Circuito de RESET: Garantir que o sinal de RESET IN fique baixo por 
no mínimo 10ms.
• Quando pressionado, o botão fecha o circuito que irá descarregar o 
capacitor.capacitor.
• O Circuito de carga é composto pelo resistor de 75KΩ e pelo 
capacitor. 
• O diodo descarrega o capacitor quando a alimentação é cortada.Prof. Matheus Romão
8085: Pinos 4 e 5 8085: Pinos 4 e 5 –– SOD / SIDSOD / SID
SID (Serial Input Data): Entrada para receber 
dados seriais vindos de um dispositivo externo.
SOD (S i l O t t D t ) S íd iSOD (Serial Output Data): Saída que envia 
dados (de maneira serial) para um dispositivo 
externo.
Prof. Matheus Romão
8085: Pinos 6 a 11 8085: Pinos 6 a 11 –– Controle de InterrupçãoControle de Interrupção
Interrupção: Interromper a execução 
normal do microprocessador.
Quando um microprocessador recebe 
uma interrupção, ele termina de 
executar a instrução em curso e passa 
t d i t ã ( b ti )a atender a interrupção (sub-rotina).
Tipos de Interrupção:
• Hardware: Causada por dispositivos periféricos.
• Software: Causada pela execução de determinadas instruções.p ç ç
Prof. Matheus Romão
8085: Controle de Interrupção8085: Controle de Interrupção
Interrupções de Hardware:
• TRAP
• RST 7.5
• RST 6.5
• RST 5.5
INTR• INTR
I t õ d S ft•Interrupções de Software:
• RST 0
• RST 1
• RST 2• RST 2
• RST 3
• RST 4
• RST 5• RST 5
• RST 6
• RST 7
Prof. Matheus Romão
8085: Controle de Interrupção 8085: Controle de Interrupção –– ClassificaçãoClassificação
• Classificação:
• Mascarável ou Não mascarável:
• Mascarável: São aquelas que podem ser habilitadas ou desabilitadas por instruções 
de software.
• Não Mascarável: Estão sempre habilitadas e não podem ser desabilitadas.
• Vetorada ou Não Vetorada:• Vetorada ou Não Vetorada:
• Vetorada: Interrupções que possuem uma localização na memória pré determinada 
(fixa) para a qual o processador será desviado para tratar a rotina de interrupção.
• Não Vetorada: A interrupção não tem uma localização fixa na memória para qual o 
processamento será desviado. O endereço da memória onde começa a rotina de 
interrupção é enviado com a interrupção.
• Ativada por borda ou ativada por nível:Ativada por borda ou ativada por nível:
• Borda: Ativadas por borda de transição (subida ou descida).
• Nível: Ativadas por níveis lógicos alto ou baixo.
• Baseada em prioridade:
• Quando há a solicitação de duas ou mais interrupções, o 
processador irá atende-las conforme uma ordem deprocessador irá atende las conforme uma ordem de 
prioridade.
Prof. Matheus Romão
8085: Controle de Interrupção 8085: Controle de Interrupção –– Interrupções Interrupções 
de Hardware: TRAPde Hardware: TRAP
•Mais alta prioridade.
•Não mascarável.
•Vetorada•Vetorada.
•Ativada por borda e por nível (ela precisa ir para 
nível alto e deverá se manter alto até que seja 
reconhecida Porta AND na figura abaixo) Issoreconhecida – Porta AND na figura abaixo). Isso 
evita falsas ativações desta prioridade em função 
de ruídos e/ou transientes.
• Para retirar este sinal de interrupção deve-se 
ativar RESET IN ou o processador deve enviar um 
sinal interno que confirme o reconhecimento do s a te o que co e o eco ec e to do
sinal de interrupção.
Assim que TRAP é reconhecido:
• 8085 termina de executar a instrução em curso.ç
• Guarda o endereço da próxima instrução em 
uma pilha.
• Passa a executar a partir do endereço 0024H 
(primeiro endereço da rotina de execução da 
interrupção TRAP).
Prof. Matheus Romão
8085: Controle de Interrupção 8085: Controle de Interrupção –– Interrupções Interrupções 
de Hardware: RST 7.5de Hardware: RST 7.5
RST 7 5 (PIN 7)RST 7.5 (PIN 7)
•Segunda maior prioridade.
•Mascarável
•Vetorada•Vetorada
•Ativada pela borda de subida.
•O sinal de interrupção fica ativo até que 
a instrução SIM (mascaramento) sejaa instrução SIM (mascaramento) seja 
executada ou um sinal de ACK seja 
gerado internamente.
Assim que RST 7.5 é reconhecido:Assim que RST 7.5 é reconhecido:
• 8085 termina de executar a instrução 
em curso.
• Guarda o endereço da próxima ç p
instrução em uma pilha.
• Passa a executar a partir do endereço 
003CH (primeiro endereço da rotina de (
execução da interrupção RST 7.5).
Prof. Matheus Romão
8085: Controle de Interrupção 8085: Controle de Interrupção –– Interrupções Interrupções 
de Hardware: RST 6.5 e RST 5.5de Hardware: RST 6.5 e RST 5.5
RST 6 5 (PIN 8)RST 6.5 (PIN 8)
•Terceira prioridade
•Mascarável (instrução SIM)
•Vetorada (0034H)•Vetorada (0034H)
•Ativada por nível
RST 5 5 (PIN 9)RST 5.5 (PIN 9)
•Quarta prioridade
•Mascarável (instrução SIM)
•Vetorada (002CH)Vetorada (002CH)
•Ativada por nível
Prof. Matheus Romão
8085: Controle de Interrupção 8085: Controle de Interrupção –– Interrupções Interrupções 
de Hardware: INTRde Hardware: INTR
INTR(PIN 10)INTR(PIN 10):
•Quinta (última) prioridade
•Mascarável
•Não Vetorada•Não Vetorada
•Ativada por nível
• Interrupção de propósito geral• Interrupção de propósito geral
• Pode direcionar o processador
para uma subrotina localizada em
um endereço arbitrário.um endereço arbitrário.
Prof. Matheus Romão
8085: Controle de Interrupção 8085: Controle de Interrupção –– Interrupções Interrupções 
de Hardwarede Hardware
Mascaramento por 
instrução:
Ei = Enable Interrupt
Di= Disable Interrupt
SIM (Set Interrupt Mask)( p )
Prof. Matheus Romão
8085: Controle de Interrupção 8085: Controle de Interrupção –– Interrupções Interrupções 
de Hardware: INTA de Hardware: INTA 
Interrupt Acknowledge (PIN 11) 
(Reconhecimento de uma requisição(Reconhecimento de uma requisição 
de interrupção).
•Sinal de saída ativo em nível lógico•Sinal de saída ativo em nível lógico 
baixo.
•Indica que o microprocessador 
reconheceu a requisição INTRreconheceu a requisição INTR.
Prof. Matheus Romão
8085: Linhas de dados/endereços:                          8085: Linhas de dados/endereços:AD0 AD0 –– AD7AD7
AD0 AD7 (Pi 19 12)AD0 – AD7 (Pins 19 –12):
• Multiplexado (transmissão de 
dados e endereços).
• Bidirecional (entrada ou saída)• Bidirecional (entrada ou saída)
• Durante o T1 (primeiro ciclo de 
máquina) A0 – A7 ficam habilitados.
• Nos estados T2 e T3 os bits de• Nos estados T2 e T3 os bits de 
endereço serão necessários. Para 
retê-los é utilizado um latch de 
endereço juntamente com um sinalendereço juntamente com um sinal 
ALE (Address Latch Enable - PIN 
30).
•Desta forma, o 8085 pode utilizar , p
AD0 – AD7 para tráfego de dados 
nos demais ciclos. 
Prof. Matheus Romão
8085: Linhas de dados/endereços:                          8085: Linhas de dados/endereços:                          
AD0 AD0 –– AD7AD7
Circuito de Latch:
• 74LS373: 8 x Flip-Flops Dp p
• O Sinal “Enable ALE” alto (durante T1) 
carrega e retêm A0-A7 na saída do 
74Ls373.
• Assim, A0-A7 só mudará quando “Enable
ALE” ficar alto novamente.
Prof. Matheus Romão
8085: Linhas de endereço: A8 8085: Linhas de endereço: A8 –– A15A15
A8 – A15 (Pins 21-28):
• Unidirecional (Saída).
• Transmissão dos bits de endereços mais a s ssão dos b ts de e de eços a s
significativos do 8085 para a memória.
• Este pinos ficam em tri-state durante 
HOLD e RESET.
Prof. Matheus Romão
8085: 8085: DriversDrivers para barramentos.para barramentos.
• Os barramentos do 8085 tem uma baixa capacidade de fornecimento/drenagem 
de corrente para/de dispositivos.p p
• Para aumentar esta capacidade, são utilizados buffers unidirecionais e 
bidirecionais.
Prof. Matheus Romão
8085:  Sinais de Status e Controle                     8085:  Sinais de Status e Controle                     
ALE ALE ‐‐ AddressAddress LatchLatch EnableEnable
ALE (Pin 30):
• Unidirecional (Saída).
• Sinal que controla o barramento 
l i l d d d / dmultiplexado dados/ endereço.
• ALE=1 : AD0-AD7 será o byte menos 
significativo do barramento de endereço.
ALE 0 AD0 AD7 á b t d• ALE=0: AD0-AD7 será o barramento de 
dados (8 Bits).
• Quando há a transição negativa de ALE, 
o endereço retido no latch é enviado parao endereço retido no latch é enviado para 
os REM localizados dentro das pastilhas 
de memória que serão conectadas ao 
80858085.
Prof. Matheus Romão
8085: Sinais de Status e Controle 8085: Sinais de Status e Controle 
S0, S1 e (Pins 29, 33 e 34).
S0 e S1 (sinais de status) informam o tipo 
de operação (fetch, leitura, escrita).
informa se é uma operação de I/O 
ou uma operação de memória.
Prof. Matheus Romão
8085: Sinais de Status e Controle 8085: Sinais de Status e Controle 
E (PIN’s 31 e 32)
-Write (ativo em baixo) : Sinal de-Write (ativo em baixo) : Sinal de 
controle utilizado para operações 
de escrita na memória ou em 
dispositivos de saída.dispositivos de saída. 
- Read (ativo em baixo) : Sinal de- Read (ativo em baixo) : Sinal de 
controle utilizado para operações 
de leitura da memória ou de 
dispositivos de entrada.dispositivos de entrada. 
E Nunca ficam baixo simultaneamente.
Prof. Matheus Romão
8085: Sinais de Status e Controle 8085: Sinais de Status e Controle 
74LS138 utilizado para implementar as saídas da 
tabela verdadetabela verdade.
Prof. Matheus Romão
8085: Sinais de Status e Controle 8085: Sinais de Status e Controle ‐‐ READYREADY
READY (Pin 35):
• Sinal utilizado para sincronizar o 8085 
di i i ifé i i lcom dispositivos periféricos mais lentos.
• Ready= 0, faz o 8085 entrar no modo de 
(WAIT) i di di itiespera (WAIT) e indica que o dispositivo 
não está pronto para enviar/receber 
dados.
• Ready=1 ocorre a transferência de• Ready=1, ocorre a transferência de 
dados.
Prof. Matheus Romão
8085: Sinais de DMA (8085: Sinais de DMA (DirectDirect Memory Access) Memory Access) 
• DMA: O microprocessador transfere o 
controle do barramento para um CI p
especializado chamado (controlador de 
DMA) para acelerar a transferência de 
dados entre o 8085 e o periférico.
• Caso contrário, os dados precisam passar 
pelo acumulador (o que retarda a operação 
de transferência).
• HOLD (Pin 39):
• Sinal enviado pelo controlador de DMA• Sinal enviado pelo controlador de DMA.
• Indica quando um controlador de DMA 
solicita o uso dos barramentos.
l l• Ex: Intel 8257 e Intel 8237.
• O controlador de DMA terá controle dos 
barramentos enquanto HOLD=1.
Prof. Matheus Romão
8085: Sinais de DMA (8085: Sinais de DMA (DirectDirect Memory Access) Memory Access) 
• HLDA (Pin 38):
• Sinal enviado pelo 8085 para confirmar a 
solicitação do controlador de DMAsolicitação do controlador de DMA.
• Quando HLDA=1, os barramentos de 
dados, endereços, e os pinos RD, WR, IO/M 
são colocados em tri‐statesão colocados em tri‐state.
• Quando HOLD volta para o nível baixo, 
HLDA também vai para baixo e o 8085 
assume o controle dos barramentosassume o controle dos barramentos 
novamente.
Prof. Matheus Romão
8085: Alimentação VCC e VSS8085: Alimentação VCC e VSS
• VCC (PIN 40) e VSS (PIN 20):• VCC (PIN 40) e VSS (PIN 20):
• VCC: Conecta‐se uma fonte de alimentação 
de 5V (tolerância de 5%). A potência 
dissipada pelo 8085 é menor que 1 5Wdissipada pelo 8085 é menor que 1,5W.
• VSS: Terra.
Prof. Matheus Romão
8085: Configuração
Interrupções não usadas são aterradas 
para evitar sinais falsos resultantes de 
entradas abertas.
Prof. Matheus Romão
8085: Ciclo de Instrução8085: Ciclo de Instrução
Prof. Matheus Romão
8085: Ciclo de Instrução8085: Ciclo de Instrução
Tf= T_Fall
Tr=T_Rise
Prof. Matheus Romão
8085: Ciclos de Máquina8085: Ciclos de Máquina
• 8085: 7 Ciclos de Máquina
Prof. Matheus Romão
8085: Ciclos de Máquina8085: Ciclos de Máquina
• Notação:
Prof. Matheus Romão
8085: Temporização de Sinais8085: Temporização de Sinais
• ALE: Ativo durante T1 de cada ciclo de 
Máquina.
Obs: Ciclo de Máquina 1 = 4 Estados
Ciclo de Máquina 2 = 3 Estados
Prof. Matheus Romão
8085: Temporização de Sinais8085: Temporização de Sinais
• Byte menos significativo de endereços (AD0 –
AD7): Ativo durante T1 de cada ciclo de 
Máquina.q
Prof. Matheus Romão
8085: Temporização de Sinais8085: Temporização de Sinais
Barramento de dados (D0 – D7): A transferência de dados (da memória ou I/O 
para 8085 ou do 8085 para memória e I/O) ocorre durante os estados T2 e T3.
• No ciclo de leitura, os dados aparecerão no barramento no fim de T2, enquanto 
no ciclo de escrita, os dados estarão no barramento no início de T2.
Isso ocorre em função do tempo de acesso à memória durante a leitura.
Leitura EscritaEscrita
Prof. Matheus Romão
8085: Temporização de Sinais8085: Temporização de Sinais
Byte mais significativo de endereços (A8 – A15): Disponível no barramento 
durante os estados T1, T2 e T3 de cada ciclo de máquina.
Prof. Matheus Romão
8085: Temporização de Sinais8085: Temporização de Sinais
Sinais de Status (S0, S1, IO/M): Estes sinais definem o tipo de ciclo de máquina 
a ser executado. Eles são ativados no estado T1 de cada ciclo de máquina e 
ficam ativos até o final de cada ciclo.
Prof. Matheus Romão
8085: Temporização de Sinais8085: Temporização de Sinais
RD e WR: Estes sinais definem a direção da transferência de dados. Quando RD 
é ativo (baixo) os dados são transmitido da memória ou dispositivo I/O para o 
8085. Quando WR está ativo (baixo), os dados são transmitidos do 8085 para a 
memória ou para um dispositivo I/O. 
Estes sinais são ativados durante os estados T2 e T3 (estados onde ocorrem a 
t f ê i d d d )transferência de dados).
Leitura Escrita
Prof. Matheus Romão
8085: Ciclos de Máquina 8085: Ciclos de Máquina –– Busca do Busca do C.OpC.Op
• Primeiro ciclo de máquina de qualquer instrução.
• O conteúdo do contador de programaé colocado nas linhas de endereço e, 
através de um processo de leitura o código da operação (Opcode) da instruçãoatravés de um processo de leitura, o código da operação (Opcode) da instrução 
é lido.
• A duração deste ciclo pode durar de 4 a 6 estados dependendo da instrução.
Prof. Matheus Romão
8085: Ciclos de Máquina 8085: Ciclos de Máquina –– Busca do Busca do C.OpC.Op
• T1:
• O 8085 coloca o conteúdo do contador de programa (PC) no barramento deO 8085 coloca o conteúdo do contador de programa (PC) no barramento de 
endereço. O byte mais significativo do PC é colocado nas linhas A8-A15 e o 
menos significativo é colocado nas linhas AD0-AD7 (que ficam ativas apenas 
durante T1.durante T1.
• O sinal ALE (Address Latch Enable) é ativado para carregar o conteúdo de 
AD0-AD7 no latch antes que ele desapareça.
• O 8085 gera também o sinal de status que indica o ciclo de busca do opcode. g q p
Prof. Matheus Romão
8085: Ciclos de Máquina 8085: Ciclos de Máquina –– Busca do Busca do C.OpC.Op
• T2:
• O byte menos significativo de endereço desaparece das linhas AD0-AD7 (embora a 
informação ainda esteja disponível nos latches que armazenaram esta informação)informação ainda esteja disponível nos latches que armazenaram esta informação).
• É emitido um sinal para leitura da memória ( ).
• A memória coloca o conteúdo do endereço acessado no barramento de dados (AD0-
AD7).)
•T3: 
• Os dados presentes no barramento de dados são carregados no registrador de instrução 
e a memória é desabilitada ( )e a memória é desabilitada ( ). 
•T4:
• O 8085 decodifica o C.Op e , com base na instrução decodificada, decide se entra no 
estado T5 ou no estado T1 do próximo ciclo de máquina.
• Instruções de um byte são executadas até T4.
•T5 e T6:•T5 e T6: 
• Quando necessários, são utilizados para a realização de operações internas do 
processador exigidas pela instrução (Ex: Escrita em pilha, retorno de operações 
condicionais). 
• Ex de instrução: PCHL: O conteúdo dos registradores H (byte mais significativo) e L (byte 
menos significativo) são carregados no contador de programa.
Prof. Matheus Romão
8085: Ciclos de Máquina – Busca do C.Op
Prof. Matheus Romão
8085: Ciclos de Máquina 8085: Ciclos de Máquina –– Leitura da memóriaLeitura da memória
• Ciclo dedicado a leitura de uma memória RAM ou ROM
• Este ciclo dura 3 estados (T1, T2 e T3).
•T1:
• O 8085 coloca nas linhas de endereço, o endereço vindo do apontador de pilha, de um 
par de registradores de propósito geral ou do contador de programa e ativa o sinal ALE p g p p g p g
para reter o byte menos significativo de endereço.
• O processador também envia o sinal de status referente ao ciclo de leitura de memória.
•T2:
• O 8085 envia um sinal de leitura da memória ( ) para acessar o dado contido no• O 8085 envia um sinal de leitura da memória ( ) para acessar o dado contido no 
endereço obtido em T1.
• A memória coloca no barramento de dados (AD0-AD7) o conteúdo deste endereço.
•T3:
• 8085 carrega o dado presente no barramento de dados em um determinado registrador ( 
A,B C,D E,H ou L) e desabilita a memória ( ).Prof. Matheus Romão
8085: Ciclos de Máquina – Leitura da memória
Prof. Matheus Romão
8085: Ciclos de Máquina 8085: Ciclos de Máquina –– Escrita na memóriaEscrita na memória
• Ciclo dedicado a armazenar dados em uma memória ou em uma pilha.
• Este ciclo dura 3 estados (T1, T2 e T3).
•T1:
• O 8085 coloca nas linhas de endereço, o endereço vindo do apontador de pilha ou de ç ç p p
um par de registradores de propósito geral e ativa o sinal ALE para reter o byte menos 
significativo de endereço.
• O processador também envia o sinal de status referente ao ciclo de escrita de memória.
•T2:•T2:
• O 8085 coloca os dados no barramento de dados e envia um sinal para escrever na 
memoria (armazenar o dado) no endereço passado ( ).
•T3:
• O Sinal para escrita na memória é colocado em nível alto, o que desabilita a memória e 
encerra a operação de escrita ( ).Prof. Matheus Romão
8085: Ciclos de Máquina – Escrita na memória
Prof. Matheus Romão
8085: Ciclos de Máquina 8085: Ciclos de Máquina –– Leitura de um Leitura de um 
dispositivo de I/Odispositivo de I/O
• Ciclo dedicado a leitura de dados de um dispositivo I/O.
• Este ciclo dura 3 estados (T1, T2 e T3).
• Semelhante ao ciclo de leitura da memória A diferença está no sinal de status• Semelhante ao ciclo de leitura da memória. A diferença está no sinal de status.
Prof. Matheus Romão
8085: Ciclos de Máquina 8085: Ciclos de Máquina –– Leitura de um Leitura de um 
dispositivo de I/Odispositivo de I/O
Prof. Matheus Romão
8085: Ciclos de Máquina 8085: Ciclos de Máquina –– Escrita em um Escrita em um 
dispositivo de I/Odispositivo de I/O
• Ciclo dedicado a enviar dados para um dispositivo I/O.
• Este ciclo dura 3 estados (T1, T2 e T3).
•Semelhante ao ciclo de escrita na memória A diferença está no sinal de Status•Semelhante ao ciclo de escrita na memória. A diferença está no sinal de Status.
Prof. Matheus Romão
8085: Ciclos de Máquina 8085: Ciclos de Máquina –– Escrita em um Escrita em um 
dispositivo de I/Odispositivo de I/O
Prof. Matheus Romão
8085: Ciclos de Máquina 8085: Ciclos de Máquina –– Reconhecimento de Reconhecimento de 
um sinal de Interrupçãoum sinal de Interrupção
• Ciclo dedicado a ler uma instrução vinda de um dispositivo periférico.
• Teoricamente, o dispositivo pode colocar no barrramento de dados qualquer instrução 
após receber do processador o reconhecimento do sinal de interrupção ( )após receber do processador o reconhecimento do sinal de interrupção ( ).
• Entretanto apenas as instruções RST e CALL salvam o conteúdo do contador de 
programa (endereço de retorno) antes de desviar o processador para a rotina de 
tratamento de interrupção.pç
Prof. Matheus Romão
8085: Ciclos de Máquina 8085: Ciclos de Máquina –– Reconhecimento de Reconhecimento de 
um sinal de Interrupção: RSTum sinal de Interrupção: RST
Três ciclos de Maquina:
M1: Decodifica RST
• Semelhante ao ciclo 
de busca do C. Op. 
• é ativado ao 
i é dinvés de .
•M2 e M3 são ciclos de 
escrita na memóriaescrita na memória 
para armazenar o 
conteúdo do PC na 
pilhapilha.
Prof. Matheus Romão
8085: Ciclos de Máquina 8085: Ciclos de Máquina –– Reconhecimento de Reconhecimento de 
um sinal de Interrupção: CALLum sinal de Interrupção: CALL
Cinco ciclos de Máquina:
• A instrução CALL envia um endereço de 2 bytes onde se inicia a rotina de tratamento de 
interrupçãointerrupção.
• Desta forma, é necessária a execução de dois ciclos de busca (um para cada byte do 
endereço) acompanhados de dois sinais de reconhecimento de solicitação de interrupção 
( ). Estas atividades são executadas nos ciclos M2 e M3.( )
• Nos ciclos M4 e M5 o conteúdo do contador de programa é escrito (armazenado) na pilha.
Prof. Matheus Romão
8085: Ciclos de Máquina 8085: Ciclos de Máquina –– BarramentoBarramento
Inoperante Inoperante 
E l it õ i l d i ã l l it• Em algumas situações, os ciclos de maquina não envolvem leitura nem 
escrita.
• Isso ocorre durante a execução das instruções DAD (que soma o conteúdo de 
um par de registradores ao conteúdo do par de registradores formado por HL) eum par de registradores ao conteúdo do par de registradores formado por HL) e 
durante a geração do C. OP para tratamento das interrupções TRAP e RST.
• Para execução de DAD são necessários 10 estados sendo 4 destes utilizados• Para execução de DAD são necessários 10 estados, sendo 4 destes utilizados 
para busca do C. OP e os outros 6 para somar os 16 bits do par de 
registradores aos 16 bits do par HL.
• Estes 6 estados são divididos em dois ciclos de maquinaque não envolvemEstes 6 estados são divididos em dois ciclos de maquina que não envolvem 
nenhuma operação na memória ou em dispositivo de I/O.
Prof. Matheus Romão
8085: Ciclos de Máquina 8085: Ciclos de Máquina –– BarramentoBarramento OciosoOcioso
Prof. Matheus Romão
Instruções do 8085Instruções do 8085
INSTRUÇÕES do 8085INSTRUÇÕES do 8085
Prof. Matheus Romão
Instruções do 8085Instruções do 8085
• Tipos:
• Operações de Transferência de Dados,
• Operações Aritméticas• Operações Aritméticas,
• Operações Lógicas,
• Operações de Salto,
O õ ilh d t d íd d• Operações com pilha, de entrada e saída e de 
controle.
Prof. Matheus Romão
Instruções do 8085: Transferência de dadosInstruções do 8085: Transferência de dados
• Carregam dados nos registradores
• Copiam dados de um registrador para outro 
registradorregistrador,
• Copiam dados de um registrador para a 
memória e vice‐versa.
• Obs: Estas instruções não afetam osObs: Estas instruções não afetam os 
registradores de Flag.
Prof. Matheus Romão
Instruções do 8085: Operações aritméticasInstruções do 8085: Operações aritméticas
• Adição: Números de 8 bits, conteúdo de um registrador ou o conteúdo de 
uma posição de memória podem ser somados ao conteúdo acumulador euma posição de memória podem ser somados ao conteúdo acumulador e 
o resultado fica armazenado no acumulador.
• Bits de carry são armazenados no flag de carry.
• Os conteúdos de dois registradores não podem ser somados diretamente.
• Para somas de 16bits, são usados pares de registradores (sendo que o par 
HL faz a função do acumulador).HL faz a função do acumulador).
• Subtração:Mesmo princípio da soma, porém o bit armazenado na flag é 
referente a um borrow
• Incremento/Decremento: Incrementa ou decrementa o conteúdo de• Incremento/Decremento: Incrementa ou decrementa o conteúdo de 
qualquer registrador, posição de memória ou par de registradores.
Prof. Matheus Romão
Instruções do 8085: Operações LógicasInstruções do 8085: Operações Lógicas
• Lógicas: AND, OR, Ex‐OR, NOT.  As operações são feitas entre um número 
de 8bits (ou o conteúdo de um registrador, ou de uma posição dade 8bits (ou o conteúdo de um registrador, ou de uma posição da 
memória) e o conteúdo do acumulador. O resultado fica no acumulador.
• Rotação para esquerda ou para a direita (saltos de 1 bit).
• Comparação: Igualdade, maior que, menor que. Mesmo princípio das 
operações lógicas.
Prof. Matheus Romão
Instruções do 8085: Operações de SaltoInstruções do 8085: Operações de Salto
• Permitem alterar a seqüência de um programa condicional ou 
incondicionalmente.incondicionalmente.
• Essa operações são feitas por meio de instruções de salto, subrotina CALL 
e RETURN e por instruções de reinicialização. 
Prof. Matheus Romão
Instruções do 8085: Operações com pilha, de Instruções do 8085: Operações com pilha, de 
entrada e saída e de controleentrada e saída e de controle
• Operações com pilha: Permite a transferência de dados de um par de 
registradores para a pilha e vice‐versaregistradores para a pilha e vice versa
• Operações I/O: Transferência de dados de 8 bits para a porta de entrada 
ou saída.
• Operações de controle: Controla as operações do processador 
(Interrupções, halt, etc.).
Prof. Matheus Romão
Instruções do 8085: Elementos das instruçõesInstruções do 8085: Elementos das instruções
• Código da operação: Especifica a instrução a ser executada (C. Op. Ou 
Opcode)Opcode)
• Fonte/Destino do operando:  Especifica diretamente a fonte e o destino do 
operando. Ex: MOV A,B = Mover conteúdo do Reg. B (fonte) para o Acc
(d ti )(destino).
• Endereço fonte do operando: Especifica o endereço onde será buscado o 
operando.
• Endereço de destino do operando: Especifica o endereço de destino de 
um operando (Ex: Resultado de uma operação)
E d d ó i i t ã I f d d ó i• Endereço da próxima instrução: Informa o endereço onde a próxima 
instrução deverá ser buscada. (Ex: JUMP 2000H especifica que a próxima 
instrução será buscada no endereço 2000H).
Prof. Matheus Romão
Instruções do 8085: Formato das InstruçõesInstruções do 8085: Formato das Instruções
• Instruções de 1 Byte: Somente o Opcode (Ex: MOV A,B).
• Instruções de 2 Bytes: Opcode + Operando (normalmente é um dado). Ex: 
MVI B, 02H.
• Instruções de 3 Bytes: Opcode + operando+ operando (Operandos
representam um endereço ou um dado de 16bits). Ex: JMP 6200H.
Prof. Matheus Romão
Instruções do 8085: 
Formato dos Opcodes
• Código dos 
registradores/Memória:registradores/Memória:
DDD: Registrador de destinog
SSS: Registrador fonte
DD: Par de registradores
D: Direção
TT: Tipo de Flag
F: Status da Flag
Prof. Matheus Romão
Instruções do 8085: 
Formato dos Opcodes
• Código dos 
registradores/Memória:
DDD: Registrador de destinog
SSS: Registrador fonte
DD: Par de registradores
D: Direção
TT: Tipo de Flag
F: Status da Flag
Prof. Matheus Romão
Formato dos Opcodes
DDD: Registrador de destinoDDD: Registrador de destino
SSS: Registrador fonte
DD: Par de registradores
D: Direção
TT: Tipo de Flag
F: Status da Flag
Ex: Opcode MVI B emEx: Opcode MVI B em 
Binario e Hex.?
• 0000 0110 = 06H
E 3EH f l• Ex: 3EH se refere a qual 
operação?
• MVI A
• Ex: 01H se refere a qual 
operação?
• LXI B (Load Immediate –
d d d 16bit )dado de 16bits).
•Ex: 5DH se refere a qual 
operação?operação?
• MOV E, L (copiar de L para 
E). Prof. Matheus Romão
Instruções do 8085: Formato dos Instruções do 8085: Formato dos OperandosOperandos
O operando pode ser:O operando pode ser:
• Endereço: 16 Bits Unsigned Integer.
• Números e dados:
• 8 Bits - Signed Integer. g g
• Sinal : Bit mais significativo: 0= Positivo e 1=Negativo.
• 8 Bits – Unsigned Integer.
• BCD (Binary Coded Decimal): Os registradores podem reter dois dígitos BCD. 
• Caracteres: Codígo ASCII = Código alfanumérico de 7 bits.
Prof. Matheus Romão
Instruções do 8085: Modos de EndereçamentoInstruções do 8085: Modos de Endereçamento
1. Imediato: O operando é o próprio dado (8 ou 16 bits). No 8085 isto é indicado 
pela letra “I” no fim do mnemônico.
• MVI; LXI
2. Direto: O operando é um endereço ; 16Bits (2 últimos Bytes da instrução).
• LDA 2000H.
3. Indireto por registrador: O endereço da memória está armazenado em um par 
de registradores.
• LDAX B = Carrega Acc com o conteúdo do par de registradores BC• LDAX B = Carrega Acc com o conteúdo do par de registradores BC.
4. Implícito: O Opcode especifica o endereço do operando.
• CMA = Complemento do conteúdo do Acc• CMA = Complemento do conteúdo do Acc.
5. Por Registrador: Os operandos são registradores.
• MOV A BMOV A, B.
Prof. Matheus Romão
Instruções do 8085:  Lista de InstruçõesInstruções do 8085:  Lista de Instruções
• Notação:
– M: Posição da memória apontada pelo par de registradores HLM: Posição da memória apontada pelo par de registradores HL
– r: Registrador de 8 bits
– Rp: Par de registradores (16 bits)
– Rs: Registrador de origem (Source Register)Rs: Registrador de origem (Source Register)
– Rd:Registrador de Destino (Destination Register)
– Addr: Endereço 16 bits ou 8 bits.
Prof. Matheus Romão
Instruções do 8085:  Lista de InstruçõesInstruções do 8085:  Lista de Instruções
Carrega o registrador especificado na instrução (A, B, C, D, E, H ou L) com o dado (8bits) também 
especificado na instrução.
Instrução de 2 Bytes.
Ciclos de máquina: 2
Número de estados:7
Opcodes
Número de estados:7
Endereçamento: Imediato
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de InstruçõesInstruções do 8085:  Lista de Instruções
MVI: Move Immediate to memory
Carrega o dado (especificado na instrução) no endereço da memória especificado no par de registradores HL.
Instruçãode 2 Bytes.
Ciclos de máquina: 3
Número de estados:10
Opcode: 36H
Número de estados:10
Endereçamento: Imediato/ Indireto por registrador
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Transferência de Dados
• MOV (Move): Copia dados (sem perda da informação da origem)
1 Entre registradores1. Entre registradores
2. Registrador para a memória
3. Memória para registrador
Copia o conteúdo do registrador (reg2) em outro 
registrador (reg1). Reg2 e Reg1 devem ser A, B, C, D, 
E, H, L
Obs: Mov A A = NOP (com um ciclo de máquina aObs: Mov A,A = NOP (com um ciclo de máquina a 
mais).
Operação: reg1 ← reg2
Instrução de 1 Byte.
Ciclos de máquina: 1
Número de estados:4
Endereçamento: RegistradorEndereçamento: Registrador
Flags envolvidas: Nenhuma
B=20H
Mov A,B = Copia 20H para A Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Transferência de Dados
• MOV: Copia dados (sem perda da informação da origem)
1 Entre registradores1. Entre registradores
2. Registrador para a memória
3. Memória para registrador
Copia o conteúdo do registrador (r) no endereço da 
memória apontado pelo par HL.
Operação: (HL) r
Instrução de 1 Byte.
Ciclos de máquina: 2
Número de estados:7
Operação: (HL)← r
Número de estados:7
Endereçamento: Indireto por Registrador
Flags envolvidas: Nenhuma
HL 2050H B 30HHL=2050H, B=30H
MOV M,B -Copiar 30H no endereço 2050H da memória
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Transferência de Dados
• MOV: Copia dados (sem perda da informação da origem)
1 Entre registradores1. Entre registradores
2. Registrador para a memória
3. Memória para registrador
Copia o conteúdo da memória no endereço indicado 
em HL para o registrador (r).
Operação: r (HL)
Instrução de 1 Byte.
Ciclos de máquina: 2
Número de estados:7
Operação: r ← (HL)
Número de estados:7
Endereçamento: Indireto por Registrador
Flags envolvidas: Nenhuma
HL 2050H C t úd 2050H 40HHL=2050H, Conteúdo em 2050H= 40H
MOV C,M 
Copiar 40H no registrador C Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Transferência de Dados
Carrega o dado de 16 bits (especificado na instrução), no par de registrador (especificado na instrução).
Par de registradores: BC, DE, HL ou Stack Pointer.
Par é especificado pelo byte mais significativoPar é especificado pelo byte mais significativo.
Rp← dado(16 bits)
Instrução de 3 Bytes.
Ciclos de máquina: 3
Número de estados:10
Endereçamento: ImediatoEndereçamento: Imediato
Flags envolvidas: Nenhuma
LXI B, 1020H 
Carrega 10H em B e 20H em CCarrega 10H em B e 20H em C.
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Transferência de Dados
STA: Store Acumulator Direct
Guarda o valor do Acumulador no endereço da memória especificado na instrução.
STA: Store Acumulator Direct
(address) ← A
Instrução de 3 Bytes.
Ciclos de máquina: 4
Número de estados:13Número de estados:13
Endereçamento: Direto
Flags envolvidas: Nenhuma
A= 50H
STA 2000H
Armazenar 50H no endereço 2000H da memória.
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Transferência de Dados
LDA: Load Acumulator Direct
Carregar o acumulador com o conteúdo da memória cujo endereço (16 bits) é especificado na instrução.
LDA: Load Acumulator Direct
A ← (address) 
Instrução de 3 Bytes.
Ciclos de máquina: 4
Número de estados:13Número de estados:13
Endereçamento: Direto
Flags envolvidas: Nenhuma
(2000H)=30H
LDA 2000H = Carrega 30H no Acumulador.LDA 2000H Carrega 30H no Acumulador.
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Transferência de Dados
SHLD: Store H and L Direct
Armazenar o conteúdo do par HL na memória.
O t úd d i t d L é d d d ó i ifi d i t ã• O conteúdo do registrador L é armazenado no endereço da memória especificado na instrução.
• O conteúdo de H é automaticamente armazenado no endereço seguinte da memória.
(address) ← L e (address+1) ← H
Instrução de 3 Bytes.
Ciclos de máquina: 5
Número de estados:16
Endereçamento: DiretoEndereçamento: Direto
Flags envolvidas: Nenhuma
H=30H e L=60H
SHLD 2500H 
- 60H é gravado no endereço 2500 e 30H é gravado no endereço 2501H.Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Transferência de Dados
LHLD: Load H and L Direct
Armazenar o conteúdo de dois endereços consecutivos da memória nos registradores HL.
O t úd d d ifi d i t ã é d L• O conteúdo do endereço especificado na instrução é armazenado em L.
• O conteúdo do endereço seguinte é automaticamente armazenado em H.
L ← (address) e H ← (address+1) 
Instrução de 3 Bytes.
Ciclos de máquina: 5
Número de estados:16
Endereçamento: DiretoEndereçamento: Direto
Flags envolvidas: Nenhuma
(2500H)=30H e (2501H)=60H
LHLD 2500H 
= 30H é gravado em L e 60H é gravado em H.Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Transferência de Dados
LDAX: Load Accumulator Indirect
• Carrega o acumulador com o conteúdo da memória apontado pelo par de registradores 
especificados na instrução.
E t d BC DE ( b t d i d é ifi d )• Este par pode ser BC ou DE (apenas o byte de maior ordem é especificado).
A ← (rp) 
Instrução de 1 Byte.
Ciclos de máquina: 2q
Número de estados:7
Endereçamento: Indireto por registrador
Flags envolvidas: Nenhuma
DE=2030H, (2030H)=80H
LDAX D 
- Carregar A com 80H Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Transferência de Dados
STAX: Store Accumulator Indirect
• Copia o conteúdo do acumulador na posição da memória apontada pelo par de registradores 
especificado na instrução.
E t d BC DE ( b t d i d é ifi d )• Este par pode ser BC ou DE (apenas o byte de maior ordem é especificado).
(rp) ← A 
Instrução de 1 Byte.
Ciclos de máquina: 2q
Número de estados:7
Endereçamento: Indireto por registrador
Flags envolvidas: Nenhuma
BC=1020H, A=50H
STAX B 
= Armazenar 50H no endereço 1020H da memória.Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Transferência de Dados
XCHG: Exchange H and L with D and Eg
Troca o conteúdo dos registradores H e L com o conteúdo dos registradores D e E
ti trespectivamente.
H <-> D L <-> EH <-> D , L <-> E
Instrução de 1 Byte.
Ciclos de máquina: 1q
Número de estados:4
Endereçamento: Registrador
Flags envolvidas: Nenhuma
DE=2040H , HL=7080H
XCHG 
H=20H, L=40H, D=70H, E=80H. Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Aritméticas
ADD: Soma o conteúdo de um registrador (especificado na instrução) ao conteúdo 
do acumulador. O resultado fica armazenado no acumulador.
A ← A+reg
Instrução de 1 Byte.
Ciclos de máquina: 1
Número de estados:4
Endereçamento: Registrador
Flags envolvidas: Z, S, P, CY, AC
Reg. D
Reg AReg.A
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Aritméticas
ADD: Soma o conteúdo do acumulador ao conteúdo do endereço de memória 
apontado pelo par HL.
N ili d• Não utiliza o carry, mas pode gerar um carry.
A← A + ( (H) + (L))
Instrução de 1 Byte.
Ciclos de máquina: 2
Número de estados:7
Endereçamento: Indireto por Registrador
Flags envolvidas: Z, S, P, CY, AC
A=20H, HL=2050H; (2050H)=10H;
ADD M;ADD M;
A=30H.
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Aritméticas
ADI: ADD IMMEDIATEADI: ADD IMMEDIATE
Adiciona o dado (8bits) especificado na instrução ao conteúdo do acumulador. O 
resultado fica armazenado no acumuladorresultado fica armazenado no acumulador.
Instrução de 2 Bytes.
A← A + data
Ciclos de máquina: 2
Número de estados:7
Endereçamento: Imediato
Flags envolvidas: Z, S, P, CY, AC
A=50H;A=50H;
ADI 70H
A=C0H. Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções– Operações Aritméticas
ADC: ADD With CarryADC: ADD With Carry
Adiciona o conteúdo do registrador especificado na instrução ao conteúdo do 
acumulador e ao valor da flag de carry O resultado fica armazenado noacumulador e ao valor da flag de carry. O resultado fica armazenado no 
acumulador.
A A + + CY
Instrução de 1 Bytes.
A← A + reg + CY
Ciclos de máquina: 1
Número de estados:4
Endereçamento: Registrador
Flags envolvidas: Z, S, P, CY, AC
A=50H; CY=1; C=20H
ADC C
A=71H.
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Aritméticas
ADC (Add memory to accumulator with Carry): Soma o conteúdo do acumulador 
ao conteúdo da posição da memória apontada pelo par HL e à flag de carry.
A← A + (HL) + CY
Instrução de 1 Bytes.
Ciclos de máquina: 2
Número de estados:7
Endereçamento: Indireto por Registrador
Flags envolvidas: Z, S, P, CY, AC
A=20H, CY=1, HL=2050H, (2050H)=30H, , , ( )
ADC M
A=51H. Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Aritméticas
ACI (Add Immediate with Carry): Soma o dado (8bits) especificado na instrução ao 
conteúdo do acumulador e ao valor da flag de carry.
A← A + data + CY
Instrução de 2 Bytes.
Ciclos de máquina: 2
Número de estados:7
Endereçamento: Imediato
Flags envolvidas: Z, S, P, CY, AC
A=30H, CY=1,
ACI 20H
A=51H. Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Aritméticas
DAD: Double Register ADD
Soma o conteúdo do par de registradores (especificado na instrução) ao conteúdo do 
par HL.
HL← HL + rp
Instrução de 1 Byte.
Ciclos de máquina: 3
Número de estados:10
Endereçamento: RegistradorEndereçamento: Registrador
Flags envolvidas: CY
DE=1020H , HL=2050H,
DAD D
HL=3070H Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Aritméticas
SUB:SUB:
Subtrai o conteúdo do registrador (especificado na instrução) ao conteúdo do 
acumulador. O resultado fica armazenado no acumulador.
A← A - reg
Instrução de 1 Byte.Instrução de 1 Byte.
Ciclos de máquina: 1
Número de estados:4
Endereçamento: Registrador
Flags envolvidas: Z, S, P, CY, ACFlags envolvidas: Z, S, P, CY, AC
A=50H , B=30H,
SUB B
A=20H Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Aritméticas
SUB M: Subtrai do acumulador o valor armazenado na posição de memória 
apontada pelo par HL.
A← A – (HL)
Instrução de 1 Byte.
Ciclos de máquina: 2
Número de estados:7Número de estados:7
Endereçamento: Indireto via Registrador
Flags envolvidas: Z, S, P, CY, AC
HL=1020H, A=50H, (1020H)=10H
SUB M
A=40HA 40H
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Aritméticas
SUI: Subtract Immediate
Subtrai do acumulador o dado (8bits) especificado na instrução e armazena o valor 
l dno acumulador.
A← A – data Cod. Op = D6H
Instrução de 2 Bytes.
Ciclos de máquina: 2
Número de estados:7
Endereçamento: ImediatoEndereçamento: Imediato
Flags envolvidas: Z, S, P, CY, AC
A=40H
SUI 20H
A=20H
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Aritméticas
SBB reg: Subtract with BorrowSBB reg: Subtract with Borrow
Subtrai do acumulador o conteúdo do registrador especificado na instrução e 
o valor contido na flag de borrow (neste caso CY) O resultado éo valor contido na flag de borrow (neste caso, CY). O resultado é 
armazenado no acumulador.
A← A - reg - CY
Instrução de 1 Byte.
Ciclos de máquina: 1
Número de estados:4
Endereçamento: RegistradorEndereçamento: Registrador
Flags envolvidas: Z, S, P, CY, AC
CY 1 C 20H A 40HCY=1, C=20H, A=40H
SBB C
A=1FH Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Aritméticas
SBB M: Subtract with BorrowSBB M: Subtract with Borrow
Subtrai do acumulador o conteúdo da memória apontado por HL e o valor 
contido na flag de borrow (neste caso CY) O resultado é armazenado nocontido na flag de borrow (neste caso, CY). O resultado é armazenado no 
acumulador.
A← A – (HL) - CY
Instrução de 1 Byte.
Ciclos de máquina: 2
Número de estados:7
Endereçamento: Indireto via RegistradorEndereçamento: Indireto via Registrador
Flags envolvidas: Z, S, P, CY, AC
CY 1 HL 2050H A 50H (2050H) 10HCY=1, HL=2050H, A=50H, (2050H)=10H
SBB M
A=3FH Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Aritméticas
SBI: Subtract Immediate with Borrow
Subtrai do acumulador o dado (8 bits) especificado na instrução e o valor da flag de 
borrow. O resultado é armazenado no acumulador.
A A d t CYA← A - data - CY
Opcode= DEH
Instrução de 2 Bytes.
Ciclos de máquina: 2
Número de estados:7
Endereçamento: ImediatoEndereçamento: Imediato
Flags envolvidas: Z, S, P, CY, AC
CY=1, A=50H
SBI 20H
A=2FH
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Aritméticas
DAA: Decimal Adjust Accumulator
Ajusta o valor da acumulador para a codificação BCD (Binary Coded Decimal).
S 4 bit i ifi ti d l d d l i• Se os 4 bits menos significativos do acumulador corresponderem a um valor maior que 
9 ou se a flag de carry auxiliar estiver ativada, DAA adiciona 6 ao acumulador.
• Se os 4 bits mais significativos do acumulador correponderem a um valor maior que 9 
ou se a flag de carry estivar ativada, DAA adiciona 6 aos 4 bits mais significativos.ou se a flag de carry estivar ativada, DAA adiciona 6 aos 4 bits mais significativos.
Opcode= 27Hp
Instrução de 1 Byte.
Ciclos de máquina: 1q
Número de estados:4
Endereçamento: Registrador
Flags envolvidas: Z, S, P, CY, AC
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Aritméticas
INR: IncrementINR: Increment
Incrementa o valor contido no registrador especificado na instrução.
Reg pode ser: A, B, C, D, E, H, LReg pode ser: A, B, C, D, E, H, L
+ 1reg← reg + 1
Instrução de 1 ByteInstrução de 1 Byte.
Ciclos de máquina: 1
Número de estados:4
Endereçamento: Registrador
Flags envolvidas: Z S P ACFlags envolvidas: Z, S, P, AC
B=10HB=10H
INR B
B=11H Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Aritméticas
INR M: Increment MemoryINR M: Increment Memory
Incrementa o valor contido na posição da memória apontada por HL.
M← M + 1
Instrução de 1 Byte
OpCode = 34H
Instrução de 1 Byte.
Ciclos de máquina:3
Número de estados:10
Endereçamento: Indireto via Registrador
Flags envolvidas: Z S P ACFlags envolvidas: Z, S, P, AC
HL=2050H (2050H)=30HHL=2050H, (2050H)=30H
INR M
(2050)=31H Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Aritméticas
INX: Increment Register Pair
• Incrementa o valor contido no par de registradores especificado na instrução.p g p ç
rp← rp + 1
Instrução de 1 Byte.
Ciclos de máquina:1
Número de estados:6
Endereçamento: Registrador
Flags envolvidas: nenhuma
HL=10FFHHL 10FFH
INX H
HL=1100H Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Aritméticas
DCR: Decrement
• Decrementa o valor contido no registrador especificado na instrução.g p ç
•Reg pode ser: A, B, C, D, E, H, L
reg← reg -1
Instrução de 1 Byte.
Ciclos de máquina:1
g g
Ciclos de máquina:1
Número de estados:4
Endereçamento: Registrador
Flags envolvidas: Z,S,P,AC
E=20H
DCR E
E=1FH
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Aritméticas
DCR: Memory Decrement
• Decrementa o valor contido no endereço da memória apontado pelo par HL.ç p p p
M← M -1 O C d 35H
Instrução de 1 Byte.
Ciclos de máquina:3
OpCode = 35H
Ciclos de máquina:3
Número de estados:10
Endereçamento: Indireto via Registrador
Flags envolvidas: Z,S,P,AC
HL=2050H, (2050H)=21H
DCR M
(2050H)=20H
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações AritméticasDCX: Decrement Register Pair
• Decrementa o valor contido no par de registradores especificado na instrução.p g p ç
Instrução de 1 Byte.
Ciclos de máquina:1
rp← rp -1
Ciclos de máquina:1
Número de estados:6
Endereçamento: Registrador
Flags envolvidas: nenhuma
DE=1020H
DCX D
DE=101FH
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Lógicas
ANA L i l AND ith A l tANA: Logical AND with Accumulator
• Efetua operação Lógica AND entre o registrador especificado na instrução e o 
conteúdo do acumuladorconteúdo do acumulador.
•Reg pode ser: A, B, C, D, E, H, L
A A ^A← A ^ reg
Instrução de 1 Byte.
Ciclos de máquina:1
Número de estados:4Número de estados:4
Endereçamento: Registrador
Flags envolvidas:Z, S, P, CY, AC
ANA B;
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Lógicas
ANAM M AND ith A l tANA M: Memory AND with Accumulator
• Efetua operação Lógica AND entre o conteúdo da memória apontado por HL e o 
conteúdo do acumuladorconteúdo do acumulador.
A← A ^ M OpCode = A6H
Instrução de 1 Byte.
Ciclos de máquina:2
Número de estados:7
Endereçamento: Indireto via RegistradorEndereçamento: Indireto via Registrador
Flags envolvidas:Z, S, P, CY, AC
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Lógicas
ANI: AND Immediate with Accumulator
Efetua operação lógica AND entre o valor contido no acumulador e o dado (8bits) 
ifi d iespecificado na instrução.
OpCode = E6H
A← A ^ data
Instrução de 2 Bytes.
Ciclos de máquina:2
Número de estados:7
Endereçamento: Imediato
Flags envolvidas:Z, S, P, CY, AC
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Lógicas
XRA: XOR with Accumulator
• Efetua a operação lógica Xor entre o valor contido no registrador especificadoEfetua a operação lógica Xor entre o valor contido no registrador especificado 
na instrução e o valor contido no acumulador.
• Reg pode ser: A, B, C, D, E, H, L
Instrução de 1 Byte.
Ciclos de máquina:1Ciclos de máquina:1
Número de estados:4
Endereçamento: Registrador
Flags envolvidas:Z, S, P, CY, AC
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Lógicas
XRA: Memory XOR with Accumulator
• Efetua a operação lógica XOr entre o valor contido no enderço da memóriaEfetua a operação lógica XOr entre o valor contido no enderço da memória 
apontado pelo par HL. 
Instrução de 1 Byte.
Ciclos de máquina:2
Número de estados:7
OpCode= AEH
Endereçamento: Indireto via Registrador
Flags envolvidas:Z, S, P, CY, AC
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Lógicas
XRI : Exclusive OR Immediate with Accumulator
Efetua a operação lógica OU Exclusivo entre o dado (8bits) especificado na 
instrução e o dado armazenado no acumulador.
OpCode= EEH
Instrução de 2 Bytes.
Ciclos de máquina:2
Número de estados:7
Endereçamento: Imediato
Flags envolvidas:Z, S, P, CY, AC
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Lógicas
OR with Accumulator
• Efetua a operação lógica OU entre o conteúdo do registrador especificado na p ç g g p
instrução e o conteúdo do acumulador.
• Reg pode ser: A, B, C, D, E, H, L
Instrução de 1 Byte.
Ciclos de máquina:1
Número de estados:4
Endereçamento: Registrador
Flags envolvidas:Z, S, P, CY, AC
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Lógicas
OR with Accumulator
Efetua a operação lógica OU entre o conteúdo da memória no endereço apontado p ç g ç p
pelo par HL e o conteúdo do acumulador.
Instrução de 1 Byte.
Ciclos de máquina:2
Número de estados:7
Endereçamento: Indireto por Registrador
Flags envolvidas:Z, S, P, CY, AC OpCode= B6H
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Lógicas
ORI: OR Immediate
Efetua a operação lógica OU entre o conteúdo do acumulador e o dado (8bits)Efetua a operação lógica OU entre o conteúdo do acumulador e o dado (8bits) 
especificado na instrução.
OpCode= F6Hp
Instrução de 2 Bytes.
Ciclos de máquina:2
Número de estados:7
E d t I di tEndereçamento: Imediato
Flags envolvidas:Z, S, P, CY, AC
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Lógicas
CMP C ith A l tCMP: Compare with Accumulator
• Efetua a subtração entre o conteúdo do registrador especificado na instrução e o 
conteúdo do acumuladorconteúdo do acumulador.
Se os conteúdos forem iguais, a flag Zero é colocada em Set. Se o conteúdo do 
acumulador for menor que o conteúdo do registrador, a flag de Carry é colocada em 
SetSet.
• Reg pode ser: A, B, C, D, E, H, L
A -reg
Instrução de 1 Byte.
Ciclos de máquina:1
Número de estados:4
Endereçamento: RegistradorEndereçamento: Registrador
Flags envolvidas:Z, S, P, CY, AC
CMP D;
Set na flag de carry.
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Lógicas
CMP C M ith A l tCMP: Compare Memory with Accumulator
• Efetua a subtração entre o conteúdo da memória localizado na posição apontada 
pelo par HL e o conteúdo do acumuladorpelo par HL e o conteúdo do acumulador.
Se os conteúdos forem iguais, a flag Zero é colocada em Set. Se o conteúdo do 
acumulador for menor que o conteúdo da memória, a flag de Carry é colocada em 
SetSet.
A – M 
Instrução de 1 Byte
OpCode= BEH
Instrução de 1 Byte.
Ciclos de máquina:2
Número de estados:7
Endereçamento: Indireto por Registrador
Flags envolvidas:Z S P CY ACFlags envolvidas:Z, S, P, CY, AC
CMP M;
Set na flag de Zero.
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Lógicas
CPI: Compare ImmediateCPI: Compare Immediate.
• Efetua a subtração entre o conteúdo do dado (8bits) especificado na instrução e o 
conteúdo do acumulador.
Se os conteúdos forem iguais, a flag Zero é colocada em Set. Se o conteúdo doSe os conteúdos forem iguais, a flag Zero é colocada em Set. Se o conteúdo do 
acumulador for menor que o dado, a flag de Carry é colocada em Set.
OpCode= FEH
A – data 
Instrução de 2 BytesInstrução de 2 Bytes.
Ciclos de máquina:2
Número de estados:7
Endereçamento: Indireto por Registrador
Flags envolvidas:Z S P CY ACFlags envolvidas:Z, S, P, CY, AC
CPI 30HCPI 30H;
Flag zero = 0 (reset)
Flag Carry= 0 (reset) Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Lógicas
STC: Set CarrySTC: Set Carry
• Set na flag de Carry
CY← 1
O C d 37H
Instrução de 1 Byte.
OpCode= 37H
ç y
Ciclos de máquina:1
Número de estados:4
Flags envolvidas:CY
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Lógicas
CMC C l t CCMC: Complement Carry
• Efetua o complemento da flag de Carry.
OpCode= 3FH
Instrução de 1 Byte.
Ciclos de máquina:1
Número de estados:4
Flags envolvidas:CY
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Lógicas
CMA C l t A l tCMA: Complement Accumulator
• Efetua o complemento do conteúdo do acumulador.
OpCode= 2FH
Instrução de 1 Byte.
Ciclos de máquina:1
Número de estados:4
Flags envolvidas:Nenhuma
A 10001000 88HA=10001000=88H
CMA;
A=01110111=77H;
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Lógicas
RLC: Rotate Accumulator Left
• Desloca o conteúdo do acumulador para a esquerda.
• O conteúdo do MSB do acumulador é colocado no LSB e também na flag CY• O conteúdo do MSB do acumulador é colocado no LSB e também na flag CY.
Instrução de 1 Byte
OpCode= 07H
Instrução de 1 Byte.
Ciclos de máquina:1
Número de estados:4
Flags envolvidas:CY
A=01010111 (57H); CY=1;
RLC;
A=10101110 (AEH)
CY=0;
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Lógicas
RRC: Rotate Accumulator Right
• Desloca o conteúdodo acumulador para a direita.
• O conteúdo do LSB do acumulador é colocado no MSB e também na flag CY• O conteúdo do LSB do acumulador é colocado no MSB e também na flag CY.
Instrução de 1 Byte
OpCode= 0FH
Instrução de 1 Byte.
Ciclos de máquina:1
Número de estados:4
Flags envolvidas:CY
A=10011010 (9AH); CY=1;
RRC;
A=01001101 (4DH)
CY=0;
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Lógicas
RAL: Rotate Left Through Carry
• Desloca o conteúdo do acumulador para a esquerda.
• O conteúdo do MSB do acumulador é colocado no CY e o conteúdo do CY é• O conteúdo do MSB do acumulador é colocado no CY e o conteúdo do CY é 
colocado no LSB.
OpCode= 17H
Instrução de 1 Byte
p
Instrução de 1 Byte.
Ciclos de máquina:1
Número de estados:4
Flags envolvidas:CY
A=10101101 (ADH); CY=0;
RAL;
A=01011010 (5AH)
CY=1;
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações Lógicas
RAR: Rotate Right Through Carry
• Desloca o conteúdo do acumulador para a direita.
• O conteúdo do LSB do acumulador é colocado no CY e o conteúdo do CY é• O conteúdo do LSB do acumulador é colocado no CY e o conteúdo do CY é 
colocado no MSB.
OpCode= 1FH
Instrução de 1 Byte
p
Instrução de 1 Byte.
Ciclos de máquina:1
Número de estados:4
Flags envolvidas:CY
A=10100011 (A3H); CY=0;
RAR;
A=01010001 (51H)
CY=1;
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações com Pilha
PUSH: Copia o conteúdo do par de registradores (especificados na instrução) na 
pilha.
PSW (Program Status Word) = Conteúdo do acumulador e o valor das FlagsPSW (Program Status Word) Conteúdo do acumulador e o valor das Flags.
• Decrementa SP (SP-1) e copia o conteúdo do byte superior do par de registradores 
na posição da memória apontada por SP-1. 
•Novamente, decrementa SP (SP-1) e copia o conteúdo do byte inferior do par de , ( ) p y p
registradores na posição da memória apontada por SP-1.
SP← SP- 1; (SP) ← rpH; SP ←SP-1; (SP) ←rpL; ( ) p ; ; ( ) p
Instrução de 1 Byte.
Ciclos de máquina:3Ciclos de máquina:3
Número de estados:13
Flags envolvidas:Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações com Pilha
SP=2000H, DE=1050H.
PUSH D;
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações com Pilha
PUSH PSW
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações com Pilha
POP: 
• Copia o conteúdo de duas posições consecutivas do SP no par de registradores 
especificado na instrução. 
• O byte inferior é retirado primeiro.
• Incrementa-se SP
• Retira o byte superior
Instrução de 1 Byte.
Ciclos de máquina:3
Nú d t d 10Número de estados:10
Endereçamento: Indireto via registrador
Flags envolvidas:Nenhuma Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações com Pilha
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações com Pilha
POP:
No caso de PSW, o conteúdo das duas posições são gravados no acumulador e no 
registrador que armazena os valores das flagsregistrador que armazena os valores das flags.
OpCode= F1HOpCode F1H
Instrução de 1 Byte.
Ciclos de máquina:3
Número de estados:10
Endereçamento: Indireto via registrador
Flags envolvidas:Z, S, P, CY, AC
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações com Pilha
SPHL: MOVE H&L to SP
• Copia o conteúdo do par de registradores HL para o SP• Copia o conteúdo do par de registradores HL para o SP. 
OpCode= F9H
SP HL
OpCode F9H
SP← HL
Instrução de 1 Byte.
Ciclos de máquina:1Ciclos de máquina:1
Número de estados:6
Endereçamento: Registrador
Flags envolvidas:Nenhuma
HL=2500H
SPHLSPHL
Copia 2500H na pilha.
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações com Pilha
XTHL: Exchange H&L with Top of StackXTHL: Exchange H&L with Top of Stack
• Troca o conteúdo de HL com o conteúdo de duas posições consecutivas da 
memória apontadas por SP.memória apontadas por SP.
• O valor de SP não se altera. OpCode= E3H
Instrução de 1 Byte.
Ciclos de máquina:5
Número de estados:16
Endereçamento: Indireto via registrador
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
JMP: JUMP
• Carrega o contador do programa (PC) com o endereço especificado na instrução.
PC← address
OpCode= C3H
PC← address
Instrução de 3 Bytes.Instrução de 3 Bytes.
Ciclos de máquina:3
Número de estados:10
Endereçamento: Imediato
Flags envolvidas: NenhumaFlags envolvidas: Nenhuma
JMP 2000HJMP 2000H
Carrega 2000H no PC.
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
J d JUMP di i lJcond: JUMP condicional
• Carrega o contador do programa (PC) com o endereço especificado na instrução se 
uma determinada condição ocorreruma determinada condição ocorrer.
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
JC J if (CY 1)JC: Jump if carry (CY=1)
OpCode= DAH
Instrução de 3 Bytes.
Ciclos de máquina:2 ou 3
p
Ciclos de máquina:2 ou 3
Número de estados:7 ou 10
Endereçamento: Imediato
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
JNC J if (CY 0)JNC: Jump if no carry (CY=0)
OpCode= D2H
Instrução de 3 Bytes.
Ciclos de máquina:2 ou 3
p
Ciclos de máquina:2 ou 3
Número de estados:7 ou 10
Endereçamento: Imediato
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
JP J if iti (S 0)JP: Jump if positive (S=0)
S= Flag de sinal
OpCode= F2H
Instrução de 3 Bytes.
Ciclos de máquina:2 ou 3
p
Ciclos de máquina:2 ou 3
Número de estados:7 ou 10
Endereçamento: Imediato
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
JM J if Mi (S 1)JM: Jump if Minus(S=1)
S= Flag de sinal
OpCode= FAH
Instrução de 3 Bytes.
Ciclos de máquina:2 ou 3
p
Ciclos de máquina:2 ou 3
Número de estados:7 ou 10
Endereçamento: Imediato
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
JPE J if P it E (P 1)JPE: Jump if Parity Even(P=1)
P= Flag de Paridade
OpCode= EAH
Instrução de 3 Bytes.
Ciclos de máquina:2 ou 3
p
Ciclos de máquina:2 ou 3
Número de estados:7 ou 10
Endereçamento: Imediato
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
JPO J if P it ODD(P 0)JPO: Jump if Parity ODD(P=0)
P= Flag de Paridade
OpCode= E2H
Instrução de 3 Bytes.
Ciclos de máquina:2 ou 3
p
Ciclos de máquina:2 ou 3
Número de estados:7 ou 10
Endereçamento: Imediato
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
JZ J if Z (Z 1)JZ: Jump if Zero(Z=1)
Z= Flag de Zero
OpCode= CAH
Instrução de 3 Bytes.
Ciclos de máquina:2 ou 3
p
Ciclos de máquina:2 ou 3
Número de estados:7 ou 10
Endereçamento: Imediato
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
JNZ J if N t Z (Z 0)JNZ: Jump if Not Zero(Z=0)
Z= Flag de Zero
OpCode= C2H
Instrução de 3 Bytes.
Ciclos de máquina:2 ou 3
p
Ciclos de máquina:2 ou 3
Número de estados:7 ou 10
Endereçamento: Imediato
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
CALL:
• Combina as instruções PUSH e JMP.
• Guarda o conteúdo de PC na pilha e armazena em PC o endereço especificado 
na instrução (desvia o processador para esse endereço). 
OpCode= CDHp
Instrução de 3 Bytes.Ciclos de máquina: 5
Número de estados:18
Endereçamento: Imediato/ Indireto via registradorç g
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
CALL Condicional:
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
CALL Condicional:
• CC: Call if carry (CY=1)
OpCode= DCH
Instrução de 3 Bytes.
Ciclos de máquina: 2 ou 5
Número de estados:9 ou18
Endereçamento: Imediato/ Indireto via registradorç g
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
CALL Condicional:
• CNC: Call if Not carry (CY=0)
OpCode= D4H
Instrução de 3 Bytes.
Ciclos de máquina: 2 ou 5
Número de estados:9 ou18
Endereçamento: Imediato/ Indireto via registradorç g
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
CALL Condicional:
• CP: Call if Positive (S=0)
OpCode= F4H
Instrução de 3 Bytes.
Ciclos de máquina: 2 ou 5
Número de estados:9 ou18
Endereçamento: Imediato/ Indireto via registradorEndereçamento: Imediato/ Indireto via registrador
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
CALL Condicional:
• CM: Call if Minus (S=1)
OpCode= FCH
Instrução de 3 Bytes.
Ciclos de máquina: 2 ou 5
Número de estados:9 ou18
Endereçamento: Imediato/ Indireto via registradorEndereçamento: Imediato/ Indireto via registrador
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
CALL Condicional:
• CPE: Call if Parity Even (P=1)
OpCode= ECH
Instrução de 3 Bytes.
Ciclos de máquina: 2 ou 5
Número de estados:9 ou18
Endereçamento: Imediato/ Indireto via registradorEndereçamento: Imediato/ Indireto via registrador
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
CALL Condicional:
• CPO: Call if Parity ODD (P=0)
OpCode= E4H
Instrução de 3 Bytes.
Ciclos de máquina: 2 ou 5
Número de estados:9 ou18
Endereçamento: Imediato/ Indireto via registradorEndereçamento: Imediato/ Indireto via registrador
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
CALL Condicional:
• CZ: Call if Zero (Z=1)
OpCode= CCH
Instrução de 3 Bytes.
Ciclos de máquina: 2 ou 5
Número de estados:9 ou18
Endereçamento: Imediato/ Indireto via registradorEndereçamento: Imediato/ Indireto via registrador
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
CALL Condicional:
• CNZ: Call if Not Zero (Z=0)
OpCode= C4H
Instrução de 3 Bytes.
Ciclos de máquina: 2 ou 5
Número de estados:9 ou18
Endereçamento: Imediato/ Indireto via registradorEndereçamento: Imediato/ Indireto via registrador
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
RET: Return From Subroutine
• Carrega o PC com o endereço de retorno• Carrega o PC com o endereço de retorno.
•Este endereço está guardado na pilha.
•Após carregar o PC, o processador volta a executar as instruções de forma 
sequencialsequencial.
OpCode= C9H
Instrução de 1 Byte.
Ciclos de máquina: 3q
Número de estados: 10
Endereçamento: Indireto via registrador
Flags envolvidas: Nenhuma Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
Return Condicional:
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
Return Condicional:
• RC: Return If Carry (CY=1)
Instrução de 1 Byte.
Ciclos de máquina: 1 ou 3
Número de estados: 6 ou 12
OpCode= D8H
Número de estados: 6 ou 12
Endereçamento: Indireto via registrador
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
Return Condicional:
• RNC: Return If No Carry (CY=0)
Instrução de 1 Byte.
Ciclos de máquina: 1 ou 3
Número de estados: 6 ou 12
OpCode= D0H
Número de estados: 6 ou 12
Endereçamento: Indireto via registrador
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
Return Condicional:
• RP: Return If Positive (S=0)
Instrução de 1 Byte.
Ciclos de máquina: 1 ou 3
Número de estados: 6 ou 12
OpCode= F0H
Número de estados: 6 ou 12
Endereçamento: Indireto via registrador
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
Return Condicional:
• RM: Return If Minus (S=1)
Instrução de 1 Byte.
Ciclos de máquina: 1 ou 3
Número de estados: 6 ou 12
OpCode= F8H
Número de estados: 6 ou 12
Endereçamento: Indireto via registrador
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
Return Condicional:
• RPE: Return If Parity Even (P=1)
Instrução de 1 Byte.
Ciclos de máquina: 1 ou 3
Número de estados: 6 ou 12
OpCode= E8H
Número de estados: 6 ou 12
Endereçamento: Indireto via registrador
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
Return Condicional:
• RPO: Return If Parity ODD (P=0)
Instrução de 1 Byte.
Ciclos de máquina: 1 ou 3
Número de estados: 6 ou 12
OpCode= E0H
Número de estados: 6 ou 12
Endereçamento: Indireto via registrador
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
Return Condicional:
• RZ: Return If Zero (Z=1)
Instrução de 1 Byte.
Ciclos de máquina: 1 ou 3
Número de estados: 6 ou 12
OpCode= C8H
Número de estados: 6 ou 12
Endereçamento: Indireto via registrador
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
Return Condicional:
• RNZ: Return If Not Zero (Z=0)
Instrução de 1 Byte.
Ciclos de máquina: 1 ou 3
Número de estados: 6 ou 12
OpCode= C0H
Número de estados: 6 ou 12
Endereçamento: Indireto via registrador
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
PCHL: MOVE H&L to Program Counter
• Carrega o conteúdo de HL no contador de Programa (PC).
PC← HL OpCode= E9H
Instrução de 1 Byte.
Ciclos de máquina: 1
PC← HL p
q
Número de estados: 6 
Endereçamento: Registrador
Flags envolvidas: Nenhuma
HL=6000H
PCHL;PCHL;
PC=6000H.
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Salto
RST: Restart
• Transfere o PC para um endereço específico da memória.
• Pode ser vista como uma instrução Call de endereços fixos (code).
Instrução de 1 Byte.
Ciclos de máquina: 3Ciclos de máquina: 3
Número de estados: 12 
Endereçamento: Indireto via Registrador
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Entrada e Saída
IN: Input From Port
• Lê os 8 bits de dados da porta cujo endereço é especificado na instrução e p j ç p ç
armazena estes dados no acumulador.
OpCode= DBH
A← (exp)A← (exp)
Instrução de 2 Bytes.
Ciclos de máquina: 3
Número de estados: 10Número de estados: 10 
Endereçamento: Direto
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Entrada e Saída
OUT: Output to Port
•Coloca o conteúdo do acumulador no barramento de dados e o número da porta p
no barramento de endereço. Como os endereços das portas está limitadoa faixa 0-
255, essa informação é duplicada no barramento de endereço (aparece em AD0-
AD7 e A8-A15.
OpCode= D3H
(exp)←A
Instrução de 2 Bytes.
Ciclos de máquina: 3
Número de estados: 10 
Endereçamento: DiretoEndereçamento: Direto
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Controle
EI: Enable Interrupts
• Habilita as interrupções• Habilita as interrupções 
O C d FBH
IE(F/F) 1
OpCode= FBH
IE(F/F)←1
Instrução de 1 Byte.
Ciclos de máquina: 1Ciclos de máquina: 1
Número de estados: 4 
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Controle
DI: Disable Interrupts
• Desabilita as interrupções• Desabilita as interrupções. 
O C d F3H
IE(F/F) 0
OpCode= F3H
IE(F/F)←0
Instrução de 1 Byte.
Ciclos de máquina: 1Ciclos de máquina: 1
Número de estados: 4 
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Controle
NOP: No Operation
• Processador não efetua nenhuma operação• Processador não efetua nenhuma operação. 
O C d 00H
Instrução de 1 Byte.
OpCode= 00H
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Controle
HLT: Halt
• Pára o Processador• Pára o Processador.
• Para reiniciar:
• Sinal de Reset
• Interrupção
OpCode= 76H
• Interrupção
Instrução de 1 Byte.
Ciclos de máquina: 1Ciclos de máquina: 1
Número de estados: 5 
Flags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Controle
SIM: Set Interrupt Mask
• Promove o mascaramento seletivo das interrupções.
E i d d d f i l l i SOD• Evia dados de forma serial pelo pino SOD. 
Instrução de 1 Byte.
Ciclos de máquina: 1
Número de estados: 4
Flags envolvidas: NenhumaFlags envolvidas: Nenhuma
Prof. Matheus Romão
Instruções do 8085:  Lista de Instruções – Operações de Controle
RIM: Read Interrupt Mask
• Copia o status das interrupções no acumulador.
• Faz a leitura serial de dados pelo pino SID.
Prof. Matheus Romão
Programação em Programação em AssemblyAssembly
• Fluxograma: Representação gráfica relacionada à execução de um programa, que 
auxilia a sua compreensão. p
Início ou Fim de um processamento
Sentido do fluxo
Operação de Entrada ou Saída
Execução de um cálculo,tarefa.
Decisão
Execução de SubrotinaExecução de Subrotina
Conector: Ligação com outra parte do fluxograma
Prof. Matheus Romão
Programação em Programação em AssemblyAssembly
Exemplo de Fluxograma:Exemplo de Fluxograma:
MVI A 20H C 20H i t d AMVI A, 20H ; Carrega 20H no registrador A
MVI B, 40H ; Carrega 40H no registrador B
ADD B ; Somar os dois números
STA 2000H ; Armazenar o resultado na posição
; 2000H da memória
HLT ; Finaliza a execução do programaHLT ; Finaliza a execução do programa
Prof. Matheus Romão
Programação em Programação em AssemblyAssembly
Código em Hexadecimal
OBS: 
MVI 2 B t (1 O C d 1 O d )MVI r: 2 Bytes (1 Op. Code + 1 Operando); 
endereçamento imediato.
ADD r: 1 Byte; endereçamento por registrador.
STA addr: 3 bytes (1 Op. Code + 2 Operandos); 
d t di tendereçamento direto
HLT : 1 Byte ; não há endereçamento
Prof. Matheus Romão
Programação em Programação em AssemblyAssembly: Exemplos: Exemplos
EX: 2
EX: 3
Prof. Matheus Romão
Programação em Programação em AssemblyAssembly: Exemplos: Exemplos
EX: 4EX: 4
EX: 5
Prof. Matheus Romão
• Referências:
• Notas de aula do prof. GURSHARAN SINGH 
TATLATATLA
• A. P. Godse D . A . Godse “Microprocessor & 
Microcontroller System” 1ª Ed.
• Intel Corporation ‐ 8080/8085 AssemblyIntel Corporation 8080/8085 Assembly
Language Programming
Prof. Matheus Romão

Outros materiais

Outros materiais