Programa 8085 para intercambiar contenido del par de registros HL con el par de registros DE

Problema: escriba un programa en lenguaje ensamblador en el microprocesador 8085 para intercambiar el contenido del par de registros HL con el par de registros DE utilizando instrucciones PUSH y POP.

Ejemplo –

Suposición: el contenido ya está presente en el registro HL y DE.

Algoritmo –

  1. Inicialice el puntero de pila (SP) por 3FFF.
  2. Empuje el contenido del registro H y L en la pila. Disminuye SP en 2.
  3. Empuje el contenido de los registros D y E en la pila. Disminuye SP en 2.
  4. Extraiga los dos bytes superiores de la parte superior de la pila y colóquelos en el registro HL. Incremente el SP en 2.
  5. Extraiga los dos bytes restantes de la parte superior de la pila y colóquelos en el registro DE. Incremente el SP en 2.

Programa –

MEMORY ADDRESS MNEMONICS COMMENT
2000 LXI SP 3FFF SP <- 3FFF
2003 PUSH H SP <- SP – 1, M[SP] <- H, SP <- SP – 1, M[SP] <- L
2004 PUSH D SP <- SP – 1, M[SP] <- D, SP <- SP – 1, M[SP] <- E
2005 POP H L <- M[SP], SP <- SP + 1, H <- M[SP], SP <- SP + 1
2006 POP D E <- M[SP], SP <- SP + 1, D <- M[SP], SP <- SP + 1
2007 HLT ENDT

Explicación – Registros utilizados H, L, D, E:

  1. LXI SP 3FFF: inicializa SP por 3FFF.
  2. PUSH H: empuja el contenido de los registros H y L a la pila y reduce el puntero de la pila en 2.
  3. PUSH D: empuja el contenido de los registros D y E en la pila y reduce el puntero de la pila en 2.
  4. POP H: saque los dos bytes superiores de la parte superior de la pila y colóquelos en el par de registros HL e incremente SP en 2.
  5. POP D: saque los dos bytes superiores de la parte superior de la pila y colóquelos en el par de registros DE e incremente SP en 2.
  6. HLT: deja de ejecutar el programa y detiene cualquier ejecución posterior.

Publicación traducida automáticamente

Artículo escrito por AmishTandon y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *