The main memory is controlled by the familiar WR and MA wires. The ALU does the main work of the computer: adding, taking the 2's complement, doing the Boolean logical operations, and other things. Each of these functions is distinguished by a mini-opcode whose binary number is put onto the three wires F0, F1 and F2. Here are the operations that the CSC-1 ALU performs: F2 F1 F0 -------------------------------------------------------------------- 0 0 0 identity A pass through A's value unchanged 0 0 1 identity TMP pass through TMP's value unchanged 0 1 0 A and TMP bitwise Boolean AND of A and TMP 0 1 1 A or TMP bitwise Boolean OR of A and TMP 1 0 0 not A bitwise Boolean NOT of A (TMP ignored) 1 0 1 A + TMP arithmetic addition of A and TMP 1 1 0 A - TMP arithmetic subtraction of A and TMP 1 1 1 unused |