Arithmetic:

- W = W + L

- W = arithmetic shift left(W)

- W = W + 1

- W = W - 1

Logic:

- W = 0 (clear)

- W = W (hold)

- W = L

- W = 1's cm(W)

Implementing the functions themselves shouldn't be too much of an issue, but I'm stuck on hardware limitations... We're only allowed to use four 4 to 1 muxes, which seems to be just enough to implement either the logic or arithmetic functions but not both. I've been stuck on this all day, does anyone have any idea how I could go about this?