ALU processes operands bit-by-bit (all bits in parallel). Carry-outn becomes carry-inn+1. Values are checked for equality by subtracting them; all the bits of the result are OR'd to see if any are non-zero (the NOT means that zero is flagged true only if all bits are zero).