Istruzione XTHL nel Microprocessore 8085
XTHL (Exchange Top of Stack with H and L) è un'istruzione a singolo byte dell'8085 (opcode E3, 5 cicli macchina, 16 T-states) che scambia i contenuti a 16 bit del registro coppia HL con il valore a 16 bit in cima allo stack (puntato da SP).
Operazione
temp ← (H, L) (H, L) ← (M[SP+1], M[SP]) ; byte alto in SP+1, byte basso in SP (M[SP+1], M[SP]) ← temp ; SP invariato
Casi d'Uso
- Preserva HL attraverso subroutine: Push HL, fai il lavoro, XTHL ripristina HL e salva il precedente top-of-stack per dopo.
- Passa parametro a 16 bit sullo stack: Il chiamante push dell'arg; il chiamato XTHL per ottenere l'arg in HL, lasciando l'indirizzo di ritorno accessibile.
- Implementa un file di registri a 16 bit basato su stack: XTHL ruota i valori tra HL e slot dello stack.
- Context switch (cooperativo): Scambia HL con il blocco di contesto salvato sullo stack.
Flag Modificate
Nessuna. XTHL non modifica S, Z, AC, P, CY.
Istruzioni Correlate
- PUSH HL / POP HL – 3 byte, 11/10 T-states ciascuna; modificano SP.
- SPHL – Sposta HL → SP (F9).
- XCHG – Scambia HL ↔ DE (EB).
XTHL è un modo compatto e veloce per scambiare HL con la memoria dello stack senza regolare SP.