Clique sobre os objetivos listados abaixo para navegar até o conteúdo desejado.

  1. Instruções para flags
  2. Instrução CLC
  3. Instrução CLD
  4. Instrução CLI
  5. Instrução CLV
  6. Instrução SEC
  7. Instrução SED
  8. Instrução SEI

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.

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:
Implícito CLC
PS - Flags afetadas
N: -
V: -
B: - 
D: -
Z: -
C: 0
Ex:
CLC
LDA $01
ADC $01

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:
Implícito CLD
PS - Flags afetadas
N: -
V: -
B: - 
D: -
D: 0
Z: -
C: -
Ex:
CLD
LDA $01
ADC $01

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:
Implícito CLI
PS - Flags afetadas
N: -
V: -
B: - 
I: 0
D: -
Z: -
C: -
Ex:
funcao:
CLI ;
; corpo da funcao
RET;

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:
Implícito CLV
PS - Flags afetadas
N: -
V: 0
B: - 
D: -
Z: -
C: -
Ex:
LDA #$05 
ADC $00
CLV

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:
Implícito SEC
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:
Implícito SED
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

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:
Implícito SEI
PS - Flags afetadas
N: -
V: -
B: - 
I: 1
Z: -
C:-
Ex:
CLI ; desabilita interrupções
; corpo de função
SEI ; habilita interrupções
  1. 12/03/2025 - revisão 3 - adição de informações sobre uso das flags afetadas C, D e V
  2. 11/09/2024 - revisão 2 - adição de flags afetadas, correção em descrição/endereçamento CLV
  3. 04/10/2023 - revisão 1 - adição de links, correção em layout e navegação
  4. 28/04/2023 - versão inicial