Problema: escriba un programa en lenguaje ensamblador en el microprocesador 8085 para verificar si el número de 8 bits que se almacena en la ubicación de memoria 2050 es par o impar. Si es par, almacene 22 en la ubicación de memoria 3050; de lo contrario, almacene 11 en la ubicación de memoria 3050.
Ejemplo –
Se dice que un número es impar si su bit inferior es 1, de lo contrario, es par. Por lo tanto, para identificar si el número es par o impar, realizamos la operación AND con 01 con la ayuda de la instrucción ANI . Si el número es impar, obtendremos 01, de lo contrario, 00 en el acumulador. La instrucción ANI también afecta las banderas de 8085. Por lo tanto, si el acumulador contiene 00, la bandera cero se establece; de lo contrario, se reinicia.
Algoritmo –
- Cargue el contenido de la ubicación de memoria 2050 en el acumulador A.
- Realice la operación AND con 01 en el valor del acumulador A con la ayuda de la instrucción ANI .
- Verifique si el indicador cero está configurado, es decir, si ZF = 1, almacene 22 en el acumulador A; de lo contrario, almacene 11 en A.
- Almacene el valor de A en la ubicación de memoria 3050
Programa –
DIRECCIÓN DE MEMORIA | MNEMOTÉCNICA | COMENTARIO |
---|---|---|
2000 | LDA 2050 | A <- M[2050] |
2003 | AÑO 01 | A <- A (Y) 01 |
2005 | JZ 200D | Saltar si ZF = 1 |
2008 | MVI A 11 | A <- 11 |
200A | JMP 200F | Saltar a la ubicación de la memoria |
200D | MVI A 22 | A <- 22 |
200F | STA 3050 | M[3050] <- A |
2012 | HLT | FINAL |
Explicación – Registros utilizados A:
- LDA 2050: carga el contenido de la ubicación de memoria 2050 en el acumulador A
- ANI 01: realiza la operación AND entre el acumulador A y 01 y almacena el resultado en A
- JZ 200D: salta a la ubicación de memoria 200D si ZF = 1
- MVI A 11 – asigna 11 al acumulador
- JMP 200F: salta a la ubicación de memoria 200F
- MVI A 22 – asignar 22 al acumulador
- STA 3050: almacena el valor de A en 3050
- HLT: deja de ejecutar el programa y detiene cualquier ejecución adicional
Publicación traducida automáticamente
Artículo escrito por AmishTandon y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA