8085 programa para imprimir la tabla de enteros de entrada

Problema: escriba un programa en lenguaje ensamblador en 8085 para imprimir la tabla de enteros de entrada.

Suposición: suponga que el número ingresado está en la ubicación de memoria 2050 y la tabla se imprimirá desde la ubicación inicial 3050.

Ejemplo –

Algoritmo –

  1. Cargue el valor de entrada en el acumulador desde la ubicación de memoria 2050 y luego cópielo en otro registro, digamos D. También almacene 0A en el registro B.
  2. Almacene la ubicación de memoria 3050 en M usando la instrucción LXI y tome otro registro, digamos C con su valor 00.
  3. Ahora copie el contenido del registro D en A y agregue el contenido de A y C y guárdelo en A y luego cópielo en M.
  4. Incrementa el valor de M en 1.
  5. Copie el contenido de A a C y disminuya el contenido de B en 1 y si su valor es 0, deténgase, de lo contrario, vuelva al paso número 3.

Programa –

DIRECCIÓN MNEMOTÉCNICA COMENTARIOS
2000 LDA 2050 A<-[2050]
2003 MOV D, A D<-[A]
2004 MVI B 0A B<-0A
2006 LXI H 3050 H<-30 y L<-50
2009 MVI C 00 C<-00
200B MOV A, D A<-[D]
200C AÑADIR C A<-[A]+[C]
200D MOV M, A M<-[A]
200E INXH HL<-HL+1
200F MOV C, A C<-[A]
2010 DCR B B<-[B]-1
2011 JNZ 200B Saltar a la dirección 200B si ZF=0
2014 HLT Termina el programa

Explicación –

  1. LDA 2050: cargue el contenido de la ubicación de memoria 2050 al acumulador (registro A).
  2. MOV D, A: mueve el contenido del acumulador al registro D.
  3. MVI B 0A: almacena datos 0A en el registro B.
  4. LXI H 3050: almacene 30 en el registro H y 50 en el registro L, por lo tanto, M contendrá 3050 en su interior.
  5. MVI C 00: almacenar 00 datos en el registro C.
  6. MOV A, D: mueve el contenido del registro D a A.
  7. AÑADIR C: añade el contenido del registro A y C y lo almacena en A.
  8. MOV M, A: mueve el contenido del registro A a M.
  9. INX H: incrementa el contenido de M en 1.
  10. MOV C, A: mueve el contenido del registro A a C.
  11. DCR B: decrementa el contenido del registro B en 1.
  12. JNZ 200B: salta a la dirección 200B si la bandera Carry no es cero.
  13. HLT: terminar el programa.

Publicación traducida automáticamente

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