ABCDEFGHIJKLMNOPQRSTUVWXYZ
1
DescriptionMnemoticSpecial ArgumentInstructionFormatting/syntaxGeneral CPU Specifications
2
2-operand Instructions2-operandXXXX + DD + SS8 bit CPU, 10 tick clock
3
0000AdditionADDNoX: Operation code (from 0000 to 1010)2-operand architecture
4
0001SubtractionSUBNoDD: Destination register (and source 1)256 B data memory (64B cached)
5
0010Logical XORXORNoSS: Source 2 register1024 B program memory (64B cached)
6
0011Logical ANDANDNoNo argument possibleStatic branch prediction (not taken)
7
0100Logical ORORNoExample: 0001 01 11R1 = R1-R37 registers (banked)
8
0101CompareCMPNo3 stage F-D-E pipeline
9
0110CopyCPYNo1-operand1100 + DD + OO4 I/O ports
10
0111Add with carryADCNoDD: Destination register (and source)8-deep callstack
11
1000Memory LoadMLDNoOO: Operation code (from 00 to 11)3 ALU flags (zero, neg, carry)
12
1001Memory StoreMSTNoNo argument possible8-bit fixed instruction length
13
1010Port LoadPLDNoExample: 1100 10 10Increment R2
14
1011Port StorePSTNo
15
Immediate1101 + DD + OO + IIIIIIII
16
1-operand Instructions (1100)DD: Destination register (and source)
17
00Right shiftRSHNoOO: Operation code (from 00 to 11)
18
01Invert registerINVNoI: 8-bit immediate given in argument
19
10IncrementINCNoExample: 1101 01 10 00000101R1 = R1 - 5
20
11DecrementDECNo
21
Branching1110 + II + OO + IIIIIIII
22
Immediate Instructions (1101)OO: Operation code (from 00 to 01)
23
00Load immediateLDI8-bit immediateI: 10-bit immediate, in arg. and first byte
24
01Add immediateADI8-bit immediateExample: 1110 01 01 00100110Call address 294
25
10Compare immediateCPI8-bit immediate
26
11And immediateANI8-bit immediateImplicit1111 + OOOO
27
OOOO: Operation code (from 0000 to 1111)
28
Branching Instructions (1110)No argument possible
29
00JumpJMP10-bit immediateExample: 1111 0111Skip next 2 instructions if negative
30
01CallCAL10-bit immediate
31
Skips1111 + 1FFF
32
Implicit Instructions (1111)FFF: Flags (combineable)
33
0000Bank leftBKLNoSkip flagsDescriptionArgument
34
0001Bank rightBKRNo000Skip never!
35
0010HaltHLTNo001Skip if zero0
36
0011ReturnRETNo010Skip if not zero!0
37
1xxxSkipSKPNo011Skip if negative -
38
100Skip if not negative!-
39
101Skip alwaysNone
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100