Yes, all the ALU inputs and outputs are always 2's-complement.

The ALU does not internally do any explicit 2's-complement operations. The "negation" done by the nx, ny and no control signals is bit-wise Not.

To compute x-y, for instance, the combination nx=1, f=1, no=1 computes

not( not(x) + y).

Using the definition of 2's-complement, -x = not(x)+1, you can prove that the above is equal to x-y.

There is also a

worksheet that can help you see how the ALU works.

--Mark