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

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

As instruções referente às flags do 6502 têm o propósito de setar(1) ou resetar(0) 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 binária 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) podem ser reconhecidas 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. Essa flag pode ser setada pelo pino SO.

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: 1
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 BCD para as instruções ADC e SBC.

Operação:
D <- 1
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) não são reconhecidas 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. 11/05/2026 - revisão 4 - Ajustes: objetivos, intro, flag I em CLI/SEI, modos BIN/BCD em SED/CLD e flag afetada C em SEC
  2. 12/03/2025 - revisão 3 - adição de informações sobre uso das flags afetadas C, D e V
  3. 11/09/2024 - revisão 2 - adição de flags afetadas, correção em descrição/endereçamento CLV
  4. 04/10/2023 - revisão 1 - adição de links, correção em layout e navegação
  5. 28/04/2023 - versão inicial