Instruction XTHL du microprocesseur 8085
XTHL (Exchange Top of Stack with H and L) est une instruction 8085 sur un octet (opcode E3, 5 cycles machine, 16 T-states) qui échange le contenu 16 bits du couple de registres HL avec la valeur 16 bits au sommet de la pile (pointée par SP).
Opération
temp ← (H, L)
(H, L) ← (M[SP+1], M[SP]) ; octet poids fort à SP+1, poids faible à SP
(M[SP+1], M[SP]) ← temp ; SP inchangé
Cas d'usage
- Préserver HL à travers sous-routine : Push HL, travail, XTHL restaure HL et sauvegarde l'ancien sommet de pile pour plus tard.
- Passer paramètre 16 bits sur pile : Appelant push arg ; appelé XTHL pour récupérer arg dans HL, laissant adresse retour accessible.
- Implémenter registre fichier 16 bits basé pile : XTHL fait tourner valeurs entre HL et emplacements pile.
- Changement contexte (coopératif) : Échange HL avec bloc contexte sauvegardé sur pile.
Drapeaux affectés
Aucun. XTHL ne modifie pas S, Z, AC, P, CY.
Instructions connexes
- PUSH HL / POP HL – 3 octets, 11/10 T-states chacun ; modifient SP.
- SPHL – Déplace HL → SP (F9).
- XCHG – Échange HL ↔ DE (EB).
XTHL est un moyen compact et rapide d'échanger HL avec la mémoire pile sans ajuster SP.
