Objetivos
        
    
    
    
    
        
            
                As instruções referente as flags do 6502 tem o propósito de setar ou resetar seus valores. 
                Todas as instruções abaixo utilizam o modo de endereçamento implícito.
            
            Notação utilizada:
            
                
                    
                         | 
                         | 
                    
                
                
                    
                        | <- | 
                        Atribuição | 
                    
                    
                        | ;  | 
                        Comentário | 
                    
                    
                        | 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.
            
         
     
    
        CLC - Clear Carry Flag - Limpar Flag Carry
        
     
    
        
            
                Ao executar a instrução CLC, a flag Carry tem seu valor atualizado para 0.  Essa instrução é utilizada
                em conjunto com as instruções ADC e SBC.
            
            Operação: 
            C <- 0
            Endereçamento:
            
            PS - Flags afetadas
            N: -
V: -
B: - 
D: -
Z: -
C: 0
            Ex:
            
CLC
LDA $01
ADC $01
         
     
    
        CLD - Clear Decimal Flag - LImpar Flag Decimal
        
     
    
        
            
                Ao executar a instrução CLD, a flag Decimal tem seu valor atualizado para 0 configurando o processador para
                o modo aritmética BCD para as instruções ADC e SBC.
            
            Operação: 
            D <- 0
            Endereçamento:
            
            PS - Flags afetadas
            N: -
V: -
B: - 
D: -
D: 0
Z: -
C: -
            Ex:
            
CLD
LDA $01
ADC $01
         
     
    
        CLI - Clear Interrupt Disable Flag - Limpar Flag de Interrupção
        
     
    
        
            
                Ao executar a instrução CLI, a flag Interrupt Disable tem seu valor atualizado para 0. 
                Com isso, interrupções mascaráveis(IRQ) não podem ser recebidas e executadas.
            
            Operação: 
            I <- 0
            Endereçamento: 
            
            PS - Flags afetadas
            N: -
V: -
B: - 
I: 0
D: -
Z: -
C: -
            Ex:
            
funcao:
CLI ;
; corpo da funcao
RET;
         
     
    
        CLV - Clear Overflow Flag - Limpar Flag Overflow
        
     
    
        
            
                Ao executar a instrução CLV, a flag Overflow seu valor atualizado para 0. A flag overflow diz respeito
                a mudança de sinalização quando ADC e SBC são executadas.
            
            Operação: 
             V <- 0
            Endereçamento: 
            
            PS - Flags afetadas
            N: -
V: 0
B: - 
D: -
Z: -
C: -
            Ex:
            
LDA #$05 
ADC $00
CLV
         
     
    
        SEC - Set Carry Flag - Setar Flag Carry
        
     
    
        
            
                Ao executar a instrução SEC, a flag Carry tem seu valor atualizado para 1.  Essa instrução é utilizada
                em conjunto com as instruções ADC e SBC.
            
            Operação: 
            C <- 1
            Endereçamento: 
            
            PS - Flags afetadas
            N: -
V: -
B: - 
D: -
Z: -
C: -
            Ex:
            
SEC
LDA #$01
ADC #$01
         
     
    
    
        
            
                Ao executar a instrução SED, a flag Decimal tem seu valor atualizado para 1 configurando o processador no
                modo aritmética binária para as instruções ADC e SBC.
            
            Operação: 
            D <- 0
            Endereçamento: 
            
            PS - Flags afetadas
            N: -
V: -
B: - 
D: -
D: 1
Z: -
C: -
            Ex:
            
SED ; habilita adição decimal
LDA #$09 ;
ADC $01  ; 9 + 1 = 10, não 0Ah
         
     
    
        SEI - Set Interrupt Disable Flag
        
     
    
        
            
                Ao executar a instrução SEI, a flag Interrupt Disable tem seu valor atualizado para 1. 
                Com isso, interrupções mascaráveis(IRQ) são recebidas e executadas.  
            
            Operação: 
            I <- 1
            Endereçamento: 
            
            PS - Flags afetadas
            N: -
V: -
B: - 
I: 1
Z: -
C:-
            Ex:
            
CLI ; desabilita interrupções
; corpo de função
SEI ; habilita interrupções
         
     
    
        Histórico de atualizações
        
     
    
        
            
                - 12/03/2025 - revisão 3 - adição de informações sobre uso das flags afetadas C, D e V 
 
                - 11/09/2024 - revisão 2 - adição de flags afetadas, correção em descrição/endereçamento CLV
 
                - 04/10/2023 - revisão 1 - adição de links, correção em layout e navegação
 
                - 28/04/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.