Problema: escriba un programa en lenguaje ensamblador en un microprocesador 8085 para restar dos números de 16 bits.
Suposición –
- Dirección inicial del programa: 2000
- Ubicación de la memoria de entrada: 2050, 2051, 2052, 2053
- Ubicación de la memoria de salida: 2054, 2055
Ejemplo –
INPUT: (2050H) = 19H (2051H) = 6AH (2052H) = 15H (2053H) = 5CH OUTPUT: (2054H) = 04H (2055H) = OEH
RESULTADO:
Por lo tanto, hemos restado dos números de 16 bits.
Algoritmo –
- Obtenga el LSB en el registro L y el MSB en el registro H del número de 16 bits.
- Intercambiar el contenido del registro HL con el registro DE.
- De nuevo, obtenga el LSB en el registro L y el MSB en el registro H del número de 16 bits.
- Reste el contenido del registro L del contenido del registro E.
- Reste el contenido del registro H del contenido del registro D y tome prestado del paso anterior.
- Almacene el resultado en la ubicación de la memoria.
Programa –
DIRECCIÓN DE MEMORIA | MNEMOTÉCNICA | COMENTARIOS |
---|---|---|
2000 | LHLD 2050 | Cargar par HL con dirección 2050 |
2003 | XCHG | INTERCAMBIO HL PAR POR DE PAR |
2004 | LHLD 2052 | Cargar par HL con dirección 2052 |
2007 | MVI C, 00 | C<-00H |
2009 | MOV A, E | A<-E |
200A | SUBL | A<-AL |
200B | ESTADO 2054 | 2054<-A |
200E | MOV A, D | A<-D |
200F | SBBH | RESTA CON PRÉSTAMO |
2010 | STA 2055 | 2055<-A |
2013 | HLT | TERMINA EL PROGRAMA |
Explicación –
- LHLD 2050: cargar par HL con dirección 2050.
- XCHG: intercambia el contenido del par HL con DE.
- LHLD 2052: cargar par HL con dirección 2050.
- MOV A, E: mueve el contenido del registro E a A.
- SUB L: restar el contenido de A con el contenido del registro L.
- STA 2054: almacena el resultado del acumulador en la dirección de memoria 2054.
- MOV A, D: mueve el contenido del registro D al A.
- SBB H: resta el contenido de A con el contenido del registro H con préstamo.
- STA 2055: almacena el resultado del acumulador en la dirección de memoria 2055.
- 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