Problema: escriba un programa en lenguaje ensamblador en un microprocesador 8085 para dividir un byte en dos nibbles y almacenar el resultado en 2001H y 2002H.
Ejemplo –
Algoritmo –
- Cargue el contenido de la ubicación de memoria 2500 en el acumulador A.
- Ahora realizaremos la operación AND con el contenido del acumulador y OFH.
- Usando STA ahora almacenaremos el resultado en la ubicación de memoria 2501H.
- Usando LDA cargaremos el contenido de 2500H en el acumulador.
- Una vez más, realice la operación AND para separar otro nibble, es decir, la operación AND con el contenido del acumulador y F0H.
- Ahora gire cada bit en el acumulador una posición hacia la derecha y repita este paso cuatro veces.
- Ahora usando STA almacenaremos otro nibble en la ubicación de memoria 2502H.
Programa –
DIRECCIÓN DE MEMORIA | MNEMOTÉCNICA | COMENTARIO |
---|---|---|
2000 | LDA2500H | A <- M[2500] |
2003 | ANI 0FH | A <- A (Y) 0FH |
2005 | STA 2501H | M[2501] <- A |
2008 | LDA2500H | A <- M[2500] |
200B | ANI F0H | A <- A (Y) F0H |
200D | CRR | Girar a la derecha una posición |
200E | CRR | Girar a la derecha una posición |
200F | CRR | Girar a la derecha una posición |
2010 | CRR | Girar a la derecha una posición |
2011 | STA 2502H | M[2502] <- A |
2014 | HLT | Detener el programa. |
Explicación –
RRC – Cada bit binario del acumulador gira una posición hacia la derecha. El bit D0 se coloca en la posición de D7, así como en la bandera de acarreo. CY se modifica según el bit D0.
- LDA 2500H: carga el contenido de la ubicación de memoria 2500 en el acumulador A.
- ANI 0FH: realiza la operación AND con el contenido del acumulador y 0FH.
- STA 2501H: almacena el contenido del acumulador en la ubicación de memoria 2501H.
- LDA 2500H: carga el contenido de la ubicación de memoria 2500 en el acumulador A.
- ANI F0H: realiza la operación AND con el contenido del acumulador y F0H.
- RRC: gire cada bit en el acumulador una posición hacia la derecha.
- RRC: gire cada bit en el acumulador una posición hacia la derecha.
- RRC: gire cada bit en el acumulador una posición hacia la derecha.
- RRC: gire cada bit en el acumulador una posición hacia la derecha.
- STA 2502H: almacena el contenido del acumulador en la ubicación de memoria 2502H.
- HLT: detener la ejecución del programa.
Publicación traducida automáticamente
Artículo escrito por vivekkothari y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA