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 –
- 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.
- Almacene la ubicación de memoria 3050 en M usando la instrucción LXI y tome otro registro, digamos C con su valor 00.
- 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.
- Incrementa el valor de M en 1.
- 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 –
- LDA 2050: cargue el contenido de la ubicación de memoria 2050 al acumulador (registro A).
- MOV D, A: mueve el contenido del acumulador al registro D.
- MVI B 0A: almacena datos 0A en el registro B.
- LXI H 3050: almacene 30 en el registro H y 50 en el registro L, por lo tanto, M contendrá 3050 en su interior.
- MVI C 00: almacenar 00 datos en el registro C.
- MOV A, D: mueve el contenido del registro D a A.
- AÑADIR C: añade el contenido del registro A y C y lo almacena en A.
- MOV M, A: mueve el contenido del registro A a M.
- INX H: incrementa el contenido de M en 1.
- MOV C, A: mueve el contenido del registro A a C.
- DCR B: decrementa el contenido del registro B en 1.
- JNZ 200B: salta a la dirección 200B si la bandera Carry no es cero.
- 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