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

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

Essas instruções decrementam o conteúdo de um registrador ou endereço de memória em uma unidade(1).

A instrução DCR afeta as flags Z, S, P e AC enquanto a instrução DCX não afeta nenhuma flag.

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
ou
(M) <- (M) - 1
Endereçamento:
Registrador    INR R
Indireto INR M
F(Flags)
S: R/(M)[bit 7]
Z: R / (M) == 0 ? 1 : 0 
Ac: Borrow bit 4 de R / (M)
P: #num bits 1 de R / (M)
Cy:-
Ex:
MVI A,#$FF
DCR A ;A = FE

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

Operação
P <- P - 1
ou
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. 12/05/2026 - revisão 4 - Ajustes: objetivos, intro e sintaxes; Adição: como setar flags em DCR
  2. 13/12/2024 - revisão 3 - Ajustes pontuais
  3. 09/09/2024 - revisão 2 - Correção em descrições e títulos de INR e DCX, adição de flags afetadas
  4. 04/10/2023 - revisão 1 - Adição de links, correção em layout e navegação
  5. 08/08/2023 - versão inicial