Set de Instrucciones 8051


Inicio>8051>Set de Instrucciones


ADDC

Sintaxis: ADDC A,operando
Función:
Suma el operando implicado, el bit de acarreo y el ACC y deja el resultado en ACC.

Instrucción Código Operación 2º Byte Bytes Ciclos Flags
ADDC A,Rn 0 0 1 1 1 r r r 1 1 C-AC-OV-P
ADDC A,direct 0 0 1 1 0 1 0 1 direct 2 1 C-AC-OV-P
ADDC A,@Ri 0 0 1 1 0 1 1 i 1 1 C-AC-OV-P
ADDC A,#dato 0 0 1 1 0 1 0 0 dato 2 1 C-AC-OV-P

 

Descripción

ADDC suma el valor del operando, el bit de acarreo C, y el valor del Acumulador, y deja el resultado en el Acumulador. El valor del operando no resulta afectado.

A ⇐ A + C + operando

El bit de acarreo (C) se pone a 1 si se produce desbordamiento en la sumaa desde el bit 7. Es decir, si el resultado de la suma es superior a 255. En caso contrario el bit C se pone a 0.

El bit de acarreo auxiliar (AC) se pone a 1 si se produce desbordamiento en la suma desde el bit 3. Es decir si el nibble bajo del resultado pasa de 15. En caso contrario el bit AC se pone a 0.

El bit de rebosamiento (OV) se pone a 1 si se produce desbordamiento en la suma desde el bit 6, o desde el bit 7, pero no de ambos. En caso contrario se pone a 0. En otras palabras, si al sumar dos bytes utilizando la notificación de entero con signo, que va desde -128 (11111111) hasta +127 (01111111), el flag OV toma valor 1, ello significa que el resultado ha salido fuera del rango de los enteros de 8 bits con signo.


Ejemplos

ADDC A,R0  : A = A + C + contenido del registro R0.
ADDC A,23  : A = A + C + contenido de la posición de memoria 23.
ADDC A,@R0 : A = A + C + contenido de la posición de memoria guardada en el registro R0.
ADDC A,#23 : A = A + C + 23.

Si inicialmente:

A = 12, C = 1, R0 = 22
Posición de memoria 22 contiene el valor 210
Posición de memoria 23 contiene el valor 10

ADDC A,R0  : A = 12 + 1 + 22  = 35
ADDC A,23  : A = 12 + 1 + 10  = 23
ADDC A,@R0 : A = 12 + 1 + 210 = 223
ADDC A,#23 : A = 12 + 1 + 23  = 36

 

Véase también: ADD, SUBB, DA, INC, DEC


Inicio>8051>Set de Instrucciones