Trailing-Edge
-
PDP-10 Archives
-
BB-P363B-SM_1985
-
mcb/loaders/dtempt.lst
There are no other files named dtempt.lst in the archive.
CHKDEF - SPECIFY THE HARDWARE THAT CHK11 WILL TEST DNMAC X24.07-563 25-JAN-83 09:48
C11DTE.MAC 04-JAN-83 11:22 TABLE OF CONTENTS
171 CHKDEF - DEFINE THE HARDWARE THAT CHK11 WILL TEST
225 END OF MODULE CHKDEF
226
234 S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77
298 STOPCD'S
332 GENERAL MACRO DEFINITIONS
572 PDP-11 EIS EMULATORS
728 SYMBOL DEFINITIONS
791 HARDWARE DEFINITIONS
792 VECTORS
812 DEVICES
813 CD20 - PUNCHED CARD READER
883 CR11 - PUNCHED/MARK SENSE CARD READER
906 CTY - CONSOLE TELETYPE
925 DH11 - ASYNCHRONOUS SERIAL LINE MULTIPLEXER
966 DJ11 - ASYNCHRONOUS SERIAL LINE MULTIPLEXER
968 DL10 - UNIBUS-TO-MBUS INTERFACE
996 DL11 - ASYNCHRONOUS SERIAL LINE INTERFACE
1049 DM11BB - MODEM CONTROLLER FOR DH11
1066 DMC11/KMC11 - MICROPROCESSOR BASED COMM CONTROLLER
1090 DN11 - AUTODIALER
1108 DP11 - SYNCHRONOUS LINE INTERFACE
1140 DQ11 - DMA SYNCHRONOUS LINE INTERFACE
1261 DS11 - SYNCHRONOUS LINE INTERFACE
1349 DTE20 - DECSYSTEM 20(10)/PDP-11 INTERPROCESSOR INTERFACE
1396 DU11 - SYNCHRONOUS LINE CONTROLLER
1398 DUP11 - SYNCHRONOUS LINE INTERFACE WITH CRC
1488 DZ11 - ASYNCHRONOUS SERIAL LINE MULTIPLEXER
1505 EIA PIN DEFINITIONS
1533 KG11 - COMMUNICATIONS ARITHMETIC PROCESSOR
1564 KT11 - MEMORY MANAGEMENT MODULE
1642 KW11 - LINE TIME CLOCK
1659 LP11 - LINE PRINTER CONTROLLER
1679 LP20 - LINEPRINTER CONTROLLER
1770 MM11-LP PARITY MEMORY
1782 PA611 - TYPESET READER/PUNCH
1788 PC11 - PAPER TAPE READER/PUNCH INTERFACE
1815 TC11 - DECTAPE CONTROLLER
1873 TM11 - MAGNETIC TAPE CONTROLLER
1938 END OF DEVICE DEFINITIONS
2991 MODULE END
2992
3004 TITLE PAGE
3019 MACROS AND DEFINITIONS
3208 MOVE TO TOP OF PHYSICAL MEMORY
3321 MOP PROCESSOR
3575 DTE SUBROUTINES
3697 DATA
3753 CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC
3823 CHK11 MACROS
3824 CK11SC
3878 $CKINT
3910 DEVICE
3986 CHKCHR
4002 CKVECT, CKVEC1
4087 CHK11 DEVICE NAME TABLE
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48
C11DTE.MAC 04-JAN-83 11:22 TABLE OF CONTENTS
4165 **** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****
4495 CHECK KT11 HARDWARE
4721 CHECK MEMORY - SLIDING BIT PATTERN
4904 CHECK KW11-L HDW
4961 CHECK DL10 HDW
4995 DEVICE SCAN AND CHECK
5094 CHK11 COMPLETION
5106 END OF CHK11 MAINLINE
5108 GENERAL SUBROUTINES
5111 LOOK FOR AND CHECK SYSTEM DEVICES
5309 BIT BY BIT SET/CLEAR TEST
5355 BIT SET/BIT CLEAR TEST FOR DL10
5377 PRINT DEVICE ID ROUTINE
5402 ROUTINE TO FIND DEVICE INTERRUPT LEVEL
5441 CHECK INTERRUPTS AND FIND DEVICE LEVEL
5533 GENERAL INTERRUPT FIELDER FOR CHK11
5585 DEVICE DIAGNOSTICS
5600 CHECK CD20 HARDWARE
5658 CHECK CR11 HARDWARE
5707 CHECK DH11 HDW
5908 CHECK DL11-A HDW
5916 CHECK DL11-E HDW
5937 CHECK DM11BB HDW
5985 CHECK DN11 HDW
6000 CHECK DP11 HDW
6024 CHECK DQ11 HDW
6336 CHECK DS11 HDW
6388 CHECK DTE20 HARDWARE
6431 CHECK DU11 HDW
6443 CHECK DUP11 HDW
6467 CHECK DZ11 HDW
6488 CHECK KG11 HARDWARE
6535 CHECK KMC/DMC HARDWARE
6784 CHECK LP11 HARDWARE
6805 CHECK LP20 HARDWARE
6863 CHECK MD11 HDW
6875 DUMMY NULL DEVICE CHECKER
6881 CHECK PA611P HARDWARE
6894 CHECK PA611R HARDWARE
6907 CHECK PP11 HARDWARE
6923 CHECK PR11 HARDWARE
6952 CHECK RH11 HARDWARE
6966 CHECK TC11 HARDWARE
6999 CHECK TM11 HARDWARE
7012 NULL DIAGNOSTIC
7025 TTY SUPPORT FOR TYPE OUTS
7203 REMOTE OUTPUT HANDLER
7273 UNEXPECTED BUS TRAP HANDLER
7287 CK11SC/TRAP INSTRUCTION HANDLER
7448 MODULE END
7449 PROGRAM END
CHKDEF - SPECIFY THE HARDWARE THAT CHK11 WILL TEST DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1
C11DTE.MAC 04-JAN-83 11:22
1 .TITLE CHKDEF - SPECIFY THE HARDWARE THAT CHK11 WILL TEST
2 .IDENT /X3.04/
3 000000 .REPT 0
4 :
5 : : :
6 : :
7 :::: :::: : ::: : : :: :: :: ::: : :::: :::::
8 : : : : : : : : :: : : : : : : :
9 : : : : : : : : : : : : : :
10 : : : : : : : : : : : : : :
11 : : : : :::: :::: : : :::: : : : :
12 :::: :::: : : ::: ::: : : : ::
13 : : : : :
14 :: ::: :::
15
16 AND
17
18 ::
19 : : :: :
20 : :
21 :::: :: ::: ::: : ::: :: : :: :: ::: :: ::
22 : : : : : : : : : : : : : : :: :
23 : : : ::: : : :::: : : : : ::::: :
24 : : : : : : : : : : : : : :
25 : : : : : : : : : : : : : : : : :
26 ::: : ::: ::: ::: ::: ::: : ::: : : : ::: :::
27
28
29 COPYRIGHT (C) 1980,1981,1982 BY
30 DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
31
32 THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
33 ONLY IN ACORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE
34 INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
35 COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAIABLE TO ANY
36 OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THIS SOFTWARE IS HEREBY
37 TRANSFERRED.
38 T
39 THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
40 AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
41 CORPORATION.
42 C
43 DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
44 SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
45 .ENDR
CHKDEF - SPECIFY THE HARDWARE THAT CHK11 WILL TEST DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-1
C11DTE.MAC 04-JAN-83 11:22
47 000000 .REPT 0
48 .TITLE CHKDEF - SPECIFY THE HARDWARE THAT CHK11 WILL TEST
49 :
50 : : :
51 : :
52 :::: :::: : ::: : : :: :: :: ::: : :::: :::::
53 : : : : : : : : :: : : : : : : :
54 : : : : : : : : : : : : : :
55 : : : : : : : : : : : : : :
56 : : : : :::: :::: : : :::: : : : :
57 :::: :::: : : ::: ::: : : : ::
58 : : : : :
59 :: ::: :::
60
61 AND
62
63 ::
64 : : :: :
65 : :
66 :::: :: ::: ::: : ::: :: : :: :: ::: :: ::
67 : : : : : : : : : : : : : : :: :
68 : : : ::: : : :::: : : : : ::::: :
69 : : : : : : : : : : : : : :
70 : : : : : : : : : : : : : : : : :
71 ::: : ::: ::: ::: ::: ::: : ::: : : : ::: :::
72
73
74 COPYRIGHT (C) 1980,1981,1982 BY
75 DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
76
77 THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
78 ONLY IN ACORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE
79 INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
80 COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAIABLE TO ANY
81 OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THIS SOFTWARE IS HEREBY
82 TRANSFERRED.
83 T
84 THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
85 AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
86 CORPORATION.
87 C
88 DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
89 SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
90 .ENDR
CHKDEF - SPECIFY THE HARDWARE THAT CHK11 WILL TEST DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-2
C11DTE.MAC 04-JAN-83 11:22
92 ;**********************************************************************;
93 ; ;
94 ; EDIT HISTORY AND VERSION DOCUMENTATION ;
95 ; (ALSO SEE VERSION INFO IN CHK11 BODY) ;
96 ; ;
97 ; THIS MODULE IS A COMBINED TERTIARY LOADER AND HARDWARE CHECKING ;
98 ; PROGRAM. IT IS LOADED BY A SECONDARY LOADER, AND GIVEN CONTROL ;
99 ; AT THE TOP. THE "CHECK11" HARDWARE EXERCISER IS THEN INVOKED, ;
100 ; AFTER WHICH THE LOADER LOADS THE SPECIFIED OPERATING SYSTEM. ;
101 ; ;
102 ; "DTEMOP" AND "CHK11" WERE DEVELOPED SEPERATELY. THIS EDIT HISTORY ;
103 ; BEGINS WITH VERSION 2A.0, THE FIRST TO COMBINE THE MODULES. ONLY ;
104 ; EDITS WHICH CHANGE THE SENSE OF THE CODE ARE DOCUMENTED HERE; TYPO ;
105 ; CORRECTIONS AND SUCH CHANGE THE EDIT NUMBER BUT THE CHANGES ARE NOT ;
106 ; FLAGGED. ;
107 ; ;
108 ;**********************************************************************;
109 ; ;
110 ; EDIT HISTORY: ;
111 ; X2A.00 22-AUG-78 L. WEBBER ;
112 ; ORIGINAL COMBINATION OF DTEMOP AND CHK11 ;
113 ; .02 23-AUG-78 L. WEBBER ;
114 ; MODIFIED LINKAGE SO THAT CHK11 IS CALLED AFTER ;
115 ; THE LOADER HAS RELOCATED ITSELF TO HIGH CORE ;
116 ; .04 27-AUG-78 L. WEBBER ;
117 ; DID .02 OVER AGAIN RIGHT ;
118 ; .05 28-AUG-78 L. WEBBER ;
119 ; TOOK OUT TTY DIALOG & ELIMINATED MSGS FOR ;
120 ; NONEXISTENT HARDWARE ;
121 ; .06 28-AUG-78 L. WEBBER ;
122 ; WROTE REMOTE OUTPUT HANDLER TO SEND MOP MSGS ;
123 ; OVER DTE ;
124 ; .08 10-NOV-78 L. WEBBER ;
125 ; MODIFIED REMOTE OUTPUT HANDLER TO INTERFACE ;
126 ; CORRECTLY TO DTE DRIVER ;
127 ; .10 17-NOV-78 L. WEBBER ;
128 ; TOOK "DATA CHECK" OPTION OUT OF DTE DRIVER ;
129 ; NOT WORK WITH CHK11); FIXED PRINT OF MINOR ;
130 ; VERSION; ENHANCED TO SEND NULL LINE TO REMOTE ;
131 ; DEVICE ;
132 ; .11 20-NOV-78 L. WEBBER
133 ; ELIMINATED BLANK LINE FOR NONEXISTENT DEVICES; ;
134 ; ELIMINATED DEVICE TESTS FOR DH11,DN11,DP11, ;
135 ; DU11,KG11, AND RH11, AND TOOK OUT IMPROPER ;
136 ; FIXED KMC ENTRY FOR DN25 ;
137 ; .12 29-MAR-79 L. WEBBER ;
138 ; TOOK OUT "DO YOU WANT TO CONTINUE" ;
139 ; .13 30-MAR-79 L. WEBBER ;
140 ; MODIFIED CR11/CD11 DIFFERENTIATION CODE ;
141 ; .14 19-APR-79 L. WEBBER ;
142 ; FIXED CR11 DIFFERENTIATION CODE ;
143 ; .15 22-APR-79 L. WEBBER ;
144 ; MODIFIED LOAD PARAMETER PROCESSING TO BE CON- ;
145 ; SISTENT WITH -11M DECNET CONVENTIONS ;
146 ; .16 21-JUN-79 L. WEBBER ;
147 ; ADDED DEVICE CHECK FOR KDZ'S KMC'S ;
CHKDEF - SPECIFY THE HARDWARE THAT CHK11 WILL TEST DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-3
C11DTE.MAC 04-JAN-83 11:22
148 ; .17 10-AUG-79 L. WEBBER ;
149 ; MODIFIED MEMORY MANAGEMENT TEST TO SET UP ;
150 ; PDR 6 ;
151 ; X3.01 7-APR-81 SCOTT G. ROBINSON ;
152 ; -CHANGE MAPPED MEMORY TEST TO ONLY TRY 2 BITS ;
153 ; -PREVENT LOGGING ACROSS THE DTE BY COMMENTING OUT CALL ;
154 ; TO DTESND ;
155 ; -ADD CALL AND RETURN MACROS ;
156 ; ;
157 ; X3.02 12-AUG-81 RON PLATUKIS ;
158 ; -CAUSE THE MOP PROCESSOR CODE TO EXTRACT THE HOST NODE ;
159 ; NUMBER FROM THE LOAD MESSAGE AND STORE IT IN THE PARM ;
160 ; AREA ;
161 ; ;
162 ; X3.03 29-DEC-81 L. WEBBER ;
163 ; CHANGE THE MOP CODE FOR CHK11 ASCII TEXT FROM 28. ;
164 ; TO 22. ;
165 ;
166 ; X3.04 7-JULY-82 RON PLATUKIS ;
167 ; REPORT CORRECT DTE VECTOR FOR DTE-0-1 ;
168 ; ;
169 ;**********************************************************************;
CHKDEF - SPECIFY THE HARDWARE THAT CHK11 WILL TEST DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-4
C11DTE.MAC 04-JAN-83 11:22 CHKDEF - DEFINE THE HARDWARE THAT CHK11 WILL TEST
171 .SBTTL CHKDEF - DEFINE THE HARDWARE THAT CHK11 WILL TEST
172 ;
173 ;
174 000042 PDP11 = 34. ; EXPECTED CPU IS 11/34
175 ;
176 ;;;; CKSTD = 0 ; SYSTEM CONFIGURATION IS PDP-11 STANDARD
177 ;;;; SY0880 = 0 ; INCLUDE SYSTEM 880 QUIRKS
178 000043 CKDN2X = 1!2!40 ; SYSTEM CONIGURATION IS DN20, DN21, OR DN25
179 ; (SPECIFIED BY BIT NUMBERS SET IN CKDN2X DEF -
180 ; B0 SAYS DN20, B1 SAYS DN21, B5 SAYS DN25)
181 177777 INCLUD = -1 ;
182 000000 EXCLUD = 0 ;
183 ;
184 ; CKNODV = 0 ; IF DEFINED, LIST NONEXISTENT DEVICES
185 ;
186 000000 M$$MGE = 0 ; IF DEFINED, ASSEMBLE FOR MAPPED SYSTEM
187 ;
188 ;
189 ;
190 177777 FTCD20 = INCLUD
191 177777 FTCR11 = INCLUD
192 000000 FTDH11 = EXCLUD
193 000000 NDH11 = 1&FTDH11 ;NUMBER OF DH11'S
194 000000 FTDJ11 = EXCLUD
195 000000 FTDL10 = EXCLUD
196 000000 FTDL1A = EXCLUD
197 177777 FTDL1E = INCLUD
198 000000 FTDM11 = INCLUD&FTDH11 ;DM11BB DEPENDS ON EXISTENCE OF DH11
199 000120 DM.TIM = 80. ; DM11BB SETTLE TIME IN MEM CYCLES
200 177777 FTDMC = INCLUD
201 000000 FTDN11 = EXCLUD
202 000000 FTDP11 = EXCLUD
203 000000 FTDQ11 = EXCLUD
204 000000 SPCVFY = EXCLUD&FTDQ11 ;DQ11 SPECIAL CHARACTER TEST
205 000000 FTDS11 = EXCLUD
206 177777 FTDTE = INCLUD
207 000000 FTDU11 = EXCLUD
208 177777 FTDUP1 = INCLUD
209 177777 FTDZ11 = INCLUD
210 000000 FTKG11 = EXCLUD
211 177777 FTKMC = INCLUD&FTDMC ;KMC IS SUPERSET OF DMC
212 000000 FTKMCL = EXCLUD&FTKMC ;INCLUDE ONLY IF CRAM IMAGE IS SUPPLIED
213 177777 FTLE11 = INCLUD
214 177777 FTLP20 = INCLUD
215 000000 FTMD11 = EXCLUD
216 000000 FTPA61 = EXCLUD
217 000000 FTPP11 = EXCLUD
218 000000 FTPR11 = EXCLUD
219 000000 FTRH11 = EXCLUD
220 000000 FTRK11 = EXCLUD
221 000000 FTRX11 = EXCLUD
222 000000 FTTC11 = EXCLUD
223 000000 FTTM11 = EXCLUD
CHKDEF - SPECIFY THE HARDWARE THAT CHK11 WILL TEST DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-5
C11DTE.MAC 04-JAN-83 11:22 END OF MODULE CHKDEF
225 .SBTTL END OF MODULE CHKDEF
226 .SBTTL
227 ;****************************************************************
228 ;
229 ; END OF CHKDEF
230 ;
231 ;****************************************************************
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-6
C11DTE.MAC 04-JAN-83 11:22
233 .TITLE S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77
234 .SBTTL S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77
235 ;
236 ;
237 ;
238 ;
239 ;
240 ;
241 ;
242 ;
243 ;
244 ;
245 ;
246 ;
247 ; COPYRIGHT 1974, 1975, 1976,1977
248 ; DIGITAL EQUIPMENT CORP., MAYNARD MASS.
249 ;
250 ; SEPT 25,1974 - DMCC/EGF/LAD/EJW/TEP
251 ;
252 ;
253 ;
254 ;
255 ;
256 ;
257 ;
258 ;
259 ;
260 ;
261 ;
262 ;
263 000004 VRS = 04 ;FILE EDIT NUMBER
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-7
C11DTE.MAC 04-JAN-83 11:22 S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77
265 .ENABL LC ;LOWER CASE IS LOWER CASE
266 .ENABL AMA ;USE ABSOLUTE RATHER THAN RELATIVE PC ADDRESSING
267 ;;;; .DSABL GBL ;DISABLE GLOBAL REFERENCES
268 ;;;; .LIST MC,MD,ME ;
269 ;;;; .NLIST CND ;
270 ;;;; .LIST MEB ;LIST ONLY CODE PRODUCING PARTS OF MACROS
271 ;
272 ; DGUTS NON ZERO REQUESTS THE "DON'T GIVE UP THE SHIP" FAILSOFT FEATURE
273 ;
274 .IIF NDF DGUTS,DGUTS=0
275 ;
276 001 .IF NE DGUTS
277 ;IF WE'RE NOT TO GIVE UP THE SHIP, TURN OFF DEBUGGING TRAPS
278 ;THEN WE'LL DIE ONLY ON HARD ERRORS.
279 DEBUG=0
280 FTASRT=0
281 FT.CHK=0
282 000 .ENDC
283 ;
284 .IIF NDF FT.HLP,FT.HLP= 1 ;1 = TYPE OUT STOPCD INFORMATION
285 ;
286 .IIF NDF DEBUG,DEBUG=1 ;LEVEL OF DEBUG CODE INCLUDED
287 ; 0 = NONE = KEEP AS SMALL AS POSSIBLE
288 ; 1 = SOME - KEEP TRACKS, DIE ON SOME ERRORS
289 ; -1 = DIE ON ALL ERRORS
290 ;
291 .IIF NDF STKLEN,STKLEN= 200 ;LENGTH OF SYSTEM STACK
292 ;
293 .IIF NDF FT.CHK,FT.CHK= 1 ;1 EQUALS CHECK STUFF ON FLY
294 ;
295 .IIF NDF PASS,PASS=0 ;COUNT ASSEMBLER PASSES
296 000002 PASS=PASS+1
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-8
C11DTE.MAC 04-JAN-83 11:22 STOPCD'S
298 .SBTTL STOPCD'S
299 ;
300 000000 S..AMC = 0 ;ASSERT MACRO CALL - DEFAULT CODE
301 000001 S..NXM = 1 ;BUS TRAPS'S, ADDRESS ERROR'S, ETC.
302 000002 S..DL1 = 2 ;DL10 ERRORS
303 000002 S..DTE = S..DL1 ;DTE20 ERRORS (NOTE - SAME AS DL10)
304 000003 S..CNK = 3 ;CHUNKS ARE MESSED UP
305 000004 S..ILS = 4 ;ILLEGAL INSTRUCTION
306 000005 S..CTY = 5 ;NO CTY
307 000006 S..MEM = 6 ;MEMORY ERROR (E.G. PARITY, OR CAN'T READ WRITE BITS)
308 000007 S..KW11 = 7 ;KW11 ERROR
309 000010 S..NCN = 10 ;NO CONNECTION FOR RECEIVED DATA
310 ; OR CONNECTION NUMBER USED BY SOME OTHER NODE
311 000011 S..BDT = 11 ;BAD DATA TYPE REQUESTED BY 10
312 000012 S..CHK = 12 ;CHECK 11 ERROR
313 000013 S..MPD = 13 ;MAPPED ASSEMBLY RUNNING IN UNMAPPED HARDWARE
314 000014 S..MMG = 14 ;MEMORY MANAGEMENT ERROR
315 ;
316 ;STOP CODE MACRO
317 ; FIRST ARGUMENT IS CODE FOR STOP
318 ; SECOND ARGUMENT IS SEVERITY
319 ;
320 .MACRO STOPCD CD,TYPE
321 .IF NB <CD>
322 S.....=S..'CD
323 .IFF ;NB <CD>
324 S.....=0
325 .ENDC ;NB <CD>
326 Z=1
327 .IIF IDN <.'TYPE>,<.DEBUG>, Z=DEBUG
328 .IIF NE Z, TRAP S.....
329 S.....=0
330 .ENDM STOPCD
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-9
C11DTE.MAC 04-JAN-83 11:22 GENERAL MACRO DEFINITIONS
332 .SBTTL GENERAL MACRO DEFINITIONS
333 ;
334 ;
335 .MACRO COUNT A,?X
336 INC A+2
337 BNE X
338 INC A
339 X:
340 .ENDM COUNT
341 ;
342 ; REGISTER SAVE MACRO
343 ;
344 .MACRO SAVE A
345 .IRP X,<A>
346 MOV X,-(SP) ;PUSH X ON THE STACK
347 .ENDR ;IRP X
348 .ENDM SAVE
349 ;
350 ; REGISTER RESTORE MACRO
351 ;
352 .MACRO RESTORE A
353 .IRP X,<A>
354 MOV (SP)+,X ;POP X OFF THE STACK
355 .ENDR ;IRP X
356 .ENDM RESTORE
357 ;
358 .MACRO FALLR DEST
359 .IIF NE DEST-. .ERROR DEST-. ;**** ERRONEOUS CODE FALL THROUGH ATTEMPTED ****
360 .ENDM FALLR
361 ;
362 .MACRO .INC ARG
363 ARG = ARG + 1
364 .ENDM .INC
365 ;
366 .MACRO .DEC ARG
367 ARG = ARG - 1
368 .ENDM .DEC
369 ;
370 .MACRO LESSER A,B,C ;DEFINE A AS THE LESSER OF B AND C
371 .IF GT B-C
372 A = C
373 .IFF
374 A = B
375 .ENDC
376 .ENDM LESSER
377 ;
378 .MACRO GREATR A,B,C ;DEFINE A AS THE GREATER OF B AND C
379 LESSER A,C,B
380 .ENDM GREATR
381 ;
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-10
C11DTE.MAC 04-JAN-83 11:22 GENERAL MACRO DEFINITIONS
383 .MACRO NAMEBT REG,IPOSMS,LIST
384 .IF NB IPOSMS
385 POSMSK = IPOSMS
386 .ENDC
387 .IF DF POSMSK
388 .IF EQ POSMSK
389 POSMSK = 100000
390 .ENDC
391 .IFF
392 POSMSK = 100000
393 .ENDC
394 .IRP NAME,<LIST>
395 .IF EQ POSMSK
396 .ERROR NAME ;**** POSITION MASK UNDERFLOW ****
397 .ENDC
398 .IF NB NAME
399 NAME = POSMSK
400 .ENDC
401 POSMSK = <POSMSK/2>&77777
402 .ENDR ;IRP NAME
403 .ENDM NAMEBT
404 ;
405 .MACRO NAMASC
406 $$ = 0
407 .IRP X,<NUL,SOH,STX,ETX,EOT,ENQ,ACK,BEL>
408 X = $$
409 .INC $$
410 .ENDR ;IRP X
411 ;
412 .IRP X,<BS,HT,LF,VT,FF,CR,SO,SI>
413 X = $$
414 .INC $$
415 .ENDR ;IRP X
416 ;
417 .IRP X,<DLE,DC1,DC2,DC3,DC4,NAK,SYN,ETB>
418 X = $$
419 .INC $$
420 .ENDR ;IRP X
421 ;
422 .IRP X,<CAN,EM,SUB,ESC,FS,GS,RS,US>
423 X = $$
424 .INC $$
425 .ENDR ;IRP X
426 ;
427 DEL = 177
428 ;
429 ERRCHR = '\!200 ;DEC STD ERROR CHARACTER
430 ;
431 .ENDM NAMASC
432 ;
433 .MACRO FIELD NAME,HI,LO
434 NAME = <HI-1+HI>&^C<LO-1>
435 .ENDM FIELD
436 ;
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-11
C11DTE.MAC 04-JAN-83 11:22 GENERAL MACRO DEFINITIONS
438 ; HIDDEN HERE IN THE SOURCE CODE ARE A WHOLE BUNCH OF DEBUGGING
439 ; AND OTHER SPECIAL MACROS WHICH ARE SUPRESSED IN THE ASSEMBLY IN
440 ; THE INTEREST OF SQUATTER LISTINGS (AND FASTER ASSEMBLING)
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-12
C11DTE.MAC 04-JAN-83 11:22 PDP-11 EIS EMULATORS
572 .SBTTL PDP-11 EIS EMULATORS
573 ;
574 ;MACROS TO SIMULATE INSTRUCTIONS FOR SIMPLE PDP11'S
575 ;
576 001 .IF LT <PDP11-30.>
577 ;
578 ;MACRO TO SIMULATE SOB ON SIMPLE PDP11'S
579 ;
580 .MACRO SOB CNT,WHERE
581 .IIF GT WHERE-., .ERROR 0; SOB FORWARD BRANCH ????
582 .IIF NE <.-WHERE>&^C176, .ERROR WHERE; SOB BRANCH RANGE ????
583 002 .IF NE WHERE-.
584 DEC CNT
585 BNE WHERE
586 .IFF
587 BRLOC=.
588 DEC CNT
589 BNE BRLOC
590 001 .ENDC ;NE WHERE-.
591 .ENDM SOB
592 ;
593 ;MACRO TO DO AN XOR FOR SIMPLE PDP11'S
594 ;
595 ; ARGUMENTS: A-- IS ALWAYS A REGISTER, B-- REFLECTS
596 ; THE DESTINATION OPERAND, C-- IS USUALLY ON THE STACK
597 ;
598 .MACRO XOR2 A02,B02,B12,B22,C02,C12,C22
599 MOV A02,C02
600 BIC B02,C12
601 BIC A02,B12
602 BIS C22,B22
603 .ENDM XOR2
604 ;
605 .MACRO XOR1 A01,B01,B11,B21
606 XOR2 A01,B01,B11,B21,-(SP),(SP),(SP)+
607 .ENDM XOR1
608 ;
609 .MACRO XORERR AV,BV,DB
610 002 .IF B DB
611 .ERROR 74000; XOR SOURCE ('AV') NOT A REGISTER ???
612 .IFF
613 .ERROR <74000+<AV*100>+BV>; XOR WITH DEST DB IS NOT SUPPORTED ????
614 001 .ENDC
615 HALT
616 .ENDM XORERR
617 ;
618 .MACRO XMODE Y,S,D
619 XMOD'Y \QD,S,D
620 .ENDM XMODE
621 ;
622 .MACRO XMOD0 X,S,D
623 XOR1 S,D,D,D
624 .ENDM XMOD0
625 ;
626 .MACRO XMOD10 X,S,D
627 XOR1 S,D,D,D
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-13
C11DTE.MAC 04-JAN-83 11:22 PDP-11 EIS EMULATORS
628 .ENDM XMOD10
629 ;
630 .MACRO XMOD20 X,S,D
631 XOR1 S,(R'X),(R'X),(R'X)+
632 .ENDM XMOD20
633 ;
634 .MACRO XMOD30 X,S,D
635 XOR1 S,@(R'X),@(R'X),@(R'X)+
636 .ENDM XMOD30
637 ;
638 .MACRO XMOD40 X,S,D
639 XOR1 S,-(R'X),(R'X),(R'X)
640 .ENDM XMOD40
641 ;
642 .MACRO XMOD50 X,S,D
643 XOR1 S,@-(R'X),@(R'X),@(R'X)
644 .ENDM XMOD50
645 ;
646 .MACRO XMOD60 X,S,D
647 XOR1 S,D,D,D
648 .ENDM XMOD60
649 ;
650 .MACRO XMOD70 X,S,D
651 XOR1 S,D,D,D
652 .ENDM XMOD70
653 ;
654 .MACRO XOR A,B
655 .NTYPE QA,A ;QA IS 6-BIT SOURCE SPEC
656 .NTYPE QB,B ;QB IS 6-BIT DEST SPEC
657 QC=QB&70 ;QC IS DEST ADDRESS MODE
658 QD=QB&7 ;QD IS DEST ADDRESS REGISTER
659 002 .IF NE QA&^C7 ;QA MUST BE REGISTER DIRECT
660 XORERR \QA
661 .IFF
662 ;QA IS REGISTER DIRECT, DECODE DEST SPEC
663 003 .IF LE <QD-5> ;DEST USES USER GPR (0-5)
664 XMODE \QC,A,B ;CALL MODE SELECTOR MACRO BASED ON QC
665 .IFF
666 ;DEST USES SP OR PC
667 .IIF EQ <QC-0> ;MODE IS REGISTER DIRECT (ERROR)
668 .IIF EQ <QB-06>, XORERR \QA,\QB,B
669 .IIF EQ <QB-07>, XORERR \QA,\QB,B
670 .IIF EQ <QC-1> ;MODE IS REGISTER DEFERRED
671 .IIF EQ <QB-16>, XOR1 A,2(SP),2(SP),(SP)
672 .IIF EQ <QB-17>, XORERR \QA,\QB,B
673 .IIF EQ <QC-2> ;MODE IS POP (PC IMMEDIATE)
674 .IIF EQ <QB-26>, XORERR \QA,\QB,B
675 004 .IF EQ <QB-27>
676 MOV B,.+22
677 XOR1 A,.+12,.+6,(PC)+
678 .WORD 0 ;UNLABELED LITERAL
679 003 .ENDC
680 .IIF EQ <QC-3> ;MODE IS DEFER AND POP (PC ABSOLUTE)
681 .IIF EQ <QB-36>, XOR1 A,@2(SP),@2(SP),@(SP)+
682 .IIF EQ <QB-37>, XOR1 A,B,B,B
683 .IIF EQ <QC-4> ;MODE IS PUSH
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-14
C11DTE.MAC 04-JAN-83 11:22 PDP-11 EIS EMULATORS
684 .IIF EQ <QB-46>, XORERR \QA,\QB,B
685 .IIF EQ <QB-47>, XORERR \QA,\QB,B
686 .IIF EQ <QC-5> ;MODE IS PUSH AND DEFER
687 .IIF EQ <QB-56>, XORERR \QA,\QB,B
688 .IIF EQ <QB-57>, XORERR \QA,\QB,B
689 .IIF EQ <QC-6> ;MODE IS INDEXED
690 .IIF EQ <QB-66>, XOR1 A,2+B,2+B,B
691 .IIF EQ <QB-67>, XOR1 A,B,B,B
692 .IIF EQ <QC-7> ;MODE IS DEFERRED INDEXED
693 .IIF EQ <QB-76>, XORERR \QA,\QB,B
694 .IIF EQ <QB-77>, XOR1 A,B,B,B
695 002 .ENDC ;USER GPR VS. SP/PC
696 001 .ENDC ;QA IS REGISTER DIRECT
697 .ENDM XOR
698 ;
699 000 .ENDC;.IF LT <PDP11-30.>
700 ;
701 001 .IF LT <PDP11-45.>
702 ;MACRO TO SET PROCESSOR LEVEL
703 .MACRO SPL Q
704 .IF NE Q
705 BIS #BR7,PS ;SET PROCESSOR STATUS TO LEVEL 7
706 .ENDC
707 .IF NE <Q-7>
708 BIC #40*<7&<^C<Q>>>,PS ;NOW DROP TO LEVEL Q
709 .ENDC
710 .ENDM SPL
711 000 .ENDC;.IF LT <PDP11-45.>
712 ;
713 ;MACRO TO SIMULATE EXCH INSTRUCTION
714 ;
715 .MACRO EXCH A,B
716 MOV A,-(P) ;SAVE C(A) ON THE STACK
717 MOV B,A ;PUT C(B) INTO A
718 MOV (P)+,B ;PUT ORIGINAL C(A) INTO B
719 .ENDM EXCH
720 ;
721 ;MACRO TO GENERATE AN .ASCIZ STRING TERMINATED WITH .EVEN
722 ;
723 .MACRO ASCIZ STRING
724 .ASCIZ \STRING\
725 .EVEN
726 .ENDM ASCIZ
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-15
C11DTE.MAC 04-JAN-83 11:22 SYMBOL DEFINITIONS
728 .SBTTL SYMBOL DEFINITIONS
729 ;
730 000000 R0 = %0
731 000001 R1 = %1
732 000002 R2 = %2
733 000003 R3 = %3
734 000004 R4 = %4
735 000005 R5 = %5
736 000006 SP = %6 ;STACK POINTER
737 000007 PC = %7
738 ;
739 177776 PS = 177776 ;PROCESSOR STATUS WORD
740 ; 000001 ;C (CARRY)
741 ; 000002 ;V (OVERFLOW)
742 ; 000004 ;Z (ZERO)
743 ; 000010 ;N (NEGATIVE)
744 ; 000020 ;T (TRAP)
745 ; 000340 ;PRIORITY LEVEL (0-7)
746 ; 004000 ;REGISTER SET
747 ; 030000 ;PREVIOUS MODE
748 ; 140000 ;CURRENT MODE
749 ; ;MODE: 00=KERNEL, 01=SUPERVISOR, 11=USER
750 177570 SW=177570 ;ADDRESS OF SWTCHES
751 ;
752 000001 B0 = 1
753 000002 B1 = 2
754 000004 B2 = 4
755 000010 B3 = 10
756 000020 B4 = 20
757 000040 B5 = 40
758 000100 B6 = 100
759 000200 B7 = 200
760 000400 B8 = 400
761 001000 B9 = 1000
762 002000 B10 = 2000
763 004000 B11 = 4000
764 010000 B12 = 10000
765 020000 B13 = 20000
766 040000 B14 = 40000
767 100000 B15 = 100000
768 ;
769 000000' FIELD ALLBTS,B15,B0
770 ;
771 ;DEFINE PROCESSOR LEVELS
772 ;
773 000000 BR0 = 0*40
774 000040 BR1 = 1*40
775 000100 BR2 = 2*40
776 000140 BR3 = 3*40
777 000200 BR4 = 4*40
778 000240 BR5 = 5*40
779 000300 BR6 = 6*40
780 000340 BR7 = 7*40
781 ;
782 000000 PR0 = 0
783 000040 PR1 = 40
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-16
C11DTE.MAC 04-JAN-83 11:22 SYMBOL DEFINITIONS
784 000100 PR2 = 2*PR1
785 000140 PR3 = 3*PR1
786 000200 PR4 = 4*PR1
787 000240 PR5 = 5*PR1
788 000300 PR6 = 6*PR1
789 000340 PR7 = 7*PR1
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-17
C11DTE.MAC 04-JAN-83 11:22 HARDWARE DEFINITIONS
791 .SBTTL HARDWARE DEFINITIONS
792 .SBTTL VECTORS
793 ;
794 .MACRO DEFVEC TYP,VQ,LQ
795 TYP'VEC= VQ ;VECTOR FOR TYP IS VQ
796 .IF B LQ
797 TYP'LVL= 7 ;DEFAULT LEVEL IS LEVEL 7
798 .IFF
799 TYP'LVL= LQ ;LEVEL OF TYP IS LQ
800 .ENDC ;B LQ
801 .ENDM DEFVEC
802 ;
803 000000' DEFVEC NXM,04 ;BUS-TIMEOUT INTERRUPT
804 000000' DEFVEC ILS,10 ;ILLEGAL INSTRUCTION INTERRUPT
805 000000' DEFVEC BPT,14 ;BREAKPOINT TRAP
806 000000' DEFVEC IOT,20 ;I/O TRAP INSTRUCTION
807 000000' DEFVEC PWF,24 ;POWER FAIL INT'S
808 000000' DEFVEC EMT,30 ;EMT CALL'S
809 000000' DEFVEC TRP,34 ;TRAP INSTRUCTION
810 000000' DEFVEC MMG,250 ;MEMORY MANAGEMENT FAULT
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-18
C11DTE.MAC 04-JAN-83 11:22 DEVICES
812 .SBTTL DEVICES
813 .SBTTL CD20 - PUNCHED CARD READER
814 ;
815 ; CD20 HARDWARE DEVICE REGISTER DEFINITIONS
816 ;
817 000004 CD.LVL = 4 ;BUS REQUEST PRIORITY
818 000230 CD.VEC = 230 ;CD20 VECTOR
819 ;
820 177160 CD.STS = 177160
821 000000 CDST = 0 ;FIRST STATUS AND CONTROL REGISTER
822 000000' NAMEBT CDST,0,<CD.ERR,CD.RDC,CD.EOF,CD.OFL,CD.DER,CD.DLT>
823 000000' NAMEBT ,,<CD.NXM,CD.PWC,CD.RDY,CD.IE,CD.B17,CD.B16>
824 000000' NAMEBT ,,<CD.ONL,CD.HPE,CD.PAC,CD.GO>
825 000060 CD.XAD = CD.B17!CD.B16 ;HIGH ORDER BUS ADDRESS MASK
826 000000 .REPT 0
827 CD.ERR = OR OF ALL ERROR CONDITIONS, RO
828 CD.RDC = READER CHECK, PHYSICAL READER ERROR, RO
829 CD.EOF = END OF FILE BUTTON PRESSED, RO
830 CD.OFL = OFF LINE, RO
831 CD.DER = DATA ERROR, ILLEGAL PACKED CHAR, RO
832 CD.DLT = DATA LATE, NPR TIMING ERROR, RO
833 CD.NXM = NONEXISTENT MEMORY REFERENCE DURING DMA, RO
834 CD.PWC = POWER CLEAR, INITIALIZE CONTROLLER, WO
835
836 CD.RDY = CONTROLLER READY FOR ACTION, RO
837 CD.IE = INTERRUPT ENABLE, RW
838 CD.B17,CD.B16 = HIGHEST ORDER BUS ADDRESS BITS, RW
839 CD.ONL = TRANSITION TO ONLINE OCCURRED, RO
840 CD.HPE = HOPPER EMPTY, RO
841 CD.PAC = READ MODE SWITCH, RW
842 CD.GO = START READER COMMAND, WO
843 .ENDR
844 ;
845 000002 CDCC = 2 ;COLUMN COUNT REGISTER
846 000120 CD.COL = 80. ;80 COLUMN READER
847 ;
848 000004 CDBA = 4 ;CURRENT ADDRESS REGISTER
849 ;
850 000006 CDDB = 6 ;DATA BUFFER
851 ; IMAGE MODE DEFINITIONS
852 000000' NAMEBT CDDB,0,<CD.CER,IDZ2,IDZ1,IDZ0,IZ12,IZ11,IZ00,IZ01>
853 000000' NAMEBT ,,<IZ02,IZ03,IZ04,IZ05,IZ06,IZ07,IZ08,IZ09>
854 000000 .REPT 0
855 CD.CER = CHARACTER PACKING ERROR
856 IDZ- = IMAGE MODE PACKED DIGIT ZONE BITS
857 IZ-- = IMAGE MODE ZONE PUNCH BITS
858 .ENDR
859 ;
860 ; PACKED MODE DEFINITIONS
861 000000' NAMEBT CDDB,200,<PZ12,PZ11,PZ00,PZ09,PZ08,PDZ2,PDZ1,PDZ0>
862 000000 .REPT 0
863 PZ-- = PACKED MODE ZONE PUNCH BITS
864 PDZ- = PACKED MODE PACKED DIGIT ZONE BITS
865 .ENDR
866 ;
867 000006 CDST2 = CDDB ;SECOND STATUS AND CONTROL REGISTER
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-19
C11DTE.MAC 04-JAN-83 11:22 CD20 - PUNCHED CARD READER
868 ; MULTIPLEXED USE OF DATA BUFFER REGISTER
869 000000' NAMEBT CDST2,0,<ST2ENB,CD.RCK,CD.PCK,CD.SCK>
870 000000' NAMEBT ,,<ZT12,ZT11,ZT00,ZT01,ZT02,ZT03,ZT04,ZT05,ZT06,ZT07,ZT08,ZT09>
871 007777 ZTALL = 7777
872 000000 .REPT 0
873 ST2ENB = CDST2 ENABLE
874 RCHK = READ CHECK (CARD ERROR)
875 PCHK = PICK CHECK (FEED ERROR)
876 SCHK = STACK CHECK (FEED ERROR)
877 ZT-- = ZONE TEST BITS
878 ZTALL = OR OF ALL ZONE TEST BITS
879 .ENDR
880 ;
881 000010 CDHRSZ = 10 ;SIZE OF REGISTER BLOCK IN BYTES
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-20
C11DTE.MAC 04-JAN-83 11:22 CR11 - PUNCHED/MARK SENSE CARD READER
883 .SBTTL CR11 - PUNCHED/MARK SENSE CARD READER
884 ;
885 000006 CR.LVL= 6 ; PROCESSOR LEVEL FOR CR11 INTERRUPTS
886 000230 CR.VEC= 230
887 ;
888 177160 CR0STS = 177160
889 177160 CR.STS= 177160 ; CR11 STATUS REGISTER
890 ;
891 100000 CR.ERR= B15 ; ERROR
892 040000 CR.DNE= B14 ; CARD DONE
893 020000 CR.HCK= B13 ; HOPPER CHECK
894 010000 CR.MCK= B12 ; MOTION CHECK
895 004000 CR.TIM= B11 ; TIMING ERROR
896 002000 CR.OLN= B10 ; BACK ONLINE AFTER BEING OFF
897 001000 CR.BSY= B9 ; BUSY
898 000400 CR.RDY= B8 ; NOT READY
899 000200 CR.CDN= B7 ; COLUMN DONE
900 000100 CR.INE= B6 ; INTERRUPT ENABLE
901 000002 CR.EJT= B1 ; EJECT
902 000001 CR.CFD= B0 ; CARD FEED
903
904 177162 CR.DAT= 177162 ; 12 LOW ORDER BITS ARE DATA
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-21
C11DTE.MAC 04-JAN-83 11:22 CTY - CONSOLE TELETYPE
906 .SBTTL CTY - CONSOLE TELETYPE
907 ;
908 ;CTY HARDWARE BITS
909 ;
910 177560 CTISTS = 177560
911 177562 CTICHR = 177562
912 000060 CTIVEC= 60
913 000004 CTILVL= 4 ; PRIORITY LEVEL
914 ;
915 000100 CI.INE= B6 ; CTY INPUT INTERRUPT ENABLE
916 ;
917 177564 CTOSTS = 177564
918 177566 CTOCHR = 177566
919 000064 CTOVEC= 64
920 000004 CTOLVL= 4 ; PRIORITY LEVEL
921 ;
922 000100 CO.INE= B6 ; CTY OUTPUT INTERRUPT ENABLE
923 000004 CO..MM= B2 ; CTY OUTPUT MAINT MODE
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-22
C11DTE.MAC 04-JAN-83 11:22 DH11 - ASYNCHRONOUS SERIAL LINE MULTIPLEXER
925 .SBTTL DH11 - ASYNCHRONOUS SERIAL LINE MULTIPLEXER
926 160020 DHBASE= 160020 ;HARDWARE ADR OF FIRST DH11
927 000007 DH.LVL= 7 ;DH11 INTERRUPT LEVEL
928 ; 1ST WORD IS SYSTEM CONTROL REGISTER
929 000100 DH.RIE= B6 ;RECEIVE INTERRUPT ENABLE
930 000200 DH..RI= B7 ;RECEIVE INTERRUPT
931 000400 DH.CNX= B8 ;CLEAR NON EX MEM INT
932 001000 DH..MM= B9 ;MAINTANCE MODE
933 002000 DH.NXM= B10 ;NON EXISTENCE MEMORY
934 004000 DH..MC= B11 ;MASTER CLEAR
935 010000 DH.SIE= B12 ;STORAGE INTERRUPT ENABLE
936 020000 DH.TIE= B13 ;TRANSMIT INTERRUPT ENABLE
937 040000 DH..SI= B14 ;STORAGE INTERRUPT
938 100000 DH..TI= B15 ;TRANSMIT INTERRUPT
939 000002 DH.NRC=2 ; 2ND WORD IS NEXT RECEIVED CHAR REGISTER
940 000004 DH.LPR=4 ; 3RD WORD IS LINE PARAMETER REGISTER
941 000006 DH.CAR=6 ; 4TH WORD IS CURRENT ADDRESS REGISTER
942 000010 DH.BCR=10 ; 5TH WORD IS BUFFER COUNT REGISTER
943 000012 DH.BAR=12 ; 6TH WORD IS BUFFER ACTIVE REGISTER
944 000014 DH.BRK=14 ; 7TH WORD IS BREAK CONTROL REGISTER
945 000016 DH.SSR=16 ; 8TH WORD IS SILO STATUS REGISTER
946 ;
947 ;ON CHARS OUT OF SILO
948 040000 DHROVR= B14 ;DATA OVERRUN
949 020000 DHRFER= B13 ;FRAMMING ERROR
950 100000 DH.VDP= B15 ;VALID DATA PRESENT
951 040000 DH.DOV= B14 ;DATA OVER RUN
952 020000 DH..FE= B13 ;FRAMING ERROR
953 010000 DH..PE= B12 ;PARITY ERROR
954 ;
955 ;FOR LINE PARAMETERS
956 100000 DH.AEE= B15 ;AUTO ECHO ENABLE
957 040000 DH..HD= B14 ;HALF DUPLEX
958 000040 DH..OP= B5 ;ODD PARITY
959 000020 DH.PEN= B4 ;PARITY ENABLED
960 000004 DH.2SB= B2 ;2 STOP BITS
961 000000 DH.CL5= 0 ;5 BIT
962 000001 DH.CL6= B0 ;6 BIT
963 000002 DH.CL7= B1 ;7 BIT
964 000003 DH.CL8= B1!B0 ;8 BIT
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-23
C11DTE.MAC 04-JAN-83 11:22 DJ11 - ASYNCHRONOUS SERIAL LINE MULTIPLEXER
966 .SBTTL DJ11 - ASYNCHRONOUS SERIAL LINE MULTIPLEXER
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-24
C11DTE.MAC 04-JAN-83 11:22 DL10 - UNIBUS-TO-MBUS INTERFACE
968 .SBTTL DL10 - UNIBUS-TO-MBUS INTERFACE
969 ;
970 ;DL10 - UNIBUS TO DECSYSTEM-10 MEMORY BUS INTERFACE
971 ;
972 100000 DL.BAS= 100000 ;BASE ADDRESS FOR 10 MEMORY
973 100000 DLBASE= DL.BAS ;
974 000170 DL.VEC= 170 ;VECTOR ADR FOR DL10
975 000004 DL.LVL= 4 ;CHANNEL FIVE
976 ;
977 100000 DL.STS=DLBASE ;1ST WORD IS STATUS
978 100000 DL.11I= B15 ; BIT 15 - 11 INT(INTERRUPTS IF 11-INT-ENB SET)
979 040000 DL.11C= B14 ; BIT 14 - CLEAR 11 INT
980 020000 DL.10I= B13 ; BIT 13 - 10 INT
981 010000 DL.10C= B12 ; BIT 12 - CLEAR 10 INT
982 004000 DL.NXM= B11 ; BIT 11 - NXM(INTERRUPTS IF ERR ENB SET)
983 002000 DL.CNX= B10 ; BIT 10 - CLEAR NXM
984 001000 DL.PAR= B9 ; BIT 09 - PAR ERR(INTERRUPTS IF ERR ENB SET)
985 000400 DL.CPE= B8 ; BIT 08 - CLEAR PAR ERR
986 000200 DL.WCO= B7 ; BIT 07 - WCOV(INTERRUPTS IF ERR ENB SET)
987 000100 DL.CWC= B6 ; BIT 06 - CLEAR WCOV
988 000040 DL.PEN= B5 ; BIT 05 - PORT ENABLE
989 000040 DLPENB= DL.PEN ;
990 000020 DL.B04= B4 ; BIT 04 - (GUESS !)
991 000010 DL.ERE= B3 ; BIT 03 - ERR ENABLE
992 000004 DL.INE= B2 ; BIT 02 - 11 INT ENB
993 000002 DL.B01= B1 ; BITS 00 & 01 - PIA
994 000001 DL.B00= B0 ;
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-25
C11DTE.MAC 04-JAN-83 11:22 DL11 - ASYNCHRONOUS SERIAL LINE INTERFACE
996 .SBTTL DL11 - ASYNCHRONOUS SERIAL LINE INTERFACE
997 ;
998 ;
999 175610 DLDADR=175610 ; DL11 NUMBER ZERO DEVICE ADDRESS
1000 000010 DLDSIZ=10 ; LENGTH OF DEVICE ADDRESS ASSIGNMENT
1001 ;
1002 ; CONTROL REGISTERS
1003 ;
1004 ;
1005 000000 DLRSTS=0 ; RECEIVER STATUS AND CONTROL
1006 ;
1007 ; BIT ASSIGNMENTS
1008 000001 DL..RE=B0 ; PAPER TAPE READER ENABLE (R/W)
1009 000002 DL.DTR=B1 ; DATA TERMINAL READY (R/W)
1010 000004 DL.RTS=B2 ; REQUEST TO SEND (R/W)
1011 000010 DL.2XM=B3 ; SECONDARY XMIT (R/W)
1012 000040 DL.DIE=B5 ; DATASET INTERRUPTS ENABLE (R/W)
1013 000100 DL.RIE=B6 ; RECEIVER INTERRUPTS ENABLE (R/W)
1014 000200 DL.ROK=B7 ; RECEIVER DONE (R)
1015 002000 DL.2RC=B10 ; SECONDARY RECEIVE (R)
1016 004000 DL.RGO=B11 ; RECEIVER ACTIVE (R)
1017 010000 DL.CAR=B12 ; CARRIER PRESENT (R)
1018 020000 DL.CTS=B13 ; CLEAR TO SEND (R)
1019 040000 DL.RNG=B14 ; DATASET RING (R)
1020 100000 DL.DSC=B15 ; DATASET STATUS CHANGE (R)
1021 ;
1022 ;
1023 000002 DLRBUF=2 ; RECEIVED CHARACTER BUFFER
1024 ;
1025 ; BIT ASSIGNMENTS
1026 000377 DL..RC=B0!B1!B2!B3!B4!B5!B6!B7 ;THE RECEIVED CHARACTER (R)
1027 010000 DL..PE=B12 ; PARITY ERROR (R)
1028 020000 DL..FE=B13 ; FRAMING ERROR (R)
1029 040000 DL.OVR=B14 ; RECEIVER OVER RUN (R)
1030 100000 DL.ERR=B15 ; RECEIVER ERROR DETECTED (R)
1031 ;
1032 ;
1033 ;
1034 000004 DLXSTS=4 ; XMITTER STATUS AND CONTROL REGISTER
1035 ;
1036 ; BIT ASSIGNMENTS
1037 000001 DL.BRK=B0 ; SEND BREAK (W)
1038 000004 DL..MM=B2 ; MAINTAINANCE MODE (R/W)
1039 000100 DL.XIE=B6 ; XMITTER INTERRUPTS ENABLE (R/W)
1040 000200 DL.XOK=B7 ; XMITTER READY FOR NEXT CHARACTDER (R)
1041 ;
1042 ;
1043 ;
1044 000006 DLXBUF=6 ; XMITTER CHARACTER BUFFER
1045 ;
1046 ; BIT ASSSIGNMENT
1047 000377 DL..XC=B0!B1!B2!B3!B4!B5!B6!B7 ; CHARACTER BEING XMITTED (W)
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-26
C11DTE.MAC 04-JAN-83 11:22 DM11BB - MODEM CONTROLLER FOR DH11
1049 .SBTTL DM11BB - MODEM CONTROLLER FOR DH11
1050 ;
1051 170500 DMBASE= 170500 ;HDW ADR OF FIRST DM11
1052 ;
1053 000007 DM.LVL= 7 ;PROCESSOR LEVEL FOR DM11BB INTERRUPTS
1054 ;
1055 170500 B.DM11= 170500 ;FIRST DM11 ADR
1056 004000 DM.SCN= B11 ;CLEAR SCANNER
1057 002000 DM.INI= B10 ;CLEAR MULTIPLEXER
1058 001000 DM..MM= B9 ;MAINTENANCE MODE
1059 000400 DM.STP= B8 ;STEP TO NEXT LINE
1060 000200 DM.DNE= B7
1061 000100 DM.IEN= B6 ;INTERRUPT ENABLE
1062 000040 DM.ENB= B5 ;SCAN ENABLE
1063 000020 DM.BSY= B4 ;CLEAR SCAN STILL PERCOLATING
1064 000017 DM.ALI= B0!B1!B2!B3 ;LINE NUMBER FIELD
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-27
C11DTE.MAC 04-JAN-83 11:22 DMC11/KMC11 - MICROPROCESSOR BASED COMM CONTROLLER
1066 .SBTTL DMC11/KMC11 - MICROPROCESSOR BASED COMM CONTROLLER
1067 ;
1068 000005 DMC.LVL = 5
1069 ;
1070 000000' NAMEBT ,0,<MD.RUN,MD.CLR,MD.CWR,MD.SLU,MD.LLU>
1071 000000' NAMEBT ,,<MD.RMO,MD.RMI,MD.SMP,B7,B6,B5,B4,B3,B2,B1,B0>
1072 000000 .REPT 0
1073 MD.RUN - RUN THE MICROPROCESSOR
1074 MD.CLR - CLEAR THE MICROPROCESSOR
1075 MD.CWR - CRAM WRITE
1076 MD.SLU - STEP LINE UNIT
1077 MD.LLU - LOOP LINE UNIT
1078 MD.RMO - ROM OUTPUT
1079 MD.RMI - ROM INPUT
1080 MD.SMP - STEP MICROPROCESSOR
1081 .ENDR
1082 .IRP X,<0,2,4,6>
1083 SEL'X = X
1084 BSEL'X = X
1085 .ENDR ;X
1086 .IRP X,<1,3,5,7>
1087 BSEL'X = X
1088 .ENDR ;X
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-28
C11DTE.MAC 04-JAN-83 11:22 DN11 - AUTODIALER
1090 .SBTTL DN11 - AUTODIALER
1091 ;
1092 000007 DN.LVL= 7 ;PROCESSOR LEVEL FOR DN INTERRUPTS
1093 175200 DNBASE=175200
1094 ;
1095 100000 DN.PWI= B15 ;POWER INDICATE
1096 040000 DN.ACR= B14 ;ABANDON CALL AND RETRY
1097 010000 DN.DLO= B12 ;DATA LINE OCCUPIED
1098 000200 DN.DNE= B7 ;DONE
1099 000100 DN..IE= B6 ;INTERRUPT ENABLE
1100 000040 DN.DSS= B5 ;DATA SET STATUS
1101 000020 DN.PND= B4 ;PRESENT NEXT DIGIT
1102 000010 DN..MM= B3 ;MAINTENANCE MODE
1103 000004 DN..ME= B2 ;MASTER ENABLE
1104 000002 DN..DP= B1 ;DIGIT PRESENT
1105 000001 DN..CR= B0 ;CALL REQUEST
1106 007400 DN.DGT=B8+B9+B10+B11 ;DIGIT BITS
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-29
C11DTE.MAC 04-JAN-83 11:22 DP11 - SYNCHRONOUS LINE INTERFACE
1108 .SBTTL DP11 - SYNCHRONOUS LINE INTERFACE
1109 ;
1110 000007 DP.LVL= 7 ;PROCESSOR LEVEL FOR DP11 INTERRUPTS
1111 ;
1112 ; "A" RECEIVER STATUS REGISTER (ADR = XXXXX0)
1113 ;
1114 010000 DP..CP= B12 ;CHARACTER PARITY; 1=ODD, 0=EVEN
1115 004000 DP..RA= B11 ;RECEIVE ACTIVE
1116 000200 DP..RD= B7 ;RECEIVE DONE
1117 000100 DP.RIE= B6 ;RECEIVE DONE INTERRUPT ENABLE
1118 000010 DP..MR= B3 ;MISCELLANEOUS RECEIVE
1119 000004 DP..MM= B2 ;MAINTENANCE MODE
1120 000002 DP..HD= B1 ;HALF DUPLEX
1121 000001 DP..SS= B0 ;STRIP SYNC
1122 ;
1123 ; "B" TRANSMIT AND CONTROL STATUS REG (ADR = XXXXX2)
1124 ;
1125 100000 DP..CF= B15 ;CARRIER FLAG
1126 040000 DP.ROF= B14 ;RECEIVE OVERRUN FLAG
1127 020000 DP.RNG= B13 ;RING FLAG
1128 010000 DP.MRY= B12 ;MODEM READY
1129 004000 DP.CAR= B11 ;CARRIER
1130 002000 DP.CTS= B10 ;CLEAR TO SEND
1131 001000 DP.RTS= B9 ;REQUEST TO SEND
1132 000200 DP..TD= B7 ;TRANSMIT DONE
1133 000100 DP.TIE= B6 ;TRANSMIT DONE INTERRUPT ENABLE
1134 000040 DP.SIE= B5 ;STATUS INTERRUPT ENABLE
1135 000020 DP.MIS= B4 ;MISCELLANEOUS
1136 000010 DP..MT= B3 ;MISCELLANEOUS TRANSMIT
1137 000002 DP..IS= B1 ;IDLE SYNC
1138 000001 DP.DTR= B0 ;TERMINAL READY
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-30
C11DTE.MAC 04-JAN-83 11:22 DQ11 - DMA SYNCHRONOUS LINE INTERFACE
1140 .SBTTL DQ11 - DMA SYNCHRONOUS LINE INTERFACE
1141 ;
1142 000007 DQ.LVL= 7 ;PROCESSOR LEVEL FOR DQ11 INTERRUPTS
1143 ;
1144 ; THE BASE ADR FOR THE DQ11 IS CONTAINED IN THE LINE BLOCK
1145 ; RECEIVE STATUS ( ADR =XXXXX0 )
1146 ;
1147 000001 DQ.RGO= B0 ; RECEIVE GO
1148 000002 DQ.SSY= B1 ; STRIP SYNC
1149 000004 DQ.SEC= B2 ; 0= PRIMARY,1=SECONDARY
1150 000010 DQ.HD= B3 ; HALF DUPLEX(= MASK INPUT WHEN XMT ACTIVE)
1151 000020 DQ.CIE= B4 ; CHAR INTERRUPT ENABLE
1152 000040 DQ.RIE= B5 ; RECEIVE DONE INTERRUPT ENABLE
1153 000100 DQ.RDS= B6 ; RECEIVE DONE (SECONDARY) FLAG
1154 000200 DQ.RDP= B7 ; RECEIVE DONE (PRIMARY) FLAG
1155 007400 DQ.CHR= 7400 ; CHAR DETECTED
1156 000400 DQ.ETB= B8 ; CHAR WAS AN ETB
1157 001000 DQ.ETX= B9 ; CHAR WAS AN ETX
1158 002000 DQ.ENQ= B10 ; CHAR WAS AN ENQ
1159 004000 DQ.SYN= B11 ; SPECIAL CHAR WAS A SYNC
1160 010000 DQ.RAC= B12 ; RECEIVE ACTIVE
1161 ; 060000 ; USER OPTION
1162 100000 DQ.VCH= B15 ; VCHAR FLAG
1163 110021 DQ.RKL= DQ.RAC!DQ.VCH!DQ.RGO!DQ.CIE ; BITS TO STOP RECEIVER
1164 ;
1165 ; TRANSMIT STATUS ( ADR = XXXXX2 )
1166 ;
1167 000001 DQ.XGO= B0 ; TRANSMIT GO
1168 ; B1 ; IDLE MODE
1169 000004 DQ.SEC= B2 ; 0= PRIMARY ACTIVE,1=SECONDARY ACTIVE
1170 000010 DQ.EIE= B3 ; ERR INTERRUPT ENABLE
1171 000020 DQ.DIE= B4 ; DATA SET INTERRUPT ENABLE
1172 000040 DQ.XIE= B5 ; TRANSMIT DONE INTERRUPT ENABLE
1173 000100 DQ.XDS= B6 ; TRANSMIT DONE(SECONDARY)
1174 000200 DQ.XDP= B7 ; TRANSMIT DONE(PRIMARY)
1175 000400 DQ.RTS= B8 ; REQUEST TO SEND
1176 001000 DQ.DTR= B9 ; DATA TERMINAL READY
1177 002000 DQ.DSR= B10 ; DATA SET READY
1178 004000 DQ.RNG= B11 ; RING
1179 010000 DQ.CAR= B12 ; CARRIER
1180 020000 DQ.CTS= B13 ; CLEAR TO SEND
1181 ; B14 ; USER OPTION
1182 100000 DQ.DSF= B15 ; DATA SET FLAG
1183 ;
1184 ; REG/ERR REGISTER ( ADR =XXXXX4 )
1185 ;
1186 000001 DQ.XCL= B0 ; TRANSMIT CLOCK LOSS
1187 000002 DQ.RCL= B1 ; RECEIVE CLOCK LOSS
1188 000004 DQ.XLE= B2 ; TRANSMIT LATENCY ERROR
1189 000010 DQ.RLE= B3 ; RECEIVE LATENCY ERROR
1190 000020 DQ.XNX= B4 ; TRANSMIT NONEX MEM
1191 000040 DQ.RNX= B5 ; RECEIVE NONEX MEM
1192 000100 DQ.BCC= B6 ; RECEIVE BCC ERROR
1193 000200 DQ.VRC= B7 ; RECEIVE VRC ERROR
1194 ; 007400 ; REG SELECT FOR REFERENCE TO XXXXX6
1195 010000 DQ.MEM= B12 ; WRENABLE 060000
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-31
C11DTE.MAC 04-JAN-83 11:22 DQ11 - DMA SYNCHRONOUS LINE INTERFACE
1196 000020 DQ.MBM= 020 ; BYTE EQUIVALENT OF ABOVE
1197 ; 060000 ; MEM EXT OR ENTER T/EXIT T
1198 ; B15 ; ERROR INTERRUPT
1199 ;
1200 ; SECONDARY REGISTERS ( ADR = XXXXX6 )
1201 ;
1202 000000 RG.PRA= 0 ; PRIMARY RECEIVE BA
1203 000001 RG.PRC= 1 ; PRIMARY RECEIVE CC
1204 000002 RG.PTA= 2 ; PRIMARY TRANSMIT BA
1205 000003 RG.PTC= 3 ; PRIMARY TRANSMIT CC
1206 000004 RG.SRA= 4 ; SECONDARY RECEIVE BA
1207 000005 RG.SRC= 5 ; SECONDARY RECEIVE CC
1208 000006 RG.STA= 6 ; SECONDARY TRANSMIT BA
1209 000007 RG.STC= 7 ; SECONDARY TRANSMIT CC
1210 ;;;; 10 ; CHAR DET REG
1211 000011 RG.SYN= 11 ; SYNC REG
1212 000012 RG.MSC= 12 ; MISC REG
1213 000040 DQ.MC= B5 ; MASTER CLEAR (SORT OF)
1214 ;;;; 13 ; TRANSMIT BUF
1215 ;;;; 14 ; SEQUENCE REGISTER
1216 ;;;; 15 ; RECEIVE BCC
1217 ;;;; 16 ; TRANSMIT BCC
1218 ;;;; 17 ; RECEIVE/TRANSMIT POLYNOMIAL
1219 ;
1220 .MACRO DQREGS REG,QQ
1221 Z= RG.'REG
1222 .IIF EQ <Z&10>,Z= Z+DQ.MBM
1223 .IF B,QQ
1224 MOVB #Z,5(DQ) ;SET TO ADDRESS SECONDARY REGISTER RG.'REG
1225 .IFF ;B <QQ>
1226 MOVB #Z,5QQ ;SET TO ADDRESS SECONDARY REGISTER RG.'REG
1227 .ENDC ;B <QQ>
1228 .ENDM DQREGS
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-32
C11DTE.MAC 04-JAN-83 11:22 DQ11 - DMA SYNCHRONOUS LINE INTERFACE
1230 ;
1231 ; THE SEVEN SWITCHES (PACKAGES) WILL BE LOCATED
1232 ; ON BOARD #M7818 WITHIN THE DQ11 LOGIC BLOCK
1233 ;
1234 ;
1235 ; PACKAGE # SWITCH #'S SWITCH SETTINGS ON RESPECTIVE PACKAGES
1236 ;
1237 ; 1 8 - 1 ALL OFF
1238 ;
1239 ; 2 16 - 9 ALL OFF
1240 ;
1241 ; 3 24 - 17 ALL OFF
1242 ;
1243 ; 4 32 - 25 DAS78 ON, ON,OFF, ON,OFF,OFF, ON,OFF
1244 ; CHARACTER = 055 (ENQ)
1245 ; 4 32 - 25 DAS85 ON, ON, ON, ON, ON,OFF, ON,OFF
1246 ; CHARACTER = 005 (ENQ)
1247 ;
1248 ; 5 40 - 33 DAS78 ON, ON,OFF,OFF,OFF, ON, ON, ON
1249 ; DAS85 ON,OFF,OFF,OFF,OFF, ON, ON, ON
1250 ;
1251 ; 6 48 - 41 DAS78 ON, ON, ON, ON, ON, ON,OFF,OFF
1252 ; CHARACTER = 03 (ETX)
1253 ; DAS85 OFF, ON, ON,OFF, ON, ON,ON, ON
1254 ; CHARACTER = 220 (DLE)
1255 ;
1256 ; 7 56 - 49 DAS78 ON, ON, OFF, ON, ON,OFF,OFF, ON
1257 ; CHARACTER = 46 (ETB)
1258 ; DAS85 OFF, ON, ON, ON, ON, ON, ON,OFF
1259 ; CHARACTER = 201 (SOH)
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-33
C11DTE.MAC 04-JAN-83 11:22 DS11 - SYNCHRONOUS LINE INTERFACE
1261 .SBTTL DS11 - SYNCHRONOUS LINE INTERFACE
1262 ;
1263 ;HARDWARE ADDRESSES
1264 ;
1265 175600 DS.AUX= 175600 ;AUXILLARY REGISTER
1266 175400 DS.DVA= 175400 ;BEGINNING OF LINE DEVICE REGISTERS
1267 000400 DS.VEC= 400 ;FIRST DS11 VECTOR
1268 000007 DS.LVL= 7 ;PROCESSOR LEVEL OR DS11 INTERRUPTS
1269 ;
1270 ;BITS IN AUXILLARY REGISTER
1271 ;
1272 100000 DS.AD3=B15 ;ADAPTER 3 IS PRRSENT IF SET
1273 040000 DS.AD2=B14 ;ADAPTER 2 IS PRESENT IF SET
1274 020000 DS.AD1=B13 ;ADAPTER 1 IS PRESENT IF SET
1275 ; B12 ;NOT USED
1276 ; B11 ;NOT USED
1277 ; B10 ;NOT USED
1278 ; B9 ;PROGRAM VECTOR 9
1279 000400 DS.IVA=B8 ;PROGRAM VECTOR 8 - INTERRUPTS START AT 400
1280 ; B7 ;DIAG MODE
1281 ; B6 ;PROGRAM CLOCK ALLOW
1282 ; B5 ;NOT USED
1283 ; B4 ;DIAG BIT CNTR CLEAR
1284 ; B3 ;DIAG BIT COUNTER 4
1285 ; B2 ;DIAG BIT COUNTER 3
1286 ; B1 ;DIAG BIT COUNTER 2
1287 ; B0 ;DIAG BIT COUNTER 1
1288 ;
1289 ;
1290 ;OFFSETS OF REGISTERS FROM LINE BASE ADDRESS
1291 ;
1292 000006 DS.XDR=6 ;TRANSMIT DATA REGISTER
1293 000004 DS.XST=4 ;TRANSMIT STATUS REGISTER
1294 000002 DS.RDR=2 ;RECEIVE DATA REGISTER
1295 000000 DS.RST=0 ;RECEIVE STATUS REGISTER
1296 ;
1297 ;PRIORITY INTERRUPT LEVELS
1298 ;
1299 000007 I.DSRD=7 ;RECEIVE DATA INTERRUPT
1300 000006 I.DSRS=6 ;RECEIVE STATUS INTERRUPT
1301 000007 I.DSXD=7 ;A TRANSMIT DATA INTERRUPT
1302 000006 I.DSXS=6 ;A TRANSMIT STATUS INTERRUPT
1303 ;
1304 ;BITS IN XMIT STATUS REGISTER & RECEIVE REG.
1305 ;
1306 000440 DS.DTR=000440 ;BOTH XMT & RCV REG.
1307 170000 DS.ZAP=170000 ;CLEAR ALL OVERRUN FLAGS
1308 000455 DS.XGO=DS.DTR+<<I.DSXD/2>*4>+1 ;REQUEST TO SEND
1309 006455 DS.RGO=B11!B10!DS.DTR!<<I.DSRD/2>*4>+1 ;RECEIVE
1310 ;
1311 ;BITS IN TRANSMIT STATUS REGISTER
1312 ;
1313 ; B15 ; NOT USED
1314 ; B14 ; XMIT BIT OVERRUN
1315 ; B13 ; XMIT CHAR OVERRUN
1316 ; B12 ; CLEAR TO SEND FLAG
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-34
C11DTE.MAC 04-JAN-83 11:22 DS11 - SYNCHRONOUS LINE INTERFACE
1317 ; B11 ; NOT USED
1318 ; B10 ; NOT USED
1319 ; B9 ; CLEAR TO SEND
1320 ; B8 ; DATA TERM READY
1321 ; B7 ; XMIT CHAR DONE
1322 ; B6 ; DATA SET READY
1323 ; B5 ; CODE SIZE 2
1324 ; B4 ; CODE SIZE 1
1325 ; B3 ; PRIORITY REQUEST 2
1326 ; B2 ; PRIORITY REQUEST 1
1327 ; B1 ; IDLE
1328 ; B0 ; REQUEST TO SEND
1329 ;
1330 ;BITS IN RECEIVE STATUS REGISTER
1331 ;
1332 ; B15 ; RING FLAG
1333 ; B14 ; REC BIT OVERRUN
1334 ; B13 ; REC CHAR OVERRUN
1335 ; B12 ; LINE SIGNAL FLAG
1336 ; B11 ; SYN STATE 2
1337 ; B10 ; SYN STATE 1
1338 ; B9 ; LINE SIGNAL
1339 ; B8 ; DATA TERMINAL READY
1340 ; B7 ; REC CHAR DONE
1341 ; B6 ; DATA SET READY
1342 ; B5 ; CODE SIZE 2
1343 ; B4 ; CODE SIZE 1
1344 ; B3 ; PRIORITY REQUEST 2
1345 ; B2 ; PRIORITY REQUEST 1
1346 ; B1 ; RING ALLOW
1347 ; B0 ; RECEIVE
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-35
C11DTE.MAC 04-JAN-83 11:22 DTE20 - DECSYSTEM 20(10)/PDP-11 INTERPROCESSOR INTERFACE
1349 .SBTTL DTE20 - DECSYSTEM 20(10)/PDP-11 INTERPROCESSOR INTERFACE
1350 ;
1351 000000 DLYCNT = 0 ;DELAY COUNTER
1352 100000 BUSA17 = B15 ;UNIBUS ADDRESS BIT 17
1353 040000 BUSA16 = B14 ;UNIBUS ADDRESS BIT 16
1354 037777 DLYMSK = 37777 ;DELAY COUNT FIELD
1355 000002 DEXWD3 = 2 ;DEPOSIT/EXAMINE WORD 3
1356 000004 DEXWD2 = 4 ;DEPOSIT/EXAMINE WORD 2
1357 000006 DEXWD1 = 6 ;DEPOSIT/EXAMINE WORD 1
1358 000010 TENAD1 = 10 ;KL-10 MEMORY ADDRESS 1
1359 000012 TENAD2 = 12 ;KL-10 MEMORY ADDRESS 2
1360 000014 TO10BC = 14 ;TO -10 BYTE (WORD) COUNT
1361 000016 TO11BC = 16 ;TO -11 BYTE (WORD) COUNT
1362 100000 TO11IB = B15 ;INTERRUPT BOTH SIDES WHEN DONE
1363 020000 TO11BM = B13 ;TO -11 BYTE MODE
1364 007777 TO11CM = 7777 ;BYTE (WORD) COUNT
1365 000020 TO10AD = 20 ;TO -10 ADDRESS
1366 000022 TO11AD = 22 ;TO -11 ADDRESS
1367 000024 TO10DT = 24 ;TO -10 DATA WORD
1368 000026 TO11DT = 26 ;TO -11 DATA WORD
1369 000030 DIAG1 = 30 ;DIAGNOSTIC CONTROL REGISTER 1
1370 000032 DIAG2 = 32 ;DIAGNOSTIC CONTROL REGISTER 2
1371 000100 DRESET = B6 ;(W) DTE20 RESET
1372 000034 CSTAT = 34 ;CONTROL STATUS REGISTER
1373 100000 TO10DN = B15 ;(R) TO -10 TRANSFER DONE
1374 040000 DON10C = B14 ;(W) CLEAR TO -10 DONE
1375 020000 TO10ER = B13 ;(R) TO -10 TRANSFER ERROR
1376 010000 ERR10C = B12 ;(W) CLEAR TO -10 TRANSFER ERROR
1377 004000 TO11DB = B11 ;(R) TO -11 DOORBELL
1378 004000 INT11S = TO11DB ;(W) REQUEST INTERRUPT
1379 002000 INT11C = B10 ;(W) CLEAR TO -11 DOORBELL
1380 001000 MPE11 = B9 ;(R) -11 PARITY ERROR
1381 000400 TO10DB = B8 ;(R/W) TO -10 DOORBELL
1382 000200 TO11DN = B7 ;(R) TO -11 TRANSFER DONE
1383 000100 DON11C = B6 ;(W) CLEAR TO -11 DONE
1384 000040 INTRON = B5 ;(W) ENABLE FROM -10 INTERRUPTS
1385 000020 BPARER = B4 ;(R) EBUS PARITY ERROR
1386 000010 INTROF = B3 ;(W) DISABLE FROM -10 INTERRUPTS
1387 000010 RM = INTROF ;(R) RESTRICTED MODE
1388 000004 DEXDON = B2 ;(R) DEPOSIT/EXAMINE DONE
1389 000002 TO11ER = B1 ;(R) TO -11 TRANSFER ERROR
1390 000002 ERR11S = TO11ER ;(W) SET TO -11 ERROR
1391 000001 ERR11C = B0 ;(W) CLEAR TO -11 TRANSFER ERROR
1392 000001 INTSON = ERR11C ;(R) INTERRUPTS ARE ENABLED
1393 000036 DIAG3 = 36 ;DIAGNOSTIC CONTROL REGISTER 3
1394 000001 TO10BM = B0 ;(W) TO -10 BYTE MODE
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-36
C11DTE.MAC 04-JAN-83 11:22 DU11 - SYNCHRONOUS LINE CONTROLLER
1396 .SBTTL DU11 - SYNCHRONOUS LINE CONTROLLER
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-37
C11DTE.MAC 04-JAN-83 11:22 DUP11 - SYNCHRONOUS LINE INTERFACE WITH CRC
1398 .SBTTL DUP11 - SYNCHRONOUS LINE INTERFACE WITH CRC
1399 ;
1400 000006 DUP.LVL = 6
1401 ;
1402 ;;;; DUPSTS = FLOATING
1403 ;
1404 000000 DUPCRS = 0 ;RECEIVER STATUS AND CONTROL REGISTER
1405 000000' NAMEBT DUPRCS,0,<DUPDSA,DUPRNG,DUPCTS,DUPCAR,DUPACT,DUP2RC>
1406 000000' NAMEBT ,,<DUPDSR,DUPSSY,DUPRDN,DUPRIE,DUPDIE,DUPRCE>
1407 000000' NAMEBT ,,<DUP2TX,DUPRTS,DUPDTR,DUPDSB>
1408 ;
1409 000000 .REPT 0
1410 DUPDSA - DATA SET CHANGE A RO
1411 DUPRNG - RING INDICATOR RO
1412 DUPCTS - CLEAR TO SEND RO
1413 DUPCAR - CARRIER RO
1414 DUPACT - ACTIVE RM
1415 DUP2RC - SECONDARY RECEIVE DATA RO
1416 DUPDSR - DATA SET READY RO
1417 DUPSSY - STRIP SYNCH RW
1418
1419 DUPRDN - RECEIVE DONE RO
1420 DUPRIE - RECEIVER INTERRUPT ENABLE RW
1421 DUPDIE - DATA SET INTERRUPT ENABLE RW
1422 DUPRCE - RECEIVE ENABLE (CLEARS THE READ MOSTLY BITS) RW
1423 DUP2TX - SECONDARY TRANSMIT RW
1424 DUPRTS - REQUEST TO SEND RW
1425 DUPDTR - DATA TERMINAL READY RW
1426 DUPDSB - DATA SET CHANGE B RO
1427 .ENDR
1428 000002 DUPRDB = 2 ;RECEIVE DATA BUFFER
1429 000000' NAMEBT DUPRDB,0,<DUPRER,DUPROV,,DUPRCR,,DUPRAB,DUPREM,DUPRSM>
1430 000377 DUPRDT = 377 ;RECEIVED DATA BUFFER
1431 000000 .REPT 0
1432 DUPRER - RECEIVER ERROR RO
1433 DUPROV - RECEIVER OVERRUN RO
1434 - RESERVED
1435 DUPRCR - RCRC ERROR+ZERO RO
1436 - RESERVED
1437 DUPRAB - RECEIVED ABORT RW
1438 DUPREM - END OF REC'D MSG RM
1439 DUPRSM - START OF REC'D MSG RM
1440 .ENDR
1441 000002 DUPPSR = DUPRDB ;PARAMETER STATUS REGISTER
1442 000000' NAMEBT DUPPSR,0,<DUPPDM,,,DUPP2M,,,DUPPIC,>
1443 000377 DUPP2S = 377 ;SECONDARY STATION ADDRESS OR REC SYNCH REG
1444 000000 .REPT 0
1445 DUPPDM - DEC MODE (BYTE MODE) WO
1446 - RESERVED
1447 - RESERVED
1448 DUPP2M - SENCONDARY MODE SELECT WO
1449 - RESERVED
1450 - RESERVED
1451 DUPPIC - INHIBIT CRC COMPUTATION WO
1452 .ENDR
1453 000004 DUPTCS = 4 ;TRANSMITTER STATUS REGISTER
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-38
C11DTE.MAC 04-JAN-83 11:22 DUP11 - SYNCHRONOUS LINE INTERFACE WITH CRC
1454 000000' NAMEBT DUPTCS,0,<DUPTDL,DUPTMT,DUPTMC,DUPTM1,DUPTM0>
1455 000000' NAMEBT ,,<DUPTMI,DUPTAC,DUPTRS,DUPTDN,DUPTIE,,DUPTSN,DUPTHD,,,>
1456 000000 .REPT 0
1457 DUPTDL - TRANSMIT DATA LATE RM
1458 DUPTMT - MAINTENANCE TRANSLATE RO
1459 DUPTMC - MAINTENANCE CLOCK RW
1460 DUPTM1 - MAINTENANCE MODE SELECT RW
1461 DUPTM0 -
1462 DUPTMI - MAINTENANCE INPUT RW
1463 DUPTAC - TRANSMITTER ACTIVE RO
1464 DUPTRS - DEVICE RESET WO
1465 DUPTDN - TRANSMIT DONE RM
1466 DUPTIE - TRANSMITTER INTERRUPT ENABLE RW
1467 - RESERVED
1468 DUPTSN - SEND RW
1469 DUPTHD - HALF DUPLEX RW
1470 - RESERVED
1471 - RESERVED
1472 - RESERVED
1473 .ENDR
1474 000006 DUPTDB = 6 ;TRANSMITTER DATA BUFFER
1475 000000' NAMEBT DUPTDB,0,<,DUPXCI,,DUPXCO,DUPXMT,DUPXAB,DUPXEM,DUPXSM>
1476 000377 DUPXDB = 377 ;TRANSMITTER DATA BUFFER BYTE
1477 000000 .REPT 0
1478 - RESERVED
1479 DUPXCI - MAINTENANCE CRC INPUT RO
1480 - RESERVED
1481 DUPXCO - MAINTENANCE CRC OUTPUT RO
1482 DUPXMT - MAINTENANCE TIMER RO
1483 DUPXAB - TRANSMIT ABORT RW
1484 DUPXEM - TRANSMIT END OF MSG RW
1485 DUPXSM - TRANSMIT STRAT OF MSG RW
1486 .ENDR
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-39
C11DTE.MAC 04-JAN-83 11:22 DZ11 - ASYNCHRONOUS SERIAL LINE MULTIPLEXER
1488 .SBTTL DZ11 - ASYNCHRONOUS SERIAL LINE MULTIPLEXER
1489 ;
1490 ; DZ11 CONTROL STATUS REGISTER (CSR) FLAGS
1491 ;
1492 000020 DZ.CLR= 000020 ;MASTER CLEAR
1493 000040 DZ.SCN= 000040 ;SCAN ENABLE (ENABLE RCV & XMT)
1494 000100 DZ.RIE= 000100 ;RECEIVE INTERUPT ENABLE
1495 010000 DZ.SAE= 010000 ;SILO ALARM ENABLE
1496 040000 DZ.TIE= 040000 ;TRANSMIT INTERUPT ENABLE
1497 050140 DZ.INI= DZ.SCN!DZ.RIE!DZ.TIE!DZ.SAE ;INITIAL VALUE FOR CSR
1498
1499
1500 ;
1501 ; DZ11 LINE PARAMETER REGISTER (LPR) FLAGS
1502 ;
1503 010000 DZ.RCV= 010000 ;RCV ON IN LPR
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-40
C11DTE.MAC 04-JAN-83 11:22 EIA PIN DEFINITIONS
1505 .SBTTL EIA PIN DEFINITIONS
1506 ;
1507 ; 1 PROTECTIVE GROUND
1508 ; 2 TRANSMITTED DATA
1509 ; 3 RECEIVED DATA
1510 ; 4 REQUEST TO SEND
1511 ; 5 CLEAR TO SEND
1512 ; 6 DATA SET READY
1513 ; 7 SIGNAL GROUND
1514 ; 8 RECEIVED LINE SIGNAL DECTECTOR
1515 ; 9 *
1516 ; 10 *
1517 ; 11 *
1518 ; 12 *
1519 ; 13 *
1520 ; 14 *
1521 ; 15 *
1522 ; 16 *
1523 ; 17 RECEIVED SIGNAL ELEMENT TIMING
1524 ; 18 *
1525 ; 19 *
1526 ; 20 DATA TERMINAL READY
1527 ; 21 SIGNAL QUALITY DETECTOR
1528 ; 22 RING INDICATOR
1529 ; 23 *
1530 ; 24 TRANSMIT SIGNAL ELEMENT TIMING
1531 ; 25 *
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-41
C11DTE.MAC 04-JAN-83 11:22 KG11 - COMMUNICATIONS ARITHMETIC PROCESSOR
1533 .SBTTL KG11 - COMMUNICATIONS ARITHMETIC PROCESSOR
1534 ;
1535 170700 KG.STS = 170700
1536 000200 KG.DNE=200 ;CALCULATION DONE
1537 000100 KG.SEN=100 ;NOT SINGLE CYCLE
1538 000040 KG.STP=040 ;STEP
1539 000020 KG.CLR=020 ;CLEAR
1540 000010 KG.DDB=010 ;WORD MODE
1541 ; 007 ;TYPE OF CALCULATION
1542 000001 KG.CRC=001 ; 1 = CRC-16
1543 000003 KG.LRC=003 ; 3 = LRC-16
1544 000005 KG.CCI=005 ; 5 = CRC-CCITT
1545 000121 KG.INI= KG.SEN!KG.CLR!KG.CRC
1546 000002 KGBCC = 2
1547 000004 KGDATA = 4
1548 ;
1549 .MACRO KGLOAD X,MODE
1550 Z=101
1551 .IF NB MODE
1552 .IIF IDN <MODE>,<WORD>,Z=Z!KG.DDB ;SET WORD MODE
1553 .IIF IDN <MODE>,<BYTE>,Z=Z&<^CKG.DDB>
1554 .ENDC;.IF NB MODE
1555 .IF IDN <#0>,<X>
1556 Z=Z!KG.CLR
1557 .IFF
1558 MOV #133,(R4) ;CLEAN OUT KG11
1559 MOV X,KGDATA(R4) ;LOAD WITH DATA ( X )
1560 .ENDC ;IDN <#0>,<X>
1561 MOV #Z,(R4) ;AND SET CRC MODE
1562 .ENDM KGLOAD
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-42
C11DTE.MAC 04-JAN-83 11:22 KT11 - MEMORY MANAGEMENT MODULE
1564 .SBTTL KT11 - MEMORY MANAGEMENT MODULE
1565 ;
1566 .MACRO MMNAM1 MODE,TYPE,SPACE,NUMB
1567 MODE'SPACE'S'TYPE'R'NUMB = $MMADR
1568 $MMADR = $MMADR + 2
1569 .ENDM MMNAM1
1570 ;
1571 .MACRO MMNAM2 MODE,BASE
1572 $MMADR = BASE
1573 .IRPC TYPE,<DA>
1574 .IRPC SPACE,<ID>
1575 $$ = 0
1576 .REPT 8.
1577 MMNAM1 MODE,TYPE,SPACE,\$$
1578 $$ = $$ + 1
1579 .ENDR ;8.
1580 .ENDR ;SPACE
1581 .ENDR ;TYPE
1582 .ENDM MMNAM2
1583 ;
1584 ;
1585 ;
1586 ; MEMORY MANAGEMENT STATUS REGISTER BLOCK
1587 ; ASTERISK (*) DENOTES THE 11/34 MEMORY MANAGEMENT SUBSET
1588 ;
1589 177572 MMGSR0 = 177572 ;MEM MGT STATUS REGISTER *
1590 000000' NAMEBT MMGSR0,0,<MG.ANR,MG.APL,MG.ARO,MG.TMM,,>
1591 000000' NAMEBT ,,<MG.EMT,MG.MNT,MG.IDN,MG.MD1,MG.MD0>
1592 000000' NAMEBT ,,<MG.DAD,MG.PG2,MG.PG1,MG.PG0,MG.ENB>
1593 000000 .REPT 0
1594 MG.ANR - ABORT, NON-RESIDENT *
1595 MG.APL - ABORT, PAGE LENGTH *
1596 MG.ARO - ABORT, READ ONLY *
1597 MG.TMM - ABORT, TRAP ON MEM MGT
1598 MG.XXX - UNUSED
1599 MG.XXX - UNUSED
1600 MG.EMT - ENABLE MEM MGT TRAP
1601 MG.MNT - MAINTENANCE MODE *
1602 MG.IDN - INSTRUCTION DONE
1603 MG.MD1 - MODE, BIT 1 *
1604 MG.MD0 - MODE, BIT 0 *
1605 MG.DAD - D ADDRESS SPACE SELECTED
1606 MG.PG2 - PAGE SELECTED, BIT 2 *
1607 MG.PG1 - PAGE SELECTED, BIT 1 *
1608 MG.PG0 - PAGE SELECTED, BIT 0 *
1609 MG.ENB - ENABLE MEM MGT *
1610 .ENDR ;TEXT
1611 ;
1612 177574 MMGSR1 = 177574 ;GPR MODIFICATION RECORD
1613 ;
1614 177576 MMGSR2 = 177576 ;VIRTUAL ADDRESS REGISTER *
1615 ;
1616 172516 MMGSR3 = 172516 ;
1617 000000' NAMEBT MMGSR3,4,<MG.KDS,MG.SDS,MG.UDS>
1618 ;
1619 ;
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-43
C11DTE.MAC 04-JAN-83 11:22 KT11 - MEMORY MANAGEMENT MODULE
1620 ; DEFINE NAMES FOR THE PAGE ADDRESS AND DESCRIPTOR REGISTERS
1621 ;
1622 000000' MMNAM2 U,177600 ;USER MODE MEM MGT *
1623 ;;;; MMNAM2 S,172200 ;SUPERVISOR MODE MEM MGT (NOT FOR 11/34)
1624 000000' MMNAM2 K,172300 ;KERNEL MODE MEM MGT *
1625 ;
1626 ; PAGE DESCRIPTOR REGISTER FIELD DEFINITIONS
1627 ;
1628 000000' NAMEBT PDR,0,<,PD.PL6,PD.PL5,PD.PL4,PD.PL3,PD.PL2,PD.PL1,PD.PL0>
1629 000000' NAMEBT ,,<PD.A,PD.W,,,PD.ED,PD.AC2,PD.AC1,PD.AC0>
1630 000000' FIELD PD.PLF,PD.PL6,PD.PL0
1631 000000' FIELD PD.ACF,PD.AC2,PD.AC0
1632 ;
1633 ; VIRTUAL ADDRESS DEFINITIONS
1634 ;
1635 000100 BSFACT = 100 ;BIAS FACTOR, NUMBER OF BYTES PER BLOCK
1636 .IRP X,<0,1,2,3,4,5,6,7>
1637 PAGE'X = X*20000 ;BASE ADDRESS REACHED THROUGH APR'X
1638 PAGE'X'B = X*200 ;MAPPING BIAS FOR VIRTUAL=PHYSICAL
1639 .ENDR ;IRP X
1640 007600 PAGE7B = 7600 ;PAGE 7 BIAS (I/O PAGE) HAS A SPECIAL VALUE
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-44
C11DTE.MAC 04-JAN-83 11:22 KW11 - LINE TIME CLOCK
1642 .SBTTL KW11 - LINE TIME CLOCK
1643 ;
1644 ;KW11 LINE FREQUENCY CLOCK DEFINITIONS
1645 ;
1646 001 .IF DF FT.87S
1647 CLKLVL= 6 ; DN87 USES STANDARD PRIORITY LEVEL
1648 .IFF
1649 000004 CLKLVL= 4 ; CLOCK INTERRUPT PRIORITY LEVEL
1650 000 .ENDC
1651 000100 CLKVEC= 100 ; CLOCK VECTOR
1652 ;
1653 177546 CLKWRD = 177546 ; CLOCK STATUS WORD
1654 ;
1655 000100 KW.INE=B6 ; ENABLE INTERRUPTS
1656 000100 CLKENB=B6 ; ENABLE INTERRUPTS
1657 000200 KW.TIC=B7 ; CLOCK MONITOR TOGGLE (CLEARED BY PROGRAM)
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-45
C11DTE.MAC 04-JAN-83 11:22 LP11 - LINE PRINTER CONTROLLER
1659 .SBTTL LP11 - LINE PRINTER CONTROLLER
1660 ;
1661 000004 LE.LVL= 4 ; PROCESSOR LEVEL FOR LP11 INTERRUPTS
1662 000200 LE.VEC= 200 ; VECTOR LOCATION
1663 ;
1664 177514 LE0STS = 177514 ;STATUS REGISTER FOR 1ST LP11
1665 177514 LE.STS=LE0STS
1666 ;
1667 100000 LE.ERR= B15 ; ERROR BIT(POWER OFF, NO PAPER, GATE, TEMP, OFFLINE)
1668 000200 LE.DNE= B7 ; READY FOR NEXT CHARACTER
1669 000100 LE.INE= B6 ; INTERRUPT ENABLE
1670 ;
1671 177516 LE0DAT = 177516 ;DATA REGISTER
1672 177516 LE.DAT=LE0DAT
1673 ;
1674 ;
1675 ;FOR THE SECOND LP11
1676 177520 LE1STS = 177520
1677 177522 LE1DAT = 177522
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-46
C11DTE.MAC 04-JAN-83 11:22 LP20 - LINEPRINTER CONTROLLER
1679 .SBTTL LP20 - LINEPRINTER CONTROLLER
1680 ;
1681 ; LP20 HARDWARE DEVICE REGISTER DEFINITIONS
1682 ;
1683 000004 LP.LVL = 4 ;BUS REQUEST PRIORITY
1684 000754 LP.VEC = 754 ;FIRST LP VECTOR
1685 ;
1686 175400 LP0STS = 175400 ;LP20 UNIT 0 FIRST REGISTER BLOCK
1687 ;
1688 000000 LPCSRA=0 ;CONTROL AND STATUS REGISTER A
1689 000000' NAMEBT LPCSRA,0,<LP.ERR,LP.PGZ,LP.CHI,LP.VFR,LP.ONL,LP.DH>
1690 000000' NAMEBT ,,<LP.RSE,LP.LOI,LP.DNE,LP.IE,LP.B17,LP.B16>
1691 000000' NAMEBT ,,<LP.MD1,LP.MD0,LP.PEN,LP.GO>
1692 000000 .REPT 0
1693 LP.ERR= ERROR (R)
1694 LP.PGZ= PAGE ZERO (R)
1695 LP.CHI= UNDEFINED CHAR TRAPPED (R)
1696 LP.VFR= VERT FORMAT UNIT READY (R)
1697 LP.ONL= ONLINE (R)
1698 LP.DH= DELIMITER HOLD (R-W)
1699 LP.RSE= RESET ERRORS (W)
1700 LP.LOI= LOCAL INITIALIZE (W)
1701
1702 LP.DNE= DONE (R)
1703 LP.IE= INTERRUPT ENABLE (R-W)
1704 LP.B17= HIGH ORDER BUS ADDRESS BITS (R-W)
1705 LP.B16= "
1706 LP.MD1= OPERATION MODE BITS (R-W)
1707 LP.MD0= "
1708 LP.PEN= PARITY CHECK INTERRUPT ENABLE (R-W)
1709 LP.GO= START COMMAND (R-W)
1710 .ENDR
1711 ;
1712 000004 TSTMOD= LP.MD0 * 1 ;TEST MODE
1713 000010 VFULOD= LP.MD0 * 2 ;VFU LOAD MODE
1714 000014 RAMLOD= LP.MD0 * 3 ;LOAD TRANSLATION RAM
1715 000014 LP.MDS= LP.MD0 ! LP.MD1 ;MODE BIT MASK
1716 000060 LP.XAD= LP.B17!LP.B16 ;HIGH ORDER BUSADD BITS
1717 000103 ENBGO= LP.PEN!LP.IE!LP.GO ;ENABLES AND GO
1718 ;
1719 000002 LPCSRB=2 ;CONTROL AND STATUS REGISTER B
1720 000000' NAMEBT LPCRSA,0,<LP.DV,LP.180,LP.NRD,LP.PAR>
1721 000000' NAMEBT ,,<LP.OPT,LP.TS2,LP.TS1,LP.TS0,LP.OFL,LP.VFE>
1722 000000' NAMEBT ,,<LP.PER,LP.MPE,LP.RPE,LP.SYN,LP.DEM,LP.GOE>
1723 ;
1724 000000 .REPT 0
1725 LP.DV= VALID DATA (R)
1726 LP.180= PRINTER IS AN LA180 (R)
1727 LP.NRD= LINE PRINTER NOT READY (R)
1728 LP.PAR= LINE PRINTER PARITY (R)
1729 LP.OPT= PRINTER HAS OPTICAL VFU (R)
1730 LP.TS2= TEST MODE BITS (R-W)
1731 LP.TS1= "
1732 LP.TS0= "
1733
1734 LP.OFL= DEVICE NOT READY (R)
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-47
C11DTE.MAC 04-JAN-83 11:22 LP20 - LINEPRINTER CONTROLLER
1735 LP.VFE= CHANNEL TYPE ERROR (R)
1736 LP.PER= VARIOUS PARITY ERRORS (R)
1737 LP.MPE= "
1738 LP.RPE= "
1739 LP.SYN= SYNCH TIMEOUT (DATA LATE) (R)
1740 LP.DEM= DEMAND TIMEOUT (PRINTER HANG) (R)
1741 LP.GOE= GO ERROR (R-W)
1742 .ENDR
1743 ;
1744 000004 LPBSAD=4 ;BUS ADDRESS REGISTER (R-W)
1745 ;
1746 000006 LPBCTR=6 ;BYTE COUNT (2'S COMPLEMENT)
1747 ; BITS 15-12 NOT USED
1748 ; 11-0 BYTE COUNT (R-W)
1749 ;
1750 000010 LPPCTR=10 ;PAGE COUNTER
1751 ; BITS 15-12 NOT USED
1752 ; 11-0 PAGE COUNT (R-W)
1753 ;
1754 000012 LPRAMD=12 ;RAM DATA REGISTER
1755 000000' NAMEBT LPRAMD,0,<,,,LP.RP,LP.RIN,LP.RDL,LP.RTR,LP.RPI>
1756 007777 RAMDAT = LP.RP - 1 ;MASK FOR WRITABLE RAM BITS
1757 000020 SLEW = 20 ;"SLEW" FLAG FOR VFU
1758 ; BITS 15-13 NOT USED
1759 ; 12 RAM PARITY (R)
1760 ; 11-0 RAM DATA (R-W)
1761 ;
1762 000014 LPCBUF=14 ;(BYTE) CHARACTER BUFFER REGISTER (R-W)
1763 000015 LPCCTR=15 ;(BYTE) COLUMN COUNT REGISTER (R-W)
1764 ;
1765 000016 LPTDAT=16 ;(BYTE) PRINTER DATA REGISTER (R)
1766 000017 LPCKSM=17 ;(BYTE) CHECKSUM REGISTER (R)
1767 ;
1768 000020 LPRBSZ=20 ;SIZE OF HARDWARE REGISTER BLOCK
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-48
C11DTE.MAC 04-JAN-83 11:22 MM11-LP PARITY MEMORY
1770 .SBTTL MM11-LP PARITY MEMORY
1771 ;
1772 000114 MP.VEC=114
1773 000007 MP.LVL=7
1774 ;
1775 172100 MP.REG=172100 ;ADR OF PARITY REGISTER
1776 ;
1777 100000 MP.ERR=100000 ;ERROR BIT
1778 ; BITS 11-5 ERROR ADDRESS
1779 000004 MP.WWP=000004 ;WRITE WRONG PARITY
1780 000001 MP.ENB=000001 ;ENABLE
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-49
C11DTE.MAC 04-JAN-83 11:22 PA611 - TYPESET READER/PUNCH
1782 .SBTTL PA611 - TYPESET READER/PUNCH
1783 ;
1784 000007 P6.LVL= 7 ; PROCESSOR LEVEL FOR PA611P INTERRUPTS
1785 ;
1786 000007 R6.LVL= 7 ; PROCESSOR LEVEL FOR PA611R INTERRUPTS
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-50
C11DTE.MAC 04-JAN-83 11:22 PC11 - PAPER TAPE READER/PUNCH INTERFACE
1788 .SBTTL PC11 - PAPER TAPE READER/PUNCH INTERFACE
1789 ;
1790 000004 PR.LVL= 4 ; PROCESSOR LEVEL FOR PC11 READER INTERRUPTS
1791 000070 PR.VEC= 70 ; VECTOR FOR PC11 READER
1792 000004 PP.LVL= 4 ; PROCESSOR LEVEL FOR PC11 PUNCH INTERRUPTS
1793 000074 PP.VEC= 74 ; VECTOR FOR PC11 PUNCH
1794 ;
1795 177554 PP0STS = 177554 ;STATUS REGISTER FOR 1ST PC11 PUNCH
1796 177554 PP.STS= 177554 ; PUNCH STATUS REGISTER
1797 ;
1798 100000 PP.ERR= B15 ; ERROR BIT (NO TAPE OR NO POWER)
1799 000200 PP.RDY= B7 ; SET WHEN RREADY TO PUNCH A CHARACTER
1800 000100 PP.INE= B6 ; INTERRUPT ENABLE
1801 ;
1802 177556 PP.DAT= 177556 ; PUNCH BUFFER REGISTER
1803 ;
1804 177550 PR0STS = 177550 ;STATUS REGISTER FOR 1ST PC11 READER
1805 177550 PR.STS= 177550 ; READER STATUS REGISTER
1806 ;
1807 100000 PR.ERR= B15 ; ERROR BIT (NO TAPE, NO POWER, OR OFF-LINE)
1808 004000 PR.BSY= B11 ; SET WHEN A CHARACTER IS BEING READ
1809 000200 PR.DNE= B7 ; CHARACTER IS AVAILABLE IN THE READER BUFFER
1810 000100 PR.INE= B6 ; INTERRUPT ENABLE
1811 000001 PR..RE= B0 ; READER ENABLE
1812 ;
1813 177552 PR.DAT= 177552 ; READER BUFFER REGISTER
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-51
C11DTE.MAC 04-JAN-83 11:22 TC11 - DECTAPE CONTROLLER
1815 .SBTTL TC11 - DECTAPE CONTROLLER
1816 ;
1817 000214 TC.VEC= 214 ; TC11 INTERRUPT VECTOR ADDRESS
1818 ;
1819 000006 TC.LVL= 6 ; TC11 PRIORITY LEVEL
1820 ;
1821 177340 TC.STS= 177340 ; TC11 CONTROL AND STATUS REGISTER
1822 ;
1823 100000 TC..EZ= B15 ; END ZONE
1824 040000 TC.PAR= B14 ; PARITY ERROR
1825 020000 TC.MTE= B13 ; MARK TRACK ERROR
1826 010000 TC.ILO= B12 ; ILLEGAL OPERATION
1827 004000 TC..SE= B11 ; SELECTION ERROR
1828 002000 TC..BM= B10 ; BLOCK MISSED
1829 001000 TC..DM= B9 ; DATA MISSED
1830 000400 TC.NXM= B8 ; NON-EX MEM
1831 000200 TC.UPS= B7 ; TAPE IS UP TO SPEED
1832 000100 TC.CLK= B6 ; USED TO SIMULATE TIMING TRACK
1833 000040 TC.MMT= B5 ; MAINT MARK TRACK
1834 000020 TC.DT0= B4 ; DATA TRACK 0
1835 000010 TC.DT1= B3 ; DATA TRACK 1
1836 000004 TC.DT2= B2 ; DATA TRACK 2
1837 000002 TC.D17= B1 ; EXTENDED DATA 17
1838 000001 TC.D16= B0 ; EXTENDED DATA 16
1839 ;
1840 177342 TC.CMD= 177342 ; TC11 COMMAND REGISTER
1841 ;
1842 100000 TC.ERR= B15 ; ERROR
1843 020000 TC..MM= B13 ; MAINT MODE
1844 010000 TC..DI= B12 ; DELAY INHIBIT
1845 004000 TC.REV= B11 ; SET = REVERSE MOTION; CLEAR = FORWARD MOTION
1846 000000 TC.US0= 0 ; SELECT UNIT 0
1847 000400 TC.US1= B8 ; SELECT UNIT 1
1848 001000 TC.US2= B9 ; SELECT UNIT 2
1849 001400 TC.US3= B9!B8 ; SELECT UNIT 3
1850 002000 TC.US4= B10 ; SELECT UNIT 4
1851 002400 TC.US5= B10!B8 ; SELECT UNIT 5
1852 003000 TC.US6= B10!B9 ; SELECT UNIT 6
1853 003400 TC.US7= B10!B9!B8 ; SELECT UNIT 7
1854 000200 TC.RDY= B7 ; READY
1855 000100 TC.INE= B6 ; INTERRUPT ENABLE
1856 000040 TC.A17= B5 ; EXTENDED MEM BIT BA17
1857 000020 TC.A16= B4 ; EXTENDED MEM BIT BA16
1858 000000 TC.SAT= 0 ; STOP ALL TAPE MOTION
1859 000002 TC.RMT= B1 ; FINDS MARK TRACK CODE
1860 000004 TC..RD= B2 ; READ
1861 000006 TC.RDA= B2!B1 ; READ ALL
1862 000010 TC.SST= B3 ; STOP ALL TAPE MOTION IN SEL'D TRANSPORT ONLY
1863 000012 TC.WTM= B3!B1 ; WRITE TIMING AND MARK TRACK
1864 000014 TC..WR= B3!B2 ; WRITE
1865 000016 TC.WRA= B3!B2!B1 ; WRITE ALL
1866 ;
1867 177344 TC.WCR= 177344 ; TC11 WORD COUNT REGISTER
1868 ;
1869 177346 TC.BAR= 177346 ; TC11 BUS ADDRESS REGISTER
1870 ;
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-52
C11DTE.MAC 04-JAN-83 11:22 TC11 - DECTAPE CONTROLLER
1871 177350 TC.DAT= 177350 ; TC11 DATA REGISTER
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-53
C11DTE.MAC 04-JAN-83 11:22 TM11 - MAGNETIC TAPE CONTROLLER
1873 .SBTTL TM11 - MAGNETIC TAPE CONTROLLER
1874 ;
1875 000224 TM.VEC= 224 ; TM11 VECTOR ADDRESS
1876 ;
1877 000005 TM.LVL= 5 ; TM11 PRIORITY LEVEL
1878 ;
1879 172520 TM.STS= 172520 ; STATUS REGISTER
1880 ;
1881 100000 TM..IC= B15 ; ILLEGAL COMMAND
1882 040000 TM.EOF= B14 ; END OF FILE
1883 020000 TM.CRE= B13 ; CYCLICAL REDUNDANCY
1884 010000 TM.PAE= B12 ; PARITY ERROR
1885 004000 TM.BGL= B11 ; BUS GRANT LATE
1886 002000 TM.EOT= B10 ; END OF TAPE
1887 001000 TM.RLE= B9 ; RECORD LENGTH ERROR
1888 000400 TM.BTE= B8 ; BAD TAPE ERROR
1889 000200 TM.NXM= B7 ; NON-EXISTENT MEMORY
1890 000100 TM.SLR= B6 ; SELECT REMOTE
1891 000040 TM.BOT= B5 ; BEGINNING OF TAPE
1892 000020 TM.7CH= B4 ; SEVEN CHANNEL
1893 000010 TM.TSD= B3 ; TAPE SETTLE DOWN
1894 000004 TM.WRL= B2 ; WRITE LOCK
1895 000002 TM.RWS= B1 ; REWIND STATUS
1896 000001 TM.TUR= B0 ; TAPE UNIT READY
1897 ;
1898 172522 TM.MTC= 172522 ; COMMAND REGISTER
1899 ;
1900 100000 TM.ERR= B15 ; ERROR
1901 000000 TM.D72= 0 ; 200 BPI 7 CHANNEL
1902 020000 TM.D75= B13 ; 556 BPI 7 CHANNEL
1903 040000 TM.D78= B14 ; 800 PBI 7 CHANNEL
1904 060000 TM.D98= B14!B13 ; 800 BPI 9 CHANNEL
1905 010000 TM..PC= B12 ; POWER CLEAR
1906 004000 TM..LP= B11 ; LATERAL PARITY
1907 003400 TM..US= B10!B9!B8 ; UNIT SELECT FIELD
1908 000000 TM.US0= 0 ; SELECT UNIT 0
1909 000400 TM.US1= B8 ; SELECT UNIT 1
1910 001000 TM.US2= B9 ; SELECT UNIT 2
1911 001400 TM.US3= B8!B9 ; SELECT UNIT 3
1912 002000 TM.US4= B10 ; SELECT UNIT 4
1913 002400 TM.US5= B10!B8 ; SELECT UNIT 5
1914 003000 TM.US6= B10!B9 ; SELECT UNIT 6
1915 003400 TM.US7= B10!B9!B8 ; SELECT UNIT 7
1916 000200 TM.CUR= B7 ; CU READY
1917 000100 TM.INE= B6 ; INTERRUPT ENABLE
1918 000040 TM.A17= B5 ; EXTENDED MEM BIT BA17
1919 000020 TM.A16= B4 ; EXTENDED MEM BIT BA16
1920 000000 TM.OFL= 0 ; OFF-LINE
1921 000002 TM..RD= B1 ; READ
1922 000004 TM..WR= B2 ; WRITE
1923 000006 TM.WEF= B1!B2 ; WRITE EOF
1924 000010 TM..SF= B3 ; SPACE FORWARD
1925 000012 TM..SR= B3!B1 ; SPACE REVERSE
1926 000014 TM.WEG= B3!B2 ; WRITE WITH EXTENDED GAP
1927 000016 TM.REW= B3!B2!B1 ; REWIND
1928 000001 TM..GO= B0 ; GO
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-54
C11DTE.MAC 04-JAN-83 11:22 TM11 - MAGNETIC TAPE CONTROLLER
1929 ;
1930 172524 TM.BCR= 172524 ; BYTE COUNT REGISTER
1931 ;
1932 172526 TM.BAR= 172526 ; BYTE ADDRESS REGISTER
1933 ;
1934 172530 TM.DAT= 172530 ; DATA BUFFER
1935 ;
1936 172532 TM.RDL= 172532 ; TU 10 READ LINES
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-55
C11DTE.MAC 04-JAN-83 11:22 END OF DEVICE DEFINITIONS
1938 .SBTTL END OF DEVICE DEFINITIONS
1939 ;
1940 ; HERE AGAIN RESIDE THE HIDDEN DEBUGGING AND OTHER SPECIAL MACROS
1941 ; WHICH ARE HIDDEN IN THE INTEREST OF SAVING ASSEMBLY TIME RESOURCES
1942 ; AND LARGE AMOUNTS OF PAPER IN LISTING
2991 .SBTTL MODULE END
2992 .SBTTL
2993 ;****************************************************************
2994 ;
2995 ; END OF S - SYMBOL AND MACRO DEFINITION SECTION
2996 ;
2997 ;****************************************************************
S - VARIOUS SYMBOL AND MACRO DEFINITIONS 22 FEB 77 DNMAC X24.07-563 25-JAN-83 09:48 PAGE 1-56
C11DTE.MAC 04-JAN-83 11:22
2999 ; .ENABLE ABS
3000 000000 T$$RLD= 0 ;*** ASSEMBLE TERTIARY LOADER ***
3001 .IIF NDF S$$CLD!T$$RLD .TITLE DTEMOP -- DTE20 MOP MODE BOOTSTRAP
3002 .IIF DF S$$CLD .TITLE DTEMPS -- DTE20 MOP SECONDARY BOOTSTRAP
3003 .IIF DF T$$RLD .TITLE DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP
3004 .SBTTL TITLE PAGE
3005 ;
3006 ;
3007 ; COPYRIGHT (C) 1977,1978 DIGITAL EQUIPMENT CORPORATION, MAYNARD, MA 01754
3008 ;
3009 ;
3010 ; MODULE: CHECK11
3011 ;
3012 ; DATE: 14-NOV-78
3013 ;
3014 ; AUTHOR: TOM PORCHER
3015 ; TOM POWERS
3016 ; LEE WEBBER
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP DNMAC X24.07-563 25-JAN-83 09:48 PAGE 2
C11DTE.MAC 04-JAN-83 11:22 TITLE PAGE
3018
3019 .SBTTL MACROS AND DEFINITIONS
3020 ;
3021 ; PARAMETERS (DEFINED IN PARAMETER MODULE)
3022 ;
3023 ; S$$CLD= 0 ;SECONDARY LOADER (FOR TERTIARY) IF DEFINED
3024 ; T$$RLD= 0 ;TERTIARY LOADER IF DEFINED
3025 ;
3026 ; PARAMETERS
3027 ;
3028 ;** D$$BUG= 0 ;DEBUG VERSION IF DEFINED
3029 000000 E$$CHK= 0 ;ERROR CHECKING IF DEFINED
3030 ;** D$$CHK= 0 ;DTE-20 CONSISTENCY CHECKING IF DEFINED
3031 000000 M$$CHK= 0 ;MEMORY LIMIT CHECKING IF DEFINED
3032 000000 L$$DPR= 0 ;ALLOW LOAD PARAMETERS IF DEFINED
3033 001 .IF DF T$$RLD
3034 002000 M$$XSZ= 1024. ;MAX SIZE IS 1K BYTES (0.5K WORDS)
3035 000000 M$$MGE= 0 ;MEMORY MANAGEMENT IF DEFINED
3036 000000 T$$32K= 0 ;ALLOW DTE20 TRANSFERS OVER 32K BOUNDARIES IF DEFINED
3037 .IFF
3038 M$$XSZ= 512. ;MAX SIZE IF PROGRAM IS 512. BYTES (256. WORDS)
3039 000 .ENDC
3040 ;
3041 ;
3042 ; MISC. MCALLS
3043 ;
3044 .MACRO CALL,A
3045 JSR PC,A ;CALL A
3046 .ENDM
3047
3048 .MACRO RETURN
3049 RTS PC
3050 .ENDM
3051
3052 ;
3053 ; MACROS
3054 ;
3055 .MACRO DEBUG,OP,MSG,ALTOP
3056 .IF DF D$$BUG
3057 OP ;MSG
3058 .IF NDF PASS2
3059 .PRINT .-MOP ;MSG
3060 .ENDC
3061 .IFF
3062 ALTOP
3063 .ENDC
3064 .ENDM DEBUG
3065 ;
3066 .MACRO ERR,CND,MSG,WHERE,?LABEL
3067 .IF DF D$$BUG
3068 .IIF IDN <CND>,<R>,
3069 .IIF IDN <CND>,<NE>,BEQ LABEL
3070 .IIF IDN <CND>,<EQ>,BNE LABEL
3071 .IIF IDN <CND>,<PL>,BMI LABEL
3072 .IIF IDN <CND>,<MI>,BPL LABEL
3073 .IIF IDN <CND>,<VC>,BVS LABEL
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP DNMAC X24.07-563 25-JAN-83 09:48 PAGE 2-1
C11DTE.MAC 04-JAN-83 11:22 MACROS AND DEFINITIONS
3074 .IIF IDN <CND>,<VS>,BVC LABEL
3075 .IIF IDN <CND>,<CC>,BCS LABEL
3076 .IIF IDN <CND>,<CS>,BCC LABEL
3077 .IIF IDN <CND>,<GE>,BLT LABEL
3078 .IIF IDN <CND>,<LT>,BGE LABEL
3079 .IIF IDN <CND>,<GT>,BLE LABEL
3080 .IIF IDN <CND>,<LE>,BGT LABEL
3081 .IIF IDN <CND>,<HI>,BLOS LABEL
3082 .IIF IDN <CND>,<LOS>,BHI LABEL
3083 .IIF IDN <CND>,<HIS>,BLO LABEL
3084 .IIF IDN <CND>,<LO>,BHIS LABEL
3085 .IFTF
3086 DEBUG HALT,<ERROR: "MSG">,<B'CND WHERE'MOPERR>
3087 .IFT
3088 LABEL:
3089 .ENDC
3090 .ENDM ERR
3091 ;
3092 .MACRO FIT,BASE,SIZE,STUFF
3093 .IF DF SIZE&PASS2
3094 .IF G <<.-BASE>-SIZE>
3095 .ERROR <<.-BASE>-SIZE> ; TOO MUCH STUFF
3096 .IFF
3097 .PRINT <SIZE-<.-BASE>> ; FREE FOR STUFF
3098 .ENDC
3099 .ENDC
3100 .ENDM FIT
3101 ;
3102 ;
3103 ; GENERAL BIT DEFINITIONS
3104 ;
3105 000001 BIT0= 000001
3106 000002 BIT1= 000002
3107 000004 BIT2= 000004
3108 000010 BIT3= 000010
3109 000020 BIT4= 000020
3110 000040 BIT5= 000040
3111 000100 BIT6= 000100
3112 000200 BIT7= 000200
3113 000400 BIT8= 000400
3114 001000 BIT9= 001000
3115 002000 BIT10= 002000
3116 004000 BIT11= 004000
3117 010000 BIT12= 010000
3118 020000 BIT13= 020000
3119 040000 BIT14= 040000
3120 100000 BIT15= 100000
3121 ;
3122 ;
3123 ; MOP DEFINITIONS
3124 ;
3125 000000 M.PMLT= 0. ;MEMORY LOAD WITH TRANSFER
3126 000002 M.PMLD= 2. ;MEMORY LOAD
3127 000004 M.PRMD= 4. ;REQUEST MEMORY DUMP
3128 000006 M.PEMM= 6. ;ENTER MOP MODE
3129 000010 M.PRPR= 8. ;REQUEST PROGRAM
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP DNMAC X24.07-563 25-JAN-83 09:48 PAGE 2-2
C11DTE.MAC 04-JAN-83 11:22 MACROS AND DEFINITIONS
3130 000012 M.PRML= 10. ;REQUEST/ACKNOWLEDGE MEMORY LOAD
3131 000014 M.PMMR= 12. ;MOP MODE RUNNING
3132 000016 M.PMDP= 14. ;MEMORY DUMP
3133 000020 M.PDAP= 16. ;(REMOTE-11) DAP ENVELOPE
3134 000022 M.PEAM= 18. ;(REMOTE-11) ENTER REMOTE-11 ASCII MODE
3135 000024 M.PLDP= 20. ;PROGRAM DATA
3136 000030 M.PLBT= 24. ;LOOPBACK TEST
3137 ;
3138 ;
3139 ; CPU REGISTER DEFINITIONS
3140 ;
3141 177570 SWR= 177570 ;SWITCH REGISTER
3142 177776 PS= 177776 ;PROCESSOR STATUS WORD
3143 000340 PR7= 7*BIT5 ;PRIORITY 7
3144 ;
3145 ; MEMORY MANAGEMENT REGISTER DEFINITIONS
3146 ;
3147 177572 SR0= 177572 ;STATUS REGISTER 0
3148 ;
3149 172300 KISDR0= 172300 ;KERNAL PAGE DESRIPTOR 0
3150 172302 KISDR1= 172302 ; . . 1
3151 172304 KISDR2= 172304 ; . . 2
3152 172306 KISDR3= 172306 ; . . 3
3153 172310 KISDR4= 172310 ; . . 4
3154 172312 KISDR5= 172312 ; . . 5
3155 172314 KISDR6= 172314 ; . . 6
3156 172316 KISDR7= 172316 ; . . 7
3157 ;
3158 172340 KISAR0= 172340 ;KERNAL PAGE ADDRESS REGISTER 0
3159 172342 KISAR1= 172342 ; . . 1
3160 172344 KISAR2= 172344 ; . . 2
3161 172346 KISAR3= 172346 ; . . 3
3162 172350 KISAR4= 172350 ; . . 4
3163 172352 KISAR5= 172352 ; . . 5
3164 172354 KISAR6= 172354 ; . . 6
3165 172356 KISAR7= 172356 ; . . 7
3166 ;
3167 ;
3168 ; DTE20 REGISTER DEFINITIONS
3169 ;
3170 000000 DLYCNT= 0 ;DELAY COUNTER
3171 100000 BUSA17= BIT15 ;UNIBUS ADDRESS BIT 17
3172 040000 BUSA16= BIT14 ;UNIBUS ADDRESS BIT 16
3173 037777 DLYMSK= 37777 ;DELAY COUNTER
3174 000002 DEXWD3= 2 ;DEPOSIT/EXAMINE WORD 3
3175 000004 DEXWD2= 4 ; . . 2
3176 000006 DEXWD1= 6 ; . . 1
3177 000010 TENAD1= 10 ;KL-10 MEMORY ADDRESS 1
3178 000012 TENAD2= 12 ; . . 2
3179 000014 TO10BC= 14 ;TO -10 BYTE (WORD) COUNT
3180 000016 TO11BC= 16 ;TO -11 BYTE (WORD) COUNT
3181 100000 TO11IB= BIT15 ;INTERRUPT BOTH -10 AND -11 WHEN DONE
3182 020000 TO11BM= BIT13 ;TO -11 BYTE MODE
3183 007777 TO11CM= 7777 ;BYTE (WORD) COUNT
3184 000020 TO10AD= 20 ;TO -10 ADDRESS
3185 000022 TO11AD= 22 ;TO -11 ADDRESS
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP DNMAC X24.07-563 25-JAN-83 09:48 PAGE 2-3
C11DTE.MAC 04-JAN-83 11:22 MACROS AND DEFINITIONS
3186 000024 TO10DT= 24 ;TO -10 DATA WORD
3187 000026 TO11DT= 26 ;TO -11 DATA WORD
3188 ;
3189 000030 DIAG1= 30 ;DIAGNOSTIC/CONTROL REGISTER 1
3190 000032 DIAG2= 32 ;DIAGNOSTIC REGISTER 2
3191 000100 DRESET= BIT6 ;(W) DTE20 RESET
3192 000034 CSTAT= 34 ;CONTROL/STATUS REGISTER
3193 100000 TO10DN= BIT15 ;(R) TO -10 TRANSFER DONE
3194 040000 DON10C= BIT14 ;(W) CLEAR TO -10 DONE
3195 020000 TO10ER= BIT13 ;(R) TO -10 TRANSFER ERROR
3196 010000 ERR10C= BIT12 ;(W) CLEAR TO -10 TRANSFER ERROR
3197 004000 TO11DB= BIT11 ;(R/W) TO -11 DOORBELL
3198 002000 INT11C= BIT10 ;(W) CLEAR TO -11 DOORBELL
3199 000400 TO10DB= BIT8 ;(R/W) TO -10 DOORBELL
3200 000200 TO11DN= BIT7 ;(R) TO -11 TRANSFER DONE
3201 000100 DON11C= BIT6 ;(W) CLEAR TO -11 DONE
3202 000002 TO11ER= BIT1 ;(R) TO -11 TRANSFER ERROR
3203 000001 ERR11C= BIT0 ;(W) CLEAR TO -11 TRANSFER ERROR
3204 000036 DIAG3= 36 ;DIAGNOSTIC/CONTROL REGISTER 3
3205 000001 TO10BM= BIT0 ;(W) TO -10 BYTE MODE
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP DNMAC X24.07-563 25-JAN-83 09:48 PAGE 3
C11DTE.MAC 04-JAN-83 11:22 MACROS AND DEFINITIONS
3207
3208 .SBTTL MOVE TO TOP OF PHYSICAL MEMORY
3209 ;
3210 ; SECONDARY LOADER:
3211 ; THE BM873-YF, -YG, -YH, -YJ ROM LOADS THIS 256. WORD (512. BYTE) PROGRAM
3212 ; STARTING AT LOCATION 0, THEN TRANSFERS TO LOCATION 0.
3213 ;
3214 ; TERTIARY LOADER:
3215 ; THE SECONDARY LOADER LOADS THIS 1K WORD (2048. BYTE) PROGRAM
3216 ; AND TRANSFERS TO IT AT ITS TRANSFER ADDRESS "DTEMOP"
3217 ;
3218 ;
3219 ; THE FOLLOWING REGISTERS ARE LEFT BY THE ROM OR SECONDARY:
3220 ; R1 -- ADDRESS OF DTE20 STATUS WORD "CSTAT"
3221 ;
3222 ;
3223 .DSABL AMA
3224 000000' DTEMOP:
3225 000000' DEBUG HALT,<BOOTSTRAP>,NOP ;(0) MARK START OF BOOTSTRAP
3226 001 .IF DF T$$RLD
3227 000002' 012737 000162' 000004 MOV #30$,@#4 ;(2,4,6) SET UP TIMEOUT TRAP
3228 000010' 012737 000340 000006 MOV #PR7,@#6 ; (10,12,14) TO TRAP TO US
3229 .IFF
3230 BR 10$ ;(2) SKIP OVER TIMEOUT CODE
3231 ;
3232 ; TIMEOUT VECTOR-- USED TO FIND TOP OF MEMORY
3233 ;
3234 .WORD 30$,PR7 ;(4,6) WHERE TO GO ON NXM (FIRST ON KT-11, THEN MEMORY S
3235 ;
3236 10$:
3237 ;
3238 ; WAIT FOR TO -11 DOORBELL IF NOT CLEARED BY ROM
3239 ;
3240 TSTB (R1) ;TO -11 DONE?
3241 BPL 15$ ;NO-- DOOBELL HAS BEEN CLEARED
3242 BIT #TO11DB,(R1) ;DOORBELL RINGING?
3243 BEQ 10$ ;NO-- WAIT
3244 15$:
3245 000 .ENDC
3246 ;
3247 ; FIND TOP BLOCK OF PHYSICAL MEMORY WHERE WE WILL FIT
3248 ;
3249 000016' 012706 001362' MOV #STACK-4,SP ;SET STACK
3250 000022' 012700 160000 MOV #160000,R0 ;START AT EXTERNAL PAGE IF NO KT11
3251 001 .IF DF M$$MGE
3252 000026' 012702 077406 MOV #77406,R2 ;SET MAX SIZE FOR AN APR
3253 000032' 010237 172300 MOV R2,@#KISDR0 ;SET MAP FOR THIS CODE (THIS WILL TRAP TO 30$ IF NO KT11
3254 000036' 010237 172302 MOV R2,@#KISDR1 ;SET OTHER MAP FOR THIS CODE
3255 000042' 010237 172304 MOV R2,@#KISDR2 ;SET MAP FOR FINDING MEMORY
3256 000046' 010237 172316 MOV R2,@#KISDR7 ; THEN FOR EXTERNAL PAGE
3257 000052' 005037 172340 CLR @#KISAR0 ;SET MAP SEGMENT 0 TO THIS CODE
3258 000056' 012737 000200 172342 MOV #200,@#KISAR1 ; ALSO MAP SEGMENT 1
3259 000064' 012737 007600 172344 MOV #7600,@#KISAR2 ;START MEMORY LOOKING AT EXTERNAL PAGE
3260 000072' 012737 007600 172356 MOV #7600,@#KISAR7 ;ALSO MAP EXTERNAL PAGE
3261 000100' 012737 000001 177572 MOV #1,@#SR0 ;ENABLE SEGMENTATION
3262 000106' 012700 040000 MOV #40000,R0 ;POINT TO WHERE MAPPING REGISTER 2 MAPS
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP DNMAC X24.07-563 25-JAN-83 09:48 PAGE 3-1
C11DTE.MAC 04-JAN-83 11:22 MOVE TO TOP OF PHYSICAL MEMORY
3263 000112' 012737 000120' 000004 MOV #20$,@#4 ;SET TIMEOUT TO KT11 FLAVOR
3264 000120' 20$:
3265 000120' 022626 CMP (SP)+,(SP)+ ;REMOVE TRAP
3266 000122' 162737 000020 172344 SUB #M$$XSZ/100,@#KISAR2 ;COUNT DOWN BY OUR SIZE
3267 000130' 005710 TST (R0) ;TRAP BACK TO 20$ IF NON-EX MEM
3268 ;
3269 ; FOUND TOP OF PHYSICAL MEMORY-- NOW COMPUTE PHYSICAL ADDRESS
3270 ;
3271 000132' 013705 172344 MOV @#KISAR2,R5 ;GET PHYSICAL ADDRESS (RIGHT-SHIFTED 6 BITS)
3272 000136' 006305 ASL R5 ;SHIFT
3273 000140' 006305 ASL R5 ; EXTENSION
3274 000142' 006305 ASL R5 ; BITS TO
3275 000144' 006305 ASL R5 ; BITS 15-14
3276 000146' 010504 MOV R5,R4 ;COPY IT
3277 000150' 042704 037777 BIC #^C<BUSA17!BUSA16>,R4 ;TRIM TO RIGHT SIZE
3278 000154' 006305 ASL R5 ;MAKE R5
3279 000156' 006305 ASL R5 ; PHYSICAL ADDRESS
3280 000160' 000411 BR 40$ ;GO ON TO MOVE
3281 .IFTF
3282 ;
3283 ; HERE IF WE MUST FIND TOP OF MEMORY WITHOUT MEMORY MANAGEMENT
3284 ;
3285 000162' 30$:
3286 000162' 022626 CMP (SP)+,(SP)+ ;REMOVE TRAP FROM STACK
3287 000164' 162700 002000 SUB #M$$XSZ,R0 ;DOWN BY ANOTHER BLOCK
3288 000170' 005710 TST (R0) ;TRAP TO 30$ IF STILL NXM
3289 ;
3290 ; FOUND TOP OF PHYSICAL MEMORY
3291 ;
3292 000172' 010005 MOV R0,R5 ;COPY PHYSICAL ADDRESS
3293 .IFT
3294 000174' 005004 CLR R4 ;MEMORY EXTENSION= 0
3295 000176' 012767 000240 000554 MOV #240,CLRSR0 ;CHANGE "CLR (SP)" (SR0) TO NO-OP
3296 .IFF
3297 CLR DLYCNT-CSTAT(R1) ;SET MEMORY EXTENSION BITS FOR DTE20 TO 0
3298 000 .ENDC
3299 ;
3300 ; WE NOW HAVE R0 POINTING TO THE TOP BLOCK IN MEMORY.
3301 ; SINCE THIS IS POSITION-INDEPENDENT, WE CAN MOVE UP THERE NOW.
3302 ;
3303 ; REGISTERS:
3304 ; R0 -- VIRTUAL ADDRESS OF WHERE TO MOVE CODE
3305 ; R1 -- VIRTUAL ADDRESS OF DTE20 "CSTAT" REGISTER
3306 ; R4 -- PHYSICAL ADDRESS OF WHERE TO MOVE CODE (BITS 17-16, IN BITS 15-14)
3307 ; R5 -- PHYSICAL ADDRESS OF WHERE TO MOVE CODE (BITS 15-0)
3308 ;
3309 000204' 40$:
3310 000204' 010006 MOV R0,SP ;COPY VIRTUAL ADDRESS
3311 000206' 010067 000762 MOV R0,PARMAD ;CALCULATE START
3312 000212' 062767 001700 000754 ADD #M$$XSZ-64.,PARMAD ;OF PARAMETER AREA
3313 000220' 012702 000240' MOV #MOP,R2 ;SET SOURCE ADDRESS
3314 000224' 50$:
3315 000224' 012226 MOV (R2)+,(SP)+ ;MOVE A WORD
3316 000226' 020227 001366' CMP R2,#STACK ;MOVED ALL THE CODE?
3317 000232' 103774 BLO 50$ ;NO-- KEEP ON MOVIN'
3318 000234' 000167 001664 JMP CHK.11 ;INVOKE CHECK11 (WILL CALL MOVED CODE)
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP DNMAC X24.07-563 25-JAN-83 09:48 PAGE 4
C11DTE.MAC 04-JAN-83 11:22 MOVE TO TOP OF PHYSICAL MEMORY
3320
3321 .SBTTL MOP PROCESSOR
3322 ;
3323 ; THIS POSITION-INDEPENDENT CODE EXECUTES IN THE TOP BLOCK OF PHYSICAL MEMORY
3324 ;
3325 ; REGISTERS:
3326 ; R1 -- VIRTUAL ADDRESS OF DTE20 "CSTAT" REGISTER
3327 ; R4 -- PHYSICAL ADDRESS OF MOVED CODE (BITS 17-16, IN BITS 15-14)
3328 ; R5 -- PHYSICAL ADDRESS OF MOVED CODE (BITS 15-0)
3329 ; SP -- STACK POINTER (TOP OF VIRTUAL MEMORY)
3330 ;
3331 ; PAGE REGISTERS:
3332 ; 0 -- MAPS TO PHYSICAL 0
3333 ; 1 -- MAPS TO THIS CODE
3334 ; 7 -- MAPS TO EXTERNAL PAGE
3335 ;
3336 000240' MOP:
3337 000240' DEBUG HALT,<MOVED TO TOP OF PHYSICAL>
3338 001 .IF DF E$$CHK!D$$CHK!M$$CHK
3339 000240' 012761 000100 177776 MOV #DRESET,DIAG2-CSTAT(R1) ;RESET ALL TRANSFERS IN PROGRESS
3340 000246' 010706 MOV PC,SP ;SET STACK
3341 000250' 062706 001116 ADD #STACK-.,SP ; BACK, JACK
3342 000254' 105067 000713 CLRB LODNUM ;START LOAD AT ZERO
3343 002 .IF DF L$$DPR
3344 000260' 105067 000712 CLRB PRGDAT ;MARK NO PROGRAM DATA YET
3345 001 .ENDC
3346 000 .ENDC
3347 ;
3348 ; SEND "REQUEST PROGRAM" MESSAGE TO THE -10
3349 ;
3350 000264' 012700 000722 MOV #REQOPS-MOP,R0 ;GET ADDRESS OF MOP "REQUEST PROGRAM"
3351 000270' CALL DTESND ;SEND IT TO -10
3352 ;
3353 ; WAIT FOR -10 TO SEND US SOMETHING-- DOORBELL WILL RING
3354 ;
3355 000274' MOPWAT:
3356 000274' 032711 004000 BIT #TO11DB,(R1) ;DOORBELL RINGING?
3357 000300' 001775 BEQ MOPWAT ;NO-- WAIT UNTIL -10 RINGS US
3358 ;
3359 ; THE FIRST TWO BYTES ARE THE BYTE COUNT.
3360 ;
3361 000302' 012700 001102 MOV #RCVMSG-MOP,R0 ;GET ADDRESS OF BYTE COUNT WORD
3362 000306' 011703 MOV (PC),R3 ;SET LARGE COUNT
3363 000310' 012702 000002 MOV #2,R2 ;SET BYTE COUNT
3364 000314' CALL DTERCV ;RECEIVE BYTE COUNT
3365 ;
3366 ; THE NEXT BYTE IS THE MOP FUNCTION CODE.
3367 ; THE NEXT BYTE IS THE LOAD NUMBER.
3368 ;
3369 000320' 016703 001016 MOV BYTCNT,R3 ;GET BYTE COUNT NOW
3370 000324' 012702 000002 MOV #2,R2 ;ONE BYTE MOP FUNCTION, ONE BYTE LOAD NUMBER
3371 000330' CALL DTERCA ;RECEIVE MOP CODE, ADDRESS IN R0
3372 001 .IF DF E$$CHK
3373 ;
3374 ; VERIFY MOP FUNCTION
3375 ;
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP DNMAC X24.07-563 25-JAN-83 09:48 PAGE 4-1
C11DTE.MAC 04-JAN-83 11:22 MOP PROCESSOR
3376 000334' 116702 001004 MOVB MOPFNC,R2 ;GET MOP FUNCTION
3377 000340' 001406 BEQ 10$ ;(M.PMLT) MEMORY LOAD W/TRANSFER-- OK
3378 002 .IF DF L$$DPR
3379 000342' 120227 000024 CMPB R2,#M.PLDP ;PROGRAM DATA?
3380 000346' 001403 BEQ 10$ ;YES-- OK
3381 001 .ENDC
3382 000350' 120227 000002 CMPB R2,#M.PMLD ;MEMORY LOAD?
3383 000354' ERR NE,<INVALID MOP FUNCTION CODE RECEIVED>,MOPFER
3384 000356' 10$:
3385 ;
3386 ; VERIFY LOAD NUMBER
3387 ;
3388 .IFTF
3389 000356' 116702 000763 MOVB RCVLDN,R2 ;IS LOAD 0?
3390 .IFT
3391 000362' 001403 BEQ 20$ ;YES-- ALWAYS OK
3392 000364' 120267 000603 CMPB R2,LODNUM ;THIS RIGHT LOAD?
3393 000370' ERR NE,<WRONG LOAD NUMBER RECIEVED>,MOPFER
3394 000372' 20$:
3395 000 .ENDC
3396 000372' 105202 INCB R2 ;BUMP LOAD NUMBER
3397 000374' 110267 000573 MOVB R2,LODNUM ;STORE LOAD NUMBER
3398 ;
3399 ; RECEIVE DATA INTO MEMORY
3400 ;
3401 000400' 012702 000004 MOV #4,R2 ;SET TO GET LOAD ADDRESS
3402 001 .IF DF L$$DPR
3403 000404' 126727 000734 000024 CMPB MOPFNC,#M.PLDP ;PROGRAM DATA?
3404 000412' 001005 BNE 40$ ;NO-- USE ADDRESS
3405 000414' 062700 177630 ADD #PRGDAT-LODADR,R0 ;YES-- POINT TO PROGRAM DATA STORAGE AREA
3406 000420' 005402 NEG R2 ;GET -4 FOR TRANSFER ADDRESS
3407 000422' 060302 ADD R3,R2 ;GET SIZE LEFT
3408 000424' 000444 BR 60$ ;AND RECEIVE PROGRAM DATA
3409 ;
3410 000426' 40$:
3411 000 .ENDC
3412 000426' CALL DTERCA ; INTO LODADR
3413 000432' 003450 BLE 70$ ;ONLY TRANSFER -- DO THAT
3414 000434' 126727 000704 000002 CMPB MOPFNC,#M.PMLD ;MEMORY LOAD ONLY?
3415 000442' 001402 BEQ 42$ ;YES-- ALL IS DATA
3416 000444' 162702 000004 SUB #4,R2 ;NO-- SAVE TRANSFER FOR LATER
3417 000450' 42$:
3418 000450' 016700 000672 MOV LODADR+0,R0 ;GET LOW ADDRESS BITS
3419 001 .IF DF M$$MGE
3420 002 .IF DF M$$CHK
3421 000454' 010046 MOV R0,-(SP) ;ALSO SAVE AS ADDRESS RANGE
3422 .IFTF
3423 000456' 016746 000666 MOV LODADR+2,-(SP) ;GET HIGH ADDRESS BITS
3424 .IFT
3425 000462' 032716 177774 BIT #^C<BIT1!BIT0>,(SP) ;EXTRA BITS SET?
3426 000466' ERR NE,<LOAD REQUEST ABOVE 128K>,MOPFER
3427 .IFTF
3428 000470' 006216 ASR (SP) ;SHIFT
3429 000472' 006016 ROR (SP) ; TO
3430 000474' 006016 ROR (SP) ; BITS 15-14
3431 000476' 042716 037777 BIC #^C<BUSA17!BUSA16>,(SP) ;TRIM EXCESS
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP DNMAC X24.07-563 25-JAN-83 09:48 PAGE 4-2
C11DTE.MAC 04-JAN-83 11:22 MOP PROCESSOR
3432 .IFT
3433 000502' 011661 177744 MOV (SP),DLYCNT-CSTAT(R1) ;SET MEMORY BITS
3434 000506' 060266 000002 ADD R2,2(SP) ;COMPUTE FINAL TRANSFER ADDRESS
3435 000512' 103003 BCC 44$ ;NO CARRY-- GO ON
3436 000514' 062716 040000 ADD #BUSA16,(SP) ;CARRY INTO THE HIGH PART
3437 000520' ERR CS,<LOAD REQUEST WRAPS AROUND 128K>,MOPFER
3438 000522' 44$:
3439 000522' 022604 CMP (SP)+,R4 ;VERIFY HIGH ADDRESS
3440 000524' ERR HI,<LOAD REQUEST ABOVE LOADER>,MOPFER
3441 000526' 103402 BLO 46$ ;CHECK LOW ADDRESS ONLY IF EQ
3442 000530' 021605 CMP (SP),R5 ;VERIFY LOW ADDRESS
3443 000532' ERR HI,<LOAD REQUEST ON OR ABOVE LOADER>,MOPFER
3444 000534' 46$:
3445 000534' 005726 TST (SP)+ ;REMOVE LOW ADDRESS
3446 .IFF
3447 MOV (SP)+,DLYCNT-CSTAT(R1) ;SET MEMORY BITS
3448 001 .ENDC
3449 .IFF
3450 002 .IF DF M$$CHK
3451 TST LODADR+2 ;MAKE SURE HIGH ADDRESS IS ZERO
3452 ERR NE,<LOAD REQUEST ABOVE LOADER>,MOPFER
3453 MOV R0,-(SP) ;ALSO SAVE LOW ADDRESS FOR COMPARE
3454 ADD R2,(SP) ;COMPUTE FINAL TRANSFER ADDRESS
3455 CMP (SP)+,R5 ;VERIFY LOW ADDRESS
3456 ERR HI,<LOAD REQUEST ON OR ABOVE LOADER>,MOPFER
3457 001 .ENDC
3458 000 .ENDC
3459 000536' 60$:
3460 000536' CALL DTERCA ;RECEIVE THEM BYTES
3461 000542' 003404 BLE 80$ ;ALL DONE-- DO ANOTHER REQUEST
3462 ;
3463 ; READ TRANSFER ADDRESS INTO LODADR
3464 ;
3465 000544' 012700 001106 MOV #LODADR-MOP,R0 ;POINT BACK TO VIRTUAL MEMORY
3466 000550' CALL DTERCV ;READ THE ADDRESS INTO VIRTUAL MEMORY
3467 000554' 70$:
3468 001 .IF DF S$$CLD
3469 CMPB MOPFNC,#M.PMLD ;MEMORY LOAD ONLY?
3470 BNE 90$ ;NO-- DO THE TRANSFER
3471 .IFTF
3472 ;
3473 ; SEND REQUEST FOR NEXT MEMORY LOAD SEGMENT TO THE -10
3474 ;
3475 000554' 80$:
3476 000554' 012700 000730 MOV #REQMLD-MOP,R0 ;GET ADDRESS OF MOP "REQUEST/ACKNOWLEDGE MEMORY LOAD"
3477 000560' CALL DTESND ;SEND IT TO -10
3478 .IFT
3479 BR MOPWAT ;AND WAIT FOR ANOTHER REQUEST
3480 ;
3481 90$:
3482 .IFF
3483 000564' 126727 000554 000002 CMPB MOPFNC,#M.PMLD ;MEMORY LOAD ONLY?
3484 000572' 001640 BEQ MOPWAT ;YES-- WAIT FOR NEXT REQUEST
3485 000 .ENDC
3486 ;
3487 ; TRANSFER TO ADDRESS NOW IN LODADR.
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP DNMAC X24.07-563 25-JAN-83 09:48 PAGE 4-3
C11DTE.MAC 04-JAN-83 11:22 MOP PROCESSOR
3488 ;
3489 001 .IF DF M$$CHK
3490 000574' 005767 000550 TST LODADR+2 ;MUST HAVE A VIRTUAL (16-BIT) TRANSFER ADDRESS
3491 000600' ERR NE,<TRANSFER ADDRESS ABOVE 32K>
3492 000 .ENDC
3493 001 .IF DF L$$DPR
3494 000602' 010704 MOV PC,R4 ;ADDRESS THE
3495 000604' 062704 000372 ADD #<PRGDAT-.>,R4 ; RECEIVE BUFFER
3496 000610' 016705 000360 MOV PARMAD,R5 ; AND THE STANDARD AREA
3497 000614' 005025 CLR (R5)+ ;CLEAR OUT BINARY SECTION
3498 000616' 012700 000006 MOV #6,R0 ;CLEAR OUT
3499 000622' 012725 020040 110$: MOV #20040,(R5)+ ; NODE AND HOST
3500 000626' 077003 SOB R0,110$ ; NAME AREAS
3501 ;********
3502 000630' 005015 clr (r5) ;make room for host node number
3503 000632' 016705 000336 112$: MOV parmad,R5 ;GET BACK ADDRESS
3504 000636' 105714 TSTB (R4) ;CHK FOR END
3505 000640' 001434 BEQ x118 ;IF 0, NO MORE DATA
3506 000642' 122714 000002 CMPB #2,(R4) ;BINARY? (TYPE=2)
3507 000646' 001412 BEQ 115$ ;NO
3508 000650' 122714 000004 cmpb #4,(r4) ;host node number ?
3509 000654' 001002 bne 113$ ;nop
3510 000656' 062705 000006 add #6.,r5 ;where it goes in top32
3511 000662' 005725 113$: TST (R5)+ ;BEYOND BINARY AREA
3512 000664' 105314 DECB (R4) ;CHK IF HOST NAME (TYPE=3)
3513 000666' 001402 BEQ 115$ ;IF EQ, NODE NAME
3514 000670' 062705 000006 ADD #6,R5 ;GET TO PROPER AREA
3515 000674' 105724 115$: TSTB (R4)+ ;GET COUNT
3516 000676' 112400 MOVB (R4)+,R0
3517 000700' 112425 116$: MOVB (R4)+,(R5)+ ;MOVE NAME OR NUMBER
3518 000702' 005300 DEC R0
3519 000704' 001375 BNE 116$
3520 000706' 000751 BR 112$ ;CHK FOR MORE
3521
3522 ;*******
3523 000 .ENDC
3524 ;
3525 001 .IF DF E$$CHK!D$$CHK!M$$CHK
3526 ;
3527 ; MOP FORMAT ERROR-- READ REST OF MOP MESSAGE AND REQUEST PROGRAM AGAIN
3528 ;
3529 002 .IF DF E$$CHK!M$$CHK
3530 000710' MOPFER:
3531 000710' 012702 000001 MOV #1,R2 ;READ ONE BYTE
3532 000714' 012700 001342' MOV #RCVMSG,R0 ; INTO RCVMSG
3533 000720' CALL DTERCV ; FROM -10
3534 000724' 003371 BGT MOPFER ;NOT DONE-- READ ANOTHER
3535 ; BR MOPERR ;DONE-- ABORT
3536 001 .ENDC
3537 ;
3538 ; ERROR-- BACK TO REQUEST PROGRAM AGAIN
3539 ;
3540 000726' MOPERR:
3541 002 .IF LT <<.-MOP>-256.>
3542 BR MOP ;SEND REQUEST PROGRAM
3543 .IFF
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP DNMAC X24.07-563 25-JAN-83 09:48 PAGE 4-4
C11DTE.MAC 04-JAN-83 11:22 MOP PROCESSOR
3544 000726' 000167 177306 JMP MOP ;SEND REQUEST PROGRAM
3545 001 .ENDC
3546 000 .ENDC
3547
3548
3549 000732' 010106 x118: MOV R1,SP ;COPY DTE STATUS ADDRESS
3550 000734' 010100 MOV R1,R0 ; (ALSO TO HERE)
3551 001 .IF DF L$$DPR
3552 000736' 116701 000234 MOVB PRGDAT,R1 ;IF THERE IS
3553 000742' 001403 BEQ 120$ ; PROGRAM DATA,
3554 000744' 012701 177777 MOV #-1,R1 ; FLAG THE FACT
3555 000750' 010102 MOV R1,R2 ; IN R1 AND R2
3556 000 .ENDC
3557 001 .IF DF M$$MGE
3558 000752' 062706 177746 120$: ADD #DEXWD3-CSTAT,SP ;POINT TO DEXWD3, DEXWD2 FOR CODE
3559 000756' 012726 MOV (PC)+,(SP)+ ;(DEXWD3)
3560 000760' 005016 CLRSR0: CLR (SP) ;TURN OFF SEGMENTATION
3561 000762' 012726 MOV (PC)+,(SP)+ ;(DEXWD2)
3562 000764' 000113 JMP (R3) ;TRANSFER TO LOADED CODE.
3563 000766' 016703 000354 MOV LODADR,R3 ;SET TRANSFER ADDRESS
3564 000772' 012706 177572 MOV #SR0,SP ;ALSO WHERE TO DISABLE SEGMENTATION
3565 000776' DEBUG HALT,<TRANSFER ADDRESS READY>
3566 000776' 000160 177746 JMP DEXWD3-CSTAT(R0) ;NOW TURN OFF SEGMENTATION AND TRANSFER.
3567 .IFF
3568 DEBUG HALT,<TRANSFER ADDRESS READY>
3569 JMP @LODADR ;TRANSFER TO IT.
3570 000 .ENDC
3571 ;*
3572 ;*
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP DNMAC X24.07-563 25-JAN-83 09:48 PAGE 5
C11DTE.MAC 04-JAN-83 11:22 MOP PROCESSOR
3574
3575 .SBTTL DTE SUBROUTINES
3576 ;
3577 ; DTESND -- SEND MESSAGE TO DTE20 FROM VIRTUAL
3578 ; R0 -- ADDRESS WITHIN MOVED CODE TO SEND DATA FROM (BYTE COUNT WORD)
3579 ; R1 -- VIRTUAL ADDRESS OF DTE20 "CSTAT" REGISTER
3580 ; R4 -- PHYSICAL ADDRESS OF MOVED CODE (BITS 17-16, IN BITS 15-14)
3581 ; R5 -- PHYSICAL ADDRESS OF MOVED CODE (BITS 15-0)
3582 ;
3583 001002' DTESND:
3584 001002' 012711 050000 MOV #DON10C!ERR10C,(R1) ;RESET TO10DN AND TO10ER
3585 001006' 012761 000001 000002 MOV #TO10BM,DIAG3-CSTAT(R1) ;SET TO -10 BYTE MODE
3586 001 .IF DF M$$MGE
3587 001014' 010461 177744 MOV R4,DLYCNT-CSTAT(R1) ;SET MEMORY EXTENSION BITS
3588 000 .ENDC
3589 001 .IF DF D$$CHK
3590 MOV R0,-(SP) ;SAVE ADDRESS
3591 .IFTF
3592 001020' 060500 ADD R5,R0 ;CONVERT TO PHYSICAL
3593 001022' 010061 177764 MOV R0,TO10AD-CSTAT(R1) ;SET ADDRESS OF MOP MESSAGE
3594 .IFT
3595 ADD #2,R0 ;DON'T FORGET THE BYTE COUNT!
3596 ADD PC,(SP) ;CONVERT OFFSET WITHIN "MOP" TO VIRTUAL
3597 ADD #MOP-.,(SP) ; . .
3598 ADD @(SP)+,R0 ;UPDATE ADDRESS BY BYTE COUNT
3599 000 .ENDC
3600 001026' 012711 002400 MOV #TO10DB!INT11C,(R1) ;RING -10'S DOORBELL WITH THIS MESSAGE
3601 ;
3602 ; WAIT FOR TO -10 TRANSFER
3603 ;
3604 001032' 10$:
3605 001 .IF DF E$$CHK
3606 001032' 032711 120000 BIT #TO10DN!TO10ER,(R1) ;DONE OR ERROR?
3607 001036' 001775 BEQ 10$ ;NOT DONE OR ERROR-- WAIT
3608 001040' ERR PL,<TO -10 TRANSFER ERROR>
3609 .IFF
3610 TST (R1) ;DONE?
3611 BPL 10$ ;NO-- WAIT
3612 000 .ENDC
3613 001 .IF DF D$$CHK
3614 CMP R0,TO10AD-CSTAT(R1) ;TRANSFER REQUESTED NUMBER OF BYTES?
3615 ERR NE,<TO -10 TRANSFER WRONG NUMBER OF BYTES>
3616 000 .ENDC
3617 001042' RETURN ;RETURN FROM DTESND
3618 ;
3619 ; DTERCV -- RECEIVE MESSAGE FROM DTE20 VIRTUAL
3620 ; R0 -- ADDRESS WITHIN MOVED CODE TO STORE DATA
3621 ; R1 -- VIRTUAL ADDRESS OF DTE20 "CSTAT" REGISTER
3622 ; R2 -- BYTE COUNT TO BE RECEIVED
3623 ; R3 -- GLOBAL BYTE COUNT
3624 ; R4 -- PHYSICAL ADDRESS OF MOVED CODE (BITS 17-16, IN BITS 15-14)
3625 ; R5 -- PHYSICAL ADDRESS OF MOVED CODE (BITS 15-0)
3626 ;
3627 001044' DTERCV:
3628 001 .IF DF M$$MGE
3629 001044' 010461 177744 MOV R4,DLYCNT-CSTAT(R1) ;SET EXTENDED MEMORY BITS
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP DNMAC X24.07-563 25-JAN-83 09:48 PAGE 5-1
C11DTE.MAC 04-JAN-83 11:22 DTE SUBROUTINES
3630 000 .ENDC
3631 001050' 060500 ADD R5,R0 ;MAKE PHYSICAL ADDRESS
3632 ;
3633 ; DTERCA -- RECEIVE FROM DTE20
3634 ; R0 -- PHYSICAL RECEIVE ADDRESS (BITS 15-0)
3635 ; R1 -- VIRTUAL ADDRESS OF DTE20 "CSTAT" REGISTER
3636 ; R2 -- BYTE COUNT TO BE RECEIVED
3637 ; R3 -- GLOBAL BYTE COUNT
3638 ;
3639 001052' DTERCA:
3640 001052' 010061 177766 MOV R0,TO11AD-CSTAT(R1) ;SET ADDRESS
3641 001056' 060200 ADD R2,R0 ;UPDATE ADDRESS
3642 001 .IF DF T$$32K
3643 001060' 103010 BCC 10$ ;NO BOUNDARY-- OK
3644 001062' 001407 BEQ 10$ ;EXACTLY A BOUNDARY-- OK ALSO
3645 ;
3646 ; THE REQUESTED TRANSFER CROSSES A 32K BOUNDARY-- WE MUST
3647 ; DO THE TRANSFER IN TWO PIECES
3648 ;
3649 001064' 010046 MOV R0,-(SP) ;SAVE RESIDUAL COUNT ABOVE BOUNDARY
3650 001066' 160002 SUB R0,R2 ;CHANGE THIS COUNT TO JUST BELOW BOUNDARY
3651 001070' 005000 CLR R0 ;SET FINAL ADDRESS= 0
3652 001072' CALL 10$ ;DO THE FIRST PART OF THE TRANSFER
3653 001076' 012602 MOV (SP)+,R2 ;GET RESIDUAL COUNT
3654 001100' 010200 MOV R2,R0 ;THAT'S FINAL ADDRESS, ALSO
3655 001102' 10$:
3656 000 .ENDC
3657 001102' 012711 000101 MOV #DON11C!ERR11C,(R1) ;RESET TO11DN AND TO11ER
3658 001106' 160203 SUB R2,R3 ;LAST TRANSFER?
3659 001110' 001403 BEQ 20$ ;YES-- SET TO11IB TO INDICATE "DONE" TO BOTH PROCESSORS
3660 001 .IF DF E$$CHK
3661 001112' ERR LT,<TO -11 MESSAGE TO SHORT>
3662 000 .ENDC
3663 001114' 052702 100000 BIS #TO11IB,R2 ;CLEAR TO11IB (WHEN WE NEG R2)
3664 001120' 20$:
3665 001120' 005402 NEG R2 ;NEGATE BYTE COUNT
3666 001122' 042702 050000 BIC #^C<TO11IB!TO11BM!TO11CM>,R2 ;CLEAR UNUSED BITS
3667 001 .IF DF E$$CHK
3668 001126' ERR EQ,<TO -11 ZERO BYTE TRANSFER>
3669 000 .ENDC
3670 001130' 010261 177762 MOV R2,TO11BC-CSTAT(R1) ;START TRANSFER
3671 ;
3672 ; WAIT FOR TO -11 TRANSFER
3673 ;
3674 001134' 30$:
3675 001 .IF DF E$$CHK
3676 001134' 132711 000202 BITB #TO11DN!TO11ER,(R1) ;DONE OR ERROR?
3677 001140' 001775 BEQ 30$ ;NOT DONE OR ERROR-- WAIT
3678 001142' ERR PL,<TO -11 TRANSFER ERROR>
3679 .IFF
3680 TSTB (R1) ;DONE?
3681 BPL 30$ ;NO-- WAIT
3682 000 .ENDC
3683 001 .IF DF D$$CHK
3684 CMP R0,TO11AD-CSTAT(R1) ;TRANSFER PROPER NUMBER OF BYTES?
3685 ERR NE,<TO -11 TRANSFER WRONG NUMBER OF BYTES>
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP DNMAC X24.07-563 25-JAN-83 09:48 PAGE 5-2
C11DTE.MAC 04-JAN-83 11:22 DTE SUBROUTINES
3686 000 .ENDC
3687 001 .IF DF T$$32K
3688 001144' 005700 TST R0 ;THIS TRANSFER CROSS A 32K BOUNDARY?
3689 001146' 001003 BNE 40$ ;NO-- ALL OK
3690 001150' 062761 040000 177744 ADD #BUSA16,DLYCNT-CSTAT(R1) ;YES-- BUMP ADDRESS BITS
3691 001156' 40$:
3692 000 .ENDC
3693 001156' 010302 MOV R3,R2 ;GET REMAINING COUNT, AND TST IT
3694 001160' RETURN ;RETURN FROM DTERCV/DTERCA
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP DNMAC X24.07-563 25-JAN-83 09:48 PAGE 6
C11DTE.MAC 04-JAN-83 11:22 DTE SUBROUTINES
3696
3697 .SBTTL DATA
3698 ;
3699 ; MOP MESSAGE "REQUEST PROGRAM"
3700 ;
3701 001162' REQOPS:
3702 001162' 000004 .WORD REQOPZ ;(2 BYTES) BYTE COUNT
3703 001164' 010 .BYTE M.PRPR ;(0) FUNCTION = REQUEST PROGRAM
3704 001165' 024 .BYTE 20. ;(1) DEVICE TYPE = DTE20/11
3705 001166' 001 .BYTE 1 ;(2) STATION ADDRESS = 1
3706 001 .IF DF S$$CLD
3707 .BYTE 1 ;(3) PROGRAM TYPE = TERTIARY LOADER
3708 .IFF
3709 001167' 002 .BYTE 2 ;(3) PROGRAM TYPE = OPERATING SYSTEM
3710 000 .ENDC
3711 000004 REQOPZ= .-REQOPS-2
3712 .EVEN
3713 ;
3714 ; MOP MESSAGE "REQUEST/ACKNOWLEDGE MEMORY LOAD"
3715 ;
3716 001170' REQMLD:
3717 001170' 000002 .WORD REQMLZ ;(2 BYTES) BYTE COUNT
3718 001172' 012 .BYTE M.PRML ;(0) FUNCTION = REQUEST/ACKNOWLEDGE MEMORY LOAD
3719 001173' 000 LODNUM: .BYTE 0 ;(1) LOAD NUMBER (START AT 0)
3720 000002 REQMLZ= .-REQMLD-2
3721 ;
3722 ; LOAD PARAMETER BLOCK FOR PROGRAM
3723 ;
3724 001 .IF DF L$$DPR
3725 001174' 000000 PARMAD: .WORD 0 ;VIRTUAL ADDRESS OF STANDARD PROGRAM DATA AREA
3726 001176' PRGDAT:
3727 001176' 000 .BYTE 0 ;FIRST BYTE INDICATES EXISTENCE
3728 .IFTF
3729 001177' FIT DTEMOP,M$$XSZ,<CODE>
3730 .IFT
3731 001177' 000143 .BLKB 100.-1 ;LOAD PARAMETERS FOR PROGRAM
3732 000 .ENDC
3733 ;
3734 ; RECEIVED MOP MESSAGE
3735 ;
3736 .EVEN
3737 001342' RCVMSG:
3738 001342' 000001 BYTCNT: .BLKW 1 ;BYTE COUNT
3739 001344' 000001 MOPFNC: .BLKB 1 ;MOP FUNCTION
3740 001345' 000001 RCVLDN: .BLKB 1 ;LOAD NUMBER RECEIVED
3741 001346' 000004 LODADR: .BLKB 4 ;LOAD ADDRESS/TRANSFER ADDRESS
3742 ;
3743 ; STACK
3744 ;
3745 .EVEN
3746 001352' 000006 .BLKW 6
3747 001366' STACK:
3748 ;
3749 001366' FIT MOP,M$$XSZ,<MOVED CODE>
DTEMPT -- DTE20 MOP TERTIARY BOOTSTRAP DNMAC X24.07-563 25-JAN-83 09:48 PAGE 7
C11DTE.MAC 04-JAN-83 11:22 DATA
3751
3752 .TITLE CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC
3753 .SBTTL CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC
3754 ; 22 SEP 1977 DMCC/EGF/JBS/LAD/EJW/TEP
3755 ;
3756 ;
3757 ;
3758 ; THIS CODE IS EXECUTED ONCE AND THEN OVERLAID
3759 ;
3760 ;
3761 ;
3762 ;
3763 ; THE CALL TO CHK11 IS AS FOLLOWS:
3764 ; JSR PC,CHK.11
3765 ; .WORD PTR ;POINTER TO ASCIZ NAME STRING AND EDIT POINTERS
3766 ; RETURNS TO CALLER FOLLOWING POINTER WORD
3767 ;
3768 ; CHK11 WILL DETERMINE WHAT HARDWARE IS PRESENT
3769 ; AND WILL PERFORM A FEW SIMPLE DIAGNOSTIC TESTS OF THE HDW
3770 ;
3771 ; FOR DEV = < DH11, DM11BB, DP11, DQ11, DS11, DU11>
3772 ; CHK11 WILL: JSR PC,CKA'DEV
3773 ; WITH (R3) = DEVICE VECTOR
3774 ; AND (R4) = DEVICE ADR
3775 ; AND (R1) = DEVICE ADR
3776 ; ONCE FOR EACH DEVICE AND A FINAL:
3777 ; JSR PC,CKA'DEV WITH (R4)=0
3778 ;
3779 ; ALL SYMBOLS BEGINING CHK OR CK ARE RESERVED FOR CHK11
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 7-1
C11DTE.MAC 04-JAN-83 11:22 CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC
3781 .ENABL AMA
3782 ; VERSION INFORMATION
3783 ;
3784 001366' 005015 041412 045510 CKNAME: .ASCIZ <15><12><12>"CHK11 HARDWARE TEST"
001374' 030461 044040 051101
001402' 053504 051101 020105
001410' 042524 052123 000
3785 001416' .EVEN
3786 001416' 000003 000040 000004 .WORD CKVMAJ,CKVMIN,CKVEDI
3787 001424' 001430' 001442' .WORD CKVWHN,CKVWHO
3788 ;
3789 000003 CKVMAJ = 3 ;MAJOR VERSION NUMBER
3790 000040 CKVMIN = ' ;MINOR VERSION LETTER (AS 'A)
3791 000004 CKVEDI = 4. ;EDIT NUMBER
3792 000001 ED.HIS = 1 ;TYPE OUT DETAILS
3793 001430' 026467 072552 074554 CKVWHN: .ASCIZ "7-july-82" ;LAST EDIT DATE
001436' 034055 000062
3794 .EVEN
3795 001442' 065162 000160 CKVWHO: .ASCIZ "rjp" ;LAST EDITOR
3796 .EVEN
3797 ;
3798 ;
3799 ;
3800 ;BE SURE ALL THE REGS ARE DEFINED PROPERLY
3801 ;
3802 000000 R0=%0
3803 000001 R1=%1
3804 000002 R2=%2
3805 000003 R3=%3
3806 000004 R4=%4
3807 000005 R5=%5
3808 000006 R6=%6
3809 000006 SP=%6
3810 000007 R7=%7
3811 000007 PC=%7
3812 ;
3813 .IIF NDF FTKG11,FTKG11= 1 ;0 IF KG11 MUST BE PRESENT
3814 ;
3815 ;OTHER DEFAULTS
3816 .IIF NDF FLOATV FLOATV= 300 ;FIRST FLOATING VECTOR
3817 .IIF NDF FLOATD FLOATD= 160000 ;FLOATING DEVICES BEGIN HERE
3818 ;
3819 .IIF NDF DL10AD,DL10AD=.
3820 001446' 000001 .BLKW 1 ;PUT DL10 ADR HERE IF NOWHERE ELSE
3821 ;
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 7-2
C11DTE.MAC 04-JAN-83 11:22 CHK11 MACROS
3823 .SBTTL CHK11 MACROS
3824 .SBTTL CK11SC
3825 ;
3826 ;THIS MACRO IS USED FOR TYPING TEXT AND ERROR REPORTING.
3827 ;
3828 ; ARG BITS ;WHAT TO DO ON A TRAP
3829 000001 CKEFAT= B0 ;FATAL ERROR - HALT
3830 000002 CKEPC= B1 ;PRINT ADDRESS OF ERROR TRAP
3831 000004 CKEMSG= B2 ;PRINT THE MESSAGE FOLLOWING CK11SC
3832 000010 CKEDID= B3 ;PRINT DEVICE ID AND REG
3833 000020 CKEMSE= B4 ;PRINT THE MESSAGE POINTED TO BY
3834 ; THE ADDRESS FOLLOWING THE TRAP.
3835 000040 CKENCL= B5 ;PRINT TEXT WITH OUT CR+LF
3836 000100 CKEGB= B6 ;PRINT ADR/REG=XXXXX GD=XXXXX BD=XXXXX XOR=XXXXX
3837 ;
3838 ; ARG MSG ;TEXT TO BE OUTPUT
3839 ;
3840 ; ARG COMENT ;ADD A COMMENT TO THE TRAP INSTRUCTION
3841 ;
3842 ; ARG STOPCD ;ON A FATAL ERROR VALUE TO BE PUT IN R0
3843 ;
3844 .MACRO CK11SC BITS,MSG,COMENT,STOPCD
3845 .IIF NB,STOPCD, MOV #STOPCD,CKSPCD ;VALUE TO DISPLAY ON FATAL ERROR
3846 .IF B <MSG>
3847 TRAP BITS ;COMENT
3848 .IFF ;B <MSG.>
3849 .IF EQ,<BITS&CKEMSE>
3850 TRAP BITS!CKEMSG ;COMENT
3851 ;;;; ASCIZ <MSG> ;MESSAGE TEXT FOLLOWS TRAP
3852 .IFF
3853 TRAP BITS&<^CCKEMSG> ;COMENT
3854 .WORD MSG ;ADR OF MESSAGE FOLLOWS TRAP
3855 .ENDC ;EQ <BITS..>
3856 .ENDC ;B <MSG.>
3857 .ENDM CK11SC
3858 ;
3859 ;
3860 ;THIS MACRO IS USED FOR SAVING GOOD, BAD, AND ADR ON THE STACK
3861 ;PRIOR TO INVOKING CK11SC
3862 ;
3863 ; ARG GD ;GOOD DATA
3864 ; ARG BD ;BAD DATA
3865 ; ARG ADR ;ADDRESS WHERE IT HAPPENED
3866 ;
3867 .MACRO CKSERR GD,BD,ADR
3868 MOV GD,-(SP) ;SAVE GOOD (GD) ON STACK
3869 MOV BD,-(SP) ;SAVE BAD (BD) ON STACK
3870 MOV ADR,-(SP) ;SAVE ADDRESS (ADR) ON STACK
3871 .ENDM CKSERR
3872 ;
3873 .MACRO ABORT
3874 CK11SC CKEFAT
3875 .ENDM ABORT
3876 ;
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 7-3
C11DTE.MAC 04-JAN-83 11:22 $CKINT
3878 .SBTTL $CKINT
3879 ;
3880 ;THIS MACRO IS USED TO CHECK INTERRUPT CONDITIONS
3881 ;
3882 ; ARG ENBADR ;DEVICE ADR TO ENABLE INTERRUPTS
3883 ;
3884 ; ARG INTADR ;DEVICE ADR TO GENERATE AN INTERRUPT
3885 ;
3886 ; ARG ENLBIT ;BIT TO ENABLE INTERRUPTS
3887 ;
3888 ; ARG INTBIT ;BITS TO CHECK INTERRUPT CONDITIONS
3889 ;
3890 ; ARG BITCLR ;BITS TO CLEAR INTERRUPT CONDITIONS
3891 ; ;IF CLEARING INTERRUPT BITS WON'T CLEAR
3892 ; ;THEM. [EXAMPLE - DL10]
3893 ;
3894 .MACRO $CKINT ENBADR,INTADR,ENLBIT,INTBIT,BITCLR
3895 .IIF NB,ENBADR, MOV ENBADR,R1 ;LOAD ENABLE ADR
3896 .IIF NB,INTADR, MOV INTADR,R2 ;LOAD INTERRUPT ADR
3897 JSR R5,CKINT ;GO CHECK INTERRUPTS
3898 .IIF NDF I.$$$$,I.XXXX = .
3899 .IIF NDF I.$$$$,I.ENAB = . - I.XXXX
3900 .WORD ENLBIT ;ENABLE BITS - ENLBIT
3901 .IIF NDF I.$$$$,I.INTS = . - I.XXXX
3902 .WORD INTBIT ;INTERRUPT BITS - INTBIT
3903 .IIF NDF I.$$$$,I.INTC = . - I.XXXX
3904 .WORD BITCLR+0 ;BITS TO CLEAR DEVICE - ARG MAY BE BLANK
3905 .IIF NDF I.$$$$,I.RTRN = . - I.XXXX
3906 .IIF NDF I.$$$$,I.$$$$ = 0
3907 .ENDM
3908 ;
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 7-4
C11DTE.MAC 04-JAN-83 11:22 DEVICE
3910 .SBTTL DEVICE
3911 ;
3912 ;THIS MACRO IS USED TO TO CALL THE ROUTINE TO CHECK A DEVICE
3913 ;AND ASSIGN THE FLOATING ADDRESS AND VECTORS IF THE DEVICE
3914 ;IS THE TYPE THAT REQUIRES IT.
3915 ;
3916 ; ARG A ;DEVICE ADDRESS OR 0 IF FLOATING DEVICE
3917 ; ARG MAXN ;MAXIMUM NUMBER OF DEVICES
3918 ; ARG VI ;VECTOR INCREMENT
3919 ; ARG HI ;HARDWARE INCREMENT
3920 ; ARG VM ;VECTOR MULTIPLE
3921 ; ARG NAM ;DEVICE NAME ABBREVIATION
3922 ; ARG FV ;FIRST VECTOR ADR (FIXED DEV ONLY)
3923 ;
3924 .MACRO DEVICE A,MAXN,VI,HI,VM,NAM,FV
3925 .IF DF X'NAM'11
3926 X'NAM'$$=X'NAM'11 ;IF A LOCAL DIAGNOSTIC IS DEFINED, USE IT
3927 .IFF
3928 X'NAM'$$=X..... ;ELSE USE NULL DIAGNOSTIC
3929 .ENDC ;DF X'NAM'11
3930 ;
3931 ;
3932 .IF DF CKA'NAM'11
3933 CKA'NAM'$$=CKA'NAM'11 ;IF PROGRAM ENTRY DEFINED, USE IT
3934 .IFF
3935 CKA'NAM'$$=CKPOPJ ;ELSE USE NULL SUBROUTINE
3936 .ENDC ;DF CKA'NAM'11
3937 ;
3938 ;
3939 .IF DF CKV'NAM'11
3940 CV'NAM'$$=CKV'NAM'11 ;IF REAL VECTOR DEFINED, USE IT
3941 .IFF
3942 CV'NAM'$$=0 ;ELSE IGNORE EVERYTHING
3943 .ENDC ;DF CKV'NAM'11
3944 ;
3945 ;
3946 .IIF NDF,NAM'.LVL,NAM'.LVL=0 ;USE LEVEL NAME IF IT EXISTS
3947 ;
3948 JSR R5,CHKDEV ;CALL DEVICE ANALYZER
3949 .IIF NDF D.$$$$,D.XXXX=. ;FIRST TIME THROUGH (ONLY)
3950 ; THE OFFSETS ARE DEFINED
3951 .IIF NDF D.$$$$,D.BADR=.-D.XXXX
3952 .WORD A ;1ST NAM'11 ADR IS A
3953 .IIF NDF D.$$$$,D.MAXL=.-D.XXXX
3954 .BYTE <MAXN> ;MAXIMUM NUMBER OF NAM'11 IS MAXN,
3955 .IIF NDF D.$$$$,D.VINC=.-D.XXXX
3956 .BYTE <VI> ;VECTOR INCREMENT IS VI
3957 .IIF NDF D.$$$$,D.HINC=.-D.XXXX
3958 .BYTE <HI> ;HARDWARE INCREMENT IS HI,
3959 .IIF NDF D.$$$$,D.VMUL=.-D.XXXX
3960 .BYTE <VM> ;1ST VECTOR MULTIPLE IS VM
3961 .IIF NDF D.$$$$,D.CNTP=.-D.XXXX
3962 .WORD 0 ;WILL BECOME NUMBER OF DEVICES
3963 .IIF NDF D.$$$$,D.NAMP=.-D.XXXX
3964 .WORD N.'NAM'11 ;ADDRESS OF ASCIZ NAME STRING
3965 .IIF NDF D.$$$$,D.DIAG=.-D.XXXX
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 7-5
C11DTE.MAC 04-JAN-83 11:22 DEVICE
3966 .WORD X'NAM'$$ ;ADDRESS OF ROUTINE TO CHECK DEVICE
3967 .IIF NDF D.$$$$,D.MAIN=.-D.XXXX
3968 .WORD CKA'NAM'$$ ;CALL FOR MAIN PROGRAM (CKA'NAM'11)
3969 .IIF NDF D.$$$$,D.MPVC=.-D.XXXX
3970 .WORD CV'NAM'$$ ;POINTS TO VECTOR SETUP TABLE
3971 .IIF NDF D.$$$$,D.CNTF=.-D.XXXX
3972 .WORD 0 ;WILL CONTAIN NUMBER OF NAM'11 FOUND
3973 .IIF NDF D.$$$$,D.FRSV=.-D.XXXX
3974 .WORD 0 ;WILL CONTAIN FIRST NAM'11 VECTOR ADR
3975 .IIF NDF D.$$$$,D.PRIO=.-D.XXXX
3976 .WORD NAM'.LVL*40 ;CONTAINS NAM'11 PI LEVEL
3977 .IIF NDF D.$$$$,D.FVFD=.-D.XXXX
3978 .WORD FV ;DEVICE FIRST VECTOR (FIXED DEV ONLY)
3979 .IIF NDF D.$$$$,D.NEXT=.-D.XXXX
3980 .IIF NDF D.$$$$,D.$$$$=0 ;DEFINE DEFINITION STOPPER
3981 .ENDM DEVICE
3982 ;
3983 ;EDIT PAGE BREAK (FF)
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 8
C11DTE.MAC 04-JAN-83 11:22 DEVICE
3985
3986 .SBTTL CHKCHR
3987 ;
3988 ;THIS MACRO IS USED FOR SETTING CHARACTERISTICS TABLE
3989 ;
3990 ; ARG DA ;DEVICE ADDRESS TO PUT IN CHARACTERISTICS TABLE
3991 ;
3992 ; ARG DV ;DEVICE VECTOR ADDRESS TO PUT IN TABLE
3993 ;
3994 ; ARG PI ;DEVICE PI LEVEL TO PUT IN TABLE
3995 ;
3996 .MACRO CHKCHR DA,DV,PI
3997 .IIF NB,<DA>, MOV DA,CHKCHR+CKDA ;PUT DA IN DEVICE ADR SLOT
3998 .IIF NB,<DV>, MOV DV,CHKCHR+CKDV ;PUT DV IN DEVICE VEC SLOT
3999 .IIF NB,<PI>, MOV PI,CHKCHR+CKPI ;PUT PI IN DEVICE INT LVL SLOT
4000 .ENDM CHKCHR
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 8-1
C11DTE.MAC 04-JAN-83 11:22 CKVECT, CKVEC1
4002 .SBTTL CKVECT, CKVEC1
4003 ;
4004 ;"CKVECT" INVOKES "CKVEC1" TO BUILD A TABLE
4005 ;FOR EACH DEVICE. THE INFORMATION IN THE TABLE IS OF THE FOLLOWING FORM:
4006 ;
4007 ; CKV'NAM'11:
4008 ; .BYTE NUMBER OF MAIN ROUTINES
4009 ; .BYTE NUMBER OF VECTORS PER DEV
4010 ; .WORD NAM'VA'NUM
4011 ;
4012 ; EXAMPLE:
4013 ;
4014 ; 1. MAIN PROGRAM HAS 1 DQ11
4015 ; THE MAIN PROGRAM MUST GIVE DQ #0 VECTOR A THE TAG: DQVA0
4016 ; DQ #0 VECTOR B THE TAG: DQVB0
4017 ; THE RESULTING TABLE WILL BE:
4018 ;
4019 ; CKVDQ11:.BYTE 1,2
4020 ; DQAV0
4021 ; DQBV0
4022 ;
4023 ; 2. MAIN PROGRAM HAS 2 DQ11'S
4024 ; THE MAIN PROGRAM MUST GIVE DQ #0 VECTOR A THE TAG: DQVA0
4025 ; DQ #0 VECTOR B THE TAG: DQVB0
4026 ; DQ #1 VECTOR A THE TAG: DQVA1
4027 ; DQ #1 VECTOR B THE TAG: DQVB1
4028 ;
4029 ; THE RESULTING TABLE WILL BE:
4030 ;
4031 ; CKVDQ11:.BYTE 2,2
4032 ; DQVA0
4033 ; DQVB0
4034 ; DQVA1
4035 ; DQVB1
4036 ;
4037 ;
4038 ; ARG NAM ;NAME (2 CHARACTERS)
4039 ; ARG NUMV ;NUMBER OF VECTORS PER DEVICE
4040 ; ARG MAXN ;MAXIMUM NUMBER OF DEVICES OF A TYPE
4041 ;
4042 .MACRO CKVECT NAM,NUMV,MAXN
4043 CKZQZQ=0
4044 CV'NAM'11:.BYTE NAM'QQQ,NUMV ;NUM OF VEC FOR EACH NAM'11 IS NUMV
4045 NAM'QQQ=0 ;DEFINE AND SET TO 0
4046 .REPT MAXN
4047 CKVEC1 NAM,NUMV,\CKZQZQ
4048 CKZQZQ=CKZQZQ+1
4049 .ENDR
4050 .ENDM CKVECT
4051 ;
4052 ;
4053 ;
4054 ;
4055 .MACRO CKVEC1 NAM,NUMV,NUM
4056 .IF DF,NAM'VA'NUM
4057 NAM'QQQ=NAM'QQQ+1 ;COUNT NUMBER IN MAIN
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 8-2
C11DTE.MAC 04-JAN-83 11:22 CKVECT, CKVEC1
4058 .IIF GE,<NUMV-1>, .WORD NAM'VA'NUM ;VECTOR A FOR DEV NAM'11
4059 .IIF GE,<NUMV-2>, .WORD NAM'VB'NUM ;VECTOR B FOR DEV NAM'11
4060 .IIF GE,<NUMV-3>, .WORD NAM'VC'NUM ;VECTOR C FOR DEV NAM'11
4061 .IIF GE,<NUMV-4>, .WORD NAM'VD'NUM ;VECTOR D FOR DEV NAM'11
4062 .ENDC
4063 .ENDM CKVEC1
4064 ;
4065 .MACRO LDVECT DEV
4066 .IF DF DEV'INT
4067 MOV #DEV'INT,DEV'VEC ;SET DEV TO GO TO DEV'VEC
4068 MOV #DEV'LVL*40,DEV'VEC+2 ; AND SET THE LEVEL.
4069 .IFF
4070 MOV 0,@#0 ;LEAVE ROOM FOR ENTRY TO BE PATCHED
4071 MOV 2,@#2 ;
4072 .ENDC
4073 .ENDM LDVECT
4074
4075 ;
4076 ; LIMIT FOR INTERRUPT VECTORS WHICH CHECK11 WILL MONITOR
4077 ;
4078
4079 001300 $$HERE = <CKNAME-DTEMOP>&177700 ;ABSOLUTE ADDRESS OF TOP OF CHK11
4080 001 .IF LT,<1000-$$HERE>
4081 001450' 001300 VCTLIM: .WORD $$HERE
4082 .IFF
4083 VCTLIM: .WORD 1000
4084 000 .ENDC
4085 ;
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 8-3
C11DTE.MAC 04-JAN-83 11:22 CHK11 DEVICE NAME TABLE
4087 .SBTTL CHK11 DEVICE NAME TABLE
4088 ;
4089 .MACRO NAMSTR DEV,ABBR
4090 N.'ABBR'11:
4091 .ASCIZ "DEV"
4092 .ENDM NAMSTR
4093 ;
4094 ;NOTE: THIS LIST IS ALPHABETIZED BY DEVICE NAME, NOT DEVICE ABBREVIATION
4095 ;
4096 001452' NAMSTR <CD20>,CD
4097 001457' NAMSTR <CR11>,CR
4098 001464' NAMSTR <CTY IN>,CI
4099 001473' NAMSTR <CTY OUT>,CO
4100 001503' NAMSTR <DH11>,DH
4101 001510' NAMSTR <DJ11>,DJ
4102 001515' NAMSTR <DL10>,DL0
4103 001522' NAMSTR <DL11-A>,DL.A
4104 001531' NAMSTR <DL11-E>,DL.E
4105 001540' NAMSTR <DM11-BB>,DM
4106 001550' NAMSTR <DMC11>,DMC
4107 001556' NAMSTR <DN11>,DN
4108 001563' NAMSTR <DP11>,DP
4109 001570' NAMSTR <DQ11>,DQ
4110 001575' NAMSTR <DS11>,DS
4111 001602' NAMSTR <DTE20>,DTE2
4112 001610' NAMSTR <DU11>,DU
4113 001615' NAMSTR <DUP11>,DUP
4114 001623' NAMSTR <DV11>,DV
4115 001630' NAMSTR <DZ11>,DZ
4116 001635' NAMSTR <KG11-A>,KG
4117 001644' NAMSTR <KMC11>,KMC
4118 001652' NAMSTR <KT11>,KT
4119 001657' NAMSTR <KW11-L>,KW.L
4120 001666' NAMSTR <KW11-P>,KW.P
4121 001675' NAMSTR <LK11>,LK
4122 001702' NAMSTR <LP11>,LE
4123 001707' NAMSTR <LP20>,LP
4124 001714' NAMSTR <MF11-UP>,MM
4125 001724' NAMSTR <null device>,NL
4126 001740' NAMSTR <PA611-P>,P6
4127 001750' NAMSTR <PA611-R>,R6
4128 001760' NAMSTR <PP11>,PP
4129 001765' NAMSTR <PR11>,PR
4130 001772' NAMSTR <RC11>,RC
4131 001777' NAMSTR <RF11>,RF
4132 002004' NAMSTR <RK11>,RK
4133 002011' NAMSTR <RH11>,RH
4134 002016' NAMSTR <RP11-C>,RP
4135 002025' NAMSTR <RX11>,RX
4136 002032' NAMSTR <TA11>,TA
4137 002037' NAMSTR <TC11>,TC
4138 002044' NAMSTR <TM11>,TM
4139 002052' .EVEN
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 8-4
C11DTE.MAC 04-JAN-83 11:22 CHK11 DEVICE NAME TABLE
4141 002052' 000001 CHKFLG: .BLKW 1 ;CHK11 FLAGS
4142 000001 CKFERR= B0 ;ERROR DETECTED
4143 100000 CKFIDT= B15 ;ID ALREADY TYPED
4144 002054' 000001 CKDEVN: .BLKW 1 ;UNIT # CURRENTLY BEING TESTED
4145 002056' 000001 CKDNAM: .BLKW 1 ;ADR OF DEVICE NAME(.ASCIZ)
4146 ;
4147 002060' 000001 CK.CAL: .BLKW 1 ;RETURN ADDRESS TO CALLER OF CHK11
4148 002062' 000001 CK.DTE: .BLKW 1 ;DTE CSR ADDRESS (FOR REMOTE REPORTING)
4149 ;
4150 002064' 000001 PHYLIM: .BLKW 1 ;LIMIT OF PHYSICAL MEMORY (BLOCKS)
4151 000060 NLINES = 48. ;NUMBER OF DMC/KMC LINES, 4 PER DEVICE
4152 002066' 000000 MDCSRP: .WORD 0 ;POINTER INTO MDCSR TABLE
4153 002070' 000000 000000 000000 MDCSR: .WORD 0,0,0,0,0,0,0,0 ; (TWELVE ENTRIES FOR NOW)
002076' 000000 000000 000000
002104' 000000 000000
4154 002110' 000000 000000 000000 0,0,0,0 ;
002116' 000000
4155 ;
4156 002120' 000207 CKPOPJ: RTS PC ;CKPOPJ IS THE GENERAL NULL SUBROUTINE
4157 002122' 000000 CKHALT: HALT ;CKHALT IS THE HARD ERROR ROUTINE
4158 .IIF NDF CKADLX,CKADLX=CKPOPJ
4159 .IIF NDF CKAMEM,CKAMEM=CKPOPJ
4160 .IIF NDF CKAKW1,CKAKW1=CKPOPJ
4161 .IIF NDF CKAKG1,CKAKG1=CKPOPJ
4162 ;EDIT PAGE BREAK (FF)
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 9
C11DTE.MAC 04-JAN-83 11:22 CHK11 DEVICE NAME TABLE
4164
4165 .SBTTL **** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****
4166 ;
4167 002124' CHK.11: SPL 7 ;PROCESSOR LEVEL TO 7
4168 002132' 010137 002062' MOV R1,CK.DTE ;SAVE THE
4169 002136' 010446 MOV R4,-(SP) ; LOADER'S
4170 002140' 010546 MOV R5,-(SP) ; REGISTERS
4171 002142' 010037 002060' MOV R0,CK.CAL ;SAVE RETURN ADDRESS
4172 002146' 012705 016610' MOV #CHKSTK,R5 ;GET OUR OWN STACK
4173 002152' 010645 MOV SP,-(R5) ;CHAIN TO CALLER'S STACK
4174 002154' 010506 MOV R5,SP ;SWITCH CONTROL
4175 002156' 012737 000300 011520' MOV #FLOATV,CHKFLV ;FLOATING INT VEC BEGIN HERE
4176 002164' 012737 160000 011522' MOV #FLOATD,CHKFLD ;FLOATING DEV ADR'S BEGIN HERE
4177 002172' 005037 002052' CLR CHKFLG ;CLEAR CHK11 FLAGS
4178 002176' 005037 016252' CLR CKSPCD ;CLEAR STOP CODE; NON 0 ON FATAL
4179 ; ERROR PUTS C(CKSPCD) IN R0.
4180 ;
4181 ;INITIALIZE VECTOR SPACE
4182 ;
4183 ; THIS ROUTINE LOADS THE VECTOR AREA WITH ADDRESSES POINTING
4184 ; INTO TABLE/CODE CHKINT - CHKINT IS USED TO FIELD MOST CHK11
4185 ; INTERRUPTS AND CAN TELL WHICH VECTOR WAS USED BY DECODING
4186 ; THE CONDITION CODE BITS AND THE ENTRY IN CHKINT WHICH WAS USED -
4187 ; THE REFERENCES TO "LIMIT" AND "ADD #CHKISZ,R1" IN THE CODE BELOW
4188 ; ARE WHAT DETERMINE THE CHKINT ENTRY LOCATION
4189 ;
4190 002202' 013703 000014 CKINTS: MOV @#14,R3 ;SAVE ODT ADDRESS
4191 002206' 005000 CLR R0 ;START LOADING AT ADR 0
4192 002210' 012701 011356' MOV #CHKINT,R1 ;WHERE TO GO ON INTERRUPT
4193 002214' 012702 000340 MOV #BR7,R2 ;INTERRUPT PS
4194 ;
4195 002220' 010120 33$: MOV R1,(R0)+ ;SET INTERRUPT VECTOR
4196 002222' 010220 MOV R2,(R0)+ ;SET INTERRUPT LEVEL
4197 002224' 005202 INC R2 ;UP VECTOR COUNTER
4198 002226' 032700 000077 BIT #77,R0 ;HAVE WE HIT A LIMIT ?
4199 002232' 001004 BNE 35$ ;NO
4200 002234' 062701 000012 ADD #CHKISZ,R1 ;YES, CHANGE VECT TO NEXT CHKINT BLOCK
4201 002240' 012702 000340 MOV #BR7,R2 ;RESET PS
4202 002244' 020037 001450' 35$: CMP R0,VCTLIM ;FILL VECTORS UP TO VECTOR LIMIT
4203 002250' 103763 BLO 33$ ;MORE TO DO
4204 ;
4205 002252' 012737 015600' 000034 MOV #CHKERR,TRPVEC ;WHERE TO GO ON TRAP INSTRUCTION
4206 002260' 010337 000014 MOV R3,@#14 ;RESTORE ODT ADDRESS
4207 002264' FALLR CHKCTY ;
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 9-1
C11DTE.MAC 04-JAN-83 11:22 **** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****
4209 ;NOW CHECK THE CTY (CONSOLE TTY)
4210 ;
4211 002264' 012737 002336' 000004 CHKCTY: MOV #10$,NXMVEC ;WHERE TO TRAP IF NO CTY
4212 002272' 042737 100000 002052' BIC #CKFIDT,CHKFLG ;SO WE PRINT DEV ID
4213 002300' 012737 100000 014524' MOV #100000,CKTRPT ;ASSUME A CTY EXISTS AS THE REPORT DEV
4214 002306' 005737 177564 TST CTOSTS ;IF ANY OF THESE FOUR TST'S TRAPS
4215 002312' 005737 177566 TST CTOCHR ; THEN WE DEEM THERE IS NO CTY
4216 002316' 005737 177560 TST CTISTS ;
4217 002322' 005737 177562 TST CTICHR ;
4218 002326' 012737 015534' 000004 MOV #CKBUST,NXMVEC ;CTY EXISTS, RESET BUS ERROR VECTOR
4219 002334' 000411 BR 14$ ;
4220 ;
4221 002336' 022626 10$: CMP (SP)+,(SP)+ ;POP TRAP
4222 002340' 012737 000200 014524' MOV #200,CKTRPT ;NO CTY EXISTS, ASSUME REMOTE REPORTING
4223 002346' 012737 015534' 000004 MOV #CKBUST,NXMVEC ;RESET BUS ERROR VECTOR
4224 002354' 000137 002676' JMP CHKCKD ;SKIP TO END OF CTY CHECK
4225 ;
4226 002360' 14$: ; CHECK TO SEE IF CTY OUTPUT SHOULD BE
4227 ; SUPPRESSED OR DIVERTED OR BOTH
4228 002360' 012702 100000 MOV #100000,R2 ;PLAN TO DIRECT OUTPUT TO CTY
4229 000000 .REPT 0 ;***OMITTED***;
4230 30$: JSR R0,CKTCRL ;ASK FOR DIRECTION
4231 .ASCIZ "IS THIS CTY THE DEFAULT REPORTING DEVICE? (Y OR N) "<377>
4232 .EVEN ;
4233 JSR PC,CKGYES ;WAIT FOR ANSWER
4234 BCS 30$ ;
4235 BEQ 40$ ;"YES"
4236 CLR R2 ;"NO", DON'T OUTPUT TO CTY
4237 40$: JSR R0,CKTCRL ;CHECK FOR REMOTE REPORTING
4238 .ASCIZ "IS OUTPUT TO BE DIRECTED TO A REMOTE RECORDER? (Y OR N) "<377>
4239 .EVEN ;
4240 JSR PC,CKGYES ;WAIT FOR ANSWER
4241 BCS 40$ ;
4242 BNE 50$ ;"NO", DON'T OUTPUT REMOTELY
4243 .ENDR ;***OMITTED PART***;
4244 002364' 052702 000200 BIS #200,R2 ;REPORT OUTPUT REMOTELY
4245 002370' 010237 014524' 50$: MOV R2,CKTRPT ;SAVE REQUESTED MODE
4246 ;TEST CTY
4247 002374' 012704 177564 MOV #CTOSTS,R4 ;CTY OUTPUT STATUS
4248 002400' 010437 016254' MOV R4,CHKCHR+CKDA ;DEV ADR
4249 002404' 010401 MOV R4,R1 ;CHKBIT NEEDS ADR IN R1
4250 002406' 012737 000064 016256' MOV #CTOVEC,CHKCHR+CKDV;CTY OUTPUT VECTOR
4251 002414' 012737 001473' 002056' MOV #N.CO11,CKDNAM ;NAME ADDRESS
4252 002422' 005037 002054' CLR CKDEVN ;DEVICE 0
4253 002426' 004537 010416' JSR R5,CHKBIT ;CHECK THE FOLLOWING BITS FOR R/W
4254 002432' 000104 .WORD CO.INE!CO..MM ;BITS TO CHECK FOR R/W
4255 002434' 012714 000100 MOV #CO.INE,(R4) ;ENABLE INTERRUPTS
4256 002440' 004537 010644' JSR R5,CHKINL ;CHECK INTERRUPT AND FIND DEV LEVEL
4257 002444' 177777 .WORD ALLBTS ;TIME LOOP CONSTANT
4258 002446' 005014 CLR (R4) ;CLR DEV OUT
4259 ;
4260 002450' FALLR CHKCKB ;
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 9-2
C11DTE.MAC 04-JAN-83 11:22 **** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****
4262 ;NOW CHECK THE KBRD SECTION
4263 ;
4264 002450' 042737 100000 002052' CHKCKB: BIC #CKFIDT,CHKFLG ;PRINT DEV ID
4265 002456' 012704 177560 MOV #CTISTS,R4 ;KBRD STATUS REG
4266 002462' 010437 016254' MOV R4,CHKCHR+CKDA ;DEV ADR
4267 002466' 010401 MOV R4,R1 ;CHKBIT NEEDS ADR IN R1
4268 002470' 012737 000060 016256' MOV #CTIVEC,CHKCHR+CKDV ;VECTOR ADR
4269 002476' 012737 001464' 002056' MOV #N.CI11,CKDNAM ;ADR OF DEV NAME
4270 002504' 004537 010416' JSR R5,CHKBIT ;CHECK THE FOLLOWING BITS
4271 002510' 000100 .WORD CI.INE ;BITS TO CHECK R/W
4272 ;
4273 002512' 012700 001366' 15$: MOV #CKNAME,R0 ;GET ADDR OF .ASCIZ \PROG NAME\
4274 002516' 004737 014526' JSR PC,CKTTXT ;TYPE PROGRAM NAME, ETC.
4275 002522' 010002 MOV R0,R2 ;GET ADDR OF EDIT DATA (FOLLOWS PROG NAME)
4276 002524' 004037 014566' JSR R0,CKTCRL ;
4277 002530' 062566 071562 067551 .ASCIZ "version " ;
002536' 020156 000
4278 002542' .EVEN ;
4279 002542' 012200 MOV (R2)+,R0 ;GET MAJOR VERSION NUMBER
4280 002544' 004737 014614' JSR PC,CKTOCT ;TYPE IT
4281 002550' 012201 MOV (R2)+,R1 ;GET MINOR VERSION LETTER
4282 002552' 001402 BEQ 20$ ;NOT THERE
4283 002554' 004737 014666' JSR PC,CKTCHR ;TYPE IT
4284 002560' 112701 000050 20$: MOVB #'(,R1 ;TYPE EDIT NUMBER IN ()
4285 002564' 004737 014666' JSR PC,CKTCHR ;
4286 002570' 012200 MOV (R2)+,R0 ;GET EDIT NUMBER
4287 002572' 004737 014614' JSR PC,CKTOCT ;TYPE IT
4288 002576' 112701 000051 MOVB #'),R1 ;
4289 002602' 004737 014666' JSR PC,CKTCHR ;
4290 001 .IF DF ED.HIS ;DO NEXT ONLY IF LAST EDIT HISTORY REQ'D
4291 002606' 004037 014572' JSR R0,CKTSTR ;
4292 002612' 067440 020146 000 .ASCIZ " of " ;
4293 002620' .EVEN ;
4294 002620' 012200 MOV (R2)+,R0 ;DATE STRING ADDRESS
4295 002622' 004737 014526' JSR PC,CKTTXT ;
4296 002626' 004037 014572' JSR R0,CKTSTR ;
4297 002632' 061040 020171 000 .ASCIZ " by " ;
4298 002640' .EVEN ;
4299 002640' 012200 MOV (R2)+,R0 ;
4300 002642' 004737 014526' JSR PC,CKTTXT ;
4301 000 .ENDC ;DF ED.HIS ;
4302 002646' 004037 014566' JSR R0,CKTCRL ;
4303 002652' 062524 072163 067151 .ASCIZ "Testing begins..."<15><12>
002660' 020147 062542 064547
002666' 071556 027056 006456
002674' 000012
4304 .EVEN ;
4305 ;
4306 002676' CHKCKD: FALLR CKCPU ;
4307 ;EDIT PAGE BREAK (FF)
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 10
C11DTE.MAC 04-JAN-83 11:22 **** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****
4309
4310 ; DETERMINE PROCESSOR MODEL NUMBER
4311 ;
4312 002676' 004037 014566' CKCPU: JSR R0,CKTCRL ;
4313 002702' 044124 020105 051120 .ASCIZ "THE PROCESSOR SEEMS TO BE A "
002710' 041517 051505 047523
002716' 020122 042523 046505
002724' 020123 047524 041040
002732' 020105 020101 000
4314 002740' .EVEN ;
4315 ;
4316 002740' 012700 003126' MOV #CKWRD,R0 ;GET ADDRESS OF TEST WORD
4317 ;;;; MOV R0,(R0)+ ;STORE AND AUTOINC ON SAME REGISTER
4318 002744' 010020 .WORD 10020 ; (PRE-ASSEMBLE TO PREVENT Z ERROR)
4319 002746' 012700 002770' MOV #5$,R0 ;GET BUMPER TABLE ADDRESS
4320 002752' 023727 003126' 003126' CMP CKWRD,#CKWRD ;BUMP BEFORE STORE?
4321 002760' 001402 BEQ 3$ ;NO, CPU IS NEWER THAN THAT
4322 ;YES, CPU IS OF /20 /40 VINTAGE
4323 002762' 062700 000004 ADD #9$-5$,R0 ;MODIFY ADDRESS INTO BUMPER TABLE
4324 ;
4325 002766' 3$: ;;; JMP (R0)+ ;BUMP BEFORE JUMP?
4326 002766' 000120 .WORD 120 ; (PRE-ASSEMBLE TO PREVENT Z ERROR)
4327 002770' 000403 5$: BR 10$ ;NO, CPU IS LIKE /04 /34 /45
4328 002772' 000562 BR CK05 ;YES, CPU IS /05 /10
4329 ;BUMP BEFORE JUMP?
4330 002774' 000572 9$: BR CK40 ;NO, CPU IS /40
4331 002776' 000563 BR CK20 ;YES, CPU IS /15 OR /20
4332 ;
4333 003000' 10$: ;CPU IS /04 /34/ OR /40 OR HIGHER
4334 003000' 013746 000004 MOV @#4,-(SP) ;SAVE BUS ERROR VECTOR
4335 003004' 012737 003044' 000004 MOV #20$,@#4 ;SET LOCAL ONE
4336 003012' 012700 177770 MOV #177770,R0 ;TRY TO FIND NONEXISTENT MEMORY
4337 003016' 005710 15$: TST (R0) ;IS THIS MEMORY HERE?
4338 003020' 162700 000002 SUB #2,R0 ;YES, THERE WAS NO TRAP
4339 003024' 001374 BNE 15$ ;LOOK AGAIN (UNLESS ALL MEMORY SEEN)
4340 ;THIS IS RIDICULOUS! THERE ARE NO HOLES
4341 ; IN MEMORY, OR THE BUS ERROR TRAPPER
4342 ; DOESN'T WORK
4343 003026' 17$: CK11SC CKEPC,<NO NXM??>,<NO NONEXISTENT MEMORY TRAP>
4344 003030' 047516 047040 046530 .ASCIZ "NO NXM??" ;
003036' 037477 000
4345 003042' .EVEN ;
4346 003042' 000410 BR 26$ ;
4347 ;
4348 003044' 012737 003060' 000004 20$: MOV #25$,@#4 ;SET UP NEXT BUS ERROR ADDRESS
4349 003052' 010001 MOV R0,R1 ;COPY ADDRESS WHICH DIDN'T ANSWER
4350 003054' 010220 MOV R2,(R0)+ ;REPEAT TRAP
4351 003056' 000763 BR 17$ ;YOU CAN'T GET HERE UNLESS TRAP FAILS
4352 003060' 062706 000010 25$: ADD #10,SP ;POP BOTH TRAPS
4353 003064' 012637 000004 26$: MOV (SP)+,@#4 ;RESTORE SAVED BUS ERROR VECTOR
4354 003070' 020001 CMP R0,R1 ;DID R0 POP DURING TRAP?
4355 003072' 001517 BEQ CK04 ;NO, CPU IS /04
4356 003074' 013746 000010 MOV @#10,-(SP) ;YES, SAVE RESERVED INSTRUCTION VECTOR
4357 003100' 012737 003114' 000010 MOV #30$,@#10 ;SET UP A NEW ONE
4358 003106' 005000 CLR R0 ;R0 WILL STAY CLEAR IF CPU IS /45
4359 003110' 106700 .WORD 106700 ;11/34 MFPS INSTR (OP NAME=A MACRO NAME)
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 10-1
C11DTE.MAC 04-JAN-83 11:22 **** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****
4360 003112' 005200 INC R0 ;DIDN'T TRAP, CPU IS /34 (OR /03)
4361 003114' 012637 000010 30$: MOV (SP)+,@#10 ;RESTORE RES INSTR VECTOR
4362 003120' 005700 TST R0 ;WAS THERE A TRAP?
4363 003122' 001114 BNE CK34 ;NO, CPU IS 11/34
4364 003124' 000521 BR CK45 ;YES, CPU IS 11/45
4365 ;
4366 003126' 000000 CKWRD: .WORD 0 ;CPU ID TEST WORD
4367 003130' 000000 CKCPUN: .WORD 0 ;CPU MODEL NUMBER (DECIMAL)
4368 .ENABL LSB ;
4369 003132' 004 4$: .BYTE 4.
4370 003133' 113 030504 026461 .ASCIZ "KD11-D (11/04)"
003140' 020104 030450 027461
003146' 032060 000051
4371 003152' 005 5$: .BYTE 5.
4372 003153' 113 030504 026461 .ASCIZ "KD11-B (11/05 OR 11/10)"
003160' 020102 030450 027461
003166' 032460 047440 020122
003174' 030461 030457 024460
003202' 000
4373 003203' 024 20$: .BYTE 20.
4374 003204' 040513 030461 024040 .ASCIZ "KA11 (11/20) OR KC11 (11/15)"
003212' 030461 031057 024460
003220' 047440 020122 041513
003226' 030461 024040 030461
003234' 030457 024465 000
4375 003241' 042 34$: .BYTE 34.
4376 003242' 042113 030461 042455 .ASCIZ "KD11-E (11/34)"
003250' 024040 030461 031457
003256' 024464 000
4377 003261' 050 40$: .BYTE 40.
4378 003262' 042113 030461 040455 .ASCIZ "KD11-A (11/35 OR 11/40)"
003270' 024040 030461 031457
003276' 020065 051117 030440
003304' 027461 030064 000051
4379 003312' 055 45$: .BYTE 45.
4380 003313' 113 030502 026461 .ASCIZ "KB11-A (11/45)"
003320' 020101 030450 027461
003326' 032464 000051
4381 .EVEN ;
4382 ;
4383 003332' 012700 003132' CK04: MOV #4$,R0 ;
4384 003336' 000417 BR CKCPUE ;
4385 ;
4386 003340' 012700 003152' CK05: MOV #5$,R0 ;
4387 003344' 000414 BR CKCPUE ;
4388 ;
4389 003346' 012700 003203' CK20: MOV #20$,R0 ;
4390 003352' 000411 BR CKCPUE ;
4391 ;
4392 003354' 012700 003241' CK34: MOV #34$,R0 ;
4393 003360' 000406 BR CKCPUE ;
4394 ;
4395 003362' 012700 003261' CK40: MOV #40$,R0 ;
4396 003366' 000403 BR CKCPUE ;
4397 ;
4398 003370' 012700 003312' CK45: MOV #45$,R0 ;
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 10-2
C11DTE.MAC 04-JAN-83 11:22 **** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****
4399 003374' 000400 BR CKCPUE ;
4400 .DSABL LSB ;
4401 ;
4402 003376' 112037 003130' CKCPUE: MOVB (R0)+,CKCPUN ;SAVE PROCESSOR MODEL NUMBER AWAY FOR REFERENCE
4403 003402' 004737 014526' JSR PC,CKTTXT ;TYPE OUT THE ID TEXT
4404 001 .IF NE 1
4405 003406' 004037 014566' JSR R0,CKTCRL ;TYPE OUT EXPECTED MODEL NUMBER
4406 003412' 041411 045510 030461 .ASCIZ " CHK11 EXPECTED AN 11/"
003420' 042440 050130 041505
003426' 042524 020104 047101
003434' 030440 027461 000
4407 003442' .EVEN ;
4408 003442' 012700 000042 MOV #PDP11,R0 ;ADD NUMBER
4409 003446' 004737 014762' JSR PC,CKTDEC
4410 000 .ENDC ;NE 1
4411 ;
4412 003452' FALLR CKDLXB ;FALL INTO DL10 SEEKER
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 10-3
C11DTE.MAC 04-JAN-83 11:22 **** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****
4414 ;DETERMINE THE DL10 BASE ADDRESS
4415 ;
4416 ;
4417 .IIF NDF FTDL10,FTDL10=0
4418 ;
4419 003452' CKDLXB:
4420 001 .IF NE FTDL10
4421 MOV #CHKFFB,R0 ;SET ADDRESS TO START LOOKING FOR A DL10
4422 CLR DL10AD ;SET FOR NO DL10
4423 MOV #10$,NXMVEC ;WHERE TO GO ON A NXM
4424 3$: MOV #DL.CNX!DL.CPE!DL.CWC!DL.11C,R1 ;BITS TO SET IN DL10
4425 MOV (R0),R2 ;SAVE CONTENTS AS IT MAY BE CORE
4426 BIS R1,(R0) ;CLEAR THESE CONDITIONS IF DL10
4427 ; OR IF MEMORY BITS WILL BE SET
4428 ASL R1 ;POSITION BITS FOR SETTING CONDITIONS
4429 CLR (R0) ;SEE IF SOMETHING THERE AND CLEAR IF IT IS THERE
4430 TST (R0) ;MAKE SURE ITS CLEAR SINCE ITS THERE
4431 BEQ 1$ ;BRANCH IF IT CLEARED
4432 CLR -(SP) ;RESULT SHOULD BE 0
4433 MOV (R0),-(SP) ;SAVE WHAT IT WAS
4434 MOV R0,-(SP) ;SAVE THE ADDRESS WHERE IT HAPPENED
4435 CK11SC <CKEPC!CKEGB>,<Can't Clear DL10 or MEM>,<CLR @R0 DIDN'T CLEAR @R0>,<S..D
4436 .ASCIZ \Can't Clear DL10 or MEM\<377>
4437 .EVEN
4438 BR 1$ ;
4439 1$: BIS R1,(R0) ;NOW SET DL10 BITS
4440 CMP R1,(R0) ;SEE IF THEY SET BE IT MEMORY OR DL10
4441 BEQ 2$ ;BRANCH IF THE SET OK
4442 CKSERR R1,<(R0)>,R0 ;SAVE GD,BD,ADR
4443 CK11SC <CKEPC!CKEGB>,<DL10 or Mem Err>,<EITHER DL10 IS BAD OR MEMORY IS BAD>,<S
4444 .ASCIZ \DL10 or Mem Err\<377>
4445 .EVEN
4446 BR 2$ ;
4447 2$: CLC ;CARRY MUST BE CLR
4448 ROR R1 ;SHIFT TO CLEAR BITS JUST SET
4449 BIS R1,(R0) ;SET BITS, IF DL10 ALL BITS SHOULD BE 0
4450 TST (R0) ;SEE IF ALL 0
4451 BEQ 4$ ;BRANCH IF SO
4452 6$: MOV R2,(R0) ;RESTORE MEMORY
4453 7$: ADD #4000,R0 ;GO TO NEXT POSSIBLE DL10 ADR
4454 CMP R0,#160000 ;TIME TO STOP CHECKING FOR DL10?
4455 BLO 3$ ;BRANCH IF NOT
4456 BR 5$ ;NEVER FOUND A DL10
4457 ;
4458 10$: ADD #4,P ;FLUSH NXM TRAP
4459 BR 7$ ;GO CHECK NEXT POSSIBLE ADR
4460 ;
4461 4$: ;DL10 FOUND
4462 MOV R0,DL10AD ;PUT DL10 BASE ADDR WE FOUND AWAY
4463 JSR PC,CKADLX ;PRINT DL10 BASE ADDR
4464 000 .ENDC ;NE FTDL10
4465 003452' 5$: FALLR CHKMAP ;
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 10-4
C11DTE.MAC 04-JAN-83 11:22 **** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****
4467 ; CHECK TO SEE IF SYSTEM IS MAPPED
4468 ;
4469 003452' CHKMAP:
4470 .IIF NDF MMGSR0,MMGSR0 = 177572
4471 ;
4472 003452' 012737 003466' 000004 MOV #48$,NXMVEC ;SET UP BUS ERROR VECTOR
4473 003460' 013700 177572 MOV MMGSR0,R0 ;READ MEM MGT STATUS
4474 ;
4475 001 .IF NDF M$$MGE
4476 CK11SC <CKEMSG>,<WRONG VERSION>
4477 .ASCIZ "A NON-MAPPING CHK11 IS LOADED ON A MAPPED SYSTEM"<15><12><377>
4478 .EVEN ;
4479 BR 63$ ;
4480 ;
4481 48$: CMP (SP)+,(SP)+ ;POP TRAP, IGNORE IT (IT WAS HOPED FOR)
4482 FALLR 63$ ;DROP RIGHT OUT
4483 .IFF
4484 003464' 000433 BR 63$ ;NO TRAP, THAT'S WHAT WAS EXPECTED
4485 ;TRAP, REPORT
4486 003466' 48$: CK11SC <CKEMSG>,<WRONG VERSION>
4487 003470' 020101 040515 050120 .ASCIZ "A MAPPING CHK11 IS LOADED ON UNMAPPED HARDWARE"<15><12><377>
003476' 047111 020107 044103
003504' 030513 020061 051511
003512' 046040 040517 042504
003520' 020104 047117 052440
003526' 046516 050101 042520
003534' 020104 040510 042122
003542' 040527 042522 005015
003550' 000377
4488 003552' ABORT ;
4489 .EVEN ;
4490 000 .ENDC ;NDF M$$MGE
4491 003554' 63$: FALLR CHKMMG ;CHECK MEMORY MGT
4492 ;EDIT PAGE BREAK (FF)
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 11
C11DTE.MAC 04-JAN-83 11:22 **** CHK.11 - CHK11 ENTRY, PROGRAM SETUP ****
4494
4495 .SBTTL CHECK KT11 HARDWARE
4496 ;
4497 ;VERIFY MEMORY MANAGEMENT HARDWARE - *** CODED FOR 11/34 SUBSET ***
4498 ;
4499 003554' CHKMMG: ;
4500 001 .IF DF M$$MGE
4501 003554' 004037 014566' JSR R0,CKTCRL ;
4502 003560' 045412 030524 020061 .ASCIZ <12>"KT11 memory management test"
003566' 062555 067555 074562
003574' 066440 067141 063541
003602' 066545 067145 020164
003610' 062564 072163 000
4503 003616' .EVEN ;
4504 003616' 012704 000250 MOV #MMGVEC,R4 ;SAVE ADDRESS OF MEM MGT VECTOR
4505 003622' 011446 MOV (R4),-(SP) ;SAVE CURRENT MEM MGT VECTOR
4506 003624' 012714 004002' MOV #25$,(R4) ;SET MEM MGT VECTOR TO "BAD TRAP"
4507 003630' 012700 077406 MOV #PD.PLF!<6*PD.AC0>,R0 ;SET UP CONSTANT FOR FULL PAGE, R/W ACCESS
4508 003634' 032737 000001 177572 BIT #MG.ENB,MMGSR0 ;MEM MGT ALREADY ENABLED?
4509 003642' 001020 BNE 10$ ;YES, DON'T MESS
4510 003644' 005037 172340 CLR KISAR0 ;NO, SET UP REASONABLY, AS APR0 TO PAGE ZERO
4511 003650' 010037 172300 MOV R0,KISDR0 ;FULL PAGE ACCESS, R/W, EXPAND UP
4512 003654' 012737 000200 172342 MOV #PAGE1B,KISAR1 ;MAP THIS PROGRAM TO SELF
4513 003662' 010037 172302 MOV R0,KISDR1 ;INCLUDE SAME TOTAL ACCESS
4514 003666' 012737 007600 172356 MOV #PAGE7B,KISAR7 ;SPECIAL MAP TO I/O PAGE
4515 003674' 010037 172316 MOV R0,KISDR7 ;
4516 003700' 005237 177572 INC MMGSR0 ;TURN ON MEMORY MANAGEMENT
4517 ;
4518 003704' 10$: ;RELOCATION CONSISTENCY CHECK
4519 ;
4520 003704' 013737 172340 172354 MOV KISAR0,KISAR6 ;MAP APR6 TO SAME MEMORY AS APR0
4521 003712' 013737 172300 172314 MOV KISDR0,KISDR6 ; AND COPY PDR OVER TOO
4522 003720' 012701 000302 MOV #PAGE0+302,R1 ;GET POINTERS INTO PAGES 0 AND 6
4523 003724' 012702 140302 MOV #PAGE6+302,R2 ; THE OFFSET INTO THE PAGE IS MOSTLY ARBITRARY
4524 ;
4525 003730' 011146 MOV (R1),-(SP) ;SAVE THE CURRENT CONTENTS OF THE DIDDLE LOC
4526 003732' 010712 16$: MOV PC,(R2) ;ENSURE TEST LOCATION HAS NON-ZERO CONTENTS
4527 003734' 005011 CLR (R1) ;CLEAR THE TEST LOCATION THROUGH THE OTHER PTR
4528 003736' 005712 TST (R2) ;DID IT REALLY CLEAR?
4529 003740' 001015 BNE 20$ ;NO, WHAT A SHAME
4530 003742' 010711 MOV PC,(R1) ;YES, ENSURE IT'S NOT ZERO AGAIN
4531 003744' 021112 CMP (R1),(R2) ;STILL MATCH?
4532 003746' 001012 BNE 20$ ;NO, THAT'S FUNNY, IT WORKED BEFORE
4533 ;
4534 003750' 023737 172340 172354 CMP KISAR0,KISAR6 ;DONE OFFSET TEST YET?
4535 003756' 001015 BNE 30$ ;YES
4536 003760' 062737 000002 172354 ADD #2,KISAR6 ;NO, CHANGE APR6 UP
4537 003766' 162702 000200 SUB #2*BSFACT,R2 ; AND PAGE POINTER DOWN ACCORDINGLY
4538 003772' 000757 BR 16$ ;REPEAT TEST FOR DIFFERENT RELOCATION ADDRESSES
4539 ;
4540 003774' 20$: CK11SC CKEMSE,101$ ;
4541 004000' 000404 BR 30$ ;
4542 004002' 25$: CK11SC CKEMSE,104$ ;
4543 004006' 000400 BR 26$ ;
4544 004010' 000002 26$: RTI ;
4545 ;
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 11-1
C11DTE.MAC 04-JAN-83 11:22 CHECK KT11 HARDWARE
4546 004012' 012611 30$: MOV (SP)+,(R1) ;RESTORE ORIGINAL TEST WORD CONTENTS
4547 ;
4548 ;PAGE LENGTH PROTECTION TEST
4549 ;
4550 004014' 013737 172340 172354 MOV KISAR0,KISAR6 ;USE VECTOR SPACE AGAIN FOR TEST
4551 004022' 012737 000406 172314 MOV #PD.PL0!<6*PD.AC0>,KISDR6 ;SET 2 BLOCK PAGE, R/W, UP
4552 004030' 012701 000176 MOV #PAGE0+<2*BSFACT>-2,R1 ;SET PTRS NEAR PAGE BOUNDARY
4553 004034' 012702 140176 MOV #PAGE6+<2*BSFACT>-2,R2 ;
4554 004040' 012146 MOV (R1)+,-(SP) ;FETCH FROM BELOW BOUNDARY
4555 004042' 012622 MOV (SP)+,(R2)+ ;WRITE IT BACK, DIFFERENT PTR, SHOULDN'T TRAP
4556 004044' 012146 MOV (R1)+,-(SP) ;FETCH FROM ABOVE BOUNDARY, PAGE 0, NO TRAP
4557 004046' 012714 004062' MOV #45$,(R4) ;SET UP TO EXPECT TRAP
4558 004052' 012622 MOV (SP)+,(R2)+ ;WRITE BACK TO TEST LOCATION, EXPECT TRAP
4559 ;NO TRAP, THAT'S BAD
4560 004054' 40$: CK11SC CKEMSE,107$ ;
4561 004060' 024646 CMP -(SP),-(SP) ;FAKE TRAP
4562 ;
4563 004062' 022626 45$: CMP (SP)+,(SP)+ ;GOOD TRAP, POP IT
4564 004064' 012714 004002' MOV #25$,(R4) ;RESET TO BAD TRAP MSG
4565 004070' 032737 120000 177572 BIT #MG.ANR!MG.ARO,MMGSR0 ;TRAP FOR RIGHT REASON?
4566 004076' 001403 BEQ 47$ ;YES, KEEP ON KEEPIN' ON
4567 004100' CK11SC CKEMSE,107$ ;NO, GOOD GRIEF!
4568 004104' 000400 BR 47$ ;
4569 004106' 47$: ;
4570 ;**** CONSIDER ADDING HERE THE SAME TYPE OF
4571 ; TEST FOR A DOWNWARD EXPANDABLE PAGE ****
4572 ;
4573 ;ACCESS CONTROL MODE TEST
4574 ;
4575 004106' 013737 172340 172354 MOV KISAR0,KISAR6 ;USE THE VECTOR AREA AGAIN
4576 004114' 012737 077406 172314 MOV #PD.PLF+<6*PD.AC0>,KISDR6 ;RESET TO FULL PAGE, FULL ACCESS
4577 004122' 012702 140052 MOV #PAGE6+52,R2 ;RESET POINTER TO ARBITRARY LOCATION IN PAGE
4578 004126' 012714 004156' MOV #50$,(R4) ;SET UP THE EXPECTED BAD TRAP HANDLER
4579 004132' 011246 MOV (R2),-(SP) ;READ (DON'T TRAP)
4580 004134' 012612 MOV (SP)+,(R2) ;PUT IT BACK (DON'T TRAP)
4581 004136' 112737 000002 172314 MOVB #PD.AC0*2,KISDR6 ;SET PDR FOR READ ONLY ACCESS
4582 004144' 011246 MOV (R2),-(SP) ;READ AGAIN (DON'T TRAP)
4583 004146' 012714 004172' MOV #60$,(R4) ;RESET TRAP VECTOR AGAIN
4584 004152' 012612 MOV (SP)+,(R2) ;WRITE IT BACK AGAIN, AND FINALLY TRAP!
4585 004154' 024646 CMP -(SP),-(SP) ;DIDN'T TRAP, HAVE TO FAKE IT
4586 ;
4587 004156' 50$: CK11SC CKEMSE,110$ ;BAD TRAP, OR NON-TRAP, DEPENDING
4588 004162' 000404 BR 62$ ;
4589 ;
4590 004164' 062716 000002 55$: ADD #2,(SP) ;GOOD TRAP, SKIP ERROR BRANCH
4591 004170' 000002 RTI ; ON RETURN
4592 ;
4593 004172' 022626 60$: CMP (SP)+,(SP)+ ;GOOD TRAP, POP IT
4594 004174' 012714 004242' 62$: MOV #67$,(R4) ;CHANGE TRAP VECTOR STILL AGAIN
4595 004200' 012737 077404 172314 MOV #PD.PLF+<PD.AC0*4>,KISDR6 ;SET PDR FOR ILLEGAL ACCESS
4596 004206' 011201 65$: MOV (R2),R1 ;TRY TO READ, EXPECT A TRAP
4597 004210' CK11SC <CKEMSE!CKEPC>,110$ ;DIDN'T, ERROR
4598 004214' 010112 MOV R1,(R2) ;TRY A WRITE, EXPECT A TRAP
4599 004216' CK11SC <CKEMSE!CKEPC>,110$ ;DIDN'T, ERROR
4600 004222' 032737 000007 172314 BIT #PD.ACF,KISDR6 ;DONE ALL ACF MODES YET?
4601 004230' 001511 BEQ 70$ ;YES, GO ON
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 11-2
C11DTE.MAC 04-JAN-83 11:22 CHECK KT11 HARDWARE
4602 004232' 042737 000007 172314 BIC #PD.ACF,KISDR6 ;NO, CLEAR ACF FOR LAST ILLEGAL MODE
4603 004240' 000762 BR 65$ ;REPEAT TEST
4604 ;
4605 004242' 062716 000004 67$: ADD #4,(SP) ;GOOD TRAP, POP IT
4606 004246' 000002 RTI ;
4607 ;
4608 004250' 064411 061556 067157 101$: .ASCIZ " inconsistent relocation"<377>
004256' 064563 072163 067145
004264' 020164 062562 067554
004272' 060543 064564 067157
004300' 000377
4609 004302' 072411 062556 070170 104$: .ASCIZ " unexpected mem mgt trap"<377>
004310' 061545 062564 020144
004316' 062555 020155 063555
004324' 020164 071164 070141
004332' 000377
4610 004334' 066411 066545 066440 107$: .ASCIZ " mem mgt page length protection failure"<377>
004342' 072147 070040 063541
004350' 020145 062554 063556
004356' 064164 070040 067562
004364' 062564 072143 067551
004372' 020156 060546 066151
004400' 071165 177545 000
4611 004405' 011 062555 020155 110$: .ASCIZ " mem mgt access mode control failure"<377>
004412' 063555 020164 061541
004420' 062543 071563 066440
004426' 062157 020145 067543
004434' 072156 067562 020154
004442' 060546 066151 071165
004450' 177545 000
4612 004454' .EVEN ;
4613 ;
4614 004454' 012614 70$: MOV (SP)+,(R4) ;RESTORE PREVIOUS MEMORY MANAGEMENT TRAP VECTOR
4615 .IFF
4616 JSR R0,CKTCRL ;
4617 .ASCIZ "NO MEM MGT TEST"
4618 .EVEN ;
4619 000 .ENDC ;DF M$$MGE
4620 004456' FALLR CHKCOR ;
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 11-3
C11DTE.MAC 04-JAN-83 11:22 CHECK KT11 HARDWARE
4622 ; SEE HOW MUCH CORE IS PRESENT
4623 ;
4624 004456' CHKCOR: ;
4625 001 .IF NDF M$$MGE
4626 ;UNMAPPED SNIFFER
4627 CLR R0 ;START SMALL
4628 MOV #20$,NXMVEC ;SET BUS TRAP VECTOR
4629 10$: TST (R0)+ ;CHECK NEXT LOCATION
4630 CMP R0,DL10AD ;SEE IF NEXT WORD IS DL10
4631 BNE 10$ ;
4632 BR 21$ ;
4633 ;
4634 20$: CMP (SP)+,(SP)+ ;FLUSH STACK
4635 SUB #2,R0 ;MAKE 2 LESS SO WE HAVE 1ST NXM LOC
4636 21$: MOV R0,PHYLIM ;SAVE ADR OF 1ST NXM LOCATION
4637 JSR PC,CKAMEM ;PRINT LAST MEM LOCATION
4638 .IFF
4639 ;MAPPED SNIFFER
4640 004456' 004037 014566' JSR R0,CKTCRL ;ADVERTISE RANGES OF MEMORY
4641 004462' 050012 054510 044523 .ASCIZ <12>"PHYSICAL MEMORY HAS ABSOLUTE LIMITS OF "
004470' 040503 020114 042515
004476' 047515 054522 044040
004504' 051501 040440 051502
004512' 046117 052125 020105
004520' 044514 044515 051524
004526' 047440 020106 000
4642 004534' .EVEN ;
4643 004534' 005037 172354 CLR KISAR6 ;START AT ZERO MEMORY
4644 004540' 012737 077406 172314 MOV #PD.PLF!<6*PD.AC0>,KISDR6 ;FULL PAGE, R/W ACCESS
4645 004546' 005000 CLR R0 ;START OF CURRENT BLOCK ADDRESS
4646 004550' 005001 CLR R1 ;ACCUMULATED PAGE COUNT
4647 004552' 005003 CLR R3 ;CURRENT BLOCK PAGE COUNT
4648 004554' 012737 004574' 000004 MOV #35$,NXMVEC ;SET UP BUS ERROR VECTOR
4649 ;
4650 004562' 012702 000100 30$: MOV #BSFACT,R2 ;SET BYTE COUNT OF PAGE
4651 004566' 105762 137777 31$: TSTB PAGE6-1(R2) ;READ A BYTE FROM THE ADDRESSED PAGE
4652 004572' 000412 BR 43$ ;NO TRAP
4653 ;
4654 004574' 022626 35$: CMP (SP)+,(SP)+ ;TRAP, POP IT
4655 004576' 005703 TST R3 ;ANY PAGES FOUND?
4656 004600' 001402 BEQ 39$ ;NO, SKIP REPORT
4657 004602' 004737 004762' JSR PC,65$ ;YES, REPORT RANGE
4658 004606' 005237 172354 39$: INC KISAR6 ;COMPUTE NEXT BIAS VALUE
4659 004612' 013700 172354 MOV KISAR6,R0 ;SAVE IT AS START ADDRESS OF NEXT RANGE
4660 004616' 000404 BR 52$ ;RETURN TO TEST LOOP
4661 ;
4662 004620' 077216 43$: SOB R2,31$ ;LOOP OVER ALL BYTES ON CURRENT PAGE
4663 004622' 005203 INC R3 ;NO TRAP, UP BLOCK COUNT
4664 004624' 005237 172354 INC KISAR6 ;UP PAGE BIAS
4665 ;
4666 004630' 023727 172354 007600 52$: CMP KISAR6,#PAGE7B ;DONE ALL POSSIBLE MEMORY SPACE?
4667 004636' 103751 BLO 30$ ;NOT YET
4668 ;YES
4669 004640' 005703 TST R3 ;ANY BLOCKS FOUND AT END OF MEMORY?
4670 004642' 001402 BEQ 54$ ;NO
4671 004644' 004737 004762' JSR PC,65$ ;YES, REPORT LAST BLOCK
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 11-4
C11DTE.MAC 04-JAN-83 11:22 CHECK KT11 HARDWARE
4672 004650' 010137 002064' 54$: MOV R1,PHYLIM ;SAVE NUMBER OF BLOCKS OF MEMORY
4673 004654' 004037 014566' JSR R0,CKTCRL ;SUMMARIZE MEMORY SIZE DATA
4674 004660' 043011 051117 040440 .ASCIZ " FOR A TOTAL OF "
004666' 052040 052117 046101
004674' 047440 020106 000
4675 004702' .EVEN ;
4676 004702' 010100 MOV R1,R0 ;
4677 004704' 006200 ASR R0 ;DIVIDE NUMBER OF 32 WORD BLOCKS
4678 004706' 006200 ASR R0 ; BY 32 TO GET NUMBER OF KW
4679 004710' 006200 ASR R0 ;
4680 004712' 006200 ASR R0 ;
4681 004714' 006200 ASR R0 ;
4682 004716' 004737 014762' JSR PC,CKTDEC ;OUTPUT MEMORY SIZE IN KW DECIMAL
4683 004722' 032701 000037 BIT #37,R1 ;REMAINDER OVER EXACT KW AMOUNT?
4684 004726' 001402 BEQ 62$ ;NO
4685 004730' CK11SC <CKENCL>,<+>,<REMAINDER OVER EVEN K AMOUNT>
4686 004732' 000053 .ASCIZ "+" ;
4687 .EVEN ;
4688 004734' 004037 014572' 62$: JSR R0,CKTSTR ;
4689 004740' 053513 024040 042504 .ASCIZ "KW (DECIMAL)"<15><12>
004746' 044503 040515 024514
004754' 005015 000
4690 004760' .EVEN ;
4691 004760' 000432 BR 70$ ;
4692 ;
4693 004762' 65$: CK11SC 0,<CRLFTAB> ;FEED LINE, SPACE OVER
4694 004764' 000011 .ASCIZ " " ;
4695 .EVEN ;
4696 004766' 060301 ADD R3,R1 ;ACCUMULATE TOTAL BLOCKS TO DATE
4697 004770' 005003 CLR R3 ;CLEAR FOR NEXT TIME
4698 004772' 004737 014614' JSR PC,CKTOCT ;TYPE R0 FOR START BIAS
4699 004776' 005700 TST R0 ;SKIP LEADING ZEROS IF ZERO
4700 005000' 001404 BEQ 66$ ;
4701 005002' 004037 014572' JSR R0,CKTSTR ;ADD ZEROS FOR FULL ADDRESS
4702 005006' 030060 000 .ASCIZ "00" ;
4703 005012' .EVEN ;
4704 005012' 004037 014572' 66$: JSR R0,CKTSTR ;
4705 005016' 026440 000040 .ASCIZ " - " ;
4706 .EVEN ;
4707 005022' 013700 172354 MOV KISAR6,R0 ;GET END OF BLOCK ADDRESS BIAS
4708 005026' 005300 DEC R0 ;BACK TO LAST GOOD BIAS
4709 005030' 004737 014614' JSR PC,CKTOCT ;
4710 005034' 004037 014572' JSR R0,CKTSTR ;
4711 005040' 033467 000 .ASCIZ "77" ;
4712 005044' .EVEN ;
4713 005044' 000207 RTS PC ;
4714 ;
4715 005046' 70$: ;
4716 000 .ENDC ;NDF M$$MGE
4717 005046' FALLR CKCOR ;
4718 ;EDIT PAGE BREAK (FF)
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 12
C11DTE.MAC 04-JAN-83 11:22 CHECK KT11 HARDWARE
4720
4721 .SBTTL CHECK MEMORY - SLIDING BIT PATTERN
4722 ;
4723 ; PERFORM A SIMPLE READ/WRITE MEMORY TEST -
4724 ;THE PATTERN USED IS A SLIDING BIT, WITH THE
4725 ;BIT IN EACH OF THE 16 BIT POSITIONS AND THE
4726 ;LAST PATTERN BEING ALL 0'S.
4727 ;
4728 005046' CKCOR:
4729 001 .IF NDF M$$MGE
4730 CLR R0 ;FIRST ADR TO CHECK
4731 MOV #10$,R1 ;LIMIT TO CHECK
4732 ;CHECK IN TWO PIECES, SKIPPING
4733 ; THE AREA OF THE SUBROUTINE,
4734 ; SO AS NOT TO CLOBBER OURSELVES
4735 JSR PC,10$ ;CHECK LOW CORE
4736 MOV #CKMPAR,R0 ;BEGIN CHECKING HERE NOW
4737 MOV PHYLIM,R1 ;AND STOP HERE
4738 JSR PC,10$ ;
4739 JSR R0,CKTCRL ;PRINT AMOUNT OF CORE
4740 .ASCIZ \ \ ;
4741 .EVEN ;
4742 MOV PHYLIM,R0 ;GET AMOUNT
4743 JSR PC,CKTOCT ;PRINT IT
4744 JSR R0,CKTSTR ;FOLLOWED BY MSG:
4745 .ASCIZ \ BYTES OF UNMAPPED MEMORY\
4746 .EVEN ;
4747 BR CKMPAR ;ALL OK, SKIP TO PARITY CHECKER
4748 .IFF
4749 005046' 004037 014566' JSR R0,CKTCRL ;
4750 005052' 040515 050120 042105 .ASCIZ "MAPPED PHYSICAL MEMORY TEST..."
005060' 050040 054510 044523
005066' 040503 020114 042515
005074' 047515 054522 052040
005102' 051505 027124 027056
005110' 000
4751 005112' .EVEN ;
4752 005112' 005037 172354 CLR KISAR6 ;START AT LOWEST POSSIBLE ADDRESS
4753 ;;;; MOV #PD.PLF!<6*PD.AC0>,KISDR6 ;FULL PAGE, R/W ACCESS (SET ALREADY)
4754 005116' 012737 005214' 000004 MOV #80$,NXMVEC ;SET UP BUS ERROR VECTOR
4755 002000 CKCPSZ = 1024. ;SET UP SIZE OF PAGE TO CHECK
4756 005124' 005001 CLR R1 ;
4757 005126' 010100 8$: MOV R1,R0 ;SET UP POINTER, CONSIDERING NON-ZERO START
4758 005130' 005400 NEG R0 ;CHANGE NEGATIVE WORD COUNT
4759 005132' 006300 ASL R0 ; TO POSITIVE BYTE ADDRESS OFFSET
4760 005134' 062700 140000 ADD #PAGE6,R0 ;MAP THROUGH APR6
4761 005140' 062701 002000 ADD #CKCPSZ,R1 ;SET UP COUNT TO TEST
4762 005144' 004737 005276' JSR PC,10$ ;CALL CHECKER FOR DEFINED PAGE
4763 005150' 062737 000020 172354 ADD #CKCPSZ/BSFACT.,KISAR6 ;UP MAPPING REG TO NEXT PAGE
4764 005156' 023737 172354 002064' CMP KISAR6,PHYLIM ;PAST ALL OF PHYSICAL MEMORY?
4765 005164' 101760 BLOS 8$ ;NOT YET
4766 005166' 004037 014566' JSR R0,CKTCRL ;ADVERTISE COMPLETION
4767 005172' 004411 027056 041456 .ASCIZ " ...COMPLETE"<15><12>
005200' 046517 046120 052105
005206' 006505 000012
4768 .EVEN ;
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 12-1
C11DTE.MAC 04-JAN-83 11:22 CHECK MEMORY - SLIDING BIT PATTERN
4769 005212' 000512 BR CKMPAR ;
4770 ;
4771 005214' 80$: ;THIS TRAP HANDLER IS NEEDED ONLY IF THERE
4772 ; CAN BE HOLES IN THE PHYSICAL MEMORY
4773 005214' 021627 005304' CMP (SP),#15$ ;EXPECTED TRAP FROM CHECKER?
4774 005220' 001422 BEQ 82$ ;OKAY
4775 005222' CK11SC <CKEPC!CKEMSG>,<BAD NXM TRAP IN MEM CHK>
4776 005224' 040502 020104 054116 .ASCIZ "BAD NXM TRAP IN MEMORY CHECKER"<377>
005232' 020115 051124 050101
005240' 044440 020116 042515
005246' 047515 054522 041440
005254' 042510 045503 051105
005262' 000377
4777 .EVEN ;
4778 005264' 000400 BR 82$ ;
4779 005266' 012716 005434' 82$: MOV #40$,(SP) ;SET RECOVERY ADDRESS
4780 005272' 000002 RTI ;RECOVER
4781 000 .ENDC ;NDF M$$MGE
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 12-2
C11DTE.MAC 04-JAN-83 11:22 CHECK MEMORY - SLIDING BIT PATTERN
4783 ; MEMORY CHECKER SUBROUTINE, CALLED FROM ABOVE, AND SKIPPED AROUND INLINE
4784 ;
4785 005274' 000000 1$: .WORD 0 ;LOCAL LOWER LIMIT WORD
4786 005276' 012702 100000 10$: MOV #100000,R2 ;SET UP TEST PATTERN
4787 005302' 011003 MOV (R0),R3 ;SAVE CONTENTS OF OBJECT LOCATION
4788 005304' 15$: ;LEGAL TRAP OCCURS HERE
4789 005304' 012737 177777 005274' MOV #-1,1$ ;SET LIMIT WORD NON-ZERO
4790 005312' 005010 CLR (R0) ;CLEAR OBJECT WORD
4791 005314' 005737 005274' TST 1$ ;REACHED LOWER LIMIT?
4792 005320' 001006 BNE 20$ ;NO, CONTINUE WITH TEST
4793 ;YES, SET VALUES TO SKIP TESTING THIS CODE AREA
4794 005322' 062700 000142 ADD #60$-1$,R0 ;POINT PAST THIS CODE
4795 005326' 162701 000061 SUB #<60$-1$>/2,R1 ;ADJUST COUNT FOR SKIPPING TEST
4796 005332' 003361 BGT 10$ ;NO PAGE BREAK RESULTED, RESUME TEST
4797 005334' 000207 RTS PC ;CODE COVERS PAGE BREAK, RETURN R1 LE ZERO
4798 ;
4799 005336' 20$: ;
4800 005336' 010210 22$: MOV R2,(R0) ;STUFF CURRENT PATTERN
4801 005340' 005110 COM (R0) ;INVERT IT
4802 005342' 005110 COM (R0) ;AND BRING IT BACK
4803 005344' 021002 CMP (R0),R2 ;DID IT SURVIVE?
4804 005346' 001411 BEQ 30$ ;YES
4805 005350' CKSERR R2,<(R0)>,R0 ;SAVE GD,BD,ADR
4806 005356' CK11SC <CKEMSE!CKEPC!CKEGB>,<CKMG01>,<MEMORY ERROR>,<S..MEM>
4807 005370' 000400 BR 30$ ;
4808 005372' 006302 30$: ASL R2 ;ADVANCE PATTERN
4809 005374' 001360 BNE 22$ ;REPEAT UNTIL R2 IS ZERO
4810 005376' 103757 BCS 22$ ; AND EVEN THEN, DO IT ONCE MORE
4811 005400' 010310 MOV R3,(R0) ;RESTORE RIGHTFUL DATA
4812 005402' 005110 COM (R0) ;BLAP IT, TOO
4813 005404' 005110 COM (R0) ; BACK AND FORTH
4814 005406' 022003 CMP (R0)+,R3 ;CHECK FOR SURVIVAL AND ADVANCE POINTER
4815 005410' 001411 BEQ 40$ ;OKAY
4816 005412' CKSERR R3,<-(R0)>,R0 ;SAVE GD,BD,ADR
4817 005420' CK11SC <CKEMSE!CKEPC!CKEGB>,<CKMG01>,<MEMORY ERROR>,<S..MEM>
4818 005432' 000400 BR 40$ ;
4819 005434' 077160 40$: SOB R1,10$ ;DO OVER THE WHOLE DEFINED LIMIT OF THE PAGE
4820 005436' 000207 60$: RTS PC ;THEN RETURN
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 12-3
C11DTE.MAC 04-JAN-83 11:22 CHECK MEMORY - SLIDING BIT PATTERN
4822 ; CHECK THE MEMORY PARITY OPTION
4823 ;
4824 005440' CKMPAR: ;START CHECKING CORE HERE
4825 001 .IF EQ <PDP11-40.>
4826 MOV #N.MM11,CKDNAM ;SAVE NAME OF "DEVICE"
4827 CLR CKDEVN ;"UNIT" IS 0
4828 MOV #MP.REG,R1 ;OPTION REGISTER
4829 MOV R1,CHKCHR+CKDA ;SAVE ADR IN CASE NEED TO TYPE IT
4830 MOV NXMVEC,-(SP)
4831 MOV #MP.VEC,CHKCHR+CKDV ;VECTOR FOR INTERRUPTS
4832 MOV #60$,NXMVEC ;IN CASE PARITY OPTION NOT INSTALLED
4833 CLR MP.REG ;TRY TO CLEAR MEMORY PARITY REGISTER
4834 MOV @P,NXMVEC ;RESTORE TRAP VECTOR
4835 JSR R5,CHKBIT ;CHECK READ/WRITE BITS
4836 107745
4837 ;NOW CHECK INTERRUPTS FROM PARITY CONTROL
4838 ; THIS IS DIFFICULT CUZ SETTING MP.ENB & MP.ERR WON'T CAUSE INTERRUPT
4839 CLR R0 ;VECTOR WE TOOK WILL APPEAR HERE
4840 MOV #MP.WWP,@R1 ;WE WANT TO WRITE WRONG PARITY
4841 MOV CKMPAR,CKMPAR ;WRITE A BAD WORD
4842 ;
4843 CLR @R1 ;BUT ONLY ONE WORD !
4844 TST CKMPAR ;TRY FOR AN INTERRUPT
4845 NOP ;IN CASE SLOW
4846 TST R0 ;SEE IF WE GOT ONE
4847 BEQ 32$
4848 CK11SC <CKEMSE!CKEDID!CKEPC>,CKMG07,<INTERRUPTED WHEN NOT ENABLED>
4849 32$: MOV #MP.ENB,@R1 ;NOW LETS GET THE INTERRUPT
4850 TST CKMPAR
4851 CLR @R1 ;DISABLE FURTHER INTERRUPTS
4852 MOV CKMPAR,CKMPAR ;WRITE BACK RIGHT
4853 TST R0 ;DID WE GET THE INTERRUPT ?
4854 BNE 34$
4855 CK11SC <CKEDID!CKEMSE!CKEPC>,CKMG04,<INTERRUPT DID NOT OCCUR>
4856 BR 80$
4857 ;
4858 34$: CMP R0,CHKCHR+CKDV ;WAS INTERRUPT RIGHT?
4859 BEQ 36$ ;YES.
4860 CKSERR <CHKCHR+CKDV>,R0,<#CKMPAR> ;GD,BD,ADR
4861 CK11SC <CKEMSE!CKEDID!CKEPC!CKEGB>,CKMG05,<interrupted to wrong vector>
4862 BR 80$ ;DONE.
4863 ;
4864 .PAGE
4865 ; COME HERE IF PARITY OPTION IS PRESENT AND WORKING
4866 ;
4867 36$: JSR R0,CKTCRL ;PRINT MESSAGE ABOUT IT
4868 .ASCIZ \ MF11-UP\
4869 .EVEN
4870 MOV #MP.ENB,MP.REG ;ENABLE PARITY ERRORS
4871 BR 80$ ;ALL DONE.
4872 ;
4873 ;HERE IF WE GET A BUS TRAP WHILE ACCESSING THE PARITY CONTROL REG
4874 60$: MOV (SP)+,(SP)+ ;CLEAN OFF STACK
4875 CK11SC <CKEDID!CKEPC!CKEMSE>,CKMG06,<not found>
4876 ;
4877 002 .IF DF MP.ARM
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 12-4
C11DTE.MAC 04-JAN-83 11:22 CHECK MEMORY - SLIDING BIT PATTERN
4878 MOV #402,MP.ARM ;MP.ARM CONTAINS A MOV #MP.ENB,MP.REG;
4879 ; THIS TURNS IT INTO A BR .+6
4880 001 .ENDC
4881 80$: MOV (SP)+,NXMVEC
4882 ;
4883 000 .ENDC;.IF EQ <PDP11-40.>
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 12-5
C11DTE.MAC 04-JAN-83 11:22 CHECK MEMORY - SLIDING BIT PATTERN
4885 ; SEE IF ROM = BM873 OR M9301 IS PRESENT
4886 ;
4887 001 .IF DF FT.ROM
4888 002 .IF NE FT.ROM
4889 CK.ROM: MOV NXMVEC,-(SP) ;SAVE BUS TRAP VECTOR
4890 MOV #20$,NXMVEC
4891 TST ROMADR ;IS ROM REALLY HERE ?
4892 BR 90$ ;YES
4893 ;
4894 ;HERE BECAUSE ROM NOT PRESENT
4895 20$: CLR GO.ROM ;MAKE JMP ROMADR = HALT
4896 MOV (SP)+,(SP)+ ;CLEAN OFF STACK
4897 ;
4898 90$: MOV (SP)+,NXMVEC
4899 001 .ENDC;NE FT.ROM
4900 000 .ENDC;DF FT.ROM
4901 ;EDIT PAGE BREAK (FF)
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 13
C11DTE.MAC 04-JAN-83 11:22 CHECK MEMORY - SLIDING BIT PATTERN
4903
4904 .SBTTL CHECK KW11-L HDW
4905 ;
4906 ; BE SURE CLOCK IS PRESENT AND TICKS
4907 ;
4908 005440' 012737 001657' 002056' CHKCLK: MOV #N.KW.L,CKDNAM ;SET UP FOR NAME
4909 005446' 042737 100000 002052' BIC #CKFIDT,CHKFLG ;SO WE PRINT DEV ID
4910 005454' 012704 177546 MOV #CLKWRD,R4 ;SET UP DEV ADR
4911 005460' 010437 016254' MOV R4,CHKCHR+CKDA ;SET UP DEVICE ADR
4912 005464' 012737 000100 016256' MOV #CLKVEC,CHKCHR+CKDV ;SET UP VECTOR ADR
4913 005472' 005037 002054' CLR CKDEVN ;DEVICE NUMBER
4914 005476' 012737 005604' 000004 MOV #20$,NXMVEC ;SET BUS TRAP IN CASE CLOCK IS NOT PRESENT
4915 005504' 005714 TST (R4) ;TRAP IF NOT INSTALLED
4916 005506' 012737 015534' 000004 MOV #CKBUST,NXMVEC ;WHERE TO GO ON BUS TRAP
4917 005514' 013746 000100 MOV CLKVEC,-(SP) ;SAVE WHERE TO GO ON INT
4918 005520' 012737 005626' 000100 MOV #80$,CLKVEC ;SETUP INTERRUPT VECTOR
4919 005526' 012737 000003 005640' MOV #3,CHKTIM ;TIME 3 TICKS
4920 005534' 005037 177776 CLR PS ;LET INTERRUPTS HAPPEN
4921 005540' 012714 000100 MOV #KW.INE,(R4) ;ENABLE THE CLOCK
4922 005544' 001412 BEQ 15$ ;IF COUNTED OUT ALREADY EVIL
4923 005546' 005000 CLR R0 ;INITIALIZE WATCHDOG COUNTER
4924 005550' 005737 005640' 10$: TST CHKTIM
4925 005554' 001432 BEQ CKCLK9 ;BRANCH IF TIMED OUT ALREADY
4926 005556' 077004 SOB R0,10$
4927 005560' CK11SC <CKEPC!CKEDID>,<Slow>,<NO RESPONSE FROM KW11>
4928 005562' 066123 073557 000377 .ASCIZ \Slow\<377>
4929 .EVEN
4930 005570' 000424 BR CKCLK9 ;
4931 005572' 15$: CK11SC <CKEPC!CKEDID>,<Fast>,<KW11 TICKING TOO FAST>
4932 005574' 060506 072163 000377 .ASCIZ \Fast\<377>
4933 .EVEN
4934 005602' 000417 BR CKCLK9 ;
4935 005604' 20$: CK11SC <CKEPC!CKEDID>,<Not Present>,<CAN'T ACCESS KW11>
4936 005606' 067516 020164 071120 .ASCIZ \Not Present\<377>
005614' 071545 067145 177564
005622' 000
4937 005624' .EVEN
4938 005624' 000406 BR CKCLK9 ;
4939 ;
4940 ; KW11 INTERRUPT HANDLER
4941 ;
4942 005626' 005337 005640' 80$: DEC CHKTIM ;COUNT OUT TIMER
4943 005632' 001001 BNE 90$ ;
4944 005634' 005014 CLR (R4) ;TURN OFF CLOCK
4945 005636' 000002 90$: RTI ;DISMISS INTERRUPT
4946 ;
4947 005640' 000000 CHKTIM: .WORD 0 ;
4948 005642' CKCLK9: SPL 7 ;SET TO LEVEL 7
4949 005650' 012714 000100 MOV #KW.INE,(R4) ;ENABLE INT
4950 005654' 012637 000100 MOV (SP)+,CLKVEC ;RESTORE WHERE TO GO ON INT
4951 005660' 004537 010644' JSR R5,CHKINL ;FIND THE INT LEVEL
4952 005664' 177777 -1 ;DELAY TO WAIT FOR INT
4953 005666' 042737 000100 177546 BIC #KW.INE,CLKWRD ;DISABLE CLK INTS
4954 005674' 004037 014566' JSR R0,CKTCRL ;INDICATE CLOCK PRESENT
4955 005700' 053513 030461 046055 .ASCIZ \KW11-L checked\
005706' 061440 062550 065543
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 13-1
C11DTE.MAC 04-JAN-83 11:22 CHECK KW11-L HDW
005714' 062145 000
4956 005720' .EVEN ;
4957 005720' 004737 002120' JSR PC,CKAKW1 ;CALL TO MAIN FOR CLOCK
4958 ;
4959 005724' FALLR . ;FALL INTO WHATEVER COMES NEXT
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 13-2
C11DTE.MAC 04-JAN-83 11:22 CHECK DL10 HDW
4961 .SBTTL CHECK DL10 HDW
4962 ;
4963 005724' CKDL10:
4964 001 .IF NE FTDL10 ;IF DOESN'T HAVE A DL10,DON'T CHECK IT
4965 MOV DL10AD,R4 ;IF "DL10AD" IS NON 0 A DL10 IS PRESENT
4966 ; AND R4 WILL BE LOADED WITH BASE ADR
4967 BEQ 10$ ;BRANCH IF WE DO NOT
4968 BIC #CKFIDT,CHKFLG ;SO WE PRINT DEV ID
4969 MOV #CKND10,CKDNAM ;DEVICE NAME
4970 CLR CKDEVN ;DEVICE NUMBER
4971 MOV R4,R1 ;PUT DEVICE ADDR FOR CHKBIT
4972 MOV R4,CHKCHR+CKDA ;PUT IN CHARACT TABLE FOR ERROR REPORTING
4973 JSR R5,CHKBIT ;CHECK THE FOLLOWING BITS
4974 DL.B00!DL.B01!DL.INE!DL.ERE
4975 JSR R5,CHKDLX ;CHECK SET/CLEAR OF
4976 DL.WCO ;WORD COUNT OVERFLOW
4977 JSR R5,CHKDLX ;CHECK SET/CLEAR OF
4978 DL.PAR ;PARITY ERROR
4979 JSR R5,CHKDLX ;CHECK SET/CLEAR OF
4980 DL.NXM ;NON EX MEM
4981 JSR R5,CHKDLX ;CHECK SET/CLEAR OF
4982 DL.11I
4983 8$: MOV #DL.B01,(R4) ;SET DL10 FOR LEVEL 5
4984 MOV #DL.VEC,CHKCHR+CKDV;PUT DEVICE VECTOR IN TABLE FOR CKINT
4985 $CKINT R4,R4,DL.INE,DL.11I,DL.11C
4986 $CKINT R4,R4,DL.ERE,<DL.PAR!DL.NXM!DL.WCO>,<DL.CNX!DL.CPE!DL.CWC>
4987 JSR R0,CKTCRL ;NOTE PRESENCE OF DL10
4988 .ASCIZ \ DL10\
4989 .EVEN
4990 10$:
4991 000 .ENDC ;.IF NE FTDL10
4992 ;EDIT PAGE BREAK (FF)
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 14
C11DTE.MAC 04-JAN-83 11:22 CHECK DL10 HDW
4994
4995 .SBTTL DEVICE SCAN AND CHECK
4996 ;
4997 ;THE SAME ROUTINE IS USED FOR FLOATING AND FIXED DEVICES
4998 ;HOWEVER FOR FIXED DEVICES THE VECTOR MULTIPLE MUST BE 0
4999 ; *** WARNING: *** CKCDEV IS BOTH CODE AND DATA BASE.
5000 ;DO *NOT* PUT ANYTHING OTHER THAN "DEVICE" MACROS BETWEEN CKCDEV AND CKCEND!
5001 ;
5002 ; INVOCATION:
5003 ; DEVICE A,MAXN,VI,HI,VM,NAM,FV
5004 ;
5005 ; ARG A ;DEVICE ADDRESS OR 0 IF FLOATING DEVICE
5006 ; ARG MAXN ;MAXIMUM NUMBER OF DEVICES
5007 ; ARG VI ;VECTOR INCREMENT
5008 ; ARG HI ;HARDWARE INCREMENT
5009 ; ARG VM ;VECTOR MULTIPLE
5010 ; ARG NAM ;DEVICE NAME ABBREVIATION
5011 ; ARG FV ;FIRST VECTOR ADR (FIXED DEV ONLY)
5012 ;
5013 005724' 004037 014566' JSR R0,CKTCRL ;
5014 005730' 062012 073145 061551 .ASCII <12>"device scan report assumes"
005736' 020145 061563 067141
005744' 071040 070145 071157
005752' 020164 071541 072563
005760' 062555 163
5015 .IIF DF CKSTD .ASCII <15><12>"standard PDP-11 fixed and floating assignments"
5016 001 .IF DF CKDN2X
5017 002 .IF NE CKDN2X&B0
5018 005763' 015 020012 020040 .ASCII <15><12>" DN20"
005770' 020040 020040 047104
005776' 030062
5019 001 .ENDC
5020 002 .IF NE CKDN2X&B1
5021 006000' 005015 020040 020040 .ASCII <15><12>" DN21"
006006' 020040 042040 031116
006014' 061
5022 001 .ENDC
5023 002 .IF NE CKDN2X&B5
5024 006015' 015 020012 020040 .ASCII <15><12>" DN25"
006022' 020040 020040 047104
006030' 032462
5025 001 .ENDC
5026 006032' 063040 074151 062145 .ASCII " fixed assignments (no floating)"
006040' 060440 071563 063551
006046' 066556 067145 071564
006054' 024040 067556 063040
006062' 067554 072141 067151
006070' 024547
5027 000 .ENDC ;DF CKDN2X
5028 006072' 000 .BYTE 0
5029 006074' .EVEN ;
5030 ;
5031 ;
5032 006074' CKCDEV: ;FIXED ADDRESS, FIXED VECTOR DEVICES
5033 006074' CHKCD: DEVICE CD.STS,1,0,0,0,CD,CD.VEC ;CD20(CD11)
5034 000034 CKCADD=.-CKCDEV ;SIZE OF "DEVICE" BLOCK
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 14-1
C11DTE.MAC 04-JAN-83 11:22 DEVICE SCAN AND CHECK
5035 006130' CHKCR: DEVICE CR.STS,1,0,0,0,CR,CR.VEC ;CR11
5036 006164' DEVICE KG.STS,8.,0,10,0,KG,0 ;KG11
5037 006220' DEVICE LE.STS,2,-10,10,0,LE,LE.VEC ;LP11
5038 006254' DEVICE LP0STS,2,-4,20,0,LP,LP.VEC ;LP20
5039 006310' DEVICE PP.STS,1,0,0,0,PP,PP.VEC ;PP11(PC11)
5040 006344' DEVICE PR.STS,1,0,0,0,PR,PR.VEC ;PR11(PC11)
5041 006400' DEVICE TC.STS,1,0,0,0,TC,TC.VEC ;TC11
5042 006434' DEVICE TM.STS,1,0,0,0,TM,TM.VEC ;TM11
5043 006470' DEVICE 177446,1,0,0,0,RC,210 ;RC11
5044 006524' DEVICE 177460,1,0,0,0,RF,204 ;RF11
5045 006560' DEVICE 176700,1,0,0,0,RH,254 ;RH11
5046 006614' CHKRP: DEVICE 176710,1,0,0,0,RP,254 ;RP11-C
5047 006650' DEVICE 177500,1,0,0,0,TA,260 ;TA11
5048 006704' DEVICE 177404,1,0,0,0,RK,220 ;RK11
5049 006740' DEVICE 177170,1,0,0,0,RX,264 ;RX11
5050 006774' DEVICE 172540,1,0,0,0,KW.P,104 ;KW11-P
5051 ;;;; DEVICE DS.DVA,1,20,10,0,DS,DS.VEC ;DS11
5052 007030' CHKDTE: DEVICE 174440,4,-4,40,0,DTE2,770 ;DTE20
5053 001 .IF DF CKSTD ;STANDARD FLOATING ASSIGNMENTS
5054 ;FIXED ADDRESS, FLOATING VECTOR DEVICES
5055 DEVICE 174770,32.,10,-10,10,DP,0 ;DP11
5056 DEVICE 175200,64.,4,10,4,DN,0 ;DN11
5057 DEVICE 170500,16.,4,10,10,DM,0 ;DM11BB
5058 DEVICE 172600,16.,4,10,4,R6,0 ;PA611RDR
5059 DEVICE 172700,16.,4,10,4,P6,0 ;PA611PNCH
5060 DEVICE 175610,16.,10,10,10,DL.E,0 ;DL11-E
5061 .IIF DF SY0880 DEVICE 177776,1,10,0,10,NL,0 ;(NULL DEVICE, VECTOR SPACER)
5062 ;FULLY FLOATING DEVICES
5063 DEVICE 0,16.,10,10,10,DJ,0 ;DJ11
5064 DEVICE 0,16.,10,20,10,DH,0 ;DH11
5065 DEVICE 0,16.,10,10,10,DQ,0 ;DQ11
5066 DEVICE 0,16.,10,10,10,DU,0 ;DU11
5067 .IIF DF SY0880 DEVICE 0,1,10,10,10,NL,0 ;(NULL DEVICE, ADDRESS SPACER)
5068 DEVICE 0,16.,10,10,10,DUP,0 ;DUP11
5069 .IIF DF SY0880 DEVICE 0,1,10,10,10,NL,0 ;(NULL DEVICE, ADDRESS SPACER)
5070 .IIF DF SY0880 DEVICE 0,1,10,10,10,NL,0 ;(NULL DEVICE, ADDRESS SPACER)
5071 DEVICE 0,16.,10,10,4,DMC,0 ;DMC11
5072 DEVICE 0,3.,10,10,4,KMC,0 ;KMC11
5073 000 .ENDC ;DF CKSTD
5074 ;
5075 001 .IF DF CKDN2X ;-20 FRONT END CONFIGURATIONS
5076 002 .IF NE CKDN2X&B0 ;DN20
5077 007064' DEVICE 160540,3,10,10,0,KMC,540 ;KMC11
5078 007120' DEVICE 160300,12.,10,10,0,DUP,570 ;DUP11
5079 007154' DEVICE 175630,1,10,10,0,DL.E,740 ;DL11-E (DN20 #1)
5080 007210' DEVICE 175640,1,10,10,0,DL.E,730 ;DL11-E (DN20 #2)
5081 007244' DEVICE 175650,1,10,10,0,DL.E,720 ;DL11-E (DN20 #3)
5082 001 .ENDC ;NE CKDN2X&B0
5083 002 .IF NE CKDN2X&B1 ;DN21
5084 007300' DEVICE 160740,6,10,10,0,DMC,670 ;DMC11
5085 001 .ENDC ;NE CKDN2X&B1
5086 002 .IF NE CKDN2X&B5 ;DN25
5087 007334' DEVICE 160640,3,10,10,0,KMC,300 ;KMC11
5088 007370' DEVICE 160010,16.,10,10,0,DZ,340 ;DZ11
5089 001 .ENDC ;NE CKDN2X&B5
5090 000 .ENDC ;DF CKDN2X
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 14-2
C11DTE.MAC 04-JAN-83 11:22 DEVICE SCAN AND CHECK
5091 ;
5092 007424' CKCEND: ;END OF DEVICES TO CHECK
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 14-3
C11DTE.MAC 04-JAN-83 11:22 CHK11 COMPLETION
5094 .SBTTL CHK11 COMPLETION
5095 ;
5096 007424' 004037 014566' CHK.90: JSR R0,CKTCRL ;
5097 007430' 004412 044103 030513 .ASCIZ <12>" CHK11 complete"<15><12><12>
007436' 020061 067543 070155
007444' 062554 062564 005015
007452' 000012
5098 .EVEN ;
5099 007454' 012700 015407' MOV #CK.BUF,R0 ;SEND OUT A NULL
5100 007460' CALL CKBFSH ; LINE TO THE REMOTE DEVICE
5101 007464' 011606 MOV (SP),SP ;CHAIN BACK TO CALLER'S STACK
5102 007466' 012605 MOV (SP)+,R5 ;RESTORE
5103 007470' 012604 MOV (SP)+,R4 ; CALLER'S
5104 007472' 013701 002062' MOV CK.DTE,R1 ; REGISTERS
5105 007476' 000177 172356 JMP @CK.CAL ;RETURN TO CALLER
5106 .SBTTL END OF CHK11 MAINLINE
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 14-4
C11DTE.MAC 04-JAN-83 11:22 GENERAL SUBROUTINES
5108 .SBTTL GENERAL SUBROUTINES
5109 ;**** GOT RID OF ALL THE STANDARD CHK11 VECTOR SETUP HERE ****;
5110 ;**** AFTER ALL, THIS IS ONLY THE TERTIARY LOADER... ****;
5111 .SBTTL LOOK FOR AND CHECK SYSTEM DEVICES
5112 ;
5113 ; CALLING SEQUENCE (GENERATED BY MACRO "DEVICE"):
5114 ; JSR R5,CHKDEV
5115 ; (OFFSET
5116 ; NAME)
5117 ; D.BADR .WORD ADDRESS OF 1ST DEVICE REGISTER
5118 ; D.MAXL .BYTE MAX # OF DEVICES TO SEEK
5119 ; D.VINC .BYTE VECTOR INC
5120 ; D.HINC .BYTE HDW INC
5121 ; D.VMUL .BYTE 1ST VEC MULTIPLE
5122 ; D.CNTP .WORD <ADR OF NUMBER OF DEVICES OR ZERO>
5123 ; D.NAMP .WORD <ADR OF .ASCIZ \NAME\>
5124 ; D.DIAG .WORD <ADR OF ROUTINE TO VERIFY OPERATION>
5125 ; D.MAIN .WORD <ADR OF MAIN PROGRAM ROUTINE FOR DEVICE>
5126 ; D.MPVC .WORD <ADR OF TABLE WHICH CONTAINS MAIN PROG VECTORS OR 0>
5127 ; D.CNTF .WORD <# OF DEVICES FOUND>
5128 ; D.FRSV .WORD <FIRST VECTOR FOUND>
5129 ; D.PRIO .WORD <PI LEVEL>
5130 ; D.FVFD .WORD <FIRST DEV VECTOR FOR FIXED TYPE DEV>
5131 ; D.NEXT (RETURN ADDRESS)
5132 ;
5133 007502' CHKDEV: ;
5134 ;LOOK FOR AND COUNT PLAUSIBLE DEVICE TYPES
5135 ;
5136 007502' 016537 000010 002056' MOV D.NAMP(R5),CKDNAM ;REMEMBER DEVICE NAME
5137 007510' 005002 CLR R2 ;INITIALIZE COUNTER FOR DEVICES
5138 ;GET DEVICE VECTOR
5139 007512' 013703 011520' MOV CHKFLV,R3 ;ASSUME FLOATING VECTOR
5140 007516' 105765 000005 TSTB D.VMUL(R5) ;BUT SEE IF FIXED
5141 007522' 001002 BNE 4$ ;FLOATING VECTOR
5142 007524' 016503 000026 MOV D.FVFD(R5),R3 ;FIXED, GET PRE-ASSIGNED VECTOR
5143 ;
5144 007530' 011504 4$: MOV (R5),R4 ;GET HDW ADR FOR 1ST DEVICE
5145 007532' 001012 BNE 6$ ;ADDRESS IS NOT ZERO, HENCE FIXED DEVICE
5146 ;DEV EXPECTS TO FLOAT, BUMP UP TO NEXT SLOT
5147 007534' 116501 000004 MOVB D.HINC(R5),R1 ;COMPUTE NEXT ADDRESS AS MULTIPLE OF HDW INC
5148 007540' 060137 011522' ADD R1,CHKFLD ;
5149 007544' 005301 DEC R1 ;
5150 007546' 040137 011522' BIC R1,CHKFLD ;
5151 007552' 013704 011522' MOV CHKFLD,R4 ;COPY FOR USE
5152 007556' 010415 MOV R4,(R5) ;STUFF EXPECTED ADDRESS IN DEVICE TABLE
5153 007560' 6$: ;
5154 007560' 012737 007672' 000004 7$: MOV #20$,NXMVEC ;SET BUS TRAP VECTOR
5155 007566' 005714 TST (R4) ;CHECK TO SEE IF DEVICE IS PRESENT
5156 007570' 012737 015534' 000004 MOV #CKBUST,NXMVEC ;IT'S THERE, SET BUS ERR VEC BACK
5157 007576' 005702 TST R2 ;IS THIS THE FIRST OF ITS KIND ?
5158 007600' 001014 BNE 15$ ;NO
5159 007602' 005065 000020 CLR D.CNTF(R5) ;YES, CLEAR NUMBER OF DEV FOUND
5160 007606' 005065 000022 CLR D.FRSV(R5) ;CLEAR FIRST VECTOR ADR
5161 ;;;; CLR D.PRIO(R5) ;CLEAR BR LEVEL
5162 007612' 116501 000005 MOVB D.VMUL(R5),R1 ;GET ADDRESS MULTIPLE OF VECTOR
5163 007616' 001405 BEQ 15$ ;BRANCH IF FIXED VECTOR DEV
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 14-5
C11DTE.MAC 04-JAN-83 11:22 LOOK FOR AND CHECK SYSTEM DEVICES
5164 007620' 005301 DEC R1 ;ELSE COUNT UP VECTOR MOD VMUL
5165 007622' 010365 000026 MOV R3,D.FVFD(R5) ;SAVE EXPECTED ADDRESS OF FIRST VECTOR
5166 007626' 060103 ADD R1,R3 ;
5167 007630' 040103 BIC R1,R3 ;
5168 007632' 005202 15$: INC R2 ;COUNT DEVICE
5169 007634' 005265 000020 INC D.CNTF(R5) ;COUNT DEVICE AND REMEMBER IT
5170 007640' 116501 000003 MOVB D.VINC(R5),R1 ;GET VECTOR INCREMENT
5171 007644' 060103 ADD R1,R3 ;COMPUTE NEW VECTOR
5172 007646' 116501 000004 MOVB D.HINC(R5),R1 ;GET REG BLOCK INCREMENT
5173 007652' 060104 ADD R1,R4 ;ADVANCE DEVICE ADR POINTER
5174 007654' 021537 011522' CMP (R5),CHKFLD ;FLOATING DEVICE?
5175 007660' 101737 BLOS 7$ ;YES, KEEP LOOKING UNTIL GAP FOUND
5176 007662' 120265 000002 CMPB R2,D.MAXL(R5) ;HAVE WE CHECKED AS MANY AS WE CAN EXPECT?
5177 007666' 001334 BNE 7$ ;NO, LOOP BACK FOR REST
5178 007670' 024646 CMP -(SP),-(SP) ;YES, FAKE A TRAP
5179 ;WE HAVE FOUND AS MANY UNITS AS WE SOUGHT,
5180 ; OR WE HAVE TRAPPED ON FINDING FEWER
5181 ;REPORT THE DEVICE COUNT
5182 007672' 012737 015534' 000004 20$: MOV #CKBUST,NXMVEC ;RESET BUS ERROR VECTOR
5183 007700' 022626 CMP (SP)+,(SP)+ ;POP OFF TRAP
5184 007702' 021537 011522' CMP (R5),CHKFLD ;FLOATER?
5185 007706' 101016 BHI 21$ ;NO
5186 007710' 010437 011522' MOV R4,CHKFLD ;YES, SAVE CURRENT ADDRESS AS GAP ADDRESS
5187 007714' 120265 000002 CMPB R2,D.MAXL(R5) ;TOO MANY?
5188 007720' 101411 BLOS 21$ ;NO
5189 007722' CK11SC <CKEDID>,<Too many device units>
5190 007724' 067524 020157 060555 .ASCIZ "Too many units"
007732' 074556 072440 064556
007740' 071564 000
5191 007744' .EVEN ;
5192 007744' 005765 000006 21$: TST D.CNTP(R5) ;DO WE HAVE A REMOTE ADDRESS TO REPORT COUNT?
5193 007750' 001402 BEQ 22$ ;IF NOT, DON'T TRY
5194 007752' 010275 000006 MOV R2,@D.CNTP(R5) ;YES, PUT NUMBER FOR SOMEONE TO FIND
5195 007756' 010200 22$: MOV R2,R0 ;NUMBER OF DEVICES WE FOUND
5196 007760' 001001 BNE 24$ ;THERE ARE SOME
5197 001 .IF DF CKNODV
5198 JSR PC,CKCRLF ;DO CR/LF
5199 JSR R0,CKTSTR ;THERE AREN'T ANY
5200 .ASCIZ "no" ;
5201 .EVEN ;
5202 BR 25$ ;
5203 .IFF
5204 007762' 000560 BR 40$ ;AREN'T ANY - FORGET IT
5205 000 .ENDC
5206 007764' 004737 014554' 24$: JSR PC,CKCRLF ;DO CR/LF
5207 007770' 004737 014614' JSR PC,CKTOCT ;TYPE OUT THE NUMBER
5208 007774' 012700 010354' 25$: MOV #70$,R0 ;ASSUME FIXED ADDRESS DEVICE
5209 010000' 021537 011522' CMP (R5),CHKFLD ; BUT CHECK
5210 010004' 101002 BHI 26$ ;FIXED
5211 010006' 012700 010364' MOV #72$,R0 ;RATHER FLOATING
5212 010012' 004737 014526' 26$: JSR PC,CKTTXT ;SAY WHICH
5213 010016' 013700 002056' MOV CKDNAM,R0 ;GET ADR OF ASCIZ STRING
5214 010022' 004737 014526' JSR PC,CKTTXT ;TYPE DEVICE NAME
5215 010026' 020227 000001 CMP R2,#1 ;HOW MANY ?
5216 010032' 001402 BEQ 27$ ;SINGULAR
5217 010034' CK11SC <CKENCL>,<'s> ;PLURAL
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 14-6
C11DTE.MAC 04-JAN-83 11:22 LOOK FOR AND CHECK SYSTEM DEVICES
5218 010036' 000163 .ASCIZ \s\ ;
5219 .EVEN ;
5220 010040' 012700 010410' 27$: MOV #74$,R0 ;ADD TO DESCRIPTOR STRING
5221 010044' 020227 000001 CMP R2,#1 ;USE PROPER PREPOSITION
5222 010050' 101402 BLOS 28$ ;
5223 010052' 012700 010400' MOV #73$,R0 ;
5224 010056' 004737 014526' 28$: JSR PC,CKTTXT ;TYPE PREPOSITION
5225 010062' 011500 MOV (R5),R0 ;GET EXPECTED DEVICE ADDRESS
5226 010064' 004737 014614' JSR PC,CKTOCT ;TYPE IT OUT
5227 ;THE CURRENT DEVICE UNITS HAVE BEEN SOUGHT
5228 ; AND COUNTED - PROCEED TO TEST ANY SO FOUND
5229 010070' 005702 TST R2 ;WERE THERE ANY?
5230 010072' 001514 BEQ 40$ ;NO
5231 010074' 010346 MOV R3,-(SP) ;
5232 010076' 010446 MOV R4,-(SP) ;
5233 010100' 010246 MOV R2,-(SP) ;R2 MUST STAY ON TOP FOR COUNT
5234 010102' 005037 002054' CLR CKDEVN ;CHECK UNIT 0 FIRST
5235 010106' 016503 000026 MOV D.FVFD(R5),R3 ;GET FIRST VECTOR FOR POSSIBLE FIXED
5236 010112' 004037 014572' JSR R0,CKTSTR ;REPORT VECTOR ADDRESS
5237 010116' 020054 062566 072143 .ASCIZ ", vector at" ;
010124' 071157 060440 000164
5238 .EVEN ;
5239 010132' 010300 MOV R3,R0 ;
5240 010134' 004737 014600' JSR PC,CKTBOC ;
5241 010140' 116500 000005 MOVB D.VMUL(R5),R0 ;GET VECTOR MULTIPLE
5242 010144' 001405 BEQ 30$ ;BRANCH IF FIXED
5243 010146' 013703 011520' MOV CHKFLV,R3 ;GET VECTOR FOR 1ST UNIT
5244 010152' 005300 DEC R0 ;
5245 010154' 060003 ADD R0,R3 ;
5246 010156' 040003 BIC R0,R3 ;
5247 010160' 011504 30$: MOV (R5),R4 ;GET HDW ADR FOR FIRST UNIT
5248 010162' 001002 BNE 32$ ;
5249 010164' 013704 011522' MOV CHKFLD,R4 ;FLOATING DEVICE
5250 010170' 005037 016260' 32$: CLR CHKCHR+CKPI ;ROUTINE WILL SET PI LEVEL
5251 010174' 016500 000012 MOV D.DIAG(R5),R0 ;ADR OF ROUTINE TO VERIFY DEVICE
5252 010200' 001424 BEQ 34$ ;BRANCH IF NO ROUTINE TO VERIFY
5253 010202' 042737 100000 002052' BIC #CKFIDT,CHKFLG ;HAVEN'T TYPED ID YET
5254 010210' 010437 016254' MOV R4,CHKCHR+CKDA ;SAVE DEVICE ADDRESS
5255 010214' 010337 016256' MOV R3,CHKCHR+CKDV ;SAVE VECTOR ADDRESS IN TABLE
5256 010220' 010401 MOV R4,R1 ;PUT DEV ADR IN R1, MOST WILL USE IT
5257 010222' 005037 016262' CLR CHKCHR+CKFLG ;CLR AND LET DEV ROUTINE SET FLAGS
5258 010226' SPL 7 ;MAKE SURE WE'RE AT LEVEL 7
5259 010234' 004710 JSR PC,(R0) ;CALL TO DEVICE CHECK
5260 010236' 005765 000022 TST D.FRSV(R5) ;SEE IF VECTOR ADR SET YET
5261 010242' 001003 BNE 34$ ;BRANCH IF SET
5262 010244' 013765 016256' 000022 MOV CHKCHR+CKDV,D.FRSV(R5) ;SET FIRST VECTOR FOUND
5263 ;;;; MOV CHKCHR+CKPI,D.PRIO(R5) ;SET FIRST PI LEVEL FOUND
5264 010252' 021527 175400 34$: CMP (R5),#DS.DVA ;DS11 ARE SPECIAL SO DON'T CALL MAIN HERE
5265 010256' 001404 BEQ 35$ ;BRANCH IF DS11
5266 010260' 012700 016254' MOV #CHKCHR,R0 ;POINT TO THE CHARACTERISTIC TABLE
5267 010264' 004775 000014 JSR PC,@D.MAIN(R5) ;CALL TO MAIN PROGRAM
5268 010270' 116500 000003 35$: MOVB D.VINC(R5),R0 ;GET VECTOR INCREMENT
5269 010274' 060003 ADD R0,R3 ;
5270 010276' 116500 000004 MOVB D.HINC(R5),R0 ;HDW INCREMENT
5271 010302' 060004 ADD R0,R4 ;POINT TO NEXT REGISTER SET
5272 010304' 005237 002054' INC CKDEVN ;ON TO NEXT DEVICE NUMBER
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 14-7
C11DTE.MAC 04-JAN-83 11:22 LOOK FOR AND CHECK SYSTEM DEVICES
5273 010310' 023716 002054' CMP CKDEVN,(SP) ;DONE ALL UNITS YET? (SET TO 177776 BY NULL DIAG)
5274 010314' 103725 BLO 32$ ;NO, NOT YET
5275 010316' 012602 MOV (SP)+,R2 ;
5276 010320' 012604 MOV (SP)+,R4 ;
5277 010322' 012603 MOV (SP)+,R3 ;
5278 010324' 40$: ;
5279 000000 .REPT 0
5280 ;;;;DISABLED CODE!!!
5281 SAVE <R3,R4>
5282 CLR R4 ;FLAG NO MORE DEVICES
5283 JSR PC,@D.MAIN(R5) ;CALL MAIN PROGRAM
5284 RESTORE <R4,R3>
5285 .ENDR
5286 ;
5287 ;DONE CHECKING ALL DEVICE UNITS, UPDATE FLOATING VALUES AS REQ'D
5288 ;
5289 010324' 105765 000005 TSTB D.VMUL(R5) ;FIXED VECTOR DEV?
5290 010330' 001406 BEQ 50$ ;YES
5291 010332' 013746 011520' MOV CHKFLV,-(SP) ;NO, RESET FLOATING VECTOR
5292 010336' 010337 011520' MOV R3,CHKFLV ;
5293 010342' 012603 MOV (SP)+,R3 ;
5294 010344' 011500 MOV (R5),R0 ;WAS THIS A FLOATING DEVICE ?
5295 010346' 062705 000030 50$: ADD #D.NEXT,R5 ;RETURN FOLLOWING TRAILING ARGS
5296 010352' 000205 RTS R5 ;
5297 ;
5298 010354' 043040 074151 062145 70$: .ASCIZ " Fixed " ;
010362' 000040
5299 .EVEN ;
5300 010364' 043040 067554 072141 72$: .ASCIZ " Floating " ;
010372' 067151 020147 000
5301 010400' .EVEN ;
5302 010400' 063040 067562 020155 73$: .ASCIZ " from " ;
010406' 000
5303 010410' .EVEN ;
5304 010410' 060440 020164 000 74$: .ASCIZ " at " ;
5305 010416' .EVEN ;
5306 ;EDIT PAGE BREAK (FF)
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 15
C11DTE.MAC 04-JAN-83 11:22 LOOK FOR AND CHECK SYSTEM DEVICES
5308
5309 .SBTTL BIT BY BIT SET/CLEAR TEST
5310 ;
5311 ; CHECK WE CAN SET/CLEAR VARIOUS BITS
5312 ;
5313 ; CALL MOV #<ADR OF ASCIZ \NAME\>,CKDNAM
5314 ; MOV <DEVICE NUMBER>,CKDEVN
5315 ; MOV <DEVICE REGISTER ADDRESS>,R1
5316 ; JSR R5,CHKBIT
5317 ; <ALL BITS TO TEST>
5318 ;
5319 010416' 010046 CHKBIT: MOV R0,-(SP) ;
5320 010420' 052737 000340 177776 BIS #BR7,PS ;DISABLE INTERRUPTS
5321 010426' 011500 MOV (R5),R0 ;GET BITS TO CHECK
5322 010430' 040011 BIC R0,(R1) ;TRY AND CLEAR ALL OF THEM
5323 010432' 030011 BIT R0,(R1) ;SEE IF ALL OF THEM CLEARED?
5324 010434' 001410 BEQ 1$ ;BRANCH IF ALL CLEAR
5325 010436' 005046 CLR -(SP) ;WHAT THE RESULT SHOULD BE
5326 010440' 011146 MOV (R1),-(SP) ;PUT C(DEV REG) ON STACK
5327 010442' 010046 MOV R0,-(SP) ;BUT ONLY CERTAIN BITS ARE BAD CANDIDATES
5328 010444' 005116 COM (SP) ;GET RID OF ONES
5329 010446' 042616 BIC (SP)+,(SP) ; THAT WE'RE NOT INTERESTED IN
5330 010450' 010146 MOV R1,-(SP) ;SAVE THE DEVICE ADR
5331 010452' CK11SC <CKEMSE!CKEPC!CKEDID!CKEGB>,<CKMG02>,<BITS WOULD NOT CLEAR>
5332 010456' 012700 000001 1$: MOV #1,R0 ;START WITH B0 AND GO UNTIL B15 IS DONE
5333 010462' 031500 2$: BIT (R5),R0 ;WANT THIS BIT CHECKED?
5334 010464' 001420 BEQ 4$ ;BRANCH IF NOT, AND MAKE NEW BIT
5335 010466' 050011 BIS R0,(R1) ;TRY TO SET THE BIT
5336 010470' 030011 BIT R0,(R1) ;SEE IF THE BIT SET
5337 010472' 001005 BNE 3$ ;BRANCH IF IT SET
5338 010474' 010046 MOV R0,-(SP) ;SAVE GOOD
5339 010476' 005046 CLR -(SP) ;GOOD SHOUD BE 0 FOR THAT BIT
5340 010500' 010146 MOV R1,-(SP) ;DEV ADR WHERE IT HAPPENED
5341 010502' CK11SC <CKEMSE!CKEPC!CKEDID!CKEGB>,<CKMG03>,<BIT WOULD NOT SET>
5342 010506' 040011 3$: BIC R0,(R1) ;NOW THAT ITS SET TRY TO CLEAR IT
5343 010510' 030011 BIT R0,(R1) ;SEE IF IT CLEARED
5344 010512' 001405 BEQ 4$ ;BRANCH IF IT CLEARED AND GET NEW BIT
5345 010514' 005046 CLR -(SP) ;GOOD SHOUD BE 0
5346 010516' 010046 MOV R0,-(SP) ;SINCE IT DIDN'T CLEAR THIS BIT IS BAD
5347 010520' 010146 MOV R1,-(SP) ;DEV ADR THAT FAILED
5348 010522' CK11SC <CKEMSE!CKEPC!CKEDID!CKEGB>,<CKMG02>,<BIT WOULD NOT CLEAR>
5349 010526' 006300 4$: ASL R0 ;MAKE NEW BIT POSITION
5350 010530' 001354 BNE 2$ ;BRANCH IF THERE IS A BIT
5351 010532' 012600 MOV (SP)+,R0 ;
5352 010534' 005725 TST (R5)+ ;GO OVER BITS FOLLOWING JSR
5353 010536' 000205 RTS R5 ;EXIT
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 15-1
C11DTE.MAC 04-JAN-83 11:22 BIT SET/BIT CLEAR TEST FOR DL10
5355 .SBTTL BIT SET/BIT CLEAR TEST FOR DL10
5356 ;
5357 ;ROUTINE TO CHECK DL10 BITS
5358 ;
5359 001 .IF NE FTDL10
5360 CHKDLX: MOV (R5)+,R0 ;GET BIT TO CHECK
5361 BIS R0,(R1) ;SET THE BIT IN THE DL10
5362 CMP (R1),R0 ;DID IT SET AND ONLY IT SET?
5363 BEQ 1$ ;BRANCH IF OK
5364 CKSERR R0,<(R1)>,R1 ;GD, BD, ADR
5365 CK11SC <CKEMSE!CKEPC!CKEDID!CKEGB>,<CKMG03>,<SET BIT BUT ITS NOT SET>
5366 1$: ASR R0 ;SHIFT RIGHT TO GET IT IN CLEAR POSITION
5367 BIS R0,(R1) ;SET BIT TO CLEAR BIT
5368 TST (R1) ;ALL BITS SHOULD BE CLEAR NOW
5369 BEQ 2$ ;BRANCH IF THEY ARE
5370 CLR -(SP) ;THE GOOD
5371 MOV (R1),-(SP) ;THE BAD
5372 MOV R1,-(SP) ;THE BAD ADR
5373 CK11SC <CKEMSE!CKEPC!CKEDID!CKEGB>,<CKMG02>,<SETTING DIDN'T CLR BIT>
5374 2$: RTS R5 ;EXIT
5375 000 .ENDC ;.IF NE FTDL10
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 15-2
C11DTE.MAC 04-JAN-83 11:22 PRINT DEVICE ID ROUTINE
5377 .SBTTL PRINT DEVICE ID ROUTINE
5378 ;
5379 010540' 032737 100000 002052' CKDIDT: BIT #CKFIDT,CHKFLG ;HAVE WE ALREADY TYPE DEVICE ID ?
5380 010546' 001035 BNE 1$
5381 010550' CK11SC 0,<? >
5382 010552' 004407 020077 000 .ASCIZ <7>" ? "
5383 010560' .EVEN
5384 010560' 013700 002056' MOV CKDNAM,R0 ;GET ASCIZ \DEVICE NAME\
5385 010564' 004737 014526' JSR PC,CKTTXT ;TYPE DEVICE NAME
5386 010570' CK11SC <CKENCL>,< #>
5387 010572' 021440 000 .ASCIZ \ #\
5388 010576' .EVEN
5389 010576' 013700 002054' MOV CKDEVN,R0 ;GET UNIT NUMBER
5390 010602' 004737 014614' JSR PC,CKTOCT ;TYPE UNIT NUMBER
5391 010606' CK11SC <CKENCL>,<(Adr = >
5392 010610' 040450 071144 036440 .ASCIZ \(Adr = \
010616' 000040
5393 .EVEN
5394 010620' 013700 016254' MOV CHKCHR+CKDA,R0 ;GET DEVICE ADDR
5395 010624' 004737 014614' JSR PC,CKTOCT ;TYPE IT
5396 010630' CK11SC <CKENCL>,<)>
5397 010632' 000051 .ASCIZ \)\
5398 .EVEN
5399 010634' 052737 100000 002052' BIS #CKFIDT,CHKFLG ;REMEMBER WE TYPED DEVICE ID
5400 010642' 000207 1$: RTS PC
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 15-3
C11DTE.MAC 04-JAN-83 11:22 ROUTINE TO FIND DEVICE INTERRUPT LEVEL
5402 .SBTTL ROUTINE TO FIND DEVICE INTERRUPT LEVEL
5403 ;
5404 ;CALL JSR R5,CHKINL ;WITH DEVICE READY TO INT BUT
5405 ; ; WITH THE PS SET TO LEVEL 7.
5406 ;
5407 010644' 010046 CHKINL: MOV R0,-(SP) ;SAVE R0
5408 010646' 010146 MOV R1,-(SP) ;SAVE R1
5409 010650' 010246 MOV R2,-(SP) ;SAVE R2
5410 010652' 012702 000300 MOV #BR6,R2 ;START BY CHECKING LEVEL 6
5411 010656' 011501 1$: MOV (R5),R1 ;GET TIME TO WAIT
5412 010660' 005000 CLR R0 ;WILL BE SET BY INT ROUTINE IF INT
5413 010662' 010237 177776 MOV R2,PS ;LOWER PS LEVEL
5414 ;MOST REASONABLE INTERRUPTS WHICH OCCUR WILL
5415 ; DISPATCH THROUGH CKINT, RETURN THE VECTOR
5416 ; ADDRESS USED IN R0
5417 010666' 005700 2$: TST R0 ;SEE IF INT YET
5418 010670' 001012 BNE 10$ ;NON 0 SAYS INTERRUPT HAPPENED
5419 010672' 077103 SOB R1,2$ ;TIME AND WAIT
5420 010674' SPL 7 ;TIMED OUT SET LEVEL 7, LOWER AND TRY AGAIN
5421 010702' 162702 000040 SUB #40,R2 ;MAKE LEVEL LOWER BY 1
5422 010706' 002363 BGE 1$ ;BRANCH IF LEVEL 0 NOT CHECKED YET
5423 010710' CK11SC <CKEMSE!CKEDID!CKEPC>,<CKMG04>,<DEVICE NEVER INTERRUPTED>
5424 010714' 000415 BR 3$ ;EXIT
5425 ;
5426 010716' 020037 016256' 10$: CMP R0,CHKCHR+CKDV ;SEE IF SAME AS WHAT IT SHOULD BE
5427 010722' 001406 BEQ 11$ ;BRANCH IF CORRECT VECTOR
5428 010724' CKSERR <CHKCHR+CKDV>,<R0>,<R4>
5429 010734' CK11SC <CKEMSE!CKEPC!CKEDID!CKEGB>,<CKMG05>,<WENT TO WRONG VECTOR>
5430 ;
5431 010740' 062702 000040 11$: ADD #40,R2 ;MAKE THE DEVICE LEVEL
5432 010744' 010237 016260' MOV R2,CHKCHR+CKPI ;SAVE LEVEL DEVICE INTERRUPTED AT
5433 010750' 012602 3$: MOV (SP)+,R2 ;RESTORE R2
5434 010752' 012601 MOV (SP)+,R1 ;RESTORE R1
5435 010754' 012600 MOV (SP)+,R0 ;RESTORE R0
5436 010756' 005725 TST (R5)+ ;SKIP OVER TIME DELAY CONSTANT
5437 010760' 000205 RTS R5 ;RETURN WITH DEVICE LEVEL SAVED IN CHARACTERISTICS TABLE
5438 ;EDIT PAGE BREAK (FF)
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 16
C11DTE.MAC 04-JAN-83 11:22 ROUTINE TO FIND DEVICE INTERRUPT LEVEL
5440
5441 .SBTTL CHECK INTERRUPTS AND FIND DEVICE LEVEL
5442 ;
5443 ;ROUTINE TO CHECK INTERRUPTS AND FIND DEVICE LEVEL
5444 ;
5445 ; CALL (GENERATED BY MACRO "$CKINT"):
5446 ; MOV ENABLE ADR,R1
5447 ; MOV INT ADR,R2
5448 ; JSR R5,CKINT
5449 ; TRAILING ARGS:
5450 ; (NAME) (PURPOSE)
5451 ; I.ENAB - ENABLE BIT
5452 ; I.INTS - INTERRUPT BITS
5453 ; I.INTC - SPECIAL CLEAR BITS
5454 ; I.RTRN - RETURN ADDRESS
5455 ;
5456 010762' 010346 CKINT: MOV R3,-(SP)
5457 010764' 010446 MOV R4,-(SP)
5458 010766' 005037 016260' CLR CHKCHR+CKPI ;START WITH PI OF 0 (NO DEV)
5459 010772' 005037 011354' CLR CKFLAG ;0 = PI LEVEL FOUND MUST BE PUT IN TABLE
5460 ; NON 0 = CHECK PI LEVEL FOUND WITH TABLE
5461 010776' 012704 000001 MOV #1,R4 ;STARTING POSITION OF SLIDING INT BIT
5462 011002' 012703 000340 CKINT1: MOV #BR7,R3 ;START CHECKING AT THIS LEVEL
5463 011006' 010337 177776 CKINT2: MOV R3,PS ;SET PS
5464 011012' 005000 CLR R0 ;SET TO 0 SO IF INT HAPPENS WE KNOW IT
5465 011014' 030465 000002 CKINT3: BIT R4,I.INTS(R5) ;IS THERE A BIT TO TEST?
5466 011020' 001002 BNE 5$ ;BRANCH IF BIT IN POSITION
5467 011022' 000137 011332' JMP CKINT7 ;MAKE NEW BIT POSITION
5468 011026' 051511 5$: BIS (R5),(R1) ;SET INTERRUPT ENABLE
5469 011030' 050412 BIS R4,(R2) ;SET INTERRUPT BIT
5470 011032' 000240 NOP ;ALLOW 1 EXTRA INST TIME FOR INT
5471 011034' SPL 7 ;LET NO INT HAPPEN
5472 011042' 041511 BIC (R5),(R1) ;CLEAR INT ENABLE
5473 011044' 005765 000004 TST I.INTC(R5) ;SEE IF SPECIAL CLEAR
5474 011050' 001403 BEQ 7$ ;BRANCH IF NOT
5475 011052' 056512 000004 BIS I.INTC(R5),(R2) ;SPECIAL CLEAR
5476 011056' 000402 BR 9$ ;CONTINUE
5477 011060' 046512 000002 7$: BIC I.INTS(R5),(R2) ;CLEAR INT BITS
5478 011064' 005700 9$: TST R0 ;IF R0 IS NON 0 IT SHOULD BE THE
5479 ; VECTOR ADR. IF 0 NO INT HAPPENED.
5480 011066' 001006 BNE 10$ ;BRANCH IF INTERRUPT
5481 011070' 162703 000040 SUB #40,R3 ;MAKE PS VALUE 1 LEVEL LESS
5482 011074' 002344 BGE CKINT2 ;BRANCH IF NEW LEVEL OK
5483 011076' CK11SC <CKEMSE!CKEPC!CKEDID>,<CKMG04>,<DEVICE NEVER INTERRUPTED>
5484 011102' 000517 BR CKINTE ;EXIT
5485 011104' 10$: ;INTERRUPT OCCURRED, CHECK IT OUT
5486 011104' 020037 016256' CMP R0,CHKCHR+CKDV ;SEE IF WE WENT TO CORRECT ADR
5487 011110' 001407 BEQ 13$ ;BRANCH IF WE DID, R0 = VECTOR ADR
5488 011112' CKSERR <CHKCHR+CKDV>,R0,<R2>;GD,BD,ADR
5489 011122' CK11SC <CKEMSE!CKEPC!CKEDID!CKEGB>,<CKMG05>,<WENT TO WRONG VECTOR>
5490 011126' 000505 BR CKINTE ;EXIT
5491 011130' 005737 011354' 13$: TST CKFLAG ;MUST WE LOAD LEVEL OR CHECK IT?
5492 011134' 001010 BNE 11$ ;BRANCH IF JUST CHECK
5493 011136' 010337 016260' MOV R3,CHKCHR+CKPI ;LOAD LEVEL JUST FOUND
5494 011142' 062737 000040 016260' ADD #40,CHKCHR+CKPI ;MAKE LEVEL OF DEVICE
5495 011150' 012737 177777 011354' MOV #-1,CKFLAG ;SET FLAG SO NEXT TIME WE CHECK LEVEL AS WELL
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 16-1
C11DTE.MAC 04-JAN-83 11:22 CHECK INTERRUPTS AND FIND DEVICE LEVEL
5496 011156' 010300 11$: MOV R3,R0 ;GET PRESENT LEVEL
5497 011160' 062700 000040 ADD #40,R0 ;MAKE IT THE DEVICE LEVEL
5498 011164' 020037 016260' CMP R0,CHKCHR+CKPI ;CHECK LEVEL AGAINST LAST TIME
5499 011170' 001427 BEQ CKINT6 ;BRANCH IF LEVEL CHECKS
5500 011172' CKSERR <CHKCHR+CKPI>,R0,R4
5501 011202' CK11SC <CKEPC!CKEDID!CKEGB>,<Interrupt to Different BR Level>,<INTERRUPT TO DIF
5502 011204' 067111 062564 071162 .ASCIZ \Interrupt to Different BR Level\<377>
011212' 070165 020164 067564
011220' 042040 063151 062546
011226' 062562 072156 041040
011234' 020122 062514 062566
011242' 177554 000
5503 011246' .EVEN
5504 011246' 000435 BR CKINTE ;EXIT
5505 011250' 005037 177776 CKINT6: CLR PS ;CHECK WITH LEVEL 0 AND
5506 011254' 005000 CLR R0 ; NO INT ENABLE BITS SET
5507 011256' 050412 BIS R4,(R2) ; AND INT BIT SET THAT NO INT OCCURRS
5508 011260' 000240 NOP ;PAUSE
5509 011262' 000240 NOP ;PAUSE
5510 011264' SPL 7 ;DON'T LET AN INT HAPPEN
5511 011272' 005700 TST R0 ;SEE IF ONE HAPPENED
5512 011274' 001403 BEQ 19$ ;BRANCH IF NO INT
5513 011276' CK11SC <CKEMSE!CKEDID!CKEPC>,CKMG07,<INTERRUPT WHEN NOT ENABLED>
5514 011302' 000417 BR CKINTE ;EXIT
5515 011304' 005765 000004 19$: TST I.INTC(R5) ;SEE IF SPECIAL CLEAR
5516 011310' 001403 BEQ 22$ ;BRANCH IF NOT
5517 011312' 056512 000004 BIS I.INTC(R5),(R2) ;SPECIAL CLEAR (DL10 FOR ONE)
5518 011316' 000401 BR 24$ ;CONTINUE
5519 011320' 040412 22$: BIC R4,(R2) ;CLEAR INT BITS
5520 011322' 006304 24$: ASL R4 ;MAKE NEW BIT POSITION
5521 011324' 001406 BEQ CKINTE ;BRANCH IF DONE
5522 011326' 000137 011002' JMP CKINT1 ;TEST NEW BIT
5523 011332' 006304 CKINT7: ASL R4 ;MAKE NEW INT BIT POSITION
5524 011334' 001402 BEQ CKINTE ;BRANCH IF NO NEW BIT POSITION
5525 011336' 000137 011014' JMP CKINT3 ;BRANCH IF NEW BIT POSITION
5526 011342' 062705 000006 CKINTE: ADD #I.RTRN,R5 ;FOR CORRECT RETURN
5527 011346' 012604 MOV (SP)+,R4 ;
5528 011350' 012603 MOV (SP)+,R3 ;
5529 011352' 000205 RTS R5 ;RETURN
5530 ;
5531 011354' 000000 CKFLAG: 0
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 16-2
C11DTE.MAC 04-JAN-83 11:22 GENERAL INTERRUPT FIELDER FOR CHK11
5533 .SBTTL GENERAL INTERRUPT FIELDER FOR CHK11
5534 ;
5535 ;WE GET HERE FROM ALMOST ANY INTERRUPT WHILE IN CHK11
5536 ; THIS WILL RETURN THE VECTOR ADDRESS IN R0 -
5537 ; THIS IS DISCERNED FROM THE CONDITION CODE BITS AND THE
5538 ; ADDRESS AT WHICH THE CODE IS ENTERED
5539 ;
5540 011356' CHKINT:
5541 ;ENTRY FOR VECTORS 0-74
5542 011356' 013700 177776 MOV PS,R0 ;GET PROCESSOR STATUS
5543 011362' 004737 011476' JSR PC,1$
5544 011366' 000000 .WORD 0
5545 000012 CHKISZ = .-CHKINT ;CHKINT BLOCK SIZE
5546 ;ENTRY FOR VECTORS 100-174
5547 011370' 013700 177776 MOV PS,R0 ;GET PROCESSOR STATUS
5548 011374' 004737 011476' JSR PC,1$
5549 011400' 000100 .WORD 100
5550 ;ENTRY FOR VECTORS 200-274
5551 011402' 013700 177776 MOV PS,R0 ;GET PROCESSOR STATUS
5552 011406' 004737 011476' JSR PC,1$
5553 011412' 000200 .WORD 200
5554 ;ENTRY FOR VECTORS 300-374
5555 011414' 013700 177776 MOV PS,R0 ;GET PROCESSOR STATUS
5556 011420' 004737 011476' JSR PC,1$
5557 011424' 000300 .WORD 300
5558 ;ENTRY FOR VECTORS 400-474
5559 011426' 013700 177776 MOV PS,R0 ;GET PROCESSOR STATUS
5560 011432' 004737 011476' JSR PC,1$
5561 011436' 000400 .WORD 400
5562 ;ENTRY FOR VECTORS 500-574
5563 011440' 013700 177776 MOV PS,R0 ;GET PROCESSOR STATUS
5564 011444' 004737 011476' JSR PC,1$
5565 011450' 000500 .WORD 500
5566 ;ENTRY FOR VECTORS 600-674
5567 011452' 013700 177776 MOV PS,R0 ;GET PROCESSOR STATUS
5568 011456' 004737 011476' JSR PC,1$
5569 011462' 000600 .WORD 600
5570 ;ENTRY FOR VECTORS 700-774
5571 011464' 013700 177776 MOV PS,R0 ;GET PROCESSOR STATUS
5572 011470' 004737 011476' JSR PC,1$
5573 011474' 000700 .WORD 700
5574 ;-----------------------------------------------------------------
5575 011476' 042700 177760 1$: BIC #^C17,R0 ;SAVE ONLY CONDITION CODE BITS
5576 011502' 006300 ASL R0 ;MULTIPLY BY 4 (4 BYTES PER VECTOR)
5577 011504' 006300 ASL R0 ;
5578 011506' 063600 ADD @(SP)+,R0 ;MAKES VECTOR ADR (POPS JSR RET ADR)
5579 011510' 012766 000340 000002 MOV #BR7,2(SP) ;DON'T TRAP AGAIN ON RETURN
5580 011516' 000002 RTI ;
5581 ;
5582 011520' 000001 CHKFLV: .BLKW 1 ;CURRENT FLOATING DEVICE VECTOR
5583 011522' 000001 CHKFLD: .BLKW 1 ;CURRENT FLOATING DEVICE ADR
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 16-3
C11DTE.MAC 04-JAN-83 11:22 DEVICE DIAGNOSTICS
5585 .SBTTL DEVICE DIAGNOSTICS
5586 ;
5587 ; THE FOLLOWING ROUTINES HAVE NAMES OF THE FORM X--11, WHERE -- IS
5588 ; A DEVICE NAME (E.G. DH, DL, DTE2, KMC, ETC.) - THIS DEVICE NAME IS USED
5589 ; IN THE MACRO "DEVICE" TO GENERATE A POINTER TO THE APPROPRIATE
5590 ; DIAGNOSTIC ROUTINE - "DEVICE" CALLS CHKDEV, WHICH ACCESSES THE
5591 ; TABLE GENERATED BY "DEVICE" CONTAINING THIS POINTER, AND USES
5592 ; IT TO CALL THE PROPER DIAGNOSTIC
5593 ;
5594 ; DEVELOPERS: TRY TO KEEP THE DEVICE ROUTINE SETS IN
5595 ; ALPHABETICAL ORDER BY DEVICE NAME (E.G., ...DL11-A, DL11-E,
5596 ; DM11BB, DN11, ... DU11, DUP11, DZ11...) - ALSO NOTE THAT THE
5597 ; THE DEVICE NAMES ARE THE ABBREVIATIONS USED IN THE MACRO NAMSTR
5598 ;
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 16-4
C11DTE.MAC 04-JAN-83 11:22 CHECK CD20 HARDWARE
5600 .SBTTL CHECK CD20 HARDWARE
5601 ;
5602 .IIF NDF FTCD20,FTCD20=0
5603 001 .IF NE FTCD20
5604 011524' XCD11: ;
5605 011524' 012737 011760' 000004 MOV #30$,NXMVEC ;SET A LOCAL BUS ERROR HANDLER
5606 011532' 005761 000006 TST CDST2(R1) ;LOOK FOR SECONDARY STATUS REGISTER
5607 011536' 012737 015534' 000004 MOV #CKBUST,NXMVEC ;IT'S THERE, THIS MUST BE A CD20 (NOT A CR11)
5608 011544' 016146 000004 MOV CDBA(R1),-(SP) ;TO BE SURE,
5609 011550' 012700 177777 MOV #-1,R0 ; FIND OUT IF WE CAN
5610 011554' 074061 000004 XOR R0,CDBA(R1) ; FIDDLE THE "CDBA" BITS
5611 011560' 022661 000004 CMP (SP)+,CDBA(R1) ; IF WE CAN'T,
5612 011564' 001501 BEQ 40$ ; IT ISN'T A CD11/20
5613 011566' 074061 000004 XOR R0,CDBA(R1) ; IF WE DID, PUT THE BITS BACK
5614 011572' 052737 000001 006134' BIS #1,CHKCR+4 ;MAKE CR11 TEST FAIL IF TRIED
5615 011600' 004537 010416' JSR R5,CHKBIT ;R/W CHECK ON CD.STS
5616 011604' 000162 .WORD CD.IE!CD.XAD!CD.PAC
5617 011606' 005721 TST (R1)+ ;UP TO CDCC
5618 011610' 004537 010416' JSR R5,CHKBIT ;
5619 011614' 177777 .WORD ALLBTS ;
5620 011616' 005721 TST (R1)+ ;UP TO CDBA
5621 011620' 004537 010416' JSR R5,CHKBIT ;
5622 011624' 177777 .WORD ALLBTS ;
5623 011626' 010401 MOV R4,R1 ;RESTORE CD.STS POINTER
5624 011630' 032711 010000 BIT #CD.OFL,(R1) ;READER AVAILABLE?
5625 011634' 001012 BNE 10$ ;YES
5626 011636' CK11SC 0,<not ready> ;
5627 011640' 041411 031104 020060 .ASCIZ " CD20 off line"
011646' 063157 020146 064554
011654' 062556 000
5628 011660' .EVEN ;
5629 011660' 000207 RTS PC ;
5630 ;
5631 011662' 012721 000400 10$: MOV #CD.PWC,(R1)+ ;CLEAR READER
5632 011666' 012721 177777 MOV #-1,(R1)+ ;SET TO READ ONE COLUMN
5633 011672' 012721 160000 MOV #160000,(R1)+ ; INTO A NON-EXISTENT LOCATION
5634 011676' 012714 000161 MOV #CD.IE!CD.XAD!CD.GO,(R4) ;START READER
5635 011702' 005000 CLR R0 ;SET TIMER FOR READ WAIT
5636 011704' 032714 100200 15$: BIT #CD.ERR!CD.RDY,(R4) ;LOOK FOR ERROR OR DONE
5637 011710' 001017 BNE 20$ ;GOT ONE OF THEM
5638 011712' 077004 SOB R0,15$ ;NOT YET
5639 011714' CK11SC <CKEPC!CKEDID>,<SLOW READ>
5640 011716' 041411 031104 020060 .ASCIZ " CD20 time out on read"
011724' 064564 062555 067440
011732' 072165 067440 020156
011740' 062562 062141 000
5641 011746' .EVEN ;
5642 011746' 000207 RTS PC ;
5643 ;
5644 011750' 004537 010644' 20$: JSR R5,CHKINL ;CD20 SHOULD BE READY TO INTERRUPT
5645 011754' 177777 .WORD 177777 ;
5646 011756' 000207 RTS PC ;
5647 ;
5648 011760' 012737 015534' 000004 30$: MOV #CKBUST,NXMVEC ;RESTORE BUS ERROR VECTOR
5649 011766' 022626 CMP (SP)+,(SP)+ ;POP TRAP
5650 011770' 40$: CK11SC 0,<NOT CD20> ;
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 16-5
C11DTE.MAC 04-JAN-83 11:22 CHECK CD20 HARDWARE
5651 011772' 061411 071157 062562 .ASCIZ " correction - reader is NOT a CD20"
012000' 072143 067551 020156
012006' 020055 062562 062141
012014' 071145 064440 020163
012022' 047516 020124 020141
012030' 042103 030062 000
5652 012036' .EVEN ;
5653 012036' 000207 RTS PC ;
5654 000 .ENDC ;NE FTCD20
5655 ;EDIT PAGE BREAK (FF)
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 17
C11DTE.MAC 04-JAN-83 11:22 CHECK CD20 HARDWARE
5657
5658 .SBTTL CHECK CR11 HARDWARE
5659 ;
5660 ;CALL MOV #<VECTOR ADR>,R3
5661 ; MOV #<HDW ADR>,R4
5662 ; MOV #<HDW ADR>,R1
5663 ; JSR PC,XCR11
5664 ;
5665 .IIF NDF FTCR11,FTCR11=0
5666 001 .IF NE FTCR11
5667 012040' 016146 000004 XCR11: MOV CDBA(R1),-(SP) ;CHECK TO SEE
5668 012044' 012700 177777 MOV #-1,R0 ; IF WE CAN
5669 012050' 074061 000004 XOR R0,CDBA(R1) ; FIDDLE THE BITS IN
5670 012054' 022661 000004 CMP (SP)+,CDBA(R1) ; THE BUFFER ADDRESS CSR
5671 012060' 001423 BEQ 10$ ;NO - READER IS REAL
5672 012062' 074061 000004 XOR R0,CDBA(R1) ;YES - SET THE BITS BACK
5673 012066' CK11SC 0,<NOT CR11> ;
5674 012070' 067411 070157 020163 .ASCIZ " oops - reader is NOT a CR11"
012076' 020055 062562 062141
012104' 071145 064440 020163
012112' 047516 020124 020141
012120' 051103 030461 000
5675 012126' .EVEN ;
5676 012126' 000207 RTS PC ;
5677 ;
5678 012130' 052737 000001 006100' 10$: BIS #1,CHKCD+4 ;MAKE CD20 TEST FAIL IF TRIED
5679 012136' 004537 010416' JSR R5,CHKBIT ;CHECK HARDWARE BITS
5680 012142' 000102 .WORD CR.EJT!CR.INE ;
5681 012144' 032714 001000 BIT #CR.BSY,(R4) ;SEE IF BUSY (MAYBE POWER OFF)
5682 012150' 001414 BEQ 2$ ;BRANCH IF COMMAND CAN BE GIVEV
5683 012152' CK11SC 0,< CR11 not Rdy>
5684 012154' 041440 030522 020061 .ASCIZ \ CR11 not Rdy\
012162' 067556 020164 062122
012170' 000171
5685 .EVEN
5686 012172' 012737 000006 016260' MOV #CR.LVL,CHKCHR+CKPI ;GIVE DEFAULT LEVEL
5687 012200' 000207 RTS PC ;
5688 ;
5689 012202' 012714 000101 2$: MOV #CR.INE!CR.CFD,(R4) ;SET INT ENABLE AND READ
5690 ; TO FORCE ANY KIND OF INT
5691 012206' 005000 CLR R0 ;FOR TIMING OUT
5692 012210' 032714 100200 1$: BIT #CR.ERR!CR.CDN,(R4) ;SEE IF AN INT CONDITION EXISTS
5693 012214' 001015 BNE 3$ ;IF NOT, THEN WAIT.
5694 012216' 077004 SOB R0,1$ ;START TIMING OUT
5695 012220' 042714 000100 BIC #CR.INE,(R4) ;DISABLE CR11 INT ENABLE
5696 012224' CK11SC <CKEPC!CKEDID>,<CR11 Timed Out>,<CR11 NOT RESPONDING>
5697 012226' 051103 030461 052040 .ASCIZ \CR11 Timed Out\
012234' 066551 062145 047440
012242' 072165 000
5698 012246' .EVEN ;
5699 012246' 000207 RTS PC ;
5700 ;
5701 012250' 004537 010644' 3$: JSR R5,CHKINL ;FIND INT LEVEL
5702 012254' 177777 -1 ;FOR TIME-OUT LOOP
5703 012256' 042714 000100 BIC #CR.INE,(R4) ;DISABLE INT FOR CR11
5704 012262' 000207 RTS PC ;
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 17-1
C11DTE.MAC 04-JAN-83 11:22 CHECK CR11 HARDWARE
5705 000 .ENDC ;NE FTCR11
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 17-2
C11DTE.MAC 04-JAN-83 11:22 CHECK DH11 HDW
5707 .SBTTL CHECK DH11 HDW
5708 .IIF NDF NDH11,NDH11=0 ;BY DEFAULT NO DH11S
5709 ;
5710 ;CALL MOV #<VECTOR ADR>,R3
5711 ; MOV #<HDW ADR>,R4
5712 ; MOV #<HDW ADR>,R1
5713 ; JSR PC,XDH11
5714 ;
5715 .IIF NDF FTDH11,FTDH11=0
5716 001 .IF NE FTDH11
5717 XDH11: MOV R3,-(SP) ;SAVE REGISTER
5718 JSR R5,CHKBIT ;CHECK RD/WRT BITS
5719 131177 ;READ/WRITE BITS
5720 TST (R1)+ ;ADVANCE TO NXT REC CHAR REG
5721 TST (R1)+ ;ADVANCE TO LINE PARAMETER REG(XX4)
5722 JSR R5,CHKBIT ;CHECK RD/WRT BITS
5723 177767 ;READ/WRITE BITS
5724 TST (R1)+ ;ADVANCE TO CURRENT ADR REG(XX6)
5725 CLR R2 ;START CHECK AT LINE 0
5726 1$: JSR R5,CHKBIT ;CHECK RD/WRT BITS
5727 -1 ;READ/WRITE BITS
5728 INC R2 ;NEXT LINE TO CHECK
5729 CMP R2,#17 ;DONE
5730 BLE 1$ ;CHECK LINES 0-17
5731 TST (R1)+ ;ADVANCE TO BYTE COUNT REG(X10)
5732 CLR R2 ;START CHECK AT LINE 0
5733 2$: JSR R5,CHKBIT ;CHECK RD/WRT BITS
5734 -1 ;READ/WRITE BITS
5735 INC R2 ;NEXT LINE TO CHECK
5736 CMP R2,#17 ;ALL LINES CHECKED?
5737 BLE 2$ ;CHECK ALL 20 LINES
5738 TST (R1)+ ;ADVANCE TO BAR REG(XX12)
5739 TST (R1)+ ;ADVANCE TO BREAK REG(X14)
5740 JSR R5,CHKBIT ;CHECK BITS
5741 -1 ;READ/WRITE BITS
5742 TST (R1)+ ;ADVANCE TO SILO STATUS REG(X16)
5743 JSR R5,CHKBIT ;CHECK READ/WRITE BITS
5744 77
5745 $CKINT R4,R4,<DH.RIE!DH..MM>,<DH..RI>
5746 $CKINT ,,<DH.SIE!DH..MM>,<DH..SI>
5747 ADD #4,CHKCHR+CKDV ;MAKE EXPECTED VECTOR FOR XMIT
5748 $CKINT ,,<DH.TIE>,<DH..TI>
5749 MOV R3,CHKCHR+CKDV ;PUT VECTOR ADDRESS IN TABLE
5750 ;
5751 002 .IF NE NDH11 ;DON'T CHECK HARDWARE NOT TO BE USED
5752 CKDH1A: MOV R3,DHXMII ;ADR TO COME TO ON XMIT INT
5753 ADD #4,DHXMII ;
5754 MOV #CKBLK,R0 ;LOAD A BUFFER WITH COUNT PATTERN
5755 MOV #400,R1 ;LOAD 400 CHARACTERS
5756 CLR R2 ;START WITH 0
5757 1$: MOVB R2,(R0)+ ;STORE THE COUNT PATTERN
5758 INCB R2 ;NEW PATTERN
5759 SOB R1,1$ ;BUFFER LOADED?
5760 CLR R3 ;START WITH LINE 0
5761 MOV #1,R2 ;LINE BIT (LINE 0)
5762 CKDH1B: CLR DHDATA ;FIRST RCV'D SHOULD BE 0
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 17-3
C11DTE.MAC 04-JAN-83 11:22 CHECK DH11 HDW
5763 .IIF NDF NTRIB,NTRIB=0
5764 003 .IF NE NTRIB
5765 ;IF TRIBUTARY LINES IN USE
5766 ;USE MINIMAL TEST TO AVOID INTERFERRENCE
5767 ;WITH THE FUNCTIONAL STATIONS ON LINE
5768 ;THE PROBLEM ARISES BECAUSE MAINTAINANCE
5769 ;MODE ON THE DH11 DRIVES THE MODEM LINES!!!
5770 MOV #-1,R1
5771 DEC DHDATA
5772 MOVB R1,CKBLK
5773 .IFF
5774 MOV #-400,R1
5775 002 .ENDC ;.IF NE NTRIB
5776 BIS #DH..MC,(R4) ;CLEAR THE DH
5777 BIS #DH..MM!DH.SIE!DH.TIE!DH.RIE,(R4) ;ENABLE INTS
5778 BIS R3,(R4) ;LOAD THE LINE NUMBER
5779 MOV #B6!B8!B9!B10!B12!B13!DH.2SB!DH.CL8!DH.PEN!DH..OP,DH.LPR(R4)
5780 ;SEL 8BIT,9600,PAR,ODD
5781 MOV R1,DH.BCR(R4) ;LENGTH TO XMIT
5782 MOV #CKBLK,DH.CAR(R4) ;ADR WHERE THE DATA IS
5783 MOV #4,DH.SSR(R4) ;ALARM LEVEL TO 4
5784 CKDH1E: CLR R0 ;INT RETURNS ADR IN HERE
5785 CLR R1 ;TIMER
5786 MOV R2,DH.BAR(R4) ;SET LINE ACTIVE
5787 2$: CLR PS ;LEVEL TO 0 FOR INTS
5788 NOP ;LET AN INTERRUPT HAPPEN
5789 SPL 7 ;DON'T LET ONE HAPPEN
5790 CMP R0,CHKCHR+CKDV ;SEE IF RCV INT YET
5791 BEQ 4$ ;BRANCH IF RCV INT
5792 CMP R0,DHXMII ;SEE IF XMIT INT
5793 BEQ 5$ ;BRANCH IF XMIT INT
5794 TST R0 ;SEE IF ANY INTERRUPT
5795 BEQ 3$ ;BRANCH IF NO INTERRUPT
5796 CKSERR <CHKCHR+CKDV>,R0,R3
5797 CK11SC <CKEPC!CKEGB!CKEDID>,<Ill Int>,<ILLEGAL INT WHILE WAITING FOR DH11 INT>
5798 .ASCIZ \Ill Int\<377>
5799 .EVEN
5800 JMP CKDH1D ;DON'T TEST ANY MORE
5801 3$: SOB R1,2$ ;TIME-OUT
5802 CK11SC <CKEPC!CKEDID>,<No Int>,<NO DH11 INTERRUPT>
5803 .ASCIZ \No Int\<377>
5804 .EVEN
5805 JSR PC,CKDHPL ;REPORT LINE NUMBER
5806 JMP CKDH1D ;DON'T TEST ANY MORE
5807 5$: BIT #DH.NXM,(R4) ;SEE IF NXM
5808 BEQ 16$ ;BRANCH IF NO NXM
5809 CK11SC <CKEPC!CKEDID>,<Xmit Nxm>,<TRANSMIT NXM ON DH>
5810 .ASCIZ \Xmit Nxm\<377>
5811 .EVEN
5812 JSR PC,CKDHPL ;REPORT LINE NUMBER
5813 BR CKDH1D ;DON'T TEST ANY MORE
5814 16$: BIT #DH..TI,(R4) ;BETTER HAVE XMIT INT
5815 BNE 17$ ;BRANCH IF WE DO
5816 CK11SC <CKEPC!CKEDID>,<Ill Xmit Int>,<INT TO XMIT BUT FOR NO REASON>
5817 .ASCIZ \Ill Xmit Int\<377>
5818 .EVEN
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 17-4
C11DTE.MAC 04-JAN-83 11:22 CHECK DH11 HDW
5819 JSR PC,CKDHPL ;REPORT LINE NUMBER
5820 BR CKDH1D ;DON'T TEST ANY MORE
5821 17$: BIC #DH..TI,(R4) ;CLEAR XMIT INT
5822 BR CKDH1E ;
5823 4$: BIT #DH..SI,(R4) ;SEE IF SILO OVERFLOW
5824 BEQ CKDH1C ;BRANCH IF SILO HAD ROOM
5825 CK11SC <CKEPC!CKEDID>,<Silo Full>,<SILO OVERFLOW>
5826 .ASCIZ \Silo Full\<377>
5827 .EVEN
5828 JSR PC,CKDHPL ;REPORT LINE NUMBER
5829 BR CKDH1D ;DON'T TEST ANY MORE
5830 CKDH1C: BIC #DH..RI,(R4) ;CLEAR RCV INT (MUST FOR MAINT MODE)
5831 MOV DH.NRC(R4),R0 ;GET STUFF FROM SILO
5832 BIT #DH.DOV!DH..FE!DH..PE,R0 ;SEE IF ANY ERROR BITS WITH DATA
5833 BEQ 7$ ;BRANCH IF NO ERRORS WITH THE DATA
5834 MOV DHDATA,-(SP) ;MAKE THE GOOD
5835 MOV R3,-(SP) ;PUT LINE # IN
5836 SWAB (SP) ;GET IT IN THE (LB)
5837 BIS (SP)+,(SP) ;LINE # NOW IN GOOD
5838 BIS #DH.VDP,(SP) ;GOOD INCLUDES VALID DATA PRESENT
5839 MOV R0,-(SP) ;THE BAD
5840 MOV R3,-(SP) ;THE LINE UNDER TEST
5841 CK11SC <CKEGB!CKEPC!CKEDID>,<Data Err Bit Set>,<ERROR BITS WITH THE DATA>
5842 .ASCIZ \Data Err Bit Set\<377>
5843 .EVEN
5844 BR CKDH1D ;DON'T TEST ANY MORE
5845 7$: BIT #DH.VDP,R0 ;SEE IF VALID DATA
5846 BNE 8$ ;BRANCH IF VALID DATA
5847 CK11SC <CKEPC!CKEDID>,<Not Valid Data>,<NOT VALID DATA BIT SET>
5848 .ASCIZ \Not Valid Data\<377>
5849 .EVEN
5850 JSR PC,CKDHPL ;REPORT LINE NUMBER
5851 BR CKDH1D ;DON'T TEST ANY MORE
5852 8$: BIC #B15!B14!B13!B12,R0 ;CLEAR DATA ERROR BITS
5853 SWAB R0 ;FOR CHECKING LINE #
5854 CMPB R0,R3 ;SEE IF LINE #OK
5855 BEQ 9$ ;BRANCH IF IT IS
5856 MOV R3,-(SP) ;LEGAL LINE NUMBER
5857 CLR -(SP) ;0 FOR BYTE MOVE
5858 MOVB R0,(SP) ;THE ILLEGAL LINE NUMBER
5859 MOV R3,-(SP) ;LINE UNDER TEST
5860 CK11SC <CKEGB!CKEPC!CKEDID>,<Ill Line Num>,<ILLEGAL LINE NUMBER>
5861 .ASCIZ \Ill Line Num\<377>
5862 .EVEN
5863 BR CKDH1D ;DON'T TEST ANY MORE
5864 9$: SWAB R0 ;FOR CHECKING THE DATA
5865 CMPB R0,DHDATA ;SEE IF CORRECT DATA
5866 BEQ 10$ ;BRANCH IF DATA OK
5867 MOV DHDATA,-(SP) ;GOOD DATA
5868 CLR -(SP) ;FOR BYTE MOVE
5869 MOVB R0,(SP) ;THE BAD DATA
5870 MOV R3,-(SP) ;THE LINE #
5871 CK11SC <CKEGB!CKEPC!CKEDID>,<Data Err>,<DATA ERROR>
5872 .ASCIZ \Data Err\<377>
5873 .EVEN
5874 BR CKDH1D ;DON'T TEST ANY MORE
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 17-5
C11DTE.MAC 04-JAN-83 11:22 CHECK DH11 HDW
5875 10$: INCB DHDATA ;NEW PATTERN EXPECTED
5876 BEQ 11$ ;BRANCH IF LINE DONE
5877 JMP CKDH1E ;
5878 ;
5879 11$:
5880 CKDH1D: INC R3 ;NEW LINE NUMBER
5881 ASL R2 ;NEW BIT FOR NEXT LINE
5882 BEQ CKDH1F ;BRANCH IF TEST ALL DONE
5883 JMP CKDH1B ;
5884 ;
5885 CKDHPL: CK11SC 0,< Line #>
5886 .ASCIZ \ Line #\
5887 .EVEN
5888 MOV R3,R0 ;LINE NUMBER TO R0 FOR CALL
5889 JSR PC,CKTOCT ;PRINT LINE NUMBER
5890 RTS PC ;RETURN
5891 ;
5892 .IFF ;NE NDH11
5893 10$: JSR R0,CKTSTR
5894 .ASCIZ \ SKIPPING TRANSMISSION CHECK\
5895 .EVEN
5896 MOV #377+<<.+6-10$>/2>,10$ ;SHUT OFF SKIPPING COMMENT
5897 001 .ENDC ;NE NDH11
5898 ;
5899 CKDH1F: BIS #DH..MC,(R4) ;MASTER CLEAR
5900 MOV (SP)+,R3 ;GET R3 BACK
5901 RTS PC ;DH CHARACTER TEST DONE
5902 DHDATA: 0
5903 DHXMII: 0
5904 000 .ENDC ;NE FTDH11
5905 ;EDIT PAGE BREAK (FF)
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 18
C11DTE.MAC 04-JAN-83 11:22 CHECK DH11 HDW
5907
5908 .SBTTL CHECK DL11-A HDW
5909 ;
5910 .IIF NDF FTDL1A,FTDL1A=0
5911 001 .IF NE FTDL1A
5912 XDL.A11:
5913 RTS PC
5914 000 .ENDC ;NE FTDL1A
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 18-1
C11DTE.MAC 04-JAN-83 11:22 CHECK DL11-E HDW
5916 .SBTTL CHECK DL11-E HDW
5917 ;
5918 ;CALL MOV #<VECTOR ADR>,R3
5919 ; MOV #<HDW ADR>,R4
5920 ; MOV #<HDW ADR>,R1
5921 ; JSR PC,XDL11
5922 ;
5923 .IIF NDF FTDL1E,FTDL1E=0
5924 001 .IF NE FTDL1E
5925 012264' XDL.E11:
5926 012264' 010346 MOV R3,-(SP) ;
5927 012266' 004537 010416' JSR R5,CHKBIT ;CHECK READ/WRITE BITS
5928 012272' 000156 000156 ;
5929 012274' 005721 TST (R1)+ ;ADVANCE TO RECEIVE DATA REGISTER
5930 012276' 005721 TST (R1)+ ;ADVANCE TO TRANSMIT STATUS REGISTER
5931 012300' 004537 010416' JSR R5,CHKBIT ;
5932 012304' 000105 000105 ;
5933 012306' 012603 MOV (SP)+,R3 ;
5934 012310' 000207 RTS PC ;
5935 000 .ENDC ;NE FTDL1E
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 18-2
C11DTE.MAC 04-JAN-83 11:22 CHECK DM11BB HDW
5937 .SBTTL CHECK DM11BB HDW
5938 ;
5939 ;CALL MOV #<VECTOR ADR>,R3
5940 ; MOV #<HDW ADR>,R4
5941 ; MOV #<HDW ADR>,R1
5942 ; JSR PC,XDM11
5943 ;
5944 .IIF NDF FTDM11,FTDM11=0
5945 001 .IF NE FTDM11
5946 XDM11: JSR R5,CHKBIT ;CHECK FOLLOWING BITS
5947 DM.ALI!DM.DNE!DM..MM!DM.ENB!DM.IEN
5948 $CKINT ,R4,<DM.IEN>,<DM.DNE>
5949 JSR PC,CKDMCS ;CLEAR SCAN AND CHECK IT CLEARED
5950 BIS #DM.ENB,(R4) ;ENABLE SCAN
5951 BIT #DM.BSY,(R4) ;SEE IF BSY SET
5952 BNE 1$ ;BRANCH IF IT DID
5953 CK11SC <CKEPC!CKEDID>,<Busy did not Set>,<BUSY DID NOT SET>
5954 .ASCIZ \Busy did not Set\<377>
5955 .EVEN
5956 1$: JSR PC,CKDMCS ;CLEAR SCAN AND CHECKED IT CLEARED
5957 RTS PC
5958 ;
5959 .IIF NDF DM.TIM,DM.TIM=40. ;DM11BB SETTLE TIME IN MEMORY CYCLES
5960 ;
5961 CKDMCS: MOV #DM.DNE!DM..MM!DM.IEN!DM.ENB!DM.ALI,R2
5962 ;BITS WHICH SHOULD GET CLEARED
5963 MOV #<DM.TIM/5>,R0 ;TIME OUT FOR BUSY
5964 BIS #DM.SCN,(R4) ;CLEAR SCAN
5965 5$: BIT #DM.BSY,(R4) ;SEE IF BUSY CLEAR YET
5966 BEQ 2$ ;BRANCH IF IT IS
5967 SOB R0,5$ ;TIME OUT WAITING FOR BSY TO CLEAR
5968 CK11SC <CKEPC!CKEDID>,<Busy did not Clear>,<CLEARING SCAN FAILED TO CLEAR BUSY>
5969 .ASCIZ \Busy did not Clear\<377>
5970 .EVEN
5971 2$: BIT R1,(R4) ;SEE IF THEY ARE ALL CLEAR
5972 BEQ 3$ ;BRANCH IF THEY ARE ALL CLEAR
5973 MOV (R4),R0 ;GET DM11 STATUS
5974 COM R2 ;MASK OUT NON INTERESTING BITS
5975 BIC R2,R0 ;
5976 CLR -(SP) ;GOOD
5977 MOV R0,-(SP) ;BAD
5978 MOV R4,-(SP) ;ADR
5979 CK11SC <CKEGB!CKEPC!CKEDID>,<Clear Scan Error>,<CLR SCAN FAILED TO CLEAR A BIT>
5980 .ASCIZ \Clear Scan Error\<377>
5981 .EVEN
5982 3$: RTS PC
5983 000 .ENDC ;NE FTDM11
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 18-3
C11DTE.MAC 04-JAN-83 11:22 CHECK DN11 HDW
5985 .SBTTL CHECK DN11 HDW
5986 ;
5987 ;CALL MOV #<VECTOR ADR>,R3
5988 ; MOV #<HDW ADR>,R4
5989 ; MOV #<HDW ADR>,R1
5990 ; JSR PC,XDN11
5991 ;
5992 .IIF NDF FTDN11,FTDN11=0
5993 001 .IF NE FTDN11
5994 XDN11: JSR R5,CHKBIT ;CHECK BITS
5995 007714 ;READ/WRITE BITS
5996 $CKINT ,R4,<DN..IE!DN..ME>,<DN.DNE>
5997 RTS PC
5998 000 .ENDC ;NE FTDN11
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 18-4
C11DTE.MAC 04-JAN-83 11:22 CHECK DP11 HDW
6000 .SBTTL CHECK DP11 HDW
6001 ;
6002 ;CALL MOV #<VECTOR ADR>,R3
6003 ; MOV #<HDW ADR>,R4
6004 ; MOV #<HDW ADR>,R1
6005 ; JSR PC,XDP11
6006 ;
6007 .IIF NDF FTDP11,FTDP11=0
6008 001 .IF NE FTDP11
6009 XDP11: JSR R5,CHKBIT ;CHECK BITS
6010 3707 ;READ/WRITE BITS
6011 TST (R1)+ ;ADV TO REC BUF/SYN REG
6012 ;;;; JSR R5,CHKBIT ;CHECK BITS
6013 ;;;; 000000 ;READ/WRITE BITS
6014 TST (R1)+ ;ADV TO XMT STATUS REG
6015 JSR R5,CHKBIT ;
6016 000143 ;READ/WRITE BITS
6017 ;;;; TST (R1)+ ;ADV TO XMT BUFFER
6018 ;;;; JSR R5,CHKBIT ;
6019 ;;;; 000000 ;READ/WRITE BITS
6020 $CKINT R4,R4,B6,B7 ;
6021 RTS PC ;
6022 000 .ENDC ;NE FTDP11
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 18-5
C11DTE.MAC 04-JAN-83 11:22 CHECK DQ11 HDW
6024 .SBTTL CHECK DQ11 HDW
6025 ;
6026 ;CALL MOV #<VECTOR ADR>,R3
6027 ; MOV #<HDW ADR>,R4
6028 ; MOV #<HDW ADR>,R1
6029 ; JSR PC,XDQ11
6030 ;
6031 .IIF NDF FTDQ11,FTDQ11=0
6032 001 .IF NE FTDQ11
6033 XDQ11:
6034 002 .IF NDF,FT.D75 ;ONLY ASSEMBLE DQ IF NOT DC75
6035 JSR R5,CHKBIT ;CHECK WE CAN SET BITS
6036 110373 ;READ/WRITE BITS
6037 TST (R1)+ ;ADVANCE TO XMT REGISTER
6038 JSR R5,CHKBIT ;CHECK WE CAN SET BITS
6039 101772 ;READ/WRITE BITS
6040 TST (R1)+ ;ADVANCE TO ERR REGISTER
6041 JSR R5,CHKBIT ;CHECK WE CAN SET BITS
6042 017477 ;READ/WRITE BITS
6043 TST (R1)+ ;ADVANCE TO SHADOW REGISTERS
6044 JSR R5,CHKBIT
6045 -1
6046 ;
6047 ;DETERMINE DQ11 INTERRUPT LEVEL
6048 ;
6049 30$: $CKINT R4,R4,DQ.RIE,<DQ.RDP!DQ.RDS>
6050 MOV CHKCHR+CKDV,-(SP) ;SAVE VECTOR
6051 ADD #4,CHKCHR+CKDV ;MAKE VECTOR B
6052 CMP (R1)+,(R2)+ ;POINT TO XMIT REG
6053 $CKINT ,,<DQ.XIE>,<DQ.XDS!DQ.XDP>
6054 TST (R2)+ ;ADVANCE INT BIT POINTER TO ERR REG
6055 $CKINT ,,<DQ.EIE>,<DQ.VRC!DQ.XLE!DQ.RLE!DQ.XNX!DQ.RNX!DQ.XCL!DQ.RCL>
6056 MOV (SP)+,CHKCHR+CKDV ;RESTORE VECTOR A VECTOR
6057 ;
6058 ;ENTRY BECAUSE DQ11 TRAPPED TO RIGHT LOCATION
6059 ; CHECK WE CAN CLEAR THE DATASET FLAG
6060 ;
6061 32$: MOV #5,R0 ;PATIENCE COUNTER ON DATASET FLAG
6062 31$: BIC #DQ.DSF,2(R4) ;CLEAR DATASET FLAG
6063 CMP (SP),(SP) ;TIME WASTER ONLY
6064 BIT #DQ.DSF,2(R4) ;CHECK TO SEE IF DATASET FLAG STILL OFF
6065 BEQ CHKDQE
6066 SOB R0,31$
6067 CK11SC <CKEDID!CKEPC>,<Can't Clr Dataset Flg>,< CAN'T CLEAR DATASET FLAG>
6068 .ASCIZ \Can't Clr Dataset Flg\<377>
6069 .EVEN
6070 .PAGE
6071 ;CHECK THAT ERROR BITS WORK
6072 ;
6073 CHKDQE: JSR PC,CKDQCL ;CLEAR ENTIRE DQ
6074 MOV #40,R2 ;FIRST BIT TO TRY
6075 1$: BIS R2,4(R4) ;SET AN ERROR BIT
6076 MOV 4(R4),R0 ;GET ERR REG
6077 BPL 2$ ;BRANCH IF B15 ERR NOT SET
6078 BIT R2,R0 ;SEE IF THE BIT SET
6079 BNE 3$ ;BRANCH IF B15 SET AND ERR BIT SET
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 18-6
C11DTE.MAC 04-JAN-83 11:22 CHECK DQ11 HDW
6080 2$: MOV R2,-(SP) ;SAVE GOOD
6081 BIS #B15,(SP) ; ALSO MUST INCLUDE BIT 15.
6082 JSR PC,CKDQES ;PUT BAD AND REG # ON STACK
6083 CK11SC <CKEDID!CKEPC!CKEGB>,<Bit not Set>,<CAN'T SET BIT>
6084 .ASCIZ \Bit not Set\<377>
6085 .EVEN
6086 3$: BIC R2,4(R4) ;CLEAR BIT JUST SET, SHOULD ALSO CLEAR B15.
6087 MOV 4(R4),R0 ;SAVE RESULTS
6088 BMI 4$ ;BRANCH IF B15 SET (IT SHOULDN'T BE)
6089 BIT R2,R0 ;SEE IF THE BIT IS CLEAR
6090 BEQ 5$ ;BRANCH IF ITS 0
6091 4$: CLR -(SP) ;WHAT GOOD SHOULD BE
6092 JSR PC,CKDQES ;SAVE BD, AND REG # ON STACK
6093 CK11SC <CKEDID!CKEPC!CKEGB>,<Bit not Clear>,<COULDN'T CLEAR BIT>
6094 .ASCIZ \Bit not Clear\<377>
6095 .EVEN
6096 5$: ASR R2 ;ALL DONE?
6097 BNE 1$ ;BRANCH BACK IF ANOTHER BIT TO TEST
6098 BR CHKDQS ;GO CHECK SECONDARY REGS
6099 ;
6100 CKDQES: MOV (SP)+,R1 ;SAVE RETURN PC
6101 MOV R0,-(SP) ;PUT C(ERR REG) ON STACK
6102 MOV R2,-(SP) ;BIT WE TESTED
6103 BIS #B15,(SP) ;INCLUDE ERROR BIT
6104 COM (SP) ;
6105 BIC (SP)+,(SP) ;KEEP ONLY THE INTERESTING BITS
6106 MOV R4,-(SP) ;SAVE REG ADR
6107 ADD #4,(SP) ;MAKE IT THE ERROR REG
6108 JMP (R1) ;RETURN
6109 ;EDIT PAGE BREAK (FF)
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 19
C11DTE.MAC 04-JAN-83 11:22 CHECK DQ11 HDW
6111
6112 ; CHECK WE CAN LOAD VARIOUS DQ11 SECONDARY REGISTERS
6113 ;
6114 CHKDQS: CLR R0 ;1ST TRY TO CLEAR ALL SECONDARY REGISTERS
6115 JSR PC,60$ ;GO DO IT
6116 MOV #-1,R0 ;NOW TRY TO SET ALL SECONDARY REGISTERS
6117 JSR PC,60$
6118 MOV #1,R0 ;BIT TO LOAD
6119 10$: JSR PC,60$ ;TRY TO LOAD BIT
6120 ASL R0 ;SHIFT BIT
6121 BNE 10$ ;BRANCH IF STILL HAVE BITS TO TEST
6122 MOV #RG.SYN,R1 ;NOW TRY TO LOAD REG WITH REG #
6123 12$: MOV R1,R0 ;DATA = REGISTER NUMBER
6124 JSR PC,CKDQSL ;TRY TO LOAD REGISTER
6125 CMP #RG.SYN,R1
6126 BNE 14$
6127 DEC R1 ;SKIP REG 10
6128 14$: DEC R1 ;ON TO NEXT REGISTER
6129 BPL 12$
6130 MOV #RG.SYN,R1 ;NOW CHECK IT LOADED
6131 16$: MOV R1,R0 ;DATA SHOULD BE SAME
6132 JSR PC,CKDQSR ;CHECK DATA STILL THERE
6133 CMP #RG.SYN,R1 ;WAS THIS THE FIRST REG ?
6134 BNE 18$
6135 DEC R1 ;YES SO SKIP REG 10
6136 18$: DEC R1 ;ON TO NEXT REGISTER
6137 BPL 16$ ;DO REST IF ANY
6138 MOV #RG.MSC,R1 ;NOW TEST MISC REG
6139 CLR R0 ;TRY TO CLEAR REGISTER
6140 JSR PC,CKDQSL ;TRY TO LOAD IT
6141 MOV #2,R0 ;TEST STEP-MODE BIT
6142 JSR PC,CKDQSL
6143 MOV #10,R0 ;TEST TEST-LOOP BIT
6144 JSR PC,CKDQSL
6145 CLR R0
6146 JSR PC,CKDQSL ;CLEAR MISC REG
6147 BR CHKDQL ;DO A LOOP BACK TEST
6148 ;
6149 60$: MOV #RG.SYN,R1 ;1ST REGISTER TO LOAD
6150 62$: JSR PC,CKDQSL
6151 CMP #RG.SYN,R1 ;DID WE JUST CHECK THE SYN REG ?
6152 BNE 64$
6153 DEC R1 ;YES SO SKIP A REG
6154 64$: DEC R1 ;ON TO THE NEXT REG
6155 BPL 62$
6156 RTS PC ;YES
6157 ;
6158 ; LOAD A DQ11 2NDARY REGISTER
6159 ; CALL MOV #DATA,R0
6160 ; MOV #REG,R1
6161 ; JSR PC,CKDQSL
6162 CKDQSL: BIS #DQ.MBM,R1
6163 MOVB R1,5(R4) ;SELECT THE REGISTER
6164 MOV R0,6(R4) ;LOAD THE DATA
6165 CKDQSR: BIS #DQ.MBM,R1
6166 MOVB R1,5(R4) ;SELECT THE REGISTER
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 19-1
C11DTE.MAC 04-JAN-83 11:22 CHECK DQ11 HDW
6167 BIC #DQ.MBM,R1
6168 CMP R0,6(R4) ;CHECK TO SEE IF WE LOADED IT
6169 BNE 10$
6170 RTS PC
6171 10$: MOV R0,-(SP) ;SAVE GOOD DATA
6172 MOV 6(R4),-(SP) ;SAVE BAD DATA
6173 MOV R1,-(SP) ;SAVE 2ND REG #
6174 CK11SC <CKEDID!CKEPC!CKEGB>,<Secondary Reg Err>,<SECONDARY REG ERROR>
6175 .ASCIZ \Secondary Reg Err\<377>
6176 .EVEN
6177 RTS PC ;RETURN
6178 .PAGE
6179 ; DISCOVER WHAT THE SPECIAL CHARACTERS ARE IN THE DQ11.
6180 ;
6181 CHKDQL:
6182 003 .IF NE SPCVFY ;CHECK FOR SPECIAL CHARS ONLY IF USED
6183 CLR CHKCHR+CKFLG ;CLEAR WHERE WE COUNT SPECIAL CHARS
6184 MOV R2,-(SP) ;SAVE R2
6185 MOV R3,-(SP) ;SAVE R3 (VECTOR)
6186 MOV R5,-(SP) ;SAVE R5
6187 MOVB #255,CHKXBF+2 ;SOMETHING OTHER THAN SYNC (226)
6188 CLR R3 ;START WITH CHARACTER 0
6189 CKDQLP:
6190 1$: JSR PC,CKDQCL ;CLEAR DQ
6191 MOV #CHKRBF,R5 ;ADDRESS TO LOAD
6192 MOV #<<CHKRBF-CHKXBF>/2>,R1 ;LENGTH TO LOAD
6193 CLR R2 ;DATA TO LOAD
6194 JSR PC,CKLDBF ;LOAD BUFFER
6195 MOV #226*401,CHKXBF ;SYNC CHAR WE USE
6196 MOVB R3,CHKXBF+3 ;PUT CHAR IN XMIT BUFFER
6197 DQREGS SYN,(R4) ;SYNC REG
6198 MOV #226*401,6(R4) ;PUT SYNC CHAR IN REG
6199 DQREGS MSC,(R4) ;MISC REG
6200 MOV #4010,6(R4) ;LOAD MISC REG
6201 DQREGS PTA,(R4) ;PRI XMIT ADDR REG
6202 MOV #CHKXBF,6(R4) ;LOAD XMIT PRI ADDR REG
6203 DQREGS STA,(R4) ;SEC XMIT ADR REG
6204 MOV #CHKXBF,6(R4) ;LOAD XMIT SEC ADDR REG
6205 DQREGS PRA,(R4) ;PRIMARY RECEIVE ADDR REG
6206 MOV #CHKRBF,6(R4) ;LOAD REC ADDR REG PRI
6207 DQREGS SRA,(R4) ;SEC REC ADR REG
6208 MOV #CHKRBF,6(R4) ;LOAD REC ADDR REG SEC
6209 DQREGS PTC,(R4) ;PRI XMIT CC
6210 MOV #-4,6(R4) ;LOAD PRI XMIT CC
6211 DQREGS STC,(R4) ;SEC XMIT CC
6212 MOV #-2,6(R4) ;LOAD SEC XMIT CC
6213 DQREGS PRC,(R4) ;PRI REC CC
6214 MOV #-2,6(R4) ;LOAD PRI REC CC
6215 DQREGS SRC,(R4) ;SEC REC CC
6216 MOV #-2,6(R4) ;LOAD SEC REC CC
6217 CLR R1 ;CLEAR SAVED STATUS
6218 MOV #DQ.RGO!DQ.CIE!DQ.RIE,(R4) ;TELL REC TO GO WITH IE
6219 MOV #DQ.XGO,2(R4) ;TELL XMIT TO GO
6220 CKDQWA: CLR R5 ;FOR TIME-OUT
6221 CLR R0 ;UPON INT R0 WILL GET VECTOR
6222 CLR PS ;LET INT HAPPEN
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 19-2
C11DTE.MAC 04-JAN-83 11:22 CHECK DQ11 HDW
6223 1$: TST R0 ;SEE IF AN INTERRUPT
6224 BNE 2$ ;BRANCH IF ONE (R0 IS NON 0)
6225 SOB R5,1$ ;TIME OUT
6226 CK11SC <CKEPC!CKEDID>,<Timed Out>,<TIMED OUT WHILE WAITING FOR AN INT>
6227 .ASCIZ \Timed Out\<377>
6228 .EVEN
6229 BR CKDQOT ;DON'T CHK THIS DQ ANY MORE
6230 2$: CMP R0,CHKCHR+CKDV ;SEE IF WE CAME TO THE RIGH VECTOR
6231 BEQ CKDQGI ;BRANCH IF WE DID
6232 CKSERR <CHKCHR+CKDV>,R0,R4 ;SAVE GD,BD,DEV ADR
6233 CK11SC <CKEPC!CKEDID!CKEGB>,<Interrupted to Wrong Vector>,<INTERRUPTED TO WRONG
6234 .ASCIZ \Interrupted to Wrong Vector\<377>
6235 .EVEN
6236 BR CKDQOT ;DON'T CHK ANY MORE OF THIS DQ
6237 CKLDBF: MOV R2,(R5)+ ;PUT DATA IN ADDR
6238 SOB R1,CKLDBF ;FILLED?
6239 RTS PC ;YES.
6240 ;
6241 CKDQGI: MOV (R4),R5 ;GET STATUS
6242 TSTB R5 ;SEE IF DONE YET?
6243 BMI 1$ ;BRANCH IF SO
6244 BIT #DQ.RDS,R5 ;SEE IF SEC INT
6245 BNE 2$ ;BRANCH IF IT IS
6246 BIT #DQ.VCH,R5 ;SEE IF SPECIAL CHAR INT
6247 BNE 3$ ;BRANCH IF SO
6248 CK11SC <CKEDID!CKEPC>,<Illegal Interrupt>,<SOME BIT OTHER THAN SPEC CHAR INT'ED
6249 .ASCIZ \Illegal Interrupt\<377>
6250 .EVEN
6251 BR CKDQOT ;DON'T CHECK ANY MORE OF THIS DQ
6252 1$: BIT #DQ.VCH,R5 ;SEE IF SPECIAL CHAR INT
6253 BEQ 5$ ;BRANCH IF NOT
6254 MOV R5,R1 ;SAVE REC STATUS FOR PRINT
6255 BIC #DQ.VCH!DQ.RDP!DQ.CIE,(R4) ;DISMISS INT
6256 BR CKDQWA ;GO WAIT FOR ANOTHER INT
6257 3$: BIC #DQ.VCH,(R4) ;CLEAR FOR EXIT
6258 BR CKDQWA ;GO WAIT FOR ANOTHER INT
6259 5$: BIC #DQ.RDP,(R4) ;
6260 BR CKDQWA ;GO WAIT FOR ANOTHER INT
6261 2$: BIT #DQ.VCH,R1 ;WAS IT A SPECIAL CHAR?
6262 BEQ 6$ ;NO, SO JUST UPDATE PATTERN
6263 BIT #DQ.CHR,R1 ;WAS THERE CAUSE FOR VCH ?
6264 BNE 9$ ;MUST BE NON 0 OR WHY ARE WE HERE
6265 CK11SC <CKEDID!CKEPC>,<Spec Char Code Fld 0>,<SPECIAL CHAR CODE FIELD 0>
6266 .ASCIZ \Spec Char Code Fld 0\
6267 .EVEN
6268 BR CKDQOT ;DON'T CHECK ANY MORE OF THIS DQ
6269 9$: BIT #DQ.ETB!DQ.ETX!DQ.ENQ,R1 ;WAS IT INTERESTING SPECIAL CHAR ?
6270 BNE 10$ ;IF SO FIND WHICH
6271 BIS #B15,CHKCHR+CKFLG ;SET FLAG THAT SYNC INTERRUPTS
6272 BR 6$
6273 69$: .WORD B10
6274 .WORD B9
6275 .WORD B8
6276 10$: MOV #4,R5 ;INDEX FOR SPECIAL CHAR TABLE
6277 INC CHKCHR+CKFLG ;COUNT SPECIAL CHARACTER
6278 12$: BIT 69$(R5),R1 ;CHECK FOR SPECIAL CHAR FLAG
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 19-3
C11DTE.MAC 04-JAN-83 11:22 CHECK DQ11 HDW
6279 BEQ 14$
6280 MOV R3,CHKCHR+CKSPC(R5) ;PUT INTO THE TABLE
6281 14$: SUB #2,R5
6282 BGE 12$ ;LOOK FOR ANOTHER MAYBE
6283 6$: INCB R3 ;NEXT CHAR TO CHECK
6284 BEQ 4$ ;BRANCH IF ALL DONE
6285 BIC #DQ.RDS!DQ.VCH!DQ.CIE!DQ.RIE,(R4) ;
6286 JMP CKDQLP ;
6287 CKDQOT=.
6288 4$: MOV (SP)+,R5
6289 MOV (SP)+,R3
6290 MOV (SP)+,R2
6291 CMPB CHKCHR+CKFLG,#4 ;SHOULD BE NO MORE THAT 4
6292 BLE 15$ ;CHECK IF SO
6293 CK11SC <CKEDID!CKEPC>,<More than 4 Spec Char Det>,<MORE THAN 4 SPEC CHAR WERE D
6294 .ASCIZ \More than 4 Spec Char Det\
6295 .EVEN
6296 BR CKDQOT ;DON'T CHECK ANY MORE OF THIS DQ
6297 .IFF
6298 10$: JSR R0,CKTSTR
6299 .ASCIZ \ SKIPPING SPEC CHAR TEST\
6300 .EVEN
6301 MOV #377+<<.+6-10$>/2>,10$ ;SHUT OFF SKIPPING COMMENT
6302 002 .ENDC ; .IF NE SPCVFY
6303 15$: RTS PC ;RETURN
6304 .PAGE
6305 ;ROUTINE TO CLEAR THE ENTIRE DQ
6306 ;
6307 CKDQCL: MOV R0,-(SP)
6308 MOV R1,-(SP)
6309 MOV R2,-(SP)
6310 DQREGS MSC,(R4) ;SELECT MISC REG
6311 MOV #DQ.MC,6(R4) ;MASTER CLEAR
6312 DQREGS MSC,(R4) ;SELECT MISC REG AGAIN
6313 MOV #DQ.MC,6(R4) ;MASTER CLEAR AGAIN
6314 MOV #17,R0 ;CLEAR ALL SEC REG
6315 MOV #B12,R2 ;CLEAR BITS 13+14 IN ERR
6316 1$: MOV R2,4(R4) ;SELECT A SEC REG
6317 CLR 6(R4) ;CLEAR THAT SEC REG
6318 ADD #B8,R2 ;SELECT NEXT SEC REG TO CLEAR
6319 SOB R0,1$ ;ALL SEC CLEARED?
6320 MOV (SP)+,R2 ;RESTORE REGS USED
6321 MOV (SP)+,R1
6322 MOV (SP)+,R0
6323 RTS PC ;RETURN
6324 ;
6325 .IIF NDF CHKBSZ,CHKBSZ=10
6326 CHKXBF: .BLKB CHKBSZ
6327 CHKRBF: .BLKB CHKBSZ
6328 ;
6329 001 .ENDC ;RANGES OVER ENTIRE DQ CHECK (NDF FT.D75)
6330 ;
6331 .IIF DF,FT.D75, RTS PC
6332 000 .ENDC ;NE FTDQ11
6333 ;EDIT PAGE BREAK (FF)
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 20
C11DTE.MAC 04-JAN-83 11:22 CHECK DQ11 HDW
6335
6336 .SBTTL CHECK DS11 HDW
6337 ;
6338 ;CALL MOV #<VECTOR ADR>,R3
6339 ; MOV #<HDW ADR>,R4
6340 ; MOV #<HDW ADR>,R1
6341 ; JSR PC,CKDS11
6342 ;
6343 .IIF NDF FTDS11,FTDS11=0
6344 001 .IF NE FTDS11
6345 CKDS11:
6346 MOV DS.AUX,R1 ;GET AUX REG TO SEE HOW MANY GROUPS
6347 MOV #DS.AD1,R2 ;FOR CHECKING GROUP NUMBER
6348 MOV #4,R0 ;ALWAYS 1 GROUP IF DS11
6349 1$: BIT R2,R1 ;GROUP EXIST?
6350 BEQ 2$ ;BRANCH IF NO GROUP
6351 ADD #4,R0 ;COUNT 4 LINES FOR EACH GROUP
6352 ASL R2 ;POSITION TO CHECK NEXT GROUP BIT
6353 BNE 1$ ;BRANCH IF WE CAN CHECK ANOTHER
6354 2$: JSR PC,CKTBOC ;PRINT NUMBER OF LINES
6355 CK11SC CKENCL,< Lines>
6356 .ASCIZ \ Lines\
6357 .EVEN
6358 MOV #DS.AUX,R1 ;CHECK THE AUX REG
6359 JSR R5,CHKBIT ;CHECK FOLLOWING BITS
6360 1700 ;BITS TO CHECK
6361 MOV #DS.DVA-2,R1 ;SET TO CHECK LINES
6362 MOV #DS.VEC,CHKCHR+CKDV ;VECTOR TO START AT
6363 MOV 26(R5),CHKCHR+CKPI ;PI LEVEL FOR ALL DS11
6364 MOV R0,R2 ;NUMBER OF LINES TO CHECK
6365 MOV #CHKCHR,R0 ;POINT TO BLOCK FOR MAIN CALL
6366 3$: ADD #2,R1 ;LINE ADR TO CHECK
6367 MOV R1,CHKCHR+CKDA ;MAIN NEEDS THIS INFO
6368 JSR R5,CHKBIT ;CHK RECEIVE STATUS REG
6369 6477 ;BITS TO CHECK
6370 TST (R1)+ ;ADVANCE TO REC DATA REG
6371 JSR R5,CHKBIT ;CHK RECEIVE DATA REG
6372 7777 ;BITS TO CHECK
6373 TST (R1)+ ;ADVANCE TO XMIT STATUS REG
6374 JSR R5,CHKBIT ;CHK XMIT STATUS REG
6375 476 ;BITS TO CHECK
6376 TST (R1)+ ;ADVNACE TO XMIT DATA REG
6377 JSR R5,CHKBIT ;CHK XMIT DATA REG
6378 7777 ;BITS TO CHECK
6379 JSR PC,@14(R5) ;CALL THE MAIN PROGRAM
6380 ADD #20,CHKCHR+CKDV ;ADVANCE VECTOR ADR FOR NEXT LINE
6381 ADD #10,CHKCHR+CKDA ;ADVANCE DEVICE ADR FOR NEXT LINE
6382 SOB R2,3$ ;ALL LINES CHECKED?
6383 MOV #DS.VEC,CHKCHR+CKDV ;SO "CHKDEV" WILL FILL OUT BLOCK
6384 ;
6385 RTS PC ;FINI CHECKING DS11
6386 000 .ENDC ;NE FTDS11
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 20-1
C11DTE.MAC 04-JAN-83 11:22 CHECK DTE20 HARDWARE
6388 .SBTTL CHECK DTE20 HARDWARE
6389 ;
6390 ;CALL MOV #<VECTOR ADR>,R3
6391 ; MOV #<HDW ADR>,R4
6392 ; MOV #<HDW ADR>,R1
6393 ; JSR PC,XDTE211
6394 ;
6395 .IIF NDF FTDTE,FTDTE=0
6396 001 .IF NE FTDTE
6397 012312' XDTE211: ;
6398 ; MOV R1,R0 ;FROM THE DEVICE ADDRESS
6399 ; ASR R0 ;BITS 5 AND 6 GIVE US WHICH ONE IT IS
6400 ; ASR R0 ;POSITION TO BITS 2 AND 3 WHICH IS
6401 ; ASR R0 ;WHERE THE VECTOR VARIES
6402 ; BIC #^C14,R0 ;ISOLATE THEM
6403 ; SUB R0,CHKCHR+CKDV ;CORRECT OUR VECTOR ADDRESS
6404 012312' 004537 010416' JSR R5,CHKBIT ;CHECK DLYCNT IN DTE'S RAM
6405 012316' 177777 177777 ; SINCE WE CAN ACCESS ALL THE BITS
6406 012320' 062701 000034 ADD #CSTAT-DLYCNT,R1 ;POINT TO STATUS REGISTER
6407 012324' 012711 000040 MOV #INTRON,(R1) ;ENABLE INTERRUPTS
6408 012330' 032711 000001 BIT #INTSON,(R1) ;DOES DTE AGREE?
6409 012334' 001022 BNE 10$ ;YEP
6410 012336' CK11SC <CKEPC!CKEDID>,<Setting INTRON didn't set INTSON>
6411 012340' 062523 072164 067151 .ASCIZ \Setting INTRON didn't set INTSON\<377>
012346' 020147 047111 051124
012354' 047117 062040 062151
012362' 023556 020164 062563
012370' 020164 047111 051524
012376' 047117 000377
6412 .EVEN
6413 012402' 012711 004000 10$: MOV #INT11S,(R1) ;NOW SEE IF IT WILL INTERRUPT US
6414 012406' 004537 010644' JSR R5,CHKINL
6415 012412' 177777 -1 ;TIME DELAY COUNT
6416 012414' 012711 000010 MOV #INTROF,(R1) ;TRY TO MAKE IT GO AWAY
6417 012420' 032711 000001 BIT #INTSON,(R1) ;WHICH SHOULD TURN THIS OFF
6418 012424' 001423 BEQ 20$ ;OKAY
6419 012426' CK11SC <CKEPC!CKEDID>,<Setting INTROF didn't clear INTSON>
6420 012430' 062523 072164 067151 .ASCIZ \Setting INTROF didn't clear INTSON\<377>
012436' 020147 047111 051124
012444' 043117 062040 062151
012452' 023556 020164 066143
012460' 060545 020162 047111
012466' 051524 047117 000377
6421 .EVEN
6422 012474' 032711 000010 20$: BIT #RM,(R1) ;WE SHOULD BE RESTRICTED
6423 012500' 001016 BNE 30$ ;WE ARE, FINE
6424 012502' CK11SC <CKEPC!CKEDID>,<DTE20 is not restricted>
6425 012504' 052104 031105 020060 .ASCIZ \DTE20 is not restricted\<377>
012512' 071551 067040 072157
012520' 071040 071545 071164
012526' 061551 062564 177544
012534' 000
6426 012536' .EVEN ;
6427 012536' 012741 000100 30$: MOV #DRESET,-(R1) ;REALLY INITIALIZE DTE20
6428 012542' 000207 RTS PC
6429 000 .ENDC ;NE FT.DTE
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 20-2
C11DTE.MAC 04-JAN-83 11:22 CHECK DU11 HDW
6431 .SBTTL CHECK DU11 HDW
6432 ;
6433 ;CALL MOV #<VECTOR ADR>,R3
6434 ; MOV #<HDW ADR>,R4
6435 ; MOV #<HDW ADR>,R1
6436 ; JSR PC,XDU11
6437 .IIF NDF FTDU11,FTDU11=0
6438 001 .IF NE FTDU11
6439 XDU11: ;
6440 RTS PC
6441 000 .ENDC ;NE FTDU11
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 20-3
C11DTE.MAC 04-JAN-83 11:22 CHECK DUP11 HDW
6443 .SBTTL CHECK DUP11 HDW
6444 ;
6445 ;CALL MOV #<VECTOR ADR>,R3
6446 ; MOV #<HDW ADR>,R4
6447 ; MOV #<HDW ADR>,R1
6448 ; JSR PC,XUP11
6449 .IIF NDF FTDUP1,FTDUP1=0
6450 001 .IF NE FTDUP1
6451 012544' XDUP11: ;
6452 012544' FIELD $$,DUPRIE,DUPDTR ;
6453 012544' 004537 010416' JSR R5,CHKBIT ;TEST THE RECVR CSR
6454 012550' 000576 .WORD DUPSSY!$$ ;
6455 012552' 005721 TST (R1)+ ;UP TO RECVR, BUT IT'S READ ONLY
6456 012554' 005721 TST (R1)+ ;UP TO XMIT CSR
6457 012556' 004537 010416' JSR R5,CHKBIT ;
6458 012562' 036130 .WORD DUPTMC!DUPTM1!DUPTM0!DUPTMI!DUPTIE!DUPTSN!DUPTHD
6459 012564' 005721 TST (R1)+ ;UP TO XMIT DBR
6460 012566' 004537 010416' JSR R5,CHKBIT ;
6461 012572' 003777 .WORD DUPXAB!DUPXEM!DUPXSM!DUPXDB
6462 012574' 010401 MOV R4,R1 ;RESTORE DEVICE ADDRESS
6463 ;(ADD INTERRUPT CHECK)
6464 012576' 000207 RTS PC ;
6465 000 .ENDC ;NE FTDUP1
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 20-4
C11DTE.MAC 04-JAN-83 11:22 CHECK DZ11 HDW
6467 .SBTTL CHECK DZ11 HDW
6468 ;
6469 ;CALL MOV #<VECTOR ADR>,R3
6470 ; MOV #<HDW ADR>,R4
6471 ; MOV #<HDW ADR>,R1
6472 ; JSR PC,XDZ11
6473 .IIF NDF FTDZ11,FTDZ11=0
6474 001 .IF NE FTDZ11
6475 012600' XDZ11: ;
6476 012600' 004537 010416' JSR R5,CHKBIT ;
6477 012604' 040140 .WORD DZ.TIE!DZ.RIE!DZ.SCN
6478 012606' 005721 TST (R1)+ ;
6479 012610' 004537 010416' JSR R5,CHKBIT ;
6480 012614' 000000 .WORD 0 ;
6481 012616' 010401 MOV R4,R1 ;
6482 ;ADD INTERRUPT TEST
6483 012620' 000207 RTS PC ;
6484 000 .ENDC ;NE FTDZ11
6485 ;EDIT PAGE BREAK (FF)
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 21
C11DTE.MAC 04-JAN-83 11:22 CHECK DZ11 HDW
6487
6488 .SBTTL CHECK KG11 HARDWARE
6489 ;
6490 012622' XKG11: SAVE R3 ;
6491 012624' CHKCHR R4,<#0>,<#0> ;
6492 012644' 005000 CLR R0 ;
6493 012646' 11$: KGLOAD R0 ;
6494 012662' 020064 000002 CMP R0,KGBCC(R4) ;CHECK THAT IT LOADED
6495 012666' 001422 BEQ 12$ ;OK
6496 012670' CKSERR R0,KGBCC(R4),R4 ;GD,BD,ADR
6497 012700' CK11SC <CKEPC!CKEDID!CKEGB>,<Can't load BCC Correctly>,<BCC ERROR>
6498 012702' 060503 023556 020164 .ASCIZ \Can't load BCC Correctly\<377>
012710' 067554 062141 041040
012716' 041503 041440 071157
012724' 062562 072143 074554
012732' 000377
6499 .EVEN ;
6500 012734' 077034 12$: SOB R0,11$ ;
6501 ;
6502 ; CHECK CRC PORTION
6503 ;
6504 012736' 012700 000777 MOV #777,R0 ;FIRST ENTRY FOR CRC
6505 012742' KGLOAD #0 ;CLEAR KG11
6506 012746' 005003 CLR R3 ;CLEAR SOFTWARE COPY
6507 012750' 004737 013026' 20$: JSR PC,70$ ;CALCULATE SOFTWARE BCC
6508 012754' 110064 000004 MOVB R0,KGDATA(R4) ;INCLUDE CHAR IN HDW BCC
6509 012760' 020364 000002 CMP R3,KGBCC(R4) ;
6510 012764' 001415 BEQ 54$ ;
6511 012766' CKSERR R3,KGBCC(R4),R4 ;
6512 012776' CK11SC <CKEPC!CKEGB!CKEDID>,<Incorrect CRC>,<INCORRECT CRC>
6513 013000' 067111 067543 071162 .ASCIZ \Incorrect CRC\<377>
013006' 061545 020164 051103
013014' 177503 000
6514 013020' .EVEN ;
6515 013020' 077025 54$: SOB R0,20$ ;
6516 ;
6517 013022' RESTORE R3 ;
6518 013024' 000207 RTS PC ;
6519 ;
6520 ;SUBROUTINE TO CALCULATE CRC IN R3
6521 ;
6522 013026' 70$: SAVE <R0,R1> ;
6523 013032' 042700 177400 BIC #^C377,R0 ;STRIP EXTRA BITS
6524 013036' 012701 000010 MOV #8.,R1 ;COUNTER
6525 013042' 074003 XOR R0,R3 ;
6526 013044' 012700 120001 MOV #120001,R0 ;
6527 013050' 000241 72$: CLC ;CLEAR CARRY BIT
6528 013052' 006003 ROR R3 ;
6529 013054' 103001 BCC 74$ ;
6530 013056' 074003 XOR R0,R3 ;
6531 013060' 077105 74$: SOB R1,72$ ;
6532 013062' RESTORE <R1,R0> ;
6533 013066' 000207 RTS PC ;
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 21-1
C11DTE.MAC 04-JAN-83 11:22 CHECK KMC/DMC HARDWARE
6535 .SBTTL CHECK KMC/DMC HARDWARE
6536 ;
6537 ;CALL MOV #<VECTOR ADR OF KMC11>,R3
6538 ; MOV #<HDW ADR OF KMC11>,R4
6539 ; MOV #<HDW ADR OF KMC11>,R1
6540 ; JSR PC,XKMC11
6541 ;
6542 .IIF NDF FTKMC,FTKMC=0
6543 .IIF NDF FTDMC,FTDMC=0
6544 001 .IF NE FTDMC
6545 013070' XDMC11:
6546 013070' 010546 XKMC11: MOV R5,-(SP) ;SAVE R5
6547 013072' 010446 MOV R4,-(SP) ; AND R4
6548 013074' 010346 MOV R3,-(SP) ; AND R3
6549 013076' 012714 040000 MOV #MD.CLR,(R4) ;INITIALIZE THE KMC11
6550 013102' 013746 002066' MOV MDCSRP,-(SP) ;LOG IN THE DEVICE
6551 013106' 001004 BNE 10$ ;NOT THE FIRST
6552 013110' 012716 002070' MOV #MDCSR,(SP) ;THE FIRST, SET POINTER
6553 013114' 011637 002066' MOV (SP),MDCSRP ;
6554 013120' 010436 10$: MOV R4,@(SP)+ ;ENTER DEVICE CSR INTO STARTUP TABLE
6555 013122' 062737 000002 002066' ADD #2,MDCSRP ;UPDATE TABLE POINTER
6556 013130' 005024 CLR (R4)+ ;CLEAR THE CSRS
6557 013132' 005024 CLR (R4)+ ;
6558 013134' 005024 CLR (R4)+ ;
6559 013136' 005024 CLR (R4)+ ;
6560 013140' 010104 MOV R1,R4 ;
6561 013142' 004537 010416' JSR R5,CHKBIT ;VERIFY THESE BITS WORK
6562 013146' 000377 .WORD 377 ;ALL BITS OF BSEL 0
6563 013150' 005721 TST (R1)+ ;LOOK AT SEL 2
6564 013152' 004537 010416' JSR R5,CHKBIT ;VERIFY THESE BITS WORK
6565 013156' 177777 .WORD ALLBTS ;ALL BITS OF SEL 2
6566 013160' 005721 TST (R1)+ ;LOOK AT SEL 4
6567 013162' 004537 010416' JSR R5,CHKBIT ;VERIFY THESE BITS WORK
6568 013166' 177777 .WORD ALLBTS ;ALL BITS OF SEL 4
6569 013170' 005721 TST (R1)+ ;LOOK AT SEL 6
6570 013172' 004537 010416' JSR R5,CHKBIT ;VERIFY THESE BITS WORK
6571 013176' 177777 .WORD ALLBTS ;ALL BITS OF SEL 6
6572 002 .IF NE FTKMCL
6573 TST MDCODB+2 ;IF WE ARE RETAINING THE CRAM...
6574 BEQ 20$ ; DON'T CHECK INTERRUPTS (CLOBBERS CRAM 0)
6575 001 .ENDC ;NE FTKMCL
6576 ;CREATE A DMC INTERRUPT BY SETTING
6577 ; BUS RQ IN MP MISC BY JAMMING MP INSTRS
6578 013200' 012737 000340 177776 MOV #BR7,PS ;STOP INTERRUPTS
6579 013206' 012714 001000 MOV #MD.RMI,(R4) ;SET ROM I ("JAM INSTRUCTION")
6580 013212' 012764 000600 000006 MOV #600,6(R4) ;600 = "MOVE #200,BRG"
6581 013220' 052714 000400 BIS #MD.SMP,(R4) ;EXECUTE THE INSTRUCTION
6582 013224' 005014 CLR (R4) ;TURN OFF STEP AND ROM I
6583 013226' 012714 001000 MOV #MD.RMI,(R4) ;SET ROM I AGAIN
6584 013232' 012764 061231 000006 MOV #61231,6(R4) ;61231 = "MOVE BRG,MISC" (SETS BUS RQ)
6585 013240' 052714 000400 BIS #MD.SMP,(R4) ;EXECUTE
6586 013244' 005014 CLR (R4) ;TURN OFF ROM I
6587 013246' 004537 010644' JSR R5,CHKINL ;CHECK FOR THE RESULTING INTERRUPT
6588 013252' 177777 .WORD 177777 ;
6589 013254' 012714 040000 MOV #MD.CLR,(R4) ;CLEAR INTERFACE
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 21-2
C11DTE.MAC 04-JAN-83 11:22 CHECK KMC/DMC HARDWARE
6591 ; IF WE HAVE A VALID COPY OF THE MICROCODE, WE CAN TEST
6592 ; THE CRAM. OTHERWISE BYPASS MOST OF THE TESTING.
6593 ;
6594 013260' 20$:
6595 002 .IF NE FTKMC
6596 013260' 012701 000012 MOV #12,R1 ;CHECK ARBITRARY LOCATION IN CRAM
6597 013264' 004737 014126' JSR PC,CKMDRD ;READ FROM IT
6598 013270' 010046 MOV R0,-(SP) ;SAVE DATA READ
6599 013272' 005100 COM R0 ;INVERT IT
6600 013274' 004737 013774' JSR PC,CKMDWR ;WRITE BACK INVERTED DATA
6601 013300' 004737 014126' JSR PC,CKMDRD ;READ IT BACK OUT
6602 013304' 020026 CMP R0,(SP)+ ;CHECK IT AGAINST WHAT WAS WRITTEN
6603 013306' 001034 BNE 22$ ;DATA DIFFERENT, CRAM IS READ/WRITE
6604 ;NOT WRITTEN, CRAM IS A CROM
6605 013310' 023727 002056' 001644' CMP CKDNAM,#N.KMC11 ;DID YOU EXPECT A KMC?
6606 013316' 001026 BNE 21$ ;NO, SKIP CRAM CHECK, NO MSG
6607 013320' 013746 002052' MOV CHKFLG,-(SP) ;PREVENT ERROR FROM BEING SET
6608 013324' CK11SC CKEDID,<DEV IS DMC>
6609 013326' 041411 040522 020115 .ASCIZ " CRAM is not R/W, device is a DMC"
013334' 071551 067040 072157
013342' 051040 053457 020054
013350' 062544 064566 062543
013356' 064440 020163 020141
013364' 046504 000103
6610 .EVEN ;
6611 013370' 012637 002052' MOV (SP)+,CHKFLG ;RESTORE PREVIOUS FLAG WORD
6612 013374' 000137 013730' 21$: JMP CKMDXT ;SKIP CRAM CHECK
6613 ;
6614 013400' 005100 22$: COM R0 ;INVERT DATA BACK
6615 013402' 004737 013774' JSR PC,CKMDWR ;REWRITE AGAIN
6616 013406' 023727 002056' 001550' CMP CKDNAM,#N.DMC11 ;WAS A DMC EXPECTED?
6617 013414' 001027 BNE 23$ ;NO, MUST HAVE BEEN A KMC CALL
6618 013416' 013746 002052' MOV CHKFLG,-(SP) ;PREVENT ERROR FROM BEING SET
6619 013422' CK11SC CKEDID,<dev is a KMC>
6620 013424' 051011 053457 041440 .ASCIZ " R/W CRAM present, device is a KMC"
013432' 040522 020115 071160
013440' 071545 067145 026164
013446' 062040 073145 061551
013454' 020145 071551 060440
013462' 045440 041515 000
6621 013470' .EVEN ;
6622 013470' 012637 002052' MOV (SP)+,CHKFLG ;RESTORE PREVIOUS FLAG WORD
6623 013474' 003 23$: .IF NE FTKMCL
6624 TST MDCODB+2 ;IS MICROCODE IMAGE INVALID?
6625 BNE 24$ ;NOT OBVIOUSLY
6626 JSR PC,CKMDEX ;YES, BE SURE WE CAN CYCLE THE CRAM
6627 JMP CKMDXT ; BUT LEAVE ITS CONTENTS ALONE.
6628 24$:
6629 002 .ENDC ;NE FTKMCL
6630 013474' 005001 CLR R1 ;START AT CRAM ADDRESS 0
6631 013476' 005000 30$: CLR R0 ;DATA IS ZERO
6632 013500' 004737 014022' JSR PC,CKMDCK ;WRITE 0 AND CHECK IT
6633 013504' 005201 INC R1 ;NEXT CRAM LOCATION
6634 013506' 022701 002000 CMP #2000,R1 ;REACHED THE END OF THE CRAM?
6635 013512' 001371 BNE 30$ ;NO, DO THE REST.
6636 013514' 004737 013744' JSR PC,CKMDEX ;COMPLEMENT THE CRAM TWICE
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 21-3
C11DTE.MAC 04-JAN-83 11:22 CHECK KMC/DMC HARDWARE
6637 013520' 005001 CLR R1 ;START AT THE BEGINNING AGAIN
6638 013522' 004737 014126' 36$: JSR PC,CKMDRD ;READ A WORD FROM THE CRAM
6639 013526' 005700 TST R0 ;IS IT ZERO?
6640 013530' 001417 BEQ 42$ ;YES, THAT IS OK.
6641 013532' CKSERR <#0>,R0,R1 ;GOOD, BAD, CRAM ADDRESS
6642 013542' CK11SC <CKEPC!CKEGB!CKEDID>,<CRAM CLEAR FAILED>,<CRAM CLEAR FAILED>
6643 013544' 041440 040522 020115 .ASCIZ / CRAM clear failed /
013552' 066143 060545 020162
013560' 060546 066151 062145
013566' 000040
6644 .EVEN
6645 013570' 005201 42$: INC R1 ;NEXT CRAM ADDRESS
6646 013572' 022701 002000 CMP #2000,R1 ;REACHED THE END OF THE CRAM?
6647 013576' 001351 BNE 36$ ;NO, DO THE REST
6648 ;
6649 ; NOW SET EACH CRAM LOCATION TO ITS OWN ADDRESS. THIS CHECKS FOR
6650 ; ADDRESSING FAILURES.
6651 ;
6652 013600' 005001 CLR R1 ;START AT LOCATION ZERO
6653 013602' 010100 50$: MOV R1,R0 ;GET ADDRESS
6654 013604' 006300 ASL R0 ; * 2 (WE ARE PUTTING THE 10-BIT
6655 013606' 006300 ASL R0 ; * 4 CRAM ADDRESS IN THE MIDDLE
6656 013610' 006300 ASL R0 ; * 8 OF THE 16-BIT WORD.)
6657 013612' 004737 014022' JSR PC,CKMDCK ;WRITE ADDRESS INTO CRAM
6658 013616' 005201 INC R1 ;NEXT CRAM ADDRESS
6659 013620' 020127 002000 CMP R1,#2000 ;REACHED END OF CRAM YET?
6660 013624' 103766 BLO 50$ ;NO, GO DO THE REST.
6661 013626' 004737 013744' JSR PC,CKMDEX ;COMPLEMENT THE CRAM TWICE
6662 013632' 005001 CLR R1 ;START AT BEGINNING OF CRAM AGAIN
6663 013634' 004737 014126' 55$: JSR PC,CKMDRD ;READ WORD FROM CRAM
6664 013640' 010102 MOV R1,R2 ;GET CRAM ADDRESS
6665 013642' 006302 ASL R2 ; * 2
6666 013644' 006302 ASL R2 ; * 4
6667 013646' 006302 ASL R2 ; * 8
6668 013650' 020002 CMP R0,R2 ;IS THE CRAM OK?
6669 013652' 001422 BEQ 60$ ;YES
6670 013654' CKSERR R2,R0,R1 ;NO, STUFF GOOD, BAD, AND CRAM ADDRESS
6671 013662' CK11SC <CKEPC!CKEGB!CKEDID>,<CRAM ERROR>,<CRAM ERROR>
6672 013664' 041440 040522 020115 .ASCIZ / CRAM data = address error /
013672' 060544 060564 036440
013700' 060440 062144 062562
013706' 071563 062440 071162
013714' 071157 000040
6673 .EVEN ;
6674 013720' 005201 60$: INC R1 ;NEXT CRAM ADDRESS
6675 013722' 020127 002000 CMP R1,#2000 ;REACHED THE END OF THE CRAM?
6676 013726' 103742 BLO 55$ ;NO, GO DO THE REST
6677 ;
6678 ; NOW LOAD THE APPLICATION CODE INTO THE CRAM, IF REQUESTED.
6679 ;
6680 003 .IF NE FTKMCL
6681 CLR R1 ;START AT THE BEGINNING OF THE CRAM
6682 MOV #MDCODB,R2 ;POINT TO APPLICATION CODE
6683 70$: MOV (R2)+,R0 ;GET WORD TO LOAD
6684 JSR PC,CKMDCK ;WRITE IT INTO THE CRAM
6685 INC R1 ;POINT TO NEXT CRAM LOCATION
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 21-4
C11DTE.MAC 04-JAN-83 11:22 CHECK KMC/DMC HARDWARE
6686 CMP R2,#MDCODE ;REACHED END OF PROGRAM?
6687 BNE 70$ ;NO, LOAD THE REST
6688 JSR PC,CKMDEX ;COMPLEMENT THE CRAM TWICE
6689 CLR R1 ;START AT BEGINNING OF CRAM AGAIN
6690 MOV #MDCODB,R2 ;POINT TO APPLICATION CODE AGAIN
6691 72$: JSR PC,CKMDRD ;READ A WORD FROM THE CRAM
6692 MOV (R2)+,R3 ;GET WORD THAT SHOULD BE THERE
6693 CMP R3,R0 ;IS IT RIGHT?
6694 BEQ 78$ ;YES
6695 CKSERR R3,R0,R1 ;GOOD, BAD, CRAM ADDRESS
6696 CK11SC <CKEPC!CKEGB!CKEDID>,<CRAM LOAD ERROR>,<CRAM LOAD ERROR>
6697 .ASCIZ / CRAM load error /
6698 .EVEN ;
6699 78$: INC R1 ;NEXT CRAM ADDRESS
6700 CMP R2,#MDCODE ;REACHED END OF APPLICATION PROGRAM?
6701 BLO 72$ ;NO, DO THE REST
6702 002 .ENDC ;NE FTKMCL
6703 001 .ENDC ;NE FTKMC
6704 ;
6705 ; DMC (KMC) CHECK COMPLETED
6706 ;
6707 013730' 012714 040000 CKMDXT: MOV #MD.CLR,(R4) ;BE SURE THE KMC11 IS CLEAR
6708 013734' 012603 MOV (SP)+,R3 ;RESTORE R3
6709 013736' 012604 MOV (SP)+,R4 ; AND R4
6710 013740' 012605 MOV (SP)+,R5 ; AND R5
6711 013742' 000207 RTS PC ;RETURN.
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 21-5
C11DTE.MAC 04-JAN-83 11:22 CHECK KMC/DMC HARDWARE
6713 002 .IF NE FTKMC ;THESE SUBROUTINES APPLY ONLY TO
6714 ; WRITEABLE CONTROL STORES, I.E., KMC'S
6715 ;
6716 ; SUBROUTINE TO COMPLEMENT THE DATA IN THE KMC11'S CRAM.
6717 ; ENTERING AT CKMDEX WILL CAUSE THE ROUTINE TO EXECUTE TWICE -
6718 ; IF THE KMC11 IS WORKING PROPERLY THIS WILL LEAVE THE CRAM UNCHANGED.
6719 ;
6720 013744' 004717 CKMDEX: JSR PC,(PC) ;CALL REST OF ROUTINE ONCE, RETURN
6721 ; HERE AND FALL INTO IT FOR SECOND PASS
6722 013746' 005001 CLR R1 ;START AT BEGINNING OF CRAM
6723 013750' 004737 014126' 80$: JSR PC,CKMDRD ;READ WORD FROM CRAM
6724 013754' 005100 COM R0 ;COMPLEMENT IT
6725 013756' 004737 014022' JSR PC,CKMDCK ;WRITE IT BACK (AND CHECK IT)
6726 013762' 005201 INC R1 ;NEXT CRAM LOCATION
6727 013764' 020127 002000 CMP R1,#2000 ;REACHED END OF CRAM?
6728 013770' 103767 BLO 80$ ;NO, DO THE REST
6729 013772' 000207 RTS PC ;YES, ALL DONE
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 21-6
C11DTE.MAC 04-JAN-83 11:22 CHECK KMC/DMC HARDWARE
6731 ; SUBROUTINE TO WRITE A WORD INTO THE KMC11'S CRAM
6732 ;
6733 ; R0 = WORD TO WRITE
6734 ; R1 = CRAM ADDRESS
6735 ; R4 = POINTER TO KMC11 CSR
6736 ;
6737 013774' 005014 CKMDWR: CLR (R4) ;CLEAR BSEL 1
6738 013776' 010164 000004 MOV R1,4(R4) ;SET ADDRESS INTO SEL 4
6739 014002' 010064 000006 MOV R0,6(R4) ;LOAD DATA INTO SEL 6
6740 014006' 052714 002000 BIS #MD.RMO,(R4) ;SET ROM O
6741 014012' 052714 022000 BIS #MD.RMO!MD.CWR,(R4) ;SET CRAM WRITE ALSO
6742 014016' 005014 CLR (R4) ;CLEAR ROM O AND CRAM WRITE
6743 014020' 000207 RTS PC ;RETURN
6744 ;
6745 ; SUBROUTINE TO WRITE AND VERIFY A WORD IN THE CRAM
6746 ;
6747 ; CALLED AS CKMDWR
6748 ;
6749 014022' 010046 CKMDCK: MOV R0,-(SP) ;SAVE DATA TO BE WRITTEN
6750 014024' 004737 013774' JSR PC,CKMDWR ;WRITE THE WORD
6751 014030' 004737 014126' JSR PC,CKMDRD ;READ IT BACK
6752 014034' 020016 CMP R0,(SP) ;DATA SAME AS WRITTEN?
6753 014036' 001431 BEQ 85$ ;YES.
6754 014040' 010246 MOV R2,-(SP) ;NO, SAVE R2
6755 014042' 016602 000002 MOV 2(SP),R2 ;GET BAD DATA FROM CRAM
6756 014046' CKSERR R2,R0,R1 ;GOOD, BAD, CRAM ADDRESS
6757 014054' CK11SC <CKEPC!CKEGB!CKEDID>,<CRAM DATA ERROR>,<CRAM DATA ERROR>
6758 014056' 041440 040522 020115 .ASCIZ / CRAM data error in write check /
014064' 060544 060564 062440
014072' 071162 071157 064440
014100' 020156 071167 072151
014106' 020145 064143 061545
014114' 020153 000
6759 014120' .EVEN
6760 014120' 012602 MOV (SP)+,R2 ;RESTORE R2
6761 014122' 012600 85$: MOV (SP)+,R0 ;RESTORE DATA
6762 014124' 000207 RTS PC ;RETURN
6763 ;
6764 ; SUBROUTINE TO READ A WORD FROM THE KMC11'S CRAM.
6765 ;
6766 ; R1 = ADDRESS
6767 ; R4 = POINTER TO KMC11 CSR
6768 ;
6769 ; ON RETURN:
6770 ;
6771 ; R0 = DATA FROM CRAM
6772 ;
6773 014126' 005014 CKMDRD: CLR (R4) ;CLEAR BSEL 1
6774 014130' 010164 000004 MOV R1,4(R4) ;SET ADDRESS INTO BSEL 4
6775 014134' 052714 002000 BIS #MD.RMO,(R4) ;SET ROM O
6776 014140' 016400 000006 MOV 6(R4),R0 ;FETCH DATA
6777 014144' 005014 CLR (R4) ;CLEAR ROM O
6778 014146' 000207 RTS PC ;RETURN
6779 001 .ENDC ;NE FTKMC
6780 000 .ENDC ;NE FTDMC
6781 ;EDIT PAGE BREAK (FF)
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 22
C11DTE.MAC 04-JAN-83 11:22 CHECK KMC/DMC HARDWARE
6783
6784 .SBTTL CHECK LP11 HARDWARE
6785 ;
6786 ;CALL MOV #<VECTOR ADR>,R3
6787 ; MOV #<HDW ADR>,R4
6788 ; MOV #<HDW ADR>,R1
6789 ; JSR PC,XLE11
6790 ;
6791 .IIF NDF FTLE11,FTLE11=0
6792 001 .IF NE FTLE11
6793 014150' XLE11: ;
6794 014150' 032714 100000 BIT #LE.ERR,(R4) ;SEE IF DEV READY
6795 014154' 001406 BEQ 1$ ;BRANCH IF RDY
6796 014156' CK11SC <CKEDID!CKENCL>,< Not Rdy>
6797 014160' 047040 072157 051040 .ASCIZ \ Not Rdy\<377>
014166' 074544 000377
6798 .EVEN ;
6799 014172' 004537 010416' 1$: JSR R5,CHKBIT ;CHECK HDW BITS
6800 014176' 000100 .WORD LE.INE
6801 014200' $CKINT ,R4,<LE.INE>,<LE.DNE>
6802 014214' 000207 RTS PC
6803 000 .ENDC ;NE FTLE11
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 22-1
C11DTE.MAC 04-JAN-83 11:22 CHECK LP20 HARDWARE
6805 .SBTTL CHECK LP20 HARDWARE
6806 ;
6807 .IIF NDF FTLP20,FTLP20=0
6808 001 .IF NE FTLP20
6809 014216' XLP11: ;
6810 014216' 012737 000340 177776 MOV #BR7,PS ;
6811 014224' 012714 001400 MOV #LP.RSE!LP.LOI,(R4) ;CLEAR CONTROLLER
6812 014230' 062701 000012 ADD #LPRAMD,R1 ;POINT TO RAM DATA BUFFER
6813 014234' 010102 MOV R1,R2 ;
6814 014236' 005722 TST (R2)+ ;POINT TO CHAR BUFFER
6815 014240' 105012 CLRB (R2) ;SET RAM ADDRESS TO ZERO
6816 014242' 005011 10$: CLR (R1) ;CLEAR RAM LOCATION
6817 014244' 105212 INCB (R2) ;UP RAM ADDRESS
6818 014246' 001375 BNE 10$ ; UNTIL IT OVERFLOWS
6819 014250' 010401 MOV R4,R1 ;RECOVER BASE CRS ADDRESS
6820 014252' 005061 000004 CLR LPBSAD(R1) ;SET UP HARMLESS TRANSFER
6821 014256' 012761 177777 000006 MOV #-1,LPBCTR(R1) ;
6822 014264' 004537 010416' JSR R5,CHKBIT ;CHECK R/W ON CSRA
6823 014270' 002176 .WORD LP.DH!LP.IE!LP.XAD!LP.MDS!LP.PEN
6824 ;
6825 014272' 005721 TST (R1)+ ;UP TO CSRB
6826 014274' 004537 010416' JSR R5,CHKBIT ;
6827 014300' 003400 .WORD LP.TS2!LP.TS1!LP.TS0
6828 014302' 012714 001400 MOV #LP.RSE!LP.LOI,(R4) ;
6829 ;
6830 014306' 005721 TST (R1)+ ;CHECK R/W ON BUS ADDRESS
6831 014310' 004537 010416' JSR R5,CHKBIT ;
6832 014314' 177777 .WORD ALLBTS ;
6833 014316' 012714 001400 MOV #LP.RSE!LP.LOI,(R4) ;
6834 ;
6835 014322' 012702 000003 MOV #3,R2 ;NEXT THREE REGISTERS ARE ALIKE
6836 014326' 005721 20$: TST (R1)+ ;BYTE COUNT, PAGE CONT, RAMDATA
6837 014330' 004537 010416' JSR R5,CHKBIT ;
6838 014334' 007777 .WORD 7777 ;
6839 014336' 012714 001400 MOV #LP.RSE!LP.LOI,(R4) ;
6840 014342' 077207 SOB R2,20$ ;
6841 ;
6842 014344' 005721 TST (R1)+ ;CHECK R/W ON CHAR BUFFER
6843 014346' 004537 010416' JSR R5,CHKBIT ;
6844 014352' 177777 .WORD ALLBTS ;
6845 014354' 012714 001400 MOV #LP.RSE!LP.LOI,(R4) ;
6846 ;
6847 014360' 010401 MOV R4,R1 ;RECOVER BASE CSR ADDRESS
6848 014362' 032711 004000 BIT #LP.ONL,(R1) ;PRINTER AVAILABLE?
6849 014366' 001012 BNE 30$ ;YES
6850 014370' CK11SC 0,<NOT READY>
6851 014372' 050114 030062 067040 .ASCIZ "LP20 not ready"
014400' 072157 071040 060545
014406' 074544 000
6852 014412' .EVEN ;
6853 014412' 000207 RTS PC ;
6854 ;
6855 014414' 012761 177777 000006 30$: MOV #-1,LPBCTR(R1) ;SET CHAR COUNT
6856 014422' 010161 000004 MOV R1,LPBSAD(R1) ;SET ADDRESS TO SELF
6857 014426' 062761 000014 000004 ADD #LPCBUF,LPBSAD(R1) ;
6858 014434' 012711 000061 MOV #LP.B17!LP.B16!LP.GO,(R1) ;SET HIGH ADDRESS BITS AND START
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 22-2
C11DTE.MAC 04-JAN-83 11:22 CHECK LP20 HARDWARE
6859 014440' $CKINT ,R4,LP.IE,LP.IE ;
6860 014454' 000207 RTS PC ;
6861 000 .ENDC ;NE FTLP20
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 22-3
C11DTE.MAC 04-JAN-83 11:22 CHECK MD11 HDW
6863 .SBTTL CHECK MD11 HDW
6864 ;
6865 ;CALL MOV #<VECTOR ADR>,R3
6866 ; MOV #<HDW ADR>,R4
6867 ; MOV #<HDW ADR>,R1
6868 ; JSR PC,XMD11
6869 .IIF NDF FTMD11,FTMD11=0
6870 001 .IF NE FTMD11
6871 XMD11: ;
6872 RTS PC
6873 000 .ENDC ;NE FTMD11
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 22-4
C11DTE.MAC 04-JAN-83 11:22 DUMMY NULL DEVICE CHECKER
6875 .SBTTL DUMMY NULL DEVICE CHECKER
6876 ;
6877 ;
6878 ;
6879 014456' 000207 XNL11: RTS PC ;DUMMY
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 22-5
C11DTE.MAC 04-JAN-83 11:22 CHECK PA611P HARDWARE
6881 .SBTTL CHECK PA611P HARDWARE
6882 ;
6883 ;CALL MOV #<VECTOR ADR>,R3
6884 ; MOV #<HDW ADR>,R4
6885 ; MOV #<HDW ADR>,R1
6886 ; JSR PC,XP611
6887 ;
6888 .IIF NDF FTP611,FTP611=0
6889 001 .IF NE FTP611
6890 XP611: ;
6891 RTS PC
6892 000 .ENDC ;NE FTP611
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 22-6
C11DTE.MAC 04-JAN-83 11:22 CHECK PA611R HARDWARE
6894 .SBTTL CHECK PA611R HARDWARE
6895 ;
6896 ;CALL MOV #<VECTOR ADR>,R3
6897 ; MOV #<HDW ADR>,R4
6898 ; MOV #<HDW ADR>,R1
6899 ; JSR PC,XR611
6900 ;
6901 .IIF NDF FTR611,FTR611=0
6902 001 .IF NE FTR611
6903 XR611: ;
6904 RTS PC
6905 000 .ENDC ;NE FTR611
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 22-7
C11DTE.MAC 04-JAN-83 11:22 CHECK PP11 HARDWARE
6907 .SBTTL CHECK PP11 HARDWARE
6908 ;
6909 ;CALL MOV #<VECTOR ADR>,R3
6910 ; MOV #<HDW ADR>,R4
6911 ; MOV #<HDW ADR>,R1
6912 ; JSR PC,XPP11
6913 ;
6914 .IIF NDF FTPP11,FTPP11=0
6915 001 .IF NE FTPP11
6916 XPP11:
6917 JSR R5,CHKBIT
6918 PP.INE
6919 $CKINT ,R4,<PP.INE>,<PP.RDY>
6920 RTS PC
6921 000 .ENDC ;NE FTPP11
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 22-8
C11DTE.MAC 04-JAN-83 11:22 CHECK PR11 HARDWARE
6923 .SBTTL CHECK PR11 HARDWARE
6924 ;
6925 ;CALL MOV #<VECTOR ADR>,R3
6926 ; MOV #<HDW ADR>,R4
6927 ; MOV #<HDW ADR>,R1
6928 ; JSR PC,XPR11
6929 ;
6930 .IIF NDF FTPR11,FTPR11=0
6931 001 .IF NE FTPR11
6932 XPR11: ;
6933 JSR R5,CHKBIT ;CHECK HARDWARE BITS
6934 PR.INE
6935 CLR R0 ;FOR TIME OUT
6936 BIS #PR..RE!PR.INE,(R4) ;TELL READER TO DO SOMETHING
6937 ; TO FORCE ANY INTERRUPT COND
6938 1$: BIT #PR.DNE!PR.ERR,(R4) ;SEE IF AN INT CONDITION IS THERE
6939 BNE 2$ ;IF NOT, THEN WAIT FOR ONE.
6940 SOB R0,1$ ;TIME OUT TO CATCH NO RESPONSE
6941 CK11SC <CKEDID!CKEPC>,<Timed Out>,<NO RESPONSE>
6942 .ASCIZ \Timed Out\<377>
6943 .EVEN
6944 BIC #PR.INE,(R4) ;DISABLE INT ENABLE
6945 RTS PC ;EXIT
6946 2$: JSR R5,CHKINL ;FIND INT LEVEL
6947 -1 ;FOR TIME-OUT
6948 BIC #PR.INE,(R4) ;DISABLE INTS
6949 RTS PC
6950 000 .ENDC ;NE FTPR11
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 22-9
C11DTE.MAC 04-JAN-83 11:22 CHECK RH11 HARDWARE
6952 .SBTTL CHECK RH11 HARDWARE
6953 ;
6954 ;CALL MOV #<VECTOR ADR>,R3
6955 ; MOV #<HDW ADR>,R4
6956 ; MOV #<HDW ADR>,R1
6957 ; JSR PC,XRH11
6958 ;
6959 .IIF NDF FTRH11,FTRH11=0
6960 001 .IF NE FTRH11
6961 XRH11: BIS #1,CHKRP+4+0 ;GROSS KLUDGE TO PREVENT CHKDEV FROM
6962 RTS PC ; FINDING WHAT LOOKS LIKE AN RP.
6963 ; (THE DEVICE REGISTERS OVERLAP)
6964 000 .ENDC ;NE FTRH11
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 22-10
C11DTE.MAC 04-JAN-83 11:22 CHECK TC11 HARDWARE
6966 .SBTTL CHECK TC11 HARDWARE
6967 ;
6968 ;CALL MOV #<VECTOR ADR>,R3
6969 ; MOV #<HDW ADR>,R4
6970 ; MOV #<HDW ADR>,R1
6971 ; JSR PC,XTC11
6972 ;
6973 .IIF NDF FTTC11,FTTC11=0
6974 001 .IF NE FTTC11
6975 XTC11: ;
6976 002 .IF NDF,FT.D75
6977 JSR R5,CHKBIT ;TEST FOLLOWING BITS
6978 TC.D17!TC.D16
6979 TST (R1)+ ;ADVANCE TO COMMAND REGISTER
6980 JSR R5,CHKBIT ;TEST FOLLOWING BITS
6981 TC..MM!TC..DI!TC.REV!TC.US7!TC.INE!TC.A17!TC.A16
6982 TST (R1)+ ;ADVANCE TO WORD COUNT REG
6983 JSR R5,CHKBIT ;TEST FOLLOWING BITS
6984 -1
6985 TST (R1)+ ;ADVANCE TO BUS ADDR REG
6986 JSR R5,CHKBIT ;TEST THE FOLLOWING BITS
6987 -1
6988 TST (R1)+ ;ADVANCE TO DATA REGISTER
6989 JSR R5,CHKBIT ;CHECK FOLLOWING BITS
6990 -1
6991 MOV R4,R1 ;SET UP ADR FOR INT CHK
6992 TST (R1)+ ;ADVANCE TO COMMAND REG
6993 MOV R1,R2 ;SET UP FOR INT CHK
6994 $CKINT ,,<TC.INE>,<TC.RDY>
6995 001 .ENDC ;IF NDF FT.D75
6996 RTS PC
6997 000 .ENDC ;NE FTTC11
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 22-11
C11DTE.MAC 04-JAN-83 11:22 CHECK TM11 HARDWARE
6999 .SBTTL CHECK TM11 HARDWARE
7000 ;
7001 ;CALL MOV #<VECTOR ADR>,R3
7002 ; MOV #<HDW ADR>,R4
7003 ; MOV #<HDW ADR>,R1
7004 ; JSR PC,XTM11
7005 ;
7006 .IIF NDF FTTM11,FTTM11=0
7007 001 .IF NE FTTM11
7008 XTM11: ;
7009 RTS PC
7010 000 .ENDC ;NE FTTM11
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 22-12
C11DTE.MAC 04-JAN-83 11:22 NULL DIAGNOSTIC
7012 .SBTTL NULL DIAGNOSTIC
7013 ;
7014 ;
7015 ;
7016 014460' X.....: ;
7017 014460' 004037 014572' JSR R0,CKTSTR ;
7018 014464' 020073 067151 062564 .ASCIZ "; integrity not tested"
014472' 071147 072151 020171
014500' 067556 020164 062564
014506' 072163 062145 000
7019 014514' .EVEN ;
7020 014514' 012737 177776 002054' MOV #177776,CKDEVN ;SET COUNT TO PREVENT MORE TYPEOUTS
7021 014522' 000207 RTS PC ;
7022 ;EDIT PAGE BREAK (FF)
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 23
C11DTE.MAC 04-JAN-83 11:22 NULL DIAGNOSTIC
7024
7025 .SBTTL TTY SUPPORT FOR TYPE OUTS
7026 ;
7027 014524' 000000 CKTRPT: .WORD 0 ;REPORT DESTINATION DEVICE
7028 ; B15 - CTY
7029 ; B7 - REMOTE DEVICE
7030 ;
7031 ; TYPE THE MESSAGE STRING POINTED TO BY R0
7032 ;
7033 ; CALL JSR PC,CKTTXT ;R0 CONTAINS ADDR OF TXT
7034 ; ON EXIT R0 POINTS TO THE EVEN LOCATION FOLLOWING THE TEXT
7035 ;
7036 .ENABL LSB
7037 014526' CKTTXT: SAVE <R1>
7038 014530' 112001 10$: MOVB (R0)+,R1 ;GET THE NEXT CHARACTER
7039 014532' 001403 BEQ 20$ ;BRANCH IF END (NULL)
7040 014534' 004737 014666' JSR PC,CKTCHR ;TYPE CHAR
7041 014540' 000773 BR 10$ ;GET NEXT CHAR
7042 ;
7043 014542' 005200 20$: INC R0 ;
7044 014544' 042700 000001 BIC #B0,R0 ;POINT TO EVEN LOC
7045 014550' 25$: RESTORE <R1>
7046 014552' 000207 RTS PC ;RETURN TO CALLER
7047 ;
7048 ; TYPE A CARRIAGE RETURN AND LINE FEED
7049 ;
7050 ; CALL JSR PC,CKCRLF
7051 ;
7052 014554' 004037 014572' CKCRLF: JSR R0,CKTSTR
7053 014560' 005015 000 .ASCIZ <15><12>
7054 014564' .EVEN
7055 014564' 000207 RTS PC
7056 ;
7057 ; TYPE A STRING PRECEEDED BY A CR/LF
7058 ;
7059 ; CALL JSR R0,CKTCRL
7060 ; .ASCIZ \TEXT\
7061 ; .EVEN
7062 ;
7063 014566' 004737 014554' CKTCRL: JSR PC,CKCRLF ;FIRST TYPE A CR/LF
7064 ;
7065 ; TYPE A MESSAGE ON THE CTY
7066 ; CALL JSR R0,CKTSTR ;CALL TYPE ROUTINE
7067 ; .ASCIZ \TEXT\
7068 ; .EVEN
7069 ;
7070 014572' 004737 014526' CKTSTR: JSR PC,CKTTXT ;GO TYPE STRING
7071 014576' 000200 RTS R0
7072 ;
7073 ;TYPE A BLANK AND THE OCTAL CONTENTS OF R0
7074 ;
7075 ; SIMILIAR TO CKTOCT
7076 ;
7077 014600' CKTBOC: SAVE <R1>
7078 014602' 012701 000040 MOV #040,R1
7079 014606' 004737 014666' JSR PC,CKTCHR
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 23-1
C11DTE.MAC 04-JAN-83 11:22 TTY SUPPORT FOR TYPE OUTS
7080 014612' 000401 BR 30$
7081 ;
7082 ; TYPE THE OCTAL CONTENTS OF R0
7083 ;
7084 ; CALL JSR PC,CKTOCT ;WITH ARG IN R0
7085 ;
7086 014614' CKTOCT: SAVE <R1>
7087 014616' 30$: SAVE <R0>
7088 014620' 004737 014632' JSR PC,50$
7089 014624' 40$: RESTORE <R0>
7090 014626' RESTORE <R1>
7091 014630' 000207 RTS PC
7092 ;
7093 ;RECURSIVE BINARY TO ASCIC CONVERSION
7094 ; PUSHES CURRENT VALUE IN R0 ONTO STACK, THEN DIVIDES BY 8 -
7095 ; IF THE QUOTIENT IS NOT ZERO IT CALLS ITSELF, HENCE INTERLEAVING
7096 ; INTERMEDIATE VALUES AND RETURN ADDRESSES - WHEN THE QUOTIENT
7097 ; BECOMES ZERO, INTERMEDIATE VALUES ARE POPPED, AND THE LEAST
7098 ; SIGNIFICANT VALUES ARE PRINTED IN TURN, WITH RETURN FALLING
7099 ; BACK INTO THE PRINT ROUTINE - NOTICE THAT LEADING ZEROS ARE
7100 ; AUTOMATICALLY SUPPRESSED, EXCEPT THE LONE ZERO OF A ZERO WORD
7101 ;
7102 014632' 50$: SAVE <R0> ;STUFF CURRENT VALUE
7103 014634' 006000 ROR R0 ;DIVIDE BY EIGHT
7104 014636' 006000 ROR R0 ;
7105 014640' 006000 ROR R0 ;
7106 014642' 042700 160000 BIC #160000,R0 ;CLEAR SPURIOUS CARRIES IN
7107 014646' 001402 BEQ 60$ ;SKIP TO PRINT WHEN QUOTIENT ZERO
7108 014650' 004737 014632' JSR PC,50$ ; ELSE CALL SELF
7109 014654' 60$: RESTORE <R1> ;POP INTERMEDIATE VALUE
7110 014656' 042701 177770 BIC #^C7,R1 ;SAVE LSD
7111 014662' 052701 000060 BIS #60,R1 ;SET BITS FOR ASCII CHARACTER
7112 ; AND DROP INTO CHARACTER PRINT
7113 ;
7114 ; TYPE THE SINGLE CHARACTER IN R1
7115 ;
7116 ; CALL JSR PC,CKTCHR ;WITH CHAR IN R1
7117 ;
7118 014666' 120127 000040 CKTCHR: CMPB R1,#40 ;DOES THIS NEED FILLER ?
7119 014672' 103015 BHIS 80$ ;
7120 014674' 120127 000011 CMPB R1,#11 ;IS CHAR A TAB (11)
7121 014700' 001005 BNE 70$ ;BRANCH IF NOT A TAB
7122 014702' 004037 014572' JSR R0,CKTSTR ;GIVE SPACES FOR IT
7123 014706' 040 040 040 .BYTE 40,40,40,0 ;SUBSTITUTE SPACES FOR TAB
014711' 000
7124 014712' 000207 RTS PC ;
7125 ;
7126 014714' 004737 014720' 70$: JSR PC,75$ ;TYPE CHAR FIRST THEN PAD IT WITH 4 NULLS
7127 014720' 004737 014726' 75$: JSR PC,80$ ;
7128 014724' 005001 CLR R1 ;
7129 014726' 005737 014524' 80$: TST CKTRPT ;CTY OUTPUT REPORT DEVICE?
7130 014732' 100005 BPL 83$ ;NO
7131 014734' 105737 177564 81$: TSTB CTOSTS ;YES, TEST FOR STILL BUSY
7132 014740' 100375 BPL 81$ ;
7133 014742' 110137 177566 MOVB R1,CTOCHR ;TYPE CHAR
7134 014746' 105737 014524' 83$: TSTB CKTRPT ;REMOTE DEVICE RECEIVING REPORT?
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 23-2
C11DTE.MAC 04-JAN-83 11:22 TTY SUPPORT FOR TYPE OUTS
7135 014752' 100002 BPL 86$ ;NO
7136 014754' 004737 015204' JSR PC,CKTREM ;YES, REPORT REMOTELY
7137 014760' 000207 86$: RTS PC ;
7138 ;
7139 ; BINARY TO DECIMAL ASCII CONVERSION AND OUTPUT
7140 ;
7141 014762' CKTDEC: SAVE <R0,R1,R2> ;
7142 014770' 012702 015056' MOV #125$,R2 ;SET DIVISOR POINTER
7143 014774' 005001 101$: CLR R1 ;CLEAR QUOTIENT COUNTER
7144 014776' 005742 103$: TST -(R2) ;BACK DOWN INTO ARRAY
7145 015000' 001414 BEQ 111$ ;DONE ALL BUT UNITS
7146 015002' 005201 107$: INC R1 ;UP QUOTIENT
7147 015004' 161200 SUB (R2),R0 ;SUBTRACT CURRENT 10**N
7148 015006' 002375 BGE 107$ ;NOT NEGATIVE YET, LOOP AROUND
7149 015010' 061200 ADD (R2),R0 ;WENT TOO FAR, GO BACK ONE
7150 015012' 005301 DEC R1 ;COUNT BACK QUOTIENT
7151 015014' 001770 BEQ 103$ ;IF QUOTIENT IS ZERO, SUPPRESS IT
7152 015016' 052701 000060 BIS #'0,R1 ;CONVERT QUOTIENT DIGIT TO ASCII
7153 015022' 004737 014666' JSR PC,CKTCHR ;TYPE DIGIT
7154 015026' 005712 TST (R2) ;DONE TO LSD?
7155 015030' 001361 BNE 101$ ;NO
7156 015032' 111$: RESTORE <R2,R1,R0> ;RESTORE AND RETURN
7157 015040' 000207 RTS PC ;
7158 015042' 000000 000001 000012 124$: .WORD 0,1.,10.,100.,1000.,10000. ;DECIMAL ORDERS OF MAGNITUDE
015050' 000144 001750 023420
7159 015056' 125$: ;125$ **ENDS** THE ARRAY
7160 ;
7161 ; GET A SINGLE CHAR FROM THE KEYBOARD
7162 ; R1 WILL HAVE THE SEVEN BIT CHAR INPUT, OR
7163 ; WILL HAVE -1 IF THE ROUTINE HAD TO WAIT MORE
7164 ; THAN 30 SECONDS FOR A RESPONSE
7165 ; IF THERE IS NO CTY, THE RETURNED CHAR WILL BE "N" (DEFAULT "NO")
7166 ; CALL JSR PC,CKGCHR
7167 ;
7168 015056' 005737 014524' CKGCHR: TST CKTRPT ;KB EXIST?
7169 015062' 100030 BPL 96$ ;NO, DON'T LOOK FOR A CHARACTER
7170 015064' SAVE <R0,R2> ;YES, ENTER INPUT WAIT
7171 015070' 012702 000764 MOV #500.,R2 ;SET TIMEOUT COUNTERS
7172 015074' 005000 CLR R0 ;
7173 015076' 012701 177777 MOV #-1,R1 ;ASSUME NO CHARACTER WILL BE RECEIVED
7174 015102' 005737 177562 TST CTICHR ;CLEAR BUFFER
7175 015106' 077001 90$: SOB R0,90$ ;THIS TAKES ABOUT 1/15 SECOND TO FALL THROUGH
7176 015110' 005302 DEC R2 ;DO IT ENOUGH TIMES TO GET TO 30-60 SECONDS
7177 015112' 001411 BEQ 95$ ;NO INPUT WAS SEEN, RETURN WITH DEFAULT
7178 015114' 105737 177560 TSTB CTISTS ;LOOK FOR CHAR
7179 015120' 100372 BPL 90$ ;NOT THERE YET
7180 015122' 113701 177562 MOVB CTICHR,R1 ;FINALLY GOT ONE, GRAB IT
7181 015126' 042701 177600 BIC #^C177,R1 ;KEEP ONLY INTERESTING BITS
7182 015132' 004737 014666' JSR PC,CKTCHR ;TYPE IT BACK TO HIM (ECHO)
7183 015136' 95$: RESTORE <R2,R0> ;
7184 015142' 000207 RTS PC ;
7185 ;
7186 015144' 012701 000116 96$: MOV #'N,R1 ;NO CTY, RETURN "NO" FOR ANSWER
7187 015150' 000207 RTS PC ;
7188 ;
7189 ; GET A CHARACTER AND RETURN Z-BIT SET IF IT IS A "Y" (CASE INSENSITIVE) -
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 23-3
C11DTE.MAC 04-JAN-83 11:22 TTY SUPPORT FOR TYPE OUTS
7190 ; RETURN WITH C-BIT SET IF NO CHARACTER WAS RECEIVED
7191 ;
7192 015152' 004737 015056' CKGYES: JSR PC,CKGCHR ;GET ANY CHARACTER
7193 015156' 120127 000040 CMPB R1,#40 ;TEST FOR IGNORED OR UNPRINTABLE
7194 015162' 002406 BLT 97$ ;NO CHARACTER
7195 015164' 052701 000040 BIS #40,R1 ;FORCE LOWER CASE FOR COMPARISON
7196 015170' 120127 000171 CMPB R1,#'Y!40 ;IS IT A "Y"?
7197 015174' 000241 CLC ;RETURN Z-BIT FOR CALLER TO BRANCH ON
7198 015176' 000207 RTS PC ;
7199 015200' 000261 97$: SEC ;NO REASONABLE CHARACTER TYPED
7200 015202' 000207 RTS PC ;
7201 .DSABL LSB
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 23-4
C11DTE.MAC 04-JAN-83 11:22 REMOTE OUTPUT HANDLER
7203 .SBTTL REMOTE OUTPUT HANDLER
7204 ;
7205 015204' CKTREM: ;
7206 ; THIS ROUTINE WILL TAKE THE OUTPUT DIRECTED
7207 ; TO THE CTY AND SEND IT OVER A BUFFERED
7208 ; LINK TO BE OUTPUT ON A REMOTE DEVICE.
7209 ;
7210 ; IF THE TRANSFER IS BUFFERED, RECEIPT OF A -1 BYTE
7211 ; SHOULD FORCE THE TRANSMISSION OF THE PARTIALLY FILLED
7212 ; BUFFER TO ENSURE THE UP TO DATE REPORTING OF VITAL
7213 ; MESSAGES (DEATH, DISEASE, FAMINE, ETC.)
7214 ;
7215 015204' 105037 014524' CLRB CKTRPT ;PREVENT ERROR LOOP IN THIS ROUTINE
7216 015210' 010046 MOV R0,-(SP) ;
7217 015212' 013700 015532' MOV CK.PTR,R0 ;PICK UP BUFFER FILL POINTER
7218 015216' 120127 177777 CMPB R1,#-1 ;IF CHARACTER IS -1,
7219 015222' 001003 BNE 5$ ; (NOT)
7220 015224' CALL CKBFSH ;WRITE OUT BUFFER
7221 015230' 000426 BR 100$ ;AND QUIT (DON'T STORE THE -1)
7222 015232' 020127 000015 5$: CMP R1,#15 ;IF CHARACTER IS <CR>,
7223 015236' 001003 BNE 10$ ; (NOT)
7224 015240' 005237 015530' INC CK.BFG ;SET FLAG
7225 015244' 000412 BR 30$ ;AND STORE IN BUFFER
7226 015246' 020127 000012 10$: CMP R1,#12 ;IF CHARACTER IS <LF>,
7227 015252' 001005 BNE 20$ ; (NOT)
7228 015254' 005737 015530' TST CK.BFG ;AND LAST CHAR WAS <CR>,
7229 015260' 001402 BEQ 20$ ; (NOT)
7230 015262' CALL CKBFSH ;WRITE OUT BUFFER
7231
7232 015266' 005037 015530' 20$: CLR CK.BFG ;CLEAR <CR> FLAG
7233 015272' 110120 30$: MOVB R1,(R0)+ ;STORE CHAR IN BUFFER
7234 015274' 020027 015527' CMP R0,#CK.BFN ;IF AT END OF BUFFER,
7235 015300' 001002 BNE 100$ ; (NOT)
7236 015302' CALL CKBFSH ;WRITE OUT BUFFER
7237 015306' 010037 015532' 100$: MOV R0,CK.PTR ;REFRESH BUFFER FILL POINTER
7238 015312' 012600 MOV (SP)+,R0 ;
7239 015314' 112737 177777 014524' MOVB #-1,CKTRPT ;RESET "REMOTE REPORTING" FLAG
7240 015322' RETURN ;RETURN TO CALLER
7241
7242
7243 ; ROUTINE TO WRITE OUT A BUFFER
7244
7245 015324' 162700 015407' CKBFSH: SUB #CK.BUF,R0 ;CALCULATE BUFFER LENGTH
7246 015330' 005200 INC R0 ; PLUS ONE FOR OPCODE
7247 015332' 010037 015404' MOV R0,CK.LEN ;SET UP BYTE COUNT WORD
7248 015336' 012700 015404' MOV #CK.LEN,R0 ;ADDRESS BUFFER START
7249 015342' 010446 MOV R4,-(SP) ;
7250 015344' 010546 MOV R5,-(SP) ;
7251 015346' 010246 MOV R2,-(SP) ;
7252 015350' 010146 MOV R1,-(SP) ;
7253 015352' 005004 CLR R4 ;SET PHYSICAL ADDRESS
7254 015354' 005005 CLR R5 ; BASE AT ZERO
7255 015356' 013701 002062' MOV CK.DTE,R1 ;PICK UP DTE CSR ADDRESS
7256 015362' 013702 002060' MOV CK.CAL,R2 ;ADDRESS LOADER CODE
7257 ; CALL DTESND-MOP(R2) ;CALL DTE SEND ROUTINE IN LOADER
7258 015366' 012601 MOV (SP)+,R1 ;
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 23-5
C11DTE.MAC 04-JAN-83 11:22 REMOTE OUTPUT HANDLER
7259 015370' 012602 MOV (SP)+,R2 ;
7260 015372' 012605 MOV (SP)+,R5 ;
7261 015374' 012604 MOV (SP)+,R4 ;
7262 015376' 012700 015407' MOV #CK.BUF,R0 ;RESET FILL POINTER TO START OF BUFFER
7263 015402' RETURN
7264
7265 015404' 000000 CK.LEN: .WORD 0 ;BYTE COUNT FOR DTE SEND ROUTINE
7266 015406' 026 .BYTE 22. ;MOP OP CODE
7267 015407' 000120 CK.BUF: .BLKB 80. ;BUFFER
7268 015527' 000 CK.BFN: .BYTE 0 ; END OF BUFFER (1 BYTE SAFETY PAD)
7269 .EVEN ;
7270 015530' 000000 CK.BFG: .WORD 0 ;FLAG WORD
7271 015532' 015407' CK.PTR: .WORD CK.BUF ;BUFFER FILL POINTER
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 23-6
C11DTE.MAC 04-JAN-83 11:22 UNEXPECTED BUS TRAP HANDLER
7273 .SBTTL UNEXPECTED BUS TRAP HANDLER
7274 ;
7275 015534' CKBUST: CK11SC <CKEDID>,<Bus error trap>
7276 015536' 072502 020163 071105 .ASCIZ \Bus Error trap from\
015544' 067562 020162 071164
015552' 070141 063040 067562
015560' 000155
7277 .EVEN ;
7278 015562' 011600 MOV (SP),R0 ;GET PC OF NEXT INST
7279 015564' 162700 000002 SUB #2,R0 ;MAKE PC WITHIN BAD INST
7280 015570' 004737 014600' JSR PC,CKTBOC ;PRINT THE PC WHERE WE WERE DONE IN
7281 ;;;; JMP ? ;FATAL BUS ERROR
7282 015574' 000000 20$: HALT ;SOMEDAY WE MAY HAVE A REAL ABORT ROUTINE
7283 015576' 000776 BR 20$ ; BUT FOR NOW, WE JUST HANG
7284 ;EDIT PAGE BREAK (FF)
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 24
C11DTE.MAC 04-JAN-83 11:22 UNEXPECTED BUS TRAP HANDLER
7286
7287 .SBTTL CK11SC/TRAP INSTRUCTION HANDLER
7288 ;
7289 ; TRAP INSTRUCTION HANDLER - WE GET HERE ON ERROR IN CHK11
7290 ;
7291 ; AT HALT TIME R0 CONTAINS ADDRESS OF TRAP
7292 ;
7293 015600' 010046 CHKERR: MOV R0,-(SP) ;SAVE A WORKING REGISTER
7294 015602' 016646 000002 MOV 2(SP),-(SP) ;GET THE ADDRESS OF
7295 015606' 162716 000002 SUB #2,(SP) ; THE TRAP INSTRUCTION
7296 015612' 013646 MOV @(SP)+,-(SP) ;REPLACE THE ADDRESS WITH THE INSTR
7297 015614' 032716 000010 BIT #CKEDID,(SP) ;PRINT DEVICE ID+REG MSG?
7298 015620' 001405 BEQ 11$ ;NO
7299 015622' 052737 000001 002052' BIS #CKFERR,CHKFLG ;YES, REMEMBER WE HAD AN ERROR
7300 015630' 004737 010540' JSR PC,CKDIDT ;
7301 015634' 032716 000002 11$: BIT #CKEPC,(SP) ;TYPE PC MESSAGE?
7302 015640' 001421 BEQ 14$ ;NO
7303 015642' 004037 014566' JSR R0,CKTCRL ;YES
7304 015646' 020011 071105 067562 .ASCIZ \ Error at PC\
015654' 020162 072141 050040
015662' 000103
7305 .EVEN ;
7306 015664' 052737 000001 002052' BIS #CKFERR,CHKFLG ;REMEMBER WE HAD AN ERROR
7307 015672' 016600 000004 MOV 4(SP),R0 ;GET ADDRESS
7308 015676' 005740 TST -(R0) ; OF INSTRUCTION
7309 015700' 004737 014600' JSR PC,CKTBOC ;PRINT SPACE AND ADDRESS
7310 015704' 032716 000024 14$: BIT #CKEMSG!CKEMSE,(SP);ANY MSG TO DO?
7311 015710' 001434 BEQ 36$ ;NO
7312 ;
7313 015712' 032716 000040 BIT #CKENCL,(SP) ;YES, SUPPRESS CR/LF?
7314 015716' 001002 BNE 20$ ;YES
7315 015720' 004737 014554' JSR PC,CKCRLF ;NO, DO CR/LF
7316 015724' 032716 000110 20$: BIT #CKEDID!CKEGB,(SP);DETAIL FORMAT SPACES?
7317 015730' 001404 BEQ 24$ ;NO
7318 015732' 004037 014572' JSR R0,CKTSTR ;YES
7319 015736' 004411 000 .ASCIZ " "
7320 015742' .EVEN ;
7321 015742' 016600 000004 24$: MOV 4(SP),R0 ;GET MSG ADDRESS
7322 015746' 032716 000020 BIT #CKEMSE,(SP) ;INDIRECT?
7323 015752' 001401 BEQ 29$ ;NO, INLINE
7324 015754' 011000 MOV (R0),R0 ;YES, GET ACTUAL ADDRESS
7325 015756' 004737 014526' 29$: JSR PC,CKTTXT ;TYPE OUT MSG
7326 015762' 062766 000002 000004 ADD #2,4(SP) ;UPDATE RETURN ADDRESS
7327 015770' 032716 000004 BIT #CKEMSG,(SP) ;WAS MSG INLINE?
7328 015774' 001402 BEQ 36$ ;NO
7329 015776' 010066 000004 MOV R0,4(SP) ;YES, REPLACE RETURN ADDRESS
7330 016002' 032716 000100 36$: BIT #CKEGB,(SP) ;SEE IF GOOD BAD PRINT OUT
7331 016006' 001454 BEQ 40$ ;BRANCH IF NOT THIS
7332 016010' 004037 014566' JSR R0,CKTCRL ;
7333 016014' 004411 062101 027562 .ASCIZ \ Adr/Reg =\
016022' 062522 020147 000075
7334 .EVEN ;
7335 016030' 016600 000010 MOV 10(SP),R0 ;GET ADR OFF THE STACK
7336 016034' 004737 014600' JSR PC,CKTBOC ;PRINT ADR
7337 016040' 004037 014572' JSR R0,CKTSTR ;
7338 016044' 020040 042107 036440 .ASCIZ \ GD =\
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 24-1
C11DTE.MAC 04-JAN-83 11:22 CK11SC/TRAP INSTRUCTION HANDLER
016052' 000
7339 016054' .EVEN
7340 016054' 016600 000014 MOV 14(SP),R0 ;GET "GOOD"
7341 016060' 004737 014600' JSR PC,CKTBOC ;PRINT IT
7342 016064' 004037 014572' JSR R0,CKTSTR ;
7343 016070' 020040 042102 036440 .ASCIZ \ BD =\
016076' 000
7344 016100' .EVEN
7345 016100' 016600 000012 MOV 12(SP),R0 ;PRINT BAD STUFF
7346 016104' 004737 014600' JSR PC,CKTBOC ;PRINT BAD
7347 016110' 004037 014572' JSR R0,CKTSTR ;
7348 016114' 020040 047530 020122 .ASCIZ \ XOR =\
016122' 000075
7349 .EVEN
7350 016124' 016646 000014 MOV 14(SP),-(SP) ;GET GOOD
7351 016130' 074016 XOR R0,(SP) ;LEAVE ONLY QUESTIONABLE BITS
7352 016132' 012600 MOV (SP)+,R0 ;PRINT THEM
7353 016134' 004737 014600' JSR PC,CKTBOC ;
7354 016140' 032716 000001 40$: BIT #CKEFAT,(SP) ;FATAL ERROR? HALT REQUIRED?
7355 016144' 001426 BEQ 50$ ;NO
7356 016146' 052737 000001 002052' BIS #CKFERR,CHKFLG ;YES, NOTE THAT WE HAD AN ERROR
7357 016154' 004037 014566' JSR R0,CKTCRL ;
7358 016160' 004411 060506 060564 .ASCIZ \ Fatal Error\<377>
016166' 020154 071105 067562
016174' 177562 000
7359 016200' .EVEN
7360 016200' 013700 016252' MOV CKSPCD,R0 ;PUT STOPCODE IN R0, 0 IS NOT TO BE DISPLAYED
7361 016204' 001401 BEQ 45$ ;IF 0
7362 016206' 000000 HALT ;STOP CODE IN R0, PRESS CONTINUE
7363 ; GIVES ADR WE CAME FROM
7364 016210' 016600 000004 45$: MOV 4(SP),R0 ;ADDRESS OF RETURN FROM TRAP IN R0
7365 016214' 000000 HALT ;FATAL ERROR - R0 CONTAINS ERROR ADDRESS
7366 016216' 000137 002124' JMP CHK.11 ;IF CONTINUE DO PROGRAM AGAIN.
7367 016222' 032726 000100 50$: BIT #CKEGB,(SP)+ ;WAS THERE A GD-BD PRINT? (POP SAVED INSTUCTION)
7368 016226' 001002 BNE 55$ ;YES, CLEAR STACK
7369 016230' 012600 MOV (SP)+,R0 ;
7370 016232' 000002 RTI ; AND EXIT
7371 ;
7372 016234' 012600 55$: MOV (SP)+,R0 ;RESTORE WORKING REGISTER, CLEAN STACK
7373 016236' 012666 000004 MOV (SP)+,4(SP) ;PC
7374 016242' 012666 000004 MOV (SP)+,4(SP) ;PS
7375 016246' 005726 TST (SP)+ ;CLEAN THE STACK
7376 016250' 000002 RTI ; THEN EXIT
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 24-2
C11DTE.MAC 04-JAN-83 11:22 CK11SC/TRAP INSTRUCTION HANDLER
7378 016252' 000000 CKSPCD: .WORD 0 ;CONTAINS STOPCODE ON FATAL ERROR
7379 ;
7380 016254' CHKCHR:
7381 ;
7382 000000 CKDA = .-CHKCHR ;DEVICE ADDRESS OFFSET
7383 016254' 000001 .BLKW 1
7384 ;
7385 000002 CKDV = .-CHKCHR ;DEVICE VECTOR OFFSET
7386 016256' 000001 .BLKW 1
7387 ;
7388 000004 CKPI = .-CHKCHR ;DEVICE PI LEVEL OFFSET
7389 016260' 000001 .BLKW 1
7390 ;
7391 000006 CKFLG = .-CHKCHR ;DEVICE FLAGS OFFSET
7392 ; B0-B5 = # OF DQ11 SPECIAL CHAR
7393 ; B15 = INTERRUPTED ON SYNC
7394 016262' 000001 .BLKW 1
7395 ;
7396 000010 CKSPC = .-CHKCHR ;SPECIAL CHAR OFFSET
7397 016264' 000004 .BLKW 4 ;SPECIAL CHARACTERS
7398 ;
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 24-3
C11DTE.MAC 04-JAN-83 11:22 CK11SC/TRAP INSTRUCTION HANDLER
7400 000000 .REPT 0
7401 CKVECT CD,1,1 ;CD20 VECTOR SETUP
7402 CKVECT CR,1,1 ;CR11 VECTOR SETUP
7403 CKVECT DH,2,16. ;DH11 VECTOR SETUP
7404 CKVECT DJ,2,16. ;DJ11 VECTOR SETUP
7405 CKVECT DL.E,2,16. ;DL11 VECTOR SETUP
7406 CKVECT DM,1,16. ;DM11BB VECTOR SETUP
7407 CKVECT DMC,2,16. ;DMC11 VECTOR SETUP
7408 CKVECT DN,1,64. ;DN11 VECTOR SETUP
7409 CKVECT DP,2,32. ;DP11 VECTOR SETUP
7410 CKVECT DQ,2,16. ;DQ11 VECTOR SETUP
7411 CKVECT DS,4,16. ;DS11 VECTOR SETUP
7412 CKVECT DU,2,16. ;DU11 VECTOR SETUP
7413 CKVECT DUP,2,16. ;DUP11 VECTOR SETUP
7414 CKVECT DTE2,1,1 ;DTE20 VECTOR SETUP
7415 CKVECT KMC,2,3 ;KMC11 VECTOR SETUP
7416 CKVECT KW.P,1,1 ;KW11-P VECTOR SETUP
7417 CKVECT LE,1,2 ;LP11 VECTOR SETUP
7418 CKVECT LP,1,2 ;LP20 VECTOR SETUP
7419 CKVECT PP,1,1 ;PP11 VECTOR SETUP
7420 CKVECT PR,1,1 ;PR11 VECTOR SETUP
7421 CKVECT P6,1,16. ;PA611P VECTOR SETUP
7422 CKVECT R6,1,16. ;PA611R VECTOR SETUP
7423 CKVECT TC,1,1 ;TC11 VECTOR SETUP
7424 CKVECT TM,1,1 ;TM11 VECTOR SETUP
7425 CKVECT RC,1,1 ;RC11 VECTOR SETUP
7426 CKVECT RF,1,1 ;RF11 VECTOR SETUP
7427 CKVECT RH,1,1 ;RH11 (RJP04) VECTOR SETUP
7428 CKVECT RP,1,1 ;RP11-C VECTOR SETUP
7429 CKVECT TA,1,1 ;TA11 VECTOR SETUP
7430 CKVECT RK,1,1 ;RK11 VECTOR SETUP
7431 CKVECT RX,1,1 ;RX11 VECOR SETUP
7432 .ENDR ;END OF SUPPRES VECTORS
7433 ;
7434 016274' 062515 020155 071105 CKMG01: .ASCIZ \Mem Err\<377>
016302' 177562 000
7435 016305' 102 072151 062040 CKMG02: .ASCIZ \Bit did not clear\<377>
016312' 062151 067040 072157
016320' 061440 062554 071141
016326' 000377
7436 016330' 064502 020164 064544 CKMG03: .ASCIZ \Bit did not set\<377>
016336' 020144 067556 020164
016344' 062563 177564 000
7437 016351' 111 072156 071145 CKMG04: .ASCIZ \Interrupt did not occur\<377>
016356' 072562 072160 062040
016364' 062151 067040 072157
016372' 067440 061543 071165
016400' 000377
7438 016402' 067111 062564 071162 CKMG05: .ASCIZ \Interrupted to wrong vector\<377>
016410' 070165 062564 020144
016416' 067564 073440 067562
016424' 063556 073040 061545
016432' 067564 177562 000
7439 016437' 156 072157 063040 CKMG06: .ASCIZ \not found\<377>
016444' 072557 062156 000377
7440 016452' 067151 062564 071162 CKMG07: .ASCIZ \interrupted when not enabled\<377>
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 24-4
C11DTE.MAC 04-JAN-83 11:22 CK11SC/TRAP INSTRUCTION HANDLER
016460' 070165 062564 020144
016466' 064167 067145 067040
016474' 072157 062440 060556
016502' 066142 062145 000377
7441 ;
7442 .EVEN
7443 002202' CKBLK=CKINTS ;REMOVE THIS AREA AS A BUFFER FOR THE DH11 TEST
7444 ;
7445 016510' 000040 .BLKW 40 ;STACK FOR CHECK-11
7446 016610' CHKSTK =. ;END OF STACK
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 24-5
C11DTE.MAC 04-JAN-83 11:22 MODULE END
7448 .SBTTL MODULE END
7449 .SBTTL PROGRAM END
7450 016610' CHKEND= . ;COMPUTE AND PRINT PROGRAM SIZE
7451 ;
7452 ; EEEEEEEEEEEEEE NN NN DDDDDDDDDD !!
7453 ; EE NNNN NN DD DD !!
7454 ; EE NN NN NN DD DD !!
7455 ; EE NN NN NN DD DD !!
7456 ; EEEEEEEEEE NN NN NN DD DD !!
7457 ; EE NN NN NN DD DD !!
7458 ; EE NN NN NN DD DD !!
7459 ; EE NN NNNN DD DD
7460 ; EEEEEEEEEEEEEE NN NN DDDDDDDDDD !!
7461 ;
7462 ;
7463 ;**********************************************************************
7464 ;
7465 ; END OF CHK11 - THE ONLY ONCE ONLY SYSTEM DIAGNOSTIC YOU'LL EVER NEED
7466 ;
7467 ;**********************************************************************
7468 ;
7469 000000' .END DTEMOP ;START AT LOADER START
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 25
C11DTE.MAC 04-JAN-83 11:22 CROSS REFERENCE TABLE -- USER SYMBOLS
ALLBTS= 177777 769# 4257 5619 5622 6565 6568 6571 6832 6844
BIT0 = 000001 3105# 3203 3205 3425
BIT1 = 000002 3106# 3202 3425
BIT10 = 002000 3115# 3198
BIT11 = 004000 3116# 3197
BIT12 = 010000 3117# 3196
BIT13 = 020000 3118# 3182 3195
BIT14 = 040000 3119# 3172 3194
BIT15 = 100000 3120# 3171 3181 3193
BIT2 = 000004 3107#
BIT3 = 000010 3108#
BIT4 = 000020 3109#
BIT5 = 000040 3110# 3143
BIT6 = 000100 3111# 3191 3201
BIT7 = 000200 3112# 3200
BIT8 = 000400 3113# 3199
BIT9 = 001000 3114#
BPARER= 000020 1385#
BPTLVL= 000007 805#
BPTVEC= 000014 805#
BR0 = 000000 773#
BR1 = 000040 774#
BR2 = 000100 775#
BR3 = 000140 776#
BR4 = 000200 777#
BR5 = 000240 778#
BR6 = 000300 779# 5410
BR7 = 000340 780# 4167 4193 4201 4948 5258 5320 5420 5462 5471 5510 5579 6578
6810
BSEL0 = 000000 1085#
BSEL1 = 000001 1088#
BSEL2 = 000002 1085#
BSEL3 = 000003 1088#
BSEL4 = 000004 1085#
BSEL5 = 000005 1088#
BSEL6 = 000006 1085#
BSEL7 = 000007 1088#
BSFACT= 000100 1635# 4537 4552 4553 4650 4763
BUSA16= 040000 1353# 3172# 3277 3431 3436 3690
BUSA17= 100000 1352# 3171# 3277 3431
BYTCNT 001342R 3369 3738#
B.DM11= 170500 1055#
B0 = 000001 752# 769 902 962 964 994 1008 1026 1037 1047 1064 1071# 1105
1121 1138 1147 1167 1186 1391 1394 1811 1838 1896 1928 3829 4142
5017 5076 7044
B1 = 000002 753# 901 963 964 993 1009 1026 1047 1064 1071# 1104 1120 1137
1148 1187 1389 1837 1859 1861 1863 1865 1895 1921 1923 1925 1927
3830 5020 5083
B10 = 002000 762# 896 933 983 1015 1057 1106 1130 1158 1177 1309 1379 1828
1850 1851 1852 1853 1886 1907 1912 1913 1914 1915
B11 = 004000 763# 895 934 982 1016 1056 1106 1115 1129 1159 1178 1309 1377
1808 1827 1845 1885 1906
B12 = 010000 764# 894 935 953 981 1017 1027 1097 1114 1128 1160 1179 1195
1376 1826 1844 1884 1905
B13 = 020000 765# 893 936 949 952 980 1018 1028 1127 1180 1274 1363 1375
1825 1843 1883 1902 1904
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 25-1
C11DTE.MAC 04-JAN-83 11:22 CROSS REFERENCE TABLE -- USER SYMBOLS
B14 = 040000 766# 892 937 948 951 957 979 1019 1029 1096 1126 1273 1353
1374 1824 1882 1903 1904
B15 = 100000 767# 769 891 938 950 956 978 1020 1030 1095 1125 1162 1182
1272 1352 1362 1373 1667 1798 1807 1823 1842 1881 1900 4143
B2 = 000004 754# 923 960 992 1010 1026 1038 1047 1064 1071# 1103 1119 1149
1169 1188 1388 1836 1860 1861 1864 1865 1894 1922 1923 1926 1927
3831
B3 = 000010 755# 991 1011 1026 1047 1064 1071# 1102 1118 1136 1150 1170 1189
1386 1835 1862 1863 1864 1865 1893 1924 1925 1926 1927 3832
B4 = 000020 756# 959 990 1026 1047 1063 1071# 1101 1135 1151 1171 1190 1385
1834 1857 1892 1919 3833
B5 = 000040 757# 958 988 1012 1026 1047 1062 1071# 1100 1134 1152 1172 1191
1213 1384 1833 1856 1891 1918 3835 5023 5086
B6 = 000100 758# 900 915 922 929 987 1013 1026 1039 1047 1061 1071# 1099
1117 1133 1153 1173 1192 1371 1383 1655 1656 1669 1800 1810 1832
1855 1890 1917 3836
B7 = 000200 759# 899 930 986 1014 1026 1040 1047 1060 1071# 1098 1116 1132
1154 1174 1193 1382 1657 1668 1799 1809 1831 1854 1889 1916
B8 = 000400 760# 898 931 985 1059 1106 1156 1175 1279 1381 1830 1847 1849
1851 1853 1888 1907 1909 1911 1913 1915
B9 = 001000 761# 897 932 984 1058 1106 1131 1157 1176 1380 1829 1848 1849
1852 1853 1887 1907 1910 1911 1914 1915
CDBA = 000004 848# 5608 5610* 5611 5613* 5667 5669* 5670 5672*
CDCC = 000002 845#
CDDB = 000006 850# 867
CDHRSZ= 000010 881#
CDST = 000000 821#
CDST2 = 000006 867# 5606
CD.B16= 000020 823# 825
CD.B17= 000040 823# 825
CD.CER= 100000 852#
CD.COL= 000120 846#
CD.DER= 004000 822#
CD.DLT= 002000 822#
CD.EOF= 020000 822#
CD.ERR= 100000 822# 5636
CD.GO = 000001 824# 5634
CD.HPE= 000004 824#
CD.IE = 000100 823# 5616 5634
CD.LVL= 000004 817# 5033
CD.NXM= 001000 823#
CD.OFL= 010000 822# 5624
CD.ONL= 000010 824#
CD.PAC= 000002 824# 5616
CD.PCK= 020000 869#
CD.PWC= 000400 823# 5631
CD.RCK= 040000 869#
CD.RDC= 040000 822#
CD.RDY= 000200 823# 5636
CD.SCK= 010000 869#
CD.STS= 177160 820# 5033
CD.VEC= 000230 818# 5033
CD.XAD= 000060 825# 5616 5634
CHKBIT 010416R 4253 4270 5319# 5615 5618 5621 5679 5927 5931 6404 6453 6457 6460
6476 6479 6561 6564 6567 6570 6799 6822 6826 6831 6837 6843
CHKCD 006074R 5033# 5678*
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 25-2
C11DTE.MAC 04-JAN-83 11:22 CROSS REFERENCE TABLE -- USER SYMBOLS
CHKCHR 016254R 4248* 4250* 4266* 4268* 4911* 4912* 5250* 5254* 5255* 5257* 5262 5266 5394
5426 5428 5432* 5458* 5486 5488 5493* 5494* 5498 5500 5686* 6491* 7380#
7382 7385 7388 7391 7396
CHKCKB 002450R 4260 4264#
CHKCKD 002676R 4224 4306#
CHKCLK 005440R 4908#
CHKCOR 004456R 4620 4624#
CHKCR 006130R 5035# 5614*
CHKCTY 002264R 4207 4211#
CHKDEV 007502R 5033 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046
5047 5048 5049 5050 5052 5077 5078 5079 5080 5081 5084 5087 5088
5133#
CHKDTE 007030R 5052#
CHKEND= 016610R 7450#
CHKERR 015600R 4205 7293#
CHKFLD 011522R 4176* 5148* 5150* 5151 5174 5184 5186* 5209 5249 5583#
CHKFLG 002052R 4141# 4177* 4212* 4264* 4909* 5253* 5379 5399* 6607 6611* 6618 6622* 7299*
7306* 7356*
CHKFLV 011520R 4175* 5139 5243 5291 5292* 5582#
CHKINL 010644R 4256 4951 5407# 5644 5701 6414 6587
CHKINT 011356R 4192 5540# 5545
CHKISZ= 000012 4200 5545#
CHKMAP 003452R 4465 4469#
CHKMMG 003554R 4491 4499#
CHKRP 006614R 5046#
CHKSTK= 016610R 4172 7446#
CHKTIM 005640R 4919* 4924 4942* 4947#
CHK.11 002124R 3318 4167# 7366
CHK.90 007424R 5096#
CI.INE= 000100 915# 4271
CKACD$= 002120R 5033#
CKACD1= ****** U 5033
CKACR$= 002120R 5035#
CKACR1= ****** U 5035
CKADLX= 002120R 4158
CKADL.= 002120R 5079# 5080# 5081#
CKADMC= 002120R 5084#
CKADTE= 002120R 5052#
CKADUP= 002120R 5078#
CKADZ$= 002120R 5088#
CKADZ1= ****** U 5088
CKAKG$= 002120R 5036#
CKAKG1= 002120R 4161 5036
CKAKMC= 002120R 5077# 5087#
CKAKW.= 002120R 5050#
CKAKW1= 002120R 4160 4957
CKALE$= 002120R 5037#
CKALE1= ****** U 5037
CKALP$= 002120R 5038#
CKALP1= ****** U 5038
CKAMEM= 002120R 4159
CKAPP$= 002120R 5039#
CKAPP1= ****** U 5039
CKAPR$= 002120R 5040#
CKAPR1= ****** U 5040
CKARC$= 002120R 5043#
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 25-3
C11DTE.MAC 04-JAN-83 11:22 CROSS REFERENCE TABLE -- USER SYMBOLS
CKARC1= ****** U 5043
CKARF$= 002120R 5044#
CKARF1= ****** U 5044
CKARH$= 002120R 5045#
CKARH1= ****** U 5045
CKARK$= 002120R 5048#
CKARK1= ****** U 5048
CKARP$= 002120R 5046#
CKARP1= ****** U 5046
CKARX$= 002120R 5049#
CKARX1= ****** U 5049
CKATA$= 002120R 5047#
CKATA1= ****** U 5047
CKATC$= 002120R 5041#
CKATC1= ****** U 5041
CKATM$= 002120R 5042#
CKATM1= ****** U 5042
CKBFSH 015324R 5100 7220 7230 7236 7245#
CKBLK = 002202R 7443#
CKBUST 015534R 4218 4223 4916 5156 5182 5607 5648 7275#
CKCADD= 000034 5034#
CKCDEV 006074R 5032# 5034
CKCEND 007424R 5092#
CKCLK9 005642R 4925 4930 4934 4938 4948#
CKCOR 005046R 4717 4728#
CKCPSZ= 002000 4755# 4761 4763
CKCPU 002676R 4306 4312#
CKCPUE 003376R 4384 4387 4390 4393 4396 4399 4402#
CKCPUN 003130R 4367# 4402*
CKCRLF 014554R 5206 7052# 7063 7315
CKDA = 000000 4248* 4266* 4911* 5254* 5394 6491* 7382#
CKDEVN 002054R 4144# 4252* 4913* 5234* 5272* 5273 5389 7020*
CKDIDT 010540R 5379# 7300
CKDLXB 003452R 4412 4419#
CKDL10 005724R 4963#
CKDNAM 002056R 4145# 4251* 4269* 4908* 5136* 5213 5384 6605 6616
CKDN2X= 000043 178# 5016 5017 5020 5023 5075 5076 5083 5086
CKDV = 000002 4250* 4268* 4912* 5255* 5262 5426 5428 5486 5488 6491* 7385#
CKEDID= 000010 3832# 4927 4931 4935 5189 5331 5341 5348 5423 5429 5483 5489 5501
5513 5639 5696 6410 6419 6424 6497 6512 6608 6619 6642 6671 6757
6796 7275 7297 7316
CKEFAT= 000001 3829# 4488 7354
CKEGB = 000100 3836# 4806 4817 5331 5341 5348 5429 5489 5501 6497 6512 6642 6671
6757 7316 7330 7367
CKEMSE= 000020 3833# 4343 4486 4540 4542 4560 4567 4587 4597 4599 4685 4693 4775
4806 4817 4927 4931 4935 5189 5217 5331 5341 5348 5381 5386 5391
5396 5423 5429 5483 5489 5501 5513 5626 5639 5650 5673 5683 5696
6410 6419 6424 6497 6512 6608 6619 6642 6671 6757 6796 6850 7275
7310 7322
CKEMSG= 000004 3831# 4343 4486 4540 4542 4560 4567 4587 4597 4599 4685 4693 4775
4806 4817 4927 4931 4935 5189 5217 5331 5341 5348 5381 5386 5391
5396 5423 5429 5483 5489 5501 5513 5626 5639 5650 5673 5683 5696
6410 6419 6424 6497 6512 6608 6619 6642 6671 6757 6796 6850 7275
7310 7327
CKENCL= 000040 3835# 4685 5217 5386 5391 5396 6796 7313
CKEPC = 000002 3830# 4343 4597 4599 4775 4806 4817 4927 4931 4935 5331 5341 5348
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 25-4
C11DTE.MAC 04-JAN-83 11:22 CROSS REFERENCE TABLE -- USER SYMBOLS
5423 5429 5483 5489 5501 5513 5639 5696 6410 6419 6424 6497 6512
6642 6671 6757 7301
CKFERR= 000001 4142# 7299 7306 7356
CKFIDT= 100000 4143# 4212 4264 4909 5253 5379 5399
CKFLAG 011354R 5459* 5491 5495* 5531#
CKFLG = 000006 5257* 7391#
CKGCHR 015056R 7168# 7192
CKGYES 015152R 7192#
CKHALT 002122R 4157#
CKINT 010762R 5456# 6801 6859
CKINTE 011342R 5484 5490 5504 5514 5521 5524 5526#
CKINTS 002202R 4190# 7443
CKINT1 011002R 5462# 5522
CKINT2 011006R 5463# 5482
CKINT3 011014R 5465# 5525
CKINT6 011250R 5499 5505#
CKINT7 011332R 5467 5523#
CKMDCK 014022R 6632 6657 6725 6749#
CKMDEX 013744R 6636 6661 6720#
CKMDRD 014126R 6597 6601 6638 6663 6723 6751 6773#
CKMDWR 013774R 6600 6615 6737# 6750
CKMDXT 013730R 6612 6707#
CKMG01 016274R 4806 4817 7434#
CKMG02 016305R 5331 5348 7435#
CKMG03 016330R 5341 7436#
CKMG04 016351R 5423 5483 7437#
CKMG05 016402R 5429 5489 7438#
CKMG06 016437R 7439#
CKMG07 016452R 5513 7440#
CKMPAR 005440R 4769 4824#
CKNAME 001366R 3784# 4079 4273
CKNODV= ****** U 5197
CKPI = 000004 5250* 5432* 5458* 5493* 5494* 5498 5500 5686* 6491* 7388#
CKPOPJ 002120R 4156# 5033 5035 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046
5047 5048 5049 5088
CKSPC = 000010 7396#
CKSPCD 016252R 4178* 4806* 4817* 7360 7378#
CKSTD = ****** U 5015 5053
CKTBOC 014600R 5240 7077# 7280 7309 7336 7341 7346 7353
CKTCHR 014666R 4283 4285 4289 7040 7079 7118# 7153 7182
CKTCRL 014566R 4276 4302 4312 4405 4501 4640 4673 4749 4766 4954 5013 5096 7063#
7303 7332 7357
CKTDEC 014762R 4409 4682 7141#
CKTOCT 014614R 4280 4287 4698 4709 5207 5226 5390 5395 7086#
CKTREM 015204R 7136 7205#
CKTRPT 014524R 4213* 4222* 4245* 7027# 7129 7134 7168 7215* 7239*
CKTSTR 014572R 4291 4296 4688 4701 4704 4710 5236 7017 7052 7070# 7122 7318 7337
7342 7347
CKTTXT 014526R 4274 4295 4300 4403 5212 5214 5224 5385 7037# 7070 7325
CKVCD1= ****** U 5033
CKVCR1= ****** U 5035
CKVDL.= ****** U 5079 5080 5081
CKVDMC= ****** U 5084
CKVDTE= ****** U 5052
CKVDUP= ****** U 5078
CKVDZ1= ****** U 5088
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 25-5
C11DTE.MAC 04-JAN-83 11:22 CROSS REFERENCE TABLE -- USER SYMBOLS
CKVEDI= 000004 3786 3791#
CKVKG1= ****** U 5036
CKVKMC= ****** U 5077 5087
CKVKW.= ****** U 5050
CKVLE1= ****** U 5037
CKVLP1= ****** U 5038
CKVMAJ= 000003 3786 3789#
CKVMIN= 000040 3786 3790#
CKVPP1= ****** U 5039
CKVPR1= ****** U 5040
CKVRC1= ****** U 5043
CKVRF1= ****** U 5044
CKVRH1= ****** U 5045
CKVRK1= ****** U 5048
CKVRP1= ****** U 5046
CKVRX1= ****** U 5049
CKVTA1= ****** U 5047
CKVTC1= ****** U 5041
CKVTM1= ****** U 5042
CKVWHN 001430R 3787 3793#
CKVWHO 001442R 3787 3795#
CKWRD 003126R 4316 4320 4366#
CK.BFG 015530R 7224* 7228 7232* 7270#
CK.BFN 015527R 7234 7268#
CK.BUF 015407R 5099 7245 7262 7267# 7271
CK.CAL 002060R 4147# 4171* 5105 7256
CK.DTE 002062R 4148# 4168* 5104 7255
CK.LEN 015404R 7247* 7248 7265#
CK.PTR 015532R 7217 7237* 7271#
CK04 003332R 4355 4383#
CK05 003340R 4328 4386#
CK20 003346R 4331 4389#
CK34 003354R 4363 4392#
CK40 003362R 4330 4395#
CK45 003370R 4364 4398#
CLKENB= 000100 1656#
CLKLVL= 000004 1649#
CLKVEC= 000100 1651# 4912 4917 4918* 4950*
CLKWRD= 177546 1653# 4910 4953*
CLRSR0 000760R 3295* 3560#
CO.INE= 000100 922# 4254 4255
CO..MM= 000004 923# 4254
CR.BSY= 001000 897# 5681
CR.CDN= 000200 899# 5692
CR.CFD= 000001 902# 5689
CR.DAT= 177162 904#
CR.DNE= 040000 892#
CR.EJT= 000002 901# 5680
CR.ERR= 100000 891# 5692
CR.HCK= 020000 893#
CR.INE= 000100 900# 5680 5689 5695 5703
CR.LVL= 000006 885# 5035 5686
CR.MCK= 010000 894#
CR.OLN= 002000 896#
CR.RDY= 000400 898#
CR.STS= 177160 889# 5035
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 25-6
C11DTE.MAC 04-JAN-83 11:22 CROSS REFERENCE TABLE -- USER SYMBOLS
CR.TIM= 004000 895#
CR.VEC= 000230 886# 5035
CR0STS= 177160 888#
CSTAT = 000034 1372# 3192# 3339* 3433* 3558 3566 3585* 3587* 3593* 3629* 3640* 3670* 3690*
6406
CTICHR= 177562 911# 4217 7174 7180
CTILVL= 000004 913#
CTISTS= 177560 910# 4216 4265 7178
CTIVEC= 000060 912# 4268
CTOCHR= 177566 918# 4215 7133*
CTOLVL= 000004 920#
CTOSTS= 177564 917# 4214 4247 7131
CTOVEC= 000064 919# 4250
CVCD$$= 000000 5033#
CVCR$$= 000000 5035#
CVDL.E= 000000 5079# 5080# 5081#
CVDMC$= 000000 5084#
CVDTE2= 000000 5052#
CVDUP$= 000000 5078#
CVDZ$$= 000000 5088#
CVKG$$= 000000 5036#
CVKMC$= 000000 5077# 5087#
CVKW.P= 000000 5050#
CVLE$$= 000000 5037#
CVLP$$= 000000 5038#
CVPP$$= 000000 5039#
CVPR$$= 000000 5040#
CVRC$$= 000000 5043#
CVRF$$= 000000 5044#
CVRH$$= 000000 5045#
CVRK$$= 000000 5048#
CVRP$$= 000000 5046#
CVRX$$= 000000 5049#
CVTA$$= 000000 5047#
CVTC$$= 000000 5041#
CVTM$$= 000000 5042#
DEBUG = 000001 286
DEXDON= 000004 1388#
DEXWD1= 000006 1357# 3176#
DEXWD2= 000004 1356# 3175#
DEXWD3= 000002 1355# 3174# 3558 3566
DGUTS = 000000 274 276
DHBASE= 160020 926#
DHRFER= 020000 949#
DHROVR= 040000 948#
DH.AEE= 100000 956#
DH.BAR= 000012 943#
DH.BCR= 000010 942#
DH.BRK= 000014 944#
DH.CAR= 000006 941#
DH.CL5= 000000 961#
DH.CL6= 000001 962#
DH.CL7= 000002 963#
DH.CL8= 000003 964#
DH.CNX= 000400 931#
DH.DOV= 040000 951#
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 25-7
C11DTE.MAC 04-JAN-83 11:22 CROSS REFERENCE TABLE -- USER SYMBOLS
DH.LPR= 000004 940#
DH.LVL= 000007 927#
DH.NRC= 000002 939#
DH.NXM= 002000 933#
DH.PEN= 000020 959#
DH.RIE= 000100 929#
DH.SIE= 010000 935#
DH.SSR= 000016 945#
DH.TIE= 020000 936#
DH.VDP= 100000 950#
DH..FE= 020000 952#
DH..HD= 040000 957#
DH..MC= 004000 934#
DH..MM= 001000 932#
DH..OP= 000040 958#
DH..PE= 010000 953#
DH..RI= 000200 930#
DH..SI= 040000 937#
DH..TI= 100000 938#
DH.2SB= 000004 960#
DIAG1 = 000030 1369# 3189#
DIAG2 = 000032 1370# 3190# 3339*
DIAG3 = 000036 1393# 3204# 3585*
DLBASE= 100000 973# 977
DLDADR= 175610 999#
DLDSIZ= 000010 1000#
DLPENB= 000040 989#
DLRBUF= 000002 1023#
DLRSTS= 000000 1005#
DLXBUF= 000006 1044#
DLXSTS= 000004 1034#
DLYCNT= 000000 1351# 3170# 3433* 3587* 3629* 3690* 6406
DLYMSK= 037777 1354# 3173#
DL.BAS= 100000 972# 973
DL.BRK= 000001 1037#
DL.B00= 000001 994#
DL.B01= 000002 993#
DL.B04= 000020 990#
DL.CAR= 010000 1017#
DL.CNX= 002000 983#
DL.CPE= 000400 985#
DL.CTS= 020000 1018#
DL.CWC= 000100 987#
DL.DIE= 000040 1012#
DL.DSC= 100000 1020#
DL.DTR= 000002 1009#
DL.ERE= 000010 991#
DL.ERR= 100000 1030#
DL.E.L= 000000 5079 5080 5081
DL.INE= 000004 992#
DL.LVL= 000004 975#
DL.NXM= 004000 982#
DL.OVR= 040000 1029#
DL.PAR= 001000 984#
DL.PEN= 000040 988# 989
DL.RGO= 004000 1016#
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 25-8
C11DTE.MAC 04-JAN-83 11:22 CROSS REFERENCE TABLE -- USER SYMBOLS
DL.RIE= 000100 1013#
DL.RNG= 040000 1019#
DL.ROK= 000200 1014#
DL.RTS= 000004 1010#
DL.STS= 100000 977#
DL.VEC= 000170 974#
DL.WCO= 000200 986#
DL.XIE= 000100 1039#
DL.XOK= 000200 1040#
DL..FE= 020000 1028#
DL..MM= 000004 1038#
DL..PE= 010000 1027#
DL..RC= 000377 1026#
DL..RE= 000001 1008#
DL..XC= 000377 1047#
DL.10C= 010000 981#
DL.10I= 020000 980#
DL.11C= 040000 979#
DL.11I= 100000 978#
DL.2RC= 002000 1015#
DL.2XM= 000010 1011#
DL10AD= 001446R 3819
DMBASE= 170500 1051#
DMC.LV= 000005 1068# 5084
DM.ALI= 000017 1064#
DM.BSY= 000020 1063#
DM.DNE= 000200 1060#
DM.ENB= 000040 1062#
DM.IEN= 000100 1061#
DM.INI= 002000 1057#
DM.LVL= 000007 1053#
DM.SCN= 004000 1056#
DM.STP= 000400 1059#
DM.TIM= 000120 199#
DM..MM= 001000 1058#
DNBASE= 175200 1093#
DN.ACR= 040000 1096#
DN.DGT= 007400 1106#
DN.DLO= 010000 1097#
DN.DNE= 000200 1098#
DN.DSS= 000040 1100#
DN.LVL= 000007 1092#
DN.PND= 000020 1101#
DN.PWI= 100000 1095#
DN..CR= 000001 1105#
DN..DP= 000002 1104#
DN..IE= 000100 1099#
DN..ME= 000004 1103#
DN..MM= 000010 1102#
DON10C= 040000 1374# 3194# 3584
DON11C= 000100 1383# 3201# 3657
DP.CAR= 004000 1129#
DP.CTS= 002000 1130#
DP.DTR= 000001 1138#
DP.LVL= 000007 1110#
DP.MIS= 000020 1135#
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 25-9
C11DTE.MAC 04-JAN-83 11:22 CROSS REFERENCE TABLE -- USER SYMBOLS
DP.MRY= 010000 1128#
DP.RIE= 000100 1117#
DP.RNG= 020000 1127#
DP.ROF= 040000 1126#
DP.RTS= 001000 1131#
DP.SIE= 000040 1134#
DP.TIE= 000100 1133#
DP..CF= 100000 1125#
DP..CP= 010000 1114#
DP..HD= 000002 1120#
DP..IS= 000002 1137#
DP..MM= 000004 1119#
DP..MR= 000010 1118#
DP..MT= 000010 1136#
DP..RA= 004000 1115#
DP..RD= 000200 1116#
DP..SS= 000001 1121#
DP..TD= 000200 1132#
DQ.BCC= 000100 1192#
DQ.CAR= 010000 1179#
DQ.CHR= 007400 1155#
DQ.CIE= 000020 1151# 1163
DQ.CTS= 020000 1180#
DQ.DIE= 000020 1171#
DQ.DSF= 100000 1182#
DQ.DSR= 002000 1177#
DQ.DTR= 001000 1176#
DQ.EIE= 000010 1170#
DQ.ENQ= 002000 1158#
DQ.ETB= 000400 1156#
DQ.ETX= 001000 1157#
DQ.HD = 000010 1150#
DQ.LVL= 000007 1142#
DQ.MBM= 000020 1196#
DQ.MC = 000040 1213#
DQ.MEM= 010000 1195#
DQ.RAC= 010000 1160# 1163
DQ.RCL= 000002 1187#
DQ.RDP= 000200 1154#
DQ.RDS= 000100 1153#
DQ.RGO= 000001 1147# 1163
DQ.RIE= 000040 1152#
DQ.RKL= 110021 1163#
DQ.RLE= 000010 1189#
DQ.RNG= 004000 1178#
DQ.RNX= 000040 1191#
DQ.RTS= 000400 1175#
DQ.SEC= 000004 1149# 1169#
DQ.SSY= 000002 1148#
DQ.SYN= 004000 1159#
DQ.VCH= 100000 1162# 1163
DQ.VRC= 000200 1193#
DQ.XCL= 000001 1186#
DQ.XDP= 000200 1174#
DQ.XDS= 000100 1173#
DQ.XGO= 000001 1167#
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 25-10
C11DTE.MAC 04-JAN-83 11:22 CROSS REFERENCE TABLE -- USER SYMBOLS
DQ.XIE= 000040 1172#
DQ.XLE= 000004 1188#
DQ.XNX= 000020 1190#
DRESET= 000100 1371# 3191# 3339 6427
DS.AD1= 020000 1274#
DS.AD2= 040000 1273#
DS.AD3= 100000 1272#
DS.AUX= 175600 1265#
DS.DTR= 000440 1306# 1308 1309
DS.DVA= 175400 1266# 5264
DS.IVA= 000400 1279#
DS.LVL= 000007 1268#
DS.RDR= 000002 1294#
DS.RGO= 006455 1309#
DS.RST= 000000 1295#
DS.VEC= 000400 1267#
DS.XDR= 000006 1292#
DS.XGO= 000455 1308#
DS.XST= 000004 1293#
DS.ZAP= 170000 1307#
DTEMOP 000000R 3224# 4079 7469
DTERCA 001052R 3371 3412 3460 3639#
DTERCV 001044R 3364 3466 3533 3627#
DTESND 001002R 3351 3477 3583#
DTE2.L= 000000 5052
DUPACT= 004000 1405#
DUPCAR= 010000 1405#
DUPCRS= 000000 1404#
DUPCTS= 020000 1405#
DUPDIE= 000040 1406#
DUPDSA= 100000 1405#
DUPDSB= 000001 1407#
DUPDSR= 001000 1406#
DUPDTR= 000002 1407# 6452
DUPPDM= 100000 1442#
DUPPIC= 001000 1442#
DUPPSR= 000002 1441#
DUPP2M= 010000 1442#
DUPP2S= 000377 1443#
DUPRAB= 002000 1429#
DUPRCE= 000020 1406#
DUPRCR= 010000 1429#
DUPRDB= 000002 1428# 1441
DUPRDN= 000200 1406#
DUPRDT= 000377 1430#
DUPREM= 001000 1429#
DUPRER= 100000 1429#
DUPRIE= 000100 1406# 6452
DUPRNG= 040000 1405#
DUPROV= 040000 1429#
DUPRSM= 000400 1429#
DUPRTS= 000004 1407#
DUPSSY= 000400 1406# 6454
DUPTAC= 001000 1455#
DUPTCS= 000004 1453#
DUPTDB= 000006 1474#
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 25-11
C11DTE.MAC 04-JAN-83 11:22 CROSS REFERENCE TABLE -- USER SYMBOLS
DUPTDL= 100000 1454#
DUPTDN= 000200 1455#
DUPTHD= 000010 1455# 6458
DUPTIE= 000100 1455# 6458
DUPTMC= 020000 1454# 6458
DUPTMI= 002000 1455# 6458
DUPTMT= 040000 1454#
DUPTM0= 004000 1454# 6458
DUPTM1= 010000 1454# 6458
DUPTRS= 000400 1455#
DUPTSN= 000020 1455# 6458
DUPXAB= 002000 1475# 6461
DUPXCI= 040000 1475#
DUPXCO= 010000 1475#
DUPXDB= 000377 1476# 6461
DUPXEM= 001000 1475# 6461
DUPXMT= 004000 1475#
DUPXSM= 000400 1475# 6461
DUP.LV= 000006 1400# 5078
DUP2RC= 002000 1405#
DUP2TX= 000010 1407#
DZ.CLR= 000020 1492#
DZ.INI= 050140 1497#
DZ.LVL= 000000 5088
DZ.RCV= 010000 1503#
DZ.RIE= 000100 1494# 1497 6477
DZ.SAE= 010000 1495# 1497
DZ.SCN= 000040 1493# 1497 6477
DZ.TIE= 040000 1496# 1497 6477
D$$BUG= ****** U 3225 3337 3383 3393 3426 3437 3440 3443 3491 3565 3608 3661 3668
3678
D$$CHK= ****** U 3338 3525 3589 3613 3683
D.CNTF= 000020 5159* 5169*
D.CNTP= 000006 5192 5194*
D.DIAG= 000012 5251
D.FRSV= 000022 5160* 5260 5262*
D.FVFD= 000026 5142 5165* 5235
D.HINC= 000004 5147 5172 5270
D.MAIN= 000014 5267
D.MAXL= 000002 5176 5187
D.NAMP= 000010 5136
D.NEXT= 000030 5295
D.VINC= 000003 5170 5268
D.VMUL= 000005 5140 5162 5241 5289
D.$$$$= 000000 5033 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046
5047 5048 5049 5050 5052 5077 5078 5079 5080 5081 5084 5087 5088
ED.HIS= 000001 3792# 4290
EMTLVL= 000007 808#
EMTVEC= 000030 808#
ENBGO = 000103 1717#
ERR10C= 010000 1376# 3196# 3584
ERR11C= 000001 1391# 1392 3203# 3657
ERR11S= 000002 1390#
EXCLUD= 000000 182# 192 194 195 196 201 202 203 204 205 207 210 212
215 216 217 218 219 220 221 222 223
E$$CHK= 000000 3029# 3338 3372 3525 3529 3605 3660 3667 3675
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 25-12
C11DTE.MAC 04-JAN-83 11:22 CROSS REFERENCE TABLE -- USER SYMBOLS
FLOATD= 160000 3817 4176
FLOATV= 000300 3816 4175
FTCD20= 177777 190# 5602 5603
FTCR11= 177777 191# 5665 5666
FTDH11= 000000 192# 193 198 5715 5716
FTDJ11= 000000 194#
FTDL1A= 000000 196# 5910 5911
FTDL1E= 177777 197# 5923 5924
FTDL10= 000000 195# 4417 4420 4964 5359
FTDMC = 177777 200# 211 6543 6544
FTDM11= 000000 198# 5944 5945
FTDN11= 000000 201# 5992 5993
FTDP11= 000000 202# 6007 6008
FTDQ11= 000000 203# 204 6031 6032
FTDS11= 000000 205# 6343 6344
FTDTE = 177777 206# 6395 6396
FTDUP1= 177777 208# 6449 6450
FTDU11= 000000 207# 6437 6438
FTDZ11= 177777 209# 6473 6474
FTKG11= 000000 210# 3813
FTKMC = 177777 211# 212 6542 6595 6713
FTKMCL= 000000 212# 6572 6623 6680
FTLE11= 177777 213# 6791 6792
FTLP20= 177777 214# 6807 6808
FTMD11= 000000 215# 6869 6870
FTPA61= 000000 216#
FTPP11= 000000 217# 6914 6915
FTPR11= 000000 218# 6930 6931
FTP611= 000000 6888 6889
FTRH11= 000000 219# 6959 6960
FTRK11= 000000 220#
FTRX11= 000000 221#
FTR611= 000000 6901 6902
FTTC11= 000000 222# 6973 6974
FTTM11= 000000 223# 7006 7007
FT.CHK= 000001 293
FT.HLP= 000001 284
FT.ROM= ****** U 4887
FT.87S= ****** U 1646
IDZ0 = 010000 852#
IDZ1 = 020000 852#
IDZ2 = 040000 852#
ILSLVL= 000007 804#
ILSVEC= 000010 804#
INCLUD= 177777 181# 190 191 197 198 200 206 208 209 211 213 214
INTROF= 000010 1386# 1387 6416
INTRON= 000040 1384# 6407
INTSON= 000001 1392# 6408 6417
INT11C= 002000 1379# 3198# 3600
INT11S= 004000 1378# 6413
IOTLVL= 000007 806#
IOTVEC= 000020 806#
IZ00 = 001000 852#
IZ01 = 000400 852#
IZ02 = 000200 853#
IZ03 = 000100 853#
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 25-13
C11DTE.MAC 04-JAN-83 11:22 CROSS REFERENCE TABLE -- USER SYMBOLS
IZ04 = 000040 853#
IZ05 = 000020 853#
IZ06 = 000010 853#
IZ07 = 000004 853#
IZ08 = 000002 853#
IZ09 = 000001 853#
IZ11 = 002000 852#
IZ12 = 004000 852#
I.DSRD= 000007 1299# 1309
I.DSRS= 000006 1300#
I.DSXD= 000007 1301# 1308
I.DSXS= 000006 1302#
I.INTC= 000004 5473 5475 5515 5517
I.INTS= 000002 5465 5477
I.RTRN= 000006 5526
I.$$$$= 000000 6801 6859
KDSAR0= 172360 1624#
KDSAR1= 172362 1624#
KDSAR2= 172364 1624#
KDSAR3= 172366 1624#
KDSAR4= 172370 1624#
KDSAR5= 172372 1624#
KDSAR6= 172374 1624#
KDSAR7= 172376 1624#
KDSDR0= 172320 1624#
KDSDR1= 172322 1624#
KDSDR2= 172324 1624#
KDSDR3= 172326 1624#
KDSDR4= 172330 1624#
KDSDR5= 172332 1624#
KDSDR6= 172334 1624#
KDSDR7= 172336 1624#
KGBCC = 000002 1546# 6494 6496 6509 6511
KGDATA= 000004 1547# 6493* 6508*
KG.CCI= 000005 1544#
KG.CLR= 000020 1539# 1545 6505
KG.CRC= 000001 1542# 1545
KG.DDB= 000010 1540#
KG.DNE= 000200 1536#
KG.INI= 000121 1545#
KG.LRC= 000003 1543#
KG.LVL= 000000 5036
KG.SEN= 000100 1537# 1545
KG.STP= 000040 1538#
KG.STS= 170700 1535# 5036
KISAR0= 172340 1624# 3158# 3257* 4510* 4520 4534 4550 4575
KISAR1= 172342 1624# 3159# 3258* 4512*
KISAR2= 172344 1624# 3160# 3259* 3266* 3271
KISAR3= 172346 1624# 3161#
KISAR4= 172350 1624# 3162#
KISAR5= 172352 1624# 3163#
KISAR6= 172354 1624# 3164# 4520* 4534 4536* 4550* 4575* 4643* 4658* 4659 4664* 4666 4707
4752* 4763* 4764
KISAR7= 172356 1624# 3165# 3260* 4514*
KISDR0= 172300 1624# 3149# 3253* 4511* 4521
KISDR1= 172302 1624# 3150# 3254* 4513*
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 25-14
C11DTE.MAC 04-JAN-83 11:22 CROSS REFERENCE TABLE -- USER SYMBOLS
KISDR2= 172304 1624# 3151# 3255*
KISDR3= 172306 1624# 3152#
KISDR4= 172310 1624# 3153#
KISDR5= 172312 1624# 3154#
KISDR6= 172314 1624# 3155# 4521* 4551* 4576* 4581* 4595* 4600 4602* 4644*
KISDR7= 172316 1624# 3156# 3256* 4515*
KMC.LV= 000000 5077 5087
KW.INE= 000100 1655# 4921 4949 4953
KW.P.L= 000000 5050
KW.TIC= 000200 1657#
LE.DAT= 177516 1672#
LE.DNE= 000200 1668# 6801
LE.ERR= 100000 1667# 6794
LE.INE= 000100 1669# 6800 6801
LE.LVL= 000004 1661# 5037
LE.STS= 177514 1665# 5037
LE.VEC= 000200 1662# 5037
LE0DAT= 177516 1671# 1672
LE0STS= 177514 1664# 1665
LE1DAT= 177522 1677#
LE1STS= 177520 1676#
LODADR 001346R 3405 3418 3423 3465 3490 3563 3741#
LODNUM 001173R 3342* 3392 3397* 3719#
LPBCTR= 000006 1746# 6821* 6855*
LPBSAD= 000004 1744# 6820* 6856* 6857*
LPCBUF= 000014 1762# 6857
LPCCTR= 000015 1763#
LPCKSM= 000017 1766#
LPCSRA= 000000 1688#
LPCSRB= 000002 1719#
LPPCTR= 000010 1750#
LPRAMD= 000012 1754# 6812
LPRBSZ= 000020 1768#
LPTDAT= 000016 1765#
LP.B16= 000020 1690# 1716 6858
LP.B17= 000040 1690# 1716 6858
LP.CHI= 020000 1689#
LP.DEM= 000002 1722#
LP.DH = 002000 1689# 6823
LP.DNE= 000200 1690#
LP.DV = 100000 1720#
LP.ERR= 100000 1689#
LP.GO = 000001 1691# 1717 6858
LP.GOE= 000001 1722#
LP.IE = 000100 1690# 1717 6823 6859
LP.LOI= 000400 1690# 6811 6828 6833 6839 6845
LP.LVL= 000004 1683# 5038
LP.MDS= 000014 1715# 6823
LP.MD0= 000004 1691# 1712 1713 1714 1715
LP.MD1= 000010 1691# 1715
LP.MPE= 000020 1722#
LP.NRD= 020000 1720#
LP.OFL= 000200 1721#
LP.ONL= 004000 1689# 6848
LP.OPT= 004000 1721#
LP.PAR= 010000 1720#
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 25-15
C11DTE.MAC 04-JAN-83 11:22 CROSS REFERENCE TABLE -- USER SYMBOLS
LP.PEN= 000002 1691# 1717 6823
LP.PER= 000040 1722#
LP.PGZ= 040000 1689#
LP.RDL= 002000 1755#
LP.RIN= 004000 1755#
LP.RP = 010000 1755# 1756
LP.RPE= 000010 1722#
LP.RPI= 000400 1755#
LP.RSE= 001000 1690# 6811 6828 6833 6839 6845
LP.RTR= 001000 1755#
LP.SYN= 000004 1722#
LP.TS0= 000400 1721# 6827
LP.TS1= 001000 1721# 6827
LP.TS2= 002000 1721# 6827
LP.VEC= 000754 1684# 5038
LP.VFE= 000100 1721#
LP.VFR= 010000 1689#
LP.XAD= 000060 1716# 6823
LP.180= 040000 1720#
LP0STS= 175400 1686# 5038
L$$DPR= 000000 3032# 3343 3378 3402 3493 3551 3724
MDCSR 002070R 4153# 6552
MDCSRP 002066R 4152# 6550 6553* 6555*
MD.CLR= 040000 1070# 6549 6589 6707
MD.CWR= 020000 1070# 6741
MD.LLU= 004000 1070#
MD.RMI= 001000 1071# 6579 6583
MD.RMO= 002000 1071# 6740 6741 6775
MD.RUN= 100000 1070#
MD.SLU= 010000 1070#
MD.SMP= 000400 1071# 6581 6585
MG.ANR= 100000 1590# 4565
MG.APL= 040000 1590#
MG.ARO= 020000 1590# 4565
MG.DAD= 000020 1592#
MG.EMT= 001000 1591#
MG.ENB= 000001 1592# 4508
MG.IDN= 000200 1591#
MG.KDS= 000004 1617#
MG.MD0= 000040 1591#
MG.MD1= 000100 1591#
MG.MNT= 000400 1591#
MG.PG0= 000002 1592#
MG.PG1= 000004 1592#
MG.PG2= 000010 1592#
MG.SDS= 000002 1617#
MG.TMM= 010000 1590#
MG.UDS= 000001 1617#
MMGLVL= 000007 810#
MMGSR0= 177572 1589# 4470 4473 4508 4516* 4565
MMGSR1= 177574 1612#
MMGSR2= 177576 1614#
MMGSR3= 172516 1616#
MMGVEC= 000250 810# 4504
MOP 000240R 3313 3336# 3350 3361 3465 3476 3541 3544
MOPERR 000726R 3491 3540# 3608 3661 3668 3678
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 25-16
C11DTE.MAC 04-JAN-83 11:22 CROSS REFERENCE TABLE -- USER SYMBOLS
MOPFER 000710R 3383 3393 3426 3437 3440 3443 3530# 3534
MOPFNC 001344R 3376 3403 3414 3483 3739#
MOPWAT 000274R 3355# 3357 3484
MPE11 = 001000 1380#
MP.ENB= 000001 1780#
MP.ERR= 100000 1777#
MP.LVL= 000007 1773#
MP.REG= 172100 1775#
MP.VEC= 000114 1772#
MP.WWP= 000004 1779#
M$$CHK= 000000 3031# 3338 3420 3489 3525 3529
M$$MGE= 000000 186# 3035# 3251 3419 3557 3586 3628 4475 4500 4625 4729
M$$XSZ= 002000 3034# 3266 3287 3312 3729 3749
M.PDAP= 000020 3133#
M.PEAM= 000022 3134#
M.PEMM= 000006 3128#
M.PLBT= 000030 3136#
M.PLDP= 000024 3135# 3379 3403
M.PMDP= 000016 3132#
M.PMLD= 000002 3126# 3382 3414 3483
M.PMLT= 000000 3125#
M.PMMR= 000014 3131#
M.PRMD= 000004 3127#
M.PRML= 000012 3130# 3718
M.PRPR= 000010 3129# 3703
NDH11 = 000000 193# 5708
NLINES= 000060 4151#
NXMLVL= 000007 803#
NXMVEC= 000004 803# 4211* 4218* 4223* 4472* 4648* 4754* 4914* 4916* 5154* 5156* 5182* 5605*
5607* 5648*
N.CD11 001452R 4096# 5033
N.CI11 001464R 4098# 4269
N.CO11 001473R 4099# 4251
N.CR11 001457R 4097# 5035
N.DH11 001503R 4100#
N.DJ11 001510R 4101#
N.DL.A 001522R 4103#
N.DL.E 001531R 4104# 5079 5080 5081
N.DL01 001515R 4102#
N.DMC1 001550R 4106# 5084 6616
N.DM11 001540R 4105#
N.DN11 001556R 4107#
N.DP11 001563R 4108#
N.DQ11 001570R 4109#
N.DS11 001575R 4110#
N.DTE2 001602R 4111# 5052
N.DUP1 001615R 4113# 5078
N.DU11 001610R 4112#
N.DV11 001623R 4114#
N.DZ11 001630R 4115# 5088
N.KG11 001635R 4116# 5036
N.KMC1 001644R 4117# 5077 5087 6605
N.KT11 001652R 4118#
N.KW.L 001657R 4119# 4908
N.KW.P 001666R 4120# 5050
N.LE11 001702R 4122# 5037
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 25-17
C11DTE.MAC 04-JAN-83 11:22 CROSS REFERENCE TABLE -- USER SYMBOLS
N.LK11 001675R 4121#
N.LP11 001707R 4123# 5038
N.MM11 001714R 4124#
N.NL11 001724R 4125#
N.PP11 001760R 4128# 5039
N.PR11 001765R 4129# 5040
N.P611 001740R 4126#
N.RC11 001772R 4130# 5043
N.RF11 001777R 4131# 5044
N.RH11 002011R 4133# 5045
N.RK11 002004R 4132# 5048
N.RP11 002016R 4134# 5046
N.RX11 002025R 4135# 5049
N.R611 001750R 4127#
N.TA11 002032R 4136# 5047
N.TC11 002037R 4137# 5041
N.TM11 002044R 4138# 5042
PAGE0 = 000000 1639# 4522 4552
PAGE0B= 000000 1639#
PAGE1 = 020000 1639#
PAGE1B= 000200 1639# 4512
PAGE2 = 040000 1639#
PAGE2B= 000400 1639#
PAGE3 = 060000 1639#
PAGE3B= 000600 1639#
PAGE4 = 100000 1639#
PAGE4B= 001000 1639#
PAGE5 = 120000 1639#
PAGE5B= 001200 1639#
PAGE6 = 140000 1639# 4523 4553 4577 4651 4760
PAGE6B= 001400 1639#
PAGE7 = 160000 1639#
PAGE7B= 007600 1639# 1640# 4514 4666
PARMAD 001174R 3311* 3312* 3496 3503 3725#
PASS = 000002 295 296#
PASS2 = ****** U 3729 3749
PDP11 = 000042 174# 576 701 4408 4825
PDZ0 = 000001 861#
PDZ1 = 000002 861#
PDZ2 = 000004 861#
PD.A = 000200 1629#
PD.ACF= 000007 1631# 4600 4602
PD.AC0= 000001 1629# 1631 4507 4551 4576 4581 4595 4644
PD.AC1= 000002 1629#
PD.AC2= 000004 1629# 1631
PD.ED = 000010 1629#
PD.PLF= 077400 1630# 4507 4576 4595 4644
PD.PL0= 000400 1628# 1630 4551
PD.PL1= 001000 1628#
PD.PL2= 002000 1628#
PD.PL3= 004000 1628#
PD.PL4= 010000 1628#
PD.PL5= 020000 1628#
PD.PL6= 040000 1628# 1630
PD.W = 000100 1629#
PHYLIM 002064R 4150# 4672* 4764
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 25-18
C11DTE.MAC 04-JAN-83 11:22 CROSS REFERENCE TABLE -- USER SYMBOLS
POSMSK= 000200 822# 823# 824# 852# 853# 861# 869# 870# 1070# 1071# 1405# 1406# 1407#
1429# 1442# 1454# 1455# 1475# 1590# 1591# 1592# 1617# 1628# 1629# 1689# 1690#
1691# 1720# 1721# 1722# 1755#
PP.DAT= 177556 1802#
PP.ERR= 100000 1798#
PP.INE= 000100 1800#
PP.LVL= 000004 1792# 5039
PP.RDY= 000200 1799#
PP.STS= 177554 1796# 5039
PP.VEC= 000074 1793# 5039
PP0STS= 177554 1795#
PRGDAT 001176R 3344* 3405 3495 3552 3726#
PR.BSY= 004000 1808#
PR.DAT= 177552 1813#
PR.DNE= 000200 1809#
PR.ERR= 100000 1807#
PR.INE= 000100 1810#
PR.LVL= 000004 1790# 5040
PR.STS= 177550 1805# 5040
PR.VEC= 000070 1791# 5040
PR..RE= 000001 1811#
PR0 = 000000 782#
PR0STS= 177550 1804#
PR1 = 000040 783# 784 785 786 787 788 789
PR2 = 000100 784#
PR3 = 000140 785#
PR4 = 000200 786#
PR5 = 000240 787#
PR6 = 000300 788#
PR7 = 000340 789# 3143# 3228
PS = 177776 739# 3142# 4167* 4920* 4948* 5258* 5320* 5413* 5420* 5463* 5471* 5505* 5510*
5542 5547 5551 5555 5559 5563 5567 5571 6578* 6810*
PWFLVL= 000007 807#
PWFVEC= 000024 807#
PZ00 = 000040 861#
PZ08 = 000010 861#
PZ09 = 000020 861#
PZ11 = 000100 861#
PZ12 = 000200 861#
P6.LVL= 000007 1784#
RAMDAT= 007777 1756#
RAMLOD= 000014 1714#
RCVLDN 001345R 3389 3740#
RCVMSG 001342R 3361 3532 3737#
RC.LVL= 000000 5043
REQMLD 001170R 3476 3716# 3720
REQMLZ= 000002 3717 3720#
REQOPS 001162R 3350 3701# 3711
REQOPZ= 000004 3702 3711#
RF.LVL= 000000 5044
RG.MSC= 000012 1212#
RG.PRA= 000000 1202#
RG.PRC= 000001 1203#
RG.PTA= 000002 1204#
RG.PTC= 000003 1205#
RG.SRA= 000004 1206#
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 25-19
C11DTE.MAC 04-JAN-83 11:22 CROSS REFERENCE TABLE -- USER SYMBOLS
RG.SRC= 000005 1207#
RG.STA= 000006 1208#
RG.STC= 000007 1209#
RG.SYN= 000011 1211#
RH.LVL= 000000 5045
RK.LVL= 000000 5048
RM = 000010 1387# 6422
RP.LVL= 000000 5046
RX.LVL= 000000 5049
R6.LVL= 000007 1786#
SEL0 = 000000 1085#
SEL2 = 000002 1085#
SEL4 = 000004 1085#
SEL6 = 000006 1085#
SLEW = 000020 1757#
SPCVFY= 000000 204#
SR0 = 177572 3147# 3261* 3564
STACK 001366R 3249 3316 3341 3747#
STKLEN= 000200 291
ST2ENB= 100000 869#
SW = 177570 750#
SWR = 177570 3141#
S$$CLD= ****** U 3001 3002 3468 3706
S..AMC= 000000 300#
S..BDT= 000011 311#
S..CHK= 000012 312#
S..CNK= 000003 304#
S..CTY= 000005 306#
S..DL1= 000002 302# 303
S..DTE= 000002 303#
S..ILS= 000004 305#
S..KW1= 000007 308#
S..MEM= 000006 307# 4806 4817
S..MMG= 000014 314#
S..MPD= 000013 313#
S..NCN= 000010 309#
S..NXM= 000001 301#
TA.LVL= 000000 5047
TC.A16= 000020 1857#
TC.A17= 000040 1856#
TC.BAR= 177346 1869#
TC.CLK= 000100 1832#
TC.CMD= 177342 1840#
TC.DAT= 177350 1871#
TC.DT0= 000020 1834#
TC.DT1= 000010 1835#
TC.DT2= 000004 1836#
TC.D16= 000001 1838#
TC.D17= 000002 1837#
TC.ERR= 100000 1842#
TC.ILO= 010000 1826#
TC.INE= 000100 1855#
TC.LVL= 000006 1819# 5041
TC.MMT= 000040 1833#
TC.MTE= 020000 1825#
TC.NXM= 000400 1830#
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 25-20
C11DTE.MAC 04-JAN-83 11:22 CROSS REFERENCE TABLE -- USER SYMBOLS
TC.PAR= 040000 1824#
TC.RDA= 000006 1861#
TC.RDY= 000200 1854#
TC.REV= 004000 1845#
TC.RMT= 000002 1859#
TC.SAT= 000000 1858#
TC.SST= 000010 1862#
TC.STS= 177340 1821# 5041
TC.UPS= 000200 1831#
TC.US0= 000000 1846#
TC.US1= 000400 1847#
TC.US2= 001000 1848#
TC.US3= 001400 1849#
TC.US4= 002000 1850#
TC.US5= 002400 1851#
TC.US6= 003000 1852#
TC.US7= 003400 1853#
TC.VEC= 000214 1817# 5041
TC.WCR= 177344 1867#
TC.WRA= 000016 1865#
TC.WTM= 000012 1863#
TC..BM= 002000 1828#
TC..DI= 010000 1844#
TC..DM= 001000 1829#
TC..EZ= 100000 1823#
TC..MM= 020000 1843#
TC..RD= 000004 1860#
TC..SE= 004000 1827#
TC..WR= 000014 1864#
TENAD1= 000010 1358# 3177#
TENAD2= 000012 1359# 3178#
TM.A16= 000020 1919#
TM.A17= 000040 1918#
TM.BAR= 172526 1932#
TM.BCR= 172524 1930#
TM.BGL= 004000 1885#
TM.BOT= 000040 1891#
TM.BTE= 000400 1888#
TM.CRE= 020000 1883#
TM.CUR= 000200 1916#
TM.DAT= 172530 1934#
TM.D72= 000000 1901#
TM.D75= 020000 1902#
TM.D78= 040000 1903#
TM.D98= 060000 1904#
TM.EOF= 040000 1882#
TM.EOT= 002000 1886#
TM.ERR= 100000 1900#
TM.INE= 000100 1917#
TM.LVL= 000005 1877# 5042
TM.MTC= 172522 1898#
TM.NXM= 000200 1889#
TM.OFL= 000000 1920#
TM.PAE= 010000 1884#
TM.RDL= 172532 1936#
TM.REW= 000016 1927#
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 25-21
C11DTE.MAC 04-JAN-83 11:22 CROSS REFERENCE TABLE -- USER SYMBOLS
TM.RLE= 001000 1887#
TM.RWS= 000002 1895#
TM.SLR= 000100 1890#
TM.STS= 172520 1879# 5042
TM.TSD= 000010 1893#
TM.TUR= 000001 1896#
TM.US0= 000000 1908#
TM.US1= 000400 1909#
TM.US2= 001000 1910#
TM.US3= 001400 1911#
TM.US4= 002000 1912#
TM.US5= 002400 1913#
TM.US6= 003000 1914#
TM.US7= 003400 1915#
TM.VEC= 000224 1875# 5042
TM.WEF= 000006 1923#
TM.WEG= 000014 1926#
TM.WRL= 000004 1894#
TM..GO= 000001 1928#
TM..IC= 100000 1881#
TM..LP= 004000 1906#
TM..PC= 010000 1905#
TM..RD= 000002 1921#
TM..SF= 000010 1924#
TM..SR= 000012 1925#
TM..US= 003400 1907#
TM..WR= 000004 1922#
TM.7CH= 000020 1892#
TO10AD= 000020 1365# 3184# 3593*
TO10BC= 000014 1360# 3179#
TO10BM= 000001 1394# 3205# 3585
TO10DB= 000400 1381# 3199# 3600
TO10DN= 100000 1373# 3193# 3606
TO10DT= 000024 1367# 3186#
TO10ER= 020000 1375# 3195# 3606
TO11AD= 000022 1366# 3185# 3640*
TO11BC= 000016 1361# 3180# 3670*
TO11BM= 020000 1363# 3182# 3666
TO11CM= 007777 1364# 3183# 3666
TO11DB= 004000 1377# 1378 3197# 3356
TO11DN= 000200 1382# 3200# 3676
TO11DT= 000026 1368# 3187#
TO11ER= 000002 1389# 1390 3202# 3676
TO11IB= 100000 1362# 3181# 3663 3666
TRPLVL= 000007 809#
TRPVEC= 000034 809# 4205*
TSTMOD= 000004 1712#
T$$RLD= 000000 3000# 3001 3003 3033 3226
T$$32K= 000000 3036# 3642 3687
UDSAR0= 177660 1622#
UDSAR1= 177662 1622#
UDSAR2= 177664 1622#
UDSAR3= 177666 1622#
UDSAR4= 177670 1622#
UDSAR5= 177672 1622#
UDSAR6= 177674 1622#
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 25-22
C11DTE.MAC 04-JAN-83 11:22 CROSS REFERENCE TABLE -- USER SYMBOLS
UDSAR7= 177676 1622#
UDSDR0= 177620 1622#
UDSDR1= 177622 1622#
UDSDR2= 177624 1622#
UDSDR3= 177626 1622#
UDSDR4= 177630 1622#
UDSDR5= 177632 1622#
UDSDR6= 177634 1622#
UDSDR7= 177636 1622#
UISAR0= 177640 1622#
UISAR1= 177642 1622#
UISAR2= 177644 1622#
UISAR3= 177646 1622#
UISAR4= 177650 1622#
UISAR5= 177652 1622#
UISAR6= 177654 1622#
UISAR7= 177656 1622#
UISDR0= 177600 1622#
UISDR1= 177602 1622#
UISDR2= 177604 1622#
UISDR3= 177606 1622#
UISDR4= 177610 1622#
UISDR5= 177612 1622#
UISDR6= 177614 1622#
UISDR7= 177616 1622#
VCTLIM 001450R 4081# 4202
VFULOD= 000010 1713#
VRS = 000004 263#
XCD$$ = 011524R 5033#
XCD11 011524R 5033 5604#
XCR$$ = 012040R 5035#
XCR11 012040R 5035 5667#
XDL.E$= 012264R 5079# 5080# 5081#
XDL.E1 012264R 5079 5080 5081 5925#
XDMC$$= 013070R 5084#
XDMC11 013070R 5084 6545#
XDTE2$= 012312R 5052#
XDTE21 012312R 5052 6397#
XDUP$$= 012544R 5078#
XDUP11 012544R 5078 6451#
XDZ$$ = 012600R 5088#
XDZ11 012600R 5088 6475#
XKG$$ = 012622R 5036#
XKG11 012622R 5036 6490#
XKMC$$= 013070R 5077# 5087#
XKMC11 013070R 5077 5087 6546#
XKW.P$= 014460R 5050#
XKW.P1= ****** U 5050
XLE$$ = 014150R 5037#
XLE11 014150R 5037 6793#
XLP$$ = 014216R 5038#
XLP11 014216R 5038 6809#
XNL11 014456R 6879#
XPP$$ = 014460R 5039#
XPP11 = ****** U 5039
XPR$$ = 014460R 5040#
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 25-23
C11DTE.MAC 04-JAN-83 11:22 CROSS REFERENCE TABLE -- USER SYMBOLS
XPR11 = ****** U 5040
XRC$$ = 014460R 5043#
XRC11 = ****** U 5043
XRF$$ = 014460R 5044#
XRF11 = ****** U 5044
XRH$$ = 014460R 5045#
XRH11 = ****** U 5045
XRK$$ = 014460R 5048#
XRK11 = ****** U 5048
XRP$$ = 014460R 5046#
XRP11 = ****** U 5046
XRX$$ = 014460R 5049#
XRX11 = ****** U 5049
XTA$$ = 014460R 5047#
XTA11 = ****** U 5047
XTC$$ = 014460R 5041#
XTC11 = ****** U 5041
XTM$$ = 014460R 5042#
XTM11 = ****** U 5042
X..... 014460R 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 7016#
X118 000732R 3505 3549#
Z = 000121 6493# 6505#
ZTALL = 007777 871#
ZT00 = 001000 870#
ZT01 = 000400 870#
ZT02 = 000200 870#
ZT03 = 000100 870#
ZT04 = 000040 870#
ZT05 = 000020 870#
ZT06 = 000010 870#
ZT07 = 000004 870#
ZT08 = 000002 870#
ZT09 = 000001 870#
ZT11 = 002000 870#
ZT12 = 004000 870#
$MMADR= 172400 1622# 1624#
$$ = 000176 1622# 1624# 6452# 6454
$$HERE= 001300 4079# 4080 4081
. = 016610R 3341 3495 3541 3711 3720 3731# 3738# 3739# 3740# 3741# 3746# 3785# 3820#
4139# 4141# 4144# 4145# 4147# 4148# 4150# 4207 4260 4278# 4293# 4298# 4306
4314# 4345# 4407# 4412 4465 4491 4503# 4612# 4620 4642# 4675# 4690# 4703#
4712# 4717 4751# 4937# 4956# 4959 5029# 5034 5191# 5301# 5303# 5305# 5383#
5388# 5503# 5545 5582# 5583# 5628# 5641# 5652# 5675# 5698# 6426# 6514# 6621#
6759# 6852# 7019# 7054# 7267# 7320# 7339# 7344# 7359# 7382 7383# 7385 7386#
7388 7389# 7391 7394# 7396 7397# 7445# 7446 7450
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 26
C11DTE.MAC 04-JAN-83 11:22 CROSS REFERENCE TABLE -- MACRO NAMES
ABORT 3873# 4488
ASCIZ 723#
CALL 3044# 3351 3364 3371 3412 3460 3466 3477 3533 3652 5100 7220 7230 7236
CHKCHR 3996# 6491
CKSERR 3867# 4805 4816 5428 5488 5500 6496 6511 6641 6670 6756
CKVECT 4042#
CKVEC1 4055#
CK11SC 3844# 4343 4486 4488 4540 4542 4560 4567 4587 4597 4599 4685 4693 4775 4806
4817 4927 4931 4935 5189 5217 5331 5341 5348 5381 5386 5391 5396 5423 5429
5483 5489 5501 5513 5626 5639 5650 5673 5683 5696 6410 6419 6424 6497 6512
6608 6619 6642 6671 6757 6796 6850 7275
COUNT 335#
DEBUG 3055# 3225 3337 3383 3393 3426 3437 3440 3443 3491 3565 3608 3661 3668 3678
DEFVEC 794# 803 804 805 806 807 808 809 810
DEVICE 3924# 5033 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047
5048 5049 5050 5052 5077 5078 5079 5080 5081 5084 5087 5088
DQREGS 1220#
ERR 3066# 3383 3393 3426 3437 3440 3443 3491 3608 3661 3668 3678
EXCH 715#
FALLR 358# 4207 4260 4306 4412 4465 4491 4620 4717 4959
FIELD 433# 769 1630 1631 6452
FIT 3092# 3729 3749
GREATR 378#
KGLOAD 1549# 6493 6505
LDVECT 4065#
LESSER 370#
MMNAM1 1566# 1622 1624
MMNAM2 1571# 1622 1624
NAMASC 405#
NAMEBT 383# 822 823 824 852 853 861 869 870 1070 1071 1405 1406 1407 1429
1442 1454 1455 1475 1590 1591 1592 1617 1628 1629 1689 1690 1691 1720 1721
1722 1755
NAMSTR 4089# 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109
4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124
4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138
RESTOR 352# 6517 6532 7045 7089 7090 7109 7156 7183
RETURN 3048# 3617 3694 7240 7263
SAVE 344# 6490 6522 7037 7077 7086 7087 7102 7141 7170
SPL 703# 4167 4948 5258 5420 5471 5510
STOPCD 320#
$CKINT 3894# 6801 6859
.DEC 366#
.INC 362#
. ABS. 000000 000 CON RW ABS LCL I
016610 001 CON RW ABS LCL D
ERRORS DETECTED: 0
DEFAULT GLOBALS GENERATED: 0
DTEMPT,DTEMPT/CRF=C11DTE
RUN-TIME: 12 17 2 SECONDS
RUN-TIME RATIO: 108/32=3.3
CORE USED: 18K (35 PAGES)
CHK11 - ONCE ONLY SYSTEM DIAGNOSTIC DNMAC X24.07-563 25-JAN-83 09:48 PAGE 26-1
C11DTE.MAC 04-JAN-83 11:22 CROSS REFERENCE TABLE -- MACRO NAMES