Objetivos
        
    
    
    
    
        
            
                O 8080 possui ao todo 13 registradores que são dividos em 2 grupos: registradores de 8 e registradores 
                de 16 bits.
            
            
                Tab. 1: Registradores 8080
                
                    
                        | 8-bits | 
                        8-bits | 
                        16-bits | 
                    
                
                
                    
                        | A | 
                        F | 
                        Par PSW | 
                    
                    
                        | B | 
                        C | 
                        Par B | 
                    
                    
                        | D | 
                        E | 
                        Par D | 
                    
                    
                        | H | 
                        L | 
                        Par H | 
                    
                
            
            Registradores de 8-bits
            
                O intel 8080 possui os registradores A,F(Flags), B, C, D, E, H e L
                que possuem o tamanho de 8-bits tendo seu uso geral com exceção de F(flags).
            
            Registradores de 16-bits
            
                Os registrador de 8-bits mencionados acima podem ser agrupados em pares, formando assim registradores 
                de 16-bits. Esses pares são pré definidos como BC, DE e HL e AF. Os registradores 
                A e F formam o PSW (Processor Status Word) mas não é utilizado como par em instruções, exceto quando
                salvo na Stack.
            
            
                Como os registradores residem na memória interna do processador, o acesso para leitura e escrita de dados 
                é muito mais rápido do que utilizar a memória, pois não utiliza o barramento de acesso a RAM que 
                consome mais tempo.
            
         
     
    
        A - Accumulator - Acumulador
        
     
    
        
            
                O registrador A é um registrador de 8-bits que é utilizado em operações aritméticas, lógicas, pilha, 
                carregamento e armazenamento de dados. Há instruções específicas que utilizam apenas o registrador A 
                implicitamente.           
            
         
     
    
        
B, C, D, E, H e L
    
    
        
            
                O 8080 possui 8 registradores B, C, D, E, H e L de 8-bits, que são usados de forma geral para armazenar 
                valores para instrução como aritméticas e outras. 
            
            
                O registrador C é utilizado como contador por algumas instruções específicas sendo 
                de uso geral em quaisquer outras instruções.
            
         
     
    
        
BC, DE e HL
    
    
        
            
                Os três pares de registradores de 16-bits podem ser usados como endereços de memória para acesso aos 
                dados em memória e também instruções aritméticas como incremento e decremento para transferência de dados. 
            
            
                Tanto o acesso direto quanto indireto aos dados contidos em memória podem ser acessados utilizando BC, DE e HL.  
                O par HL é mais utilizado para leitura e armazenamento de dados em memória.
            
            
                O par BC pode ser utilizado como contador em instruções de transferência de dados e os 
                pares DE e HL utilizados como endereços de destino ou origem.
            
         
     
    
        Program Counter - Contador de Programa
        
     
    
        
            
                O PC é um registrador de 16-bits que armazena o endereço da próxima instrução que será executada pelo processador. 
                Este registrador é incrementado ou alterado automaticamente à medida que as instruções vão sendo 
                executadas ou instruções de desvio de fluxo e pilha. 
            
         
     
    
        
Stack Pointer - Ponteiro para Pilha
    
    
        
            
                Diferente do processador 6502 , o registrador SP 
                no 8080 pode ser configurado para qualquer região de memória. Seu tamanho é de 16-bits e tem como objetivo 
                armazenar o ponteiro/pointer para o topo da pilha onde dados serão salvos e recuperados. 
            
            
                A definição do local inicial do SP é feita via programação ao iniciar um programa. A região onde a pilha 
                pode residir fica a cargo do mapeamento de memória predefinido pelo hardware utilizado.
            
            
                A pilha do processador 8080 aceita apenas que valores de 16-bits sejam salvos. Os registradores são salvos
                em pares.
            
         
     
    
        F - Flags - Processor Status 
        
     
    
        
            
                O 8080 possui um grupo de flags para que possamos entender seu status interno durante seu funcionamento. 
                instruções. 
            
            
                A alteração das flags do 8080 são dependentes das instruções. Cada grupo de instruções podem ou não alterar 
                determinadas flags.          
            
         
        
            Tab. 2: Flags 8080
            
            
                
                    | Bit 7 | 
                    Bit 6 | 
                    Bit 5 | 
                    Bit 4 | 
                    Bit 3 | 
                    Bit 2 | 
                    Bit 1 | 
                    Bit 0 | 
                
            
            
                
                    | S | 
                    Z | 
                    - | 
                    AC | 
                    - | 
                    P | 
                    - | 
                    C, Cy | 
                
            
        
     
    
        
Bit 0: Carry - Cy
    
    
        
            
                A flag C(Carry), pode ser entendida como o "Vai-um ou Vem-um" em operações aritméticas de soma e subtração. 
                Em instrução de deslocamento e rotação de bits, representa os bits mais e menos significativos.           
            
         
     
    
        
Bit 1: - 
    
    
    
        
Bit 2 : Paridade
    
    
        
            
                Utilizada para armazenar a paridade de um valor contido em um registrador. Se número de bits for par, recebe 1, caso 
                contrário 0.
            
         
     
    
        
Bit 3: -
    
    
    
        
Bit 4: Auxiliar Carry
    
    
        
            
                Possui o mesmo conceito da flag C em operações aritméticas, mas aplicado ao nibble menos significativo de 
                um registrador.
            
         
     
    
        
Bit 5: - 
    
    
    
        
Bit 6: Zero
    
    
        
            
                A flag Z(Zero) indica que o valor carregado em um registrador é igual a zero. Se for igual a zero, 
                a flag recebe o valor 1, caso contrário recebe o valor de 0.
            
         
     
    
        
Bit 7: Sign 
    
    
        
            
                A flag S indica a sinalização de um valor armazenado em um registrador. Se positivo, 
                S recebe valor 0. Caso seja negativo, S recebe o valor 1. 
            
         
     
    
        IFF - Interrupt Flip-Flop 
        
     
    
        
            
                Flag utilizada para habilitar e desabilitar o reconhecimento de interrupções. Quando seu valor é 0, 
                nenhuma interrupção é reconhecida. Quando seu valor é 1, as interrupções são reconhecidas e executadas. 
            
            
                As instruções EI e DI manipulam essa flag habilitando e desabilitando o reconhecimento 
                das interrupções respectivamente.
            
         
     
    
        Histórico de atualizações
        
     
    
        
            
                - 12/12/2024 - revisão 3 - Correções e ajustes pontuais
 
                - 09/09/2024 - revisão 2 - Correção em erros gramaticais, explicação IFF e tabelas
 
                - 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.