Programa 8085 para convertir un número BCD de 8 bits en un número hexadecimal

Problema: escriba un programa en lenguaje ensamblador en un microprocesador 8085 para convertir un número BCD de 8 bits en un número hexadecimal.

Suposiciones: suponga que la dirección inicial del programa es 2000, las ubicaciones de memoria de entrada, 2050, 2051 y la ubicación de memoria de salida es 2052.

Ejemplo –

INPUT: 2050:02H
       2051: 09H

OUTPUT:2052: 1DH 

Algoritmo –

  1. Inicializar puntero de memoria a 2050
  2. Obtener el dígito más significativo
  3. Multiplique el MSD por 10 usando la suma repetida
  4. Agregue LSD al resultado obtenido en el paso anterior
  5. Almacene el resultado convertido en la memoria 2052

Programa –

Dirección de memoria Mnemotécnica Comentarios
2000 LXIH, 2050
2003 MOV A, M A<-M
2004 AGREGA UN A<-A+A
2005 MOV B, A B<-A
2006 AGREGA UN A<-A+A
2007 AGREGA UN A
2008 AÑADIR B A<-A+B
2009 INXH
200A AGREGAME A<-A+M
200B INXH
200C MOV M, A M<-A
200D HLT TERMINAR EL PROGRAMA

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

  1. LXI H, 2050: cargará el registro par HL con la dirección 2050 de ubicación de memoria.
  2. MOV A, M: copia el contenido de la memoria en el registro A.
  3. ADD A: agrega el contenido del acumulador consigo mismo.
  4. MOV B, A: mueve el contenido del acumulador al registro B.
  5. ADD A: agrega el contenido del acumulador consigo mismo.
  6. ADD A: agrega el contenido del acumulador consigo mismo.
  7. ADD B: agrega el contenido del acumulador con el registro B y almacena el resultado en el acumulador.
  8. INX H: par de registros incrementales HL.
  9. ADD M: agrega el contenido del acumulador con memoria y almacena el resultado en el acumulador.
  10. INX H: par de registros incrementales HL.
  11. MOV M, A: copia el contenido del acumulador en la memoria.
  12. HLT: deja de ejecutar el programa y detiene cualquier ejecución posterior.

Publicación traducida automáticamente

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