Programa 8085 para separar (o dividir) un byte en dos nibbles

Problema: escriba un programa en lenguaje ensamblador en un microprocesador 8085 para dividir un byte en dos nibbles y almacenar el resultado en 2001H y 2002H.
Ejemplo –

Algoritmo –

  1. Cargue el contenido de la ubicación de memoria 2500 en el acumulador A.
  2. Ahora realizaremos la operación AND con el contenido del acumulador y OFH.
  3. Usando STA ahora almacenaremos el resultado en la ubicación de memoria 2501H.
  4. Usando LDA cargaremos el contenido de 2500H en el acumulador.
  5. Una vez más, realice la operación AND para separar otro nibble, es decir, la operación AND con el contenido del acumulador y F0H.
  6. Ahora gire cada bit en el acumulador una posición hacia la derecha y repita este paso cuatro veces.
  7. Ahora usando STA almacenaremos otro nibble en la ubicación de memoria 2502H.

Programa –

DIRECCIÓN DE MEMORIA MNEMOTÉCNICA COMENTARIO
2000 LDA2500H A <- M[2500]
2003 ANI 0FH A <- A (Y) 0FH
2005 STA 2501H M[2501] <- A
2008 LDA2500H A <- M[2500]
200B ANI F0H A <- A (Y) F0H
200D CRR Girar a la derecha una posición
200E CRR Girar a la derecha una posición
200F CRR Girar a la derecha una posición
2010 CRR Girar a la derecha una posición
2011 STA 2502H M[2502] <- A
2014 HLT Detener el programa.

Explicación –
RRC – Cada bit binario del acumulador gira una posición hacia la derecha. El bit D0 se coloca en la posición de D7, así como en la bandera de acarreo. CY se modifica según el bit D0.

  1. LDA 2500H: carga el contenido de la ubicación de memoria 2500 en el acumulador A.
  2. ANI 0FH: realiza la operación AND con el contenido del acumulador y 0FH.
  3. STA 2501H: almacena el contenido del acumulador en la ubicación de memoria 2501H.
  4. LDA 2500H: carga el contenido de la ubicación de memoria 2500 en el acumulador A.
  5. ANI F0H: realiza la operación AND con el contenido del acumulador y F0H.
  6. RRC: gire cada bit en el acumulador una posición hacia la derecha.
  7. RRC: gire cada bit en el acumulador una posición hacia la derecha.
  8. RRC: gire cada bit en el acumulador una posición hacia la derecha.
  9. RRC: gire cada bit en el acumulador una posición hacia la derecha.
  10. STA 2502H: almacena el contenido del acumulador en la ubicación de memoria 2502H.
  11. HLT: detener la ejecución del programa.

Publicación traducida automáticamente

Artículo escrito por vivekkothari 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 *