| Instruction Name | Operation ID | Format | Binary |
|---|---|---|---|
| write | 0000 | constant (MBR <- Constant) ex) write 1111 write 0110 (MBR) == 1111 0110) write 1010 (MBR == 1010 0110) write 1000 (MBR == 1010 1000) |
0000 xxxx |
| save | 0001 | Reg, Address (Address <- Reg) xx | xx |
0001 xx xx |
| load | 0010 | Reg, Address (Reg <- Address) |
0010 xx xx |
| jump | 0011 | Reg (PCR <- Reg) |
0011 00 xx |
| beq | 0100 | Reg2~3 (branch to address of Reg2 or Reg3 data, if Reg0 and Reg1 are equal) |
0100 00 1x |
| bne | 0101 | Reg2~3 (branch to address of Reg2 or Reg3 data, if Reg0 and Reg1 are not equal) |
|
| bgt | 0110 | Reg2~3 (branch to address of Reg2 or Reg3 data, if Reg0 is greater than Reg1) |
0110 00 1x |
| regwrite | 0111 | Reg (Reg <- MBR) |
0111 00 xx |
| add | 1000 | AReg, BReg (AReg <- ALU[AReg+BReg]) |
1000 xx xx |
| sub | 1001 | AReg, BReg (AReg <- ALU[AReg-BReg]) |
1001 xx xx |
| mul | 1010 | AReg, BReg (AReg <- ALU[AReg*BReg]) |
1010 xx xx |
| div | 1011 | AReg, BReg (AReg <- ALU[AReg/BReg]) |
1011 xx xx |
| equ | 1100 | AReg, BReg (AReg <- ALU[AReg==BReg]) |
1100 xx xx |
| gth | 1101 | AReg, BReg (AReg <- ALU[AReg>BReg]) |
1101 xx xx |
| mv | 1110 | AReg, BReg (AReg <- BReg) |
1110 xx xx |
| syscall | 1111 | syscall | 1111 xx xx |
Last active
June 29, 2018 02:47
-
-
Save dbwodlf3/725e81da172c53000ae52e8e53b836cb to your computer and use it in GitHub Desktop.
Basic Instruction Set
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment