I'm trying to figure out the difference between `ADDC` and `ADD` instructions for 8051 microcontrollers.

> 
> Description: `ADD` and `ADDC` both add the value operand to the value of the Accumulator, leaving the resulting value in the Accumulator. The value operand is not affected. `ADD` and `ADDC` function identically except that `ADDC` adds the value of operand as well as the value of the Carry flag whereas `ADD` does not add the Carry flag to the result.
> 
> 
> 

How does ADDC "add the carry flag to the result"? The result is in the accumulator, how does it add a carry flag to it?

Currently, as I see it, here is how they work:

```
MOV A, #0xFF
ADD A, #0x01  

```

The result of this is `A = 0x01` and `C = 1`

With ADDC,

```
MOV A, #0xFF
ADDC A, #0x01  

```

The result of this is `A = 0x01` and `C = 1`

Maybe my tests are not right or something. Can someone explain the difference between ADD and ADDC?