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

  1. Instruções de decremento
  2. Instrução DEC
  3. Instrução DEX
  4. Instrução DEY

Essas instruções decrementam valor do conteúdo de um registrador ou memória em uma unidade(1). Essas instruções afetam apenas as flags N e Z apenas.

Quando um registrador ou valor em memória é igual a 0x00 ocorre o wrap-around para 0xFF acontece quando decrementado.

Notação utilizada:
#$NN Valor hexadecimal imediato
#$NNNN Endereço hexadecimal imediato
$NNNN Endereço hexadecimal
$NN ou h Valor hexadecimal
; Comentário
() Conteúdo de memória
M Endereço de Memória
<- 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.

Essa instrução DEC decrementa em 1 um valor contido em uma determinada posição de memória. As flags N e C são atualizadas de acordo com o resultado.

Operação
(M) <- (M) - 1
Endereçamento
Página Zero DEC $NN
Página Zero,X DEC $NN,X
Absoluto DEC $NNNN
Absoluto,X DEC $NNNN,X
PS - Flags afetadas
N: a
V: -
B: - 
D: -
Z: a
C: -
Ex:
LDA #$01
STA $00 ; 01
DEC $00

Essa instrução DEX decrementa em 1 o valor contido no registrador X. As flags N e C são atualizadas de acordo com o resultado.

Operação
X <- X - 1
Endereçamento
Implícito DEX
PS - Flags afetadas
N: a
V: -
B: - 
D: -
Z: a
C: -
Ex:
LDX #$01
DEX

Essa instrução DEY decrementa em 1 um valor contido no registrador Y. As flags N e C são atualizadas de acordo com o resultado.

Operação
Y <- Y - 1
Endereçamento
Implícito DEY
PS - Flags afetadas
N: a
V: -
B: - 
D: -
D: -
Z: a
C: -
Ex:
LDY #$01
DEY
  1. 12/03/2025 - revisão 4 - Correção em Ex. DEC; Ajustes pontuais
  2. 11/09/2024 - revisão 3 - adição de flags afetadas e observação wrap-around
  3. 30/08/2024 - revisão 2 - Correção em links de objetivos
  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