| A | B | C | D | E | F | G | I | J | K | L | M | N | O | P | Q | R | X | Y | Z | AA | AB | AC | AD | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | IR | Register | RAM | ALU | PC | IBOX | OBOX | |||||||||||||||||
2 | OP | Step | State | wIR | muxR | wR | srcA | wM | wAR | alu Ctl | branch | ijmp | wPC | rIn | wO | |||||||||
3 | (default) | 0 | xx | 0 | 0 | 0 | 0 | xxx | 0 | 0 | 0 | 0 | 0 | |||||||||||
4 | INCRPC | 1 | Inc_PC | 1 | ||||||||||||||||||||
5 | FETCH | 1 | FETCH_I | |||||||||||||||||||||
6 | LOAD_IR | 1 | ||||||||||||||||||||||
7 | 3 | DECODE | ||||||||||||||||||||||
8 | 0 | INBOX | 1 | INBOX1 | 1 | |||||||||||||||||||
9 | 2 | INBOX2 | 00 | 1 | ||||||||||||||||||||
10 | 1 | OUTBOX | 1 | OUTBOX | 1 | |||||||||||||||||||
11 | 2 | COPYFROM | 1 | INCPC2 | 1 | |||||||||||||||||||
12 | 2 | FETCH_O | ||||||||||||||||||||||
13 | 3 | LOAD_AR | 1 | |||||||||||||||||||||
14 | only if indirect mode | 3' | READMEM2 | |||||||||||||||||||||
15 | 4' | LOAD_AR2 | 1 | 1 | ||||||||||||||||||||
16 | 4 | READMEM | ||||||||||||||||||||||
17 | 5 | COPYFROM | 01 | 1 | ||||||||||||||||||||
18 | 3 | COPYTO | 1 | INCPC2 | 1 | |||||||||||||||||||
19 | 2 | FETCH_O | ||||||||||||||||||||||
20 | 3 | LOAD_AR | 1 | |||||||||||||||||||||
21 | only if indirect mode | 3' | READMEM2 | |||||||||||||||||||||
22 | 4' | LOAD_AR2 | 1 | 1 | ||||||||||||||||||||
23 | 4 | COPYTO | 1 | |||||||||||||||||||||
24 | 4 | ADD | 1 | INCPC2 | 1 | |||||||||||||||||||
25 | 2 | FETCH_O | ||||||||||||||||||||||
26 | 3 | LOAD_AR | 1 | |||||||||||||||||||||
27 | only if indirect mode | 3' | READMEM2 | |||||||||||||||||||||
28 | 4' | LOAD_AR2 | 1 | 1 | ||||||||||||||||||||
29 | 4 | READMEM | ||||||||||||||||||||||
30 | 5 | ADD | 11 | 1 | 000 | |||||||||||||||||||
31 | 5 | SUB | 1 | INCPC2 | 1 | |||||||||||||||||||
32 | 2 | FETCH_O | ||||||||||||||||||||||
33 | 3 | LOAD_AR | 1 | |||||||||||||||||||||
34 | only if indirect mode | 3' | READMEM2 | |||||||||||||||||||||
35 | 4' | LOAD_AR2 | 1 | 1 | ||||||||||||||||||||
36 | 4 | READMEM | ||||||||||||||||||||||
37 | 5 | SUB | 11 | 1 | 001 | |||||||||||||||||||
38 | 6 | BUMP+ | 1 | INCPC2 | 1 | |||||||||||||||||||
39 | 2 | FETCH_O | ||||||||||||||||||||||
40 | 3 | LOAD_AR | 1 | |||||||||||||||||||||
41 | only if indirect mode | 3' | READMEM2 | |||||||||||||||||||||
42 | 4' | LOAD_AR2 | 1 | 1 | ||||||||||||||||||||
43 | 4 | READMEM | ||||||||||||||||||||||
44 | 5 | BUMPP | 11 | 1 | 010 | |||||||||||||||||||
45 | 6 | COPYTO | 1 | |||||||||||||||||||||
46 | 7 | BUMP- | 1 | INCPC2 | 1 | |||||||||||||||||||
47 | 2 | FETCH_O | ||||||||||||||||||||||
48 | 3 | LOAD_AR | 1 | |||||||||||||||||||||
49 | only if indirect mode | 3' | READMEM2 | |||||||||||||||||||||
50 | 4' | LOAD_AR2 | 1 | 1 | ||||||||||||||||||||
51 | 4 | READMEM | ||||||||||||||||||||||
52 | 4 | BUMPN | 11 | 1 | 011 | |||||||||||||||||||
53 | 6 | COPYTO | 1 | |||||||||||||||||||||
54 | 8 | JUMP | 1 | INCPC2 | 1 | |||||||||||||||||||
55 | 2 | FETCH_O | ||||||||||||||||||||||
56 | 3 | JUMP | 1 | 1 | 1 | |||||||||||||||||||
57 | 9 | JUMPZ | 1 | INCPC2 | 1 | |||||||||||||||||||
58 | 2 | FETCH_O | ||||||||||||||||||||||
59 | 3 | JUMPZ | 000 | 1 | 0 | 1 | ||||||||||||||||||
60 | 10 | JUMPN | 1 | INCPC2 | 1 | |||||||||||||||||||
61 | 2 | FETCH_O | ||||||||||||||||||||||
62 | 3 | JUMPN | 100 | 1 | 0 | 1 | ||||||||||||||||||
63 | 11 | SET | 1 | INCPC2 | 1 | |||||||||||||||||||
64 | 2 | SET | 10 | 1 | ||||||||||||||||||||
65 | 15 | HALT | ||||||||||||||||||||||
66 | ALU subsystem | |||||||||||||||||||||||
67 | ||||||||||||||||||||||||
68 | aluCtl[1:0] | Operation | Output | |||||||||||||||||||||
69 | 00 | R + M | aluOut | |||||||||||||||||||||
70 | 01 | R - M | aluOut | |||||||||||||||||||||
71 | 10 | M + 1 | aluOut | |||||||||||||||||||||
72 | 11 | M - 1 | aluOut | |||||||||||||||||||||
73 | ||||||||||||||||||||||||
74 | aluCtl[2] | Operation | Output | |||||||||||||||||||||
75 | 0 | R = 0 ? | flag | |||||||||||||||||||||
76 | 1 | R < 0 ? | flag | |||||||||||||||||||||
77 | ||||||||||||||||||||||||
78 | ||||||||||||||||||||||||
79 | ||||||||||||||||||||||||
80 | ||||||||||||||||||||||||
81 | ||||||||||||||||||||||||
82 | ||||||||||||||||||||||||
83 | ||||||||||||||||||||||||
84 | ||||||||||||||||||||||||
85 | ||||||||||||||||||||||||
86 | ||||||||||||||||||||||||
87 | ||||||||||||||||||||||||
88 | ||||||||||||||||||||||||
89 | ||||||||||||||||||||||||
90 | ||||||||||||||||||||||||
91 | ||||||||||||||||||||||||
92 | ||||||||||||||||||||||||
93 | ||||||||||||||||||||||||
94 | ||||||||||||||||||||||||
95 | ||||||||||||||||||||||||
96 | ||||||||||||||||||||||||
97 | ||||||||||||||||||||||||
98 | ||||||||||||||||||||||||
99 | ||||||||||||||||||||||||
100 | ||||||||||||||||||||||||