Contenido>Indice>Intro Instrucciones


Instrucción: DA
Función: Ajuste decimal del acumulador para la suma
Sintaxis: DA A

Instrucción Código de Operación Bytes Ciclos Flags
DA A 0xD4 1 1 C

Operación: DA A

IF [[(A3-0) > 9] OR [(AC) = 1]]
THEN(A3-0)<= (A3-0) + 6
AND
IF [[(A7-4) > 9] OR [(C) = 1]]

THEN (A7-4)<= (A7-4) + 6

Descripción: Después de una suma de dos números BCD (Binary Coded Decimal), la instrucción DA A ajusta el contenido del acumulador a un número BCD.

Su funcionamiento se realiza en dos fases:

En la primera, si el bit AC vale 1, o si el nibble bajo del acumulador es mayor que 9, se añade 06H al acumulador. Esta operación puede poner a 1 el C, pero no puede ponerlo a 0.

Si después de la primera fase el bit C vale 1, o si el nibble alto del acumulador es mayor que 9, se añade 60H al acumulador.

El bit de acarreo (C) se pone a 1 si el contenido final del acumulador es mayor que 99H. En caso contrario se pone a 0.

La instrucción DA A debe utilizarse siempre después de una suma (ADD o ADDC), y no puede emplearse después de una resta (SUBB).

 

Véase también: ADD, ADDC   


  Contenido>Indice>Intro Instrucciones