Programa 8085 para invertir el número de 16 bits

Problema: escriba un programa en lenguaje ensamblador en el microprocesador 8085 para invertir el número de 16 bits.

Ejemplo: suponga que un número de 16 bits está almacenado en la ubicación de memoria 2050 y 2051.

Algoritmo –

  1. Cargue el contenido de la ubicación de memoria 2050 en el registro L y el contenido de la ubicación de memoria 2051 en el registro H
  2. Mover el contenido de L en el acumulador A
  3. Invierta el contenido de A ejecutando la instrucción RLC 4 veces
  4. Mover el contenido de A en L
  5. Mover el contenido de H en A
  6. Invierta el contenido de A ejecutando la instrucción RLC 4 veces
  7. Mover el contenido de L en H
  8. Mover el contenido de A en L
  9. Almacene el contenido de L en la ubicación de memoria 2050 y el contenido de H en la ubicación de memoria 2051

Programa –

DIRECCIÓN DE MEMORIA MNEMOTÉCNICA COMENTARIO
2000 LHLD 2050 L <- M[2050], H <- M[2051]
2003 MOV A, L A <-L
2004 RLC Rotar el contenido del acumulador dejado por 1 bit sin llevar
2005 RLC Rotar el contenido del acumulador dejado por 1 bit sin llevar
2006 RLC Rotar el contenido del acumulador dejado por 1 bit sin llevar
2007 RLC Rotar el contenido del acumulador dejado por 1 bit sin llevar
2008 MOV L, A L <- A
2009 MOV A, H A <-H
200A RLC Rotar el contenido del acumulador dejado por 1 bit sin llevar
200B RLC Rotar el contenido del acumulador dejado por 1 bit sin llevar
200C RLC Rotar el contenido del acumulador dejado por 1 bit sin llevar
200D RLC Rotar el contenido del acumulador dejado por 1 bit sin llevar
200E MOV H, L H <- L
200F MOV L, A L <- A
2010 SHLD 2050 M[2050] <- L, M[2051] <- H
2013 HLT FINAL

Explicación: los registros A, H, L se utilizan para fines generales.

  1. LHLD 2050: carga el contenido de la ubicación de memoria 2050 en L y 2051 en H.
  2. MOV A, L: mueve el contenido de L en A.
  3. RLC: desplaza el contenido de A a la izquierda un bit sin acarreo. Repita la instrucción actual 4 veces para que el contenido de A se invierta.
  4. MOV L, A: mueve el contenido de A en L.
  5. MOV A, H: mueve el contenido de H en A.
  6. RLC: desplaza el contenido de A a la izquierda un bit sin acarreo. Repita la instrucción actual 4 veces para que el contenido de A se invierta.
  7. MOV H, L: mueve el contenido de L en H.
  8. MOV L, A: mueve el contenido de A en L.
  9. SHLD 2050: almacena el contenido de L en 2050 y H en 2051.
  10. 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 *