8085 Modos e interrupções de endereçamento
Agora, vamos discutir os modos de endereçamento no microprocessador 8085.
Modos de endereçamento em 8085
Estas são as instruções usadas para transferir os dados de um registro para outro registro, da memória para o registro e do registro para a memória sem qualquer alteração no conteúdo. Os modos de endereçamento em 8085 são classificados em 5 grupos -
Modo de endereçamento imediato
Nesse modo, os dados de 8/16 bits são especificados na própria instrução como um de seus operando. For example: MVI K, 20F: significa que 20F é copiado para o registro K.
Registrar modo de endereçamento
Neste modo, os dados são copiados de um registro para outro. For example: MOV K, B: significa que os dados no registro B são copiados para o registro K.
Modo de endereçamento direto
Neste modo, os dados são copiados diretamente do endereço fornecido para o registro. For example: LDB 5000K: significa que os dados no endereço 5000K são copiados para o registro B.
Modo de endereçamento indireto
Neste modo, os dados são transferidos de um registro para outro usando o endereço apontado pelo registro. For example: MOV K, B: significa que os dados são transferidos do endereço de memória apontado pelo registrador para o registrador K.
Modo de endereçamento implícito
Este modo não requer nenhum operando; os dados são especificados pelo próprio opcode.For example: CMP.
Interrompe em 8085
As interrupções são os sinais gerados pelos dispositivos externos para solicitar que o microprocessador execute uma tarefa. Existem 5 sinais de interrupção, ou seja, TRAP, RST 7.5, RST 6.5, RST 5.5 e INTR.
As interrupções são classificadas nos seguintes grupos com base em seus parâmetros -
Vector interrupt - Neste tipo de interrupção, o endereço de interrupção é conhecido pelo processador. For example: RST7.5, RST6.5, RST5.5, TRAP.
Non-Vector interrupt - Neste tipo de interrupção, o endereço de interrupção não é conhecido pelo processador, portanto, o endereço de interrupção precisa ser enviado externamente pelo dispositivo para realizar as interrupções. For example: INTR.
Maskable interrupt - Neste tipo de interrupção, podemos desabilitar a interrupção escrevendo algumas instruções no programa. For example: RST7.5, RST6.5, RST5.5.
Non-Maskable interrupt - Neste tipo de interrupção, não podemos desabilitar a interrupção escrevendo algumas instruções no programa. For example: ARMADILHA.
Software interrupt- Neste tipo de interrupção, o programador deve adicionar as instruções ao programa para executar a interrupção. Existem 8 interrupções de software em 8085, ou seja, RST0, RST1, RST2, RST3, RST4, RST5, RST6 e RST7.
Hardware interrupt - Existem 5 pinos de interrupção no 8085 usados como interrupções de hardware, ou seja, TRAP, RST7.5, RST6.5, RST5.5, INTA.
Note- NTA não é uma interrupção, ela é usada pelo microprocessador para enviar confirmação. TRAP tem a prioridade mais alta, então RST7.5 e assim por diante.
Rotina de serviço de interrupção (ISR)
Um pequeno programa ou rotina que, quando executado, atende à fonte de interrupção correspondente é chamado de ISR.
ARMADILHA
É uma interrupção não mascarável, tendo a prioridade mais alta entre todas as interrupções. Por padrão, ele fica habilitado até ser reconhecido. Em caso de falha, executa como ISR e envia os dados para a memória de backup. Esta interrupção transfere o controle para o local 0024H.
RST7.5
É uma interrupção mascarável, tendo a segunda maior prioridade entre todas as interrupções. Quando esta interrupção é executada, o processador salva o conteúdo do registro do PC na pilha e desvia para o endereço 003CH.
RST 6.5
É uma interrupção mascarável, tendo a terceira prioridade mais alta entre todas as interrupções. Quando esta interrupção é executada, o processador salva o conteúdo do registro do PC na pilha e desvia para o endereço 0034H.
RST 5.5
É uma interrupção mascarável. Quando essa interrupção é executada, o processador salva o conteúdo do registro do PC na pilha e desvia para o endereço 002CH.
INTR
É uma interrupção mascarável, tendo a prioridade mais baixa entre todas as interrupções. Ele pode ser desativado reiniciando o microprocessador.
Quando INTR signal goes high, os seguintes eventos podem ocorrer -
O microprocessador verifica o status do sinal INTR durante a execução de cada instrução.
Quando o sinal INTR está alto, o microprocessador conclui sua instrução atual e envia o sinal de confirmação de interrupção baixa ativo.
Quando as instruções são recebidas, o microprocessador salva o endereço da próxima instrução na pilha e executa a instrução recebida.