Programa 8085 para sumar dos números de 8 bits

Problema: escriba un programa en lenguaje ensamblador para agregar dos números de 8 bits almacenados en la dirección 2050 y la dirección 2051 en el microprocesador 8085. La dirección inicial del programa se toma como 2000. 

Ejemplo – 

Algoritmo – 
 

  1. Cargue el primer número desde la ubicación de memoria 2050 al acumulador.
  2. Mueva el contenido del acumulador al registro H.
  3. Cargue el segundo número desde la ubicación de memoria 2051 al acumulador.
  4. Luego agregue el contenido del registro H y el acumulador usando la instrucción «ADD» y almacene el resultado en 3050
  5. El acarreo generado se recupera usando el comando «ADC» y se almacena en la ubicación de memoria 3051

Programa – 

Dirección de memoria Mnemotécnica Comentario
2000 LDA 2050 A<-[2050]
2003 MOV H, A H<-A
2004 LDA 2051 A<-[2051]
2007 AÑADIR H A<-A+H
2008 MOV L, A L←A
2009 MVI A 00 A←00
200B A DC A A←A+A+llevar
200C MOV H, A H←A
200D SHLD 3050 H→3051, L→3050
2010 HLT  

Explicación – 

  1. LDA 2050 mueve el contenido de la ubicación de memoria 2050 al acumulador.
  2. MOV H, A copia el contenido del acumulador para registrar H en A
  3. LDA 2051 mueve el contenido de la ubicación de memoria 2051 al acumulador.
  4. ADD H agrega contenido de A (acumulador) y registro H (F9). El resultado se almacena en A mismo. Para todas las instrucciones aritméticas, A es por defecto un operando y A también almacena el resultado.
  5. MOV L, A copia el contenido de A (34) a L
  6. MVI A 00 mueve datos inmediatos (es decir, 00) a A
  7. El ADC A suma el contenido de A(00), el contenido del registro especificado (es decir, A) y el acarreo (1). Como ADC también es una operación aritmética, A es por defecto un operando y A también almacena el resultado.
  8. MOV H, A copia el contenido de A (01) a H
  9. SHLD 3050 mueve el contenido del registro L (34) en la ubicación de memoria 3050 y el contenido del registro H (01) en la ubicación de memoria 3051
  10. HLT deja de ejecutar el programa y detiene cualquier ejecución adicional

Publicación traducida automáticamente

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