Ejercicio 6, Practico 2: instrucción DAA

Ejercicio 6, Practico 2: instrucción DAA

de Miguel Angel Martinez Recalde -
Número de respuestas: 3

Hola; quería preguntar como utilizar la instrucción DAA (ajuste decimal del acumulador) en assembler del Z80, ya que no se, en donde se guarda el resultado de dicha instrucción.

En respuesta a Miguel Angel Martinez Recalde

Re: Ejercicio 6, Practico 2: instrucción DAA

de Manuel Urquiola -

Buenas!

Esta instrucción cumple específicamente la función de transformar el número que hay en el acumulador a BCD empaquetado luego de haber realizado una suma o resta de dos números en BCD empaquetado.

El resultado queda en el registro acumulador.

Es un poco confusa la manera de explicarlo en la cartilla, pero el "@" que pone en la explicación simbólica de la operación es una referencia a una nota al pie que dice algo así como lo que escribí más arriba.

Como complemento, en el "Manual del Z80" en la página 167 hay un ejemplo de lo que hace esta función.

Espero haber aclarado!

Saludos.

En respuesta a Manuel Urquiola

Re: Ejercicio 6, Practico 2: instrucción DAA

de Julio Perez -

Para sacarte las dudas podés hacer un pequeño programa para probar el ejemplo en el debugger.

Podés inicializar A y B como en el ejemplo, A=0001 0101B (15 en bcd) y B = 0010 0111B (27 en bcd)  con el comando set o agregar instrucciones antes que carguen esos valores en los registros. Después sumalos en binario con la instrucción ADD, y después ajustas el resultado con la instrucción DAA:

    ADD A, B

    DAA

Correlo paso a paso con el debugger y mirá el contenido de los registros en cada etapa.


julio