-
Notifications
You must be signed in to change notification settings - Fork 0
/
microcod.dat
executable file
·335 lines (335 loc) · 6.81 KB
/
microcod.dat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
# Microcod realizat de Mosoiu Monica
# Microcode written by Mosoiu Monica
IF:
000 NONE, PdPCd, DBUS, PmADR
001 IFCH, +2PC
002 IF ACLOW JUMP PWFAIL ELSE STEP
003 IF CIL JUMP ILLEGAL ELSE STEP
004 IF B1 JUMPI FOS_AM+(IR11, IR10, 0, 0) ELSE STEP
005 IF B2 JUMPI CFOD_AM+(IR5, IR4, 0, 0) ELSE STEP
006 JUMPI BR+(IR12, IR11, IR10, IR9, IR8, 0, 0)
PWFAIL:
007 A1BE0
008 JUMP CIA
ILLEGAL:
009 A1BE1
00A JUMP CIA
00B NONE
FOS_AM:
00C PdPCs, NONE, SBUS, PmADR, READ
00D PdMDRS , NONE, SBUS, PmT, +2PC
00E JUMPI FOD_AM+(IR5, IR4, 0, 0)
00F NONE
FOS_AD:
010 PdRGs, NONE, SBUS, PmT
011 JUMPI FOD_AM+(IR5, IR4, 0, 0)
012 NONE
013 NONE
FOS_AI:
014 PdRGs, NONE, SBUS, PmADR
015 READ
016 PdMDRd, DBUS, PmT
017 JUMPI FOD_AM+(IR5, IR4, 0, 0)
FOS_AX:
028 PdRGs, NONE, DBUS, PmT
029 PdPCs, NONE, SBUS, PmADR, READ, +2PC
02A PdTs, PdMDRs, SUM, PmADR, READ
02B JUMPI MOV+(IR14, IR13, IR12, 0)
FOD_AM:
01C PdPCd, NONE, DBUS, PmADR, READ
01D JUMPI MOV+(IR14, IR13, IR12, 0)
01E NONE
01F NONE
FOD_AD:
020 PdRGd, NONE, DBUS, PmMDR
021 JUMPI MOV+(IR14, IR13, IR12, 0)
022 NONE
023 NONE
FOD_AI:
024 PdRGd, NONE, DBUS, PmADR
025 READ
026 JUMPI MOV+(IR14, IR13, IR12, 0)
027 NONE
FOD_AX:
028 PdPCs, NONE, SBus, PmADR, READ
029 +2PC, PdRGd, pdMDRs, Sum, PmADR
02A JUMPI MOV+(IR14, IR13, IR12, 0)
02B NONE
CFOD_AM:
02C PdPCd, NONE, DBUS, PmADR, READ
02D JUMPI CLR+(IR12, IR11, IR10, IR9)
02E NONE
02F NONE
CFOD_AD:
030 PdRGd, NONE, DBUS, PmMDR
031 JUMPI CLR+(IR12, IR11, IR10, IR9)
032 NONE
033 NONE
CFOD_AI:
034 PdRGd, NONE, DBUS, PmADR
035 READ
036 JUMPI CLR+(IR12, IR11, IR10, IR9)
037 NONE
CFOD_AX:
038 PdPCs, NONE, SBus, PmADR, READ
039 +2PC, PdRGd, pdMDRs, Sum, PmADR
03A JUMPI CLR+(IR14, IR13, IR12, 0)
03B NONE
MOV:
03C PdTs, NONE, SBUS, PmMDR
03D JUMP TEST
ADD:
03E PdTs, PdMDRd, SUM, PmMDR, PdCond
03F JUMP TEST
SUB:
040 PdNTs, PdMDRd, SUM, PmMDR, PdCond
041 JUMP TEST
CMP:
042 PdNTs, PdMDRd, SUM, NONE, PdCond
043 JUMP TEST
AND:
044 PdTs, PdMDRd, AND, PmMDR, PdCond
045 IF NINTR JUMP IF ELSE STEP
OR:
046 PdTs, PdMDRd, OR, PmMDR, PdCond
047 JUMP TEST
XOR:
048 PdTs, PdMDRd, XOR, PmMDR, PdCond
049 JUMP TEST
CLR:
04A Pd0s, NONE, SBUS, PmMDR
04B JUMP TEST
NEG:
04C PdMDRs, NONE, NSBUS, PmMDR, PdCond
04D JUMP TEST
INC:
04E pd1s, PdMDRd, SUM, PmMDR, PdCond
04F JUMP TEST
DEC:
050 -1s, PdMDRd, SUM, PmMDR, PdCond
051 JUMP TEST
ASL:
052 PdMDRs, NONE, ASL, PmMDR
053 JUMP TEST
ASR:
054 PdMDRs, NONE, ASR, PmMDR
055 JUMP TEST
LSR:
056 PdMDRs, NONE, LSR, PmMDR
057 JUMP TEST
ROL:
058 PdMDRs, NONE, ROL, PmMDR
059 JUMP TEST
ROR:
05A PdMDRs, NONE, ROR, PmMDR
05B JUMP TEST
RLC:
05C PdMDRs, NONE, RLC, PmMDR
05D JUMP TEST
RRC:
05E PdMDRs, NONE, RRC, PmMDR
05F JUMP TEST
JMP:
060 IF MAD_AM JUMP JMPAM ELSE STEP
061 JUMP JMP1
CALL:
062 PdADRs, NONE, SBUS, PmMDR, -2SP
063 JUMP CALL1
PUSH:
064 -2SP
065 JUMP PUSH1
POP:
066 PdSPs, NONE, SBUS, PmADR
067 READ
068 PdMDRs, NONE, SBUS, PmRG, +2SP
069 JUMP TEST
PUSH1:
06A PdSPs, NONE, SBUS, PmADR, WRITE
06B JUMP TEST
06C NOPE
BR:
06D PdIROfD, PdPCd, SUM, PmPC
06E IF NINTR JUMP IF ELSE STEP
06F JUMP CIA
070 NONE
BNE:
071 IF Z JUMP INTRTEST ELSE STEP
072 PdIROfD, PdPCd, SUM, PmPC
073 IF NINTR JUMP IF ELSE STEP
074 JUMP CIA
BEQ:
075 IF NZ JUMP INTRTEST ELSE STEP
076 PdIROfD, PdPCs, SUM, PmPC
077 IF NINTR JUMP IF ELSE STEP
078 JUMP CIA
BPL:
079 IF S JUMP INTRTEST ELSE STEP
07A PdIROfD, PdPCs, SUM, PmPC
07B IF NINTR JUMP IF ELSE STEP
07C JUMP CIA
BMI:
07D IF NS JUMP INTRTEST ELSE STEP
07E PdIROfD, PdPCs, SUM, PmPC
07F IF NINTR JUMP IF ELSE STEP
080 JUMP CIA
BCS:
081 IF C JUMP INTRTEST ELSE STEP
082 PdIROfD, PdPCs, SUM, PmPC
083 IF NINTR JUMP IF ELSE STEP
084 JUMP CIA
BCC:
085 IF NC JUMP INTRTEST ELSE STEP
086 PdIROfD, PdPCs, SUM, PmPC
087 IF NINTR JUMP IF ELSE STEP
088 JUMP CIA
BVS:
089 IF V JUMP INTRTEST ELSE STEP
08A PdIROfD, PdPCs, SUM, PmPC
08B IF NINTR JUMP IF ELSE STEP
08C JUMP CIA
BVC:
08D IF NV JUMP INTRTEST ELSE STEP
08E PdIROfD, PdPCs, SUM, PmPC
08F IF NINTR JUMP IF ELSE STEP
090 JUMP CIA
CLC:
091 PD0s, NONE, SBUS, PmC
092 IF NINTR JUMP IF ELSE STEP
093 JUMP CIA
094 NONE
CLV:
095 PD0s, NONE, SBUS, PmV
096 IF NINTR JUMP IF ELSE STEP
097 JUMP CIA
098 NONE
CLZ:
099 PD0s, NONE, SBUS, PmZ
09A IF NINTR JUMP IF ELSE STEP
09B JUMP CIA
09C NONE
CLS:
09D PD0s, NONE, SBUS, PmS
09E IF NINTR JUMP IF ELSE STEP
09F JUMP CIA
0A0 NONE
CCC:
0A1 PD0s, NONE, ClrCOND, PDCOND
0A2 IF NINTR JUMP IF ELSE STEP
0A3 JUMP CIA
0A4 NONE
SEC:
0A5 PD1s, NONE, SBUS, PmC
0A6 IF NINTR JUMP IF ELSE STEP
0A7 JUMP CIA
0A8 NONE
SEV:
0A9 PD1s, NONE, SBUS, PmV
0AA IF NINTR JUMP IF ELSE STEP
0AB JUMP CIA
0AC NONE
SEZ:
0AD PD1s, NONE, SBUS, PmZ
0AE IF NINTR JUMP IF ELSE STEP
0AF JUMP CIA
0B0 NONE
SES:
0B1 PD1s, NONE, SBUS, PmS
0B2 IF NINTR JUMP IF ELSE STEP
0B3 JUMP CIA
0B4 NONE
SCC:
0B5 PD1s, NONE, SetCOND, PDCOND
0B6 IF NINTR JUMP IF ELSE STEP
0B7 JUMP CIA
0B8 NONE
NOP:
0B9 IF NINTR JUMP IF ELSE STEP
0BA JUMP CIA
0BB NONE
0BC NONE
RET:
0BD PdSP, NONE, SBUS, PmADR
0BE READ
0BF PdMDRs, NONE, SBUS, PmPC, +2SP
0C0 NONE
RETI:
0C1 PdSPs, NONE, SBUS, PmADR
0C2 READ
0C3 PdMDRs, NONE, SBUS, PmPC, +2SP
0C4 JUMP RETI1
HALT:
0C5 A0BP0
JMPAM:
0C6 PdMDRs, NONE, SBus, PmPC
0C7 IF NINTR JUMP IF ELSE STEP
0C8 JUMP CIA
WAIT:
0C9 A1BVI
0CA IF NINTR JUMP ELSE STEP
0CB JUMP CIA
CALL:
0CC PdSPs, NONE, SBUS, PmADR
0CD PdMDRs, NONE, SBUS, PmADR
0CE JUMP JMP
PUSH PC:
0CF -2SP
0D0 PdSPs, NONE, SBUS, PmADR
0D1 PdPCd, DBUS, PmMDR, WRITE
0D2 JUMP INTRTEST
POP PC:
0D3 PdSPs, NONE, SBUS, PmADR
0D4 READ
0D5 PdMDRs, NONE, SBUS, PmPC, +2SP
0D6 JUMP INTRTEST
PUSH FLAG:
0D7 -2SP
0D8 PdSPs, NONE, SBUS, PmADR
0D9 PdFLAGd, DBUS, PmMDR, WRITE
0DA JUMP INTRTEST
POP FLAG:
0DB PdSPs, NONE, SBUS, PmADR
0DC READ
0DD PdMDRs, NONE, SBUS, PmFLAG, +2SP
0DE JUMP INTRTEST
RETI1:
0DF PdSPs, NONE, SBUS, PmADR
0E0 READ
0E1 PdMDRs, NONE, SBUS, PmPC, +2SP
INTRTEST:
0E2 IF NINTR JUMP IF ELSE STEP
0E3 JUMP CIA
EI:
0E4 A1BV1
0E5 IF NINTR JUMP IF ELSE STEP
0E6 JUMP CIA
DI:
0E7 A0BVI
0E8 JUMP IF
CIA:
0E9 INTRACK, -2SP
0EA PdSPs, NONE, SBUS, PmADR
0EB NONE, PdPCd, DBUS, PmMDR, WRITE,
0EC PdIVRs, NONE, SBUS, PmADR
0ED READ, A0BI, A0BE
0EE PdMDRs, NONE, SBUS, PmPC
0EF JUMP IF
TEST:
0F0 IF NMAD_AD JUMP TEST1 ELSE STEP
0F1 PdMDRS, NONE, SBUS, PmRG
0F2 JUMP INTRTEST
TEST1:
0F3 IF NMAD_AI JUMP TEST2 ELSE STEP
0F4 WRITE
0F5 JUMP INTRTEST
TEST2:
0F6 IF NMAD_AX JUMP ILLEGAL ELSE STEP
0F7 WRITE
0F8 JUMP INTRTEST
JUMP1:
0F9 PdMDRs, NONE, SBUS, PmPC
0FA JUMP TEST
0FB NONE
0FC NONE
0FD NONE
0FE NONE
0FF NONE