Objetivos
Aritmética 8-bits
As instruções aritméticas são responsáveis por realizar as operações de adição, subtração,
incremento e decremento.
As instruções mencionadas podem ser feitas sobre dados 8-bits em registradores ou
valores em memória sendo usados como operandos para as operações.
As flags de status contidas no registrador F são atualizadas de acordo com cada instrução
deste grupo.
Notação utilizada:
- A - registrador Accumulador
- r - registrador de uso geral
- n - valor 8-bits
- d - valor 8-bits sinalizado
- () - conteúdo em memória
A instrução ADD adiciona o valor contido em um registrador de uso geral, valor imediato ou
em memória ao conteúdo do registrador A. Apenas esse registrador pode ser utilizado como
destino para armazenar o resultado.
Operação:
A <- A + valor
Sintaxe
ADD
Operandos/ME:
|
| A, r |
| A, n |
| (HL) |
| (IX+d) |
| (IY+d) |
F(Flags)
S: 1 se negativo; Caso contrário, 0.
Z: 1 se igual 0; Caso contrário, 0.
H: 1 se “vai-um”; Caso contrário, 0.
P/V: 1 se overflow; Caso contrário, 0.
N: 0
C: 1 se “vai-um”; Caso contrário 0.
Exemplo:
SCF
LD A, #$FF
ADD A,#$01
A instrução ADC é semelhante à instrução ADD, exceto pelo uso da flag Carry como terceiro
operando. Um valor contido em um registrador de uso geral, valor imediato ou em memória e
a Carry são adicionados ao conteúdo do registrador A que armazena o resultado da operação.
Operação:
A <- A + valor + Carry
Sintaxe
ADC
Operandos/ME:
|
| A, r |
| A, n |
| (HL) |
| (IX+d) |
| (IY+d) |
F(Flags)
S: 1 se negativo; Caso contrário 0.
Z: 1 se igual 0; Caso contrário 0.
H: 1 se “vai-um”; Caso contrário 0.
P/V: 1 se overflow; Caso contrário 0.
N: 0
C: 1 se “vai-um”; Caso contrário 0.
Exemplo:
SCF
LD A, #$FE
ADC A,#$01
A instrução SUB subtrai o valor contido em um registrador de uso geral, valor imediato ou em
memória, do conteúdo do registrador A. Apenas esse registrador pode ser utilizado como destino
para armazenar ou acumular o resultado.
Operação:
A <- A - valor
Sintaxe
SUB
Operandos/ME:
|
| A, r |
| A, n |
| (HL) |
| (IX+d) |
| (IY+d) |
F(Flags)
S: 1 se negativo; Caso contrário 0.
Z: 1 se igual 0; Caso contrário 0.
H: 1 se “vem-um”; Caso contrário 0.
P/V: 1 se overflow; Caso contrário 0.
N: 0
C: 1 se “vem-um”; Caso contrário 0.
Exemplo:
SCF
LD A, #$FF
SUB A,#$01
A instrução SBC é semelhante à instrução SUB, exceto pelo uso da flag Carry terceiro operando.
Um valor contido em um registrador de uso geral, valor imediato ou em memória e a Carry são
subtraídos do conteúdo do registrador A que armazena o resultado da operação.
Operação:
A <- A - valor - Carry
Sintaxe
SBC
Operandos/ME:
|
| A, r |
| A, n |
| (HL) |
| (IX+d) |
| (IY+d) |
F(Flags)
S: 1 se negativo; Caso contrário, 0.
Z: 1 se igual 0; Caso contrário, 0.
H: 1 se “vem-um”; Caso contrário, 0.
P/V: 1 se overflow; Caso contrário, 0.
N: 1
C: 1 se “vem-um”; Caso contrário, 0.
Exemplo:
SCF ;Carry 1
LD A, #$FF
SBC A,#$01
;A = 00, Carry =1
A instrução INC incrementa em uma unidade o valor contido em um dos registradores de uso geral
ou valor em memória.
Operação:
r <- r + 1
ou
(valor) <- (valor) + 1
Sintaxe
INC
Operandos/ME:
F(Flags)
S: 1 se negativo; Caso contrário, 0
Z: 1 se igual 0; Caso contrário, 0
H: 1 se “vem-um”; Caso contrário, 0
P/V: 1 se 7F antes da operação; Caso contrário, 0
N: 0
C: -
Exemplo:
LD A, #$00
INC A
;A = 1
A instrução DEC realiza a operação oposta ao INC. DEC decrementa em uma unidade o valor
contido em um dos registradores de uso geral ou valor em memória.
Operação:
r <- r - 1
ou
(valor) <- (valor) - 1
Sintaxe
DEC
Operandos/ME:
F(Flags)
S: 1 se negativo; Caso contrário, 0
Z: 1 se igual 0; Caso contrário, 0
H: 1 se "vem-um"; Caso contrário, 0
P/V: 1 se 80 antes da operação; Caso contrário, 0
N: 1
C: -
Exemplo:
LD A, #$FF
DEC A
; A = FE
Histórico de atualizações
- 14/08/2026 - revisão 1 - Ajustes: intro, operandos INC/DEC e outros pontuais
- 03/08/2026 - versão inicial: ADD, ADC, SUB, SBC, INC e DEC
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.