Difference between revisions of "Simple Computer Simulator Instruction-Set"
Line 1: | Line 1: | ||
--[[User:Thiebaut|D. Thiebaut]] ([[User talk:Thiebaut|talk]]) 16:57, 26 August 2014 (EDT) | --[[User:Thiebaut|D. Thiebaut]] ([[User talk:Thiebaut|talk]]) 16:57, 26 August 2014 (EDT) | ||
---- | ---- | ||
+ | |||
+ | =Instructions Using a Single Constant= | ||
+ | <br /> | ||
+ | These instructions operate with a single number (we refer to them as ''constants'') that is either loaded into, added, or subtracted from the accumulator register. | ||
+ | <br /> | ||
+ | |||
{| class="wikitable" width="100%" | {| class="wikitable" width="100%" | ||
! width="20%" | Instruction | ! width="20%" | Instruction | ||
Line 7: | Line 13: | ||
! width="50%" |Description | ! width="50%" |Description | ||
|- | |- | ||
− | |||
| | | | ||
ADD | ADD | ||
Line 16: | Line 21: | ||
| | | | ||
* | * | ||
+ | |- | ||
+ | | | ||
+ | COMP | ||
+ | | | ||
+ | 84 | ||
+ | | | ||
+ | 01010100 | ||
+ | | | ||
+ | * | ||
+ | |- | ||
+ | | | ||
+ | DIV | ||
+ | | | ||
+ | 44 | ||
+ | | | ||
+ | 00101100 | ||
+ | | | ||
+ | * | ||
+ | |- | ||
+ | | | ||
+ | LOAD | ||
+ | | | ||
+ | 4 | ||
+ | | | ||
+ | 00000100 | ||
+ | | | ||
+ | * | ||
+ | |- | ||
+ | | | ||
+ | MUL | ||
+ | | | ||
+ | 40 | ||
+ | | | ||
+ | 00101000 | ||
+ | | | ||
+ | * | ||
+ | |- | ||
+ | | | ||
+ | SUB | ||
+ | | | ||
+ | 32 | ||
+ | | | ||
+ | 00100000 | ||
+ | | | ||
+ | * | ||
+ | |||
+ | |} | ||
+ | <br /> | ||
+ | ==Memory Instructions== | ||
+ | <br /> | ||
+ | |||
+ | {| class="wikitable" width="100%" | ||
+ | ! width="20%" | Instruction | ||
+ | ! width="15%" |Code<br />(decimal) | ||
+ | ! width="15%" |Code<br />( binary) | ||
+ | ! width="50%" |Description | ||
|- | |- | ||
| | | | ||
Line 61: | Line 122: | ||
| | | | ||
* | * | ||
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| | | | ||
Line 115: | Line 168: | ||
| | | | ||
* | * | ||
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| | | | ||
Line 178: | Line 223: | ||
| | | | ||
* | * | ||
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| | | | ||
Line 232: | Line 269: | ||
| | | | ||
* | * | ||
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| | | | ||
Line 304: | Line 333: | ||
| | | | ||
* | * | ||
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| | | |
Revision as of 13:52, 27 August 2014
--D. Thiebaut (talk) 16:57, 26 August 2014 (EDT)
Instructions Using a Single Constant
These instructions operate with a single number (we refer to them as constants) that is either loaded into, added, or subtracted from the accumulator register.
Instruction | Code (decimal) |
Code ( binary) |
Description |
---|---|---|---|
ADD |
24 |
00011000 |
|
COMP |
84 |
01010100 |
|
DIV |
44 |
00101100 |
|
LOAD |
4 |
00000100 |
|
MUL |
40 |
00101000 |
|
SUB |
32 |
00100000 |
|
Memory Instructions
Instruction | Code (decimal) |
Code ( binary) |
Description |
---|---|---|---|
ADDX |
28 |
00011100 |
|
ADDXm |
30 |
00011110 |
|
ADDXx |
29 |
00011101 |
|
ADDm |
26 |
00011010 |
|
ADDx |
25 |
00011001 |
|
COMPX |
92 |
01011100 |
|
COMPXm |
94 |
01011110 |
|
COMPXx |
93 |
01011101 |
|
COMPm |
86 |
01010110 |
|
COMPx |
85 |
01010101 |
|
DIVm |
46 |
00101110 |
|
DIVx |
45 |
00101101 |
|
HALT |
127 |
01111111 |
|
JEQ |
68 |
01000100 |
|
JLT |
72 |
01001000 |
|
JUMP |
64 |
01000000 |
|
LOADX |
8 |
00001000 |
|
LOADXm |
10 |
00001010 |
|
LOADXx |
9 |
00001001 |
|
LOADm |
6 |
00000110 |
|
LOADx |
5 |
00000101 |
|
MULm |
42 |
00101010 |
|
MULx |
41 |
00101001 |
|
NOP |
0 |
00000000 |
|
STOREXm |
22 |
00010110 |
|
STOREXx |
21 |
00010101 |
|
STOREm |
18 |
00010010 |
|
STOREx |
17 |
00010001 |
|
SUBX |
36 |
00100100 |
|
SUBXm |
38 |
00100110 |
|
SUBXx |
37 |
00100101 |
|
SUBm |
34 |
00100010 |
|
SUBx |
33 |
00100001 |
|
TAX |
79 |
01001111 |
|
TXA |
83 |
01010011 |
|