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