Difference between revisions of "Simple Computer Simulator Instruction-Set"
(→Instructions Using a Single Constant) |
(→Instructions Using a Single Constant) |
||
Line 29: | Line 29: | ||
01010100 | 01010100 | ||
| | | | ||
− | * This instruction compares the ''number'' to the one already in the accumulator. For example, if the accumulator register already contains 10, and the processor executes '''COMP ''3'' ''' the result is the comparison of ''10'' to ''3''. ''10'' is greater, and is not equal to ''3''. This will | + | * This instruction compares the ''number'' to the one already in the accumulator. For example, if the accumulator register already contains 10, and the processor executes '''COMP ''3'' ''' the result is the comparison of ''10'' to ''3''. ''10'' is greater, and is not equal to ''3''. This will prevent a '''JLT''' (jump if less than) to jump to its target, and will prevent a '''JEQ''' instruction from jumping. On the other hand, if the accumulator had contained ''2'', then a '''COMP ''2'' ''' would have allowed a subsequent '''JEQ''' instruction to jump to its target. |
|- | |- | ||
| | | |
Revision as of 14:18, 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 number |
24 |
00011000 |
|
COMP number |
84 |
01010100 |
|
DIV number |
44 |
00101100 |
|
LOAD number |
4 |
00000100 |
|
MUL number |
40 |
00101000 |
|
SUB number |
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 |
|