>> Technologie Électronique >  >> Téléphones >> Répondeurs

Opérations de pile dans le 8085 : PUSH, POP et pointeur de pile

Le 8085 utilise une pile Last-In-First-Out (LIFO) en RAM externe, gérée par le Pointeur de Pile (SP) 16 bits.

PUSH rp / PSW

Action : SP ← SP – 2 ; M[SP] ← octet haut ; M[SP+1] ← octet bas.
Cycles : 12 T-states (rp) / 12 (PSW).
Exemple : PUSH B stocke B (haut) à SP, C (bas) à SP+1.

POP rp / PSW

Action : octet bas ← M[SP] ; octet haut ← M[SP+1] ; SP ← SP + 2.
Cycles : 10 T-states.
Exemple : POP H charge H depuis SP, L depuis SP+1.

Usages clés

  • Adresse retour sous-routine : CALL empile PC ; RET dépile PC.
  • Sauvegarde registres : Préserver registres à travers interruptions/sous-routines.
  • Passage paramètres : Empiler args avant CALL ; dépiler à l'intérieur.
  • Données temporaires : Résultats intermédiaires dans routines maths.

Initialisation

Toujours initialiser SP tôt : LXI SP, STACK_TOP (ex. 8000H). Pile grandit vers le bas depuis STACK_TOP.

Pas de vérification limites — débordement pile corrompt données ; sous-débordement lit n'importe quoi.

Répondeurs