ABCDEFGHIJKLMNOPQRSTUVWXYZ
1
Opcodeshortdescriptionram:
predicate: executes the next instruction if atleast one condition is true
2
00000---addacc = acc + reg
addr. 0: use lower 5 bits of reg 4 as pointer
condititons in order: cout, msb, 0, lsb
3
00001---sbaacc = acc - regaddr. 1-31: addr with immconditions are inverted
4
00010---xoracc = acc ^ regpdc needs a delay slot (e.g. add 2, nop, pdc 1011)
5
00011---andacc = acc & regregs:
6
00100---loracc = acc | regaddr. 0,1,2,4,5,6,7: general purpose
7
00101---sbracc = reg - acc
addr. 3: general purpose + ram pointer
load immediate:
8
00110---incacc = acc + 1
the immediate is specified in the next instruction "slot" (e.g. ldi, 123)
9
00111---decacc = acc - 1io:
10
01000---astreg = accaddr. 0-15: general io
11
01001---aldacc = reg
12
0101----pglload page
13
0110 0000
nope
14
0110 0001
hltstops the cpu
15
0110 0010
ldiacc = imm
16
0110 1000
rshacc = acc>>1
17
0111----pdcpredicate
18
100-----ralacc = ram
19
101-----rasram = acc
20
110-----jmppc = imm
21
1110----out
port = acc await
22
1111----inp
acc = port await
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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