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

  1. Instruções de Pilha
  2. PUSH
  3. POP
  4. 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 e passagem de argumento para subrotinas..

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 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, retorno de fluxo e interrupções.

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 podemos armazenar qualquer 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
F(Flags)
S: -
Z: -
Ac: -
P: -
Cy:-
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 pares B(BC), D(DE) PSW(AF) ou H(HL).

Operação
P <- (PS)
SP <- SP + 2
Endereçamento:
Registrador POP P
F(Flags)
S: -
Z: -
Ac: -
P: -
Cy:-
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 possui operandos.

Operação
SP <- HL
Endereçamento:
Implícito SPHL
F(Flags)
S: -
Z: -
Ac: -
P: -
Cy:-
Exemplo:
LXI H, #$FFFF
SPHL    ;SP <- FFFF
  1. 12/05/2026 - revisão 5 - Ajustes: objetivos, intro, descrições PUSH,POP e SPHL
  2. 12/12/2024 - revisão 4 - Correções e ajustes pontuais
  3. 09/09/2024 - revisão 3 - Correção em erros gramaticais
  4. 30/08/2024 - revisão 2 - Correção em links de objetivos
  5. 04/10/2023 - revisão 1 - adição de links, correção em layout, navegação e erro gramaticais
  6. 08/08/2023 - versão inicial