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

  1. Instruções de incremento
  2. INR
  3. INX

Essas instruções incrementam o conteúdo de um registrador ou endereço de memória em uma unidade(1). INR afeta apenas as flags Z, S, P e AC enquanto instrução INX que não afeta nenhuma flag.

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

Essa instrução incrementa em 1 um valor contido em um registrador ou valor em memória.

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: Carry bit 4 de R / (M)
P: #num bits 1 de R / (M)
Cy:-
Ex:
MVI A, #$01
INR A ; A = 2

Essa instrução incrementa em 1 o valor 16-bits nos pares de registradores B(BC), D(DE), H(HL) e também SP.

Operação
P <- P + 1
ou
SP <- SP + 1
Endereçamento:
Registrador INX P
Registrador INX SP
F(Flags)
S: -
Z: -
Ac:-
P: -
Cy:-
Ex:
LXI SP,#$FFFE
INC SP ;SP = FFFF
  1. 12/05/2026 - revisão 4 - Ajustes: objetivos, intro e sintaxes; Adição: como setar flags em INR
  2. 13/12/2024 - revisão 3 - Ajustes pontuais
  3. 09/09/2024 - revisão 2 - Correção em descrição INX, adição de tabela de flags
  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