Objetivos
        
    
    
    
    
        
            
                As instruções referente as flags, Carry e IFF do 8080, tem o propósito de setar(1)
                ou resetar(0) seus valores. As instruções abaixo utilizam o modo de endereçamento implícito.
            
            Notação utilizada:
            
                
                    
                         | 
                         | 
                    
                
                
                    
                        | <- | 
                        Atribuição | 
                    
                    
                        | ! | 
                        Complemento | 
                    
                    
                        | ;  | 
                        Comentário | 
                    
                    
                        | <-  | 
                        Atribuição | 
                    
                    
                        | Flags | 
                         | 
                    
                    
                        | a | 
                        Alterada de acordo com resultado | 
                    
                    
                        | - | 
                        Não sofre alteração | 
                    
                    
                        | 0 | 
                        Sempre zero | 
                    
                    
                        | 1 | 
                        Sempre um | 
                    
                
            
            
                Mais informações sobre os registradores e flags podem ser vistas
                em Registradores e Flags.
            
            
                Mais informações sobre interrupção podem ser vistas em 
                Interrupções.
            
         
     
    
    
        
            
                Ao executar a instrução STC, a flag Carry tem seu valor atualizado para 1.  Essa instrução
                pode ser utilizada em conjunto com instruções aritméticas.
            
            Operação: 
            Cy <- 1
            Endereçamento:
            
            F(Flags)
            S: -
Z: -
Ac:-
P: -
Cy:1
            Ex:
            STC
ADD B ;  A + B + 1
         
     
    
    
        
            
                Utilizando a instrução CMC, podemos inverter o valor contido na flag Carry. Essa instrução
                pode ser utilizada em conjunto com instruções aritméticas.
            
            Operação: 
            Cy <- !Cy
1 -> 0
0 -> 1
            Endereçamento:
            
            F(Flags)
            S: -
Z: -
Ac:-
P: -
Cy:0
            Ex:
            
ADD A,#01
CMC
         
     
    
        DI - Disabilitar Interrupções
        
     
    
        
            
                Ao executar a instrução DI, a flag IFF é atualizado para o valor 0 que faz 
                com que as interrupções não sejam reconhecidas e executadas.
            
            Operação: 
            IFF <- 0
            Endereçamento: 
            
            F(Flags)
            S: -
Z: -
Ac:-
P: -
Cy:-
            Ex:
            
funcao:
DI
; manipulação de dados
RET
         
     
    
        EI - Clear Overflow Flag - Limpar Flag Overflow
        
     
    
        
            
                Ao executar a instrução EI, a flag IFF é atualizada para 1 fazendo com que 
                as interrupções sejam reconhecidas e executadas. 
            
            Operação: 
             IFF <- 1
            Endereçamento: 
            
            F(Flags)
            S: -
Z: - 
Ac:-
P: -
Cy:-
            Ex:
            
funcao:
DI;
; manipulação de dados
EI
RET
         
     
    
        Histórico de atualizações
        
     
    
        
            
                - 10/12/2024 - revisão 3 - correção em intro e instrução CMC
 
                - 09/09/2024 - revisão 2 - correção em erros gramaticais, exemplos, adição de flags afetadas
 
                - 04/10/2023 - revisão 1 - adição de links, correção em layout, navegação e erros gramaticais
 
                - 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.