A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Description | Mnemotic | Special Argument | Instruction | Formatting/syntax | General CPU Specifications | ||||||||||||||||||||
2 | 2-operand Instructions | 2-operand | XXXX + DD + SS | 8 bit CPU, 10 tick clock | ||||||||||||||||||||||
3 | 0000 | Addition | ADD | No | X: Operation code (from 0000 to 1010) | 2-operand architecture | ||||||||||||||||||||
4 | 0001 | Subtraction | SUB | No | DD: Destination register (and source 1) | 256 B data memory (64B cached) | ||||||||||||||||||||
5 | 0010 | Logical XOR | XOR | No | SS: Source 2 register | 1024 B program memory (64B cached) | ||||||||||||||||||||
6 | 0011 | Logical AND | AND | No | No argument possible | Static branch prediction (not taken) | ||||||||||||||||||||
7 | 0100 | Logical OR | OR | No | Example: 0001 01 11 | R1 = R1-R3 | 7 registers (banked) | |||||||||||||||||||
8 | 0101 | Compare | CMP | No | 3 stage F-D-E pipeline | |||||||||||||||||||||
9 | 0110 | Copy | CPY | No | 1-operand | 1100 + DD + OO | 4 I/O ports | |||||||||||||||||||
10 | 0111 | Add with carry | ADC | No | DD: Destination register (and source) | 8-deep callstack | ||||||||||||||||||||
11 | 1000 | Memory Load | MLD | No | OO: Operation code (from 00 to 11) | 3 ALU flags (zero, neg, carry) | ||||||||||||||||||||
12 | 1001 | Memory Store | MST | No | No argument possible | 8-bit fixed instruction length | ||||||||||||||||||||
13 | 1010 | Port Load | PLD | No | Example: 1100 10 10 | Increment R2 | ||||||||||||||||||||
14 | 1011 | Port Store | PST | No | ||||||||||||||||||||||
15 | Immediate | 1101 + DD + OO + IIIIIIII | ||||||||||||||||||||||||
16 | 1-operand Instructions (1100) | DD: Destination register (and source) | ||||||||||||||||||||||||
17 | 00 | Right shift | RSH | No | OO: Operation code (from 00 to 11) | |||||||||||||||||||||
18 | 01 | Invert register | INV | No | I: 8-bit immediate given in argument | |||||||||||||||||||||
19 | 10 | Increment | INC | No | Example: 1101 01 10 00000101 | R1 = R1 - 5 | ||||||||||||||||||||
20 | 11 | Decrement | DEC | No | ||||||||||||||||||||||
21 | Branching | 1110 + II + OO + IIIIIIII | ||||||||||||||||||||||||
22 | Immediate Instructions (1101) | OO: Operation code (from 00 to 01) | ||||||||||||||||||||||||
23 | 00 | Load immediate | LDI | 8-bit immediate | I: 10-bit immediate, in arg. and first byte | |||||||||||||||||||||
24 | 01 | Add immediate | ADI | 8-bit immediate | Example: 1110 01 01 00100110 | Call address 294 | ||||||||||||||||||||
25 | 10 | Compare immediate | CPI | 8-bit immediate | ||||||||||||||||||||||
26 | 11 | And immediate | ANI | 8-bit immediate | Implicit | 1111 + OOOO | ||||||||||||||||||||
27 | OOOO: Operation code (from 0000 to 1111) | |||||||||||||||||||||||||
28 | Branching Instructions (1110) | No argument possible | ||||||||||||||||||||||||
29 | 00 | Jump | JMP | 10-bit immediate | Example: 1111 0111 | Skip next 2 instructions if negative | ||||||||||||||||||||
30 | 01 | Call | CAL | 10-bit immediate | ||||||||||||||||||||||
31 | Skips | 1111 + 1FFF | ||||||||||||||||||||||||
32 | Implicit Instructions (1111) | FFF: Flags (combineable) | ||||||||||||||||||||||||
33 | 0000 | Bank left | BKL | No | Skip flags | Description | Argument | |||||||||||||||||||
34 | 0001 | Bank right | BKR | No | 000 | Skip never | ! | |||||||||||||||||||
35 | 0010 | Halt | HLT | No | 001 | Skip if zero | 0 | |||||||||||||||||||
36 | 0011 | Return | RET | No | 010 | Skip if not zero | !0 | |||||||||||||||||||
37 | 1xxx | Skip | SKP | No | 011 | Skip if negative | - | |||||||||||||||||||
38 | 100 | Skip if not negative | !- | |||||||||||||||||||||||
39 | 101 | Skip always | None | |||||||||||||||||||||||
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 |