Problema: escriba un programa en lenguaje ensamblador en un microprocesador 8085 para mostrar el enmascaramiento del nibble inferior y superior del número de 8 bits.
Ejemplo –
Suposición: el número de 8 bits se almacena en la ubicación de memoria 2050. Después de enmascarar los nibbles, el nibble de orden inferior se almacena en la ubicación de memoria 3050 y el nibble de orden superior se almacena en la ubicación de memoria 3051.
Algoritmo –
- Cargue el contenido de la ubicación de memoria 2050 en el acumulador A.
- Mueva el contenido de A en el registro B.
- Realice la operación AND de A con 0F y almacene el resultado en la ubicación de memoria 3050.
- Mueva el contenido de B en A.
- Realice la operación AND de A con 0F e invierta el resultado utilizando la instrucción RLC 4 veces.
- Almacene el resultado en la ubicación de memoria 3051.
Programa –
DIRECCIÓN DE MEMORIA | MNEMOTÉCNICA | COMENTARIO |
---|---|---|
2000 | LDA 2050 | A <- M[2050] |
2003 | MOV B, A | B <- A |
2004 | AÑO 0F | A <- A (Y) 0F |
2006 | STA 3050 | M[3050] <- A |
2009 | MOV A, B | A <-B |
200A | AÑO 0F | A <- A (Y) 0F |
200C | RLC | rotar el contenido de A a la izquierda por 1 bit sin llevar |
200D | RLC | rotar el contenido de A a la izquierda por 1 bit sin llevar |
200E | RLC | rotar el contenido de A a la izquierda por 1 bit sin llevar |
200F | RLC | rotar el contenido de A a la izquierda por 1 bit sin llevar |
2010 | STA 3051 | M[3051] <- A |
2013 | HLT | FINAL |
Explicación: se utilizan los registros A, B:
- LDA 2050: cargue el contenido de la ubicación de memoria 2050 en el acumulador A.
- MOV B, A: mueve el contenido de A a B.
- ANI 0F: realice la operación AND de A con 0F y almacene el resultado nuevamente en A.
- STA 3050: almacene el contenido de A en la ubicación de memoria 3050.
- MOV A, B: mueve el contenido de B en A.
- ANI 0F: realice la operación AND de A con 0F y almacene el resultado nuevamente en A.
- RLC: rota el contenido de A a la izquierda 1 bit sin acarreo. Use esta instrucción 4 veces para invertir el contenido de A.
- STA 3051: almacene el contenido de A 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 AmishTandon y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA