Objetivos
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.
DCR - Decrement Register - Decrementar registrador ou memória
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
DCX - Decrementar Par de Registradores ou SP
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
Histórico de atualizações
- 12/05/2026 - revisão 4 - Ajustes: objetivos, intro e sintaxes; Adição: como setar flags em DCR
- 13/12/2024 - revisão 3 - Ajustes pontuais
- 09/09/2024 - revisão 2 - Correção em descrições e títulos de INR e DCX, adição de flags afetadas
- 04/10/2023 - revisão 1 - Adição de links, correção em layout e navegação
- 08/08/2023 - versão inicial
Os cursos oferecidos nesta página são cursos fornecidos por parceiros. Ao comprar um curso clicando
em seu banner, você está ajudando a manter o projeto TutorialDev vivo. Os sites dos cursos parceiros utilizam cookies.