Rework how the carry bit is calculated.

I figured out a way to generate the carry bit without having to extend
the calculation beyond 8 bits (or 16 bits for the 16bit versions).