Problema: escriba un programa en lenguaje ensamblador en un microprocesador 8085 para realizar una operación AND entre un nibble de orden inferior y superior de un número de 8 bits.
Ejemplo –
Suposición: el número de 8 bits se almacena en la ubicación de memoria 2050. El resultado final se almacena en la ubicación de memoria 3050.
Algoritmo –
- Cargue el contenido de la ubicación de memoria 2050 en A.
- Realice el enmascaramiento de nibbles. Guarde el nibble de orden inferior en B y el nibble de orden superior en A.
- Realice la operación AND entre A y B con la ayuda de la instrucción ANA .
- Almacene el resultado final en la ubicación de memoria 3050.
Programa –
DIRECCIÓN DE MEMORIA | MNEMOTÉCNICA | COMENTARIO |
---|---|---|
2000 | LDA 2050 | A <- M[2050] |
2003 | AÑO 0F | A <- A (Y) 0F |
2005 | MOV B, A | B <- A |
2006 | LDA 2050 | A <- M[2050] |
2009 | ANI F0 | A <- A (Y) F0 |
200B | RLC | Gire el acumulador a la izquierda por un bit sin llevar |
200C | RLC | Gire el acumulador a la izquierda por un bit sin llevar |
200D | RLC | Gire el acumulador a la izquierda por un bit sin llevar |
200E | RLC | Gire el acumulador a la izquierda por un bit sin llevar |
200F | Ana B. | A <- A (Y) B |
2010 | STA 3050 | M[3050] <- A |
2013 | HLT | FINAL |
Explicación: los registros A y B se utilizan para fines generales.
- LDA 2050: cargue el contenido de la ubicación de memoria 2050 en el acumulador A.
- ANI 0F: realiza la operación AND en A y 0F. Almacene el resultado en A.
- MOV B, A: mueve el contenido de A en el registro B.
- LDA 2050: cargue el contenido de la ubicación de memoria 2050 en el acumulador A.
- ANI F0: realiza la operación AND en A y F0. Almacene el resultado en A.
- RLC: rotar el contenido de A a la izquierda un bit sin acarreo. Use esta instrucción 4 veces para invertir el contenido de A.
- ANA B: realiza la operación AND en A y B. Almacena el resultado en A.
- STA 3050: almacene el contenido de A en la ubicación de memoria 3050.
- HLT: deja de ejecutar el programa y detiene cualquier ejecución posterior.
Publicación traducida automáticamente
Artículo escrito por AmishTandon y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA