Add16 implements 16-bit binary addition. This works similarly to ordinary decimal addition:
1 1
4567
+ 1825
------
6392
In binary, the carry into the adder for bit 0 is always 0. In fact, you can save a little hardware by using a half adder for bit 0.
The carry into all other bits
n is the carry output from the bit
n-1 adder.
Since you are generating a 16-bit result, the carry output from the bit 15 adder is discarded.
--Mark