Problema: escriba el programa 8085 para dividir dos números de 8 bits.
Ejemplo –
Algoritmo –
- Inicie el programa cargando los registros del par HL con la dirección de la ubicación de la memoria.
- Mueva los datos al Registro B.
- Cargue los segundos datos en el acumulador.
- Compare los dos números para verificar el acarreo.
- Resta dos números.
- Incrementa el valor de carry.
- Compruebe si la resta repetida ha terminado.
- Luego almacene los resultados (cociente y resto) en la ubicación de memoria dada.
- Terminar el programa.
Programa –
DIRECCIÓN | MNEMOTÉCNICA | COMENTARIO |
---|---|---|
2000 | LXIH, 2050 | |
2003 | MOV B, M | B<-M |
2004 | MVI C, 00 | C<-00H |
2006 | INXH | |
2007 | MOV A, M | A<-M |
2008 | CMP B | |
2009 | JC 2011 | comprobar para llevar |
200C | SUB B | A<-AB |
200D | INR C | C<-C+1 |
200E | JMP 2008 | |
2011 | STA 3050 | 3050<-A |
2014 | MOV A, C | A<-C |
2015 | STA 3051 | 3051<-A |
2018 | HLT | terminar el programa |
Explicación: los registros A, H, L, C, B se utilizan para fines generales.
- LXI H, 2050 cargará el registro de par HL con la dirección 2050 de ubicación de memoria.
- MOV B, M copia el contenido de la memoria en el registro B.
- MVI C, 00 asigna 00 a C.
- Par de registros incrementales INX H HL.
- MOV A, M copia el contenido de la memoria en el acumulador.
- CMP B compara el contenido del acumulador y el registro B.
- JC 2011 salta a la dirección 2011 si se establece la bandera de acarreo.
- SUB B resta el contenido del acumulador con el registro B y almacena el resultado en el acumulador.
- INR C incrementa el registro C.
- El control JMP 2008 cambiará a la dirección de memoria 2008.
- STA 3050 almacena el resto en la ubicación de memoria 3050.
- MOV A, C copia el contenido del registro en el acumulador.
- STA 3051 almacena el cociente en la ubicación de memoria 3051.
- HLT deja de ejecutar el programa y detiene cualquier ejecución posterior.
Publicación traducida automáticamente
Artículo escrito por Akashkumar17 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA