Programa 8085 para hallar la suma de los primeros n números naturales

Problema: escriba un programa en lenguaje ensamblador para calcular la suma de los primeros n números naturales utilizando el microprocesador 8085.

Ejemplo –

Input : 04H
Output : 0AH
as 01+02+03+04 = 10 in decimal => 0AH

La fórmula para calcular la suma de los primeros n números naturales es \frac{(n(n+1))}{2}.

Algoritmo –

  1. Con n como entrada, increméntelo para obtener n+1.
  2. Multiplica n por n+1.
  3. Divida el producto obtenido por 2.

En el microprocesador 8085, no existe ninguna instrucción directa para multiplicar dos números, por lo que la multiplicación se realiza mediante sumas repetidas, ya que 4×5 equivale a 4+4+4+4+4 (es decir, 5 veces).
Entrada: 04H
Sumar 04H 5 veces
Producto: 14H(20 10 )

De manera similar, en el microprocesador 8085, no existe una instrucción directa para dividir dos números, por lo que la división se realiza mediante restas repetidas.
Entrada: 14H
Siga restando 2 de la entrada hasta que se reduzca a 0.
Dado que la resta debe realizarse 10 10 veces antes de que 14H se convierta en 0, el cociente es 10 10 => 0AH.

Pasos –

  1. Cargue los datos de la ubicación de la memoria (201BH, elección arbitraria) en el acumulador
  2. Mover estos datos a B
  3. Incrementa el valor en el acumulador en uno y muévelo al registro C
  4. Inicializar el acumulador con 0
  5. Multiplicación: sigue sumando B al acumulador. El número de veces que hay que sumar B es igual al valor de C
  6. Inicializar B con 00H. B almacenará el cociente de la división
  7. Inicialice C con 02H. Este es el divisor de la división.
  8. División: siga restando C de A hasta que A se convierta en 0. Para cada resta, incremente B en uno
  9. La respuesta final está en B. Muévala a A. Luego almacene el valor de A en 201CH (otra vez elección arbitraria)

201CH contiene la respuesta final.

DIRECCIÓN ETIQUETA MNEMOTÉCNICO
2000H LDA 201BH
2001H
2002H
2003H MOV B, A
2004H USD A
2005H MOV C, A
2006H MVI A, 00H
2007H
2008H BUCLE1 AÑADIR B
2009H DCR C
200AH BUCLE JNZ1
200BH
200CH
200DH MVI C, 02H
200EH
200FH MVI B, 00H
2010H
2011H BUCLE2 INR B
2012H SUB C
2013H JNZ LOOP2
2014H
2015H
2016H MOV A, B
2017H STA 201CH
2018H
2019H
201AH HLT

Almacene el valor de n en 201BH. La suma se puede encontrar en 201CH.

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 *