Problema: escriba un programa en el microprocesador 8085 para encontrar el mayor de dos números de 8 bits, donde los números se almacenan en la dirección de memoria 2050 y 2051, y almacene el resultado en la dirección de memoria 3050.
Ejemplo –
Algoritmo –
- Cargue dos números de la memoria 2050 y 2051 para registrar L y H.
- Mueva un número (H) al acumulador A y reste otro número (L) de él.
- si el resultado es positivo, mueva el número (H) a A y almacene el valor de A en la dirección de memoria 3050 y deténgase; de lo contrario, mueva el número (L) a A y almacene el valor de A en la dirección de memoria 3050 y deténgase.
Programa –
DIRECCIÓN DE MEMORIA | MNEMOTÉCNICA | COMENTARIO |
---|---|---|
2000 | LHLD 2050 | H<-(datos en 2051)&L<-(datos en 2050) |
2003 | MOV A, H | A<-H |
2004 | SUBL | A<-AL |
2005 | JP 200D | SALTAR A 200D SI NO. ES POSITIVO |
2008 | MOV A, L | A<-L |
2009 | STA 3050 | A->(en memoria 3050) |
200C | HLT | DETÉNGASE |
200D | MOV A, H | A<-H |
200E | STA 3050 | A->(en memoria 3050) |
2011 | HLT | DETÉNGASE |
Explicación –
- LHLD 2050: carga datos de la memoria 2050 y 2051 para registrar L y H.
- MOV A, H: transferir contenidos del registro H a A.
- SUB L: resta el contenido del registro L de A y lo almacena en A.
- JP 200D: salta a la dirección 200D si el resultado es positivo.
- MOV A, L: transferir contenido del registro L a A.
- STA 3050: almacenar datos de A en la dirección de memoria 3050.
- HL: : FIN.
- MOV A, H: transferir contenidos del registro H a A.
- STA 3050: almacenar datos de A en la dirección de memoria 3050.
- HL: FIN.
Publicación traducida automáticamente
Artículo escrito por Amber_Saxena y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA