set is different

Although set is an R-Type instruction, it is a bit different than the others in that the register file should be disabled when executing set. The ALU control inputs don't matter, so you can use the same logic as for other R-Type instructions for that as well as the registers. However, you want to disable the register file so you don't accidentally store garbage when set terminates. Remember that it does not write to the register file, but instead uses the last 4 bits as a mask. Disabling the register file is the *only* difference and should be done by the controller.