Recall the location of the registers in the datapath:
| Register | Name | Usage | |
|---|---|---|---|
| R0 | Program Counter (PC) | Holds address of next instruction | |
| R1 | Accumulator (AC) | Main working/scratch register | |
| R2 | Stack pointer (SP) | Points to top of stack | |
| R3 | Instruction Register (IR) | Holds currect instruction | |
| R4 | Temp Instruction Register (TIR) | Use to decode instruction | |
| R5 | 0 (ZERO) | Hardwired Constant (like g0 in SPARC) | |
| R6 | +1 (ONE) | Hardwired Constant (like g0 in SPARC) | |
| R7 | -1 (MINUS ONE) | Hardwired Constant (like g0 in SPARC) | |
| R8 | 0000111111111111 (AMASK) | Used to extract 12 bit address from instruction | |
| R9 | 0000000011111111 (SMASK) | Used to extract 8 bit constant from instruction | |
| R10 | A register | General Purpose register | |
| R11 | B register | General Purpose register | |
| R12 | C register | General Purpose register | |
| R13 | D register | General Purpose register | |
| R14 | E register | General Purpose register | |
| R15 | F register | General Purpose register |