Objetivos
        
    
    
    
        
Interrupções
    
    
        
            
                Interrupções são o meio pelo qual um processador interrompe seu fluxo de execução para dar atenção ou 
                atender algum chamado de um periférico para um determinado tratamento. Uma vez que esse tratamento foi feito,
                o processador retorna para seu fluxo anterior.
            
            
            
                As instruções EI(Enable Interrupt) e DI(Disable Interrupt) habilitam e desabilitam o reconhecimento das interrupções respectivamente.
                A flag IFF é alterada por essas instruções mencionadas.
            
         
     
    
        VDI - Vetor de Interrupções
        
     
    
        
            
                O processador 8080 possui 8 locais reservados para armazenar código para tratamento de 
                interrupções localizados no Vetor De Interrupções entre $0000 a $003F. Esses locais são representados 
                por RST 0-8.  Cada RST possui o tamanho ou espaço de 8 bytes.
            
            
                Tab. 1: VDI 8080
                
                    
                        | Nome | 
                        Endereço | 
                        Descrição | 
                    
                
                
                    
                        | RST 0 | 
                        $0000 | 
                        Reset inicial | 
                    
                    
                        | RST 1 | 
                        $0008 | 
                        Uso definido pelo usuário | 
                    
                    
                        | RST 2 | 
                        $0010 | 
                        Uso definido pelo usuário | 
                    
                    
                        | RST 3 | 
                        $0018 | 
                        Uso definido pelo usuário | 
                    
                    
                        | RST 4 | 
                        $0020 | 
                        Uso definido pelo usuário | 
                    
                    
                        | RST 5 | 
                        $0028 | 
                        Uso definido pelo usuário | 
                    
                    
                        | RST 6 | 
                        $0030 | 
                        Uso definido pelo usuário | 
                    
                    
                        | RST 7 | 
                        $0038 | 
                        Uso definido pelo usuário | 
                    
                
            
            
                O desvio de fluxo de execução de programas para os locais RST acima são feitas utilizando as instruções 
                RST(Restart) que podem ser chamadas em qualquer local do programa.
            
            
                Com apenas 8 bytes para armazenar código para lidar com interrupções, normalmente esse espaço das RST 
                armazenam CALLs para rotinas que tratamento das interrupções.
            
            
                Interrupções externas devem utilizar um controllador de interrupções para fornecer a instrução RST 
                que deve ser invocada.
            
         
     
    
    
        
            
                O local RST 0 tem uma aplicação pré-definida que é armazenar código para o reset ou boot do sistema. 
                Quando um hardware que utiliza o 8080 como processador principal é ligado, o processador precisa buscar 
                o local onde um programa deve iniciar.  O processador sabe disso utilizando o vetor de interrupção no 
                local RST 0. 
            
         
     
    
    
        
            
                Os RST 1-7 devem ser utilizados de acordo com o hardware/computador para o qual foi projetado para utilizar o 
                8080 como processador. Normalmente são utilizados para receber interrupções de outros periféricos conectados 
                ao 8080 que não possui nenhum componente interno para gerenciar interrupções, sendo necessário 
                outros chips.
            
            Exemplo:
            RST 1		; Interrupção de vídeo
RST 2		; Interrupção de vídeo
            
                O hardware é responsável por providenciar o controle e quais RST devem ser utilizadas quando suas 
                interrupções são lançadas. 
                Como exemplo, o chip 8259(Interrupt Controller) da intel pode ser utilizado nesse tipo de situação.
            
         
     
    
    
        
            
                Quando um interrupção é reconhecida pelo 8080, o processador se comporta de acordo com os passos abaixo:
            
            
                Início de uma RST
                
                    - IFF recebe o valor 0 para desabilitar as interrupções
 
                    - Salva o endereço da próxima instrução de retorno na Pilha
 
                    - O registrador PC recebe o endereço RST0~7 de destino
 
                
                
                    Ao término da execução da rotina que lida com a interrupção, o 8080 restaura os 
                    dados salvos na pilha e retorna ao fluxo de execução principal. A instrução RTI deve ser utilizada como 
                    última instrução de uma ISR(Interrupt Service Routine).
                
                Fim de uma RST
                
                    - IFF recebe valor 1 para habilitar as interrupções
 
                    - Restaura o endereço de retorno da Pilha
 
                    - Continua fluxo anterior à interrupção
 
                
             
         
     
    
        Histórico de atualizações
        
     
    
        
            
                - 12/12/2024 - revisão 4 - Correções e ajustes pontuais
 
                - 09/09/2024 - revisão 3 - Correção em erros gramaticais, introdução, RST 2 em Tab. 1 e histórico
                 - 
                
 - 30/08/2024 - revisão 2 - Correção em links de objetivos
 
                - 04/10/2023 - revisão 1 - adição de links, correção em layout e navegação
 
                - 08/08/2023 - versão inicial
 
            
         
     
    
            
            
                
                    
                    Os cursos oferecidos nesta página são cursos fornecidos por parceiros. Ao comprar um curso clicando
                em seu banner, você está ajudando a manter o projeto TutorialDev vivo. Os sites dos cursos parceiros utilizam cookies.