>> Tecnologia Eletrônica >  >> Rádio via Satélite >> XM

Instrução XTHL no Microprocessador 8085

XTHL (Exchange Top of Stack with H and L) é uma instrução de um byte do 8085 (opcode E3, 5 ciclos de máquina, 16 T-states) que troca o conteúdo de 16 bits do par de registradores HL com o valor de 16 bits no topo da pilha (apontado por SP).

Operação

temp ← (H, L) (H, L) ← (M[SP+1], M[SP]) ; byte alto em SP+1, byte baixo em SP (M[SP+1], M[SP]) ← temp ; SP inalterado 

Casos de Uso

  • Preservar HL através de sub-rotina: Push HL, faça trabalho, XTHL restaura HL e guarda topo-de-pilha anterior para depois.
  • Passar parâmetro de 16 bits na pilha: Chamador faz push do argumento; chamado usa XTHL para obter argumento em HL, deixando endereço de retorno acessível.
  • Implementar ficheiro de registradores de 16 bits baseado em pilha: XTHL roda valores entre HL e slots da pilha.
  • Mudança de contexto (cooperativa): Troca HL com bloco de contexto guardado na pilha.

Flags Afetadas

Nenhuma. XTHL não modifica S, Z, AC, P, CY.

Instruções Relacionadas

  • PUSH HL / POP HL – 3 bytes, 11/10 T-states cada; modificam SP.
  • SPHL – Move HL → SP (F9).
  • XCHG – Troca HL ↔ DE (EB).

XTHL é uma forma compacta e rápida de trocar HL com memória da pilha sem ajustar SP.