Instrucción XTHL en el microprocesador 8085

XTHL (Exchange Top of Stack with H and L) es una instrucción de un byte del 8085 (código de operación E3, 5 ciclos de máquina, 16 estados T) que intercambia el contenido de 16 bits del par de registros HL con el valor de 16 bits en la parte superior de la pila (apuntado por SP).

Operación

temp ← (H, L) (H, L) ← (M[SP+1], M[SP]) ; byte alto en SP+1, byte bajo en SP (M[SP+1], M[SP]) ← temp ; SP sin cambios 

Casos de uso

  • Preservar HL en una subrutina: Empuja HL, haz el trabajo, XTHL restaura HL y guarda el valor anterior de la parte superior de la pila para más tarde.
  • Pasar un parámetro de 16 bits en la pila: El llamador empuja el argumento; el callee usa XTHL para obtener el argumento en HL, dejando la dirección de retorno accesible.
  • Implementar un archivo de registros basado en pila de 16 bits: XTHL rota valores entre HL y las ranuras de la pila.
  • Cambio de contexto (cooperativo): Intercambia HL con un bloque de contexto guardado en la pila.

Banderas afectadas

Ninguna. XTHL no modifica S, Z, AC, P, CY.

Instrucciones relacionadas

  • PUSH HL / POP HL – 3 bytes, 11/10 estados T cada una; modifican SP.
  • SPHL – Mover HL → SP (F9).
  • XCHG – Intercambiar HL ↔ DE (EB).

XTHL es una forma compacta y rápida de intercambiar HL con la memoria de la pila sin ajustar SP.