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

  1. Entender o funcionamento da Pilha(Stack)

A Stack(Pilha) do 8080, diferente do 6502, não possui um local pré-definido ou fixo. A pilha do 8080 pode ser configurada para residir em qualquer local dos 64K disponíveis. O valor inicial do SP é indefinido e pode ser configurado utilizando a instrução LXI.

Ex: SP apontando para fim da memória

LXI SP,0FFFFh 

O registrador SP é responsável por armazenar o endereço/ponteiro do topo da pilha, e através dele as instruções para armazenar e recuperar dados da pilha são feitas.

As instruções do tipo PUSH e POP são responsáveis pelo armazenamento e remoção de dados na pilha respectivamente.

O SP é decrementado em duas unidades quando a instruções PUSH é executada e incrementado em duas unidades quando a instrução POP é executada.

Tab. 1: Pilha e PUSH/POP
Pilha PUSH POP
$FFFF (Topo) SP-2



SP+2
$XXXX (Base)

A ordem recuperação dos dados da pilha, o POP, deve ser inversa a a ordem de do PUSH. Caso os dados da pilha sejam recuperados de forma errada, ocorrerá erros no funcionamento do programa.

Ex: SP apontando para fim da memória

PUSH B ; salva BC
PUSH PSW ; salva AF
POP PSW  ; restaura AF
POP B ; restaura B(BC)

  1. 12/12/2024 - revisão 3 - Ajustes pontuais
  2. 09/09/2024 - revisão 2 - correção em erros gramaticais
  3. 04/10/2023 - revisão 1 - adição de links, correção em layout e navegação
  4. 08/08/2023 - versão inicial