Programa 8085 para sumar números en una array

Problema: escriba un programa en lenguaje ensamblador para agregar números hexadecimales almacenados en la memoria continua o en una array.

Suposición: suponga que el tamaño de la array se almacena en la ubicación de memoria 2050 y la dirección base de la array es 2051. La suma se almacenará en la ubicación de memoria 3050 y el acarreo se almacenará en la ubicación 3051.

Ejemplo –


Algoritmo –

  1. Cargue la dirección base de la array en el par de registros HL.
  2. Utilice el tamaño de la array como contador.
  3. Inicialice el acumulador a 00.
  4. Agregue el contenido del acumulador con el contenido almacenado en la ubicación de la memoria dada en el par HL.
  5. Contador de disminución en cada adición.

Programa –

Dirección Mnemotécnica Comentarios
2000 LDA 2050 Un <- [2050]
2003 MOV B, A B <- A
2004 LXI H, 2051 H <- 20 y L <- 51
2007 MVI A, 00 A <- 00
2009 MVI C, 00 C <- 00
200B AGREGAME A <- A+M
200C USD L M <- M+1
200D JNC 2011
2010 INR C C <- C+1
2011 DCR B B <- B-1
2012 JNZ 200B
2015 STA 3050 3050 <- A
2018 MOV A, C A <- C
2019 STA 3051 3051 <- A
201C HLT Termina el programa

Explicación –

  1. LDA 2050: acumulador de carga con contenido de ubicación 2050
  2. MOV B, A: copia el contenido del acumulador al registro B
  3. LXI H, 2051: almacenar 20 en el registro H y 51 en el registro L
  4. MVI A, 00: almacenar 00 en el acumulador
  5. MVI C, 00: almacenar 00 para registrar C
  6. ADD M: agregue el acumulador con el contenido de la ubicación de la memoria dada en el par de registros HL
  7. INR L: aumentar la dirección en 1
  8. JNC 2011: si no lleva, salta a la ubicación 2011; de lo contrario, a la ubicación dada en la PC
  9. INR C: aumentar el contenido del registro C en 1
  10. DCR B: disminuir el contenido del registro B en 1
  11. JNZ 200B: si no es cero, salta a la ubicación 200B; de lo contrario, a la ubicación proporcionada en PC
  12. STA 3050: almacene el contenido del acumulador en la ubicación de memoria 3050
  13. MOV A, C: copia el contenido del registro C al acumulador
  14. STA 3051: almacene el contenido del acumulador en la ubicación de memoria 3051
  15. HLT: finaliza el programa

Publicación traducida automáticamente

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