Question: what is the difference between add and adc?
Answer: ADC is the same as ADD but adds an extra 1 if processor's carry flag is set. Ah, so first, the lower 16-bit is added by add ax, cx. Then the higher 16-bit is added using adc instead of add. It is because: if there are overflows, the carry bit is automatically added in the higher 16-bit.