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

  1. Instruções de incremento
  2. Instrução DCR
  3. Instrução DCX

Essas instruções decrementam valor do conteúdo de um registrador ou endereço de memória em uma unidade(1). A instrução DCR afeta apenas as flags Z, S, P e AC enquanto a instrução DCX não atualiza nenhuma flags.

Notação utilizada:
#$NN Valor hexadecimal imediato
; Comentário
M Endereço 16-bits contido em HL
<- Atribuição
P Registradores BC(B) , DE(D) , HL(H)
R Registradores A, B, C, D, E , H, L
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.

A instrução DCR decrementa em 1 um valor contido em algum registrador ou valor de memória. Todas as flags, exceto Cy, são alteradas.

Operação
R <- R - 1
(M) <- (M) - 1
Endereçamento:
Registrador    INR R
Indireto INR M
F(Flags)
S: a
Z: a 
Ac:a
P: a
Cy:-
Ex:
MVI A,#$FF
DCR A ;A = FE

Essa instrução DCX decrementa em 1 o valor contido nos pares de registradores B(BC), D(DE) , H(HL) e SP apenas. Nenhuma flag é afetada.

Operação
P <- P - 1
SP <- SP - 1
Endereçamento:
Registrador    DCX P
Registrador DCX SP
F(Flags)
S: -
Z: -
Ac:-
P: -
Cy:-
Ex:
LXI SP,#$FFFF
DCX SP ; SP = FFFE
  1. 13/12/2024 - revisão 3 - Ajustes pontuais
  2. 09/09/2024 - revisão 2 - Correção em descrições e títulos de INR e DCX, adição de flags afetadas
  3. 04/10/2023 - revisão 1 - Adição de links, correção em layout e navegação
  4. 08/08/2023 - versão inicial