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

  1. Instruções de Pilha
  2. Instrução PUSH
  3. Instrução POP
  4. Instrução SPHL

As instruções que manipulam a pilha/stack, são responsáveis por salvar e recuperar seus dados. Normalmente utilizadas para realizar backup de registradores durante a execução de programas.

Nenhuma flag é afetada pelas instruções de pilha e apenas os pares de registradores BC(B), DE(D) PSW(A + PS) e HL(H) são suportadas pelas instruções.

A recuperação de dados da pilha deve ser feita de forma inversa ao armazenamento para que os dados salvos sejam restaurados na ordem correta e evitar assim erros.

Os registradores SP e PC não são suportados pelas instruções de pilha. Esses são manipulados por instruções de desvio e retorno de fluxo.

Notação utilizada:
#$NN Valor hexadecimal imediato
; Comentário
() Conteúdo de memória
<- Atribuição
M Endereço 16-bits contido em HL

Mais informações sobre os registradores e flags podem ser vistas em Registradores e Flags. O funcionamento da Pilha no 8080 pode ser vista em Pilha.

Com a instrução PUSH armazenar qualque um dos pares de registradores B(BC), D(DE) PSW(AF) e H(HL) na pilha.

Operação
(SP) <- P
SP <- SP - 2
(PS) <- P
Endereçamento:
Registrador PUSH P
Ex:
LXI B,#$F0F0
PUSH B

Com a instrução POP, podemos recuperar um valor contido na pilha e atribuí-lo a qualquer um dos registrador B(BC), D(DE) PSW(AF) e H(HL).

Operação
P <- (PS)
SP <- SP + 2
Endereçamento:
Registrador POP P
Ex:
LXI B,#$F0F0
LXI D, #$0F0F
PUSH B
PUSH D
POP D
POP B

A instrução SPHL move o valor de 16-bits contido no registrador H(HL) para o registrador SP. Essa instrução não possue operandos.

Operação
SP <- HL
Endereçamento:
Implícito SPHL
Exemplo:
LXI H, #$FFFF
SPHL    ;SP <- FFFF
  1. 12/12/2024 - revisão 4 - Correções e ajustes pontuais
  2. 09/09/2024 - revisão 3 - Correção em erros gramaticais
  3. 30/08/2024 - revisão 2 - Correção em links de objetivos
  4. 04/10/2023 - revisão 1 - adição de links, correção em layout, navegação e erro gramaticais
  5. 08/08/2023 - versão inicial