Trailing-Edge
-
PDP-10 Archives
-
klad_sources
-
klad.sources/mcode1.lst
There are no other files named mcode1.lst in the archive.
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 1
MCOD1T MAC 17-Oct-88 14:28
1 000000 EDIT=0
2 000002 VERSION=2
3
4 XLIST
5 LIST
6
7
8
9
10 TITLE MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2
11
12
13
14
15
16 ^
17
18
19
20
21 COMMENT $
22
23 MCODE1 TESTS MICROPROCESSOR WORKING MEMORY AND THE MASSBUS DATA BOARD.
24 FOR WORKING MEMORY, IT CHECKS THAT ALL BITS IN ALL LOCATIONS CAN BE WRITTEN
25 AND READ. IT ALSO CHECKS THAT THE ADDRESSING LOGIC IS FUNCTIONING PROPERLY.
26
27 TO CHECK THE MASSBUS DATA BOARD, THE DIAGNOSTIC PERFORMS SOME PARTIAL MASSBUS
28 HANDSHAKING SEQUENCES AND CHECKS FOR PROPER RESPONSES. IT ALSO SIMULATES
29 READ AND WRITE TRANSFERS TO VERIFY THE PROPER OPERATION OF THE DATA PATH
30 LOGIC ON THE MASSBUS DATA BOARD.
31 $
32 000100 RPTCNT==100 ;SET REPEAT COUNT TO 100 TIMES
33 000001 RHDATA==1 ;ASSEMBLE THE RH20 DATA TRANSFER
34 ;REQUEST CODE
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 1
MCERR MAC 17-Oct-88 14:28
35 IF2 <PRINTX STARTING BINARY FILE>
36 SEARCH DX20CA ;READ THE CROSS ASSEMBLER
37
38 ;MASSBUS REGISTER BIT DEFINITIONS
39
40 ;STATUS & CONTROL REGISTER 1
41
42 000000 MPSCR0== 0 ;REGISTER NAME
43 000001 RUN== 1 ;RUN LINE FROM RH20
44 000002 GO== 2 ;GO BIT
45 000174 FN== 174 ;FUNCTION CODE
46 000004 F0== 4 ;FUNCTION BIT 0
47 000010 F1== 10 ;FUNCTION BIT 1
48 000020 F2== 20 ;FUNCTION BIT 2
49 000040 F3== 40 ;FUNCTION BIT 3
50 000100 F4== 100 ;FUNCTION BIT 4
51 000200 WCLK== 200 ;WRITE CLOCK LINE FROM RH20
52
53 ;STATUS AND CONTROL REGISTER 2
54
55 000001 MPSCR1== 1 ;REGISTER NAME
56 000001 DONE== 1 ;DATA TRANSFER DONE (READ)
57 000001 EBL== 1 ;SET EBL (WRITE)
58 000002 EXC== 2 ;EXCEPTION LINE FROM RH20 (READ)
59 000002 CLRGO== 2 ;SET TO CLEAR GO (WRITE)
60 000004 CMPERR== 4 ;COMPOSITE ERROR FLAG (READ)
61 000004 START== 4 ;START A DATA TRANSFER (WRITE)
62 000010 DTD== 10 ;DATA TO DEVICE
63 000020 OCC== 20 ;OCCUPIED
64 000040 ILF== 40 ;ILLEGAL FUNCTION
65 000100 MPERR== 100 ;MICRO-PROCESSOR DETECTED ERROR FLAG
66 000200 ATA== 200 ;ATTENTION
67
68 ;ERROR CODE REGISTER
69
70 000002 MPECR== 2 ;REGISTER NAME
71
72 ;DRIVE TYPE REGISTER
73
74 000003 MPDTR== 3 ;REGISTER NAME
75
76 ;HARDWARE VERSION REGISTER
77
78 000004 MPHVR== 4 ;REGISTER NAME
79
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 2
MCERR MAC 17-Oct-88 14:28
80 ;DATA BUFFER REGISTER 0
81
82 000005 MPDB0== 5 ;REGISTER NAME
83
84 ;DATA BUFFER REGISTER 1
85
86 000006 MPDB1== 6 ;REGISTER NAME
87
88 ;DATA BUFFER REGISTER 2
89
90 000007 MPDB2== 7 ;REGISTER NAME
91
92 000003 DB== 3 ;DATA BUFFER BITS 16 AND 17
93 000004 DBPAR== 4 ;PARITY BIT
94 000010 DBPARE== 10 ;PARITY ERROR (READ)
95 000020 DBEVEN== 20 ;DATA BUFFER EVEN PARITY CONTROL
96
97 ;GENERAL PURPOSE REGISTERS
98
99 000010 MPGP0==10 ;REGISTER NAMES
100 000011 MPGP1==11
101 000012 MPGP2==12
102 000013 MPGP3==13
103 000014 MPGP4==14
104 000015 MPGP5==15
105 000016 MPGP6==16
106 000017 MPGP7==17
107 000020 MPGP10==20
108 000021 MPGP11==21
109 000022 MPGP12==22
110 000023 MPGP13==23
111 000024 MPGP14==24
112 000025 MPGP15==25
113 000026 MPGP16==26
114 000027 MPGP17==27
115
116 ;MP STATUS REGISTER
117
118 000036 MPSTAT==36 ;REGISTER NAME
119 000001 INT0== 1 ;INTERRUPT LINE 0
120 000002 INT1== 2 ;INTERRUPT LINE 1
121 000004 INT2== 4 ;INTERRUPT LINE 2
122 000010 INT3== 10 ;INTERRUPT LINE 3
123 000020 C== 20 ;CARRY BIT
124 000040 Z== 40 ;ZERO BIT
125
126 ;I/O BANK SELECT REGISTER
127
128 000037 IOSEL==37 ;REGISTER NAME
129 000007 INADR== 7 ;INPUT BANK ADDRESS
130 000070 OUTADR== 70 ;OUTPUT BANK ADDRESS
131 000100 SPRES== 100 ;STACK POINTER RESET
132 000200 INIT== 200 ;INITIALIZE
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 3
MCERR MAC 17-Oct-88 14:28
133 ;THE FOLLOWING AC'S ARE USED BY THE ERROR HANDLER
134
135 ; AC7 FLAG REGISTER
136 ; AC6 REPEAT COUNTER
137 ; AC5 SAVE OF BR (DURING CALL ONLY)
138 ; AC4 SAVE OF I/O SELECT REGISTER (DURING CALL ONLY)
139 ; AC1 CORRECT DATA FOR ERRORA CALL
140 ; AC0 ACTUAL DATA FOR ERRORA AND ERRORM CALLS
141
142 ;FLAG REGISTER BITS
143
144 ; BIT 7 ERROR LOOP
145 ; BIT 6 ERROR DETECTED
146 ; BIT 5 RELIABILITY MODE
147 ; 4 - 0 LAST ERROR NUMBER
148
149 777777 777777 %TNUM== -1 ;SET TEST NUMBER TO -1 SO ENTIRE DRIVE REGISTER
150
151 000000 %REQ==0
152 000001 IFDEF RHDATA,<%REQ==1>
153 IFDEF CUADRS,<%REQ==1>
154 ;IS LOADED WITH TEST NUMBER ON FIRST TEST
155
156 DEFINE DEFTST(PROG),<
157 DEFINE TEST(E,NAME,X<;*>),<
158
159 LALL
160 X'**********************************************************************
161 X PROG * TEST E * NAME
162 X'**********************************************************************
163 SALL
164
165 IFN <^D'E^!%TNUM>&177400,<
166 IFG %TNUM,<DATI IOSEL,AC6 ;;SAVE THE IOSEL REG>
167 LDBR 11 ;;GET DEVICE CODE FOR MASSBUS INTERFACE
168 MOVB IOSEL ;;LOAD INTO I/O SELECT REGISTER
169 LDBR ^D'E_-8 ;;GET HIGH ORDER BITS OF TEST NUMBER
170 MOVB MPGP1 ;;LOAD INTO MASSBUS REG 20
171 IFG %TNUM,< MOV AC6,BR ;;GET SAVED IOSEL REG
172 MOVB IOSEL ;;RESTORE IT>
173 >
174 LDBR ^D'E&377 ;;GET LOW ORDER BITS OF TEST NUMBER
175 GOINK TESTI ;;GO INITIALIZE TEST
176 %TNUM==^D'E ;;REMEMBER TEST NUMBER
177 %EMES==0 ;;CLEAR ERROR MESSAGE NUMBER
178 TST==TST'E ;;REMEMBER TEST PC
179 LALL
180
181 TST'E: SALL
182 >>
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 4
MCERR MAC 17-Oct-88 14:28
183 000200 PNT==200 ;ADDITIONAL PRINT ROUTINE REQUEST FLAG
184 ;ERROR PRINT ROUTINE NUMBER MUST BE IN DXGP3
185
186 DEFINE ERRMAC(ADR,LADR,PRTN,COR),<
187 GOINK ERRSET ;;GO SET ERROR DETECTED FLAG
188 LPADR==ADR ;;REMEMBER ERROR LOOP ADDRESS
189 CORF==<PRTN&PNT>!COR ;;REMEMBER IF CORRECT AND ACTUAL DATA
190 LALL
191
192 ERLOOP LADR ;;IF ERROR, LOOP TO LADR
193 >
194
195 DEFINE ERROR(LADR,MES1,MES2,PRTN<0>),<ERRMAC ERLP,LADR,PRTN,0>
196
197 DEFINE ERRORM(LADR,MES1,MES2,PRTN<0>),<ERRMAC ERLPM,LADR,PRTN,100>
198
199 DEFINE ERRORA(LADR,MES1,MES2,PRTN<0>),<ERRMAC ERLPA,LADR,PRTN,100>
200
201 DEFINE ERRORD(LADR,MES1,MES2,PRTN<0>),<ERRMAC ERLPD,LADR,PRTN,40>
202
203 DEFINE ERLOOP(ADR),<SALL
204 IFN %EMES&<^-37>,<IF2 <
205 LALL
206
207 PRINTX ?TOO MANY ERROR MESSAGES IN ONE TEST
208 SALL
209 >>
210 LDBR CORF!%EMES ;;LOAD MESSAGE NUMBER
211 GOINK LPADR ;;GO TO ERROR HANDLER
212 JMPZ ADR ;;LOOP IF Z IS SET
213 %EMES==%EMES+1 ;;UPDATE THE MESSAGE NUMBER
214 >
215
216 DEFINE REPEAT(RADR),<
217 GOINK REPTU ;;GO TO REPEAT ROUTINE
218 JMPZ RADR ;;REPEAT IF Z IS SET
219 >
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 5
MCERR MAC 17-Oct-88 14:28
220 IFDEF RHDATA,<
221 DEFINE WRITE,<GOINK SETWRT ;;CALL ROUTINE TO SET UP RH20>
222 DEFINE READ,<GOINK SETRD ;;CALL ROUTINE TO SET UP RH20>
223 DEFINE READB,<GOINK SETRDB ;;CALL ROUTINE TO SET UP RH20>
224
225 DEFINE CHKRH(LADR,PRTN,CODE),<
226 LDBR <PRTN&PNT>!%EMES!CODE ;;SET UP CODE FOR EC REGISTER
227 GOINK CKTRM ;;CALL HOST TO CHECK TERMINATION OF RH20
228 LALL
229
230 ERRLOP LADR ;;IF ERROR, LOOP TO LADR
231 %EMES==%EMES+1
232 >
233 DEFINE CHKTRM(LADR,MES1,MES2,PRTN<0>),<CHKRH LADR,PRTN,40>
234 DEFINE CHKERR(LADR,MES1,MES2,PRTN<0>),<CHKRH LADR,PRTN,140>
235
236 DEFINE ERRLOP(LADR),<SALL
237 JMPZ LADR ;;IF ERROR, LOOP TO LADR
238 >
239 >
240 IFDEF CUADRS,<
241 DEFINE SNDADR,<GOINK SENDAD ;;CALL ROUTINE TO SEND CU ADDRESSES>
242 >
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 6
MCERR MAC 17-Oct-88 14:28
243 000000 %ADRH==0 ;;CLEAR HIGH ADDRESS REFERENCE FLAG
244
245 DEFINE GOINK(ADR),<
246 IFE .&<^-1777>,<
247 JMPSUB ADR ;;GO TO ADDRESS IN LOW 1K
248 >
249 IFN .&<^-1777>,<
250 IFIDN <ADR><TESTI>,<
251 JMPSUB TESTIH
252 %ADRH==%ADRH!1
253 >
254 IFIDN <ADR><LPADR>,<
255 IFE <LPADR-ERLP>,<
256 JMPSUB ERLPH
257 %ADRH==%ADRH!2
258 >
259 IFE <LPADR-ERLPM>,<
260 JMPSUB ERLPMH
261 %ADRH==%ADRH!4
262 >
263 IFE <LPADR-ERLPA>,<
264 JMPSUB ERLPAH
265 %ADRH==%ADRH!10
266 >
267 IFDEF CATAB,<
268 IFE <LPADR-ERLPD>,<
269 JMPSUB ERLPDH
270 %ADRH==%ADRH!400
271 >
272 >
273 >
274 IFIDN <ADR><ERRSET>,<
275 JMPSUB ERSETH
276 %ADRH==%ADRH!20
277 >
278 IFIDN <ADR><REPTU>,<
279 JMPSUB REPTUH
280 %ADRH==%ADRH!40
281 >
282 IFDEF RHDATA,<
283 IFIDN <ADR><SETWRT>,<
284 JMPSUB STWRTH
285 %ADRH==%ADRH!100
286 >
287 IFIDN <ADR><SETRD>,<
288 JMPSUB STRDH
289 %ADRH==%ADRH!100
290 >
291 IFIDN <ADR><SETRDB>,<
292 JMPSUB STRDBH
293 %ADRH==%ADRH!100
294 >
295 IFIDN <ADR><CKTRM>,<JMPSUB CKTRMH>
296 >
297 IFDEF CUADRS,<
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 6-1
MCERR MAC 17-Oct-88 14:28
298 IFIDN <ADR><SENDAD>,<
299 JMPSUB SNDADH
300 %ADRH==%ADRH!200
301 >
302 >
303 >
304 >
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 7
MCERR MAC 17-Oct-88 14:28
305 DEFINE .ECRAM,<
306 IFE .&<^-1777>,< JMP BEGEND>
307 IFN .&<^-1777>,< JUMP BEGEND>
308 IFN %ADRH&1,< TESTIH: MOVB AC5
309 JUMP TEST0I>
310 IFN %ADRH&2,< ERLPH: MOVB AC5
311 JUMP ERLP0>
312 IFN %ADRH&4,< ERLPMH: MOVB AC5
313 JUMP ERLPM0>
314 IFN %ADRH&10,< ERLPAH: MOVB AC5
315 JUMP ERLPA0>
316 IFN %ADRH&20,< ERSETH: JUMP ERRSET>
317 IFN %ADRH&40,< REPTUH: JUMP REPTU>
318 IFN %ADRH&100,< STWRTH: LDBR 1
319 JMP CALLH
320 STRDH: LDBR 2
321 JMP CALLH
322 STRDBH: LDBR 3
323 CALLH: MOVB AC5
324 JUMP CALL0
325 CKTRMH: MOVB AC5
326 JUMP CKTRM0>
327 IFN %ADRH&200,< SNDADH: LDBR 200
328 MOVB AC5
329 JUMP CALL0>
330 IFN %ADRH&400,< ERLPDH: MOVB AC5
331 JUMP ERLPD0>
332 >
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 8
MCERR MAC 17-Oct-88 14:28
333 ;MICRO-DIAGNOSTIC START ROUTINE
334
335 .INIT ^ ;INITIALIZE THE CROSS ASSEMBLER
336
337 SALL
338 000000 0 004000 02 0000
339
340 000001 0 002011 0 1 0 011 BEGIN: LDBR 11 ;SELECT THE MASSBUS
341 000002 0 066371 3 3 0 17 11 MOVB IOSEL ;INTERFACE
342 000003 0 022000 1 1 0 00 00 WAITGO: DATI MPSCR0,BR ;READ CONTROL REGISTER
343 000004 0 014000 0 6 0 000 SHR ;SHIFT GO BIT TO BIT 0
344 000005 0 104007 4 2 0007 JMPB0 .+2 ;JUMP AROUND IF GO IS SET
345 000006 0 100003 4 0 0003 JMP WAITGO ;NOT YET, KEEP WAITING
346 000007 0 022000 1 1 0 00 00 DATI MPSCR0,BR ;READ THE FUNCTION CODE AGAIN
347 000010 0 014000 0 6 0 000 SHR ;SHIFT RIGHT
348 000011 0 014000 0 6 0 000 SHR ;SHIFT F0 TO BIT 0
349 000012 0 104031 4 2 0031 JMPB0 CMDF0 ;JUMP IF F0 IS SET
350 000013 0 014000 0 6 0 000 SHR ;SHIFT F1 TO BIT 0
351 000014 0 104017 4 2 0017 JMPB0 .+3 ;JUMP IF RELIABILITY MODE REQUESTED
352 000015 0 002000 0 1 0 000 LDBR 0 ;SET UP FLAG REG WITH ALL ZEROS
353 000016 0 100020 4 0 0020 JMP .+2
354 000017 0 002040 0 1 0 040 LDBR 40 ;SET RELIABILITY MODE FLAG
355 000020 0 072171 3 5 0 07 11 MOVB AC7 ;PUT IN AC7
356 000021 0 002300 0 1 0 300 LDBR INIT+SPRES ;RESET THE DX20
357 000022 0 066371 3 3 0 17 11 MOVB IOSEL ;AND THE STACK POINTER
358 000023 0 002011 0 1 0 011 LDBR 11 ;SELECT THE MASSBUS
359 000024 0 066371 3 3 0 17 11 MOVB IOSEL ;INTERFACE AGAIN
360 000025 0 002000 0 1 0 000 LDBR 0 ;CLEAR RIGHT HALF OF DXGP3
361 000026 0 064351 3 2 0 16 11 MOVB MPGP6 ;TO INDICATE NO ADDITIONAL ERROR PRINTER
362 000027 0 116033 4 7 0033 JMPSUB OFFGO ;TURN OFF GO
363 000030 0 100236 4 0 0236 JMP TSTART ;GO START THE FIRST TEST
364
365 000031 0 014000 0 6 0 000 CMDF0: SHR ;SHIFT F1 TO BIT 0
366 000032 0 016000 0 7 0 000 RETURN ;RETURN TO CALLER
367
368 000033 0 002000 0 1 0 000 OFFGO: LDBR 0 ;GET A ZERO
369 000034 0 064051 3 2 0 02 11 MOVB MPECR ;CLEAR ERROR CODE REGISTER
370 000035 0 032121 1 5 0 05 01 DATI MPSCR1,AC5 ;READ STATUS REGISTER 1
371 000036 0 002010 0 1 0 010 LDBR DTD ;GET MASK OF DIRECTION BIT
372 000037 0 072133 3 5 0 05 13 LANDBR AC5 ;KEEP ONLY THAT BIT
373 000040 0 002002 0 1 0 002 LDBR CLRGO ;GET BIT TO CLEAR GO
374 000041 0 062134 3 1 0 05 14 LORB AC5,BR ;COMBINE WITH COPY OF DTD
375 000042 0 064031 3 2 0 01 11 MOVB MPSCR1 ;CLEAR GO AND ATA
376 000043 0 016000 0 7 0 000 RETURN
377
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 9
MCERR MAC 17-Oct-88 14:28
378 ;TEST INITIALIZATION
379
380 000044 0 062130 3 1 0 05 10 TEST0I: MOV AC5,BR ;GET TEST NUMBER BACK
381 000045 0 001000 0 0 2 000 TESTI: LDMAR 0 ;CLEAR MEMORY ADDRESS REGISTER
382 000046 0 000400 0 0 1 000 LDMARX 0 ;ALL BITS
383 000047 0 132157 5 5 0 06 17 DATI IOSEL,AC6 ;SAVE IOSEL REG
384 000050 0 010011 0 4 0 011 LDMEM 11 ;GET DEVICE CODE FOR MASSBUS INTERFACE
385 000051 0 046371 2 3 0 17 11 MOVMEM IOSEL ;LOAD INTO I/O SELECT REGISTER
386 000052 0 064211 3 2 0 10 11 MOVB MPGP0 ;WRITE TEST NUMBER INTO DXGP0
387 000053 0 062150 3 1 0 06 10 MOV AC6,BR ;GET SAVED IOSEL REG
388 000054 0 066371 3 3 0 17 11 MOVB IOSEL ;RESTORE IT
389 000055 0 002040 0 1 0 040 LDBR 40 ;GET MASK OF ONLY RELIABILITY BIT
390 000056 0 072173 3 5 0 07 13 LANDBR AC7 ;CLEAR ERROR AND MESSAGE NUMBER BITS
391 000057 0 062170 3 1 0 07 10 MOV AC7,BR ;GET FLAGS
392 000060 0 014000 0 6 0 000 SHR ;SHIFT RELIABILITY MODE BIT TO BR4
393 000061 0 106064 4 3 0064 JMPB4 .+3 ;JUMP AROUND IF RELIABILITY MODE
394 000062 0 002000 0 1 0 000 LDBR 0 ;QUICK VERIFY, LOAD A ZERO COUNT
395 000063 0 100065 4 0 0065 JMP .+2
396 000064 0 002077 0 1 0 077 LDBR RPTCNT-1 ;GET REPEAT COUNT
397 000065 0 072151 3 5 0 06 11 MOVB AC6 ;SAVE IN AC6
398 000066 0 016000 0 7 0 000 RETURN ;NOW START THE TEST
399
400 ;I/O SELECT REGISTER GENERAL ROUTINES
401
402 000067 0 132117 5 5 0 04 17 SAVIOS: DATI IOSEL,AC4 ;SAVE I/O SELECT REGISTER IN AC4
403 000070 0 002011 0 1 0 011 LDBR 11 ;SELECT MASSBUS INTERFACE
404 000071 0 066371 3 3 0 17 11 MOVB IOSEL ;GO I/O
405 000072 0 016000 0 7 0 000 NRTN: RETURN
406
407 000073 0 062110 3 1 0 04 10 RESIOS: MOV AC4,BR ;GET SAVED I/O SELECT REGISTER
408 000074 0 066371 3 3 0 17 11 MOVB IOSEL ;RESTORE IT
409 000075 0 016000 0 7 0 000 RETURN
410
411 ;ROUTINE TO SET ATA AND/OR MPERR IN STATUS REGISTER
412 ;ENTER WITH BITS TO SET IN BR
413
414 000076 0 032121 1 5 0 05 01 SETATA: DATI MPSCR1,AC5 ;READ STATUS REGISTER
415 000077 0 072134 3 5 0 05 14 LORBR AC5 ;SET REQUESTED BITS
416 000100 0 002310 0 1 0 310 LDBR ATA+MPERR+DTD ;GET MASK OF ONLY BITS TO SET
417 000101 0 062133 3 1 0 05 13 LANDB AC5,BR ;CLEAR OTHER BITS READ
418 000102 0 064031 3 2 0 01 11 MOVB MPSCR1 ;WRITE INTO STATUS REGISTER
419 000103 0 016000 0 7 0 000 RETURN
420
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 10
MCERR MAC 17-Oct-88 14:28
421 ;ERROR HANDLER ROUTINES
422
423 000104 0 002300 0 1 0 300 ERRSET: LDBR 300 ;GET ERROR LOOP AND DETECTED FLAGS
424 000105 0 072174 3 5 0 07 14 LORBR AC7 ;SET BOTH BITS IN FLAG REGISTER
425 000106 0 016000 0 7 0 000 RETURN
426
427 ;CHECK IF TO REPORT AN ERROR
428
429 000107 0 062170 3 1 0 07 10 ERRCHK: MOV AC7,BR ;GET FLAG REGISTER
430 000110 0 110112 4 4 0112 IFNDEF .ERROR,<JMPB7 .+2> ;SKIP IF IN ERROR LOOP
431 IFDEF .ERROR,<JMP REPORT> ;REPORT ALL ERRORS
432 000111 0 016377 0 7 0 377 RETURN -1 ;RETURN WITH Z SET TO CONTINUE TEST
433 000112 0 062165 3 1 0 07 05 SHL AC7,BR ;SHIFT ERROR DETECTED BIT TO BR7
434 000113 0 110126 4 4 0126 JMPB7 REPORT ;REPORT IT IF SET
435 000114 0 002037 0 1 0 037 LDBR 37 ;GET MASK FOR ERROR NUMBER
436 000115 0 072133 3 5 0 05 13 LANDBR AC5 ;CLEAR CONTROL BITS IN CURRENT NUMBER
437 000116 0 062173 3 1 0 07 13 LANDB AC7,BR ;EXTRACT LAST ERROR NUMBER
438 000117 0 060137 3 0 0 05 17 OSB AC5 ;COMPARE LAST AND CURRENT ERROR NUMBERS
439 000120 0 114122 4 6 0122 JMPZ NOFAIL ;JUMP IF AT SAME ERROR
440 000121 0 016377 0 7 0 377 RETURN -1 ;NO, RETURN WITH Z SET TO CONTINUE TEST
441 000122 0 116067 4 7 0067 NOFAIL: JMPSUB SAVIOS ;SAVE I/O REGISTER, SELECT MASSBUS
442 000123 0 002200 0 1 0 200 LDBR ATA ;GET ATA BIT
443 000124 0 072131 3 5 0 05 11 MOVB AC5 ;SAVE IN AC5
444 000125 0 016000 0 7 0 000 RETURN ;RETURN WITH Z CLEAR TO SIGNAL END OF LOOP
445
446 000126 0 116067 4 7 0067 REPORT: JMPSUB SAVIOS ;SAVE I/O REGISTER, SELECT MASSBUS
447 000127 0 062130 3 1 0 05 10 MOV AC5,BR ;GET ERROR NUMBER
448 000130 0 064051 3 2 0 02 11 MOVB MPECR ;PUT IN ERROR CODE REGISTER
449 000131 0 002240 0 1 0 240 LDBR 240 ;GET MASK OF LOOP AND RELIABILITY BITS
450 000132 0 072173 3 5 0 07 13 LANDBR AC7 ;LEAVE ONLY THOSE TWO BITS IN FLAG REG
451 000133 0 002037 0 1 0 037 LDBR 37 ;GET MASK OF ERROR NUMBER
452 000134 0 062133 3 1 0 05 13 LANDB AC5,BR ;GET CURRENT NUMBER FROM AC5
453 000135 0 072174 3 5 0 07 14 LORBR AC7 ;MERGE AND PUT IN FLAG REGISTER
454 000136 0 002300 0 1 0 300 LDBR ATA+MPERR ;GET ATA AND ERROR BITS
455 000137 0 072131 3 5 0 05 11 MOVB AC5 ;SAVE IN AC5
456 000140 0 016000 0 7 0 000 RETURN ;RETURN WITH Z CLEAR TO SIGNAL ERROR REPORT
457
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 11
MCERR MAC 17-Oct-88 14:28
458 000141 0 072131 3 5 0 05 11 ERLP: MOVB AC5 ;SAVE MESSAGE NUMBER IN AC5
459 000142 0 116107 4 7 0107 ERLP0: JMPSUB ERRCHK ;CHECK FOR ERROR
460 000143 0 114072 4 6 0072 JMPZ NRTN ;NO, RETURN WITH Z CLEAR TO CONTINUE TEST
461 000144 0 100161 4 0 0161 JMP ERRCOM ;GO TO COMMON ROUTINE
462
463 000145 0 072131 3 5 0 05 11 ERLPM: MOVB AC5 ;SAVE MESSAGE NUMBER IN AC5
464 000146 0 116107 4 7 0107 ERLPM0: JMPSUB ERRCHK ;CHECK FOR ERROR
465 000147 0 114072 4 6 0072 JMPZ NRTN ;NO, RETURN WITH Z CLEAR TO CONTINUE TEST
466 000150 0 044311 2 2 0 14 11 MOVMEM MPGP4 ;PUT CORRECT DATA IN RIGHT HALF OF DXGP2
467 000151 0 100157 4 0 0157 JMP ERRCA ;JUMP AROUND
468
469 000152 0 072131 3 5 0 05 11 ERLPA: MOVB AC5 ;SAVE MESSAGE NUMBER IN AC5
470 000153 0 116107 4 7 0107 ERLPA0: JMPSUB ERRCHK ;CHECK FOR ERROR
471 000154 0 114072 4 6 0072 JMPZ NRTN ;NO, RETURN WITH Z CLEAR TO CONTINUE TEST
472 000155 0 062030 3 1 0 01 10 MOV AC1,BR ;GET CORRECT DATA FROM AC1
473 000156 0 064311 3 2 0 14 11 MOVB MPGP4 ;PUT IN RIGHT HALF OF DXGP2
474 000157 0 062010 3 1 0 00 10 ERRCA: MOV AC0,BR ;GET ACTUAL DATA FROM AC0
475 000160 0 064331 3 2 0 15 11 MOVB MPGP5 ;PUT IN LEFT HALF OF DXGP2
476 000161 0 062130 3 1 0 05 10 ERRCOM: MOV AC5,BR ;GET BITS TO SET IN STATUS REGISTER
477 000162 0 116076 4 7 0076 CHKLOP: JMPSUB SETATA ;GO SET THE BITS
478 000163 0 116003 4 7 0003 CHKLP: JMPSUB WAITGO ;WAIT FOR GO TO SET
479 000164 0 104170 4 2 0170 JMPB0 ELOOPC ;JUMP IF TO CONTINUE
480 000165 0 116033 4 7 0033 JMPSUB OFFGO ;TURN OFF GO
481 000166 0 116073 4 7 0073 JMPSUB RESIOS ;RESTORE I/O SELECT REGISTER
482 000167 0 016377 0 7 0 377 ZRTN: RETURN -1 ;RETURN WITH Z SET TO LOOP
483
484 000170 0 116033 4 7 0033 ELOOPC: JMPSUB OFFGO ;TURN OFF GO
485 000171 0 116073 4 7 0073 JMPSUB RESIOS ;RESTORE I/O SELECT REGISTER
486 000172 0 016000 0 7 0 000 RETURN ;RETURN WITH Z CLEAR TO CONTINUE
487
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 12
MCERR MAC 17-Oct-88 14:28
488 XLIST
489 LIST
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 13
MCERR MAC 17-Oct-88 14:28
490 XLIST
491 LIST
492 000173 0 002200 0 1 0 200 SENDAD: LDBR 200 ;SET UP CODE FOR HOST
493 000174 0 100202 4 0 0202 JMP CALL
494 000175 0 002001 0 1 0 001 SETWRT: LDBR 1 ;SET UP CODE FOR HOST
495 000176 0 100202 4 0 0202 JMP CALL
496 000177 0 002002 0 1 0 002 SETRD: LDBR 2 ;SET UP CODE FOR HOST
497 000200 0 100202 4 0 0202 JMP CALL
498 000201 0 002003 0 1 0 003 SETRDB: LDBR 3 ;SET UP CODE FOR HOST
499 000202 0 072131 3 5 0 05 11 CALL: MOVB AC5 ;SAVE CODE IN AC5
500 000203 0 116067 4 7 0067 CALL0: JMPSUB SAVIOS ;SAVE I/O SELECT REG., SELECT MASSBUS
501 000204 0 062130 3 1 0 05 10 MOV AC5,BR ;GET CODE TO PASS TO HOST
502 000205 0 064051 3 2 0 02 11 MOVB MPECR ;WRITE INTO ERROR CODE REGISTER
503 000206 0 002200 0 1 0 200 LDBR ATA ;GET ATTENTION BIT
504 000207 0 116076 4 7 0076 JMPSUB SETATA ;SET ATTENTION IN STATUS REGISTER
505 000210 0 116003 4 7 0003 JMPSUB WAITGO ;WAIT FOR GO TO SET
506 000211 0 116033 4 7 0033 JMPSUB OFFGO ;TURN GO OFF AGAIN
507 000212 0 116073 4 7 0073 JMPSUB RESIOS ;RESTORE THE I/O SELECT REGISTER
508 000213 0 016000 0 7 0 000 RETURN ;RETURN, RH20 IS SET UP
509
510 000214 0 072131 3 5 0 05 11 CKTRM: MOVB AC5 ;SAVE MESSAGE NUMBER IN AC5
511 000215 0 116067 4 7 0067 CKTRM0: JMPSUB SAVIOS ;SAVE I/O SELECT REG., SELECT MASSBUS
512 000216 0 062130 3 1 0 05 10 MOV AC5,BR ;GET MESSAGE NUMBER AGAIN
513 000217 0 064051 3 2 0 02 11 MOVB MPECR ;WRITE IT INTO ERROR CODE REGISTER
514 000220 0 002200 0 1 0 200 LDBR ATA ;GET ATTENTION BIT
515 000221 0 100162 4 0 0162 JMP CHKLOP ;TELL HOST, DECIDE IF TO LOOP ON RESPONSE
516
517 XLIST
518 LIST
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 14
MCERR MAC 17-Oct-88 14:28
519 ;REPEAT TEST ROUTINE
520
521 000222 0 072147 3 5 0 06 07 REPTU: DECR AC6 ;DECREMENT REPEAT COUNT
522 000223 0 114072 4 6 0072 JMPZ NRTN ;IF NOW -1, RETURN WITH Z CLEAR
523 000224 0 016377 0 7 0 377 RETURN -1 ;RETURN WITH Z SET TO REPEAT TEST
524
525 ;REPORT END OF DIAGNOSTIC WITH 0 ERROR CODE AND 0 TEST NUMBER
526
527 000225 0 002011 0 1 0 011 BEGEND: LDBR 11 ;SELECT MASSBUS INTERFACE
528 000226 0 066371 3 3 0 17 11 MOVB IOSEL ;IN I/O SELECT REGISTER
529 000227 0 002000 0 1 0 000 LDBR 0 ;GET A ZERO
530 000230 0 064211 3 2 0 10 11 MOVB MPGP0 ;MAKE TEST NUMBER 0
531 000231 0 064231 3 2 0 11 11 MOVB MPGP1 ;TO SAY END OF DIAGNOSTIC
532 000232 0 002200 0 1 0 200 LDBR ATA ;GET ATTENTION BIT
533 000233 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SET IT
534 000234 0 116003 4 7 0003 JMPSUB WAITGO ;WAIT FOR GO TO SET
535 000235 0 100001 4 0 0001 JMP BEGIN ;START DIAGNOSTIC OVER AGAIN
536
537
538 000236 TSTART: ;COME HERE TO START THE TESTING
539
540
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 1
MCOD1M MAC 6-Mar-89 15:13
541 DEFTST MCODE1 ;TELL TEST MACRO OF PROGRAM NAME
542
543 TEST 128,WORKING MEMORY LOAD ALL ZEROS TEST
544 ;***********************************************************************
545 ;* MCODE1 * TEST 128 * WORKING MEMORY LOAD ALL ZEROS TEST
546 ;***********************************************************************
547 SALL
548 000236 0 002011 0 1 0 011
549 000237 0 066371 3 3 0 17 11
550 000240 0 002000 0 1 0 000
551 000241 0 064231 3 2 0 11 11
552 000242 0 002200 0 1 0 200
553 000243 0 116045 4 7 0045
554
555 000244 TST128: SALL
556
557
558 ;*LOAD AND READ ALL ZEROS INTO EACH LOCATION OF WORKING MEMORY
559
560 000244 0 002001 0 1 0 001 LDBR 1 ;SET UP ADDITIONAL PRINT ROUTINE NUMBER
561 000245 0 064351 3 2 0 16 11 MOVB MPGP6 ;IN DXGP3
562 000246 0 002000 0 1 0 000 LDBR 0 ;GET ZEROS
563 000247 0 072031 3 5 0 01 11 MOVB AC1 ;PUT IN AC1 AS CORRECT DATA
564 000250 0 064251 3 2 0 12 11 MOVB MPGP2 ;WRITE MEMORY ADDRESS
565 000251 0 064271 3 2 0 13 11 MOVB MPGP3 ;INTO DXGP1
566 000252 0 021012 1 0 2 00 12 WMT00: DATI MPGP2,MAR ;SELECT MEMORY ADDRESS
567 000253 0 020413 1 0 1 00 13 DATI MPGP3,MARX ;FROM DXGP1
568 000254 0 070030 3 4 0 01 10 WMT01: MOV AC1,MEM ;WRITE DATA INTO MEMORY
569 000255 0 052011 2 5 0 00 11 MOVMEM AC0 ;READ MEMORY, PUT INTO AC0
570 000256 0 062010 3 1 0 00 10 MOV AC0,BR ;READ DATA INTO BR
571 000257 0 060037 3 0 0 01 17 OSB AC1 ;COMPARE CORRECT WITH BR
572 000260 0 114262 4 6 0262 JMPZ .+2 ;JUMP AROUND IF A MATCH
573 000261 0 116104 4 7 0104 ERRORA WMT01,CAN'T LOAD ZEROS CORRECTLY,,PNT
574
575 ERLOOP WMT01 ^SALL
576 000262 0 002300 0 1 0 300
577 000263 0 116152 4 7 0152
578 000264 0 114254 4 6 0254
579 000265 0 032012 1 5 0 00 12 DATI MPGP2,AC0 ;READ LAST ADDRESS
580 000266 0 114270 4 6 0270 JMPZ .+2 ;SKIP IF A -1
581 000267 0 100276 4 0 0276 JMP WMT02 ;NO, JUST INCREMENT LOW BITS
582 000270 0 032053 1 5 0 02 13 DATI MPGP3,AC2 ;READ HIGH BITS INTO AC2
583 000271 0 002003 0 1 0 003 LDBR 3 ;PUT A 3 IN BR
584 000272 0 060057 3 0 0 02 17 OSB AC2 ;COMPARE, SKIP IF HIGH BITS ARE ALREADY 3
585 000273 0 114301 4 6 0301 JMPZ WMT0X ;IF HIGH BITS ALREADY 3, END THIS TEST
586 000274 0 062043 3 1 0 02 03 INC AC2,BR ;INCREMENT HIGH BITS
587 000275 0 064271 3 2 0 13 11 MOVB MPGP3 ;WRITE INTO MPGP3
588 000276 0 062003 3 1 0 00 03 WMT02: INC AC0,BR ;INCREMENT LOW BITS
589 000277 0 064251 3 2 0 12 11 MOVB MPGP2 ;WRITE INTO MPGP2
590 000300 0 100252 4 0 0252 JMP WMT00 ;NOW TEST THIS LOCATION
591
592 000301 0 116222 4 7 0222 WMT0X: REPEAT TST
593 000302 0 114244 4 6 0244
594
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 2
MCOD1M MAC 6-Mar-89 15:13
595 TEST 129,WORKING MEMORY LOAD ALL ONES TEST
596 ;***********************************************************************
597 ;* MCODE1 * TEST 129 * WORKING MEMORY LOAD ALL ONES TEST
598 ;***********************************************************************
599 SALL
600 000303 0 002201 0 1 0 201
601 000304 0 116045 4 7 0045
602
603 000305 TST129: SALL
604
605
606 ;*LOAD AND READ ALL ONES INTO EACH LOCATION OF WORKING MEMORY
607
608 000305 0 002377 0 1 0 377 LDBR -1 ;GET ALL ONES
609 000306 0 072031 3 5 0 01 11 MOVB AC1 ;PUT IN AC1 AS CORRECT DATA
610 000307 0 002000 0 1 0 000 LDBR 0 ;CLEAR BR
611 000310 0 064251 3 2 0 12 11 MOVB MPGP2 ;WRITE MEMORY ADDRESS
612 000311 0 064271 3 2 0 13 11 MOVB MPGP3 ;INTO DXGP1
613 000312 0 021012 1 0 2 00 12 WMT10: DATI MPGP2,MAR ;SELECT MEMORY ADDRESS
614 000313 0 020413 1 0 1 00 13 DATI MPGP3,MARX ;FROM DXGP1
615 000314 0 070030 3 4 0 01 10 WMT11: MOV AC1,MEM ;WRITE DATA INTO MEMORY
616 000315 0 052011 2 5 0 00 11 MOVMEM AC0 ;READ MEMORY, PUT INTO AC0
617 000316 0 062010 3 1 0 00 10 MOV AC0,BR ;READ DATA INTO BR
618 000317 0 060037 3 0 0 01 17 OSB AC1 ;COMPARE CORRECT WITH BR
619 000320 0 114322 4 6 0322 JMPZ .+2 ;JUMP AROUND IF A MATCH
620 000321 0 116104 4 7 0104 ERRORA WMT11,CAN'T LOAD ONES CORRECTLY,,PNT
621
622 ERLOOP WMT11 ^SALL
623 000322 0 002300 0 1 0 300
624 000323 0 116152 4 7 0152
625 000324 0 114314 4 6 0314
626 000325 0 032012 1 5 0 00 12 DATI MPGP2,AC0 ;READ LAST ADDRESS
627 000326 0 114330 4 6 0330 JMPZ .+2 ;SKIP IF A -1
628 000327 0 100336 4 0 0336 JMP WMT12 ;NO, JUST INCREMENT LOW BITS
629 000330 0 032053 1 5 0 02 13 DATI MPGP3,AC2 ;READ HIGH BITS INTO AC2
630 000331 0 002003 0 1 0 003 LDBR 3 ;PUT A 3 IN BR
631 000332 0 060057 3 0 0 02 17 OSB AC2 ;COMPARE, SKIP IF HIGH BITS ARE ALREADY 3
632 000333 0 114341 4 6 0341 JMPZ WMT1X ;IF HIGH BITS ALREADY 3, END THIS TEST
633 000334 0 062043 3 1 0 02 03 INC AC2,BR ;INCREMENT HIGH BITS
634 000335 0 064271 3 2 0 13 11 MOVB MPGP3 ;WRITE INTO MPGP3
635 000336 0 062003 3 1 0 00 03 WMT12: INC AC0,BR ;INCREMENT LOW BITS
636 000337 0 064251 3 2 0 12 11 MOVB MPGP2 ;WRITE INTO MPGP2
637 000340 0 100312 4 0 0312 JMP WMT10 ;NOW TEST THIS LOCATION
638
639 000341 0 116222 4 7 0222 WMT1X: REPEAT TST
640 000342 0 114305 4 6 0305
641
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 3
MCOD1M MAC 6-Mar-89 15:13
642 TEST 130,WORKING MEMORY LOAD OF FLOATING ONE PATTERN
643 ;***********************************************************************
644 ;* MCODE1 * TEST 130 * WORKING MEMORY LOAD OF FLOATING ONE PATTERN
645 ;***********************************************************************
646 SALL
647 000343 0 002202 0 1 0 202
648 000344 0 116045 4 7 0045
649
650 000345 TST130: SALL
651
652
653 ;*LOAD AND READ FLOATING ONE PATTERN INTO EACH LOCATION OF WORKING MEMORY
654
655 000345 0 002000 0 1 0 000 LDBR 0 ;SET UP FOR ADDRESS 0
656 000346 0 064251 3 2 0 12 11 MOVB MPGP2 ;WRITE MEMORY ADDRESS
657 000347 0 064271 3 2 0 13 11 MOVB MPGP3 ;INTO DXGP1
658 000350 0 002001 0 1 0 001 WMT20: LDBR 1 ;GET A 1
659 000351 0 072031 3 5 0 01 11 MOVB AC1 ;PUT IN AC1 AS CORRECT DATA
660 000352 0 021012 1 0 2 00 12 DATI MPGP2,MAR ;SELECT MEMORY ADDRESS
661 000353 0 020413 1 0 1 00 13 DATI MPGP3,MARX ;FROM DXGP1
662 000354 0 070030 3 4 0 01 10 WMT21: MOV AC1,MEM ;WRITE DATA INTO MEMORY
663 000355 0 052011 2 5 0 00 11 MOVMEM AC0 ;READ MEMORY, PUT INTO AC0
664 000356 0 062010 3 1 0 00 10 MOV AC0,BR ;READ DATA INTO BR
665 000357 0 060037 3 0 0 01 17 OSB AC1 ;COMPARE CORRECT WITH BR
666 000360 0 114362 4 6 0362 JMPZ .+2 ;JUMP AROUND IF A MATCH
667 000361 0 116104 4 7 0104 ERRORA WMT21,CAN'T LOAD ZEROS CORRECTLY,,PNT
668
669 ERLOOP WMT21 ^SALL
670 000362 0 002300 0 1 0 300
671 000363 0 116152 4 7 0152
672 000364 0 114354 4 6 0354
673 000365 0 072025 3 5 0 01 05 SHLR AC1 ;FLOAT BIT TO LEFT IN AC1
674 000366 0 112370 4 5 0370 JMPC WMT23 ;GO TO NEXT ADDRESS IF SHIFTED BIT OUT
675 000367 0 100354 4 0 0354 JMP WMT21 ;TEST THIS PATTERN
676 000370 0 032012 1 5 0 00 12 WMT23: DATI MPGP2,AC0 ;READ LAST ADDRESS
677 000371 0 114373 4 6 0373 JMPZ .+2 ;SKIP IF A -1
678 000372 0 100401 4 0 0401 JMP WMT22 ;NO, JUST INCREMENT LOW BITS
679 000373 0 032053 1 5 0 02 13 DATI MPGP3,AC2 ;READ HIGH BITS INTO AC2
680 000374 0 002003 0 1 0 003 LDBR 3 ;PUT A 3 IN BR
681 000375 0 060057 3 0 0 02 17 OSB AC2 ;COMPARE, SKIP IF HIGH BITS ARE ALREADY 3
682 000376 0 114404 4 6 0404 JMPZ WMT2X ;IF HIGH BITS ALREADY 3, END THIS TEST
683 000377 0 062043 3 1 0 02 03 INC AC2,BR ;INCREMENT HIGH BITS
684 000400 0 064271 3 2 0 13 11 MOVB MPGP3 ;WRITE INTO MPGP3
685 000401 0 062003 3 1 0 00 03 WMT22: INC AC0,BR ;INCREMENT LOW BITS
686 000402 0 064251 3 2 0 12 11 MOVB MPGP2 ;WRITE INTO MPGP2
687 000403 0 100350 4 0 0350 JMP WMT20 ;NOW TEST THIS LOCATION
688
689 000404 0 116222 4 7 0222 WMT2X: REPEAT TST
690 000405 0 114345 4 6 0345
691
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 4
MCOD1M MAC 6-Mar-89 15:13
692 TEST 131,WORKING MEMORY LOAD OF FLOATING ZERO PATTERN
693 ;***********************************************************************
694 ;* MCODE1 * TEST 131 * WORKING MEMORY LOAD OF FLOATING ZERO PATTERN
695 ;***********************************************************************
696 SALL
697 000406 0 002203 0 1 0 203
698 000407 0 116045 4 7 0045
699
700 000410 TST131: SALL
701
702
703 ;*LOAD AND READ FLOATING ZERO PATTERN INTO EACH LOCATION OF WORKING MEMORY
704
705 000410 0 002000 0 1 0 000 LDBR 0 ;SET UP FOR ADDRESS 0
706 000411 0 064251 3 2 0 12 11 MOVB MPGP2 ;WRITE MEMORY ADDRESS
707 000412 0 064271 3 2 0 13 11 MOVB MPGP3 ;INTO DXGP1
708 000413 0 002177 0 1 0 177 WMT30: LDBR 177 ;GET START PATTERN
709 000414 0 072031 3 5 0 01 11 MOVB AC1 ;PUT IN AC1 AS CORRECT DATA
710 000415 0 021012 1 0 2 00 12 DATI MPGP2,MAR ;SELECT MEMORY ADDRESS
711 000416 0 020413 1 0 1 00 13 DATI MPGP3,MARX ;FROM DXGP1
712 000417 0 070030 3 4 0 01 10 WMT31: MOV AC1,MEM ;WRITE DATA INTO MEMORY
713 000420 0 052011 2 5 0 00 11 MOVMEM AC0 ;READ MEMORY, PUT INTO AC0
714 000421 0 062010 3 1 0 00 10 MOV AC0,BR ;READ DATA INTO BR
715 000422 0 060037 3 0 0 01 17 OSB AC1 ;COMPARE CORRECT WITH BR
716 000423 0 114425 4 6 0425 JMPZ .+2 ;JUMP AROUND IF A MATCH
717 000424 0 116104 4 7 0104 ERRORA WMT31,CAN'T LOAD ZEROS CORRECTLY,,PNT
718
719 ERLOOP WMT31 ^SALL
720 000425 0 002300 0 1 0 300
721 000426 0 116152 4 7 0152
722 000427 0 114417 4 6 0417
723 000430 0 062030 3 1 0 01 10 MOV AC1,BR ;MOVE PATTERN TO BR
724 000431 0 014001 0 6 0 001 SHR 1 ;SHIFT THE ZERO BIT RIGHT
725 000432 0 072031 3 5 0 01 11 MOVB AC1 ;PUT NEW PATTERN INTO AC1
726 000433 0 114435 4 6 0435 JMPZ WMT33 ;GO TO NEXT ADDRESS IF ZERO SHIFTED OUT
727 000434 0 100417 4 0 0417 JMP WMT31 ;TEST THIS PATTERN
728 000435 0 032012 1 5 0 00 12 WMT33: DATI MPGP2,AC0 ;READ LAST ADDRESS
729 000436 0 114440 4 6 0440 JMPZ .+2 ;SKIP IF A -1
730 000437 0 100446 4 0 0446 JMP WMT32 ;NO, JUST INCREMENT LOW BITS
731 000440 0 032053 1 5 0 02 13 DATI MPGP3,AC2 ;READ HIGH BITS INTO AC2
732 000441 0 002003 0 1 0 003 LDBR 3 ;PUT A 3 IN BR
733 000442 0 060057 3 0 0 02 17 OSB AC2 ;COMPARE, SKIP IF HIGH BITS ARE ALREADY 3
734 000443 0 114451 4 6 0451 JMPZ WMT3X ;IF HIGH BITS ALREADY 3, END THIS TEST
735 000444 0 062043 3 1 0 02 03 INC AC2,BR ;INCREMENT HIGH BITS
736 000445 0 064271 3 2 0 13 11 MOVB MPGP3 ;WRITE INTO MPGP3
737 000446 0 062003 3 1 0 00 03 WMT32: INC AC0,BR ;INCREMENT LOW BITS
738 000447 0 064251 3 2 0 12 11 MOVB MPGP2 ;WRITE INTO MPGP2
739 000450 0 100413 4 0 0413 JMP WMT30 ;NOW TEST THIS LOCATION
740
741 000451 0 116222 4 7 0222 WMT3X: REPEAT TST
742 000452 0 114410 4 6 0410
743
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 5
MCOD1M MAC 6-Mar-89 15:13
744 TEST 132,WORKING MEMORY ADDRESSING TEST
745 ;***********************************************************************
746 ;* MCODE1 * TEST 132 * WORKING MEMORY ADDRESSING TEST
747 ;***********************************************************************
748 SALL
749 000453 0 002204 0 1 0 204
750 000454 0 116045 4 7 0045
751
752 000455 TST132: SALL
753
754
755 ;*WRITE ZEROS INTO MEMORY ADDRESS 0
756 ;*WRITE ONES INTO MEMORY ADDRESSES 1,2,4,10,20,40,100,200,400,1000
757 ;*AFTER EACH WRITE, CHECK THAT ADDRESS 0 STILL CONTAINS ZEROS
758
759 ;*WRITE ZEROS INTO MEMORY ADDRESS 1
760 ;*WRITE ONES INTO MEMORY ADDRESSES 0,2,4,10,20,40,100,200,400,1000
761 ;*AFTER EACH WRITE, CHECK THAT ADDRESS 1 STILL CONTAINS ZEROS
762
763 ;*REPEAT AS ABOVE, TESTING MEMORY ADDRESSES 2,4,10,20,40,100,200,400,1000
764 ;*WHILE CHANGING THE OTHER MEMORY ADDRESSES
765
766 000455 0 002002 0 1 0 002 LDBR 2 ;SET UP ADDITIONAL PRINT ROUTINE NUMBER
767 000456 0 064351 3 2 0 16 11 MOVB MPGP6 ;PUT IN DXGP3
768 000457 0 002000 0 1 0 000 LDBR 0 ;GET A ZERO
769 000460 0 066011 3 3 0 00 11 MOVB MPGP10 ;STORE ADDRESS UNDER TEST
770 000461 0 066031 3 3 0 01 11 MOVB MPGP11 ;IN DXGP4
771 000462 0 072031 3 5 0 01 11 MOVB AC1 ;STORE ZEROS AS CORRECT DATA
772 000463 0 002377 0 1 0 377 LDBR -1 ;STORE ONES AS DATA TO WRITE
773 000464 0 072051 3 5 0 02 11 MOVB AC2 ;IN AC2
774 000465 0 002000 0 1 0 000 WMA0: LDBR 0 ;GET A ZERO
775 000466 0 066051 3 3 0 02 11 MOVB MPGP12 ;STORE ADDRESS BEING CHANGED
776 000467 0 066071 3 3 0 03 11 MOVB MPGP13 ;IN DXGP5
777 000470 0 116573 4 7 0573 WMA1: JMPSUB COMPARE ;COMPARE THE TWO ADDRESSES
778 000471 0 114512 4 6 0512 JMPZ WMA3 ;JUMP AROUND IF ADDRESSES ARE THE SAME
779 000472 0 121000 5 0 2 00 00 WMA2: DATI MPGP10,MAR ;LOAD MAR WITH
780 000473 0 120401 5 0 1 00 01 DATI MPGP11,MARX ;ADDRESS UNDER TEST
781 000474 0 070030 3 4 0 01 10 MOV AC1,MEM ;LOAD MEMORY WITH ZEROS
782 000475 0 121002 5 0 2 00 02 DATI MPGP12,MAR ;LOAD MAR WITH
783 000476 0 120403 5 0 1 00 03 DATI MPGP13,MARX ;ADDRESS TO BE CHANGED
784 000477 0 070050 3 4 0 02 10 MOV AC2,MEM ;WRITE ONES TO THIS MEMORY LOCATION
785 000500 0 121000 5 0 2 00 00 DATI MPGP10,MAR ;LOAD MAR WITH
786 000501 0 120401 5 0 1 00 01 DATI MPGP11,MARX ;ADDRESS UNDER TEST
787 000502 0 052011 2 5 0 00 11 MOVMEM AC0 ;READ MEMORY CONTENTS INTO AC0
788 000503 0 062010 3 1 0 00 10 MOV AC0,BR ;MOVE IT TO BR
789 000504 0 060037 3 0 0 01 17 OSB AC1 ;COMPARE WITH THE ZEROS WRITTEN
790 000505 0 114507 4 6 0507 JMPZ .+2 ;SKIP OVER ERROR IF SAME
791 000506 0 116104 4 7 0104 ERROR WMA2,CANNOT ADDRESS ALL MEMORY LOCATIONS,,PNT
792
793 ERLOOP WMA2 ^SALL
794 000507 0 002200 0 1 0 200
795 000510 0 116141 4 7 0141
796 000511 0 114472 4 6 0472
797 000512 0 116545 4 7 0545 WMA3: JMPSUB ABC ;SHIFT LEFT THE ADDRESS BEING CHANGED
798 000513 0 114470 4 6 0470 JMPZ WMA1 ;JUMP BACK UNLESS ADDRESS OVERFLOWED
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 5-1
MCOD1M MAC 6-Mar-89 15:13
799 000514 0 116517 4 7 0517 JMPSUB AUT ;SHIFT LEFT THE ADDRESS UNDER TEST
800 000515 0 114465 4 6 0465 JMPZ WMA0 ;RESET ADDRESS BEING CHANGED AND TEST IT
801 000516 0 100605 4 0 0605 JMP WMAX ;GO TO END OF TEST
802
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 6
MCOD1M MAC 6-Mar-89 15:13
803 ;SHIFT THE ADDRESS UNDER TEST IN DXGP4 LEFT
804 ;RETURN WITH Z SET UNLESS ADDRESS OVERFLOWS MAR
805
806 000517 0 132061 5 5 0 03 01 AUT: DATI MPGP11,AC3 ;READ HIGH BITS OF ADDRESS
807 000520 0 002002 0 1 0 002 LDBR 2 ;CHECK IF ALREADY A 2
808 000521 0 060077 3 0 0 03 17 OSB AC3 ;COMPARE
809 000522 0 114072 4 6 0072 JMPZ NRTN ;RETURN WITH Z BIT CLEAR
810 000523 0 060067 3 0 0 03 07 DEC AC3 ;SUBTRACT 1 TO SEE IF ADR WAS 0
811 000524 0 114530 4 6 0530 JMPZ AUTLOW ;IF ZERO, GO READ LOW BITS
812 000525 0 002002 0 1 0 002 LDBR 2 ;ADR WAS 1, MAKE IT 2
813 000526 0 066031 3 3 0 01 11 MOVB MPGP11 ;WRITE INTO REGISTER
814 000527 0 016377 0 7 0 377 RETURN -1 ;RETURN WITH Z BIT SET
815 000530 0 132100 5 5 0 04 00 AUTLOW: DATI MPGP10,AC4 ;READ LOW BITS INTO AC4
816 000531 0 060107 3 0 0 04 07 DEC AC4 ;SUBTRACT 1 TO SEE IF ADR WAS 0
817 000532 0 114542 4 6 0542 JMPZ AUTZRO ;JUMP IF SO
818 000533 0 062105 3 1 0 04 05 SHL AC4,BR ;SHIFT ADDRESS LEFT
819 000534 0 066011 3 3 0 00 11 MOVB MPGP10 ;WRITE NEW ADDRESS
820 000535 0 112537 4 5 0537 JMPC .+2 ;SKIP IF BIT SHIFTED OUT OF ADDRESS
821 000536 0 016377 0 7 0 377 RETURN -1 ;NO, RETURN WITH Z BIT SET
822 000537 0 002001 0 1 0 001 LDBR 1 ;GET A 1
823 000540 0 066031 3 3 0 01 11 MOVB MPGP11 ;WRITE AS HIGH ADDRESS BITS
824 000541 0 016377 0 7 0 377 RETURN -1 ;RETURN WITH Z BIT SET
825 000542 0 002001 0 1 0 001 AUTZRO: LDBR 1 ;GET A 1
826 000543 0 066011 3 3 0 00 11 MOVB MPGP10 ;WRITE AS LOW ADDRESS BIT
827 000544 0 016377 0 7 0 377 RETURN -1 ;RETURN WITH Z BIT SET
828
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 7
MCOD1M MAC 6-Mar-89 15:13
829 ;SHIFT THE ADDRESS TO BE CHANGED IN DXGP5 LEFT
830 ;RETURN WITH Z SET UNLESS ADDRESS OVERFLOWS MAR
831
832 000545 0 132063 5 5 0 03 03 ABC: DATI MPGP13,AC3 ;READ HIGH BITS OF ADDRESS
833 000546 0 002002 0 1 0 002 LDBR 2 ;CHECK IF ALREADY A 2
834 000547 0 060077 3 0 0 03 17 OSB AC3 ;COMPARE
835 000550 0 114072 4 6 0072 JMPZ NRTN ;RETURN WITH Z BIT CLEAR
836 000551 0 060067 3 0 0 03 07 DEC AC3 ;SUBTRACT 1 TO SEE IF ADR WAS 0
837 000552 0 114556 4 6 0556 JMPZ ABCLOW ;IF ZERO, GO READ LOW BITS
838 000553 0 002002 0 1 0 002 LDBR 2 ;ADR WAS 1, MAKE IT 2
839 000554 0 066071 3 3 0 03 11 MOVB MPGP13 ;WRITE INTO REGISTER
840 000555 0 016377 0 7 0 377 RETURN -1 ;RETURN WITH Z BIT SET
841 000556 0 132102 5 5 0 04 02 ABCLOW: DATI MPGP12,AC4 ;READ LOW BITS INTO AC4
842 000557 0 060107 3 0 0 04 07 DEC AC4 ;SUBTRACT 1 TO SEE IF ADR WAS 0
843 000560 0 114570 4 6 0570 JMPZ ABCZRO ;JUMP IF SO
844 000561 0 062105 3 1 0 04 05 SHL AC4,BR ;SHIFT ADDRESS LEFT
845 000562 0 066051 3 3 0 02 11 MOVB MPGP12 ;WRITE NEW ADDRESS
846 000563 0 112565 4 5 0565 JMPC .+2 ;SKIP IF BIT SHIFTED OUT OF ADDRESS
847 000564 0 016377 0 7 0 377 RETURN -1 ;NO, RETURN WITH Z BIT SET
848 000565 0 002001 0 1 0 001 LDBR 1 ;GET A 1
849 000566 0 066071 3 3 0 03 11 MOVB MPGP13 ;WRITE AS HIGH ADDRESS BITS
850 000567 0 016377 0 7 0 377 RETURN -1 ;RETURN WITH Z BIT SET
851 000570 0 002001 0 1 0 001 ABCZRO: LDBR 1 ;GET A 1
852 000571 0 066051 3 3 0 02 11 MOVB MPGP12 ;WRITE AS LOW ADDRESS BIT
853 000572 0 016377 0 7 0 377 RETURN -1 ;RETURN WITH Z BIT SET
854
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 8
MCOD1M MAC 6-Mar-89 15:13
855 ;COMPARE THE ADDRESS UNDER TEST WITH THE ADDRESS
856 ;BEING CHANGED, RETURN WITH Z SET IF THEY COMPARE
857
858 000573 0 132060 5 5 0 03 00 COMPARE:DATI MPGP10,AC3 ;READ LOW BITS
859 000574 0 122002 5 1 0 00 02 DATI MPGP12,BR ;OF EACH ADDRESS
860 000575 0 060077 3 0 0 03 17 OSB AC3 ;COMPARE
861 000576 0 114600 4 6 0600 JMPZ .+2 ;SKIP IF THEY COMPARE
862 000577 0 016000 0 7 0 000 RETURN ;NO, RETURN WITH Z CLEAR
863 000600 0 132061 5 5 0 03 01 DATI MPGP11,AC3 ;READ HIGH BITS
864 000601 0 122003 5 1 0 00 03 DATI MPGP13,BR ;OF EACH ADDRESS
865 000602 0 060077 3 0 0 03 17 OSB AC3 ;COMPARE
866 000603 0 114167 4 6 0167 JMPZ ZRTN ;IF THEY MATCH, RETURN WITH Z BIT SET
867 000604 0 016000 0 7 0 000 RETURN ;NO, RETURN WITH Z BIT CLEAR
868
869 000605 0 116222 4 7 0222 WMAX: REPEAT TST
870 000606 0 114455 4 6 0455
871 000607 0 002000 0 1 0 000 LDBR 0 ;GET A ZERO
872 000610 0 064351 3 2 0 16 11 MOVB MPGP6 ;CLEAR ADDITIONAL MESSAGE INDEX
873
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 9
MCOD1M MAC 6-Mar-89 15:13
874 TEST 133,DATA BUFFER 0 TEST (MPDB0)
875 ;***********************************************************************
876 ;* MCODE1 * TEST 133 * DATA BUFFER 0 TEST (MPDB0)
877 ;***********************************************************************
878 SALL
879 000611 0 002205 0 1 0 205
880 000612 0 116045 4 7 0045
881
882 000613 TST133: SALL
883
884 ;*WRITE ZEROS INTO DATA BUFFER
885 ;*READ AND CHECK FOR ZEROS
886
887 000613 0 002020 0 1 0 020 LDBR OCC ;GET OCCUPIED BIT
888 000614 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SET OCCUPIED IN STATUS REGISTER
889 000615 0 002000 0 1 0 000 LDBR 0 ;GET ZERO DATA
890 000616 0 072031 3 5 0 01 11 MOVB AC1 ;SAVE IN AC1 AS CORRECT DATA
891 000617 0 064131 3 2 0 05 11 MOVB MPDB0 ;WRITE ZEROS TO MPDB0
892 000620 0 032005 1 5 0 00 05 DATI MPDB0,AC0 ;READ THE DATA BACK
893 000621 0 060017 3 0 0 00 17 OSB AC0 ;COMPARE DATA WITH ZEROS
894 000622 0 114624 4 6 0624 JMPZ .+2 ;JUMP AROUND IF A MATCH
895 000623 0 116104 4 7 0104 ERRORA TST,CAN'T WRITE ZEROS INTO REGISTER MPDB0
896
897 ERLOOP TST ^SALL
898 000624 0 002100 0 1 0 100
899 000625 0 116152 4 7 0152
900 000626 0 114613 4 6 0613
901
902 ;*WRITE ONES INTO DATA BUFFER
903 ;*READ AND CHECK FOR ONES
904
905 000627 0 002020 0 1 0 020 DB01: LDBR OCC ;GET OCCUPIED BIT
906 000630 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SET OCCUPIED IN STATUS REGISTER
907 000631 0 002377 0 1 0 377 LDBR -1 ;GET ONES DATA
908 000632 0 072031 3 5 0 01 11 MOVB AC1 ;SAVE IN AC1 AS CORRECT DATA
909 000633 0 064131 3 2 0 05 11 MOVB MPDB0 ;WRITE ONES INTO MPDB0
910 000634 0 032005 1 5 0 00 05 DATI MPDB0,AC0 ;READ THE DATA BACK
911 000635 0 060017 3 0 0 00 17 OSB AC0 ;COMPARE DATA WITH ONES
912 000636 0 114640 4 6 0640 JMPZ .+2 ;JUMP AROUND IF A MATCH
913 000637 0 116104 4 7 0104 ERRORA DB01,CAN'T WRITE ONES INTO REGISTER MPDB0
914
915 ERLOOP DB01 ^SALL
916 000640 0 002101 0 1 0 101
917 000641 0 116152 4 7 0152
918 000642 0 114627 4 6 0627
919
920 ;*WRITE A FLOATING ONE PATTERN THROUGH THE DATA BUFFER
921 ;*READ AND COMPARE DATA
922
923 000643 0 002001 0 1 0 001 LDBR 1 ;GET A 1 AS FIRST DATA PATTERN
924 000644 0 072031 3 5 0 01 11 MOVB AC1 ;SAVE IN AC1 AS CORRECT DATA
925 000645 0 002020 0 1 0 020 DB0F11: LDBR OCC ;GET OCCUPIED BIT
926 000646 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SET OCCUPIED IN STATUS REGISTER
927 000647 0 062030 3 1 0 01 10 MOV AC1,BR ;GET THE DATA PATTERN FROM AC1
928 000650 0 064131 3 2 0 05 11 MOVB MPDB0 ;WRITE DATA INTO MPDB0
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 9-1
MCOD1M MAC 6-Mar-89 15:13
929 000651 0 032005 1 5 0 00 05 DATI MPDB0,AC0 ;READ THE DATA BACK
930 000652 0 060017 3 0 0 00 17 OSB AC0 ;COMPARE DATA WITH CORRECT
931 000653 0 114655 4 6 0655 JMPZ .+2 ;JUMP AROUND IF A MATCH
932 000654 0 116104 4 7 0104 ERRORA DB0F11,CAN'T WRITE INTO REGISTER MPDB0 CORRECTLY
933
934 ERLOOP DB0F11 ^SALL
935 000655 0 002102 0 1 0 102
936 000656 0 116152 4 7 0152
937 000657 0 114645 4 6 0645
938 000660 0 072025 3 5 0 01 05 SHLR AC1 ;SHIFT DATA BIT TO LEFT
939 000661 0 112663 4 5 0663 JMPC .+2 ;DID BIT SHIFT OUT TO CARRY BIT?
940 000662 0 100645 4 0 0645 JMP DB0F11 ;NO, GO TEST THIS PATTERN
941
942 ;*WRITE A FLOATING ZERO PATTERN THROUGH THE DATA BUFFER
943 ;*READ AND COMPARE DATA
944
945 000663 0 002177 0 1 0 177 LDBR 177 ;GET START PATTERN
946 000664 0 072031 3 5 0 01 11 MOVB AC1 ;SAVE IN AC1 AS CORRECT DATA
947 000665 0 002020 0 1 0 020 DB0F0: LDBR OCC ;GET OCCUPIED BIT
948 000666 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SET OCCUPIED IN STATUS REGISTER
949 000667 0 062030 3 1 0 01 10 MOV AC1,BR ;GET PATTERN
950 000670 0 064131 3 2 0 05 11 MOVB MPDB0 ;WRITE DATA INTO MPDB0
951 000671 0 032005 1 5 0 00 05 DATI MPDB0,AC0 ;READ THE DATA BACK
952 000672 0 060017 3 0 0 00 17 OSB AC0 ;COMPARE WITH CORRECT
953 000673 0 114675 4 6 0675 JMPZ .+2 ;JUMP AROUND IF A MATCH
954 000674 0 116104 4 7 0104 ERRORA DB0F0,CAN'T WRITE INTO REGISTER MPDB0 CORRECTLY
955
956 ERLOOP DB0F0 ^SALL
957 000675 0 002103 0 1 0 103
958 000676 0 116152 4 7 0152
959 000677 0 114665 4 6 0665
960 000700 0 062030 3 1 0 01 10 MOV AC1,BR ;GET LAST DATA PATTERN
961 000701 0 014001 0 6 0 001 SHR 1 ;SHIFT THE ZERO BIT RIGHT
962 000702 0 072031 3 5 0 01 11 MOVB AC1 ;PUT NEW PATTERN INTO AC1
963 000703 0 114705 4 6 0705 JMPZ .+2 ;SKIP IF THE ZERO BIT WAS SHIFTED OUT
964 000704 0 100665 4 0 0665 JMP DB0F0 ;NO, TEST WITH THIS PATTERN
965 000705 0 116222 4 7 0222 REPEAT TST
966 000706 0 114613 4 6 0613
967
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 10
MCOD1M MAC 6-Mar-89 15:13
968 TEST 134,DATA BUFFER 1 TEST (MPDB1)
969 ;***********************************************************************
970 ;* MCODE1 * TEST 134 * DATA BUFFER 1 TEST (MPDB1)
971 ;***********************************************************************
972 SALL
973 000707 0 002206 0 1 0 206
974 000710 0 116045 4 7 0045
975
976 000711 TST134: SALL
977
978 ;*WRITE ZEROS INTO DATA BUFFER
979 ;*READ AND CHECK FOR ZEROS
980
981 000711 0 002020 0 1 0 020 LDBR OCC ;GET OCCUPIED BIT
982 000712 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SET OCCUPIED IN STATUS REGISTER
983 000713 0 002000 0 1 0 000 LDBR 0 ;GET ZERO DATA
984 000714 0 072031 3 5 0 01 11 MOVB AC1 ;SAVE IN AC1 AS CORRECT DATA
985 000715 0 064151 3 2 0 06 11 MOVB MPDB1 ;WRITE ZEROS TO MPDB1
986 000716 0 032006 1 5 0 00 06 DATI MPDB1,AC0 ;READ THE DATA BACK
987 000717 0 060017 3 0 0 00 17 OSB AC0 ;COMPARE DATA WITH ZEROS
988 000720 0 114722 4 6 0722 JMPZ .+2 ;JUMP AROUND IF A MATCH
989 000721 0 116104 4 7 0104 ERRORA TST,CAN'T WRITE ZEROS INTO REGISTER MPDB1
990
991 ERLOOP TST ^SALL
992 000722 0 002100 0 1 0 100
993 000723 0 116152 4 7 0152
994 000724 0 114711 4 6 0711
995
996 ;*WRITE ONES INTO DATA BUFFER
997 ;*READ AND CHECK FOR ONES
998
999 000725 0 002020 0 1 0 020 DB11: LDBR OCC ;GET OCCUPIED BIT
1000 000726 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SET OCCUPIED IN STATUS REGISTER
1001 000727 0 002377 0 1 0 377 LDBR -1 ;GET ONES DATA
1002 000730 0 072031 3 5 0 01 11 MOVB AC1 ;SAVE IN AC1 AS CORRECT DATA
1003 000731 0 064151 3 2 0 06 11 MOVB MPDB1 ;WRITE ONES INTO MPDB1
1004 000732 0 032006 1 5 0 00 06 DATI MPDB1,AC0 ;READ THE DATA BACK
1005 000733 0 060017 3 0 0 00 17 OSB AC0 ;COMPARE DATA WITH ONES
1006 000734 0 114736 4 6 0736 JMPZ .+2 ;JUMP AROUND IF A MATCH
1007 000735 0 116104 4 7 0104 ERRORA DB11,CAN'T WRITE ONES INTO REGISTER MPDB1
1008
1009 ERLOOP DB11 ^SALL
1010 000736 0 002101 0 1 0 101
1011 000737 0 116152 4 7 0152
1012 000740 0 114725 4 6 0725
1013
1014 ;*WRITE A FLOATING ONE PATTERN THROUGH THE DATA BUFFER
1015 ;*READ AND COMPARE DATA
1016
1017 000741 0 002001 0 1 0 001 LDBR 1 ;GET A 1 AS FIRST DATA PATTERN
1018 000742 0 072031 3 5 0 01 11 MOVB AC1 ;SAVE IN AC1 AS CORRECT DATA
1019 000743 0 002020 0 1 0 020 DB1F11: LDBR OCC ;GET OCCUPIED BIT
1020 000744 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SET OCCUPIED IN STATUS REGISTER
1021 000745 0 062030 3 1 0 01 10 MOV AC1,BR ;GET THE DATA PATTERN FROM AC1
1022 000746 0 064151 3 2 0 06 11 MOVB MPDB1 ;WRITE DATA INTO MPDB1
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 10-1
MCOD1M MAC 6-Mar-89 15:13
1023 000747 0 032006 1 5 0 00 06 DATI MPDB1,AC0 ;READ THE DATA BACK
1024 000750 0 060017 3 0 0 00 17 OSB AC0 ;COMPARE DATA WITH CORRECT
1025 000751 0 114753 4 6 0753 JMPZ .+2 ;JUMP AROUND IF A MATCH
1026 000752 0 116104 4 7 0104 ERRORA DB1F11,CAN'T WRITE INTO REGISTER MPDB1 CORRECTLY
1027
1028 ERLOOP DB1F11 ^SALL
1029 000753 0 002102 0 1 0 102
1030 000754 0 116152 4 7 0152
1031 000755 0 114743 4 6 0743
1032 000756 0 072025 3 5 0 01 05 SHLR AC1 ;SHIFT DATA BIT TO LEFT
1033 000757 0 112761 4 5 0761 JMPC .+2 ;DID BIT SHIFT OUT TO CARRY BIT?
1034 000760 0 100743 4 0 0743 JMP DB1F11 ;NO, GO TEST THIS PATTERN
1035
1036 ;*WRITE A FLOATING ZERO PATTERN THROUGH THE DATA BUFFER
1037 ;*READ AND COMPARE DATA
1038
1039 000761 0 002177 0 1 0 177 LDBR 177 ;GET START PATTERN
1040 000762 0 072031 3 5 0 01 11 MOVB AC1 ;SAVE IN AC1 AS CORRECT DATA
1041 000763 0 002020 0 1 0 020 DB1F0: LDBR OCC ;GET OCCUPIED BIT
1042 000764 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SET OCCUPIED IN STATUS REGISTER
1043 000765 0 062030 3 1 0 01 10 MOV AC1,BR ;GET PATTERN
1044 000766 0 064151 3 2 0 06 11 MOVB MPDB1 ;WRITE DATA INTO MPDB1
1045 000767 0 032006 1 5 0 00 06 DATI MPDB1,AC0 ;READ THE DATA BACK
1046 000770 0 060017 3 0 0 00 17 OSB AC0 ;COMPARE WITH CORRECT
1047 000771 0 114773 4 6 0773 JMPZ .+2 ;JUMP AROUND IF A MATCH
1048 000772 0 116104 4 7 0104 ERRORA DB1F0,CAN'T WRITE INTO REGISTER MPDB1 CORRECTLY
1049
1050 ERLOOP DB1F0 ^SALL
1051 000773 0 002103 0 1 0 103
1052 000774 0 116152 4 7 0152
1053 000775 0 114763 4 6 0763
1054 000776 0 062030 3 1 0 01 10 MOV AC1,BR ;GET LAST DATA PATTERN
1055 000777 0 014001 0 6 0 001 SHR 1 ;SHIFT THE ZERO BIT RIGHT
1056 001000 0 072031 3 5 0 01 11 MOVB AC1 ;PUT NEW PATTERN INTO AC1
1057 001001 0 115003 4 6 1003 JMPZ .+2 ;SKIP IF THE ZERO BIT WAS SHIFTED OUT
1058 001002 0 100763 4 0 0763 JMP DB1F0 ;NO, TEST WITH THIS PATTERN
1059 001003 0 116222 4 7 0222 REPEAT TST
1060 001004 0 114711 4 6 0711
1061
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 11
MCOD1M MAC 6-Mar-89 15:13
1062 TEST 135,DATA BUFFER 2 TEST (MPDB2)
1063 ;***********************************************************************
1064 ;* MCODE1 * TEST 135 * DATA BUFFER 2 TEST (MPDB2)
1065 ;***********************************************************************
1066 SALL
1067 001005 0 002207 0 1 0 207
1068 001006 0 116045 4 7 0045
1069
1070 001007 TST135: SALL
1071
1072
1073 ;*INITIALIZE THE DX20
1074 ;*WRITE ZEROS TO MPDB2
1075 ;*READ AND CHECK FOR ZERO
1076
1077 001007 0 117627 4 7 1627 JMPSUB INITLL ;INITIALIZE THE DX20
1078 001010 0 002020 0 1 0 020 LDBR OCC ;GET OCCUPIED BIT
1079 001011 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SET OCCUPIED IN STATUS REGISTER
1080 001012 0 002000 0 1 0 000 LDBR 0 ;GET ZERO DATA
1081 001013 0 072031 3 5 0 01 11 MOVB AC1 ;PUT IN AC1 AS CORRECT DATA
1082 001014 0 064171 3 2 0 07 11 MOVB MPDB2 ;WRITE TO REGISTER MPDB2
1083 001015 0 032007 1 5 0 00 07 DATI MPDB2,AC0 ;READ THE DATA BACK
1084 001016 0 060017 3 0 0 00 17 OSB AC0 ;COMPARE WITH ZERO DATA
1085 001017 0 115021 4 6 1021 JMPZ .+2 ;JUMP AROUND IF ALL ZEROS READ
1086 001020 0 116104 4 7 0104 ERRORA TST,CAN'T WRITE ZEROS TO REGISTER MPDB2
1087
1088 ERLOOP TST ^SALL
1089 001021 0 002100 0 1 0 100
1090 001022 0 116152 4 7 0152
1091 001023 0 115007 4 6 1007
1092
1093 ;*WRITE DB16, DB17 AND PARITY BIT TO ONE
1094 ;*READ AND CHECK FOR ONES
1095
1096 001024 0 117627 4 7 1627 DB21: JMPSUB INITLL ;INITIALIZE THE DX20
1097 001025 0 002020 0 1 0 020 LDBR OCC ;GET OCCUPIED BIT
1098 001026 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SET OCCUPIED IN STATUS REGISTER
1099 001027 0 002007 0 1 0 007 LDBR 7 ;GET BITS FOR DB16, DB17 AND PARITY
1100 001030 0 072031 3 5 0 01 11 MOVB AC1 ;SAVE IN AC1 AS CORRECT DATA
1101 001031 0 064171 3 2 0 07 11 MOVB MPDB2 ;WRITE INTO REGISTER MPDB2
1102 001032 0 032007 1 5 0 00 07 DATI MPDB2,AC0 ;READ THE DATA BACK
1103 001033 0 060017 3 0 0 00 17 OSB AC0 ;COMPARE WITH DATA WRITTEN
1104 001034 0 115036 4 6 1036 JMPZ .+2 ;JUMP AROUND IF A MATCH
1105 001035 0 116104 4 7 0104 ERRORA DB21,CAN'T WRITE ONES INTO DB16, DB17 AND PARITY BITS
1106
1107 ERLOOP DB21 ^SALL
1108 001036 0 002101 0 1 0 101
1109 001037 0 116152 4 7 0152
1110 001040 0 115024 4 6 1024
1111
1112 ;*SET EACH OF DB16, DB17 AND PARITY BITS TO ONE
1113 ;*READ AND CHECK DATA
1114
1115 001041 0 002020 0 1 0 020 DB216: LDBR OCC ;GET OCCUPIED BIT
1116 001042 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SET OCCUPIED IN STATUS REGISTER
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 11-1
MCOD1M MAC 6-Mar-89 15:13
1117 001043 0 002001 0 1 0 001 LDBR 1 ;GET BIT FOR DB16
1118 001044 0 060030 3 0 0 01 10 MOV AC1 ;SAVE IN AC1 AS CORRECT DATA
1119 001045 0 064171 3 2 0 07 11 MOVB MPDB2 ;WRITE INTO REGISTER MPDB2
1120 001046 0 032007 1 5 0 00 07 DATI MPDB2,AC0 ;READ DATA BACK
1121 001047 0 060017 3 0 0 00 17 OSB AC0 ;COMPARE WITH CORRECT DATA
1122 001050 0 115052 4 6 1052 JMPZ .+2 ;SKIP IF CORRECT
1123 001051 0 116104 4 7 0104 ERRORA DB216,CAN'T WRITE ONLY DB16 IN REGISTER MPDB2
1124
1125 ERLOOP DB216 ^SALL
1126 001052 0 002102 0 1 0 102
1127 001053 0 116152 4 7 0152
1128 001054 0 115041 4 6 1041
1129 001055 0 002020 0 1 0 020 DB217: LDBR OCC ;GET OCCUPIED BIT
1130 001056 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SET OCCUPIED IN STATUS REGISTER
1131 001057 0 002002 0 1 0 002 LDBR 2 ;GET BIT FOR DB17
1132 001060 0 072031 3 5 0 01 11 MOVB AC1 ;SAVE IN AC1 AS CORRECT DATA
1133 001061 0 064171 3 2 0 07 11 MOVB MPDB2 ;WRITE INTO REGISTER MPDB2
1134 001062 0 032007 1 5 0 00 07 DATI MPDB2,AC0 ;READ IT BACK
1135 001063 0 060017 3 0 0 00 17 OSB AC0 ;COMPARE WITH CORRECT DATA
1136 001064 0 115066 4 6 1066 JMPZ .+2 ;SKIP IF CORRECT
1137 001065 0 116104 4 7 0104 ERRORA DB217,CAN'T WRITE ONLY DB17 IN REGISTER MPGP2
1138
1139 ERLOOP DB217 ^SALL
1140 001066 0 002103 0 1 0 103
1141 001067 0 116152 4 7 0152
1142 001070 0 115055 4 6 1055
1143
1144 001071 0 002020 0 1 0 020 DB2P: LDBR OCC ;GET OCCUPIED BIT
1145 001072 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SET OCCUPIED IN STATUS REGISTER
1146 001073 0 002004 0 1 0 004 LDBR 4 ;GET BIT FOR DB PARITY
1147 001074 0 072031 3 5 0 01 11 MOVB AC1 ;SAVE IN AC1 AS CORRECT DATA
1148 001075 0 064171 3 2 0 07 11 MOVB MPDB2 ;WRITE INTO REGISTER MPDB2
1149 001076 0 032007 1 5 0 00 07 DATI MPDB2,AC0 ;READ IT BACK
1150 001077 0 060017 3 0 0 00 17 OSB AC0 ;COMPARE WITH CORRECT DATA
1151 001100 0 115102 4 6 1102 JMPZ .+2 ;SKIP IF CORRECT
1152 001101 0 116104 4 7 0104 ERRORA DB2P,CAN'T WRITE ONLY PARITY BIT INTO REGISTER MPDB2
1153
1154 ERLOOP DB2P ^SALL
1155 001102 0 002104 0 1 0 104
1156 001103 0 116152 4 7 0152
1157 001104 0 115071 4 6 1071
1158
1159 ;*WRITE EVEN PARITY BIT TO ONE
1160 ;*READ AND CHECK FOR ONE
1161
1162 001105 0 002020 0 1 0 020 DB2EV: LDBR OCC ;GET OCCUPIED BIT
1163 001106 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SET OCCUPIED IN STATUS REGISTER
1164 001107 0 002020 0 1 0 020 LDBR DBEVEN ;GET EVEN PARITY BIT
1165 001110 0 072031 3 5 0 01 11 MOVB AC1 ;SAVE IN AC1 AS CORRECT DATA
1166 001111 0 064171 3 2 0 07 11 MOVB MPDB2 ;WRITE INTO REGISTER MPDB2
1167 001112 0 032007 1 5 0 00 07 DATI MPDB2,AC0 ;READ IT BACK
1168 001113 0 062010 3 1 0 00 10 MOV AC0,BR ;COPY TO BR
1169 001114 0 107116 4 3 1116 JMPB4 .+2 ;SKIP IF READ A ONE
1170 001115 0 116104 4 7 0104 ERRORA DB2EV,CAN'T WRITE EVEN PARITY BIT IN REGISTER MPDB2
1171
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 11-2
MCOD1M MAC 6-Mar-89 15:13
1172 ERLOOP DB2EV ^SALL
1173 001116 0 002105 0 1 0 105
1174 001117 0 116152 4 7 0152
1175 001120 0 115105 4 6 1105
1176
1177 ;*WITH EVEN PARITY BIT A ONE, WRITE PARITY BIT TO A ONE
1178 ;*READ AND CHECK PARITY BIT FOR ZERO
1179
1180 001121 0 002024 0 1 0 024 LDBR DBEVEN+DBPAR ;GET PARITY BIT
1181 001122 0 064171 3 2 0 07 11 MOVB MPDB2 ;WRITE INTO REGISTER MPDB2
1182 001123 0 032007 1 5 0 00 07 DATI MPDB2,AC0 ;READ DATA BUFFER
1183 001124 0 062010 3 1 0 00 10 MOV AC0,BR ;GET THE DATA READ
1184 001125 0 060037 3 0 0 01 17 OSB AC1 ;COMPARE WITH CORRECT DATA IN AC1
1185 001126 0 115130 4 6 1130 JMPZ .+2 ;SKIP IF A MATCH
1186 ERRORA DB2EV,EVEN PARITY BIT DID NOT CAUSE PARITY BIT TO BE COMPLIMENTED,<^_
1187 WRITING PARITY BIT TO A ONE SHOULD HAVE STORED A ZERO WITH
1188 001127 0 116104 4 7 0104 EVEN PARITY SET>
1189
1190 ERLOOP DB2EV ^SALL
1191 001130 0 002106 0 1 0 106
1192 001131 0 116152 4 7 0152
1193 001132 0 115105 4 6 1105
1194
1195 ;*WITH EVEN PARITY BIT A ONE, WRITE PARITY BIT TO A ZERO
1196 ;*READ AND CHECK PARITY BIT FOR A ONE
1197
1198 001133 0 002020 0 1 0 020 LDBR DBEVEN ;GET EVEN PARITY BIT
1199 001134 0 064171 3 2 0 07 11 MOVB MPDB2 ;WRITE PARITY BIT TO A ZERO
1200 001135 0 002024 0 1 0 024 LDBR DBEVEN+DBPAR ;SET UP EXPECTED DATA
1201 001136 0 072031 3 5 0 01 11 MOVB AC1 ;OF PARITY BIT A ONE
1202 001137 0 032007 1 5 0 00 07 DATI MPDB2,AC0 ;READ REGISTER
1203 001140 0 060017 3 0 0 00 17 OSB AC0 ;COMPARE WITH EXPECTED DATA
1204 001141 0 115143 4 6 1143 JMPZ .+2 ;SKIP IF A MATCH
1205 ERRORA DB2EV,EVEN PARITY BIT DID NOT CAUSE PARITY BIT TO BE COMPLIMENTED,<^_
1206 WRITING PARITY BIT A ZERO SHOULD HAVE STORED A ONE WITH
1207 001142 0 116104 4 7 0104 EVEN PARITY SET>
1208
1209 ERLOOP DB2EV ^SALL
1210 001143 0 002107 0 1 0 107
1211 001144 0 116152 4 7 0152
1212 001145 0 115105 4 6 1105
1213
1214 ;*INITIALIZE THE DX20
1215 ;*READ MPDB2
1216 ;*CHECK EVEN PARITY BIT FOR ZERO
1217
1218 001146 0 117627 4 7 1627 JMPSUB INITLL ;INITIALIZE THE DX20
1219 001147 0 022007 1 1 0 00 07 DATI MPDB2,BR ;READ DATA REGISTER
1220 001150 0 107152 4 3 1152 JMPB4 .+2 ;SKIP IF EVEN PARITY IS SET
1221 001151 0 101153 4 0 1153 JMP .+2 ;NO, SKIP OVER ERROR
1222 001152 0 116104 4 7 0104 ERROR DB2EV,INITIALIZE WILL NOT CLEAR EVEN PARITY BIT
1223
1224 ERLOOP DB2EV ^SALL
1225 001153 0 002010 0 1 0 010
1226 001154 0 116141 4 7 0141
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 11-3
MCOD1M MAC 6-Mar-89 15:13
1227 001155 0 115105 4 6 1105
1228
1229 001156 0 116222 4 7 0222 REPEAT TST
1230 001157 0 115007 4 6 1007
1231
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 12
MCOD1M MAC 6-Mar-89 15:13
1232 TEST 136,DATA BUFFER SELECTION TEST
1233 ;***********************************************************************
1234 ;* MCODE1 * TEST 136 * DATA BUFFER SELECTION TEST
1235 ;***********************************************************************
1236 SALL
1237 001160 0 002210 0 1 0 210
1238 001161 0 116045 4 7 0045
1239
1240 001162 TST136: SALL
1241
1242
1243 ;*WRITE ZEROS TO MPDB2
1244 ;*WRITE ONES TO MPDB1 & MPDB0
1245 ;*READ MPDB2 AND CHECK FOR ZEROS
1246
1247 001162 0 117627 4 7 1627 JMPSUB INITLL ;INITIALIZE THE DX20
1248 001163 0 002020 0 1 0 020 LDBR OCC ;GET OCCUPIED BIT
1249 001164 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SET OCCUPIED IN STATUS REGISTER
1250 001165 0 002000 0 1 0 000 LDBR 0 ;GET ZERO DATA
1251 001166 0 072031 3 5 0 01 11 MOVB AC1 ;SAVE AS CORRECT DATA
1252 001167 0 064171 3 2 0 07 11 MOVB MPDB2 ;WRITE ZEROS TO MPDB2
1253 001170 0 002377 0 1 0 377 LDBR -1 ;GET ONES DATA
1254 001171 0 064151 3 2 0 06 11 MOVB MPDB1 ;WRITE INTO MPDB1
1255 001172 0 064131 3 2 0 05 11 MOVB MPDB0 ;AND MPDB0
1256 001173 0 032007 1 5 0 00 07 DATI MPDB2,AC0 ;READ DATA IN MPDB2
1257 001174 0 062010 3 1 0 00 10 MOV AC0,BR ;MOVE TO BR
1258 001175 0 060037 3 0 0 01 17 OSB AC1 ;COMPARE WITH DATA WRITTEN
1259 001176 0 115200 4 6 1200 JMPZ .+2 ;SKIP IF CORRECT
1260 ERRORA TST,CAN'T SELECT REGISTER MPDB2,^_
1261 001177 0 116104 4 7 0104 WRITING INTO REGISTERS MPDB1 AND MPDB0 CHANGED CONTENTS OF MPDB2
1262
1263 ERLOOP TST ^SALL
1264 001200 0 002100 0 1 0 100
1265 001201 0 116152 4 7 0152
1266 001202 0 115162 4 6 1162
1267
1268 ;*WRITE ZEROS INTO MPDB1
1269 ;*WRITE ONES INTO MPDB0 AND A 7 INTO MPDB2
1270 ;*READ MPDB1 AND CHECK FOR ZEROS
1271
1272 001203 0 002020 0 1 0 020 DBST1: LDBR OCC ;GET OCCUPIED BIT
1273 001204 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SET OCCUPIED IN STATUS REGISTER
1274 001205 0 002000 0 1 0 000 LDBR 0 ;GET ZERO DATA
1275 001206 0 064151 3 2 0 06 11 MOVB MPDB1 ;WRITE INTO MPDB1
1276 001207 0 002377 0 1 0 377 LDBR -1 ;GET ONES DATA
1277 001210 0 064131 3 2 0 05 11 MOVB MPDB0 ;WRITE ONES INTO MPDB0
1278 001211 0 002007 0 1 0 007 LDBR 7 ;GET A 7
1279 001212 0 064171 3 2 0 07 11 MOVB MPDB2 ;WRITE INTO MPDB2
1280 001213 0 032006 1 5 0 00 06 DATI MPDB1,AC0 ;READ CONTENTS OF MPDB1
1281 001214 0 062010 3 1 0 00 10 MOV AC0,BR ;MOVE DATA TO BR
1282 001215 0 060037 3 0 0 01 17 OSB AC1 ;COMPARE WITH ZEROS
1283 001216 0 115220 4 6 1220 JMPZ .+2 ;SKIP IF A MATCH
1284 ERRORA DBST1,CAN'T SELECT MPDB1,^_
1285 001217 0 116104 4 7 0104 WRITING INTO REGISTERS MPDB0 AND MPDB2 CHANGED CONTENTS OF MPDB1
1286
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 12-1
MCOD1M MAC 6-Mar-89 15:13
1287 ERLOOP DBST1 ^SALL
1288 001220 0 002101 0 1 0 101
1289 001221 0 116152 4 7 0152
1290 001222 0 115203 4 6 1203
1291
1292 ;*WRITE ZEROS INTO REGISTER MPDB0
1293 ;*WRITE ONES INTO MPDB1 AND A 7 INTO MPDB2
1294 ;*READ MPDB0 AND CHECK FOR ZEROS
1295
1296 001223 0 002020 0 1 0 020 DBST2: LDBR OCC ;GET OCCUPIED BIT
1297 001224 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SET OCCUPIED IN STATUS REGISTER
1298 001225 0 002000 0 1 0 000 LDBR 0 ;GET ZERO DATA
1299 001226 0 064131 3 2 0 05 11 MOVB MPDB0 ;WRITE INTO MPDB0
1300 001227 0 002377 0 1 0 377 LDBR -1 ;GET ONES DATA
1301 001230 0 064151 3 2 0 06 11 MOVB MPDB1 ;WRITE INTO MPDB1
1302 001231 0 002007 0 1 0 007 LDBR 7 ;GET A 7
1303 001232 0 064171 3 2 0 07 11 MOVB MPDB2 ;WRITE INTO MPDB2
1304 001233 0 032005 1 5 0 00 05 DATI MPDB0,AC0 ;READ CONTENTS OF MPDB0
1305 001234 0 062010 3 1 0 00 10 MOV AC0,BR ;MOVE TO BR
1306 001235 0 060037 3 0 0 01 17 OSB AC1 ;COMPARE DATA WITH ZEROS
1307 001236 0 115240 4 6 1240 JMPZ .+2 ;SKIP IF A MATCH
1308 ERRORA DBST2,CAN'T SELECT REGISTER MPDB0,^_
1309 001237 0 116104 4 7 0104 WRITING INTO MPDB1 AND MPDB2 CHANGED CONTENTS OF MPDB0
1310
1311 ERLOOP DBST2 ^SALL
1312 001240 0 002102 0 1 0 102
1313 001241 0 116152 4 7 0152
1314 001242 0 115223 4 6 1223
1315 001243 0 116222 4 7 0222 REPEAT TST
1316 001244 0 115162 4 6 1162
1317
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 13
MCOD1M MAC 6-Mar-89 15:13
1318 TEST 137,EBL AND TRANSFER DONE TEST
1319 ;***********************************************************************
1320 ;* MCODE1 * TEST 137 * EBL AND TRANSFER DONE TEST
1321 ;***********************************************************************
1322 SALL
1323 001245 0 002211 0 1 0 211
1324 001246 0 116045 4 7 0045
1325
1326 001247 TST137: SALL
1327
1328
1329 ;*INITIALIZE THE DX20
1330 ;*SET EBL IN MPSCR1
1331 ;*READ MPSCR1 , CHECK THAT DONE IS SET
1332
1333 001247 0 117627 4 7 1627 JMPSUB INITLL ;INITIALIZE THE DX20
1334 001250 0 002001 0 1 0 001 LDBR EBL ;GET EBL BIT
1335 001251 0 064031 3 2 0 01 11 MOVB MPSCR1 ;WRITE THE EBL BIT IN MPSCR1
1336 001252 0 072031 3 5 0 01 11 MOVB AC1 ;SAVE IN AC1 AS CORRECT DATA
1337 001253 0 117631 4 7 1631 JMPSUB STALL0 ;STALL AT LEAST 1500 NS FOR EBL DURATION
1338 001254 0 032001 1 5 0 00 01 DATI MPSCR1,AC0 ;READ THE REGISTER
1339 001255 0 062010 3 1 0 00 10 MOV AC0,BR ;MOVE DATA TO BR
1340 001256 0 105260 4 2 1260 JMPB0 .+2 ;SKIP IF DONE IS SET
1341 001257 0 116104 4 7 0104 ERRORA TST,SETTING EBL BIT IN MPSCR1 DID NOT CAUSE DONE TO SET
1342
1343 ERLOOP TST ^SALL
1344 001260 0 002100 0 1 0 100
1345 001261 0 116152 4 7 0152
1346 001262 0 115247 4 6 1247
1347
1348 ;*INITIALIZE THE DX20
1349 ;*READ MPSCR1, CHECK THAT DONE IS CLEAR
1350
1351 001263 0 117627 4 7 1627 JMPSUB INITLL ;INITIALIZE THE DX20
1352 001264 0 032001 1 5 0 00 01 DATI MPSCR1,AC0 ;READ MPSCR1
1353 001265 0 002000 0 1 0 000 LDBR 0 ;GET ZERO DATA
1354 001266 0 072031 3 5 0 01 11 MOVB AC1 ;PUT IN AC1 AS CORRECT DATA
1355 001267 0 062010 3 1 0 00 10 MOV AC0,BR ;GET DATA READ INTO BR
1356 001270 0 105272 4 2 1272 JMPB0 .+2 ;SKIP IF DONE IS STILL SET
1357 001271 0 101273 4 0 1273 JMP .+2 ;NO, SKIP OVER ERROR
1358 001272 0 116104 4 7 0104 ERRORA TST,INITIALIZE DID NOT CLEAR DONE BIT IN MPSCR1
1359
1360 ERLOOP TST ^SALL
1361 001273 0 002101 0 1 0 101
1362 001274 0 116152 4 7 0152
1363 001275 0 115247 4 6 1247
1364
1365 ;*INITIALIZE THE DX20
1366 ;*SET EBL TO SET DONE
1367 ;*SET START IN MPSCR1
1368 ;*READ MPSCR1, CHECK THAT DONE IS CLEAR
1369
1370 001276 0 117627 4 7 1627 EBL0: JMPSUB INITLL ;INITIALIZE THE DX20
1371 001277 0 002001 0 1 0 001 LDBR EBL ;GET EBL BIT
1372 001300 0 064031 3 2 0 01 11 MOVB MPSCR1 ;WRITE INTO MPSCR1 TO SET DONE
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 13-1
MCOD1M MAC 6-Mar-89 15:13
1373 001301 0 117631 4 7 1631 JMPSUB STALL0 ;STALL FOR DURATION OF EBL PULSE
1374 001302 0 002004 0 1 0 004 LDBR START ;GET START BIT
1375 001303 0 064031 3 2 0 01 11 MOVB MPSCR1 ;WRITE INTO MPSCR1, SHOULD CLEAR DONE
1376 001304 0 032001 1 5 0 00 01 DATI MPSCR1,AC0 ;READ MPSCR1
1377 001305 0 062010 3 1 0 00 10 MOV AC0,BR ;MOVE DATA TO BR
1378 001306 0 105310 4 2 1310 JMPB0 .+2 ;SKIP IF DONE IS SET
1379 001307 0 101311 4 0 1311 JMP .+2 ;NO, SKIP OVER ERROR
1380 001310 0 116104 4 7 0104 ERRORA EBL0,SETTING START IN MPSCR1 DID NOT CLEAR DONE
1381
1382 ERLOOP EBL0 ^SALL
1383 001311 0 002102 0 1 0 102
1384 001312 0 116152 4 7 0152
1385 001313 0 115276 4 6 1276
1386 001314 0 116222 4 7 0222 REPEAT TST
1387 001315 0 115247 4 6 1247
1388
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 14
MCOD1M MAC 6-Mar-89 15:13
1389 TEST 138,EXCEPTION TEST
1390 ;***********************************************************************
1391 ;* MCODE1 * TEST 138 * EXCEPTION TEST
1392 ;***********************************************************************
1393 SALL
1394 001316 0 002212 0 1 0 212
1395 001317 0 116045 4 7 0045
1396
1397 001320 TST138: SALL
1398
1399
1400 ;*INITIALIZE THE DX20
1401 ;*SET ILF IN MPSCR1
1402 ;*READ MPSCR1
1403 ;*CHECK THAT TRA EXC IS NOT SET
1404
1405 001320 0 117627 4 7 1627 JMPSUB INITLL ;INITIALIZE THE DX20
1406 001321 0 002040 0 1 0 040 LDBR ILF ;GET ILF BIT
1407 001322 0 064031 3 2 0 01 11 MOVB MPSCR1 ;WRITE INTO MPSCR1
1408 001323 0 032001 1 5 0 00 01 DATI MPSCR1,AC0 ;READ MPSCR1
1409 001324 0 002044 0 1 0 044 LDBR ILF+CMPERR ;GET EXPECTED RESULT OF ILF AND COMP ERR
1410 001325 0 072031 3 5 0 01 11 MOVB AC1 ;SAVE AS CORRECT DATA
1411 001326 0 062010 3 1 0 00 10 MOV AC0,BR ;MOVE DATA TO BR
1412 001327 0 060037 3 0 0 01 17 OSB AC1 ;COMPARE DATA READ WITH ILF BIT
1413 001330 0 115332 4 6 1332 JMPZ .+2 ;SKIP IF NO OTHER BITS ARE SET
1414 001331 0 116104 4 7 0104 ERRORA TST,SETTING ILF WITH OCC=0 CAUSED EXC TO SET IN MPSCR1
1415
1416 ERLOOP TST ^SALL
1417 001332 0 002100 0 1 0 100
1418 001333 0 116152 4 7 0152
1419 001334 0 115320 4 6 1320
1420
1421 ;*INITIALIZE THE DX20
1422 ;*SET OCC IN MPSCR1
1423 ;*SET ILF
1424 ;*READ MPSCR1
1425 ;*CHECK THAT EXC IS SET
1426
1427 001335 0 117627 4 7 1627 EXC0: JMPSUB INITLL ;INITIALIZE THE DX20
1428 001336 0 002020 0 1 0 020 LDBR OCC ;GET OCCUPIED BIT
1429 001337 0 064031 3 2 0 01 11 MOVB MPSCR1 ;WRITE INTO MPSCR1
1430 001340 0 002060 0 1 0 060 LDBR ILF+OCC ;GET ILF BIT
1431 001341 0 064031 3 2 0 01 11 MOVB MPSCR1 ;WRITE INTO MPSCR1
1432 001342 0 002066 0 1 0 066 LDBR ILF+OCC+EXC+CMPERR ;GET EXPECTED RESULT
1433 001343 0 072031 3 5 0 01 11 MOVB AC1 ;SAVE IN AC1
1434 001344 0 032001 1 5 0 00 01 DATI MPSCR1,AC0 ;READ REGISTER
1435 001345 0 062010 3 1 0 00 10 MOV AC0,BR ;MOVE DATA TO BR
1436 001346 0 060037 3 0 0 01 17 OSB AC1 ;COMPARE WITH EXPECTED RESULT
1437 001347 0 115351 4 6 1351 JMPZ .+2 ;SKIP IF A MATCH
1438 ERRORA EXC0,SETTING ILF WHILE OCC=1 SHOULD SET EXC IN MPSCR1,^_
1439 001350 0 116104 4 7 0104 EXC DID NOT SET
1440
1441 ERLOOP EXC0 ^SALL
1442 001351 0 002101 0 1 0 101
1443 001352 0 116152 4 7 0152
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 14-1
MCOD1M MAC 6-Mar-89 15:13
1444 001353 0 115335 4 6 1335
1445
1446 ;*INITIALIZE THE DX20
1447 ;*CHECK THAT EXC IS CLEAR
1448
1449 001354 0 117627 4 7 1627 JMPSUB INITLL ;INITIALIZE THE DX20
1450 001355 0 002044 0 1 0 044 LDBR ILF+CMPERR ;GET EXPECTED RESULT OF ZERO
1451 001356 0 072031 3 5 0 01 11 MOVB AC1 ;SAVE IN AC1 AS CORRECT DATA
1452 001357 0 032001 1 5 0 00 01 DATI MPSCR1,AC0 ;READ MPSCR1
1453 001360 0 062010 3 1 0 00 10 MOV AC0,BR ;MOVE DATA TO BR
1454 001361 0 060037 3 0 0 01 17 OSB AC1 ;COMPARE RESULT
1455 001362 0 115364 4 6 1364 JMPZ .+2 ;SKIP IF A MATCH
1456 001363 0 116104 4 7 0104 ERRORA EXC0,INITIALIZE DID NOT CLEAR EXC IN MPSCR1
1457
1458 ERLOOP EXC0 ^SALL
1459 001364 0 002102 0 1 0 102
1460 001365 0 116152 4 7 0152
1461 001366 0 115335 4 6 1335
1462
1463 ;*INITIALIZE THE DX20
1464 ;*SET OCC
1465 ;*SET ILF
1466 ;*SET EBL
1467 ;*READ MPSCR1
1468 ;*CHECK THAT EXC IS NOT SET
1469
1470 001367 0 117627 4 7 1627 EXC1: JMPSUB INITLL ;INITIALIZE THE DX20
1471 001370 0 002020 0 1 0 020 LDBR OCC ;GET OCC BIT
1472 001371 0 064031 3 2 0 01 11 MOVB MPSCR1 ;WRITE INTO MPSCR1
1473 001372 0 002060 0 1 0 060 LDBR ILF+OCC ;GET ILF BIT
1474 001373 0 064031 3 2 0 01 11 MOVB MPSCR1 ;WRITE INTO MPSCR1
1475 001374 0 002061 0 1 0 061 LDBR EBL+ILF+OCC ;GET EBL BIT
1476 001375 0 064031 3 2 0 01 11 MOVB MPSCR1 ;WRITE INTO MPSCR1
1477 001376 0 002065 0 1 0 065 LDBR ILF+CMPERR+OCC+DONE ;GET EXPECTED RESULT
1478 001377 0 072031 3 5 0 01 11 MOVB AC1 ;SAVE IN AC1 AS CORRECT DATA
1479 001400 0 117631 4 7 1631 JMPSUB STALL0 ;STALL FOR DURATION OF EBL PULSE
1480 001401 0 032001 1 5 0 00 01 DATI MPSCR1,AC0 ;READ MPSCR1
1481 001402 0 062010 3 1 0 00 10 MOV AC0,BR ;MOVE TO BR
1482 001403 0 060037 3 0 0 01 17 OSB AC1 ;COMPARE WITH EXPECTED RESULT
1483 001404 0 115406 4 6 1406 JMPZ .+2 ;SKIP IF A MATCH
1484 ERRORA EXC1,EXC WAS SET BY OCC AND ILF,<EBL WAS THEN SET
1485 001405 0 116104 4 7 0104 EBL SHOULD HAVE CLEARED THE EXC BUT IT DID NOT>
1486
1487 ERLOOP EXC1 ^SALL
1488 001406 0 002103 0 1 0 103
1489 001407 0 116152 4 7 0152
1490 001410 0 115367 4 6 1367
1491 001411 0 116222 4 7 0222 REPEAT TST
1492 001412 0 115320 4 6 1320
1493
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 15
MCOD1M MAC 6-Mar-89 15:13
1494 TEST 139,RECEIVE RUN TEST
1495 ;***********************************************************************
1496 ;* MCODE1 * TEST 139 * RECEIVE RUN TEST
1497 ;***********************************************************************
1498 SALL
1499 001413 0 002213 0 1 0 213
1500 001414 0 116045 4 7 0045
1501
1502 001415 TST139: SALL
1503
1504
1505 ;*INITIALIZE THE DX20
1506 ;*SET UP FOR A DEVICE READ TRANSFER
1507 ;*CHECK THAT RUN IS RECEIVED
1508
1509 001415 0 117627 4 7 1627 JMPSUB INITLL ;INITIALIZE THE DX20
1510 001416 0 002001 0 1 0 001 LDBR 1 ;GET A ONE
1511 001417 0 066031 3 3 0 01 11 MOVB MPGP11 ;SET UP FOR A ONE BLOCK TRANSFER
1512 001420 0 064251 3 2 0 12 11 MOVB MPGP2 ;SET UP FOR A ONE WORD TRANSFER
1513 001421 0 002000 0 1 0 000 LDBR 0 ;GET A ZERO
1514 001422 0 064271 3 2 0 13 11 MOVB MPGP3 ;CLEAR THE HIGH ORDER BITS OF WORD COUNT
1515 001423 0 066011 3 3 0 00 11 MOVB MPGP10 ;CLEAR DATA PATTERN INDEX
1516 001424 0 116177 4 7 0177 READ ;SET UP THE RH20 FOR A READ TRANSFER
1517 001425 0 002020 0 1 0 020 LDBR OCC ;GET OCCUPIED BIT
1518 001426 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND OCCUPIED TO RH20
1519 001427 0 002044 0 1 0 044 GOSUB RUNWAT ;WAIT FOR RUN TO SET
1520 001430 0 177231 7 7 2 11 11
1521 001431 0 022000 1 1 0 00 00 DATI MPSCR0,BR ;READ THE RUN BIT
1522 001432 0 105435 4 2 1435 JMPB0 .+3 ;JUMP AROUND IF RUN IS SET
1523 001433 0 117627 4 7 1627 JMPSUB INITLL ;INITIALIZE THE DX20
1524 ERROR TST,<RUN WAS NOT RECEIVED FROM RH20 AFTER A READ
1525 001434 0 116104 4 7 0104 COMMAND WAS ISSUED AND LOADED INTO THE DX20>
1526
1527 ERLOOP TST ^SALL
1528 001435 0 002000 0 1 0 000
1529 001436 0 116141 4 7 0141
1530 001437 0 115415 4 6 1415
1531 001440 0 002001 0 1 0 001 LDBR EBL ;GET EBL BIT
1532 001441 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND EBL TO RH20
1533 001442 0 117631 4 7 1631 JMPSUB STALL0 ;STALL FOR DURATION OF EBL PULSE
1534 001443 0 022000 1 1 0 00 00 DATI MPSCR0,BR ;READ THE RUN BIT
1535 001444 0 105446 4 2 1446 JMPB0 .+2 ;JUMP IF RUN IS CLEAR
1536 001445 0 101447 4 0 1447 JMP .+2 ;NO, GO AROUND ERROR
1537 ERROR TST,<RUN DID NOT CLEAR WHEN EBL WAS SENT TO THE RH20
1538 001446 0 116104 4 7 0104 DURING A READ TRANSFER OF ONE BLOCK>
1539
1540 ERLOOP TST ^SALL
1541 001447 0 002001 0 1 0 001
1542 001450 0 116141 4 7 0141
1543 001451 0 115415 4 6 1415
1544 001452 0 116222 4 7 0222 REPEAT TST
1545 001453 0 115415 4 6 1415
1546
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 16
MCOD1M MAC 6-Mar-89 15:13
1547 TEST 140,DEVICE READ TEST
1548 ;***********************************************************************
1549 ;* MCODE1 * TEST 140 * DEVICE READ TEST
1550 ;***********************************************************************
1551 SALL
1552 001454 0 002214 0 1 0 214
1553 001455 0 116045 4 7 0045
1554
1555 001456 TST140: SALL
1556
1557
1558 ;*INITIALIZE THE DX20
1559 ;*SET UP FOR A ONE WORD DEVICE READ TRANSFER OF ALL ONES
1560 ;*SET OCCUPIED
1561 ;*CHECK THAT RUN IS SET
1562 ;*SET START
1563 ;*SET START AGAIN
1564 ;*SET EBL
1565 ;*CHECK THAT DONE IS SET
1566 ;*CLEAR OCCUPIED
1567 ;*CHECK THAT RH20 TERMINATED WITH NO ERROR
1568
1569 001456 0 117627 4 7 1627 JMPSUB INITLL ;INITIALIZE THE DX20
1570 001457 0 002002 0 1 0 002 LDBR 2 ;GET A TWO
1571 001460 0 066011 3 3 0 00 11 MOVB MPGP10 ;LOAD PATTERN CODE INDEX WITH A TWO
1572 001461 0 002001 0 1 0 001 LDBR 1 ;GET A ONE
1573 001462 0 066031 3 3 0 01 11 MOVB MPGP11 ;LOAD BLOCK COUNT WITH A ONE
1574 001463 0 116177 4 7 0177 READ ;SET UP FOR A ONE WORD READ TRANSFER
1575 001464 0 002020 0 1 0 020 LDBR OCC ;GET OCCUPIED BIT
1576 001465 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND OCC TO RH20
1577 001466 0 002044 0 1 0 044 GOSUB RUNWAT ;WAIT FOR RUN TO SET
1578 001467 0 177231 7 7 2 11 11
1579 001470 0 002377 0 1 0 377 LDBR -1 ;GET ONES DATA
1580 001471 0 064131 3 2 0 05 11 MOVB MPDB0 ;LOAD THE DATA BUFFER
1581 001472 0 064151 3 2 0 06 11 MOVB MPDB1
1582 001473 0 002003 0 1 0 003 LDBR 3
1583 001474 0 064171 3 2 0 07 11 MOVB MPDB2
1584 001475 0 002024 0 1 0 024 LDBR OCC+START ;GET START BIT
1585 001476 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND SCLK TO THE RH20
1586 001477 0 117631 4 7 1631 JMPSUB STALL0 ;STALL 1700 NANOSECONDS
1587 ; MINIMUM BEFORE SENDING
1588 ; NEXT SCLK
1589 001500 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND ANOTHER SCLK
1590 001501 0 000000 0 0 0 000 NOP ;DELAY EBL
1591 001502 0 101503 4 0 1503 JMP .+1 ;AT LEAST 1200 NS
1592 001503 0 002001 0 1 0 001 LDBR EBL ;GET EBL BIT
1593 001504 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND EBL TO RH20
1594 001505 0 117631 4 7 1631 JMPSUB STALL0 ;STALL FOR DURATION OF EBL PULSE
1595 001506 0 022001 1 1 0 00 01 DATI MPSCR1,BR ;READ STATUS
1596 001507 0 105511 4 2 1511 JMPB0 .+2 ;JUMP IF DONE IS SET
1597 ERROR TST,<DONE DID NOT SET AFTER COMPLETING A READ TRANSFER
1598 001510 0 116104 4 7 0104 OF ONE WORD AND SENDING EBL TO RH20>
1599
1600 ERLOOP TST ^SALL
1601 001511 0 002000 0 1 0 000
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 16-1
MCOD1M MAC 6-Mar-89 15:13
1602 001512 0 116141 4 7 0141
1603 001513 0 115456 4 6 1456
1604
1605 CHKTRM TST,<ERROR STATUS SET WHEN ATTEMPTING TO PERFORM A
1606 001514 0 002041 0 1 0 041 ONE WORD READ OPERATION>
1607 001515 0 116214 4 7 0214
1608
1609 ERRLOP TST ^SALL
1610 001516 0 115456 4 6 1456
1611 001517 0 116222 4 7 0222 REPEAT TST
1612 001520 0 115456 4 6 1456
1613
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 17
MCOD1M MAC 6-Mar-89 15:13
1614 TEST 141,DEVICE READ DATA TEST
1615 ;***********************************************************************
1616 ;* MCODE1 * TEST 141 * DEVICE READ DATA TEST
1617 ;***********************************************************************
1618 SALL
1619 001521 0 002215 0 1 0 215
1620 001522 0 116045 4 7 0045
1621
1622 001523 TST141: SALL
1623
1624
1625 ;*SET UP FOR A FOUR WORD DEVICE READ TRANSFER
1626 ;*SEND FOUR 36-BIT WORDS AS FOLLOWS:
1627 ;* 000000 000000
1628 ;* 777777 777777
1629 ;* 777777 000000
1630 ;* 000000 777777
1631 ;*TERMINATE AND CHECK FOR NO ERRORS
1632
1633 001523 0 117627 4 7 1627 JMPSUB INITLL ;INITIALIZE THE DX20
1634 001524 0 002003 0 1 0 003 LDBR 3 ;GET DATA PATTERN INDEX OF 3
1635 001525 0 066011 3 3 0 00 11 MOVB MPGP10 ;PUT IN REGISTER TO TELL HOST
1636 001526 0 002004 0 1 0 004 LDBR 4 ;GET A WORD COUNT OF 4
1637 001527 0 064251 3 2 0 12 11 MOVB MPGP2 ;PUT IN REGISTER TO TELL HOST
1638 001530 0 116177 4 7 0177 READ ;SET UP RH20 FOR A READ OPERATION
1639 001531 0 002020 0 1 0 020 LDBR OCC ;GET OCCUPIED BIT
1640 001532 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND OCCUPIED TO RH20
1641 001533 0 002044 0 1 0 044 GOSUB RUNWAT ;WAIT FOR RUN TO SET
1642 001534 0 177231 7 7 2 11 11
1643 001535 0 002000 0 1 0 000 LDBR 0 ;GET DATA OF ZERO
1644 001536 0 064131 3 2 0 05 11 MOVB MPDB0 ;CLEAR THE DATA BUFFER
1645 001537 0 064151 3 2 0 06 11 MOVB MPDB1
1646 001540 0 064171 3 2 0 07 11 MOVB MPDB2 ;ALL 18 BITS
1647 001541 0 002024 0 1 0 024 LDBR OCC+START ;GET START BIT
1648 001542 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND FIRST HALF OF FIRST WORD
1649 001543 0 117631 4 7 1631 JMPSUB STALL0 ;STALL 1700 NANOSECONDS
1650 ; MINIMUM BEFORE SENDING
1651 ; NEXT SCLK
1652 001544 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND LAST HALF OF FIRST WORD
1653 001545 0 000000 0 0 0 000 NOP ;GUARANTEE 1200 NS
1654 001546 0 101547 4 0 1547 JMP .+1 ;FOR SCLK
1655 001547 0 002377 0 1 0 377 LDBR -1 ;GET ONES DATA
1656 001550 0 064131 3 2 0 05 11 MOVB MPDB0 ;SET ALL DATA BITS IN DATA BUFFER
1657 001551 0 064151 3 2 0 06 11 MOVB MPDB1
1658 001552 0 002003 0 1 0 003 LDBR 3 ;ALL 18 BITS
1659 001553 0 064171 3 2 0 07 11 MOVB MPDB2 ;LOAD 17 & 16
1660 001554 0 002024 0 1 0 024 LDBR OCC+START ;GET START BIT
1661 001555 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND FIRST HALF OF SECOND WORD
1662 001556 0 117631 4 7 1631 JMPSUB STALL0 ;STALL 1700 NANOSECONDS
1663 ; MINIMUM BEFORE SENDING
1664 ; NEXT SCLK
1665 001557 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND LAST HALF OF SECOND WORD
1666 001560 0 117631 4 7 1631 JMPSUB STALL0 ;STALL 1700 NANOSECONDS
1667 ; MINIMUM BEFORE SENDING
1668 ; NEXT SCLK
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 17-1
MCOD1M MAC 6-Mar-89 15:13
1669 001561 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND FIRST HALF OF THIRD WORD
1670 001562 0 000000 0 0 0 000 NOP ;GUARANTEE 1200 NS
1671 001563 0 101564 4 0 1564 JMP .+1 ;FOR SCLK
1672 001564 0 002000 0 1 0 000 LDBR 0 ;GET ZERO DATA
1673 001565 0 064131 3 2 0 05 11 MOVB MPDB0 ;CLEAR ALL BITS IN DATA BUFFER
1674 001566 0 064151 3 2 0 06 11 MOVB MPDB1
1675 001567 0 064171 3 2 0 07 11 MOVB MPDB2 ;ALL 18 BITS
1676 001570 0 002024 0 1 0 024 LDBR OCC+START ;GET START BIT
1677 001571 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND LAST HALF OF THIRD WORD
1678 001572 0 117631 4 7 1631 JMPSUB STALL0 ;STALL 1700 NANOSECONDS
1679 ; MINIMUM BEFORE SENDING
1680 ; NEXT SCLK
1681 001573 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND FIRST HALF OF FOURTH WORD
1682 001574 0 000000 0 0 0 000 NOP ;GUARANTEE 1200 NS
1683 001575 0 101576 4 0 1576 JMP .+1 ;FOR SCLK
1684 001576 0 002377 0 1 0 377 LDBR -1 ;GET ONES DATA
1685 001577 0 064131 3 2 0 05 11 MOVB MPDB0 ;SET ALL BITS IN DATA BUFFER
1686 001600 0 064151 3 2 0 06 11 MOVB MPDB1
1687 001601 0 002003 0 1 0 003 LDBR 3 ;ALL 18 BITS
1688 001602 0 064171 3 2 0 07 11 MOVB MPDB2
1689 001603 0 002024 0 1 0 024 LDBR OCC+START ;GET START BIT
1690 001604 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND LAST HALF OF FOURTH WORD
1691 001605 0 000000 0 0 0 000 NOP ;GUARANTEE 1200 NS
1692 001606 0 101607 4 0 1607 JMP .+1 ;FOR SCLK
1693 001607 0 002001 0 1 0 001 LDBR EBL ;GET EBL BIT
1694 001610 0 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND EBL TO RH20
1695 001611 0 117631 4 7 1631 JMPSUB STALL0 ;STALL FOR DURATION OF EBL PULSE
1696 001612 0 022001 1 1 0 00 01 DATI MPSCR1,BR ;READ DONE BIT
1697 001613 0 105615 4 2 1615 JMPB0 .+2 ;JUMP AROUND IF DONE IS SET
1698 ERROR TST,<DONE DID NOT SET AFTER PERFORMING A
1699 001614 0 116104 4 7 0104 FOUR WORD READ TRANSFER AND THEN SENDING EBL TO RH20>
1700
1701 ERLOOP TST ^SALL
1702 001615 0 002000 0 1 0 000
1703 001616 0 116141 4 7 0141
1704 001617 0 115523 4 6 1523
1705 CHKTRM TST,<ERROR SET WHILE TRANSFERRING FOUR WORDS OF DATA
1706 001620 0 002041 0 1 0 041 IN DEVICE READ TRANSFER>
1707 001621 0 116214 4 7 0214
1708
1709 ERRLOP TST ^SALL
1710 001622 0 115523 4 6 1523
1711 001623 0 116222 4 7 0222 REPEAT TST
1712 001624 0 115523 4 6 1523
1713
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 18
MCOD1M MAC 6-Mar-89 15:13
1714 001625 0 002000 0 1 0 000 JUMP BANK1 ;GO TO NEXT BANK OF CRAM
1715 001626 0 160231 7 0 0 11 11
1716
1717 001627 0 002374 0 1 0 374 INITLL: JUMP INITL ;GO TO INITIALIZE ROUTINE IN BANK 1
1718 001630 0 160631 7 0 1 11 11
1719
1720 001631 0 020001 1 0 0 00 01 STALL0: DATI MPSCR1 ;EXECUTE THREE DATI INSTRUCTIONS
1721 001632 0 020001 1 0 0 00 01 DATI MPSCR1 ; TO STALL AT LEAST 1500 NS
1722 001633 0 020001 1 0 0 00 01 DATI MPSCR1 ; FOR EBL PULSE DURATION
1723 001634 0 016000 0 7 0 000 RETURN ;ACTUAL DELAY IS 1830 NS.
1724
1725 002000 .LOC 2000
1726 002000 BANK1:
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 19
MCOD1M MAC 6-Mar-89 15:13
1727 TEST 142,DEVICE READ FLOATING ONE TEST
1728 ;***********************************************************************
1729 ;* MCODE1 * TEST 142 * DEVICE READ FLOATING ONE TEST
1730 ;***********************************************************************
1731 SALL
1732 002000 1 002216 0 1 0 216
1733 002001 1 117056 4 7 1056
1734
1735 002002 TST142: SALL
1736
1737
1738 ;*SET UP FOR A 9 WORD DEVICE READ TRANSFER
1739 ;*SEND DATA AS FOLLOWS:
1740 ;* 000001 000002
1741 ;* 000004 000010
1742 ;* 000020 000040
1743 ;* 000100 000200
1744 ;* 000400 001000
1745 ;* 002000 004000
1746 ;* 010000 020000
1747 ;* 040000 100000
1748 ;* 200000 400000
1749 ;*TERMINATE AND CHECK FOR NO ERRORS
1750
1751 002002 1 116774 4 7 0774 JMPSUB INITL ;INITIALIZE THE DX20
1752 002003 1 002011 0 1 0 011 LDBR ^D9 ;GET A 9
1753 002004 1 064251 3 2 0 12 11 MOVB MPGP2 ;PUT IN REGISTER FOR A 9 WORD TRANSFER
1754 002005 1 002004 0 1 0 004 LDBR 4 ;SET UP FOR DATA PATTERN INDEX OF 4
1755 002006 1 066011 3 3 0 00 11 MOVB MPGP10 ;A FLOATING ONE PATTERN IN 18-BIT WORD
1756 002007 1 117072 4 7 1072 READ ;REQUEST HOST TO START A READ TRANSFER IN RH20
1757 002010 1 002020 0 1 0 020 LDBR OCC ;GET OCCUPIED BIT
1758 002011 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND OCCUPIED TO RH20
1759 002012 1 117044 4 7 1044 JMPSUB RUNWAT ;WAIT FOR RUN TO SET
1760 002013 1 002000 0 1 0 000 LDBR 0 ;GET A ZERO DATA WORD
1761 002014 1 064151 3 2 0 06 11 MOVB MPDB1 ;CLEAR HIGH BITS OF DATA BUFFER
1762 002015 1 064171 3 2 0 07 11 MOVB MPDB2 ;INCLUDING BITS 16 AND 17
1763 002016 1 002001 0 1 0 001 LDBR 1 ;GET START BIT IN FLOAT ONE PATTERN
1764 002017 1 064131 3 2 0 05 11 DBF1T0: MOVB MPDB0 ;PUT DATA PATTERN INTO BUFFER
1765 002020 1 072051 3 5 0 02 11 MOVB AC2 ;SAVE CURRENT PATTERN IN AC2
1766 002021 1 002024 0 1 0 024 LDBR OCC+START ;GET START BIT
1767 002022 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND SCLK TO RH20
1768 002023 1 062045 3 1 0 02 05 SHL AC2,BR ;SHIFT DATA LEFT ONE PLACE
1769 002024 1 112026 4 5 0026 JMPC .+2 ;SKIP IF BIT SHIFTED OUT
1770 002025 1 100017 4 0 0017 JMP DBF1T0 ;NO, SEND ANOTHER BYTE TO RH20
1771 002026 1 000000 0 0 0 000 NOP ;GUARANTEE 1200NS FOR SCLK
1772 002027 1 064131 3 2 0 05 11 MOVB MPDB0 ;CLEAR LOW BITS OF DATA BUFFER
1773 002030 1 002001 0 1 0 001 LDBR 1 ;GET BIT 0 AGAIN
1774 002031 1 064151 3 2 0 06 11 DBF1T1: MOVB MPDB1 ;PUT DATA PATTERN INTO BUFFER BITS 8-15
1775 002032 1 072051 3 5 0 02 11 MOVB AC2 ;SAVE CURRENT PATTERN IN AC2
1776 002033 1 002024 0 1 0 024 LDBR OCC+START ;GET START BIT
1777 002034 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND SCLK TO RH20
1778 002035 1 062045 3 1 0 02 05 SHL AC2,BR ;SHIFT DATA LEFT ONE PLACE
1779 002036 1 112040 4 5 0040 JMPC .+2 ;SKIP IF BIT SHIFTED OUT
1780 002037 1 100031 4 0 0031 JMP DBF1T1 ;NO, SEND ANOTHER BYTE TO RH20
1781 002040 1 000000 0 0 0 000 NOP ;GUARANTEE 1200NS FOR SCLK
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 19-1
MCOD1M MAC 6-Mar-89 15:13
1782 002041 1 064151 3 2 0 06 11 MOVB MPDB1 ;CLEAR DATA BUFFER BIT 15
1783 002042 1 002001 0 1 0 001 LDBR 1 ;GET BIT 16
1784 002043 1 064171 3 2 0 07 11 MOVB MPDB2 ;SET IT
1785 002044 1 002024 0 1 0 024 LDBR OCC+START ;GET START BIT
1786 002045 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND SCLK TO RH20
1787 002046 1 000000 0 0 0 000 NOP ;GUARANTEE 1200 NS
1788 002047 1 100050 4 0 0050 JMP .+1 ;FOR SCLK
1789 002050 1 002002 0 1 0 002 LDBR 2 ;GET DATA BUFFER BIT 17
1790 002051 1 064171 3 2 0 07 11 MOVB MPDB2 ;SET IT
1791 002052 1 002024 0 1 0 024 LDBR OCC+START ;GET START BIT
1792 002053 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND SCLK TO RH20
1793 002054 1 000000 0 0 0 000 NOP ;GUARANTEE 1200 NS
1794 002055 1 100056 4 0 0056 JMP .+1 ;FOR SCLK
1795 002056 1 002001 0 1 0 001 LDBR EBL ;GET EBL
1796 002057 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND EBL TO RH20
1797 002060 1 117001 4 7 1001 JMPSUB STALL1 ;STALL FOR DURATION OF EBL PULSE
1798 CHKTRM TST,<ERROR SET WHEN ATTEMPTING TO TRANSFER A 9 WORD
1799 002061 1 002040 0 1 0 040 FLOATING ONE PATTERN IN DEVICE READ OPERATION>
1800 002062 1 117100 4 7 1100
1801
1802 ERRLOP TST ^SALL
1803 002063 1 114002 4 6 0002
1804 002064 1 117066 4 7 1066 REPEAT TST
1805 002065 1 114002 4 6 0002
1806
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 20
MCOD1M MAC 6-Mar-89 15:13
1807 TEST 143,DEVICE READ SHORT RECORD TEST
1808 ;***********************************************************************
1809 ;* MCODE1 * TEST 143 * DEVICE READ SHORT RECORD TEST
1810 ;***********************************************************************
1811 SALL
1812 002066 1 002217 0 1 0 217
1813 002067 1 117056 4 7 1056
1814
1815 002070 TST143: SALL
1816
1817
1818 ;*SET UP FOR A 9 WORD DEVICE READ TRANSFER
1819 ;*SEND ONE WORD OF ALL ONES
1820 ;*TERMINATE AND CHECK FOR AN ERROR
1821
1822 002070 1 116774 4 7 0774 JMPSUB INITL ;INITIALIZE THE DX20
1823 002071 1 002011 0 1 0 011 LDBR ^D9 ;GET A WORD COUNT OF 9
1824 002072 1 064251 3 2 0 12 11 MOVB MPGP2 ;PUT IN REGISTER FOR HOST
1825 002073 1 117072 4 7 1072 READ ;SET UP RH20 FOR A READ TRANSFER
1826 002074 1 002020 0 1 0 020 LDBR OCC ;GET OCCUPIED BIT
1827 002075 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND OCCUPIED TO RH20
1828 002076 1 117044 4 7 1044 JMPSUB RUNWAT ;WAIT FOR RUN TO SET
1829 002077 1 002377 0 1 0 377 LDBR -1 ;GET ONES DATA
1830 002100 1 064131 3 2 0 05 11 MOVB MPDB0 ;SET ALL BITS IN
1831 002101 1 064151 3 2 0 06 11 MOVB MPDB1 ;DATA BUFFER
1832 002102 1 002003 0 1 0 003 LDBR 3 ;GET LAST 2 BITS
1833 002103 1 064171 3 2 0 07 11 MOVB MPDB2 ;SET DATA BUFFER BITS 16 AND 17
1834 002104 1 002024 0 1 0 024 LDBR OCC+START ;GET START BIT
1835 002105 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND ONE SCLK
1836 002106 1 117001 4 7 1001 JMPSUB STALL1 ;STALL 1700 NANOSECONDS
1837 ; MINIMUM BEFORE SENDING
1838 ; NEXT SCLK
1839 002107 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND SECOND SCLK
1840 002110 1 000000 0 0 0 000 NOP ;GUARANTEE 1200 NS
1841 002111 1 100112 4 0 0112 JMP .+1 ;FOR SCLK
1842 002112 1 002001 0 1 0 001 LDBR EBL ;GET EBL BIT
1843 002113 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND EBL TO RH20
1844 002114 1 117001 4 7 1001 JMPSUB STALL1 ;STALL FOR DURATION OF EBL PULSE
1845 CHKERR TST,<SENT ONLY ONE WORD WHEN RH20 WAS SET UP TO
1846 002115 1 002140 0 1 0 140 EXPECT 9 WORDS IN DEVICE READ TRANSFER>, BUT NO LENGTH ERROR SET
1847 002116 1 117100 4 7 1100
1848
1849 ERRLOP TST ^SALL
1850 002117 1 114070 4 6 0070
1851 002120 1 117066 4 7 1066 REPEAT TST
1852 002121 1 114070 4 6 0070
1853
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 21
MCOD1M MAC 6-Mar-89 15:13
1854 TEST 144,DEVICE READ LONG RECORD TEST
1855 ;***********************************************************************
1856 ;* MCODE1 * TEST 144 * DEVICE READ LONG RECORD TEST
1857 ;***********************************************************************
1858 SALL
1859 002122 1 002220 0 1 0 220
1860 002123 1 117056 4 7 1056
1861
1862 002124 TST144: SALL
1863
1864
1865 ;*SET UP FOR A ONE WORD DEVICE READ TRANSFER
1866 ;*SEND TWO WORDS OF ALL ONES
1867 ;*TERMINATE AND CHECK FOR AN ERROR
1868
1869 002124 1 116774 4 7 0774 JMPSUB INITL ;INITIALIZE THE DX20
1870 002125 1 002001 0 1 0 001 LDBR 1 ;GET A WORD COUNT OF 1
1871 002126 1 064251 3 2 0 12 11 MOVB MPGP2 ;PUT IN REGISTER FOR HOST
1872 002127 1 117072 4 7 1072 READ ;SET UP FOR A DEVICE READ TRANSFER
1873 002130 1 002020 0 1 0 020 LDBR OCC ;GET OCCUPIED BIT
1874 002131 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND OCCUPIED TO RH20
1875 002132 1 117044 4 7 1044 JMPSUB RUNWAT ;WAIT FOR RUN TO SET
1876 002133 1 002377 0 1 0 377 LDBR -1 ;GET ONES DATA
1877 002134 1 064131 3 2 0 05 11 MOVB MPDB0 ;SET ALL DATA BUFFER BITS
1878 002135 1 064151 3 2 0 06 11 MOVB MPDB1
1879 002136 1 002003 0 1 0 003 LDBR 3 ;GET BITS FOR 16 AND 17
1880 002137 1 064171 3 2 0 07 11 MOVB MPDB2 ;SET BITS 16 AND 17
1881 002140 1 002024 0 1 0 024 LDBR OCC+START ;GET START BIT
1882 002141 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND ONE SCLK
1883 002142 1 117001 4 7 1001 JMPSUB STALL1 ;STALL 1700 NANOSECONDS
1884 ; MINIMUM BEFORE SENDING
1885 ; NEXT SCLK
1886 002143 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND SECOND SCLK
1887 002144 1 117001 4 7 1001 JMPSUB STALL1 ;STALL 1700 NANOSECONDS
1888 ; MINIMUM BEFORE SENDING
1889 ; NEXT SCLK
1890 002145 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND THIRD SCLK
1891 002146 1 117001 4 7 1001 JMPSUB STALL1 ;STALL 1700 NANOSECONDS
1892 ; MINIMUM BEFORE SENDING
1893 ; NEXT SCLK
1894 002147 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND FOURTH SCLK
1895 002150 1 000000 0 0 0 000 NOP ;GUARANTEE 1200 NS
1896 002151 1 100152 4 0 0152 JMP .+1 ;FOR SCLK
1897 002152 1 002001 0 1 0 001 LDBR EBL ;GET EBL BIT
1898 002153 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND EBL TO RH20
1899 002154 1 117001 4 7 1001 JMPSUB STALL1 ;STALL FOR DURATION OF EBL PULSE
1900 CHKERR TST,<SENT TWO WORDS TO RH20 IN DEVICE READ TRANSFER WHEN
1901 002155 1 002140 0 1 0 140 RH20 WAS EXPECTING ONLY ONE WORD>, BUT NO LENGTH ERROR SET
1902 002156 1 117100 4 7 1100
1903
1904 ERRLOP TST ^SALL
1905 002157 1 114124 4 6 0124
1906 002160 1 117066 4 7 1066 REPEAT TST
1907 002161 1 114124 4 6 0124
1908
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 22
MCOD1M MAC 6-Mar-89 15:13
1909 TEST 145,MULTIPLE BLOCK DEVICE READ TRANSFER
1910 ;***********************************************************************
1911 ;* MCODE1 * TEST 145 * MULTIPLE BLOCK DEVICE READ TRANSFER
1912 ;***********************************************************************
1913 SALL
1914 002162 1 002221 0 1 0 221
1915 002163 1 117056 4 7 1056
1916
1917 002164 TST145: SALL
1918
1919
1920 ;*SET UP FOR TWO 4 WORD DEVICE READ TRANSFERS
1921 ;*SEND 4 WORDS OF ALL ZEROS
1922 ;*SEND EBL
1923 ;*CHECK THAT DONE DOES NOT SET
1924 ;*SEND 4 WORDS OF ALL ONES
1925 ;*SEND EBL
1926 ;*CHECK THAT DONE DOES SET
1927 ;*TERMINATE AND CHECK FOR NO ERRORS
1928
1929 002164 1 116774 4 7 0774 JMPSUB INITL ;INITIALIZE THE DX20
1930 002165 1 002010 0 1 0 010 LDBR ^D8 ;GET A WORD COUNT OF 8
1931 002166 1 064251 3 2 0 12 11 MOVB MPGP2 ;WRITE INTO REGISTER FOR HOST
1932 002167 1 002002 0 1 0 002 LDBR 2 ;GET A BLOCK COUNT OF 2
1933 002170 1 066031 3 3 0 01 11 MOVB MPGP11 ;WRITE INTO REGISTER FOR HOST
1934 002171 1 002000 0 1 0 000 LDBR 0 ;GET A ZERO DATA PATTERN INDEX
1935 002172 1 066011 3 3 0 00 11 MOVB MPGP10 ;WRITE INTO REGISTER FOR HOST
1936 002173 1 117072 4 7 1072 READ ;SET UP FOR TWO 4-WORD TRANSFERS
1937 002174 1 002020 0 1 0 020 LDBR OCC ;GET OCCUPIED BIT
1938 002175 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND OCCUPIED TO RH20
1939 002176 1 117044 4 7 1044 JMPSUB RUNWAT ;WAIT FOR RUN TO SET
1940 002177 1 002000 0 1 0 000 LDBR 0 ;GET ZERO DATA
1941 002200 1 064131 3 2 0 05 11 MOVB MPDB0 ;CLEAR ALL DATA BUFFER BITS
1942 002201 1 064151 3 2 0 06 11 MOVB MPDB1
1943 002202 1 064171 3 2 0 07 11 MOVB MPDB2
1944 002203 1 002007 0 1 0 007 LDBR ^D8-1 ;GET BYTE COUNT -1
1945 002204 1 072051 3 5 0 02 11 MOVB AC2 ;SAVE IN AC2
1946 002205 1 002024 0 1 0 024 LDBR OCC+START ;GET START BIT
1947 002206 1 064031 3 2 0 01 11 BLK1: MOVB MPSCR1 ;SEND AN SCLK TO THE RH20
1948 002207 1 020001 1 0 0 00 01 DATI MPSCR1 ;STALL
1949 002210 1 072047 3 5 0 02 07 DECR AC2 ;DECREMENT COUNT OF BYTES TO SEND
1950 002211 1 114213 4 6 0213 JMPZ .+2 ;SKIP IF COUNT WENT TO -1
1951 002212 1 100206 4 0 0206 JMP BLK1 ;NO, SEND MORE BYTES
1952 002213 1 000000 0 0 0 000 NOP ;GUARANTEE 1200 NS
1953 002214 1 100215 4 0 0215 JMP .+1 ;FOR SCLK
1954 002215 1 002021 0 1 0 021 LDBR OCC+EBL ;GET EBL BIT
1955 002216 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND EBL TO RH20
1956 002217 1 117001 4 7 1001 JMPSUB STALL1 ;STALL FOR DURATION OF EBL PULSE
1957 002220 1 022001 1 1 0 00 01 DATI MPSCR1,BR ;GET DONE BIT
1958 002221 1 104223 4 2 0223 JMPB0 .+2 ;SKIP IF DONE IS SET
1959 002222 1 100224 4 0 0224 JMP .+2 ;SHOULD NOT SET NOW
1960 ERROR TST,STARTED A TWO BLOCK DEVICE READ TRANSFER,<BUT DONE^_
1961 002223 1 117064 4 7 1064 SET IN STATUS REGISTER AFTER THE FIRST EBL PULSE>
1962
1963 ERLOOP TST ^SALL
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 22-1
MCOD1M MAC 6-Mar-89 15:13
1964 002224 1 002000 0 1 0 000
1965 002225 1 117061 4 7 1061
1966 002226 1 114164 4 6 0164
1967
1968 002227 1 002377 0 1 0 377 LDBR -1 ;GET ONES DATA
1969 002230 1 064131 3 2 0 05 11 MOVB MPDB0 ;SET ALL DATA BITS
1970 002231 1 064151 3 2 0 06 11 MOVB MPDB1 ;IN DATA BUFFER
1971 002232 1 002003 0 1 0 003 LDBR 3 ;GET LAST TWO BITS
1972 002233 1 064171 3 2 0 07 11 MOVB MPDB2 ;SET DATA BITS 16 AND 17
1973 002234 1 002007 0 1 0 007 LDBR ^D8-1 ;GET COUNT OF BYTES TO SEND TO RH20
1974 002235 1 072051 3 5 0 02 11 MOVB AC2 ;SAVE COUNT IN AC2
1975 002236 1 002024 0 1 0 024 LDBR OCC+START ;GET START BIT
1976 002237 1 064031 3 2 0 01 11 BLK2: MOVB MPSCR1 ;SEND AN SCLK TO RH20
1977 002240 1 020001 1 0 0 00 01 DATI MPSCR1 ;STALL
1978 002241 1 072047 3 5 0 02 07 DECR AC2 ;DECREMENT COUNT OF BYTES
1979 002242 1 114244 4 6 0244 JMPZ .+2 ;SKIP IF COUNT WENT TO -1
1980 002243 1 100237 4 0 0237 JMP BLK2 ;NO, SEND ANOTHER BYTE
1981 002244 1 000000 0 0 0 000 NOP ;GUARANTEE 1200 NS
1982 002245 1 100246 4 0 0246 JMP .+1 ;FOR SCLK
1983 002246 1 002001 0 1 0 001 LDBR EBL ;GET EBL
1984 002247 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND EBL TO RH20
1985 002250 1 117001 4 7 1001 JMPSUB STALL1 ;STALL FOR DURATION OF EBL PULSE
1986 002251 1 022001 1 1 0 00 01 DATI MPSCR1,BR ;READ STATUS REGISTER
1987 002252 1 104254 4 2 0254 JMPB0 .+2 ;SKIP IF DONE SET NOW
1988 ERROR TST,<DONE DID NOT SET IN STATUS REGISTER AFTER SECOND
1989 002253 1 117064 4 7 1064 EBL IN A TWO BLOCK DEVICE READ TRANSFER>
1990
1991 ERLOOP TST ^SALL
1992 002254 1 002001 0 1 0 001
1993 002255 1 117061 4 7 1061
1994 002256 1 114164 4 6 0164
1995 CHKTRM TST,<ERROR SET WHEN ATTEMPTING TO READ A TWO BLOCK
1996 002257 1 002042 0 1 0 042 TRANSFER OF 4 WORDS PER BLOCK>
1997 002260 1 117100 4 7 1100
1998
1999 ERRLOP TST ^SALL
2000 002261 1 114164 4 6 0164
2001 002262 1 117066 4 7 1066 REPEAT TST
2002 002263 1 114164 4 6 0164
2003
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 23
MCOD1M MAC 6-Mar-89 15:13
2004 TEST 146,DEVICE WRITE TEST
2005 ;***********************************************************************
2006 ;* MCODE1 * TEST 146 * DEVICE WRITE TEST
2007 ;***********************************************************************
2008 SALL
2009 002264 1 002222 0 1 0 222
2010 002265 1 117056 4 7 1056
2011
2012 002266 TST146: SALL
2013
2014
2015 ;*SET UP FOR A ONE WORD DEVICE WRITE TRANSFER OF ALL ONES DATA
2016 ;*CHECK THAT WCLK SETS AFTER REQUESTING EACH 18-BIT WORD BY
2017 ;* SETTING START IN REGISTER MPSCR1
2018 ;*TERMINATE AND CHECK FOR NO ERRORS
2019
2020 002266 1 116774 4 7 0774 JMPSUB INITL ;INITIALIZE THE DX20
2021 002267 1 002001 0 1 0 001 LDBR 1 ;SET UP A WORD COUNT OF 1
2022 002270 1 064251 3 2 0 12 11 MOVB MPGP2 ;WRITE INTO REGISTER FOR HOST
2023 002271 1 066031 3 3 0 01 11 MOVB MPGP11 ;SET BLOCK COUNT OF 1 FOR HOST
2024 002272 1 002002 0 1 0 002 LDBR 2 ;GET PATTERN NUMBER FOR ONES DATA
2025 002273 1 066011 3 3 0 00 11 MOVB MPGP10 ;WRITE INTO REGISTER FOR HOST
2026 002274 1 117070 4 7 1070 WRITE ;SET UP FOR A DEVICE WRITE TRANSFER
2027 002275 1 002030 0 1 0 030 LDBR OCC+DTD ;SET OCCUPIED AND DIRECTION BIT
2028 002276 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND TO RH20
2029 002277 1 117044 4 7 1044 JMPSUB RUNWAT ;WAIT FOR RUN TO SET
2030 002300 1 002034 0 1 0 034 LDBR OCC+START+DTD ;GET START BIT
2031 002301 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND AN SCLK TO RH20
2032 002302 1 000000 0 0 0 000 NOP ;GUARANTEE 1200 NS
2033 002303 1 000000 0 0 0 000 NOP
2034 002304 1 000000 0 0 0 000 NOP
2035 002305 1 000000 0 0 0 000 NOP
2036 002306 1 022000 1 1 0 00 00 DATI MPSCR0,BR ;READ STATUS BITS
2037 002307 1 110311 4 4 0311 JMPB7 .+2 ;SKIP IF WCLK SET
2038 002310 1 100321 4 0 0321 JMP WCLKT1 ;NO, GO AROUND
2039 002311 1 002034 0 1 0 034 LDBR OCC+START+DTD ;GET START BIT
2040 002312 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND TO RH20
2041 002313 1 000000 0 0 0 000 NOP ;GUARANTEE 1200 NS
2042 002314 1 000000 0 0 0 000 NOP
2043 002315 1 000000 0 0 0 000 NOP
2044 002316 1 000000 0 0 0 000 NOP
2045 002317 1 022000 1 1 0 00 00 DATI MPSCR0,BR ;READ STATUS BITS
2046 002320 1 110323 4 4 0323 JMPB7 .+3 ;JUMP AROUND IF WCLK IS SET
2047 002321 1 116774 4 7 0774 WCLKT1: JMPSUB INITL ;INITIALIZE THE DX20
2048 ERROR TST,<WCLK DID NOT SET IN REGISTER MPSCR0 AFTER SENDING
2049 002322 1 117064 4 7 1064 AN SCLK TO RH20 DURING A DEVICE WRITE TRANSFER>
2050
2051 ERLOOP TST ^SALL
2052 002323 1 002000 0 1 0 000
2053 002324 1 117061 4 7 1061
2054 002325 1 114266 4 6 0266
2055
2056 002326 1 002001 0 1 0 001 LDBR EBL ;SET EBL AND CLEAR OCCUPIED
2057 002327 1 064031 3 2 0 01 11 MOVB MPSCR1 ;TELL RH20 TO TERMINATE
2058 002330 1 117001 4 7 1001 JMPSUB STALL1 ;STALL FOR DURATION OF EBL PULSE
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 23-1
MCOD1M MAC 6-Mar-89 15:13
2059 CHKTRM TST,<ATTEMPTED A ONE WORD DEVICE WRITE TRANSFER
2060 002331 1 002041 0 1 0 041 BUT AN ERROR SET IN THE RH20>
2061 002332 1 117100 4 7 1100
2062
2063 ERRLOP TST ^SALL
2064 002333 1 114266 4 6 0266
2065
2066 ;*INITIALIZE THE DX20 AND CHECK THAT WCLK CLEARED
2067
2068 002334 1 116774 4 7 0774 JMPSUB INITL ;INITIALIZE THE DX20
2069 002335 1 022000 1 1 0 00 00 DATI MPSCR0,BR ;READ STATUS BITS
2070 002336 1 110340 4 4 0340 JMPB7 .+2 ;SKIP IF WCLK IS STILL SET
2071 002337 1 100341 4 0 0341 JMP .+2 ;IT SHOULD HAVE CLEARED BY INIT
2072 002340 1 117064 4 7 1064 ERROR TST,CANNOT CLEAR WCLK IN REGISTER MPSCR0 WITH INIT
2073
2074 ERLOOP TST ^SALL
2075 002341 1 002002 0 1 0 002
2076 002342 1 117061 4 7 1061
2077 002343 1 114266 4 6 0266
2078 002344 1 117066 4 7 1066 REPEAT TST
2079 002345 1 114266 4 6 0266
2080
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 24
MCOD1M MAC 6-Mar-89 15:13
2081 TEST 147,WCLK CLEAR TEST
2082 ;***********************************************************************
2083 ;* MCODE1 * TEST 147 * WCLK CLEAR TEST
2084 ;***********************************************************************
2085 SALL
2086 002346 1 002223 0 1 0 223
2087 002347 1 117056 4 7 1056
2088
2089 002350 TST147: SALL
2090
2091
2092 ;*SET UP FOR A ONE WORD DEVICE WRITE TRANSFER OF ALL ONES DATA
2093 ;*CHECK THAT WCLK SETS AFTER REQUESTING EACH 18-BIT WORD BY
2094 ;* SETTING START IN REGISTER MPSCR1
2095 ;*TERMINATE AND CHECK FOR NO ERRORS
2096
2097 002350 1 116774 4 7 0774 JMPSUB INITL ;INITIALIZE THE DX20
2098 002351 1 002001 0 1 0 001 LDBR 1 ;SET UP A WORD COUNT OF 1
2099 002352 1 064251 3 2 0 12 11 MOVB MPGP2 ;WRITE INTO REGISTER FOR HOST
2100 002353 1 066031 3 3 0 01 11 MOVB MPGP11 ;SET BLOCK COUNT OF 1 FOR HOST
2101 002354 1 002002 0 1 0 002 LDBR 2 ;GET PATTERN NUMBER FOR ONES DATA
2102 002355 1 066011 3 3 0 00 11 MOVB MPGP10 ;WRITE INTO REGISTER FOR HOST
2103 002356 1 117070 4 7 1070 WRITE ;SET UP FOR A DEVICE WRITE TRANSFER
2104 002357 1 002030 0 1 0 030 LDBR OCC+DTD ;SET OCCUPIED AND DIRECTION BIT
2105 002360 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND TO RH20
2106 002361 1 117044 4 7 1044 JMPSUB RUNWAT ;WAIT FOR RUN TO SET
2107 002362 1 002034 0 1 0 034 LDBR OCC+START+DTD ;GET START BIT
2108 002363 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND AN SCLK TO RH20
2109 002364 1 000000 0 0 0 000 NOP ;GUARANTEE 1200 NS
2110 002365 1 000000 0 0 0 000 NOP
2111 002366 1 000000 0 0 0 000 NOP
2112 002367 1 000000 0 0 0 000 NOP
2113 002370 1 022000 1 1 0 00 00 DATI MPSCR0,BR ;READ STATUS BITS
2114 002371 1 110373 4 4 0373 JMPB7 .+2 ;SKIP IF WCLK SET
2115 002372 1 100403 4 0 0403 JMP WCLKT2 ;NO, GO AROUND
2116 002373 1 002034 0 1 0 034 LDBR OCC+START+DTD ;GET START BIT
2117 002374 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND TO RH20
2118 002375 1 000000 0 0 0 000 NOP ;GUARANTEE 1200 NS
2119 002376 1 000000 0 0 0 000 NOP
2120 002377 1 000000 0 0 0 000 NOP
2121 002400 1 000000 0 0 0 000 NOP
2122 002401 1 022000 1 1 0 00 00 DATI MPSCR0,BR ;READ STATUS BITS
2123 002402 1 110405 4 4 0405 JMPB7 .+3 ;JUMP AROUND IF WCLK IS SET
2124 002403 1 116774 4 7 0774 WCLKT2: JMPSUB INITL ;INITIALIZE THE DX20
2125 ERROR TST,<WCLK DID NOT SET IN REGISTER MPSCR0 AFTER SENDING
2126 002404 1 117064 4 7 1064 AN SCLK TO RH20 DURING A DEVICE WRITE TRANSFER>
2127
2128 ERLOOP TST ^SALL
2129 002405 1 002000 0 1 0 000
2130 002406 1 117061 4 7 1061
2131 002407 1 114350 4 6 0350
2132
2133 002410 1 002001 0 1 0 001 LDBR EBL ;SET EBL AND CLEAR OCCUPIED
2134 002411 1 064031 3 2 0 01 11 MOVB MPSCR1 ;TELL RH20 TO TERMINATE
2135 002412 1 117001 4 7 1001 JMPSUB STALL1 ;STALL FOR DURATION OF EBL PULSE
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 24-1
MCOD1M MAC 6-Mar-89 15:13
2136 CHKTRM TST,<ATTEMPTED A ONE WORD DEVICE WRITE TRANSFER
2137 002413 1 002041 0 1 0 041 BUT AN ERROR SET IN THE RH20>
2138 002414 1 117100 4 7 1100
2139
2140 ERRLOP TST ^SALL
2141 002415 1 114350 4 6 0350
2142
2143 ;*SEND ANOTHER SCLK AND CHECK THAT WCLK CLEARED
2144
2145 002416 1 002014 0 1 0 014 LDBR START+DTD ;GET START BIT
2146 002417 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND AN SCLK TO RH20 AND CLEAR WCLK
2147 002420 1 022000 1 1 0 00 00 DATI MPSCR0,BR ;READ STATUS BITS
2148 002421 1 110423 4 4 0423 JMPB7 .+2 ;SKIP IF WCLK IS STILL SET
2149 002422 1 100424 4 0 0424 JMP .+2 ;IT SHOULD HAVE CLEARED BY START
2150 ERROR TST,<CANNOT CLEAR WCLK IN REGISTER MPSCR0 WITH
2151 002423 1 117064 4 7 1064 START DATA TRANSFER>
2152
2153 ERLOOP TST ^SALL
2154 002424 1 002002 0 1 0 002
2155 002425 1 117061 4 7 1061
2156 002426 1 114350 4 6 0350
2157 002427 1 117066 4 7 1066 REPEAT TST
2158 002430 1 114350 4 6 0350
2159
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 25
MCOD1M MAC 6-Mar-89 15:13
2160 TEST 148,DEVICE WRITE DATA BUFFER TEST
2161 ;***********************************************************************
2162 ;* MCODE1 * TEST 148 * DEVICE WRITE DATA BUFFER TEST
2163 ;***********************************************************************
2164 SALL
2165 002431 1 002224 0 1 0 224
2166 002432 1 117056 4 7 1056
2167
2168 002433 TST148: SALL
2169
2170
2171 ;*SET UP FOR A 4 WORD DEVICE WRITE TRANSFER
2172 ;*REQUEST AND CHECK FOR THE FOLLOWING DATA
2173 ;* 000000 000000
2174 ;* 777777 777777
2175 ;* 777777 000000
2176 ;* 000000 777777
2177 ;*TERMINATE AND CHECK FOR NO ERRORS
2178
2179 002433 1 116774 4 7 0774 JMPSUB INITL ;INITIALIZE THE DX20
2180 002434 1 002004 0 1 0 004 LDBR 4 ;GET WORD COUNT
2181 002435 1 064251 3 2 0 12 11 MOVB MPGP2 ;PUT IN MPGP2 FOR HOST
2182 002436 1 064351 3 2 0 16 11 MOVB MPGP6 ;SET ADDITIONAL PRINT INDEX TO 4
2183 002437 1 002001 0 1 0 001 LDBR 1 ;GET A BLOCK COUNT OF ONE
2184 002440 1 066031 3 3 0 01 11 MOVB MPGP11 ;PUT IN REGISTER FOR HOST
2185 002441 1 002003 0 1 0 003 LDBR 3 ;GET PATTERN NUMBER 3
2186 002442 1 066011 3 3 0 00 11 MOVB MPGP10 ;PUT IN REGISTER FOR HOST
2187 002443 1 117070 4 7 1070 WRITE ;SET UP THE WRITE OPERATION
2188 002444 1 002030 0 1 0 030 LDBR OCC+DTD ;SET OCCUPIED AND DTD
2189 002445 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND OCC TO RH20
2190 002446 1 117044 4 7 1044 JMPSUB RUNWAT ;WAIT FOR RUN TO SET
2191 002447 1 002000 0 1 0 000 LDBR 0 ;GET ZERO DATA
2192 002450 1 066051 3 3 0 02 11 MOVB MPGP12 ;CLEAR THE CORRECT DATA REGISTER
2193 002451 1 066071 3 3 0 03 11 MOVB MPGP13
2194 002452 1 066151 3 3 0 06 11 MOVB MPGP16
2195 002453 1 064311 3 2 0 14 11 MOVB MPGP4 ;PUT NUMBER OF HALF WORD IN MPGP4
2196 002454 1 117005 4 7 1005 JMPSUB CHKWRD ;GO REQUEST AND CHECK A WORD
2197 002455 1 114515 4 6 0515 JMPZ WDBT1 ;JUMP AROUND IF ANY ERROR FOUND
2198 002456 1 117005 4 7 1005 JMPSUB CHKWRD ;CHECK THE SECOND HALF WORD
2199 002457 1 114515 4 6 0515 JMPZ WDBT1 ;JUMP AROUND IF ANY ERROR FOUND
2200 002460 1 002377 0 1 0 377 LDBR -1 ;GET ONES DATA
2201 002461 1 066051 3 3 0 02 11 MOVB MPGP12 ;SET UP CORRECT DATA OF ALL ONES
2202 002462 1 066071 3 3 0 03 11 MOVB MPGP13
2203 002463 1 002003 0 1 0 003 LDBR DB ;GET DATA BITS 17 & 16
2204 002464 1 066151 3 3 0 06 11 MOVB MPGP16
2205 002465 1 117005 4 7 1005 JMPSUB CHKWRD ;CHECK THIRD HALF WORD
2206 002466 1 114515 4 6 0515 JMPZ WDBT1 ;JUMP AROUND IF ANY ERROR
2207 002467 1 117005 4 7 1005 JMPSUB CHKWRD ;CHECK 4TH HALF WORD
2208 002470 1 114515 4 6 0515 JMPZ WDBT1 ;JUMP AROUND IF ANY ERROR
2209 002471 1 117005 4 7 1005 JMPSUB CHKWRD ;CHECK 5TH HALF WORD
2210 002472 1 114515 4 6 0515 JMPZ WDBT1 ;JUMP AROUND IF ANY ERRORS
2211 002473 1 002000 0 1 0 000 LDBR 0 ;GET ZERO DATA
2212 002474 1 066051 3 3 0 02 11 MOVB MPGP12 ;PUT ZEROS INTO CORRECT DATA REGISTERS
2213 002475 1 066071 3 3 0 03 11 MOVB MPGP13
2214 002476 1 066151 3 3 0 06 11 MOVB MPGP16
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 25-1
MCOD1M MAC 6-Mar-89 15:13
2215 002477 1 117005 4 7 1005 JMPSUB CHKWRD ;CHECK 6TH HALF WORD
2216 002500 1 114515 4 6 0515 JMPZ WDBT1 ;JUMP AROUND IF ANY ERROR
2217 002501 1 117005 4 7 1005 JMPSUB CHKWRD ;CHECK 7TH HALF WORD
2218 002502 1 114515 4 6 0515 JMPZ WDBT1 ;JUMP AROUND IF ANY ERRORS
2219 002503 1 002377 0 1 0 377 LDBR -1 ;GET ONES DATA
2220 002504 1 066051 3 3 0 02 11 MOVB MPGP12 ;PUT IN CORRECT DATA REGISTERS
2221 002505 1 066071 3 3 0 03 11 MOVB MPGP13
2222 002506 1 002003 0 1 0 003 LDBR DB ;GET DATA BITS 17 & 16
2223 002507 1 066151 3 3 0 06 11 MOVB MPGP16
2224 002510 1 117005 4 7 1005 JMPSUB CHKWRD ;CHECK 8TH HALF WORD
2225 002511 1 114515 4 6 0515 JMPZ WDBT1 ;JUMP AROUND IF ANY ERRORS
2226 002512 1 002001 0 1 0 001 LDBR EBL ;GET EBL BIT
2227 002513 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND TO RH20 TO TERMINATE
2228 002514 1 100520 4 0 0520 JMP WDBT2+1 ;JUMP AROUND THE ERROR
2229 002515 1 002001 0 1 0 001 WDBT1: LDBR EBL ;GET EBL BIT
2230 002516 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND TO RH20 TO TERMINATE
2231 002517 1 117064 4 7 1064 WDBT2: ERROR TST,INCORRECT DATA RECEIVED FROM RH20,,PNT
2232
2233 ERLOOP TST ^SALL
2234 002520 1 002200 0 1 0 200
2235 002521 1 117061 4 7 1061
2236 002522 1 114433 4 6 0433
2237 002523 1 117001 4 7 1001 JMPSUB STALL1 ;STALL FOR DURATION OF EBL PULSE
2238 002524 1 002041 0 1 0 041 CHKTRM TST,4 WORD WRITE TRANSFER CAUSED AN RH20 ERROR
2239 002525 1 117100 4 7 1100
2240
2241 ERRLOP TST ^SALL
2242 002526 1 114433 4 6 0433
2243 002527 1 117066 4 7 1066 REPEAT TST
2244 002530 1 114433 4 6 0433
2245
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 26
MCOD1M MAC 6-Mar-89 15:13
2246 TEST 149,DEVICE WRITE DATA BUFFER PARITY ERROR TEST
2247 ;***********************************************************************
2248 ;* MCODE1 * TEST 149 * DEVICE WRITE DATA BUFFER PARITY ERROR TEST
2249 ;***********************************************************************
2250 SALL
2251 002531 1 002225 0 1 0 225
2252 002532 1 117056 4 7 1056
2253
2254 002533 TST149: SALL
2255
2256
2257 ;*SET EVEN PARITY BIT IN DATA BUFFER
2258 ;*SET UP FOR A ONE WORD DEVICE WRITE TRANSFER OF ALL ZEROS
2259 ;*REQUEST THE WORD
2260 ;*WRITE ZEROS TO MPDB2 TO CLEAR THE PARITY BIT IN DATA BUFFER
2261 ;*CHECK THAT DATA BUFFER PARITY ERROR IS NOW SET
2262
2263 002533 1 116774 4 7 0774 JMPSUB INITL ;INITIALIZE THE DX20
2264 002534 1 002001 0 1 0 001 LDBR 1 ;GET A WORD COUNT OF 1
2265 002535 1 064251 3 2 0 12 11 MOVB MPGP2 ;PUT IN REGISTER FOR HOST
2266 002536 1 066031 3 3 0 01 11 MOVB MPGP11 ;GET BLOCK COUNT TO 1
2267 002537 1 066011 3 3 0 00 11 MOVB MPGP10 ;SET DATA PATTERN CODE TO 1
2268 002540 1 117070 4 7 1070 WRITE ;SET UP RH20 FOR A WRITE TRANSFER
2269 002541 1 002030 0 1 0 030 LDBR OCC+DTD ;GET OCCUPIED BIT
2270 002542 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND TO RH20
2271 002543 1 117044 4 7 1044 JMPSUB RUNWAT ;WAIT FOR RUN TO SET
2272 002544 1 002000 0 1 0 000 LDBR 0 ;PUT NUMBER OF HALF WORD
2273 002545 1 064311 3 2 0 14 11 MOVB MPGP4 ;IN MPGP4
2274 002546 1 066051 3 3 0 02 11 MOVB MPGP12 ;CLEAR CORRECT
2275 002547 1 066071 3 3 0 03 11 MOVB MPGP13 ;DATA REGISTER
2276 002550 1 002010 0 1 0 010 LDBR DBPARE ;SET TO EXPECT
2277 002551 1 066151 3 3 0 06 11 MOVB MPGP16 ;A PARITY ERROR
2278 002552 1 002020 0 1 0 020 LDBR DBEVEN ;GET EVEN PARITY BIT
2279 002553 1 064171 3 2 0 07 11 MOVB MPDB2 ;SET IN DATA BUFFER
2280 002554 1 117005 4 7 1005 JMPSUB CHKWRD ;GET FIRST HALF OF WORD
2281 002555 1 114563 4 6 0563 JMPZ WDBPT1 ;JUMP AROUND IF AN ERROR FOUND
2282 002556 1 117005 4 7 1005 JMPSUB CHKWRD ;GET SECOND HALF OF WORD
2283 002557 1 114563 4 6 0563 JMPZ WDBPT1 ;JUMP AROUND IF AN ERROR FOUND
2284 002560 1 002011 0 1 0 011 LDBR DTD+EBL ;GET EBL BIT
2285 002561 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND TO RH20 TO TERMINATE
2286 002562 1 100566 4 0 0566 JMP WDBPT2+1 ;JUMP AROUND THE ERROR
2287 002563 1 002011 0 1 0 011 WDBPT1: LDBR DTD+EBL ;GET EBL BIT
2288 002564 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND TO RH20 TO TERMINATE
2289 WDBPT2: ERROR TST,<DATA BUFFER PARITY ERROR DID NOT SET DURING
2290 ONE WORD DEVICE WRITE TRANSFER WHILE DATA BUFFER
2291 002565 1 117064 4 7 1064 EVEN PARITY BIT WAS SET>,,PNT
2292
2293 ERLOOP TST ^SALL
2294 002566 1 002200 0 1 0 200
2295 002567 1 117061 4 7 1061
2296 002570 1 114533 4 6 0533
2297
2298 002571 1 117066 4 7 1066 REPEAT TST
2299 002572 1 114533 4 6 0533
2300
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 27
MCOD1M MAC 6-Mar-89 15:13
2301 TEST 150,DEVICE WRITE FLOATING ONE TEST
2302 ;***********************************************************************
2303 ;* MCODE1 * TEST 150 * DEVICE WRITE FLOATING ONE TEST
2304 ;***********************************************************************
2305 SALL
2306 002573 1 002226 0 1 0 226
2307 002574 1 117056 4 7 1056
2308
2309 002575 TST150: SALL
2310
2311
2312 ;*SET UP FOR A 9 WORD DEVICE WRITE TRANSFER
2313 ;*REQUEST AND CHECK FOR THE FOLLOWING DATA:
2314 ;* 000001 000002
2315 ;* 000004 000010
2316 ;* 000020 000040
2317 ;* 000100 000200
2318 ;* 000400 001000
2319 ;* 002000 004000
2320 ;* 010000 020000
2321 ;* 040000 100000
2322 ;* 200000 400000
2323 ;*TERMINATE AND CHECK FOR NO ERRORS
2324
2325 002575 1 116774 4 7 0774 JMPSUB INITL ;INITIALIZE THE DX20
2326 002576 1 002011 0 1 0 011 LDBR ^D9 ;GET A WORD COUNT OF 9
2327 002577 1 064251 3 2 0 12 11 MOVB MPGP2 ;PUT IN REGISTER FOR HOST
2328 002600 1 002001 0 1 0 001 LDBR 1 ;GET BLOCK COUNT OF 1
2329 002601 1 066031 3 3 0 01 11 MOVB MPGP11 ;PUT IN REGISTER FOR HOST
2330 002602 1 002004 0 1 0 004 LDBR 4 ;GET DATA PATTERN NUMBER 4
2331 002603 1 066011 3 3 0 00 11 MOVB MPGP10 ;PUT IN REGISTER FOR HOST
2332 002604 1 117070 4 7 1070 WRITE ;SET UP RH20 FOR WRITE TRANSFER
2333 002605 1 002030 0 1 0 030 LDBR DTD+OCC ;GET OCCUPIED BIT
2334 002606 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND TO RH20
2335 002607 1 117044 4 7 1044 JMPSUB RUNWAT ;WAIT FOR RUN TO SET
2336 002610 1 002001 0 1 0 001 LDBR 1 ;GET A ONE, THE START BIT
2337 002611 1 066051 3 3 0 02 11 MOVB MPGP12 ;PUT INTO CORRECT DATA BUFFER
2338 002612 1 002000 0 1 0 000 LDBR 0 ;GET ZEROS DATA
2339 002613 1 066071 3 3 0 03 11 MOVB MPGP13 ;CLEAR REST OF CORRECT DATA REGISTERS
2340 002614 1 066151 3 3 0 06 11 MOVB MPGP16
2341 002615 1 064311 3 2 0 14 11 MOVB MPGP4 ;CLEAR WORD COUNT
2342 002616 1 117005 4 7 1005 WFOT1: JMPSUB CHKWRD ;REQUEST AND CHECK A WORD FROM RH20
2343 002617 1 114652 4 6 0652 JMPZ WFOTE ;JUMP TO ERROR REPORT IF ANY ERROR
2344 002620 1 132002 5 5 0 00 02 DATI MPGP12,AC0 ;GET DATA PATTERN
2345 002621 1 062005 3 1 0 00 05 SHL AC0,BR ;SHIFT DATA LEFT
2346 002622 1 066051 3 3 0 02 11 MOVB MPGP12 ;PUT NEW DATA BACK
2347 002623 1 112625 4 5 0625 JMPC .+2 ;SKIP IF BIT WAS SHIFTED OUT
2348 002624 1 100616 4 0 0616 JMP WFOT1 ;NO, CHECK THIS PATTERN
2349 002625 1 002001 0 1 0 001 LDBR 1 ;GET ANOTHER ONE BIT
2350 002626 1 066071 3 3 0 03 11 MOVB MPGP13 ;PUT IN NEXT BYTE OF WORD
2351 002627 1 117005 4 7 1005 WFOT2: JMPSUB CHKWRD ;REQUEST AND CHECK ANOTHER WORD
2352 002630 1 114652 4 6 0652 JMPZ WFOTE ;JUMP TO ERROR REPORT IF ANY ERROR
2353 002631 1 132003 5 5 0 00 03 DATI MPGP13,AC0 ;GET DATA PATTERN
2354 002632 1 062005 3 1 0 00 05 SHL AC0,BR ;SHIFT DATA BIT LEFT
2355 002633 1 066071 3 3 0 03 11 MOVB MPGP13 ;PUT NEW PATTERN BACK
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 27-1
MCOD1M MAC 6-Mar-89 15:13
2356 002634 1 112636 4 5 0636 JMPC .+2 ;SKIP IF BIT SHIFTED OUT
2357 002635 1 100627 4 0 0627 JMP WFOT2 ;NO, CHECK THIS PATTERN
2358 002636 1 002001 0 1 0 001 LDBR 1 ;GET ANOTHER ONE BIT
2359 002637 1 066151 3 3 0 06 11 MOVB MPGP16 ;WRITE SET BIT 16 IN CORRECT BUFFER
2360 002640 1 117005 4 7 1005 JMPSUB CHKWRD ;CHECK THIS WORD
2361 002641 1 114652 4 6 0652 JMPZ WFOTE ;JUMP TO ERROR REPORT IF ANY ERROR
2362 002642 1 002002 0 1 0 002 LDBR 2 ;GET BIT FOR BIT 17
2363 002643 1 066151 3 3 0 06 11 MOVB MPGP16 ;PUT IN CORRECT BUFFER
2364 002644 1 117005 4 7 1005 JMPSUB CHKWRD ;CHECK THIS WORD
2365 002645 1 114652 4 6 0652 JMPZ WFOTE ;JUMP TO ERROR REPORT IF ANY ERROR
2366 002646 1 002001 0 1 0 001 LDBR EBL ;GET EBL BIT
2367 002647 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND EBL TO RH20
2368 002650 1 117001 4 7 1001 JMPSUB STALL1 ;STALL FOR DURATION OF EBL PULSE
2369 002651 1 100656 4 0 0656 JMP WFOTR+1 ;JUMP AROUND ERROR REPORT
2370 002652 1 002001 0 1 0 001 WFOTE: LDBR EBL ;GET EBL BIT
2371 002653 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND EBL TO RH20
2372 002654 1 117001 4 7 1001 JMPSUB STALL1 ;STALL FOR DURATION OF EBL PULSE
2373 002655 1 117064 4 7 1064 WFOTR: ERROR TST,INCORRECT DATA RECEIVED FROM RH20,,PNT
2374
2375 ERLOOP TST ^SALL
2376 002656 1 002200 0 1 0 200
2377 002657 1 117061 4 7 1061
2378 002660 1 114575 4 6 0575
2379 002661 1 002041 0 1 0 041 CHKTRM TST,ERROR SET DURING A 9 WORD WRITE TRANSFER
2380 002662 1 117100 4 7 1100
2381
2382 ERRLOP TST ^SALL
2383 002663 1 114575 4 6 0575
2384 002664 1 117066 4 7 1066 REPEAT TST
2385 002665 1 114575 4 6 0575
2386
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 28
MCOD1M MAC 6-Mar-89 15:13
2387 TEST 151,DEVICE WRITE SHORT RECORD TEST
2388 ;***********************************************************************
2389 ;* MCODE1 * TEST 151 * DEVICE WRITE SHORT RECORD TEST
2390 ;***********************************************************************
2391 SALL
2392 002666 1 002227 0 1 0 227
2393 002667 1 117056 4 7 1056
2394
2395 002670 TST151: SALL
2396
2397
2398 ;*SET UP FOR A 4 WORD DEVICE WRITE TRANSFER OF ZEROS
2399 ;*REQUEST ONE WORD
2400 ;*TERMINATE AND CHECK FOR AN ERROR
2401
2402 002670 1 116774 4 7 0774 JMPSUB INITL ;INITIALIZE THE DX20
2403 002671 1 002004 0 1 0 004 LDBR 4 ;GET WORD COUNT OF 4
2404 002672 1 064251 3 2 0 12 11 MOVB MPGP2 ;PUT IN REGISTER FOR HOST
2405 002673 1 002001 0 1 0 001 LDBR 1 ;GET PATTERN CODE OF 1
2406 002674 1 066011 3 3 0 00 11 MOVB MPGP10 ;PUT IN REGISTER FOR HOST
2407 002675 1 117070 4 7 1070 WRITE ;SET UP THE RH20 FOR A WRITE TRANSFER
2408 002676 1 002030 0 1 0 030 LDBR DTD+OCC ;GET THE OCCUPIED BIT
2409 002677 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND OCCUPIED TO RH20
2410 002700 1 117044 4 7 1044 JMPSUB RUNWAT ;WAIT FOR RUN TO SET
2411 002701 1 117005 4 7 1005 JMPSUB CHKWRD ;REQUEST ONE WORD
2412 002702 1 117005 4 7 1005 JMPSUB CHKWRD ;REQUEST SECOND HALF OF WORD
2413 002703 1 002001 0 1 0 001 LDBR EBL ;GET EBL BIT
2414 002704 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND EBL TO RH20
2415 002705 1 117001 4 7 1001 JMPSUB STALL1 ;STALL FOR DURATION OF EBL PULSE
2416 CHKERR TST,<ACCEPTED ONLY ONE WORD OF A 4 WORD TRANSFER
2417 002706 1 002140 0 1 0 140 BUT RH20 DID NOT SET ANY ERRORS>
2418 002707 1 117100 4 7 1100
2419
2420 ERRLOP TST ^SALL
2421 002710 1 114670 4 6 0670
2422 002711 1 117066 4 7 1066 REPEAT TST
2423 002712 1 114670 4 6 0670
2424
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 29
MCOD1M MAC 6-Mar-89 15:13
2425 TEST 152,DEVICE WRITE LONG RECORD TEST
2426 ;***********************************************************************
2427 ;* MCODE1 * TEST 152 * DEVICE WRITE LONG RECORD TEST
2428 ;***********************************************************************
2429 SALL
2430 002713 1 002230 0 1 0 230
2431 002714 1 117056 4 7 1056
2432
2433 002715 TST152: SALL
2434
2435
2436 ;*SET UP FOR A ONE WORD DEVICE WRITE TRANSFER OF ZEROS
2437 ;*REQUEST 4 WORDS
2438 ;*TERMINATE AND CHECK FOR AN ERROR
2439
2440 002715 1 116774 4 7 0774 JMPSUB INITL ;INITIALIZE THE DX20
2441 002716 1 002001 0 1 0 001 LDBR 1 ;GET WORD COUNT OF 1
2442 002717 1 064251 3 2 0 12 11 MOVB MPGP2 ;PUT IN REGISTER FOR HOST
2443 002720 1 002001 0 1 0 001 LDBR 1 ;GET PATTERN CODE OF 1
2444 002721 1 066011 3 3 0 00 11 MOVB MPGP10 ;PUT IN REGISTER FOR HOST
2445 002722 1 117070 4 7 1070 WRITE ;SET UP THE RH20 FOR A WRITE TRANSFER
2446 002723 1 002030 0 1 0 030 LDBR DTD+OCC ;GET THE OCCUPIED BIT
2447 002724 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND OCCUPIED TO RH20
2448 002725 1 117044 4 7 1044 JMPSUB RUNWAT ;WAIT FOR RUN TO SET
2449 002726 1 117005 4 7 1005 JMPSUB CHKWRD ;REQUEST ONE WORD
2450 002727 1 117005 4 7 1005 JMPSUB CHKWRD ;REQUEST SECOND HALF OF WORD
2451 002730 1 117005 4 7 1005 JMPSUB CHKWRD ;REQUEST ANOTHER WORD
2452 002731 1 117005 4 7 1005 JMPSUB CHKWRD ;AND SECOND HALF
2453 002732 1 117005 4 7 1005 JMPSUB CHKWRD ;REQUEST THIRD WORD
2454 002733 1 117005 4 7 1005 JMPSUB CHKWRD ;AND SECOND HALF
2455 002734 1 117005 4 7 1005 JMPSUB CHKWRD ;REQUEST FOURTH WORD
2456 002735 1 117005 4 7 1005 JMPSUB CHKWRD ;AND SECOND HALF
2457 002736 1 002001 0 1 0 001 LDBR EBL ;GET EBL BIT
2458 002737 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND EBL TO RH20
2459 002740 1 117001 4 7 1001 JMPSUB STALL1 ;STALL FOR DURATION OF EBL PULSE
2460 CHKERR TST,<ACCEPTED FOUR WORDS OF A ONE WORD TRANSFER
2461 002741 1 002140 0 1 0 140 BUT RH20 DID NOT SET ANY ERRORS>
2462 002742 1 117100 4 7 1100
2463
2464 ERRLOP TST ^SALL
2465 002743 1 114715 4 6 0715
2466 002744 1 117066 4 7 1066 REPEAT TST
2467 002745 1 114715 4 6 0715
2468
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 30
MCOD1M MAC 6-Mar-89 15:13
2469 TEST 153,DRIVE EXCEPTION TEST
2470 ;***********************************************************************
2471 ;* MCODE1 * TEST 153 * DRIVE EXCEPTION TEST
2472 ;***********************************************************************
2473 SALL
2474 002746 1 002231 0 1 0 231
2475 002747 1 117056 4 7 1056
2476
2477 002750 TST153: SALL
2478
2479
2480 ;*SET UP FOR A ONE WORD DEVICE WRITE TRANSFER OF ZEROS
2481 ;*REQUEST THE ONE WORD
2482 ;*SET MPERR TO GENERATE EXCEPTION
2483 ;*TERMINATE AND CHECK FOR AN ERROR
2484
2485 002750 1 116774 4 7 0774 JMPSUB INITL ;INITIALIZE THE DX20
2486 002751 1 002001 0 1 0 001 LDBR 1 ;GET WORD COUNT OF 1
2487 002752 1 064251 3 2 0 12 11 MOVB MPGP2 ;PUT IN REGISTER FOR HOST
2488 002753 1 117070 4 7 1070 WRITE ;SET UP RH20 FOR A WRITE TRANSFER
2489 002754 1 002030 0 1 0 030 LDBR DTD+OCC ;GET OCCUPIED BIT
2490 002755 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND OCCUPIED TO RH20
2491 002756 1 117044 4 7 1044 JMPSUB RUNWAT ;WAIT FOR RUN TO SET
2492 002757 1 117005 4 7 1005 JMPSUB CHKWRD ;REQUEST THE WORD
2493 002760 1 117005 4 7 1005 JMPSUB CHKWRD ;AND THE SECOND HALF
2494 002761 1 002131 0 1 0 131 LDBR MPERR+EBL+DTD+OCC ;GET ERROR AND EBL BITS
2495 002762 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND EXCEPTION AN EBL TO RH20
2496 002763 1 117001 4 7 1001 JMPSUB STALL1 ;STALL FOR DURATION OF EBL PULSE
2497 002764 1 002000 0 1 0 000 LDBR 0 ;CLEAR OCC AND MPERR
2498 002765 1 064031 3 2 0 01 11 MOVB MPSCR1 ;IN STATUS REGISTER
2499 CHKERR TST,<TRIED TO ASSERT EXCEPTION WITH MPERR BIT AFTER A
2500 002766 1 002140 0 1 0 140 WRITE TRANSFER>,BUT RH20 DID NOT SEE THE EXCEPTION ERROR
2501 002767 1 117100 4 7 1100
2502
2503 ERRLOP TST ^SALL
2504 002770 1 114750 4 6 0750
2505 002771 1 117066 4 7 1066 REPEAT TST
2506 002772 1 114750 4 6 0750
2507
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 31
MCOD1M MAC 6-Mar-89 15:13
2508 002773 1 101054 4 0 1054 JMP END ;GO TO END OF CODE
2509
2510 002774 1 002200 0 1 0 200 INITL: LDBR INIT ;GET INITIALIZE BIT
2511 002775 1 066371 3 3 0 17 11 MOVB IOSEL ;INITIALIZE THE DX20
2512 002776 1 002011 0 1 0 011 LDBR 11 ;GET MASSBUS SELECTION CODE
2513 002777 1 066371 3 3 0 17 11 MOVB IOSEL ;LOAD INTO I/O SELECT REGISTER
2514 003000 1 016000 0 7 0 000 RETURN
2515
2516 003001 1 020001 1 0 0 00 01 STALL1: DATI MPSCR1 ;EXECUTE THREE DATI INSTRUCTIONS
2517 003002 1 020001 1 0 0 00 01 DATI MPSCR1 ;TO STALL AT LEAST 1500 NS
2518 003003 1 020001 1 0 0 00 01 DATI MPSCR1 ;FOR DURATION OF EBL PULSE
2519 003004 1 016000 0 7 0 000 RETURN ;ACTUAL DELAY IS 1830 NS.
2520
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 32
MCOD1M MAC 6-Mar-89 15:13
2521 ;THIS ROUTINE IS CALLED TO REQUEST AND CHECK A WORD FROM THE RH20
2522 ;DURING A DEVICE WRITE TRANSFER
2523
2524 ;SENDS ONE SCLK
2525 ;CHECK DATA BUFFER FOR CORRECT CONTENTS
2526 ;CORRECT DATA IS IN DXGP5 (BITS 15 - 0) AND RH OF DXGP7 (17,16)
2527 ;IF DISCREPANCY IS FOUND, ACTUAL DATA IS PLACED IN DXGP6 AND LH OF DXGP7
2528 ;Z IS SET ON ERROR RETURN
2529
2530 003005 1 002034 0 1 0 034 CHKWRD: LDBR OCC+DTD+START ;GET START BIT
2531 003006 1 064031 3 2 0 01 11 MOVB MPSCR1 ;SEND TO RH20
2532 003007 1 000000 0 0 0 000 NOP ;GUARANTEE 1200 NS
2533 003010 1 000000 0 0 0 000 NOP
2534 003011 1 000000 0 0 0 000 NOP
2535 003012 1 000000 0 0 0 000 NOP
2536 003013 1 122002 5 1 0 00 02 DATI MPGP12,BR ;GET CORRECT DATA BITS 7 - 0
2537 003014 1 032005 1 5 0 00 05 DATI MPDB0,AC0 ;READ ACTUAL DATA
2538 003015 1 060017 3 0 0 00 17 OSB AC0 ;COMPARE
2539 003016 1 115020 4 6 1020 JMPZ .+2 ;SKIP IF A MATCH
2540 003017 1 101034 4 0 1034 JMP DATERR ;REPORT DATA ERROR
2541 003020 1 122003 5 1 0 00 03 DATI MPGP13,BR ;READ CORRECT DATA BITS 15 - 8
2542 003021 1 032006 1 5 0 00 06 DATI MPDB1,AC0 ;READ ACTUAL DATA
2543 003022 1 060017 3 0 0 00 17 OSB AC0 ;COMPARE
2544 003023 1 115025 4 6 1025 JMPZ .+2 ;SKIP IF A MATCH
2545 003024 1 101034 4 0 1034 JMP DATERR ;REPORT DATA ERROR
2546 003025 1 122006 5 1 0 00 06 DATI MPGP16,BR ;READ REMAINING CORRECT BITS
2547 003026 1 032007 1 5 0 00 07 DATI MPDB2,AC0 ;READ ACTUAL DATA
2548 003027 1 072015 3 5 0 00 15 LXORBR AC0 ;XOR THE CORRECT AND ACTUAL
2549 003030 1 002013 0 1 0 013 LDBR DBPARE+DB ;GET MASK OF WANTED BITS
2550 003031 1 072013 3 5 0 00 13 LANDBR AC0 ;CLEAR ALL OTHER BITS
2551 003032 1 060007 3 0 0 00 07 DEC AC0 ;SUBTRACT ONE TO CHECK IF ZERO
2552 003033 1 115040 4 6 1040 JMPZ DATGOD ;JUMP IF RESULT WAS -1
2553 003034 1 026105 1 3 0 04 05 DATERR: DATI MPDB0,MPGP14 ;COPY DATA BUFFER TO
2554 003035 1 026126 1 3 0 05 06 DATI MPDB1,MPGP15 ;GENERAL PURPOSE REGISTERS
2555 003036 1 026167 1 3 0 07 07 DATI MPDB2,MPGP17
2556 003037 1 016377 0 7 0 377 RETURN -1 ;RETURN WITH Z SET TO SIGNAL ERROR
2557 003040 1 032014 1 5 0 00 14 DATGOD: DATI MPGP4,AC0 ;GET WORD COUNT FROM MPGP4
2558 003041 1 062003 3 1 0 00 03 INC AC0,BR ;INCREMENT NUMBER
2559 003042 1 064311 3 2 0 14 11 MOVB MPGP4 ;PUT NUMBER BACK
2560 003043 1 016000 0 7 0 000 RETURN ;NORMAL RETURN, NO ERRORS
2561
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 33
MCOD1M MAC 6-Mar-89 15:13
2562 003044 1 002000 0 1 0 000 RUNWAT: LDBR 0 ;CLEAR WAIT CNT
2563 003045 1 072011 3 5 0 00 11 MOVB AC0
2564 003046 1 072003 3 5 0 00 03 RUNLP: INCR AC0 ;INCREMENT WAIT CNT
2565 003047 1 113053 4 5 1053 JMPC RUNBCK ;JUMP IF TIMED OUT, TEST WILL FAIL
2566 003050 1 022000 1 1 0 00 00 DATI MPSCR0,BR ;CHECK "RUN" BIT
2567 003051 1 105053 4 2 1053 JMPB0 .+2 ;JUMP IF SET
2568 003052 1 101046 4 0 1046 JMP RUNLP ;ELSE, KEEP WAITING
2569 003053 1 016000 0 7 0 000 RUNBCK: RETURN
2570
MCODE1 DX20 MICRO-DIAGNOSTIC OF THE MICRO-PROCESSOR VERSION 0.2 MACRO %53B(1252) 15:24 6-Mar-89 Page 34
MCOD1M MAC 6-Mar-89 15:13
2571 003054 1 002225 0 1 0 225 END: .ECRAM
2572 003055 1 160211 7 0 0 10 11
2573 003056 1 072131 3 5 0 05 11
2574 003057 1 002044 0 1 0 044
2575 003060 1 160211 7 0 0 10 11
2576 003061 1 072131 3 5 0 05 11
2577 003062 1 002142 0 1 0 142
2578 003063 1 160211 7 0 0 10 11
2579 003064 1 002104 0 1 0 104
2580 003065 1 160211 7 0 0 10 11
2581 003066 1 002222 0 1 0 222
2582 003067 1 160211 7 0 0 10 11
2583 003070 1 002001 0 1 0 001
2584 003071 1 101075 4 0 1075
2585 003072 1 002002 0 1 0 002
2586 003073 1 101075 4 0 1075
2587 003074 1 002003 0 1 0 003
2588 003075 1 072131 3 5 0 05 11
2589 003076 1 002203 0 1 0 203
2590 003077 1 160211 7 0 0 10 11
2591 003100 1 072131 3 5 0 05 11
2592 003101 1 002215 0 1 0 215
2593 003102 1 160211 7 0 0 10 11
2594
2595 .END
2596
2597 END
NO ERRORS DETECTED
PROGRAM BREAK IS 000000
ABSOLUTE BREAK IS 003103
CPU TIME USED 02:12.516
27P CORE USED
ABC 797 832#
ABCLOW 837 841#
ABCZRO 843 851#
AC0 474 569 570 579 588 616 617 626 635 663 664 676 685 713
714 728 737 787 788 892 893 910 911 929 930 951 952 986
987 1004 1005 1023 1024 1045 1046 1083 1084 1102 1103 1120 1121 1134
1135 1149 1150 1167 1168 1182 1183 1202 1203 1256 1257 1280 1281 1304
1305 1338 1339 1352 1355 1376 1377 1408 1411 1434 1435 1452 1453 1480
1481 2344 2345 2353 2354 2537 2538 2542 2543 2547 2548 2550 2551 2557
2558 2563 2564
AC1 472 563 568 571 609 615 618 659 662 665 673 709 712 715
723 725 771 781 789 890 908 924 927 938 946 949 960 962
984 1002 1018 1021 1032 1040 1043 1054 1056 1081 1100 1118 1132 1147
1165 1184 1201 1251 1258 1282 1306 1336 1354 1410 1412 1433 1436 1451
1454 1478 1482
AC2 582 584 586 629 631 633 679 681 683 731 733 735 773 784
1765 1768 1775 1778 1945 1949 1974 1978
AC3 806 808 810 832 834 836 858 860 863 865
AC4 402 407 815 816 818 841 842 844
AC5 370 372 374 380 414 415 417 436 438 443 447 452 455 458
463 469 476 499 501 510 512 2573 2576 2588 2591
AC6 383 387 397 521
AC7 355 390 391 424 429 433 437 450 453
ATA 66# 416 442 454 503 514 532
AUT 799 806#
AUTLOW 811 815#
AUTZRO 817 825#
BANK1 1714 1726#
BEGEND 527# 2571
BEGIN 340# 535
BLK1 1947# 1951
BLK2 1976# 1980
C 123#
CALL 493 495 497 499#
CALL0 500# 2589
CALLH 2584 2586 2588#
CATAB 489 1966 1994 2054 2077 2131 2156 2236 2296 2378
CHKLOP 477# 515
CHKLP 478#
CHKWRD 2196 2198 2205 2207 2209 2215 2217 2224 2280 2282 2342 2351 2360 2364
2411 2412 2449 2450 2451 2452 2453 2454 2455 2456 2492 2493 2530#
CKTRM 510# 1607 1707
CKTRM0 511# 2592
CKTRMH 1800 1847 1902 1997 2061 2138 2239 2380 2418 2462 2501 2591#
CLRGO 59# 373
CMDF0 349 365#
CMPERR 60# 1409 1432 1450 1477
COMPAR 777 858#
CORF 574# 576 621# 623 668# 670 718# 720 792# 794 896# 898 914# 916
933# 935 955# 957 990# 992 1008# 1010 1027# 1029 1049# 1051 1087# 1089
1106# 1108 1124# 1126 1138# 1140 1153# 1155 1171# 1173 1189# 1191 1208# 1210
1223# 1225 1262# 1264 1286# 1288 1310# 1312 1342# 1344 1359# 1361 1381# 1383
1415# 1417 1440# 1442 1457# 1459 1486# 1488 1526# 1528 1539# 1541 1599# 1601
1700# 1702 1962# 1964 1990# 1992 2050# 2052 2073# 2075 2127# 2129 2152# 2154
2232# 2234 2292# 2294 2374# 2376
CUADRS 153 240 1734 1757 1801 1805 1814 1826 1848 1852 1861 1873 1903 1907
1916 1937 1962 1966 1990 1994 1998 2002 2011 2027 2050 2054 2062 2073
2077 2079 2088 2104 2127 2131 2139 2152 2156 2158 2167 2188 2232 2236
2240 2244 2253 2269 2292 2296 2299 2308 2333 2374 2378 2381 2385 2394
2408 2419 2423 2432 2446 2463 2467 2476 2489 2502 2506
DATERR 2540 2545 2553#
DATGOD 2552 2557#
DB 92# 2203 2222 2549
DB01 905# 918
DB0F0 947# 959 964
DB0F11 925# 937 940
DB11 999# 1012
DB1F0 1041# 1053 1058
DB1F11 1019# 1031 1034
DB21 1096# 1110
DB216 1115# 1128
DB217 1129# 1142
DB2EV 1162# 1175 1193 1212 1227
DB2P 1144# 1157
DBEVEN 95# 1164 1180 1198 1200 2278
DBF1T0 1764# 1770
DBF1T1 1774# 1780
DBPAR 93# 1180 1200
DBPARE 94# 2276 2549
DBST1 1272# 1290
DBST2 1296# 1314
DONE 56# 1477
DTD 62# 371 416 2027 2030 2039 2104 2107 2116 2145 2188 2269 2284 2287
2333 2408 2446 2489 2494 2530
EBL 57# 1334 1371 1475 1531 1592 1693 1795 1842 1897 1954 1983 2056 2133
2226 2229 2284 2287 2366 2370 2413 2457 2494
EBL0 1370# 1385
EDIT 1# 5 338
ELOOPC 479 484#
END 2508 2571#
ERLP 458# 792 1223 1526 1539 1599 1700 1962 1965 1990 1993 2050 2053 2073
2076 2127 2130 2152 2155 2232 2235 2292 2295 2374 2377
ERLP0 459# 2577
ERLPA 469# 574 621 668 718 896 914 933 955 990 1008 1027 1049 1087
1106 1124 1138 1153 1171 1189 1208 1262 1286 1310 1342 1359 1381 1415
1440 1457 1486 1966 1994 2054 2077 2131 2156 2236 2296 2378
ERLPA0 470#
ERLPH 1965 1993 2053 2076 2130 2155 2235 2295 2377 2576#
ERLPM 463# 1966 1994 2054 2077 2131 2156 2236 2296 2378
ERLPM0 464#
ERRCA 467 474#
ERRCHK 429# 459 464 470
ERRCOM 461 476#
ERRSET 423# 573 620 667 717 791 895 913 932 954 989 1007 1026 1048
1086 1105 1123 1137 1152 1170 1188 1207 1222 1261 1285 1309 1341 1358
1380 1414 1439 1456 1485 1525 1538 1598 1699 2579
ERSETH 1961 1989 2049 2072 2126 2151 2231 2291 2373 2579#
EXC 58# 1432
EXC0 1427# 1444 1461
EXC1 1470# 1490
F0 46#
F1 47#
F2 48#
F3 49#
F4 50#
FN 45#
GO 44#
ILF 64# 1406 1409 1430 1432 1450 1473 1475 1477
INADR 129#
INIT 132# 356 2510
INITL 1717 1751 1822 1869 1929 2020 2047 2068 2097 2124 2179 2263 2325 2402
2440 2485 2510#
INITLL 1077 1096 1218 1247 1333 1351 1370 1405 1427 1449 1470 1509 1523 1569
1633 1717#
INT0 119#
INT1 120#
INT2 121#
INT3 122#
IOSEL 128# 341 357 359 383 385 388 402 404 408 528 549 2511 2513
LPADR 574# 577 621# 624 668# 671 718# 721 792# 795 896# 899 914# 917
933# 936 955# 958 990# 993 1008# 1011 1027# 1030 1049# 1052 1087# 1090
1106# 1109 1124# 1127 1138# 1141 1153# 1156 1171# 1174 1189# 1192 1208# 1211
1223# 1226 1262# 1265 1286# 1289 1310# 1313 1342# 1345 1359# 1362 1381# 1384
1415# 1418 1440# 1443 1457# 1460 1486# 1489 1526# 1529 1539# 1542 1599# 1602
1700# 1703 1962# 1965 1966 1990# 1993 1994 2050# 2053 2054 2073# 2076 2077
2127# 2130 2131 2152# 2155 2156 2232# 2235 2236 2292# 2295 2296 2374# 2377
2378
MAR 566 613 660 710 779 782 785
MARX 567 614 661 711 780 783 786
MPDB0 82# 891 892 909 910 928 929 950 951 1255 1277 1299 1304 1580
1644 1656 1673 1685 1764 1772 1830 1877 1941 1969 2537 2553
MPDB1 86# 985 986 1003 1004 1022 1023 1044 1045 1254 1275 1280 1301 1581
1645 1657 1674 1686 1761 1774 1782 1831 1878 1942 1970 2542 2554
MPDB2 90# 1082 1083 1101 1102 1119 1120 1133 1134 1148 1149 1166 1167 1181
1182 1199 1202 1219 1252 1256 1279 1303 1583 1646 1659 1675 1688 1762
1784 1790 1833 1880 1943 1972 2279 2547 2555
MPDTR 74#
MPECR 70# 369 448 502 513
MPERR 65# 416 454 2494
MPGP0 99# 386 530
MPGP1 100# 531 551
MPGP10 107# 769 779 785 815 819 826 858 1515 1571 1635 1755 1935 2025
2102 2186 2267 2331 2406 2444
MPGP11 108# 770 780 786 806 813 823 863 1511 1573 1933 2023 2100 2184
2266 2329
MPGP12 109# 775 782 841 845 852 859 2192 2201 2212 2220 2274 2337 2344
2346 2536
MPGP13 110# 776 783 832 839 849 864 2193 2202 2213 2221 2275 2339 2350
2353 2355 2541
MPGP14 111# 2553
MPGP15 112# 2554
MPGP16 113# 2194 2204 2214 2223 2277 2340 2359 2363 2546
MPGP17 114# 2555
MPGP2 101# 564 566 579 589 611 613 626 636 656 660 676 686 706
710 728 738 1512 1637 1753 1824 1871 1931 2022 2099 2181 2265 2327
2404 2442 2487
MPGP3 102# 565 567 582 587 612 614 629 634 657 661 679 684 707
711 731 736 1514
MPGP4 103# 466 473 2195 2273 2341 2557 2559
MPGP5 104# 475
MPGP6 105# 361 561 767 872 2182
MPGP7 106#
MPHVR 78#
MPSCR0 42# 342 346 1521 1534 2036 2045 2069 2113 2122 2147 2566
MPSCR1 55# 370 375 414 418 533 888 906 926 948 982 1000 1020 1042
1079 1098 1116 1130 1145 1163 1249 1273 1297 1335 1338 1352 1372 1375
1376 1407 1408 1429 1431 1434 1452 1472 1474 1476 1480 1518 1532 1576
1585 1589 1593 1595 1640 1648 1652 1661 1665 1669 1677 1681 1690 1694
1696 1720 1721 1722 1758 1767 1777 1786 1792 1796 1827 1835 1839 1843
1874 1882 1886 1890 1894 1898 1938 1947 1948 1955 1957 1976 1977 1984
1986 2028 2031 2040 2057 2105 2108 2117 2134 2146 2189 2227 2230 2270
2285 2288 2334 2367 2371 2409 2414 2447 2458 2490 2495 2498 2516 2517
2518 2531
MPSTAT 118#
NOFAIL 439 441#
NRTN 405# 460 465 471 522 809 835
OCC 63# 887 905 925 947 981 999 1019 1041 1078 1097 1115 1129 1144
1162 1248 1272 1296 1428 1430 1432 1471 1473 1475 1477 1517 1575 1584
1639 1647 1660 1676 1689 1757 1766 1776 1785 1791 1826 1834 1873 1881
1937 1946 1954 1975 2027 2030 2039 2104 2107 2116 2188 2269 2333 2408
2446 2489 2494 2530
OFFGO 362 368# 480 484 506
OUTADR 130#
PNT 183# 574 621 668 718 792 896 914 933 955 990 1008 1027 1049
1087 1106 1124 1138 1153 1171 1189 1208 1223 1262 1286 1310 1342 1359
1381 1415 1440 1457 1486 1526 1539 1599 1606 1700 1706 1799 1846 1901
1962 1990 1996 2050 2060 2073 2127 2137 2152 2232 2238 2292 2374 2379
2417 2461 2500
REPORT 434 446#
REPTU 521# 592 639 689 741 869 965 1059 1229 1315 1386 1491 1544 1611
1711 2581
REPTUH 1804 1851 1906 2001 2078 2157 2243 2298 2384 2422 2466 2505 2581#
RESIOS 407# 481 485 507
RHDATA 33# 152 220 1734 1756 1800 1805 1814 1825 1847 1852 1861 1872 1902
1907 1916 1936 1962 1966 1990 1994 1997 2002 2011 2026 2050 2054 2061
2073 2077 2079 2088 2103 2127 2131 2138 2152 2156 2158 2167 2187 2232
2236 2239 2244 2253 2268 2292 2296 2299 2308 2332 2374 2378 2380 2385
2394 2407 2418 2423 2432 2445 2462 2467 2476 2488 2501 2506
RPTCNT 32# 396
RUN 43#
RUNBCK 2565 2569#
RUNLP 2564# 2568
RUNWAT 1519 1577 1641 1759 1828 1875 1939 2029 2106 2190 2271 2335 2410 2448
2491 2562#
SAVIOS 402# 441 446 500 511
SENDAD 492#
SETATA 414# 477 504
SETRD 496# 1516 1574 1638
SETRDB 498#
SETWRT 494#
SPRES 131# 356
STALL0 1337 1373 1479 1533 1586 1594 1649 1662 1666 1678 1695 1720#
STALL1 1797 1836 1844 1883 1887 1891 1899 1956 1985 2058 2135 2237 2368 2372
2415 2459 2496 2516#
START 61# 1374 1584 1647 1660 1676 1689 1766 1776 1785 1791 1834 1881 1946
1975 2030 2039 2107 2116 2145 2530
STRDBH 2587#
STRDH 1756 1825 1872 1936 2585#
STWRTH 2026 2103 2187 2268 2332 2407 2445 2488 2583#
TEST0I 380# 2574
TESTI 381# 553 601 648 698 750 880 974 1068 1238 1324 1395 1500 1553
1620
TESTIH 1733 1813 1860 1915 2010 2087 2166 2252 2307 2393 2431 2475 2573#
TST 554# 593 602# 640 649# 690 699# 742 751# 870 881# 900 966 975#
994 1060 1069# 1091 1230 1239# 1266 1316 1325# 1346 1363 1387 1396# 1419
1492 1501# 1530 1543 1545 1554# 1603 1610 1612 1621# 1704 1710 1712 1734#
1803 1805 1814# 1850 1852 1861# 1905 1907 1916# 1966 1994 2000 2002 2011#
2054 2064 2077 2079 2088# 2131 2141 2156 2158 2167# 2236 2242 2244 2253#
2296 2299 2308# 2378 2383 2385 2394# 2421 2423 2432# 2465 2467 2476# 2504
2506
TST128 554 555#
TST129 602 603#
TST130 649 650#
TST131 699 700#
TST132 751 752#
TST133 881 882#
TST134 975 976#
TST135 1069 1070#
TST136 1239 1240#
TST137 1325 1326#
TST138 1396 1397#
TST139 1501 1502#
TST140 1554 1555#
TST141 1621 1622#
TST142 1734 1735#
TST143 1814 1815#
TST144 1861 1862#
TST145 1916 1917#
TST146 2011 2012#
TST147 2088 2089#
TST148 2167 2168#
TST149 2253 2254#
TST150 2308 2309#
TST151 2394 2395#
TST152 2432 2433#
TST153 2476 2477#
TSTART 363 538#
VERSIO 2# 5 338
WAITGO 342# 345 478 505 534
WCLK 51#
WCLKT1 2038 2047#
WCLKT2 2115 2124#
WDBPT1 2281 2283 2287#
WDBPT2 2286 2289#
WDBT1 2197 2199 2206 2208 2210 2216 2218 2225 2229#
WDBT2 2228 2231#
WFOT1 2342# 2348
WFOT2 2351# 2357
WFOTE 2343 2352 2361 2365 2370#
WFOTR 2369 2373#
WMA0 774# 800
WMA1 777# 798
WMA2 779# 796
WMA3 778 797#
WMAX 801 869#
WMT00 566# 590
WMT01 568# 578
WMT02 581 588#
WMT0X 585 592#
WMT10 613# 637
WMT11 615# 625
WMT12 628 635#
WMT1X 632 639#
WMT20 658# 687
WMT21 662# 672 675
WMT22 678 685#
WMT23 674 676#
WMT2X 682 689#
WMT30 708# 739
WMT31 712# 722 727
WMT32 730 737#
WMT33 726 728#
WMT3X 734 741#
Z 124#
ZRTN 482# 866
%ADRH 243# 1734 1734# 1757 1757# 1805 1805# 1814 1814# 1826 1826# 1852 1852# 1861
1861# 1873 1873# 1907 1907# 1916 1916# 1937 1937# 1962 1962# 1966 1966# 1990
1990# 1994 1994# 2002 2002# 2011 2011# 2027 2027# 2050 2050# 2054 2054# 2073
2073# 2077 2077# 2079 2079# 2088 2088# 2104 2104# 2127 2127# 2131 2131# 2152
2152# 2156 2156# 2158 2158# 2167 2167# 2188 2188# 2232 2232# 2236 2236# 2244
2244# 2253 2253# 2269 2269# 2292 2292# 2296 2296# 2299 2299# 2308 2308# 2333
2333# 2374 2374# 2378 2378# 2385 2385# 2394 2394# 2408 2408# 2423 2423# 2432
2432# 2446 2446# 2467 2467# 2476 2476# 2489 2489# 2506 2506# 2573 2576 2579
2581 2583 2594
%EMES 554# 576 579 579# 602# 623 626 626# 649# 670 673 673# 699# 720
723 723# 751# 794 797 797# 881# 898 901 901# 916 919 919# 935
938 938# 957 960 960# 975# 992 995 995# 1010 1013 1013# 1029 1032
1032# 1051 1054 1054# 1069# 1089 1092 1092# 1108 1111 1111# 1126 1129 1129#
1140 1143 1143# 1155 1158 1158# 1173 1176 1176# 1191 1194 1194# 1210 1213
1213# 1225 1228 1228# 1239# 1264 1267 1267# 1288 1291 1291# 1312 1315 1315#
1325# 1344 1347 1347# 1361 1364 1364# 1383 1386 1386# 1396# 1417 1420 1420#
1442 1445 1445# 1459 1462 1462# 1488 1491 1491# 1501# 1528 1531 1531# 1541
1544 1544# 1554# 1601 1604 1604# 1606 1611 1611# 1621# 1702 1705 1705# 1706
1711 1711# 1734# 1799 1804 1804# 1814# 1846 1851 1851# 1861# 1901 1906 1906#
1916# 1964 1967 1967# 1992 1995 1995# 1996 2001 2001# 2011# 2052 2055 2055#
2060 2065 2065# 2075 2078 2078# 2088# 2129 2132 2132# 2137 2142 2142# 2154
2157 2157# 2167# 2234 2237 2237# 2238 2243 2243# 2253# 2294 2297 2297# 2308#
2376 2379 2379# 2384 2384# 2394# 2417 2422 2422# 2432# 2461 2466 2466# 2476#
2500 2505 2505#
%REQ 151# 152# 491
%TNUM 149# 548 552 554# 600 602# 647 649# 697 699# 749 751# 879 881#
973 975# 1067 1069# 1237 1239# 1323 1325# 1394 1396# 1499 1501# 1552 1554#
1619 1621# 1732 1734# 1812 1814# 1859 1861# 1914 1916# 2009 2011# 2086 2088#
2165 2167# 2251 2253# 2306 2308# 2392 2394# 2430 2432# 2474 2476#
.ERROR 430 431
CHKERR 234# 1845 1900 2416 2460 2499
CHKRH 225# 1606 1706 1799 1846 1901 1996 2060 2137 2238 2379 2417 2461 2500
CHKTRM 233# 1605 1705 1798 1995 2059 2136 2238 2379
DATI 342 346 370 383 402 414 566 567 579 582 613 614 626 629
660 661 676 679 710 711 728 731 779 780 782 783 785 786
806 815 832 841 858 859 863 864 892 910 929 951 986 1004
1023 1045 1083 1102 1120 1134 1149 1167 1182 1202 1219 1256 1280 1304
1338 1352 1376 1408 1434 1452 1480 1521 1534 1595 1696 1720 1721 1722
1948 1957 1977 1986 2036 2045 2069 2113 2122 2147 2344 2353 2516 2517
2518 2536 2537 2541 2542 2546 2547 2553 2554 2555 2557 2566
DEC 810 816 836 842 2551
DECR 521 1949 1978
DEFTST 156# 541
ERLOOP 203# 575 622 669 719 793 897 915 934 956 991 1009 1028 1050
1088 1107 1125 1139 1154 1172 1190 1209 1224 1263 1287 1311 1343 1360
1382 1416 1441 1458 1487 1527 1540 1600 1701 1963 1991 2051 2074 2128
2153 2233 2293 2375
ERRLOP 236# 1609 1709 1802 1849 1904 1999 2063 2140 2241 2382 2420 2464 2503
ERRMAC 186# 573 620 667 717 791 895 913 932 954 989 1007 1026 1048
1086 1105 1123 1137 1152 1170 1188 1207 1222 1261 1285 1309 1341 1358
1380 1414 1439 1456 1485 1525 1538 1598 1699 1961 1989 2049 2072 2126
2151 2231 2291 2373
ERROR 195# 791 1222 1524 1537 1597 1698 1960 1988 2048 2072 2125 2150 2231
2289 2373
ERRORA 199# 573 620 667 717 895 913 932 954 989 1007 1026 1048 1086
1105 1123 1137 1152 1170 1186 1205 1260 1284 1308 1341 1358 1380 1414
1438 1456 1484
ERRORD 201#
ERRORM 197#
GOINK 245# 553 573 577 592 601 620 624 639 648 667 671 689 698
717 721 741 750 791 795 869 880 895 899 913 917 932 936
954 958 965 974 989 993 1007 1011 1026 1030 1048 1052 1059 1068
1086 1090 1105 1109 1123 1127 1137 1141 1152 1156 1170 1174 1188 1192
1207 1211 1222 1226 1229 1238 1261 1265 1285 1289 1309 1313 1315 1324
1341 1345 1358 1362 1380 1384 1386 1395 1414 1418 1439 1443 1456 1460
1485 1489 1491 1500 1516 1525 1529 1538 1542 1544 1553 1574 1598 1602
1607 1611 1620 1638 1699 1703 1707 1711 1733 1756 1800 1804 1813 1825
1847 1851 1860 1872 1902 1906 1915 1936 1961 1965 1989 1993 1997 2001
2010 2026 2049 2053 2061 2072 2076 2078 2087 2103 2126 2130 2138 2151
2155 2157 2166 2187 2231 2235 2239 2243 2252 2268 2291 2295 2298 2307
2332 2373 2377 2380 2384 2393 2407 2418 2422 2431 2445 2462 2466 2475
2488 2501 2505
GOSUB 1519 1577 1641
INC 586 588 633 635 683 685 735 737 2558
INCR 2564
JMP 345 353 363 395 461 467 493 495 497 515 535 581 590 628
637 675 678 687 727 730 739 801 940 964 1034 1058 1221 1357
1379 1536 1591 1654 1671 1683 1692 1715 1718 1770 1780 1788 1794 1841
1896 1951 1953 1959 1980 1982 2038 2071 2115 2149 2228 2286 2348 2357
2369 2508 2540 2545 2568 2572 2575 2578 2580 2582 2584 2586 2590 2593
JMPB0 344 349 351 479 1340 1356 1378 1522 1535 1596 1697 1958 1987 2567
JMPB4 393 1169 1220
JMPB7 430 434 2037 2046 2070 2114 2123 2148
JMPC 674 820 846 939 1033 1769 1779 2347 2356 2565
JMPSUB 362 441 446 459 464 470 477 478 480 481 484 485 500 504
505 506 507 511 534 553 573 577 592 601 620 624 639 648
667 671 689 698 717 721 741 750 777 791 795 797 799 869
880 895 899 913 917 932 936 954 958 965 974 989 993 1007
1011 1026 1030 1048 1052 1059 1068 1077 1086 1090 1096 1105 1109 1123
1127 1137 1141 1152 1156 1170 1174 1188 1192 1207 1211 1218 1222 1226
1229 1238 1247 1261 1265 1285 1289 1309 1313 1315 1324 1333 1337 1341
1345 1351 1358 1362 1370 1373 1380 1384 1386 1395 1405 1414 1418 1427
1439 1443 1449 1456 1460 1470 1479 1485 1489 1491 1500 1509 1516 1520
1523 1525 1529 1533 1538 1542 1544 1553 1569 1574 1578 1586 1594 1598
1602 1607 1611 1620 1633 1638 1642 1649 1662 1666 1678 1695 1699 1703
1707 1711 1733 1751 1756 1759 1797 1800 1804 1813 1822 1825 1828 1836
1844 1847 1851 1860 1869 1872 1875 1883 1887 1891 1899 1902 1906 1915
1929 1936 1939 1956 1961 1965 1985 1989 1993 1997 2001 2010 2020 2026
2029 2047 2049 2053 2058 2061 2068 2072 2076 2078 2087 2097 2103 2106
2124 2126 2130 2135 2138 2151 2155 2157 2166 2179 2187 2190 2196 2198
2205 2207 2209 2215 2217 2224 2231 2235 2237 2239 2243 2252 2263 2268
2271 2280 2282 2291 2295 2298 2307 2325 2332 2335 2342 2351 2360 2364
2368 2372 2373 2377 2380 2384 2393 2402 2407 2410 2411 2412 2415 2418
2422 2431 2440 2445 2448 2449 2450 2451 2452 2453 2454 2455 2456 2459
2462 2466 2475 2485 2488 2491 2492 2493 2496 2501 2505
JMPZ 439 460 465 471 522 572 578 580 585 593 619 625 627 632
640 666 672 677 682 690 716 722 726 729 734 742 778 790
796 798 800 809 811 817 835 837 843 861 866 870 894 900
912 918 931 937 953 959 963 966 988 994 1006 1012 1025 1031
1047 1053 1057 1060 1085 1091 1104 1110 1122 1128 1136 1142 1151 1157
1175 1185 1193 1204 1212 1227 1230 1259 1266 1283 1290 1307 1314 1316
1346 1363 1385 1387 1413 1419 1437 1444 1455 1461 1483 1490 1492 1530
1543 1545 1603 1610 1612 1704 1710 1712 1803 1805 1850 1852 1905 1907
1950 1966 1979 1994 2000 2002 2054 2064 2077 2079 2131 2141 2156 2158
2197 2199 2206 2208 2210 2216 2218 2225 2236 2242 2244 2281 2283 2296
2299 2343 2352 2361 2365 2378 2383 2385 2421 2423 2465 2467 2504 2506
2539 2544 2552
JUMP 1714 1717 2571 2574 2577 2579 2581 2589 2592
LANDB 417 437 452
LANDBR 372 390 436 450 2550
LDBR 340 352 354 356 358 360 368 371 373 389 394 396 403 416
423 435 442 449 451 454 492 494 496 498 503 514 527 529
532 548 550 552 560 562 576 583 600 608 610 623 630 647
655 658 670 680 697 705 708 720 732 749 766 768 772 774
794 807 812 822 825 833 838 848 851 871 879 887 889 898
905 907 916 923 925 935 945 947 957 973 981 983 992 999
1001 1010 1017 1019 1029 1039 1041 1051 1067 1078 1080 1089 1097 1099
1108 1115 1117 1126 1129 1131 1140 1144 1146 1155 1162 1164 1173 1180
1191 1198 1200 1210 1225 1237 1248 1250 1253 1264 1272 1274 1276 1278
1288 1296 1298 1300 1302 1312 1323 1334 1344 1353 1361 1371 1374 1383
1394 1406 1409 1417 1428 1430 1432 1442 1450 1459 1471 1473 1475 1477
1488 1499 1510 1513 1517 1519 1528 1531 1541 1552 1570 1572 1575 1577
1579 1582 1584 1592 1601 1606 1619 1634 1636 1639 1641 1643 1647 1655
1658 1660 1672 1676 1684 1687 1689 1693 1702 1706 1714 1717 1732 1752
1754 1757 1760 1763 1766 1773 1776 1783 1785 1789 1791 1795 1799 1812
1823 1826 1829 1832 1834 1842 1846 1859 1870 1873 1876 1879 1881 1897
1901 1914 1930 1932 1934 1937 1940 1944 1946 1954 1964 1968 1971 1973
1975 1983 1992 1996 2009 2021 2024 2027 2030 2039 2052 2056 2060 2075
2086 2098 2101 2104 2107 2116 2129 2133 2137 2145 2154 2165 2180 2183
2185 2188 2191 2200 2203 2211 2219 2222 2226 2229 2234 2238 2251 2264
2269 2272 2276 2278 2284 2287 2294 2306 2326 2328 2330 2333 2336 2338
2349 2358 2362 2366 2370 2376 2379 2392 2403 2405 2408 2413 2417 2430
2441 2443 2446 2457 2461 2474 2486 2489 2494 2497 2500 2510 2512 2530
2549 2562 2571 2574 2577 2579 2581 2583 2585 2587 2589 2592
LDMAR 381
LDMARX 382
LDMEM 384
LORB 374
LORBR 415 424 453
LXORBR 2548
MOV 380 387 391 407 429 447 472 474 476 501 512 568 570 615
617 662 664 712 714 723 781 784 788 927 949 960 1021 1043
1054 1118 1168 1183 1257 1281 1305 1339 1355 1377 1411 1435 1453 1481
MOVB 341 355 357 359 361 369 375 386 388 397 404 408 418 443
448 455 458 463 469 473 475 499 502 510 513 528 530 531
533 549 551 561 563 564 565 587 589 609 611 612 634 636
656 657 659 684 686 706 707 709 725 736 738 767 769 770
771 773 775 776 813 819 823 826 839 845 849 852 872 888
890 891 906 908 909 924 926 928 946 948 950 962 982 984
985 1000 1002 1003 1018 1020 1022 1040 1042 1044 1056 1079 1081 1082
1098 1100 1101 1116 1119 1130 1132 1133 1145 1147 1148 1163 1165 1166
1181 1199 1201 1249 1251 1252 1254 1255 1273 1275 1277 1279 1297 1299
1301 1303 1335 1336 1354 1372 1375 1407 1410 1429 1431 1433 1451 1472
1474 1476 1478 1511 1512 1514 1515 1518 1532 1571 1573 1576 1580 1581
1583 1585 1589 1593 1635 1637 1640 1644 1645 1646 1648 1652 1656 1657
1659 1661 1665 1669 1673 1674 1675 1677 1681 1685 1686 1688 1690 1694
1753 1755 1758 1761 1762 1764 1765 1767 1772 1774 1775 1777 1782 1784
1786 1790 1792 1796 1824 1827 1830 1831 1833 1835 1839 1843 1871 1874
1877 1878 1880 1882 1886 1890 1894 1898 1931 1933 1935 1938 1941 1942
1943 1945 1947 1955 1969 1970 1972 1974 1976 1984 2022 2023 2025 2028
2031 2040 2057 2099 2100 2102 2105 2108 2117 2134 2146 2181 2182 2184
2186 2189 2192 2193 2194 2195 2201 2202 2204 2212 2213 2214 2220 2221
2223 2227 2230 2265 2266 2267 2270 2273 2274 2275 2277 2279 2285 2288
2327 2329 2331 2334 2337 2339 2340 2341 2346 2350 2355 2359 2363 2367
2371 2404 2406 2409 2414 2442 2444 2447 2458 2487 2490 2495 2498 2511
2513 2531 2559 2563 2573 2576 2588 2591
MOVMEM 385 466 569 616 663 713 787
NAME 5# 5
NOP 1590 1653 1670 1682 1691 1771 1781 1787 1793 1840 1895 1952 1981 2032
2033 2034 2035 2041 2042 2043 2044 2109 2110 2111 2112 2118 2119 2120
2121 2532 2533 2534 2535
OSB 438 571 584 618 631 665 681 715 733 789 808 834 860 865
893 911 930 952 987 1005 1024 1046 1084 1103 1121 1135 1150 1184
1203 1258 1282 1306 1412 1436 1454 1482 2538 2543
READ 222# 1516 1574 1638 1756 1825 1872 1936
READB 223#
REPEAT 216# 592 639 689 741 869 965 1059 1229 1315 1386 1491 1544 1611
1711 1804 1851 1906 2001 2078 2157 2243 2298 2384 2422 2466 2505
RETURN 366 376 398 405 409 419 425 432 440 444 456 482 486 508
523 814 821 824 827 840 847 850 853 862 867 1723 2514 2519
2556 2560 2569
SHL 433 818 844 1768 1778 2345 2354
SHLR 673 938 1032
SHR 343 347 348 350 365 392 724 961 1055
TEST 541# 543 595 642 692 744 874 968 1062 1232 1318 1389 1494 1547
1614 1727 1807 1854 1909 2004 2081 2160 2246 2301 2387 2425 2469
WRITE 221# 2026 2103 2187 2268 2332 2407 2445 2488
.ECRAM 305# 2571
.END 2595
.INIT 335
.LOC 1725