Requisito previo: código binario hacia/desde Gray
Problema: escriba un programa en lenguaje ensamblador en 8085 que convierta un número de 8 bits en un número gris
Ejemplo –
Suposición: el número de 8 bits (entrada) se almacena en la ubicación de memoria 2050 y la salida se almacenará en la ubicación de memoria 3050.
Algoritmo –
- Cargue el contenido de la ubicación de memoria 2050 en Acumulador
- Restablecer la bandera de acarreo, es decir, CY = 0
- Gire el contenido del acumulador 1 bit a la derecha con acarreo y realice la operación xor con el valor inicial de entrada
- Almacene el resultado en la ubicación de memoria 3050
Programa –
DIRECCIÓN DE MEMORIA | MNEMOTÉCNICA | COMENTARIO |
---|---|---|
2000 | LDA 2050 | A <- M[2050] |
2003 | MOV B, A | B <- A |
2004 | STC | CY = 1 |
2005 | CMC | CY <- complemento de CY |
2006 | RAR | Rotar 1 bit a la derecha con carry |
2007 | XRA B | A <- A X O B |
2008 | STA 3050 | M[3050] <- A |
200B | HLT | fin de programa |
Explicación –
- LDA 2050 carga el contenido de la ubicación de memoria 2050 en el acumulador
- MOV B, A transfiere el contenido del registro A en el registro B
- STC establece la bandera de acarreo, es decir, CY se convierte en 1
- CMC complementa la bandera de acarreo, es decir, CY se convierte en 0
- RAR gira el contenido del acumulador en 1 bit junto con la bandera de acarreo
- XRA B realiza la operación xor en valores del registro A y el registro B y almacena el resultado en A
- STA 3050 almacena el valor del acumulador en la ubicación de memoria 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