Arithmetic Unit
Logic Unit
Multiplexer
Reg A
A3
0
A2
0
A1
0
A0
0
Reg B
B3
0
B2
0
B1
0
B0
0
Cin
0
MODE :
LOGICAL
0
S3
0
S2
0
S1
0
S0
Output
Carry
0
F3
0
F2
0
F1
0
F0
0
Current State
A: 0000 (0)
B: 0000 (0)
S: 0000 (0)
Output: 0000 (0)
F = A

ALU Truth Tables

Logic Operations

Selection Logic (M=H)
S3 S2 S1 S0 Output
L L L L A
L L L H A+B
L L H L AB
L L H H Logical 0
L H L L AB
L H L H B
L H H L A ⊕ B
L H H H AB
H L L L A+B
H L L H A ⊕ B
H L H L B
H L H H AB
H H L L Logical 1
H H L H A+B
H H H L A+B
H H H H A

Arithmatic Operations

Selection Active High Data
M=L; Arithmatic Operations
S3 S2 S1 S0 Cn = H (with carry) Cn = L (no carry)
L L L L F=A F=A Plus 1
L L L H F=A+B F=(A+B) Plus 1
L L H L F=A+B F=(A+B) Plus 1
L L H H F=Minus 1(2's Compl) F=Zero
L H L L F=A Plus AB F=A Plus AB Plus 1
L H L H F=(A+B) Plus AB F=(A+B) Plus AB Plus 1
L H H L F=A Minus B Minus 1 F=A Minus B
L H H H F=AB Minus 1 F=AB
H L L L F=A Plus AB F=A Plus AB Plus 1
H L L H F=A Plus B F=A Plus B Plus 1
H L H L F=(A+B) Plus AB F=(A+B) Plus AB Plus 1
H L H H F=AB Minus 1 F=AB
H H L L F=A Plus A F=A Plus A Plus 1
H H L H F=(A+B) Plus A F=(A+B) Plus A Plus 1
H H H L F=(A+B) Plus A F=(A+B) Plus A Plus 1
H H H H F=A Minus 1 F=A