- Add a new circuit to your project, call it **control**
- *Project* $\rightarrow$ *Analyze Circuit*
- Click *Import Table* button
- Select your `control_specification.txt` file
- This will give you a warning - say *Yes* to ignore the errors and try again

- Click the *Build Circuit* button (if you get an error here, make sure you have Logisim version 3.7.2 installed)
- Review and make sure you are not overwriting a different circuit in your project
- Click *OK*

## Hook it up to the datapath

- simulate it
- use the **viewRegisterNum** and **RegisterContents** pins to see the values of registers as it executes
## Exercise
- Update your Control Unit so that it works with
- `sub`
- `andi`
- [Assignment 7](../../assignments/assignment-7/): do these too
- `and`, `or`, `xor`, `andi`, `ori`, `xori`, `slt`, `slti`
- Extra Credit: do `lw`, `sw`, `beq`, and/or `bne`
# Supporting More Instructions
## Load Instruction
Let's describe what happens for a load operation like
```mips
lw $8, 4($9)
```
100011 01001 01000 0000000000000100

## Exercise: Store Instruction
Describe what happens for a store operation like
```mips
sw $8, 4($9)
```
101011 01001 01000 0000000000000100

## Exercise: Branches
Describe what happens for a branch instruction like
```mips
beq $8, $9, 5 #jump ahead 5 instructions
```
000100 01000 01001 0000000000000101
