Programa 8085 para convertir un número BCD a binario

Problema: escriba un programa en lenguaje ensamblador para convertir un número BCD de 2 dígitos a su equivalente binario utilizando el microprocesador 8085.

Ejemplos:

Input : 72H (0111 0010)2
Output : 48H (in hexadecimal) (0011 0000)2
((4x16)+(8x1))=72

Algoritmo:

  1. Cargue el número BCD en el acumulador
  2. Descomprima el número BCD de 2 dígitos en dos dígitos separados. Sea el dígito de la izquierda BCD 1 y el de la derecha BCD 2
  3. Multiplica BCD 1 por 10 y súmale BCD 2

Si el número BCD de 2 dígitos es 72, entonces su equivalente binario será
7 x OAH + 2 = 46H + 2 = 48H

Pasos:

  1. Cargue el número BCD desde la ubicación de la memoria (201FH, elección arbitraria) en el acumulador
  2. Almacene temporalmente el valor del acumulador en B
  3. Obtenga BCD 2 haciendo AND en el acumulador con 0FH y guárdelo en C
  4. Restaure el valor original del acumulador moviendo el valor en B a A. Y el acumulador con F0H
  5. Si el valor en el acumulador es igual a 0, entonces BCD 2 es la respuesta final y lo almacena en la ubicación de memoria, 2020H (arbitrario)
  6. De lo contrario, mueva el acumulador a la derecha 4 veces para obtener BCD 1 . El siguiente paso es multiplicar BCD 1 por 0AH
  7. Multiplicación: Mover BCD 1 a D e inicializar E con 0AH como contador. Borre el acumulador a 0 y agregue D a él E número de veces
  8. Finalmente, agregue C al acumulador y almacene el resultado en 2020H

2020H contiene el resultado.

DIRECCIÓN ETIQUETA MNEMOTÉCNICO
2000H LDA201FH
2001H
2002H
2003H MOV B, A
2004H ANI 0FH
2005H
2006H MOV C, A
2007H MOV A, B
2008H ANI F0H
2009H
200AH JZ OMITIR MULTIPLICAR
200BH
200CH
200DH CRR
200EH CRR
200FH CRR
2010H CRR
2011H MOV D, A
2012H XRA A
2013H MVI E, 0AH
2014H
2015H SUMA AÑADIR D
2016H DCR E
2017H SUMA JNZ
2018H
2019H
201AH OMITIR MULTIPLICAR AÑADIR C
201BH ESTA 2020H
201CH
201DH
201EH HLT

Guarde el número BCD en 201FH. 2020H contiene su equivalente binario.

Publicación traducida automáticamente

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