Trailing-Edge
-
PDP-10 Archives
-
tops10_tools_bb-fp64b-sb
-
10,7/rsx20f/rsxtol/klinit.l20
There are 3 other files named klinit.l20 in the archive. Click here to see a list.
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21
Table of contents
8- 439 MOSDEF -- DIAGNOSTIC MEMORY BOOT MACRO COMPATABILITY PACKAGE
12- 572 DMBMCP -- DTE-20 OPERATION MACROS
32- 1165 REGISTER SAVE/RESTORE TRANSLATION MACROS
52- 1785 $LDNGO -- LOAD AC BLOCKS AND GO
53- 1842 $ZERAC -- ZERO AC SETS 0 TO 6
54- 1873 $XCDT -- INSTRUCTION EXECUTER
56- 1988 $SETCA -- CONFIGURE CACHE
60- 2220 $MCBLD -- LOAD THE RAMS
63- 2363 RDMCV - READ MICROCODE VERSION/EDIT LEVEL
69- 2755 $FILE -- WRITE THE CONFIGURATION FILE
71- 3029 $FILE -- WRITE BOOTSTRAP RECORD
72- 3068 $FILE -- WRITE END-OF-FILE RECORD
73- 3084 $FILE -- WRITE MEMORY CONTROLLER RECORDS
74- 3119 $FILE -- WRITE CACHE RECORDS
75- 3151 $FILE -- WRITE MICROCODE RECORDS
76- 3177 $FILE -- WRITE PAGE TABLE SELECTION
78- 3245 $CFIMD -- SET UP INTERNAL MEMORY CONFIGURATION TABLES
80- 3558 $CHKIM -- CHECK INTERNAL MEMORY MASK WORD
81- 3687 $CHKMM -- CHECK MOS MEMORY CONFIGURATION
83- 3837 $CONFG -- EDITOR DISPATCH
84- 3873 CFGINT -- INTERNAL MEMORY CONFIGURATION EDITOR
85- 3948 CFGEXT -- EXTERNAL MEMORY CONFIGURATION EDITOR
86- 3989 CFGMOS -- MOS CONFIGURATION EDITOR
87- 4049 $MAPMM -- MAP MOS CONTROLLER BLOCKS
89- 4113 $SWEEP -- SWEEP AND INVALIDATE THE CACHE
91- 4187 $CFXMD -- EXTERNAL MEMORY CONFIGURATION DIALOG
93- 4314 $CLOSE -- CLOSE FILES AND WRITE ATTRIBUTES
98- 4515 $DELETE -- DELETE A FILE
99- 4545 $SETFN -- SET FILE NAME IN FILE NAME BLOCK
101- 4615 $IOERR -- REPORT I/O ERROR
104- 4733 $LOOKUP -- LOOK UP AN EXISTING FILE
106- 4822 $ENTER -- ENTER A NEW FILE
108- 4908 $PURGE -- PURGE FILES CURRENTLY OPEN
110- 4973 $READC -- START READING A RECORD
111- 5001 $READS -- SKIP THE CURRENT RECORD
112- 5025 $READW -- READ A WORD
113- 5058 $READB -- READ A BYTE
114- 5088 $READ -- READ NEXT VIRTUAL BLOCK
116- 5161 $WRITC -- START WRITING A RECORD
117- 5188 $WRITS -- ZERO REMAINDER OF CURRENT BLOCK
118- 5218 $WRITW -- WRITE A WORD
119- 5252 $WRITB -- WRITE A BYTE
120- 5278 $WRITE -- WRITE NEXT VIRTUAL BLOCK
122- 5351 $EXTEND -- EXTEND OUTPUT FILE BY ONE BLOCK
124- 5420 $WCRAM -- WRITE C-RAM WORD
125- 5489 $RCRAM -- READ C-RAM WORD
126- 5588 $ACRAM -- ADDRESS C-RAM WORD
128- 5662 $WDRAM -- WRITE D-RAM WORD
129- 5715 $RDRAM -- READ D-RAM WORD
130- 5771 $ADRAM -- ADDRESS D-RAM WORD
132- 5863 $DPOS -- DEPOSIT KL MEMORY ROUTINE
133- 5900 $EXAM -- EXAMINE KL MEMORY ROUTINE
136- 6021 $DFRD -- DIAGNOSTIC READ FUNCTION
138- 6099 $DFWR -- DIAGNOSTIC WRITE FUNCTION
141- 6199 $DFXC -- DIAGNOSTIC EXECUTE FUNCTION
143- 6275 $GETCA -- SET CACHE CONFIGURATION TABLES
146- 6377 $GETMM -- SET UP MEMORY CONFIGURATION TABLES
KLIGP -- GET PAGE TABLE SELECTI MACRO V05.04 Tuesday 17-May-88 14:21
Table of contents
149- 6508 $GETPA -- GET PAGE TABLE SELECTION
151- 6607 $GETTF -- READ MF20 TIMING FILE DATA
155- 6858 $KLMR -- DO A MASTER RESET ON THE KL
155- 6923 $KLSR -- SOFT RESET FOR RAM LOADERS
157- 7026 $INIT -- PROGRAM INITIALIZATION
158- 7136 $DFPC -- KL PC READ SUBROUTINE 7510.21
161- 7266 $DLGBT -- ASK IF LOADING BOOT IS REQUIRED
162- 7333 $DLWCF -- ASK IF CONFIGURATION FILE IS TO BE WRITTEN
163- 7382 LQBRBF -- SUBROUTINE TO READ SAVED BOOT FLAG
165- 7476 $DLGCA -- ASK IF CACHE IS TO BE CONFIGURED
166- 7510 LQCCM -- ASK WHICH CACHES TO CONFIGURE
168- 7585 $DLGEX -- ASK WHERE TO EXIT
171- 7685 $DLGMM -- ASK WHETHER TO CONFIGURE THE KL MEMORY
173- 7838 $DLGCT -- ASK FOR MEMORY CONTROLLER NUMBER
175- 8007 $DLGRM -- ASK IF RELOAD MICROCODE IS REQUIRED
176- 8193 $DLGEN -- ASK IF ENTERING DIALOG IS REQUIRED
184- 8614 $POWER -- POWER FAILURE RESTART
186- 8702 $WRMRS -- WARM RESTART (FAULT CONTINUATION)
191- 8941 GLOBAL DATA STORAGE
195- 9223 $START -- MAIN PROGRAM FLOW CONTROL
196- 9340 $DTRXX -- DTE20 REGISTER READ/WRITE SUBROUTINES
197- 9381 $RSAVE -- SAVE REGISTERS FOR ROUTINES
198- 9395 $ASCIZ -- TRANSFER ASCII STRING
199- 9416 $TRACK -- SPECIAL TRACK ROUTINE
200- 9570 $TENST -- START KL BOOT
202- 9700 $TRB2F -- TRANSLATE BINARY TO ASCII FILENAME
203- 9739 $TRF2B -- TRANSLATE ASCII FILE-NAME TO BINARY
205- 9811 $TRB2I -- TRANSLATE BINARY WORD TO INTEGER ASCII
206- 9862 $TRI2B -- TRANSLATE ASCII INTEGER TO BINARY WORD
208- 9956 $TRCRM -- TRANSLATE CRAM FILE ENTRY TO ASCII OCTAL
209-10020 $TRDRM -- TRANSLATE DRAM FILE ENTRY TO ASCII OCTAL
210-10096 TROCT -- TRANSLATE OCTAL VALUE TO ASCII DIGITS
212-10154 $TENAD -- DISPLAY KL ADDRESS/16K
214-10236 $WRD22 -- DISPLAY 22 BIT KL WORD
215-10264 $WRD36 -- DISPLAY 36 BIT KL WORD
218-10384 $TRB2O -- TRANSLATE BINARY WORD AS OCTAL ASCII
219-10437 $TRO2B -- TRANSLATE ASCII OCTAL NUMBER TO BINARY WORD
221-10513 $TRR2B -- TRANSLATE ASCII TO RAD50 WORD
222-10559 $TRB2R -- TRANSLATE RAD50 WORD TO ASCII
224-10678 $TTRD -- READ A LINE FROM THE CONSOLE TTY
226-10805 $TTMSG -- WRITE A MESSAGE TO THE CONSOLE TTY
227-10856 $TTWR -- WRITE A LINE TO THE CONSOLE TTY
228-10886 $ECHO -- ECHO CTY OUTPUT TO LP
229-10973 $EXBLD -- LOAD THE BOOT
233-11205 $EXCT -- EXECUTE KL INSTRUCTION
234-11236 $STRKL -- START THE KL PROCESSOR
235-11292 $WTKL -- WAIT FOR KL PROGRAM TO HALT
236-11321 $LDAR -- LOAD THE AR REGISTER
237-11346 STPKL -- HALT THE KL CPU
238-11403 $MBPHS -- PHASE THE KL CLOCKS
239-11455 $BURST -- BURST THE M-BOX CLOCK
RSXFC -- RSX20F PARAMETER FIL MACRO V05.04 Tuesday 17-May-88 14:21 Page 1
1 .TITLE RSXFC -- RSX20F PARAMETER FILE (TOPS-20 SYSTEM DEFINITION)
2 .IDENT /013100/
3 ;
4 ; COPYRIGHT (C) 1977, 1978, 1985 BY
5 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
6 ; ALL RIGHTS RESERVED
7 ;
8 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
9 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
10 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
11 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
12 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
13 ;
14 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
15 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
16 ; CORPORATION.
17 ;
18 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
19 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
20 ;
21 ; VERSION 13-10
22 ;
23 ; ALAN D. PECKHAM 19-APR-77
24 ;
25 ; MODIFIED BY:
26 ;
27 ; R. BELANGER -- ELIMINATE 1090T "ARPA" CONFIGURATTION
28 ; R. BELANGER -- ADD 1091 CONFIGURATION
29 ;
30 ; FUNCTION: THIS MODULE PROVIDES THE PARAMETERS FOR ASSEMBLY OF RSX20F FOR
31 ; THE TOPS-20 SYSTEM.
32 ;
33 ; EQUATED SYMBOLS
34 ;
35 000001 $TOP20 =1 ; DEFINE TOPS-20 OPTION
36
37 000001 $LP20 =1 ; INCLUDE LP20 DRIVER
38 000002 L$$P20 =2 ; INCLUDE 2 LP-20'S
39 000001 $CD11 =1 ; INCLUDE CD11 CARD READER DRIVER
40 000001 $RP04 =1 ; INCLUDE RP04 DISK DRIVER
41 000001 $FE =1 ; INCLUDE FE PSEUDO-DEVICE DRIVER
42 000001 $F11 =1 ; INCLUDE FILES-11 ACP
43 000001 $DH11 =1 ; INCLUDE DH11 DRIVER
44 000010 D$$H11 =8. ; INCLUDE 8 DH-11'S
45 000001 $DBDTE =1 ; INCLUDE DTE20 DEBUGGING CODE
46 000001 $DTE =1 ; INCLUDE DTE20 DTE DRIVER
47 000001 R$$11D =1 ; RSX-11D BASE
48
49 .IF DF $T1091
50 $TOP10 =1 ; DEFINE TOPS-10 BASE FOR 1091
51 .ENDC ; $T1091
52
53 .IF DF $TOP10
54 .IF NDF $T1091
55 $DTA =1 ; INCLUDE DECTAPE DRIVER FOR TOPS-10
56 .IFF
57 $RX11 =1 ; INCLUDE FLOPPY DRIVER FOR TOPS-10/1091
RSXFC -- RSX20F PARAMETER FIL MACRO V05.04 Tuesday 17-May-88 14:21 Page 1-1
58 .ENDC ; $T1091
59 .ENDC ; $TOP10
60
61 .IF DF $TOP20
62 000001 $RX11 =1 ; INCLUDE FLOPPY DRIVER
63 .ENDC ; $TOP20
RSXFC -- RSX20F PARAMETER FIL MACRO V05.04 Tuesday 17-May-88 14:21 Page 2
65
66 .TITLE KLINIT - KL CPU INITIALIZATION PROGRAM
67 .IDENT /016000/
68 .ENABL AMA
69 .LIST MEB
70 .NLIST CND
71
72 ;
73 ; COPYRIGHT (C) 1975, 1984, 1985 BY
74 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
75 ; ALL RIGHTS RESERVED.
76 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
77 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
78 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
79 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
80 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
81 ;
82 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
83 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
84 ; CORPORATION.
85 ;
86 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
87 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
88 ;
89 ; VERSION: 16-00
90 ;
91 ; ALAN D. PECKHAM 29-MAR-77
92 ;
93 ; MODIFIED BY:
94 ;
95 ; A. Puchrik 27-Jan-88 Change version to 16
96 ;
97 ; M. RUDENKO 09-FEB-84 CHANGE VERSION TO 15
98 ; ADD MG20 CONFIGURATION
99 ; ADD MCA25 PAGE TABLE SELECTION
100 ;
101 ; D. WEAVER 02-AUG-83 CHANGE VERSION TO 13
102 ; WARM RESTART CODE
103 ;
104 ; S. LEAPLINE 06-MAR-80 FIX RACE CONDITION IN BOOT
105 ; TCO 4.1.1100
106 ;
107 ; K. LEFEBVRE 25-JAN-80 LOG RAM ERRORS TO ERROR FILE
108 ; TCO 4.1.1073
109 ;
110 ; R. BELANGER 22-OCT-79 ADD CACHE SWEEP ON RELOAD OR BOOT
111 ; TCO 5.1013
112 ;
113 ; K. LEFEBVRE 19-SEP-79 ADD LP SUPPORT FOR TRACK FEATURE
114 ; TCO 5.1005
115 ;
116 ; R. BELANGER 16-JUL-79 ADD ENVIRONMENTAL REPORTING
117 ; TCO 4.2333
118 ;
119 ; R. BELANGER 11-JUL-79 ADD FORCE MEMORY CONFIGURATION OPTION.
120 ; ADD FORCE DBE SCAN ON MF-20 POWERFAIL.
121 ; TCO 4.2322
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 2-1
122 ;
123 ; K. LEFEBVRE 13-MAR-79 ADD EXPANDED CRAM/DRAM ERROR REPORT
124 ; TCO 4.2209
125 ;
126 ; K. LEFEBVRE 01-MAR-79 ADD PERMANENT TRACK FEATURE
127 ; TCO 4.2210
128 ;
129 ; R. BELANGER 01-MAR-79 ADD REVERSE MEMORY CONFIGURATION
130 ; TCO 4.2204
131 ;
132 ; R. BELANGER 06-DEC-78 ADD NEW KEEP-ALIVE-CEASE PROCESSING
133 ; TCO 4.2107
134 ;
135 ; R. BELANGER 16-NOV-78 ADD TOPS-10 SMP FEATURES
136 ; CHANGE VERSION TO 11
137 ;
138 ; R. BELANGER 25-JUL-78 INTEGRATE MOS CONFIGURATOR
139 ; CHANGE VERSION TO 10
140 ;
141 ; R. BELANGER 27-JAN-78 CHANGE VERSION TO 7
142 ; REMOVE "$ARPA" CONDITIONALS
143 ; ADD "$RV" CONDITIONAL
144 ; REMOVE "SXCT" CODE FOR REV. 10 MACHINES
145 ;
146 ; R. BELANGER 10-SEP-77 CHANGE VERSION TO 6
147 ; INCLUDE INTERNAL AND EXTERNAL
148 ; MEMORY CONFIGURATORS
149 ;
150 ; THIS MODULE CONTAINS SYMBOLS AND MACROS USED GENERALLY BY ALL KLINIT
151 ; MODULES.
152 ;
153 ; SET VERSION OF KLINIT HERE
154 ;
155 000016 KLI$$V = 16 ; VERSION 16
156 000000 KLI$$E = 00 ; EDIT 00
157 ;
158 ;
159 000126 KLI$$K = 'V ; KEY FOR RELEASE
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 3
161 ;+
162 ; NOW SET THE SWITCHES WHICH WILL DETERMINE WHAT KLINIT WILL
163 ; INTERFACE TO.
164 ;
165 ; C.ACHE IF DEFINED WILL ALLOW KLINIT TO HANDLE CACHES
166 ;
167 ; F.TRCK IF DEFINED WILL INCLUDE CODING TO ALLOW TRACKING OF FUNCTIONS
168 ; BEING DONE ON THE KL CPU
169 ;
170 ; F.PTCH IF DEFINED WILL INCLUDE A FREE AREA LABELED "PATCH" IN WHICH
171 ; TO INSERT CODING PATCHES DURING PROGRAM DEBUGGING
172 ;
173 ; DEFINITIONS MADE HERE:
174 ;-
175
179
183
185 000102 KLI$$F = 'B ; TOPS20 FORM OF KLINIT.
187
188 000000 C.ACHE = 0 ; SYSTEM HAS CACHE
189
190 000001 F.TRCK = 1 ; [TCO 4.2210] INCLUDE FUNCTION TRACK
191
192 000001 FTKLI = 1 ; [4.1.1073]ASSEMBLE EROOR LOG INTERFACE
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 4
194 ;
195 ; GLOBAL MACROS
196 ;
197 .MCALL $DEF,DIR$
198 000000 $DEF
199
200 ;
201 ; LOCAL MACROS
202 ;
203 ;+
204 ; MACRO TO SET IDENT FOR KLINIT MODULES.
205 ; FORMAT OF CALL IS:
206 ; IDENT$ VERSION,EDIT
207 ; OR
208 ; IDENT$ VERSION,EDIT,KLI$$F
209 ; IF MODULE CODING CHANGES WITH DIFFERENT FORMS
210 ;-
211
212 .MACRO IDENT$ VER,EDT,FRM,XA,XB,XC,NUM
213 .IF B,NUM
214 .IF B,FRM
215 IDENT$ \VER,\EDT,0,,,,0
216 .IFF
217 .IF EQ,<FRM-'A>
218 IDENT$ \VER,\EDT,A,,,,0
219 .IFF
220 .IF EQ,<FRM-'B>
221 IDENT$ \VER,\EDT,B,,,,0
222 .IFF
223 IDENT$ \VER,\EDT,C,,,,0
224 .ENDC
225 .ENDC
226 .ENDC
227 .MEXIT
228 .IFF
229 .IF GE,VER-10
230 .IF GE,EDT-10
231 .LIST
232 .IDENT /'FRM'VER'EDT'0/
233 .NLIST
234 .IFF
235 .LIST
236 .IDENT /'FRM'VER'0'EDT'0/
237 .NLIST
238 .ENDC
239 .IFF
240 .IF GE,EDT-10
241 .LIST
242 .IDENT /'FRM'0'VER'EDT'0/
243 .NLIST
244 .IFF
245 .LIST
246 .IDENT /'FRM'0'VER'0'EDT'0/
247 .NLIST
248 .ENDC
249 .ENDC
250 .ENDC
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 4-1
251 .ENDM IDENT$
252
253 .MACRO CALL X,Y
254 .NTYPE $$,X
255 .IF EQ,$$&70
256 JSR X,Y
257 .IFF
258 JSR PC,X
259 .ENDC
260 .ENDM CALL
261
262 .MACRO CALLR X
263 JMP X
264 .ENDM CALLR
265
266 .MACRO RETURN X
267 .IF NB,<X>
268 RTS X
269 .IFF
270 RTS PC
271 .ENDC
272 .ENDM RETURN
273
274 .MACRO PUSH LOCS
275 .IRP L,<LOCS>
276 MOV L,-(SP)
277 .ENDR
278 .ENDM PUSH
279
280 .MACRO POP LOCS
281 .IRP L,<LOCS>
282 MOV (SP)+,L
283 .ENDR
284 .ENDM POP
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 5
286 ;
287 ; SHIFT MACROS
288 ;
289 .MACRO SL R,N
290 .IF GT,N-7
291 SWAB R
292 .REPT N-10
293 ASL R
294 .ENDR
295 .IFF
296 .REPT N
297 ASL R
298 .ENDR
299 .ENDC
300 .ENDM SL
301
302 .MACRO SR R,N
303 .IF GT,N-7
304 SWAB R
305 .REPT N-10
306 ASR R
307 .ENDR
308 .IFF
309 .REPT N
310 ASR R
311 .ENDR
312 .ENDC
313 .ENDM SR
314
315 .MACRO ERROR$ CODE
316 MOV #^R'CODE,$LGERR
317 SEC
318 RETURN
319 .ENDM ERROR$
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 6
321 ;
322 ; KL INSTRUCTION AND DATA CREATION MACROS
323 ;
324 000005 I.10L = 5 ; KL INSTRUCTIONS TAKE 5 -11 BYTES !!!!
325 000005 W.10L = 5 ; KL WORDS TAKE 5 BYTES ALSO.
326
327 .MACRO I10$ OP,AC,I,AD,XR
328 BY$$0=0
329 BY$$1=0
330 BY$$2=0
331 .IRPC AD1,AD
332 BY$$2=<BY$$2*10&370>+<BY$$1/40&007>
333 BY$$1=<BY$$1*10&370>+<BY$$0/40&007>
334 BY$$0=<BY$$0*10&370>+<AD1>
335 .ENDM
336 BY$$2=<AC+0&1*200>+<I+0&1*100>+<XR+0&17*4>+BY$$2
337 BY$$3=<OP&37*10>+<AC+0/2&7>
338 BY$$4=<OP/40>
339 .BYTE BY$$0,BY$$1,BY$$2
340 .BYTE BY$$3,BY$$4
341 .ENDM I10$
342
343 .MACRO IO10$ OP,DV,I,AD,XR
344 BY$$0=0
345 BY$$1=0
346 BY$$2=0
347 .IRPC AD1,AD
348 BY$$2=<BY$$2*10&370>+<BY$$1/40&007>
349 BY$$1=<BY$$1*10&370>+<BY$$0/40&007>
350 BY$$0=<BY$$0*10&370>+<AD1>
351 .ENDM
352 BY$$2=<OP&1*200>+<I+0&1*100>+<XR+0&17+0*4>+BY$$2
353 BY$$3=<DV&374>+<OP/2&3>
354 BY$$4=16+<DV/400&1>
355 .BYTE BY$$0,BY$$1,BY$$2
356 .BYTE BY$$3,BY$$4
357 .ENDM IO10$
358
359 .MACRO WD22$ AD
360 BY$$0=0
361 BY$$1=0
362 BY$$2=0
363 .IRPC AD1,AD
364 BY$$2=<BY$$2*10&370>+<BY$$1/40&007>
365 BY$$1=<BY$$1*10&370>+<BY$$0/40&007>
366 BY$$0=<BY$$0*10&370>+<AD1>
367 .ENDM
368 .BYTE BY$$0,BY$$1,BY$$2
369 .ENDM WD22$
370
371 .MACRO WD36$ LH,RH
372 BY$$0=0
373 BY$$1=0
374 BY$$2=0
375 BY$$3=0
376 BY$$4=0
377 .IRPC AD1,LH
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 6-1
378 BY$$4=<BY$$4*10&010>+<BY$$3/40&007>
379 BY$$3=<BY$$3*10&370>+<BY$$2/40&007>
380 BY$$2=<BY$$2*10&340>+<AD1*4>
381 .ENDM
382 .IRPC AD1,RH
383 BY$$2=<BY$$2&374>+<BY$$1/40&003>
384 BY$$1=<BY$$1*10&370>+<BY$$0/40&007>
385 BY$$0=<BY$$0*10&370>+<AD1>
386 .ENDM
387 .BYTE BY$$0,BY$$1,BY$$2
388 .BYTE BY$$3,BY$$4
389 .ENDM WD36$
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 7
391 ;
392 ; MESSAGE FORMATING AND PRINT MACROS
393 ;
394 .MACRO MESSAGE MSG
395 .ASCIZ \'MSG'\
396 .ENDM MESSAGE
397
398 .MACRO WARNING MSG
399 .ASCIZ \% 'MSG'\
400 .ENDM WARNING
401
402 .MACRO ERROR MSG
403 .ASCIZ \? 'MSG'\
404 .ENDM ERROR
405
406 .MACRO PRINT ADR
407 .IF NB,<ADR>
408 MOV ADR,R0
409 .ENDC
410 JSR PC,$TTMSG
411 .ENDM PRINT
412
413 ;--- SPECIAL TRACK MACRO
414
415 .MACRO TRACK FN,ADR1,ADR2,?A1
416 .IF DF,F.TRCK
417 JSR R0,A1
418 .WORD "FN
419 .WORD ADR1
420 .WORD ADR2
421 A1: JSR PC,$TRACK
422 MOV (SP)+,R0
423 .ENDC
424 .ENDM TRACK
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 8
426 ;
427 ; EQUATED SYMBOLS
428 ;
429 000006 E.FFIL = 6 ; [4.1.1073]LOGGING EVENT FLAG
430 000200 ED.PHY = 200
431 000001 TTILUN = 1 ; TT: INPUT LOGICAL UNIT
432 000002 TTOLUN = 2 ; TT: OUTPUT LOGICAL UNIT
433 000003 LPOLUN = 3 ; LP: OUTPUT LOGICAL UNIT
434 000004 SYILUN = 4 ; SY: INPUT LOGICAL UNIT
435 000005 SYOLUN = 5 ; SY: OUTPUT LOGICAL UNIT
436 000006 SYFLUN = 6 ; SY: GENERAL FUNCTION LOGICAL UNIT
437 000006 LOGLUN = 6 ; [4.1.1073] SY: ERROR LOGGING LUN
438 000040 CTLS = 40 ; MAXIMUM NUMBER OF CONTROLLERS.
439 .SBTTL MOSDEF -- DIAGNOSTIC MEMORY BOOT MACRO COMPATABILITY PACKAGE
440
441 .IDENT /001020/
442
443 ; COPYRIGHT (C) 1975, 1984, 1985 BY
444 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
445 ; ALL RIGHTS RESERVED.
446 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
447 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
448 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
449 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
450 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
451 ;
452 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
453 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
454 ; CORPORATION.
455 ;
456 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
457 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
458 ;
459 ; VERSION: 01-02
460 ;
461 ; AUTHOR: R. BELANGER
462 ;
463 ; DATE: 11-AUG-78
464 ;
465 ; MODIFICATIONS:
466 ;
467 ; EDIT PROGRAMMER REASON
468 ; ---- ---------- ------
469 ; 001 R. BELANGER FIX BUG IN "PMSG"
470 ; 4.2218 K. LEFEBVRE FIX BUG IN "EXAM"
471
472 .MCALL $DEF
473
474 000000 $DEF
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 9
MOSDEF -- DIAGNOSTIC MEMORY BOOT MACRO COMPATABILITY PACKAGE
476 .MACRO CALL X,Y
477 .NTYPE $$,X
478 .IF EQ,$$&70
479 JSR X,Y
480 .IFF
481 JSR PC,X
482 .ENDC
483 .ENDM CALL
484
485 .MACRO CALLR X
486 JMP X
487 .ENDM CALLR
488
489 .MACRO RETURN X
490 .IF NB,<X>
491 RTS X
492 .IFF
493 RTS PC
494 .ENDC
495 .ENDM RETURN
496
497 .MACRO PUSH LOCS
498 .IRP L,<LOCS>
499 MOV L,-(SP)
500 .ENDR
501 .ENDM PUSH
502
503 .MACRO POP LOCS
504 .IRP L,<LOCS>
505 MOV (SP)+,L
506 .ENDR
507 .ENDM POP
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 10
MOSDEF -- DIAGNOSTIC MEMORY BOOT MACRO COMPATABILITY PACKAGE
509 .MACRO SL REG,NUM
510 .IF GT,NUM-7
511 .IFT
512 SWAB REG
513 .REPT NUM-^D8
514 ASL REG
515 .ENDR
516 .IFF
517 .REPT NUM
518 ASL REG
519 .ENDR
520 .ENDC
521 .ENDM
522
523 .MACRO SR REG,NUM
524 .IF GT,NUM-7
525 .IFT
526 SWAB REG
527 .REPT NUM-^D8
528 ASR REG
529 .ENDR
530 .IFF
531 .REPT NUM
532 ASR REG
533 .ENDR
534 .ENDC
535 .ENDM
536
537 .MACRO EXOR REG,DESTIN,SCRTCH
538 .IF NB,SCRTCH
539 .IFT
540 MOV REG,SCRTCH
541 BIC DESTIN,SCRTCH
542 BIC REG,DESTIN
543 BIS SCRTCH,DESTIN
544 .IFF
545 MOV REG,-(SP)
546 BIC DESTIN,(SP)
547 BIC REG,DESTIN
548 BIS (SP)+,DESTIN
549 .ENDC
550 .ENDM
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 11
MOSDEF -- DIAGNOSTIC MEMORY BOOT MACRO COMPATABILITY PACKAGE
552
553 000000 STPCLK= 000 ; STOP CLOCK
554 000001 STRCLK= 001 ; START CLOCK
555 000002 SSCLK= 002 ; SINGLE STEP THE MBOX CLOCK
556 000003 SECLK= 003 ; SINGLE STEP EBOX CLOCK
557 000004 CECLK= 004 ; CONDITIONAL EBOX CLOCK
558 000006 CLRMR= 006 ; CLEAR MR RESET
559 000007 SETMR= 007 ; SET MR RESET
560 000005 BRCLK= 005 ; BURST THE CLOCK
561 000011 SETRUN= 011 ; SET THE RUN FLOP
562 000012 CONBUT= 012 ; SET THE CONTINUE BUTTON
563 000077 LDAR= 077 ; LOAD THE AR REGISTER
564
565 000002 $SBDIAG=BLKO
566 000004 $$SBDIAG=PI
567 000000 $APRID=BLKI
568 000000 $$APRID=APR
569 000000 $RDERA=BLKI
570 000004 $$RDERA=PI
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 12
DMBMCP -- DTE-20 OPERATION MACROS
572 .SBTTL DMBMCP -- DTE-20 OPERATION MACROS
573
574 ;+
575 ; DFRD -- DIAGNOSTIC FUNCTION READ TRANSLATION MACRO
576 ;
577 ; DFRD TRANSLATES THE DIAGNOSTIC EMT 116 IN TO A CALL TO "$DDFRD"
578 ;
579 ; SEQUENCE OF OPERATION:
580 ;
581 ; 1. R1 IS SAVED ON THE STACK
582 ; 2. R1 IS SET POINTING TO STORAGE
583 ; 3. CALL TO "$DDFRD" IS MADE
584 ;
585 ; ERROR RETURN -- CC-C SET
586 ;
587 ; SUCCESS RETURN -- CC-C CLEAR
588 ;
589 ; R0 -- POINTS TO DEXWDS IN ".DFRBK"
590 ;
591 ; STACK SUMMARY:
592 ;
593 ; STACK IS UNAFFECTED
594 ;
595 ; CALLER'S RESPONSIBILITIES:
596 ;
597 ; NONE
598 ;
599 ;-
600
601 .MACRO DFRD FUNC,ADDR
602 .IF NB,FUNC
603 MOV #FUNC,R0 ; ** FUNCTION READ CODE TO R0
604 .ENDC ; .IF NB,FUNC
605 MOV R1,-(SP) ; ** SAVE R1
606 .IF NB,ADDR
607 MOV #ADDR,R1 ; ** BUFFER POINTER TO R1
608 .IFF
609 CLR R1 ; ** NO DATA BUFFER
610 .IFTF
611 JSR PC,$DDFRD ; ** EXECUTE THE FUNCTION READ
612 MOV (SP)+,R1 ; ** RESTORE R1
613 .ENDC ; .IF NB,ADDR
614 .ENDM ; DFRD
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 13
DMBMCP -- DTE-20 OPERATION MACROS
616 ;+
617 ; DFRDT -- DIAGNOSTIC FUNCTION READ (TRAILING) TRANSLATION MACRO
618 ;
619 ; DFRDT TRANSLATES THE DIAGNOSTIC EMT 140 INTO A "DFRD" MACRO (Q.V.)
620 ;-
621
622 .MACRO DFRDT FUNC,ADDR
623 .IF NB,FUNC
624 MOV #FUNC,R0 ; ** FUNCTION READ CODE TO R0
625 .ENDC ; .IF NB,FUNC
626 MOV R1,-(SP) ; ** SAVE R1
627 .IF NB,ADDR
628 MOV #ADDR,R1 ; ** BUFFER POINTER TO R1
629 .IFF
630 CLR R1 ; ** NO DATA BUFFER
631 .IFTF
632 JSR PC,$DDFRD ; ** EXECUTE THE FUNCTION READ
633 MOV (SP)+,R1 ; ** RESTORE R1
634 .ENDC ; .IF NB,ADDR
635 .ENDM ; DFRDT
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 14
DMBMCP -- DTE-20 OPERATION MACROS
637 ;+
638 ; DFWRT -- DIAGNOSTIC FUNCTION WRITE TRANSTATION MACRO
639 ;
640 ; DFWRT TRANSLATES A DIAGNOSTIC EMT 141 IN TO A CALL TO "$DDFWR"
641 ;
642 ; SEQUENCE OF OPERATION:
643 ;
644 ; 1. DATA POINTER IS LOADED INTO R1
645 ; 2. FUNCTION CODE IS LOADED INTO R0
646 ; 3. CALL IS MADE TO "$DFWR"
647 ;
648 ; ERROR RETURN -- CC-C SET
649 ;
650 ; SUCCESS RETURN -- CC-C CLEAR
651 ;
652 ; R0, R1 -- UNCHANGED
653 ;
654 ; STACK SUMMARY:
655 ;
656 ; STACK IS UNAFFECTED
657 ;
658 ; CALLER'S REPONSIBILITIES:
659 ;
660 ; NONE
661 ;-
662
663 .MACRO DFWRT ADDR,FUNC
664 .IF NB,FUNC
665 MOV #FUNC,R0 ; ** FUNCTION WRITE CODE TO R0
666 .ENDC ; .IF NB,FUNC
667 .IF NB,ADDR
668 MOV R1,-(SP) ; ** SAVE R1
669 MOV #ADDR,R1 ; ** BUFFER POINTER TO R1
670 .IFTF
671 JSR PC,$DDFWR ; ** EXECUTE THE FUNCTION WRITE
672 .IFT
673 MOV (SP)+,R1 ; ** RESTORE R1
674 .ENDC ; .IF NB,ADDR
675 .ENDM ; DFWRT
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 15
DMBMCP -- DTE-20 OPERATION MACROS
677 ;+
678 ; DFWRTT -- DIAGNOSIC FUNCTION WRITE (TRAILING) TRANSLATION MACRO
679 ;
680 ; DFWRT TRANSLATES A DIAGNOSTIC EMT 140 INTO A CALL TO "$DDFWR"
681 ;
682 ; SEQUENCE OF OPERATION:
683 ;
684 ; 1. DATA POINTER IS LOADED INTO R1
685 ; 2. FUNCTION CODE IS LOADED INTO R0
686 ; 3. CALL IS MADE TO "$DDFWR"
687 ;
688 ; ERROR RETURN -- CC-C SET
689 ;
690 ; SUCCESS RETURN -- CC-C CLEAR
691 ;
692 ; R0, R1 -- UNCHANGED
693 ;
694 ; STACK SUMMARY:
695 ;
696 ; STACK IS UNAFFECTED
697 ;
698 ; CALLER'S REPONSIBILITIES:
699 ;
700 ; NONE
701 ;-
702
703 .MACRO DFWRTT ADDR,FUNC
704 .IF NB,FUNC
705 MOV #FUNC,R0 ; ** FUNCTION WRITE CODE TO R0
706 .ENDC ; .IF NB,FUNC
707 .IF NB,ADDR
708 MOV R1,-(SP) ; ** SAVE R1
709 MOV #ADDR,R1 ; ** BUFFER POINTER TO R1
710 .IFTF
711 JSR PC,$DDFWR ; ** EXECUTE THE FUNCTION WRITE
712 .IFT
713 MOV (SP)+,R1 ; ** RESTORE R1
714 .ENDC ; .IF NB,ADDR
715 .ENDM ; DFWRTT
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 16
DMBMCP -- DTE-20 OPERATION MACROS
717 ;+
718 ; DFXCT -- DIAGNOSTIC FUNCTION EXECUTE MACRO
719 ;
720 ; DFXCT TRANSLATES A DIAGNOSTIC EMT 114 IN TO A CALL TO "$DDFXC"
721 ;
722 ; SEQUENCE OF OPERATION:
723 ;
724 ; 1. FUNCTION CODE IS LOADED INTO R0
725 ; 2. CALL IS MADE TO "$DDFXC"
726 ;
727 ; ERROR RETURN -- CC-C SET
728 ;
729 ; SUCCESS RETURN -- CC-C CLEAR
730 ;
731 ; R0, R1 -- UNCHANGED
732 ;
733 ; STACK SUMMARY:
734 ;
735 ; STACK IS UNAFFECTED
736 ;
737 ; CALLER'S REPONSIBILITIES:
738 ;
739 ; NONE
740 ;-
741
742 .MACRO DFXCT FUNC
743 .IF NB,FUNC
744 MOV #FUNC,R0 ; ** FUNCTION CODE TO R0
745 .ENDC ; .IF NB,FUNC
746 JSR PC,$DDFXC ; ** EXECUTE THE FUNCTION EXECUTE
747 .ENDM ; DFXCT
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 17
DMBMCP -- DTE-20 OPERATION MACROS
749 ;+
750 ; DFXCTT -- DIAGNOSIC FUNCTION EXECUTE (TRAILING) TRANSLATION MACRO
751 ;
752 ; DFXCTT TRANSLATES A DIAGNOSTIC EMT 115 INTO A CALL TO "$DDFXC"
753 ;
754 ; SEQUENCE OF OPERATION:
755 ;
756 ; 1. FUNCTION CODE IS LOADED INTO R0
757 ; 2. CALL IS MADE TO "$DDFXC"
758 ;
759 ; ERROR RETURN -- CC-C SET
760 ;
761 ; SUCCESS RETURN -- CC-C CLEAR
762 ;
763 ; R0, R1 -- UNCHANGED
764 ;
765 ; STACK SUMMARY:
766 ;
767 ; STACK IS UNAFFECTED
768 ;
769 ; CALLER'S REPONSIBILITIES:
770 ;
771 ; NONE
772 ;-
773
774 .MACRO DFXCTT FUNC
775 .IF NB,FUNC
776 MOV #FUNC,R0 ; ** FUNCTION CODE TO R0
777 .ENDC ; .IF NB,FUNC
778 JSR PC,$DDFXC ; ** EXECUTE THE FUNCTION EXECUTE
779 .ENDM ; DFXCTT
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 18
DMBMCP -- DTE-20 OPERATION MACROS
781 ;+
782 ; DPOS -- DIAGNOSTIC KL10 DEPOSIT MACRO
783 ;
784 ; DPOS TRANSLATES THE DIAGNOSTIC EMT 105 INTO A CALL TO "$DPOS"
785 ;
786 ; SEQUENCE OF OPERATION:
787 ;
788 ; 1. DATA POINTER IS LOADED INTO R0
789 ; 2. KL10 ADDRESS POINTER IS LOADED INTO R1
790 ; 3. THE CALL TO "$DPOS" IS EXECUTED
791 ;
792 ; ERROR RETURN -- CC-C IS SET
793 ;
794 ; SUCCESS RETURN - CC-C IS CLEAR
795 ;
796 ; R0 AND R1 ARE UNCHANGED
797 ;
798 ; STACK SUMMARY:
799 ;
800 ; STACK IS UNAFFECTED
801 ;
802 ; CALLER'S RESPONSIBILITIES:
803 ;
804 ; NONE
805 ;-
806
807 .MACRO DPOS ADDR,DATA
808 .IF NB,DATA
809 MOV #DATA,R0 ; ** DATA POINTER TO R0
810 .ENDC ; .IF NB,DATA
811 .IF NB, ADDR
812 MOV R1,-(SP) ; ** SAVE R1
813 MOV #ADDR,R1 ; ** ADDRESS POINTER TO R1
814 .IFTF
815 JSR PC,$DPOS ; ** EXECUTE THE DEPOSIT
816 .IFT
817 MOV (SP)+,R1 ; ** RESTORE R1
818 .ENDC ; .IF NB,ADDR
819 .ENDM ; DPOS
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 19
DMBMCP -- DTE-20 OPERATION MACROS
821 ;+
822 ; DPOST -- DIAGNOSTIC KL10 DEPOSIT (TRAILING) MACRO
823 ;
824 ; DPOST TRANSLATES THE DIAGNOSTIC EMT 106 INTO A CALL TO "$DPOST"
825 ;
826 ; SEQUENCE OF OPERATION:
827 ;
828 ; 1. DATA POINTER IS LOADED INTO R0
829 ; 2. KL10 ADDRESS POINTER IS LOADED INTO R1
830 ; 3. THE CALL TO "$DPOS" IS EXECUTED
831 ;
832 ; ERROR RETURN -- CC-C IS SET
833 ;
834 ; SUCESS RETURN - CC-C IS CLEAR
835 ;
836 ; R0 AND R1 ARE UNCHANGED
837 ;
838 ; STACK SUMMARY:
839 ;
840 ; STACK IS UNAFFECTED
841 ;
842 ; CALLERS RESPONSIBILITIES:
843 ;
844 ; NONE
845 ;-
846
847 .MACRO DPOST ADDR,DATA
848 .IF NB, ADDR
849 MOV #ADDR,R0 ; ** ADDRESS TO R0
850 .ENDC ; .IF NB,ADDR
851 .IF NB,DATA
852 MOV R1,-(SP) ; ** SAVE R1
853 MOV #DATA,R1 ; ** DATA POINTER TO R1
854 .IFTF
855 JSR PC,$DPOST ; ** EXECUTE THE DEPOSIT
856 .IFT
857 MOV (SP)+,R1 ; ** RESTORE R1
858 .ENDC ; .IF NB,DATA
859 .ENDM ; DPOST
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 20
DMBMCP -- DTE-20 OPERATION MACROS
861 ;+
862 ; EXAM -- DIAGNOSTIC KL10 EXAMINE TRANSLATION MACRO
863 ;
864 ; EXAM TRANSLATES A DIAGNOSTIC EMT 103 INTO A CALL TO "$EXAM"
865 ;
866 ; SEQUENCE OF OPERATION
867 ;
868 ; 1. R0 POINTS TO THE KL10 ADDRESS
869 ; 2. THE CALL TO "$EXAM" IS EXECUTED
870 ; 3. R0 POINTS TO RETURNED DATA BUFFER
871 ;
872 ; ERROR RETURN -- CC-C IS SET
873 ;
874 ; SUCCESS RETURN -- CC-C CLEAR
875 ;
876 ;
877 ; STACK SUMMARY:
878 ;
879 ; STACK IS UNAFFECTED
880 ;
881 ; CALLER'S RESPONSIBILITIES:
882 ;
883 ; NONE
884 ;-
885
886 .MACRO EXAM ADDR,DATA
887 .IF NB,ADDR
888 MOV #ADDR,R0 ; ** ADDRESS POINTER TO R0
889 .ENDC ; .IF NB,ADDR
890 .IF NB,DATA
891 MOV R1,-(SP) ; ** SAVE R1
892 MOV #DATA,R1 ; ** DATA BUFFER POINTER TO R1
893 .IFF
894 MOV R1,-(SP) ; [4.2218] SAVE R1
895 MOV #.WORK,R1 ; [4.2218] WORK SPACE
896 .IFTF
897 JSR PC,$EXAMD ; ** EXECUTE THE KL10 EXAMINE
898 .IFT
899 MOV (SP)+,R1 ; ** RESTORE R1
900 .IFF
901 MOV #.WORK,R0 ; [4.2218] PTR TO 36 BIT DATA
902 MOV (SP)+,R1 ; [4.2218] RESTORE R1
903 .ENDC ; .IF NB,DATA
904 .ENDM ; EXAM
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 21
DMBMCP -- DTE-20 OPERATION MACROS
906 ;+
907 ; EXAMT -- DIAGNOSTIC KL10 EXAMINE (TRAILING) TRANSLATION MACRO
908 ;
909 ; EXAMT TRANSLATES A DIAGNOSTIC EMT 104 INTO A CALL TO "$EXAM"
910 ;
911 ; SEQUENCE OF OPERATION
912 ;
913 ; 1. R1 POINTS TO THE RETURNED DATA BUFFER
914 ; 2. R0 POINTS TO THE KL10 ADDRESS
915 ; 3. THE CALL TO "$EXAM" IS EXECUTED
916 ;
917 ; ERROR RETURN -- CC-C IS SET
918 ;
919 ; SUCCESS RETURN -- CC-C CLEAR
920 ;
921 ; R1 IS MOVED TO R0 TO MAINTAIN COMPATABILITY
922 ;
923 ; STACK SUMMARY:
924 ;
925 ; STACK IS UNAFFECTED
926 ;
927 ; CALLER'S RESPONSIBILITIES:
928 ;
929 ; NONE
930 ;-
931
932 .MACRO EXAMT ADDR,DATA
933 .IF NB,ADDR
934 MOV #ADDR,R0 ; ** ADDRESS POINTER TO R0
935 .ENDC ; .IF NB,ADDR
936 .IF NB,DATA
937 MOV R1,-(SP) ; ** SAVE R1
938 MOV #DATA,R1 ; ** DATA BUFFER POINTER TO R1
939 .IFTF
940 JSR PC,$EXAMT ; ** EXECUTE THE KL10 EXAMINE
941 .IFT
942 MOV (SP)+,R1 ; ** RESTORE R1
943 .ENDC ; .IF NB,DATA
944 .ENDM ; EXAMT
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 22
DMBMCP -- DTE-20 OPERATION MACROS
946 ;+
947 ; DFSCLK -- DAGNOSTIC SINGLE STEP CLOCK TRANSLATION MACRO
948 ;
949 ; DFSCLK TRANSALTES A DIAGNOSTIC EMT 122 INTO A "DFXCT SSCLK"
950 ;
951 ; SEE "DFXCT" FOR DETAILS
952 ;-
953
954 .MACRO DFSCLK
955 DFXCT SSCLK
956 .ENDM ; DFSCLK
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 23
DMBMCP -- DTE-20 OPERATION MACROS
958 ;+
959 ; DFPC -- DIAGNOSTIC PC READ TRANSLATION MACRO
960 ;
961 ; DFPC RETURNS THE KL10 PC IN A TRIPLET POINTED TO BY R0
962 ;-
963
964 .MACRO DFPC ADDR
965 .IF NB,ADDR
966 MOV #ADDR,R0 ; ** BUFFER POINTER TO R0
967 .ENDC ; .IF NB,ADDR
968 JSR PC,$DFPC ; ** READ THE KL10 PC
969 .ENDM ; DFPC
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 24
DMBMCP -- DTE-20 OPERATION MACROS
971 ;+
972 ; BURST -- BURST MBOX CLOCK TRANSLATION MACRO
973 ;
974 ; BURST TRANSLATES A DIAGNOSTIC EMT 131 INTO A CALL TO "$BURST"
975 ;
976 ; SEQUENCE OF OPERATION:
977 ;
978 ; 1. THE MBOX CLOCK BURST COUNT IS LOADED INTO R0
979 ; 2. THE CALL TO "$BURST" IS MADE
980 ;
981 ; ERROR RETURN -- CC-C SET
982 ;
983 ; SUCCESS RETURN -- CC-C CLEAR
984 ;
985 ; STACK SUMMARY:
986 ;
987 ; STACK IS UNAFFECTED
988 ;
989 ; CALLER'S RESPONSIBILITIES:
990 ;
991 ; NONE
992 ;-
993
994 .MACRO BURST ARG
995 .IF NB,ARG
996 MOV #ARG,R0 ; ** BURST COUNT TO R0
997 .ENDC ; .IF NB,ARG
998 JSR PC,$BURST ; ** BURST THE MBOX CLOCK
999 .ENDM ; BURST
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 25
DMBMCP -- DTE-20 OPERATION MACROS
1001 ;+
1002 ; DTEBAS -- RETURN DTE-20 BASE ADDRESS TRANSLATION MACRO
1003 ;
1004 ; DTEBAS RETURNS THE THE BASE ADDRESS OF THE PRIVILEGED DTE-20 FROM
1005 ; ".PRDTE" IN THE REGISTER SPECIFIED
1006 ;-
1007
1008 .MACRO DTEBAS REG
1009 .IF NB,REG
1010 MOV .PRDTE,REG ; ** DTE-20 BASE ADDRESS TO REG
1011 .IFF
1012 MOV .PRDTE,R0 ; ** DTE-20 BASE ADDRESS TO R0
1013 .ENDC ; .IF NB,REG
1014 .ENDM ; DTEBAS
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 26
DMBMCP -- DTE-20 OPERATION MACROS
1016 ;+
1017 ; LODAR -- DIAGNOSTIC KL10 AR LOAD TRANSLATION MACRO
1018 ;
1019 ; LODAR TRANSLATES A DIAGNOSTIC EMT 102 INTO A CALL TO "$LDAR"
1020 ;
1021 ; SEQUENCE OF OPERATION:
1022 ;
1023 ; 1. R0 POINTS TO THE DATA TO BE LOADED INTO THE KL10 AR REGISTER
1024 ; 2. THE CALL TO "$LDAR" IS MADE
1025 ;
1026 ; ERROR RETURN -- CC-C SET
1027 ;
1028 ; SUCCESS RETURN -- CC-C CLEAR
1029 ;
1030 ; STACK SUMMARY:
1031 ;
1032 ; STACK IS UNAFFECTED
1033 ;
1034 ; CALLER'S RESPONSIBILITIES:
1035 ;
1036 ; NONE
1037 ;-
1038
1039 .MACRO LODAR DATA
1040 .IF NB,DATA
1041 MOV #DATA,R0 ; ** DATA POINTER TO R0
1042 .ENDC ; .IF NB,DATA
1043 JSR PC,$LDAR ; ** LOAD THE KL10 AR REGISTER
1044 .ENDM ; LODAR
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 28
DMBMCP -- DTE-20 OPERATION MACROS
1047 ;+
1048 ; EXCT -- DIAGNOSTIC KL10 INSTRUCTION EXECUTE TRANSLATION MACRO
1049 ;
1050 ; EXCT TRANSLATES A DIAGNOSTIC EMT 101 INTO A CALL TO "$EXCT"
1051 ;
1052 ; SEQUENCE OF OPERATION:
1053 ;
1054 ; 1. POINTER TO KL10 INSTRUCTION IS LOADED INTO R0
1055 ; 2. CALL TO "$EXCT" IS MADE
1056 ;
1057 ; ERROR RETURN -- CC-C SET
1058 ;
1059 ; SUCCESS RETURN -- CC-C CLEAR
1060 ;
1061 ; STACK SUMMARY:
1062 ;
1063 ; STACK IS UNAFFECTED
1064 ;
1065 ; CALLER'S RESPONSIBILITIES:
1066 ;
1067 ; NONE
1068 ;-
1069
1070 .MACRO EXCT INST
1071 .IF NB,INST
1072 MOV #INST,R0 ; ** KL10 INSTRUCTION POINTER TO R0
1073 .ENDC ; .IF NB,INST
1074 JSR PC,$EXCT ; ** EXECUTE IT
1075 .ENDM ; $EXCT
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 29
DMBMCP -- DTE-20 OPERATION MACROS
1077 ;+
1078 ; SM -- DIAGNOSTIC START MICROCODE TRANSLATION MACRO
1079 ;
1080 ; SM TRANSLATES A DIAGNOSTIC EMT 100 INTO A "MASTER RESET/ START CLOCK" SEQUENCE
1081 ;
1082 ; SEQUENCE:
1083 ;
1084 ; 1. A KL10 MASTER RESET SEQUENCE IS EXECUTED
1085 ; 2. THE KL10 CLOCK IS STARTED
1086 ;
1087 ; ERROR RETURN -- CC-C SET
1088 ;
1089 ; SUCCESS RETURN -- CC-C CLEAR
1090 ;
1091 ; STACK SUMMARY:
1092 ;
1093 ; STACK IS UNAFFECTED
1094 ;
1095 ; CALLER'S RESPONSIBILITIES:
1096 ;
1097 ; NONE
1098 ;-
1099
1100 .MACRO SM
1101 JSR PC,$KLMR ; ** MASTER RESET THE KL10
1102 MOV #STRCLK,R0 ; ** START CLOCK FUNCTION CODE TO R0
1103 JSR PC,$DDFXC ; ** START THE KL10 CLOCK
1104 .ENDM ; SM
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 30
DMBMCP -- DTE-20 OPERATION MACROS
1106 ;+
1107 ; WWADR -- DIAGNOSTIC CRAM ADDRESS LOAD TRANSLATION MACRO
1108 ;
1109 ; WWADR TRANSLATES A DIAGNOSTIC EMT 075 INTO A CALL TO "$ACRAM"
1110 ;
1111 ; SEQUENCE OF OPERATION
1112 ;
1113 ; 1. CRAM ADDRESS IS LOADED INTO R0
1114 ; 2. CALL TO "$ACRAM" IS MADE
1115 ;
1116 ; ERROR RETURN -- CC-C SET
1117 ;
1118 ; SUCCESS RETURN -- CC-C CLEAR
1119 ;
1120 ; STACK SUMMARY:
1121 ;
1122 ; STACK IS UNAFFECTED
1123 ;
1124 ; CALLER'S RESPONSIBILITIES:
1125 ;
1126 ; NONE:
1127 ;-
1128
1129 .MACRO WWADR ADDR
1130 .IF NB,ADDR
1131 MOV #ADDR,R0 ; ** CRAM ADDRESS TO R0
1132 .ENDC ; .IF NB,ADDR
1133 MOV R0,-(SP) ; ** SAVE R0
1134 JSR PC,$KLMR ; ** RESET THE KL10
1135 MOV (SP)+,R0 ; ** RESTORE R0
1136 JSR PC,$ACRAM ; ** LOAD THE CRAM ADDRESS REGISTER
1137 .ENDM ; WWADR
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 31
DMBMCP -- DTE-20 OPERATION MACROS
1139 ;+
1140 ; MRESET -- DIAGNOSTIC KL10 MASTER RESET TRANSLATION MACRO
1141 ;
1142 ; MRESET TRANSLATES A DIAGNOSTIC EMT 076 INTO A CALL TO "$KLMR"
1143 ;
1144 ; SEQUENCE OF OPERATION:
1145 ;
1146 ; 1. THE CALL TO "$KLMR" IS EXECUTED
1147 ;
1148 ; ERROR RETURN -- CC-C SET
1149 ;
1150 ; SUCCESS RETURN -- CC-C CLEAR
1151 ;
1152 ; STACK SUMMARY:
1153 ;
1154 ; STACK IS UNAFFECTED
1155 ;
1156 ; CALLER'S RESPONSIBILITIES:
1157 ;
1158 ; NONE
1159 ;-
1160
1161 .MACRO MRESET
1162 JSR PC,$KLMR ; ** MASTER RESET THE KL10
1163 .ENDM ; MRESET
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 32
REGISTER SAVE/RESTORE TRANSLATION MACROS
1165 .SBTTL REGISTER SAVE/RESTORE TRANSLATION MACROS
1166
1167 ;+
1168 ; REGSAV -- R1 - R5 SAVE TRANSLATION MACRO
1169 ; REGRST -- R1 - R5 RESTORE TRANSLATION MACRO
1170 ;
1171 ; SEQUENCE OF OPERATION:
1172 ;
1173 ; 1. REGSAV -- R1 - R5 ARE SAVED ON THE STACK
1174 ; 2. REGRST -- R1 - R5 ARE RESTORED FROM THE STACK
1175 ;
1176 ; ALWAYS RETURNS SUCCESS
1177 ;
1178 ; STACK SUMMARY:
1179 ;
1180 ; SP+00 ==> SAVED R1
1181 ; SP+02 ==> SAVED R2
1182 ; SP+04 ==> SAVED R3
1183 ; SP+06 ==> SAVED R4
1184 ; SP+10 ==> SAVED R5
1185 ; SP+12 ==> SUBROUTINE RETURN PC
1186 ;
1187 ; CALLER'S RESPONSIBILITIES
1188 ;
1189 ; CALLS TO THESE ROUTINES MUST BE PARALLEL AND SYMMETRIC
1190 ; A ROUTINE WHICH CALLS REGSAV UPON ENTRY MAY RESTORE R0 - R5 AND EXIT
1191 ; TO ITS CALLER VIA A SIMPLE "RTS PC"
1192 ;-
1193
1194 .MACRO REGSAV
1195 JSR PC,SAV.5 ; ** SAVE R1 - R5 ON THE STACK
1196 .ENDM ; REGSAV
1197
1198 .MACRO REGRST
1199 JSR PC,RST.5 ; ** RESTORE R1 - R5 AND RETURN
1200 .ENDM ; REGRST
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 33
REGISTER SAVE/RESTORE TRANSLATION MACROS
1202 ;+
1203 ; VARIOUS PRINT MACROS
1204 ;
1205 ; PFORCE -- NOOP
1206 ; PNORML -- NOOP
1207 ; PNTBAK -- NOOP
1208 ;
1209 ; CHARACTERISTICS:
1210 ;
1211 ; OBVIOUS
1212 ;-
1213
1214 .MACRO PFORCE
1215 .ENDM ; PFORCE
1216
1217 .MACRO PNORML
1218 .ENDM ; PNORML
1219
1220 .MACRO PNTBAK
1221 .ENDM ; PNTBAK
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 34
REGISTER SAVE/RESTORE TRANSLATION MACROS
1223 ;+
1224 ; PNT36 -- 36-BIT KL10 WORD PRINT TRANSLATION MACRO
1225 ;
1226 ; PNT36 TRANSLATES A DIAGNOSTIC EMT 042 INTO A CALL TO "$WDD36"
1227 ;
1228 ; SEQUENCE OF OPERATION:
1229 ;
1230 ; 1. THE POINTER TO THE 36-BIT DATA IS LOADED INTO R0
1231 ; 2. THE CALL TO "$WDD36" IS MADE
1232 ;
1233 ; ALWAYS RETURNS SUCCESS
1234 ;
1235 ; STACK SUMMARY:
1236 ;
1237 ; STACK IS UNAFFECTED
1238 ;
1239 ; CALLER'S RESPONSIBILITIES:
1240 ;
1241 ; NONE
1242 ;-
1243
1244 .MACRO PNT36 ADDR
1245 .IF NB,ADDR
1246 MOV #ADDR,R0 ; ** ADDRESS OF 36-BIT KL10 NUMBER TO R0
1247 .ENDC ; .IF NB,ADDR
1248 JSR PC,$WDD36 ; ** CALL TO PRINT ROUTINE
1249 .ENDM ; PNT36
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 35
REGISTER SAVE/RESTORE TRANSLATION MACROS
1251 ;+
1252 ; PNTADR -- 22-BIT KL10 ADDRESS PRINT TRANSLATION MACRO
1253 ;
1254 ; PNTADR TRANSLATES A DIAGNOSTIC EMT 042 INTO A CALL TO "$WDD22"
1255 ;
1256 ; SEQUENCE OF OPERATION:
1257 ;
1258 ; 1. THE POINTER TO THE 22-BIT DATA IS LOADED INTO R0
1259 ; 2. THE CALL TO "$WDD22" IS MADE
1260 ;
1261 ; ALWAYS RETURNS SUCCESS
1262 ;
1263 ; STACK SUMMARY:
1264 ;
1265 ; STACK IS UNAFFECTED
1266 ;
1267 ; CALLER'S RESPONSIBILITIES:
1268 ;
1269 ; NONE
1270 ;-
1271
1272 .MACRO PNTADR ADDR
1273 .IF NB,ADDR
1274 MOV #ADDR,R0 ; ** ADDRESS OF 22-BIT KL10 ADDRESS TO R0
1275 .ENDC ; .IF NB,ADDR
1276 JSR PC,$WDD22 ; ** CALL TO PRINT ROUTINE
1277 .ENDM ; PNTADR
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 36
REGISTER SAVE/RESTORE TRANSLATION MACROS
1279 ;+
1280 ; PNTNBR -- NUMERIC PRINT TRANSLATION MACRO
1281 ;
1282 ; PNTNBR TRANSLATES A DIAGNOSTIC PRINT EMT INTO A CALL TO "$TDB2O"
1283 ;
1284 ; SEQUENCE OF OPERATION:
1285 ;
1286 ; "$TDB2O" IS CALLED
1287 ;
1288 ; ALWAYS RETURNS SUCCESS
1289 ;
1290 ; STACK SUMMARY:
1291 ;
1292 ; STACK IS UNAFFECTED
1293 ;
1294 ; CALLER'S RESPONSIBILITIES:
1295 ;
1296 ; NONE
1297 ;-
1298
1299 .MACRO PNTNBR
1300 MOV R0,-(SP) ; ** SAVE R0
1301 BIC #^C777,R0 ; ** MASK OFF UNWANTED BITS
1302 JSR PC,$TDB2O ; ** PRINT THE NUMBER
1303 MOV (SP)+,R0 ; ** RESTORE R0
1304 .ENDM ; PNTNBR
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 37
REGISTER SAVE/RESTORE TRANSLATION MACROS
1306 ;+
1307 ; PNT36B -- 36-BIT KL10 WORD PRINT TRANSLATION MACRO
1308 ;
1309 ; PNT36B TRANSLATES A DIAGNOSTIC EMT 134 INTO A CALL TO "$WDD36"
1310 ;
1311 ; SEQUENCE OF OPERATION:
1312 ;
1313 ; 1. THE POINTER TO THE 36-BIT DATA IS LOADED INTO R0
1314 ; 2. THE CALL TO "$WDD36" IS MADE
1315 ;
1316 ; ALWAYS RETURNS SUCCESS
1317 ;
1318 ; STACK SUMMARY:
1319 ;
1320 ; STACK IS UNAFFECTED
1321 ;
1322 ; CALLER'S RESPONSIBILITIES:
1323 ;
1324 ; NONE
1325 ;-
1326
1327 .MACRO PNT36B ADDR
1328 .IF NB,ADDR
1329 MOV #ADDR,R0 ; ** ADDRESS OF 36-BIT KL10 NUMBER TO R0
1330 .ENDC ; .IF NB,ADDR
1331 JSR PC,$WDD36 ; ** CALL TO PRINT ROUTINE
1332 .ENDM ; PNT36B
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 38
REGISTER SAVE/RESTORE TRANSLATION MACROS
1334 ;+ PNTOCT -- PRINT OCTAL NUMBER TRANSLATION MACRO
1335 ;
1336 ; PNTOCT TRANSLATES A DIAGNOSTIC EMT 035 INTO A CALL TO "$TDB2O"
1337 ;
1338 ; SEQUENCE OF OPERATION
1339 ;
1340 ; 1. THE NUMBER TO BE PRINTED IS LOADED INTO R0
1341 ; 2. THE CALL IS MADE TO "$TDB2O"
1342 ;
1343 ; ALWAYS RETURNS SUCCESS
1344 ;
1345 ; STACK SUMMARY:
1346 ;
1347 ; STACK IS UNAFFECTED
1348 ;
1349 ; CALLER'S RESPONSIBILITIES:
1350 ;
1351 ; NONE
1352 ;-
1353
1354 .MACRO PNTOCT NUMB
1355 .IF NB,NUMB
1356 .NTYPE $$T$$,NUMB
1357 .IF EQ,$$T$$&70
1358 MOV NUMB,R0 ; ** GET THE NUMBER INTO R0
1359 .IFF
1360 MOV #NUMB,R0 ; ** GET THE NUMBER INTO R0
1361 .ENDC ; .IF EQ,$$T$$&70
1362 .ENDC ; .IF NB,NUMB
1363 JSR PC,$TDB2O ; ** PRINT THE NUMBER
1364 .ENDM ; PNTOCT
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 39
REGISTER SAVE/RESTORE TRANSLATION MACROS
1366 ;+ PNTOCS -- PRINT OCTAL NUMBER TRANSLATION MACRO
1367 ;
1368 ; PNTOCS TRANSLATES A DIAGNOSTIC EMT 036 INTO A CALL TO "$TDB2O"
1369 ;
1370 ; SEQUENCE OF OPERATION
1371 ;
1372 ; 1. THE NUMBER TO BE PRINTED IS LOADED INTO R0
1373 ; 2. THE CALL IS MADE TO "$TDB2O"
1374 ;
1375 ; ALWAYS RETURNS SUCCESS
1376 ;
1377 ; STACK SUMMARY:
1378 ;
1379 ; STACK IS UNAFFECTED
1380 ;
1381 ; CALLER'S RESPONSIBILITIES:
1382 ;
1383 ; NONE
1384 ;-
1385
1386 .MACRO PNTOCS NUMB
1387 .IF NB,NUMB
1388 .NTYPE $$T$$,NUMB
1389 .IF EQ,$$T$$&70
1390 MOV NUMB,R0 ; ** GET THE NUMBER INTO R0
1391 .IFF
1392 MOV #NUMB,R0 ; ** GET THE NUMBER INTO R0
1393 .ENDC ; .IF EQ,$$T$$&70
1394 .ENDC ; .IF NB,NUMB
1395 JSR PC,$TDB2O ; ** PRINT THE NUMBER
1396 .ENDM ; PNTOCS
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 40
REGISTER SAVE/RESTORE TRANSLATION MACROS
1398 ;+ PNTDEC -- PRINT DECIMAL NUMBER TRANSLATION MACRO
1399 ;
1400 ; PNTDEC TRANSLATES A DIAGNOSTIC EMT 037 INTO A CALL TO "$TDB2I"
1401 ;
1402 ; SEQUENCE OF OPERATION
1403 ;
1404 ; 1. THE NUMBER TO BE PRINTED IS LOADED INTO R0
1405 ; 2. THE CALL IS MADE TO "$TDB2I"
1406 ;
1407 ; ALWAYS RETURNS SUCCESS
1408 ;
1409 ; STACK SUMMARY:
1410 ;
1411 ; STACK IS UNAFFECTED
1412 ;
1413 ; CALLER'S RESPONSIBILITIES:
1414 ;
1415 ; NONE
1416 ;-
1417
1418 .MACRO PNTDEC NUMB
1419 .IF NB,NUMB
1420 .NTYPE $$T$$,NUMB
1421 .IF EQ,$$T$$&70
1422 MOV NUMB,R0 ; ** GET THE NUMBER INTO R0
1423 .IFF
1424 MOV #NUMB,R0 ; ** GET THE NUMBER INTO R0
1425 .ENDC ; .IF EQ,$$T$$&70
1426 .ENDC ; .IF NB,NUMB
1427 JSR PC,$TDB2I ; ** PRINT THE NUMBER
1428 .ENDM ; PNTDEC
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 41
REGISTER SAVE/RESTORE TRANSLATION MACROS
1430 ;+
1431 ; PNTODT -- FORMATTED OCTAL PRINT TRANSLATION MACRO
1432 ;
1433 ; PNTODT TRANSLATES A DIAGNOSTIC EMT 047 INTO A CALL TO "$TDB2O"
1434 ;
1435 ; SEQUENCE OF OPERATION:
1436 ;
1437 ; 1. THE NUMBER IN R0 IS MASKED TO THE PROPER WIDTH
1438 ; 2. THE CALL TO "$TDB2O" IS MADE
1439 ;
1440 ; ALWAYS RETURNS SUCCESS
1441 ;
1442 ; STACK SUMMARY:
1443 ;
1444 ; STACK IS UNAFFECTED
1445 ;
1446 ; CALLER'S RESPONSIBILITIES:
1447 ;
1448 ; NONE
1449 ;-
1450
1451 .MACRO PNTODT ARG
1452 .IF NB,ARG
1453 MOV R0,-(SP) ; ** SAVE R0
1454 .IF EQ,ARG-1
1455 BIC #^C7,R0 ; ** MASK OUT UNWANTED BITS
1456 .ENDC ; .IF EQ, ARG-1
1457 .IF EQ,ARG-2
1458 BIC #^C77,R0 ; ** MASK OUT UNWANTED BITS
1459 .ENDC ; .IF EQ, ARG-2
1460 .IF EQ,ARG-3
1461 BIC #^C777,R0 ; ** MASK OUT UNWANTED BITS
1462 .ENDC ; .IF EQ, ARG-3
1463 .IF EQ,ARG-4
1464 BIC #^C7777,R0 ; ** MASK OUT UNWANTED BITS
1465 .ENDC ; .IF EQ, ARG-4
1466 .IF EQ,ARG-5
1467 BIC #^C77777,R0 ; ** MASK OUT UNWANTED BITS
1468 .ENDC ; .IF EQ, ARG-5
1469 .IFTF
1470 JSR PC,$TDB2O ; ** PRINT THE NUMBER
1471 .IFT
1472 MOV (SP)+,R0 ; ** RESTORE R0
1473 .ENDC ;.IF NB,ARG
1474 .ENDM ; PNTODT
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 42
REGISTER SAVE/RESTORE TRANSLATION MACROS
1476 ;+
1477 ; PMSG -- DIAGNOSTIC PRINT TRANSLATION MACRO
1478 ;
1479 ; PMSG TRANSLATES A DIAGNOSTIC PRINT CALL INTO A CALL TO "$TTDMS"
1480 ;
1481 ; SEQUENCE OF OPERATION:
1482 ;
1483 ; 1. A POINTER TO THE MESSAGE IS LOADED INTO R0
1484 ; 2. THE CALL TO "$TTDMS" IS MADE
1485 ;
1486 ; ALWAYS RETURNS SUCCESS
1487 ;
1488 ; STACK SUMMARY:
1489 ;
1490 ; STACK IS UNAFFECTED
1491 ;
1492 ; CALLER'S RESPONSIBILITIES
1493 ;
1494 ; NONE
1495 ;-
1496
1497 .MACRO PMSG MSG,?L1,?L2
1498 MOV #L1,R0 ; ** MESSAGE POINTER TO R0
1499 JSR PC,$TTDMS ; ** OUTPUT THE MESSAGE
1500 BR L2 ; ** BRANCH AROUND TEXT
1501 ;
1502 L1: .ASCIZ %MSG%
1503 .EVEN
1504 L2:
1505 .ENDM ; PMSG
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 43
REGISTER SAVE/RESTORE TRANSLATION MACROS
1507 ;+
1508 ; PNTAL -- DIAGNOSTIC PRINT ASCII LINE TRANSLATION MACRO
1509 ;
1510 ; PNTAL TRANSLATES A DIAGNOSTIC PRINT CALL INTO A CALL TO "$TTDMS"
1511 ;
1512 ; SEQUENCE OF OPERATION:
1513 ;
1514 ; 1. A POINTER TO THE MESSAGE IS LOADED INTO R0
1515 ; 2. THE CALL TO "$TTDMS" IS MADE
1516 ;
1517 ; ALWAYS RETURNS SUCCESS
1518 ;
1519 ; STACK SUMMARY:
1520 ;
1521 ; STACK IS UNAFFECTED
1522 ;
1523 ; CALLER'S RESPONSIBILITIES
1524 ;
1525 ; NONE
1526 ;-
1527
1528 .MACRO PNTAL
1529 JSR PC,$TTDMS ; ** OUTPUT THE MESSAGE
1530 .ENDM ; PNTAL
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 44
REGISTER SAVE/RESTORE TRANSLATION MACROS
1532 ;+
1533 ; $PMSG -- DIAGNOSTIC PRINT TRANSLATION MACRO
1534 ;
1535 ; $PMSG TRANSLATES A DIAGNOSTIC PRINT EMT INTO A CALL TO "$TTDMS"
1536 ;
1537 ; SEQUENCE OF OPERATION
1538 ;
1539 ; 1. MESSAGE POINTER IS LOADED INTO R0
1540 ; 2. CALL IS MADE TO "$TTDMS"
1541 ;
1542 ; ALWAYS RETURNS SUCCESS
1543 ;
1544 ; STACK SUMMARY:
1545 ;
1546 ; STACK IS UNAFFECTED
1547 ;-
1548
1549 .MACRO $PMSG ARG
1550 .IF NB,ARG
1551 MOV #ARG,R0 ; ** TEXT POINTER TO R0
1552 .ENDC ; .IF NB,ARG
1553 JSR PC,$TTDMS ; ** OUTPUT THE MESSAGE
1554 .ENDM ; $PMSG
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 45
REGISTER SAVE/RESTORE TRANSLATION MACROS
1556 ;+
1557 ; PSPACE ET. AL. -- VARIOUS PRINT MACROS
1558 ;
1559 ; PSPACE PRINTS A <SPACE>
1560 ; PTAB PRINTS A <TAB>
1561 ; PSLASH PRINTS A <SLASH>
1562 ; PBELL PRINTS A <BELL>
1563 ; PCRLF PRINTS A <CR><LF>
1564 ;
1565 ; SEQUENCE OF OPERATION:
1566 ;
1567 ; THE APPROPRIATE CALL IS MADE
1568 ;
1569 ; ALWAYS RETURNS SUCCESS
1570 ;
1571 ; STACK SUMMARY:
1572 ;
1573 ; STACK IS UNAFFECTED
1574 ;
1575 ; CALLER'S RESPONSIBILITIES:
1576 ;
1577 ; NONE
1578 ;-
1579
1580 .MACRO PSPACE
1581 JSR PC,$TTSPC ; ** PRINT A <SPACE>
1582 .ENDM ; PSPACE
1583
1584 .MACRO PSLASH
1585 JSR PC,$TTSLS ; ** PRINT A <SLASH>
1586 .ENDM ; PSLASH
1587
1588 .MACRO PBELL
1589 JSR PC,$TTBEL ; ** PRINT A <BELL>
1590 .ENDM ; PBELL
1591
1592 .MACRO PTAB
1593 JSR PC,$TTTAB ; ** PRINT A <TAB>
1594 .ENDM ; PTAB
1595
1596 .MACRO PCRLF
1597 JSR PC,$TCRLF ; ** PRINT A <CR><LF>
1598 .ENDM ; PCRLF
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 46
REGISTER SAVE/RESTORE TRANSLATION MACROS
1600 ;+
1601 ; TTIOCT -- DIAGNOSTIC OCTAL INPUT TRANSLATION MACRO
1602 ;
1603 ; TTIOCT TRANSLATES A DIAGNOSTIC OCTAL INPUT EMT INTO A CALL TO "$TDO2B"
1604 ;
1605 ; SEQUENCE OF OPERATION:
1606 ;
1607 ; THE CALL TO "$TDO2B" IS EXECUTED
1608 ;
1609 ; SUCCESS RETURN -- CC-C CLEAR
1610 ;
1611 ; ERROR RETURN -- CC-C SET
1612 ;
1613 ; NUMBER IN R0 IN EITHER CASE
1614 ;
1615 ; STACK SUMMARY:
1616 ;
1617 ; STACK IS UNAFFECTED
1618 ;
1619 ; CALLER'S RESPONSIBILITIES:
1620 ;
1621 ; NONE
1622 ;-
1623
1624 .MACRO TTIOCT
1625 JSR PC,$TDO2B ; ** READ OCTAL NUMBER
1626 .ENDM ; TTIOCT
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 47
REGISTER SAVE/RESTORE TRANSLATION MACROS
1628 ;+
1629 ; TTIDEC -- DIAGNOSTIC DECIMAL INPUT TRANSLATION MACRO
1630 ;
1631 ; TTIDEC TRANSLATES A DIAGNOSTIC DECIMAL INPUT EMT INTO A CALL TO "$TDI2B"
1632 ;
1633 ; SEQUENCE OF OPERATION:
1634 ;
1635 ; THE CALL TO "$TDI2B" IS EXECUTED
1636 ;
1637 ; SUCCESS RETURN -- CC-C CLEAR
1638 ;
1639 ; ERROR RETURN -- CC-C SET
1640 ;
1641 ; NUMBER IN R0 IN EITHER CASE
1642 ;
1643 ; STACK SUMMARY:
1644 ;
1645 ; STACK IS UNAFFECTED
1646 ;
1647 ; CALLER'S RESPONSIBILITIES:
1648 ;
1649 ; NONE
1650 ;-
1651
1652 .MACRO TTIDEC
1653 JSR PC,$TDI2B ; ** READ DECIMAL NUMBER
1654 .ENDM ; TTIDEC
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 48
REGISTER SAVE/RESTORE TRANSLATION MACROS
1656 ;+
1657 ; TTILIN -- DIAGNOSTIC TERMINAL INPUT TRANSLATION MACRO
1658 ;
1659 ; TTILIN TRANSLATES A DIAGNOSTIC TERMINAL INPUT EMT INTO A CALL TO "$TTRD"
1660 ;
1661 ; SEQUENCE OF OPERATION:
1662 ;
1663 ; THE CALL TO "$TTRD" IS EXECUTED
1664 ;
1665 ; SUCCESS RETURN -- INPUT STRING IN ".TTIBF"
1666 ;
1667 ; ESCAPES THROUGH "$ERROR" ON ERROR
1668 ;
1669 ; STACK SUMMARY:
1670 ;
1671 ; STACK IS UNAFFECTED
1672 ;
1673 ; CALLER'S RESPONSIBILITIES:
1674 ;
1675 ; NONE
1676 ;-
1677
1678 .MACRO TTILIN
1679 JSR PC,$TTRD ; ** READ TERMINAL INPUT
1680 .ENDM ; TTILIN
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 49
REGISTER SAVE/RESTORE TRANSLATION MACROS
1682 ;+
1683 ; TTILNW -- DIAGNOSTIC TERMINAL INPUT TRANSLATION MACRO
1684 ;
1685 ; TTILNW TRANSLATES A DIAGNOSTIC TERMINAL INPUT EMT INTO A CALL TO "$TTRD"
1686 ;
1687 ; SEQUENCE OF OPERATION:
1688 ;
1689 ; THE CALL TO "$TTRD" IS EXECUTED
1690 ;
1691 ; SUCCESS RETURN -- INPUT STRING IN ".TTIBF"
1692 ;
1693 ; ESCAPES THROUGH "$ERROR" ON ERROR
1694 ;
1695 ; STACK SUMMARY:
1696 ;
1697 ; STACK IS UNAFFECTED
1698 ;
1699 ; CALLER'S RESPONSIBILITIES:
1700 ;
1701 ; NONE
1702 ;-
1703
1704 .MACRO TTILNW
1705 JSR PC,$TTRD ; ** READ TERMINAL INPUT
1706 .ENDM ; TTILNW
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 50
REGISTER SAVE/RESTORE TRANSLATION MACROS
1708 ;+
1709 ; FATAL -- MEMORY BOOT ERROR CALL TRANSLATION MACRO
1710 ;
1711 ; FATAL EXECUTES A CALL TO "$FATAL" WHERE THE MEMORY BOOT IS ABORTED
1712 ; AFTER THE ERROR CODE IS PRINTED
1713 ;
1714 ; SEQUENCE OF OPERATION:
1715 ;
1716 ; THE CALL TO "$FATAL" IS EXECUTED
1717 ;
1718 ; NEVER RETURNS (GUARANTEED ESCAPE)
1719 ;
1720 ; STACK SUMMARY:
1721 ;
1722 ; POINTER TO ERROR TEXT IS ON TOP OF THE STACK
1723 ;
1724 ; CALLER'S RESPONSIBILITIES:
1725 ;
1726 ; NONE
1727 ;-
1728
1729 .MACRO FATAL TXT
1730 .IF NB, <TXT>
1731 ER$'TXT==.
1732 JSR PC,$FATAL ; ** FATAL "TXT" ERROR
1733 .ASCIZ %TXT%
1734 .EVEN
1735 .IFF
1736 .ERROR ; ** UNDEFINED ERROR TRAP!!
1737 .ENDC ; .IF NB, <TXT>
1738 .ENDM ; FATAL
KLINIT - KL CPU INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 51
REGISTER SAVE/RESTORE TRANSLATION MACROS
1740
1741
1742 .TITLE KLIAC -- AC PROGRAM CONTROL
1743 000000 IDENT$ 5,3 ; ADP02
.IDENT /005030/
1744
1745 ;
1746 ; COPYRIGHT (C) 1977, 1984 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
1747 ;
1748 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
1749 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
1750 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
1751 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
1752 ;
1753 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
1754 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
1755 ; EQUIPMENT CORPORATION.
1756 ;
1757 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
1758 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
1759 ;
1760 ; VERSION 05-03 ; ADP02
1761 ;
1762 ; ALAN D. PECKHAM 29-MAR-77
1763 ;
1764 ; MODIFIED BY:
1765 ;
1766 ; R. BELANGER 24-AUG-78 CLEAR ALL EIGHT (0 - 7) AC BLOCKS.
1767 ;
1768 ; FUNCTION: KL AC MANIPULATION.
1769 ;
1770 ; EQUATED SYMBOLS
1771 ;
1772 000003 DATAO = 3 ; KL I/O SUBFUNCTION CODE.
1773 000010 PAG = 10 ; KL DEVICE.
1774 ;
1775 ; LOCAL DATA
1776 ;
1777 000000 .PSECT DATA,D
1778 000000 DACAB: WD36$ 400000 000000 ; OBJECT FOR DATAO PAG TO SET AC BLOCK.
000000 000 000 000 .BYTE BY$$0,BY$$1,BY$$2
000003 000 010 .BYTE BY$$3,BY$$4
1779 000005 DACBI: IO10$ DATAO PAG,,0 ; KL INSTRUCTION TO SET AC BLOCK.
000005 000 000 200 .BYTE BY$$0,BY$$1,BY$$2
000010 011 016 .BYTE BY$$3,BY$$4
1780 000012 DACAD: WD22$ 0 ; BUCKET FOR AC ADDRESSES.
000012 000 000 000 .BYTE BY$$0,BY$$1,BY$$2
1781 000015 DACBF: WD36$ 0 0 ; GENERAL 36 BIT BUCKET.
000015 000 000 000 .BYTE BY$$0,BY$$1,BY$$2
000020 000 000 .BYTE BY$$3,BY$$4
1782 .EVEN
1783 000000 .PSECT
KLIAC -- AC PROGRAM CONTROL MACRO V05.04 Tuesday 17-May-88 14:21 Page 52
$LDNGO -- LOAD AC BLOCKS AND GO
1785 .SBTTL $LDNGO -- LOAD AC BLOCKS AND GO
1786 ;+
1787 ; LOAD THE SPECIFIED AC BLOCKS WITH INSTRUCTIONS AND DATA AND
1788 ; CONDITIONALLY START THE KL AT A GIVEN LOCATION. THE LOADING IS DRIVEN
1789 ; BY A LIST WHICH IS POINTED TO BY R0. THE ENTRIES ARE:
1790 ;
1791 ; CHOOSE AC BLOCK AND LOAD N ACS STARTING WITH M
1792 ;
1793 ; .BYTE ACBLK*10,M,N ; WHERE AND HOW MUCH
1794 ; .BLKB N*5 ; WORDS TO LOAD
1795 ;
1796 ; START KL AT AC M AND RETURN
1797 ;
1798 ; .BYTE ACBLK*10,M,-1 ; WHERE TO START
1799 ;
1800 ; RETURN WITHOUT STARTING KL
1801 ;
1802 ; .BYTE -1 ; END OF LOAD LIST
1803 ;
1804 ; A PREVIOUS CONTEXT AC BLOCK MAY BE SPECIFIED IN THE BOTTOM 3 BITS
1805 ; OF THE AC BLOCK BYTE. IF LEFT ZERO, THE PREVIOUS CONTEXT WILL BE
1806 ; AC BLOCK ZERO.
1807 ;
1808 ; INPUTS:
1809 ; R0 - POINTER TO AC LOAD LIST.
1810 ;
1811 ; OUTPUTS:
1812 ; CARRY IS SET IF ERROR OCCURRED DURING LOAD OR START.
1813 ;-
1814
1815 000000 004537 024170' $LDNGO::JSR R5,$RSAVE ; SAVE MY REGISTERS.
1816 000004 010005 MOV R0,R5 ; COPY LOAD LIST.
1817 000006 105137 000003' COMB DACAB+3 ; INVALIDATE THE CURRENT AC BLOCK. ; ADP02
1818 000012 112500 10$: MOVB (R5)+,R0 ; NEXT AC BLOCK NUMBER
1819 000014 100434 BMI 80$ ; STOP IF NEGATIVE.
1820 000016 123700 000003' CMPB DACAB+3,R0 ; IF THE SAME AS LAST TIME
1821 000022 001411 BEQ 30$ ; THEN DON'T CHANGE AC BLOCK
1822 000024 110037 000003' MOVB R0,DACAB+3 ; OTHERWISE GET BLOCK AND
1823 000030 012700 000005' MOV #DACBI,R0 ; EXECUTE DATAO PAG
1824 000034 012701 000000' MOV #DACAB,R1 ; WITH OUR DATA.
1825 000040 CALL $XCDT ; AVOID USING AN AC.
000040 004737 000206' JSR PC,$XCDT
1826 000044 103421 BCS 90$
1827 000046 012700 000012' 30$: MOV #DACAD,R0 ; GET PLACE FOR
1828 000052 112510 MOVB (R5)+,(R0) ; THE NEXT AC ADDRESS
1829 000054 112502 MOVB (R5)+,R2 ; AND GET NUMBER OF ACS.
1830 000056 100411 BMI 50$ ; IF NEG, START AT AC.
1831 000060 010501 40$: MOV R5,R1 ; GET ADDRESS OF DATA
1832 000062 CALL $DPOS ; AND STORE IT.
000062 004737 013074' JSR PC,$DPOS
1833 000066 103410 BCS 90$
1834 000070 105210 INCB (R0) ; INCREMENT ADDRESS
1835 000072 062705 000005 ADD #5,R5 ; AND LIST POINTER
1836 000076 077210 SOB R2,40$ ; AND GO BACK IF MORE.
1837 000100 000744 BR 10$ ; OTHERWISE GET NEXT DIRECTION.
1838 000102 50$: CALLR $STRKL ; START KL AT ADDRESS.
000102 000137 030712' JMP $STRKL
KLIAC -- AC PROGRAM CONTROL MACRO V05.04 Tuesday 17-May-88 14:21 Page 52-1
$LDNGO -- LOAD AC BLOCKS AND GO
1839 000106 000241 80$: CLC ; END OF LOAD.
1840 000110 90$: RETURN
000110 000207 RTS PC
KLIAC -- AC PROGRAM CONTROL MACRO V05.04 Tuesday 17-May-88 14:21 Page 53
$ZERAC -- ZERO AC SETS 0 TO 6
1842 .SBTTL $ZERAC -- ZERO AC SETS 0 TO 6
1843 ;+
1844 ; ZERO ALL ACS INCLUDING SET 7 WHICH BELONGS TO THE MICROCODE.
1845 ;
1846 ; NO INPUTS
1847 ;
1848 ; OUTPUTS:
1849 ; CARRY IS SET ON ERROR.
1850 ;-
1851
1852 000112 004537 024170' $ZERAC::JSR R5,$RSAVE ; SAVE HIS REGISTERS.
1853 000116 012703 000070 MOV #70,R3 ; ZERO AC SET 6 TO 0. ; ADP02
1854
1855 000122 110337 000003' 10$: MOVB R3,DACAB+3 ; NEXT AC BLOCK. ;**-1
1856 000126 012701 000000' MOV #DACAB,R1 ; GET DATA FOR
1857 000132 012700 000005' MOV #DACBI,R0 ; DATAO PAG TO
1858 000136 CALL $XCDT ; SET THE CURRENT AC SET.
000136 004737 000206' JSR PC,$XCDT
1859 000142 103420 BCS 90$
1860 000144 012702 000020 MOV #20,R2 ; ZERO 20 ACS.
1861 000150 012701 000000' MOV #.ZERO,R1 ; (DATA TO DEPOSIT)
1862 000154 012700 000012' MOV #DACAD,R0 ; GET POINTER TO ADDRESS
1863 000160 105010 CLRB (R0) ; AND START AT ZERO.
1864 000162 20$: CALL $DPOS ; CLEAR THE AC.
000162 004737 013074' JSR PC,$DPOS
1865 000166 103406 BCS 90$
1866 000170 105210 INCB (R0) ; GO ON
1867 000172 077205 SOB R2,20$ ; TO THE NEXT ONE.
1868 000174 162703 000010 SUB #10,R3 ; IF ANOTHER AC SET TO DO ; ADP01
1869 000200 002350 BGE 10$ ; THEN DO IT. ; ADP01
1870 000202 000241 CLC ; (MAKE SURE CARRY IS CLEAR) ; ADP01
1871 000204 90$: RETURN
000204 000207 RTS PC
KLIAC -- AC PROGRAM CONTROL MACRO V05.04 Tuesday 17-May-88 14:21 Page 54
$XCDT -- INSTRUCTION EXECUTER
1873 .SBTTL $XCDT -- INSTRUCTION EXECUTER
1874 ;+
1875 ; EXECUTE AN INSTRUCTION AND SUBSTITUTE THE GIVEN DATA INTO THE AR
1876 ; AFTER THE AR FETCH. THIS IS DONE BY LOADING THE INSTRUCTION AND
1877 ; STEPPING THE CLOCK UNTIL "CON AR LOADED H" IS UP. THE DATA IS THEN
1878 ; WRITTEN INTO THE AR OVER THE PREVIOUS FETCHED DATA AND THE INSTRUCTION
1879 ; IS ALLOWED TO FINISH. NOTE THAT THIS ASSUMES THAT THE FETCH IS
1880 ; SUCCESSFUL.
1881 ;
1882 ; INPUTS:
1883 ; R0 - ADDRESS OF KL INSTRUCTION TO EXECUTE.
1884 ; R1 - ADDRESS OF 36 BIT DATA WORD TO SUBSTITUTE.
1885 ;
1886 ; OUTPUTS:
1887 ; CARRY IS SET IF ERROR OCCURS.
1888 ;-
1889
1890 000206 004537 024170' $XCDT:: JSR R5,$RSAVE ; SAVE THE REGISTERS AND
1891 000212 010103 MOV R1,R3 ; COPY THE POINTER TO THE DATA.
1892 000214 CALL $LDAR ; LOAD THE INSTRUCTION
000214 004737 031162' JSR PC,$LDAR
1893 000220 103436 BCS 90$ ; AND
1894 000222 012700 012000 MOV #.CONBT,R0 ; PUSH THE CONTINUE BUTTON.
1895 000226 CALL $DFXC
000226 004737 013760' JSR PC,$DFXC
1896 000232 103431 BCS 90$
1897 000234 012700 000022 MOV #18.,R0 ; GIVE THE CLOCK
1898 000240 CALL $BURST ; AN 18. TICK LEAD.
000240 004737 031576' JSR PC,$BURST
1899 000244 103424 BCS 90$
1900 000246 012702 000144 MOV #100.,R2 ; LIMIT THE CLOCK TO 100. TICKS
1901 000252 012701 000015' MOV #DACBF,R1 ; AND GET SCRATCH BUFFER.
1902 000256 012700 132000 20$: MOV #<132*1000>,R0 ; NOW READ
1903 000262 CALL $DFRD ; A DIAGNOSTIC REGISTER AND
000262 004737 013444' JSR PC,$DFRD
1904 000266 103413 BCS 90$
1905 000270 132761 000020 000001 BITB #20,1(R1) ; IF "CON AR LOADED H"
1906 000276 001010 BNE 30$ ; IS NOT UP,
1907 000300 012700 002000 MOV #.SSCLK,R0 ; STEP THE CLOCK
1908 000304 CALL $DFXC
000304 004737 013760' JSR PC,$DFXC
1909 000310 103402 BCS 90$
1910 000312 077217 SOB R2,20$ ; AND LOOK AGAIN.
1911 000314 000261 SEC ; THIS TOOK TOO LONG.
1912 000316 90$: RETURN
000316 000207 RTS PC
1913 000320 012700 004000 30$: MOV #.CECLK,R0 ; THE AR IS RIPE TO LOAD, SO
1914 000324 CALL $DFXC ; PHASE THE CLOCKS
000324 004737 013760' JSR PC,$DFXC
1915 000330 103772 BCS 90$
1916 000332 010301 MOV R3,R1 ; GET THE SUBSTITUTE WORD
1917 000334 012700 077000 MOV #.LDAR,R0 ; AND LOAD IT
1918 000340 CALL $DFWR ; INTO THE AR.
000340 004737 013556' JSR PC,$DFWR
1919 000344 103764 BCS 90$
1920 000346 012700 001000 MOV #.STRCL,R0 ; LET THE INSTRUCTION COMPLETE.
1921 000352 CALLR $DFXC
KLIAC -- AC PROGRAM CONTROL MACRO V05.04 Tuesday 17-May-88 14:21 Page 54-1
$XCDT -- INSTRUCTION EXECUTER
000352 000137 013760' JMP $DFXC
KLIAC -- AC PROGRAM CONTROL MACRO V05.04 Tuesday 17-May-88 14:21 Page 55
$XCDT -- INSTRUCTION EXECUTER
1923
1924
1925 .TITLE KLICA -- LOAD CACHE REFILL RAM
1926 000356 IDENT$ 5,1
.IDENT /005010/
1927 ;
1928 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
1929 ; ALL RIGHTS RESERVED.
1930 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
1931 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
1932 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
1933 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
1934 ;
1935 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
1936 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
1937 ; EQUIPMENT CORPORATION.
1938 ;
1939 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
1940 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
1941 ;
1942 ; VERSION 05-01
1943 ;
1944 ; ALAN D. PECKHAM 8-APR-77
1945 ;
1946 ; MODIFIED BY:
1947 ;
1948 ; FUNCTION: COMPUTE THE REFILL ALGORITHM FOR THE GIVEN CACHE CONFIGURATION
1949 ; AND WRITE IT TO THE CACHE REFILL RAM.
1950 ;
1952 ; EQUATED SYMBOLS
1953 ;
1954 000000 APR = 0 ; KL DEVICE.
1955 000002 BLKO = 2 ; KL I/O SUBFUNCTION CODE.
1956 000014 CCA = 14 ; KL DEVICE.
1957 000004 CONO = 4 ; KL I/O SUBFUNCTION CODE.
1958 000001 DATAI = 1 ; KL I/O SUBFUNCTION CODE.
1959 000540 HRR = 540 ; KL INSTRUCTION CODE.
1960 000254 JRST = 254 ; KL INSTRUCTION CODE.
1961 000322 JUMPE = 322 ; KL INSTRUCTION CODE.
1962 000010 PAG = 10 ; KL DEVICE.
1963 000400 SETZ = 400 ; KL INSTRUCTION CODE.
1964 ;
1965 ; LOCAL DATA
1966 ;
1967 000022 .PSECT DATA,D
1968 .ODD ; DCAWRF MUST BE ON EVEN BOUNDRY.
1969 000023 000 000 010 DCAPGM: .BYTE 0,0,10 ; LOAD AC0-AC7 OF AC SET 0.
1970 000026 WD36$ 0 0 ; AC0
000026 000 000 000 .BYTE BY$$0,BY$$1,BY$$2
000031 000 000 .BYTE BY$$3,BY$$4
1971 000033 DCASIA: IO10$ DATAI CCA,,0 ; AC1 - A SWPIA INSTRUCTION.
000033 000 000 200 .BYTE BY$$0,BY$$1,BY$$2
000036 014 016 .BYTE BY$$3,BY$$4
1972 000040 DCARCA: IO10$ CONO PAG,,0 ; AC2 - RESET CACHE & PAGING STATUS.
000040 000 000 000 .BYTE BY$$0,BY$$1,BY$$2
000043 012 016 .BYTE BY$$3,BY$$4
1973 000045 I10$ JUMPE 0,,3 ; AC3
KLICA -- LOAD CACHE REFILL RAM MACRO V05.04 Tuesday 17-May-88 14:21 Page 55-1
$XCDT -- INSTRUCTION EXECUTER
000045 003 000 000 .BYTE BY$$0,BY$$1,BY$$2
000050 220 006 .BYTE BY$$3,BY$$4
1974 000052 I10$ HRR 6,,0 ; AC4
000052 000 000 000 .BYTE BY$$0,BY$$1,BY$$2
000055 003 013 .BYTE BY$$3,BY$$4
1975 000057 I10$ SETZ 0,,0 ; AC5
000057 000 000 000 .BYTE BY$$0,BY$$1,BY$$2
000062 000 010 .BYTE BY$$3,BY$$4
1976 000064 DCAWRF: IO10$ BLKO APR,,0 ; AC6 - WRFIL INSTRUCTION.
000064 000 000 000 .BYTE BY$$0,BY$$1,BY$$2
000067 001 016 .BYTE BY$$3,BY$$4
1977 000071 I10$ JRST 0,,3 ; AC7
000071 003 000 000 .BYTE BY$$0,BY$$1,BY$$2
000074 140 005 .BYTE BY$$3,BY$$4
1978 000076 000 001 377 .BYTE 0,1,-1 ; START AT AC1 OF AC SET 0.
1979 000101 DCARFL: .BLKB 5 ; WORK TABLE.
1980 .EVEN
1981 000000 .PSECT TEXT,D
1982 000000 TCACEF: ERROR <CACHE ENABLE FAILED>
000000 077 040 103 .ASCIZ \? CACHE ENABLE FAILED\
000003 101 103 110
000006 105 040 105
000011 116 101 102
000014 114 105 040
000017 106 101 111
000022 114 105 104
000025 000
1983 000026 TCAACE: MESSAGE <ALL CACHES ENABLED>
000026 101 114 114 .ASCIZ \ALL CACHES ENABLED\
000031 040 103 101
000034 103 110 105
000037 123 040 105
000042 116 101 102
000045 114 105 104
000050 000
1984 000051 TCASCE: MESSAGE <CACHES X,X,X, ENABLED>
000051 103 101 103 .ASCIZ \CACHES X,X,X, ENABLED\
000054 110 105 123
000057 040 130 054
000062 130 054 130
000065 054 040 105
000070 116 101 102
000073 114 105 104
000076 000
1985 000077 TCAACD: MESSAGE <CACHES DISABLED>
000077 103 101 103 .ASCIZ \CACHES DISABLED\
000102 110 105 123
000105 040 104 111
000110 123 101 102
000113 114 105 104
000116 000
1986 000356 .PSECT
KLICA -- LOAD CACHE REFILL RAM MACRO V05.04 Tuesday 17-May-88 14:21 Page 56
$SETCA -- CONFIGURE CACHE
1988 .SBTTL $SETCA -- CONFIGURE CACHE
1989 ;+
1990 ; INITIALIZE THE CACHE REFILL RAM IF CACHE IS TO BE TURNED ON AND
1991 ; REPORT THE CACHE STATUS.
1992 ;
1993 ; INPUTS:
1994 ; .NCACH - NUMBER OF CACHES TO BE USED.
1995 ; .CACHN - NUMBERS OF THE CACHES TO BE USED.
1996 ;
1997 ; OUTPUTS:
1998 ; CARRY IS SET IF ERROR OCCURS AND MESSAGE IS DISPLAYED.
1999 ;-
2000
2001 000356 012700 000023' $SETCA::MOV #DCAPGM,R0 ; GET OUR KL PROGRAM
2002 000362 CALL $LDNGO ; LOAD AND START IT.
000362 004737 000000' JSR PC,$LDNGO
2003 000366 103564 BCS 200$
2004 000370 105737 000064' TSTB .NCACH ; IF NO CACHES WERE REQUESTED
2005 000374 003557 BLE 190$ ; THEN NO ACTION NECESSARY.
2006 000376 012701 000066' MOV #DCAWRF+2,R1 ; GET DATA AREA AND
2007 000402 042711 000003 BIC #3,(R1) ; CLEAR IT OUT.
2008 000406 005041 CLR -(R1)
2009 000410 005005 CLR R5 ; +++001 R5 >MUST< INITIALLY BE CLEAR!!!
2010 000412 113700 000065' MOVB .CACHN,R0 ; SET LRU IN CASE OF SINGLE CACHE.
2011 000416 006200 ASR R0 ; SHIFT LOW ORDER BIT
2012 000420 103002 BCC 20$ ; INTO KL INSTRUCTION -
2013 000422 052711 100000 BIS #100000,(R1) ; (KIND OF A HACK....)
2014 000426 050061 000002 20$: BIS R0,2(R1) ; INSTALL REST.
2015 ; INITIALIZE COUNTERS:
2016 000432 105003 CLRB R3 ; NEW CACHE NUMBER.
2017 000434 105004 30$: CLRB R4 ; MRU CACHE.
2018 000436 105005 40$: CLRB R5 ; LRU CACHE
2019 000440 122737 000001 000064' 50$: CMPB #1,.NCACH ; ONLY ONE CACHE ?
2020 000446 001504 BEQ 180$ ; YES, BYPASS THIS STUFF.
2021 000450 042721 100000 BIC #100000,(R1)+ ; CLEAR OUT DATA BITS.
2022 000454 042711 000003 BIC #000003,(R1)
2023 000460 012702 000101' MOV #DCARFL,R2 ; INITIALIZE TABLE.
2024 000464 110522 MOVB R5,(R2)+ ; LRU CACHE
2025 000466 005000 CLR R0 ; FIND LOW CACHE NUMBER
2026 000470 000401 BR 70$
2027 000472 005200 60$: INC R0
2028 000474 120005 70$: CMPB R0,R5
2029 000476 001775 BEQ 60$
2030 000500 120004 CMPB R0,R4
2031 000502 001773 BEQ 60$
2032 000504 012701 000003 MOV #3,R1 ; AND HIGH CACHE NUMBER
2033 000510 000401 BR 90$
2034 000512 005301 80$: DEC R1
2035 000514 120105 90$: CMPB R1,R5
2036 000516 001775 BEQ 80$
2037 000520 120104 CMPB R1,R4
2038 000522 001773 BEQ 80$
2039 000524 005705 TST R5 ; AND INSTALL IN TABLE
2040 000526 100003 BPL 100$ ; AS INTERMEDIATE CACHES.
2041 000530 110022 MOVB R0,(R2)+
2042 000532 110122 MOVB R1,(R2)+
2043 000534 000402 BR 110$
KLICA -- LOAD CACHE REFILL RAM MACRO V05.04 Tuesday 17-May-88 14:21 Page 56-1
$SETCA -- CONFIGURE CACHE
2044 000536 110122 100$: MOVB R1,(R2)+
2045 000540 110022 MOVB R0,(R2)+
2046 000542 110422 110$: MOVB R4,(R2)+ ; MRU CACHE
2047 000544 110312 MOVB R3,(R2) ; NEW CACHE.
2048 000546 120342 120$: CMPB R3,-(R2) ; ADJUST LIST TO REFLECT
2049 000550 001376 BNE 120$ ; NEW CACHE IN USE.
2050 000552 022702 000101' CMP #DCARFL,R2
2051 000556 003402 BLE 130$
2052 000560 012702 000101' MOV #DCARFL,R2
2053 000564 116222 000001 130$: MOVB 1(R2),(R2)+
2054 000570 022702 000105' CMP #DCARFL+4,R2
2055 000574 003373 BGT 130$
2056 000576 012702 000101' MOV #DCARFL,R2 ; NOW, SCREEN OUT
2057 000602 012701 000065' 140$: MOV #.CACHN,R1 ; UNWANTED LRUS.
2058 000606 113700 000064' MOVB .NCACH,R0
2059 000612 122112 150$: CMPB (R1)+,(R2)
2060 000614 001403 BEQ 160$
2061 000616 077003 SOB R0,150$
2062 000620 005202 INC R2
2063 000622 000767 BR 140$
2064 000624 012701 000064' 160$: MOV #DCAWRF,R1
2065 000630 112200 MOVB (R2)+,R0 ; GET LRU AND
2066 000632 006200 ASR R0 ; SHIFT LOW ORDER BIT
2067 000634 103002 BCC 170$ ; INTO KL INSTRUCTION -
2068 000636 052711 100000 BIS #100000,(R1) ; (KIND OF A HACK....)
2069 000642 050061 000002 170$: BIS R0,2(R1) ; INSTALL REST OF LRU.
2070 000646 122212 CMPB (R2)+,(R2) ; CHECK ORDER AND
2071 000650 003003 BGT 180$
2072 000652 052761 000002 000002 BIS #000002,2(R1) ; AND INSTALL IT.
2073 000660 012700 000000' 180$: MOV #.ZERO,R0 ; GIVE THE DATA TO THE AC PROGRAM
2074 000664 CALL $DPOS ; TO STORE IN THE REFILL RAM.
000664 004737 013074' JSR PC,$DPOS
2075 000670 103423 BCS 200$
2076 000672 062711 000004 ADD #4,(R1) ; INCREMENT THE COUNTS
2077 000676 105205 INCB R5
2078 000700 122705 000003 CMPB #3,R5
2079 000704 002255 BGE 50$ ; TO LOOP.
2080 000706 105105 COMB R5
2081 000710 005105 COM R5
2082 000712 100651 BMI 40$
2083 000714 105204 INCB R4
2084 000716 122704 000003 CMPB #3,R4
2085 000722 002245 BGE 40$
2086 000724 105203 INCB R3
2087 000726 122703 000003 CMPB #3,R3
2088 000732 002240 BGE 30$
2089 000734 190$: CALLR LCARPT ; REPORT WHAT CACHES ENABLED.
000734 000137 000754' JMP LCARPT
2090 000740 200$: PRINT #TCACEF ; CACHE ENABLE FAILED.
000740 012700 000000' MOV #TCACEF,R0
000744 004737 027620' JSR PC,$TTMSG
2091 000750 000261 SEC
2092 000752 RETURN
000752 000207 RTS PC
KLICA -- LOAD CACHE REFILL RAM MACRO V05.04 Tuesday 17-May-88 14:21 Page 57
$SETCA -- CONFIGURE CACHE
2094 ;+
2095 ; REPORT THE CACHE CONFIGURATION
2096 ;-
2097
2098 000754 012701 000077' LCARPT: MOV #TCAACD,R1 ; GET MESSAGE FOR NO CACHE
2099 000760 113702 000064' MOVB .NCACH,R2 ; AND IF NONE,
2100 000764 003433 BLE 80$ ; PRINT THE MESSAGE.
2101 000766 012701 000026' MOV #TCAACE,R1 ; USE ALL CACHE MESSAGE IF
2102 000772 022702 000004 CMP #4,R2 ; ALL CACHES ARE BEING USED.
2103 000776 003426 BLE 80$
2104 001000 012701 000051' MOV #TCASCE,R1 ; MUST BE A PARTIAL CONFIGURATION.
2105 001004 010105 MOV R1,R5
2106 001006 122725 000123 10$: CMPB #'S,(R5)+ ; LOOK FOR PLACE TO
2107 001012 001375 BNE 10$
2108 001014 122725 000040 CMPB #' ,(R5)+ ; INSERT CACHE NUMBERS.
2109 001020 001372 BNE 10$
2110 001022 012703 000065' MOV #.CACHN,R3
2111 001026 112315 20$: MOVB (R3)+,(R5) ; GET NEXT NUMBER
2112 001030 152725 000060 BISB #'0,(R5)+ ; AND MAKE PRINTABLE.
2113 001034 112725 000054 MOVB #',,(R5)+
2114 001040 077206 SOB R2,20$ ; DO FOR ALL NUMBERS.
2115 001042 111765 177777 30$: MOVB (PC),-1(R5) ; NOW CLEAN UP
2116 001046 122725 000040 CMPB #' ,(R5)+
2117 001052 001373 BNE 30$
2118 001054 80$: PRINT R1
001054 010100 MOV R1,R0
001056 004737 027620' JSR PC,$TTMSG
2119 001062 000241 CLC
2120 001064 90$: RETURN
001064 000207 RTS PC
2121
KLICA -- LOAD CACHE REFILL RAM MACRO V05.04 Tuesday 17-May-88 14:21 Page 58
$SETCA -- CONFIGURE CACHE
2124
2125 .TITLE KLICB -- LOAD THE MICROCODE
2126 001066 IDENT$ 5,3,KLI$$F
.IDENT /B05030/
2127 ;
2128 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
2129 ; ALL RIGHTS RESERVED.
2130 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
2131 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
2132 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
2133 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
2134 ;
2135 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
2136 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
2137 ; EQUIPMENT CORPORATION.
2138 ;
2139 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
2140 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
2141 ;
2142 ; VERSION 05-02
2143 ;
2144 ; ALAN D. PECKHAM 11-APR-77
2145 ;
2146 ; MODIFICATIONS:
2147 ;
2148 ; K. LEFEBVRE 13-MAR-79 EXPANDED CRAM/DRAM ERROR REPORT
2149 ; TCO 4.2209
2150 ; 001 S. LEAPLINE 19-AUG-81 READ MICROCODE FILENAME FROM CONFIG FILE
2151 ; M. RUDENKO 25-JUL-84 READ MICROCODE VERSION AND EDIT LEVEL
2152 ; FROM CRAM
2153 ;
2154 ; FUNCTION: THIS MODULE CONTAINS THE ROUTINES WHICH LOAD THE KL
2155 ; MICROCODE FROM THE FILE 'KL.MCB'.
2156 ;
2157 ; EQUATED SYMBOLS
2158 ;
2159 000000 APR = 0 ; KL DEVICE.
2160 000000 BLKI = 0 ; KL I/O SUBFUNCTION CODE.
2161 ;
2162 ; LOCAL DATA
2163 ;
2164 000106 .PSECT DATA,D
2165 000106 000000 MAJVER: .WORD 0 ; [**] MICROCODE VERSION #
2166 000110 000000 SUBVER: .WORD 0 ; [**] MICROCODE SUB VERSION #
2167 000112 000000 UEDIT: .WORD 0 ; [**] MICROCODE EDIT LEVEL
2168 000114 043240 000000 000000 DCBFNM: .RAD50 /KL MCB/ ; MICROCODE FILE NAME.
000122 050672
2169 000124 000000 .WORD 0 ; GET LATEST VERSION.
2170 000126 005 005 .BYTE 5,5
2171 000130 054523 000000 .WORD "SY,0
2172 000134 000000 DCBADR: .WORD 0 ; RAM ADDRESS FROM RECORD.
2173 000136 000000 000000 000000 DCBDAT: .WORD 0,0,0,0,0,0 ; RAM DATA WORK AREA.
000144 000000 000000 000000
2174 000152 000000 DCBCNT: .WORD 0 ; VERIFY DIFFERENCE COUNT.
2175 000154 000000 DCBFIX: .WORD 0 ; [4.2209] MICROCODE FIX FLAG
2176 000156 000000 000000 000000 DCBCBF: .WORD 0,0,0,0,0,0 ; HOLDING AREA FOR C-RAM WORD.
000164 000000 000000 000000
KLICB -- LOAD THE MICROCODE MACRO V05.04 Tuesday 17-May-88 14:21 Page 58-1
$SETCA -- CONFIGURE CACHE
2177 000172 000000 000000 000000 DCBDBF: .WORD 0,0,0 ; D-RAM WORD HOLDING AREA.
2178 .EVEN ; DCBBF MUST BE ON A WORD BOUNDRY.
2179 ;DCBBF: WD36$ 0 0 ; APRID RESULT.
2180 ;DCBA17: WD22$ 17 ; AC17 ADDRESS.
2181 ;DCBAPR: IO10$ BLKI APR,,17 ; APRID INSTRUCTION.
2182 000200 113 114 111 TTTPR: .ASCIZ /KLI -- / ;[4.2209]
000203 040 055 055
000206 040 000
2183 .EVEN
2184 000117 .PSECT TEXT,D
2185 000117 TCBDCW: ERROR <C-RAM DIFFERS AT XXXXXX>
000117 077 040 103 .ASCIZ \? C-RAM DIFFERS AT XXXXXX\
000122 055 122 101
000125 115 040 104
000130 111 106 106
000133 105 122 123
000136 040 101 124
000141 040 130 130
000144 130 130 130
000147 130 000
2186 000151 TCBDDW: ERROR <D-RAM DIFFERS AT XXXXXX>
000151 077 040 104 .ASCIZ \? D-RAM DIFFERS AT XXXXXX\
000154 055 122 101
000157 115 040 104
000162 111 106 106
000165 105 122 123
000170 040 101 124
000173 040 130 130
000176 130 130 130
000201 130 000
2187 000203 TCBMLF: ERROR <MICROCODE LOAD FAILED>
000203 077 040 115 .ASCIZ \? MICROCODE LOAD FAILED\
000206 111 103 122
000211 117 103 117
000214 104 105 040
000217 114 117 101
000222 104 040 106
000225 101 111 114
000230 105 104 000
2188 000233 TCBMVF: ERROR <MICROCODE VERIFY FAILED>
000233 077 040 115 .ASCIZ \? MICROCODE VERIFY FAILED\
000236 111 103 122
000241 117 103 117
000244 104 105 040
000247 126 105 122
000252 111 106 131
000255 040 106 101
000260 111 114 105
000263 104 000
2189 000265 TCBFXF: ERROR <MICROCODE FIX FAILED> ; [4.2209]
000265 077 040 115 .ASCIZ \? MICROCODE FIX FAILED\
000270 111 103 122
000273 117 103 117
000276 104 105 040
000301 106 111 130
000304 040 106 101
000307 111 114 105
KLICB -- LOAD THE MICROCODE MACRO V05.04 Tuesday 17-May-88 14:21 Page 58-2
$SETCA -- CONFIGURE CACHE
000312 104 000
2190 000314 TCBMVL: MESSAGE <MICROCODE VERSION XX.X[XXX] LOADED>
000314 115 111 103 .ASCIZ \MICROCODE VERSION XX.X[XXX] LOADED\
000317 122 117 103
000322 117 104 105
000325 040 126 105
000330 122 123 111
000333 117 116 040
000336 130 130 056
000341 130 133 130
000344 130 130 135
000347 040 114 117
000352 101 104 105
000355 104 000
2191 000357 TCBMVV: MESSAGE <MICROCODE VERSION XX.X[XXX] VERIFIED>
000357 115 111 103 .ASCIZ \MICROCODE VERSION XX.X[XXX] VERIFIED\
000362 122 117 103
000365 117 104 105
000370 040 126 105
000373 122 123 111
000376 117 116 040
000401 130 130 056
000404 130 133 130
000407 130 130 135
000412 040 126 105
000415 122 111 106
000420 111 105 104
000423 000
2192 000424 TCBBAD: MESSAGE <BAD > ; [4.2209]
000424 102 101 104 .ASCIZ \BAD \
000427 040 040 000
2193 000432 TCBGOD: MESSAGE <GOOD > ; [4.2209]
000432 107 117 117 .ASCIZ \GOOD \
000435 104 040 000
2194 000440 TCBXOR: MESSAGE <XOR > ; [4.2209]
000440 130 117 122 .ASCIZ \XOR \
000443 040 040 000
2195 000446 TCBMRE: WARNING <READ ERROR ON CONFIG FILE - LOADING DEFAULT MICROCODE> ;001
000446 045 040 122 .ASCIZ \% READ ERROR ON CONFIG FILE - LOADING DEFAULT MICROCODE\
000451 105 101 104
000454 040 105 122
000457 122 117 122
000462 040 117 116
000465 040 103 117
000470 116 106 111
000473 107 040 106
000476 111 114 105
000501 040 055 040
000504 114 117 101
000507 104 111 116
000512 107 040 104
000515 105 106 101
000520 125 114 124
000523 040 115 111
000526 103 122 117
000531 103 117 104
000534 105 000
KLICB -- LOAD THE MICROCODE MACRO V05.04 Tuesday 17-May-88 14:21 Page 58-3
$SETCA -- CONFIGURE CACHE
2196 001066 .PSECT
KLICB -- LOAD THE MICROCODE MACRO V05.04 Tuesday 17-May-88 14:21 Page 59
$SETCA -- CONFIGURE CACHE
2198 ;+
2199 ; LOAD THE BINARY RAM FILE INTO THE KL OR USE THE FILE TO
2200 ; VERIFY THE RAM CODE.
2201 ; THE RAM BINARY FILE HAS THREE RECORD TYPES.
2202 ; *D-RAM RECORDS:
2203 ; .WORD 2+<6*N> ; BYTE COUNT RECORD LENGTH.
2204 ; .WORD ADR ; D-RAM ADDRESS (SHOULD BE EVEN).
2205 ; .BLKW 3*N ; D-RAM CODE WORDS.
2206 ; *C-RAM RECORDS:
2207 ; .WORD 2+<14*N> ; BYTE COUNT RECORD LENGTH.
2208 ; .WORD 100000+ADR ; C-RAM ADDRESS.
2209 ; .BLKW 6*N ; C-RAM CODE WORDS.
2210 ; *END OF FILE:
2211 ; .WORD 2 ; BYTE COUNT RECORD LENGTH.
2212 ; .WORD 100000!ADR ; C-RAM STARTING ADDRESS
2213 ; ; (NORMALLY ZERO).
2214 ;
2215 ; THE C-RAM RECORDS MUST BE SORTED IN ASCENDING ORDER BY ADDRESS
2216 ; SO THAT UNUSED WORDS MAY BE CLEARED WITHOUT HAVING TO CLEAR ALL
2217 ; THE C-RAM LOCATIONS.
2218 ;-
KLICB -- LOAD THE MICROCODE MACRO V05.04 Tuesday 17-May-88 14:21 Page 60
$MCBLD -- LOAD THE RAMS
2220 .SBTTL $MCBLD -- LOAD THE RAMS
2221 ;+
2222 ; LOAD OR VERIFY THE C&D-RAMS AND REPORT THE VERSION.
2223 ;
2224 ; INPUTS:
2225 ; .DRSW - IF NON-ZERO, LOAD RAMS, OTHERWISE VERIFY.
2226 ;
2227 ; OUTPUTS:
2228 ; CARRY SET IF ERROR OCCURS AND MESSAGE IS DISPLAYED.
2229 ;+
2230 ; GET THE FILE AND INITIALIZE THE KL FOR MICROCODE OPERATIONS.
2231 ;-
2232
2233 001066 $MCBLD::
2234 001066 105737 000025' TSTB .MCBSW ; 001 - FILENAME ALREADY SPECIFIED ??
2235 001072 001007 BNE 5$ ; 001 - BRANCH IF YES
2236 001074 CALL LQMRFN ; 001 - READ MICROCODE FILENAME FROM CONFIG FILE
001074 004737 001246' JSR PC,LQMRFN
2237 001100 103004 BCC 5$ ; 001 - BRANCH IF NO ERRORS
2238 001102 PRINT #TCBMRE ; 001 - TELL HIM WERE LOADING THE DEFAULT
001102 012700 000446' MOV #TCBMRE,R0
001106 004737 027620' JSR PC,$TTMSG
2239 001112 012700 000114' 5$: MOV #DCBFNM,R0 ; GET UCODE FILE NAME AND
2240 001116 012710 MOV (PC)+,(R0) ; ASSUME MODEL A MICROCODE
2241 001120 043241 .RAD50 /KLA/ ; FOR MODEL A CPU.
2242 001122 105737 000044' TSTB .EASW ; IF
2243 001126 003402 BLE 10$ ; MODEL B THEN
2244 001130 012710 MOV (PC)+,(R0) ; CHOOSE
2245 001132 043270 .RAD50 /KLX/ ; MODEL B MICROCODE
2246 001134 105737 000025' 10$: TSTB .MCBSW ; IF FILE NAME SPECIFIED
2247 001140 003402 BLE 20$ ; BY OPERATOR
2248 001142 012700 000462' MOV #.MCBFN,R0 ; THEN USE HIS.
2249 001146 20$: CALL $LOOKUP ; AND OPEN IT.
001146 004737 007562' JSR PC,$LOOKUP
2250 001152 103411 BCS 40$
2251 001154 005037 000152' CLR DCBCNT ; INITIALIZE RAM DIFFERENCE COUNT.
2252 001160 012703 000136' MOV #DCBDAT,R3 ; DATA AREA AND
2253 001164 005002 CLR R2 ; NEXT C-RAM ADDRESS TO DEPOSIT.
2254 001166 CALL $KLMR ; RESET THE WORLD.
001166 004737 015232' JSR PC,$KLMR
2255 001172 103077 BCC LCBRC
2256 001174 30$: RETURN
001174 000207 RTS PC
2257
2258 001176 122737 000000G 000532' 40$: CMPB #IE.NSF,.SYSTA ; IF FILE NOT FOUND
2259 001204 001373 BNE 30$
2260 001206 CALL $IOERR ; DECLARE THE ERROR.
001206 004737 007346' JSR PC,$IOERR
2261 001212 000137 002636' JMP LCBFL ; REPORT OPERATION FAILED.
KLICB -- LOAD THE MICROCODE MACRO V05.04 Tuesday 17-May-88 14:21 Page 61
$MCBLD -- LOAD THE RAMS
2263 ;+
2264 ; READ 3 OR 6 WORDS FROM THE MICROCODE FILE.
2265 ;
2266 ; INPUTS:
2267 ; R3 - POINTER TO AREA TO RECIEVE DATA.
2268 ;
2269 ; OUTPUTS:
2270 ; CARRY SET IF ERROR. R0, R4 & R5 ARE DESTROYED.
2271 ;-
2272
2273 .ENABL LSB
2274 001216 012705 000003 LCB3W: MOV #3,R5 ; GET 3 WORDS.
2275 001222 000402 BR 10$
2276 001224 012705 000006 LCB6W: MOV #6,R5 ; GET 6 WORDS.
2277 001230 010304 10$: MOV R3,R4
2278 001232 20$: CALL $READW
001232 004737 010324' JSR PC,$READW
2279 001236 103402 BCS 30$
2280 001240 010024 MOV R0,(R4)+
2281 001242 077505 SOB R5,20$
2282 001244 30$: RETURN
001244 000207 RTS PC
2283 .DSABL LSB
KLICB -- LOAD THE MICROCODE MACRO V05.04 Tuesday 17-May-88 14:21 Page 62
$MCBLD -- LOAD THE RAMS
2285 ;+
2286 ;
2287 ; LOCAL SUBROUTINE TO READ THE MICROCODE FILE NAME FROM KL.CFG. IF NOT FOUND
2288 ; THE DEFAULT(DEC SUPPLIED) MICROCODE IS LOADED.
2289 ;
2290 ;-
2291
2292 001246 LQMRFN:
2293 001246 012700 001534' MOV #DQBFNM,R0 ; GET THE FILE TO LOOK UP
2294 001252 CALL $LOOKUP ; LOOK UP THE FILE
001252 004737 007562' JSR PC,$LOOKUP
2295 001256 103002 BCC 10$ ; BRANCH IF FOUND
2296 001260 000241 CLC ; NO ERROR IF NOT FOUND
2297 001262 000442 BR 60$ ; EXIT
2298 001264 10$:
2299 001264 CALL $READC ; READ FIRST RECORD
001264 004737 010216' JSR PC,$READC
2300 001270 103434 BCS 50$ ; EXIT ON ERROR
2301 001272 022700 000004 CMP #4,R0 ; THIS RECORD OURS ??
2302 001276 001411 BEQ 30$ ; BRANCH IF YES
2303 001300 005700 TST R0 ; END-OF-FILE ??
2304 001302 001003 BNE 20$ ; NO, SKIP THIS RECORD
2305 001304 15$:
2306 001304 CALL $CLOSE ; CLOSE THE FILE
001304 004737 007056' JSR PC,$CLOSE
2307 001310 000427 BR 60$ ; AND EXIT
2308 001312 20$:
2309 001312 CALL $READS ; SKIP THIS RECORD
001312 004737 010254' JSR PC,$READS
2310 001316 103421 BCS 50$ ; EXIT ON ERROR
2311 001320 000761 BR 10$ ; READ THE NEXT RECORD
2312 001322 30$:
2313 001322 CALL $READB ; READ THE NEXT BYTE
001322 004737 010420' JSR PC,$READB
2314 001326 103415 BCS 50$ ; EXIT ON ERROR
2315 001330 110037 000025' MOVB R0,.MCBSW ; SAVE THE FILENAME SWITCH
2316 001334 001763 BEQ 15$ ; IF NO FILENAME, EXIT
2317 001336 012701 000004 MOV #4,R1 ; SETUP TO READ THE FILENAME
2318 001342 012702 000462' MOV #.MCBFN,R2 ; PLACE IT HERE
2319 001346 40$:
2320 001346 CALL $READW ; READ A WORD
001346 004737 010324' JSR PC,$READW
2321 001352 103403 BCS 50$ ; EXIT ON ERROR
2322 001354 010022 MOV R0,(R2)+ ; SAVE IT
2323 001356 077105 SOB R1,40$ ; LOOP FOR ALL
2324 001360 000751 BR 15$ ; EXIT
2325 001362 50$:
2326 001362 CALL $PURGE ; PURGE THE FILE
001362 004737 010124' JSR PC,$PURGE
2327 001366 000261 SEC
2328 001370 60$:
2329 001370 RETURN
001370 000207 RTS PC
2330
2331 ;+
2332 ; IDENTIFY A RECORD AND DISPATCH ON RECORD TYPE.
2333 ; END-OF-FILE IS HANDLED HERE - THE C-RAM STARTING ADDRESS IS
KLICB -- LOAD THE MICROCODE MACRO V05.04 Tuesday 17-May-88 14:21 Page 62-1
$MCBLD -- LOAD THE RAMS
2334 ; USED TO START THE MICROCODE, THE FILE IS CLOSED, AND WE GO
2335 ; TO IDENTIFY THE MICROCODE VERSION.
2336 ;
2337 ; NECESSARY EVILS:
2338 ; .SYIRC - THE NUMBER OF BYTES LEFT IN THE CURRENT RECORD.
2339 ;-
2340
2341 001372 LCBRC: CALL $READC ; GET ADDRESS.
001372 004737 010216' JSR PC,$READC
2342 001376 103437 BCS 10$
2343 001400 010037 000134' MOV R0,DCBADR
2344 001404 100402 BMI 5$ ; C-RAM RECORD OR END OF FILE
2345 001406 000137 002172' JMP LCBDRM ; D-RAM RECORD
2346 001412 042737 100000 000134' 5$: BIC #BIT15,DCBADR ; (REMOVE FLAG)
2347 001420 005737 000540' TST .SYIRC
2348 001424 003101 BGT LCBCRM ; C-RAM RECORD OR
2349 001426 CALL RDMCV ; [**] FETCH U_CODE VERSION/EDIT
001426 004737 001502' JSR PC,RDMCV
2350
2351 001432 013700 000134' MOV DCBADR,R0 ; C-RAM START ADDRESS.
2352 001436 005737 000152' TST DCBCNT ; IF VERIFY AND DIFFERENCE FOUND
2353 001442 001015 BNE 10$ ; SIGNAL ERROR.
2354 001444 CALL $ACRAM ; SET C-RAM STARTING ADDRESS
001444 004737 012166' JSR PC,$ACRAM
2355 001450 103412 BCS 10$ ; AND
2356 001452 012700 001000 MOV #.STRCL,R0
2357 001456 CALL $DFXC ; START THE CLOCK.
001456 004737 013760' JSR PC,$DFXC
2358 001462 CALL $CLOSE ; CLOSE THE FILE
001462 004737 007056' JSR PC,$CLOSE
2359 001466 CALL $CLLOG ; [4.1.1073]CLOSE LOG FILE
001466 004737 000000G JSR PC,$CLLOG
2360 001472 000137 002674' JMP LCBVR ; IDENTIFY RAM VERSION.
2361 001476 000137 002636' 10$: JMP LCBFL ; OPERATION FAILED.
KLICB -- LOAD THE MICROCODE MACRO V05.04 Tuesday 17-May-88 14:21 Page 63
RDMCV - READ MICROCODE VERSION/EDIT LEVEL
2363 .SBTTL RDMCV - READ MICROCODE VERSION/EDIT LEVEL
2364 ;+
2365 ; HERE TO FETCH MICRO CODE VERSION AND EDIT #'S
2366 ;
2367 ; INPUTS:
2368 ; NONE
2369 ;
2370 ; OUTPUTS:
2371 ; MAJVER - MAJOR VERSION #
2372 ; SUBVER - SUB-VERSION #
2373 ; UEDIT - EDIT LEVEL
2374 ;
2375 ; REGISTERS ALTERED:
2376 ; NONE
2377 ;
2378 ; MAJOR VERSION IS IN BITS 29-31 33-35 OF CRAM ADDRESS 136
2379 ; SUB-VERSION IS IN BITS 37-39 OF CRAM ADDRESS 136
2380 ; EDIT LEVEL IS IN BITS 29-31 33-35 37-39 OF CRAM ADDRESS 137
2381 ;-
2382
2383 001502 004537 024170' RDMCV: JSR R5,$RSAVE ; [**]
2384 001506 012701 000156' MOV #DCBCBF,R1 ; [**] 6 WORD BUFFER TO HOLD 80 BIT CRAM DATA
2385 001512 012700 000137 MOV #137,R0 ; [**] CRAM ADDRESS THAT HAS U_CODE EDIT #
2386 001516 005004 CLR R4 ; [**] FLAG THAT WE WANT EDIT LEVEL
2387 001520 10$: CALL $RCRAM ; [**] FETCH CRAM DATA
001520 004737 011564' JSR PC,$RCRAM
2388 001524 016100 000006 MOV 6(R1),R0 ; [**] FETCH CRAM BITS <16:31>
2389 001530 000300 SWAB R0 ; [**] GET CRAM BITS 29-31 INTO R0 <8:10> ...
2390 001532 006200 ASR R0 ; [**] THEN INTO <7:9> ...
2391 001534 006200 ASR R0 ; [**] FINALLY INTO <6:8> WHERE IT BELONGS.
2392 001536 042700 177077 BIC #^C700,R0 ; [**] CLEAR UNDESIRED NOISE
2393 001542 016102 000004 MOV 4(R1),R2 ; [**] FETCH CRAM <32:47>
2394 001546 000302 SWAB R2 ; [**] START BIT MOVING <33:35>
2395 001550 010203 MOV R2,R3 ; [**] SAVE FOR LATER GETTING <37:39>
2396 001552 006202 ASR R2 ; [**] CRAM <33:35> NOW IN R2 <3:5>
2397 001554 042702 177707 BIC #^C70,R2 ; [**] MASK OUT UNDESIRED BITS
2398 001560 050200 BIS R2,R0 ; [**] AND INCLUDE IT IN THE BUFFER
2399 001562 042703 177770 BIC #^C7,R3 ; [**] EXTRACT BITS 37-39, LEAVE THEM AT <0:2>
2400 001566 005704 TST R4 ; [**] 0 = GET EDIT; 1 = GET VERSION
2401 001570 001007 BNE 20$ ; [**] GO GET VERSION
2402 001572 050300 BIS R3,R0 ; [**] AND HERE IS THE LAST DIGIT
2403 001574 010037 000112' MOV R0,UEDIT ; [**] SAVE FOR LATER DISPLAY
2404 001600 005204 INC R4 ; [**] INDICATE WE NOW WANT VERSION #
2405 001602 012700 000136 MOV #136,R0 ; [**] HERE IS WHERE TO FIND IT
2406 001606 000744 BR 10$ ; [**] GO DO IT
2407 001610 010337 000110' 20$: MOV R3,SUBVER ; [**] STORE SUB-VERSION
2408 001614 006200 ASR R0 ; [**] SLIDE ...
2409 001616 006200 ASR R0 ; [**] TO THE ...
2410 001620 006200 ASR R0 ; [**] RIGHTMOST
2411 001622 010037 000106' MOV R0,MAJVER ; [**] STORE RESULT
2412 001626 RETURN
001626 000207 RTS PC
KLICB -- LOAD THE MICROCODE MACRO V05.04 Tuesday 17-May-88 14:21 Page 64
RDMCV - READ MICROCODE VERSION/EDIT LEVEL
2414 ;+
2415 ; PROCESS C-RAM RECORD.
2416 ;
2417 ; NECESSARY EVILS:
2418 ; R3 - POINTS TO THE CURRENT C-RAM WORD FROM THE FILE.
2419 ; R2 - CONTAINS THE NEXT EXPECTED C-RAM ADDRESS TO BE
2420 ; WRITTEN.
2421 ; DCBADR - CONTAINS THE ADDRESS FOR THE C-RAM WORD READ
2422 ; FROM THE FILE.
2423 ; .DRSW - IF NON-ZERO, THEN VERIFY.
2424 ; .SYIRC - COUNT OF BYTES LEFT IN CURRENT RECORD.
2425 ;-
2426
2427 001630 005037 000154' LCBCRM: CLR DCBFIX ; [4.2209] CLEAR FIX FLAG
2428 001634 105737 000027' TSTB .DRSW ; TEST FUNCTION...
2429 001640 001013 BNE 20$ ; IF WE ARE LOADING,
2430 001642 020237 000134' 10$: CMP R2,DCBADR ; AND WORDS ARE BEING SKIPPED
2431 001646 001412 BEQ 30$
2432 001650 012701 000000' MOV #.ZERO,R1 ; THEN ZERO THE WORDS OUT.
2433 001654 010200 MOV R2,R0
2434 001656 CALL $WCRAM
001656 004737 011304' JSR PC,$WCRAM
2435 001662 103541 BCS 80$
2436 001664 005202 INC R2
2437 001666 000765 BR 10$
2438 001670 013702 000134' 20$: MOV DCBADR,R2
2439 001674 30$: CALL LCB6W ; GET THE C-RAM WORD AND
001674 004737 001224' JSR PC,LCB6W
2440 001700 103532 BCS 80$
2441 001702 010200 35$: MOV R2,R0 ; SET UP POINTER.
2442 001704 105737 000027' TSTB .DRSW ; IF WE VERIFY,
2443 001710 001417 BEQ 50$
2444 001712 012701 000156' MOV #DCBCBF,R1 ; GET HOLDING AREA,
2445 001716 CALL $RCRAM ; READ IT IN
001716 004737 011564' JSR PC,$RCRAM
2446 001722 103521 BCS 80$
2447 001724 042761 000020 000004 BIC #20,4(R1) ; [4.1.1072]CLEAR MARK BIT
2448 001732 012705 000006 MOV #6,R5 ; AND COMPARE 6 WORDS
2449 001736 010300 MOV R3,R0
2450 001740 022021 40$: CMP (R0)+,(R1)+
2451 001742 001023 BNE 70$
2452 001744 077503 SOB R5,40$
2453 001746 000404 BR 60$ ; OTHERWISE
2454 001750 010301 50$: MOV R3,R1 ; GET THE WORD ADDRESS
2455 001752 CALL $WCRAM ; AND WRITE INTO THE RAM.
001752 004737 011304' JSR PC,$WCRAM
2456 001756 103503 BCS 80$
2457 001760 005737 000154' 60$: TST DCBFIX ; [4.2209] FIXED FLAG SET?
2458 001764 001402 BEQ 65$ ; [4.2209] NO-- CONTINUE
2459 001766 005337 000152' DEC DCBCNT ; [4.2209] YES-- DECREMENT ERROR COUNT
2460 001772 005037 000154' 65$: CLR DCBFIX ; [4.2209] CLEAR FIX FLAG
2461 001776 005202 INC R2 ; BUMP C-RAM ADDRESS AND
2462 002000 005737 000540' TST .SYIRC ; IF MORE DATA, THEN
2463 002004 001333 BNE 30$ ; GET NEXT WORD OR
2464 002006 000137 001372' JMP LCBRC ; GET NEW RECORD.
2465 002012 70$: CALL $OPLOG ; [4.1.1073]OPEN LOG FILE
002012 004737 000000G JSR PC,$OPLOG
KLICB -- LOAD THE MICROCODE MACRO V05.04 Tuesday 17-May-88 14:21 Page 64-1
RDMCV - READ MICROCODE VERSION/EDIT LEVEL
2466 002016 005737 000154' TST DCBFIX ; [4.2209] FIXED FLAG SET?
2467 002022 001405 BEQ 72$ ; [4.2209] NO-- CONTINUE
2468 002024 012700 000265' MOV #TCBFXF,R0 ; [4.2209] YES-- TYPE MESSAGE
2469 002030 CALL $TTMSG ; [4.2209] TYPE IT
002030 004737 027620' JSR PC,$TTMSG
2470 002034 000756 BR 65$ ; [4.2209] TRY NEXT WORD
2471 002036 010200 72$: MOV R2,R0 ; ERROR - PUT ADDRESS
2472 002040 012701 000117' MOV #TCBDCW,R1 ; INTO ERROR MESSAGE
2473 002044 CALL LCBRME ; AND INFORM OPERATOR.
002044 004737 002516' JSR PC,LCBRME
2474 002050 103446 BCS 80$ ; FIVE UNFIXED ERRORS.
2475 002052 012701 000156' MOV #DCBCBF,R1 ; [4.2209] BAD BUFFER TO TYPE
2476 002056 012700 000424' MOV #TCBBAD,R0 ; [4.2209] HEADER TO TYPE
2477 002062 005004 CLR R4 ; [4.2209] CRAM TYPE OUT SWITCH
2478 002064 CALL LCBVFY ; [4.2209] TYPE BAD DATA
002064 004737 002572' JSR PC,LCBVFY
2479 002070 010301 MOV R3,R1 ; [4.2209] GOOD BUFFER TO TYPE
2480 002072 012700 000432' MOV #TCBGOD,R0 ; [4.2209] HEADER TO TYPE
2481 002076 CALL LCBVFY ; [4.2209] TYPE GOOD DATA
002076 004737 002572' JSR PC,LCBVFY
2482 002102 012700 000156' MOV #DCBCBF,R0 ; [4.2209] BAD DATA PTR
2483 002106 010301 MOV R3,R1 ; [4.2209] GOOD DATA PTR
2484 002110 012705 000006 MOV #6,R5 ; [4.2209] NUMBER OF WORDS
2485 002114 012104 75$: MOV (R1)+,R4 ; [4.2209] GET GOOD DATA
2486 002116 074420 XOR R4,(R0)+ ; [4.2209] GET DIFFERENCES
2487 002120 077503 SOB R5,75$ ; [4.2209] DONE?
2488 002122 012701 000156' MOV #DCBCBF,R1 ; [4.2209] YES-- XOR DATA TO TYPE
2489 002126 012700 000440' MOV #TCBXOR,R0 ; [4.2209] HEADER TO TYPE
2490 002132 005004 CLR R4 ; [4.2209] CRAM TYPE OUT SWITCH
2491 002134 CALL LCBVFY ; [4.2209] TYPE XOR DATA
002134 004737 002572' JSR PC,LCBVFY
2492 002140 105737 000027' TSTB .DRSW ; [4.2209] YES-- TRY TO FIX?
2493 002144 002305 BGE 60$ ; [4.2209] NO-- EXIT
2494 002146 010301 MOV R3,R1 ; [4.2209] YES-- SET UP GOOD DATA
2495 002150 010200 MOV R2,R0 ; [4.2209] ADDR TO WRITE
2496 002152 CALL $WCRAM ; [4.2209] WRITE DATA
002152 004737 011304' JSR PC,$WCRAM
2497 002156 103403 BCS 80$ ; [4.2209] WRITE FAILED
2498 002160 005237 000154' INC DCBFIX ; [4.2209] SET FIXED FLAG
2499 002164 000646 BR 35$ ; [4.2209] VERIFY FIX
2500 002166 000137 002636' 80$: JMP LCBFL ; OPERATION FAILED.
KLICB -- LOAD THE MICROCODE MACRO V05.04 Tuesday 17-May-88 14:21 Page 65
RDMCV - READ MICROCODE VERSION/EDIT LEVEL
2502 ;+
2503 ; PROCESS D-RAM RECORD.
2504 ;
2505 ; NECESSARY EVILS:
2506 ; R3 - POINTS TO D-RAM WORD READ FROM FILE.
2507 ; DCBADR - ADDRESS FOR D-RAM WORD FROM FILE.
2508 ; .DRSW - IF NON-ZERO, THEN VERIFY.
2509 ;-
2510
2511 002172 005037 000154' LCBDRM: CLR DCBFIX ; [4.2209] CLEAR FIX FLAG
2512 002176 CALL LCB3W ; READ D-RAM WORD AND
002176 004737 001216' JSR PC,LCB3W
2513 002202 103543 BCS 40$
2514 002204 013700 000134' MOV DCBADR,R0 ; SET UP POINTERS.
2515 002210 105737 000027' TSTB .DRSW ; TEST FUNCTION...
2516 002214 001005 BNE 10$
2517 002216 010301 MOV R3,R1 ; GET THE WORD AND
2518 002220 CALL $WDRAM ; WRITE IT OUT.
002220 004737 012314' JSR PC,$WDRAM
2519 002224 103021 BCC 20$
2520 002226 000531 BR 40$
2521 002230 012701 000172' 10$: MOV #DCBDBF,R1 ; GET A HOLDING AREA
2522 002234 CALL $RDRAM ; AND READ IT IN
002234 004737 012474' JSR PC,$RDRAM
2523 002240 103524 BCS 40$
2524 002242 010300 MOV R3,R0
2525 002244 042711 000020 BIC #20,(R1) ; CLEAR PARITY BITS
2526 002250 022120 CMP (R1)+,(R0)+ ; AND COMPARE.
2527 002252 001025 BNE 30$
2528 002254 042711 000020 BIC #20,(R1)
2529 002260 022120 CMP (R1)+,(R0)+
2530 002262 001021 BNE 30$
2531 002264 021110 CMP (R1),(R0)
2532 002266 001017 BNE 30$
2533 002270 005737 000154' 20$: TST DCBFIX ; [4.2209] FIXED FLAG SET?
2534 002274 001402 BEQ 25$ ; [4.2209] NO-- CONTINUE
2535 002276 005337 000152' DEC DCBCNT ; [4.2209] YES-- DECREMENT ERROR COUNT
2536 002302 005037 000154' 25$: CLR DCBFIX ; [4.2209] CLEAR FIX FLAG
2537 002306 062737 000002 000134' ADD #2,DCBADR ; BUMP D-RAM ADDRESS.
2538 002314 005737 000540' TST .SYIRC ; END OF RECORD ?
2539 002320 001324 BNE LCBDRM ; NO, STILL GOING,
2540 002322 000137 001372' JMP LCBRC ; OTHERWISE GET NEW RECORD.
2541 002326 30$: CALL $OPLOG ; [4.1.1073]OPEN LOG FILE
002326 004737 000000G JSR PC,$OPLOG
2542 002332 005737 000154' TST DCBFIX ; [4.2209] FIXED FLAG SET?
2543 002336 001405 BEQ 32$ ; [4.2209] NO-- CONTINUE
2544 002340 012700 000265' MOV #TCBFXF,R0 ; [4.2209] YES-- TYPE MESSAGE
2545 002344 CALL $TTMSG ; [4.2209] TYPE IT
002344 004737 027620' JSR PC,$TTMSG
2546 002350 000754 BR 25$ ; [4.2209] TRY NEXT WORD
2547 002352 013700 000134' 32$: MOV DCBADR,R0 ; ERROR - PUT ADDRESS
2548 002356 012701 000151' MOV #TCBDDW,R1 ; IN ERROR MESSAGE
2549 002362 CALL LCBRME ; AND INFORM OPERATOR.
002362 004737 002516' JSR PC,LCBRME
2550 002366 103451 BCS 40$ ; FIVE UNFIXED ERRORS
2551 002370 012704 000001 MOV #1,R4 ; [4.2209] DRAM TYPE OUT SWITCH
2552 002374 012701 000172' MOV #DCBDBF,R1 ; [4.2209] BAD BUFFER
KLICB -- LOAD THE MICROCODE MACRO V05.04 Tuesday 17-May-88 14:21 Page 65-1
RDMCV - READ MICROCODE VERSION/EDIT LEVEL
2553 002400 012700 000424' MOV #TCBBAD,R0 ; [4.2209] HEADER
2554 002404 CALL LCBVFY ; [4.2209] TYPE GOOD DATA
002404 004737 002572' JSR PC,LCBVFY
2555 002410 010301 MOV R3,R1 ; [4.2209] GOOD BUFFER
2556 002412 012700 000432' MOV #TCBGOD,R0 ; [4.2209] HEADER
2557 002416 CALL LCBVFY ; [4.2209] TYPE GOOD DATA
002416 004737 002572' JSR PC,LCBVFY
2558 002422 012700 000172' MOV #DCBDBF,R0 ; [4.2209] BAD BUFFER
2559 002426 010301 MOV R3,R1 ; [4.2209] GOOD DATA
2560 002430 012705 000003 MOV #3,R5 ; [4.2209] NUMBER OF WORDS
2561 002434 012104 35$: MOV (R1)+,R4 ; [4.2209] GET GOOD DATA
2562 002436 074420 XOR R4,(R0)+ ; [4.2209] GET DIFFERENCES
2563 002440 077503 SOB R5,35$ ; [4.2209] DONE?
2564 002442 012701 000172' MOV #DCBDBF,R1 ; [4.2209] YES-- XOR BUFFER
2565 002446 012700 000440' MOV #TCBXOR,R0 ; [4.2209] HEADER
2566 002452 012704 000001 MOV #1,R4 ; [4.2209] DRAM TYPE OUT HEADER
2567 002456 CALL LCBVFY ; [4.2209] TYPE XOR DATA
002456 004737 002572' JSR PC,LCBVFY
2568 002462 105737 000027' TSTB .DRSW ; [4.2209] TRY TO FIX?
2569 002466 002300 BGE 20$ ; [4.2209] NO-- NEXT WORD
2570 002470 013700 000134' MOV DCBADR,R0 ; [4.2209] YES-- SET UP ADDRESS
2571 002474 010301 MOV R3,R1 ; [4.2209] SET UP DATA
2572 002476 CALL $WDRAM ; [4.2209] WRITE IT
002476 004737 012314' JSR PC,$WDRAM
2573 002502 103403 BCS 40$ ; [4.2209] WRITE FAILED
2574 002504 005237 000154' INC DCBFIX ; [4.2209] SET FIXED FLAG
2575 002510 000647 BR 10$ ; [4.2209] VERIFY FIX
2576 002512 000137 002636' 40$: JMP LCBFL ; OPERATION FAILED.
KLICB -- LOAD THE MICROCODE MACRO V05.04 Tuesday 17-May-88 14:21 Page 66
RDMCV - READ MICROCODE VERSION/EDIT LEVEL
2578 ;+
2579 ; INSERT RAM ADDRESS IN ERROR MESSAGE AND PRINT IT. BUMP ERROR COUNT
2580 ; AND IF TOO HIGH, SO INDICATE.
2581 ;
2582 ; INPUTS:
2583 ; R1 - ADDRESS OF MESSAGE TO DISPLAY.
2584 ; R0 - RAM ADDRESS TO DISPLAY IN OCTAL AFTER "AT ".
2585 ;
2586 ; OUTPUT:
2587 ; CARRY SET IF TOO MANY ERRORS.
2588 ;-
2589
2590 002516 004537 024170' LCBRME: JSR R5,$RSAVE
2591 002522 010105 MOV R1,R5 ; GET MESSAGE ADDRESS
2592 002524 122725 000101 10$: CMPB #'A,(R5)+ ; AND LOOK FOR "AT"
2593 002530 001375 BNE 10$
2594 002532 122725 000124 CMPB #'T,(R5)+
2595 002536 001372 BNE 10$
2596 002540 005205 INC R5 ; PASS BY SPACE
2597 002542 CALL $TRB2O ; AND INSERT RAM ADDRESS.
002542 004737 026464' JSR PC,$TRB2O
2598 002546 105015 CLRB (R5) ; THIS IS THE END OF THE MESSAGE.
2599 002550 PRINT R1 ; TYPE OUT OFFENDING ADDRESS.
002550 010100 MOV R1,R0
002552 004737 027620' JSR PC,$TTMSG
2600 002556 005237 000152' INC DCBCNT ; ONE MORE DIFFERENCE.
2601 002562 022737 000005 000152' CMP #5,DCBCNT ; LAST STRAW ?
2602 002570 RETURN ; SETS CARRY IF MCBCNT>5.
002570 000207 RTS PC
2603
2604 ;+
2605 ; TYPE MESSAGE HEADER THEN A SPECIFIED NUMBER OF WORDS AS BINARY VALUES.
2606 ;
2607 ; INPUTS:
2608 ; R0- MESSAGE HEADER.
2609 ; R1- DATA BUFFER TO TYPE AS BINARY DIGITS.
2610 ; R4- CRAM/DRAM TYPE OUT SWITCH
2611 ;
2612 ; OUTPUTS:
2613 ; NONE- NO REGISTERS AFFECTED
2614 ;-
2615
2616 002572 LCBVFY: PUSH <R0> ; [4.2209] SAVE R0
002572 010046 MOV R0,-(SP)
2617 002574 012700 000200' MOV #TTTPR,R0 ; [4.2209] PREFIX HEADER
2618 002600 CALL $TTDMS ; [4.2209] TYPE PREFIX HEADER
002600 004737 027552' JSR PC,$TTDMS
2619 002604 POP <R0> ; [4.2209] RESTORE R0
002604 012600 MOV (SP)+,R0
2620 002606 CALL $TTDMS ; [4.2209] TYPE MESSAGE HEADER
002606 004737 027552' JSR PC,$TTDMS
2621 002612 005704 TST R4 ; [4.2209] TEST SWITCH
2622 002614 001403 BEQ 5$ ; [4.2209] CRAM
2623 002616 CALL $TRDRM ; [4.2209] TYPE DRAM
002616 004737 025642' JSR PC,$TRDRM
2624 002622 000402 BR 7$ ; [4.2209] CONTINUE
2625 002624 5$: CALL $TRCRM ; [4.2209] TYPE CRAM
KLICB -- LOAD THE MICROCODE MACRO V05.04 Tuesday 17-May-88 14:21 Page 66-1
RDMCV - READ MICROCODE VERSION/EDIT LEVEL
002624 004737 025476' JSR PC,$TRCRM
2626 002630 7$: CALL $TCRLF ; [4.2209] TYPE CR-LF
002630 004737 027514' JSR PC,$TCRLF
2627 002634 RETURN ; [4.2209] DONE
002634 000207 RTS PC
2628
2629 ;+
2630 ; OPERATION FAILED - NOTIFY OPERATOR.
2631 ;-
2632
2633 002636 LCBFL: CALL $CLLOG ; [4.1.1073]CLOSE LOG FILE
002636 004737 000000G JSR PC,$CLLOG
2634 002642 012700 000203' MOV #TCBMLF,R0 ; ASSUME LOAD
2635 002646 105737 000027' TSTB .DRSW ; AND IF VERIFY,
2636 002652 001402 BEQ 10$
2637 002654 012700 000233' MOV #TCBMVF,R0 ; GET VERIFY MESSAGE.
2638 002660 10$: PRINT
002660 004737 027620' JSR PC,$TTMSG
2639 002664 CALL $PURGE
002664 004737 010124' JSR PC,$PURGE
2640 002670 000261 SEC
2641 002672 RETURN
002672 000207 RTS PC
KLICB -- LOAD THE MICROCODE MACRO V05.04 Tuesday 17-May-88 14:21 Page 67
RDMCV - READ MICROCODE VERSION/EDIT LEVEL
2643 ;+
2644 ; IDENTIFY THE MICROCODE VERSION NUMBER.
2645 ;-
2646
2647 002674 105737 000027' LCBVR: TSTB .DRSW ; GET MESSAGE:
2648 002700 001003 BNE 10$
2649 002702 012702 000314' MOV #TCBMVL,R2 ; MICROCODE LOADED OR
2650 002706 000402 BR 20$
2651 002710 012702 000357' 10$: MOV #TCBMVV,R2 ; MICROCODE VERIFIED.
2652 002714 010205 20$: MOV R2,R5 ; GET POSITION TO INSERT
2653 002716 122725 000117 30$: CMPB #'O,(R5)+ ; MICROCODE VERSION.
2654 002722 001375 BNE 30$
2655 002724 122725 000116 CMPB #'N,(R5)+
2656 002730 001372 BNE 30$
2657 002732 005205 INC R5
2658 002734 013700 000106' MOV MAJVER,R0 ; [**] FETCH MAJOR VERSION #
2659 002740 CALL $TRB2O ; [**] CONVERT TO ASCII AND INSERT IN BUFFER
002740 004737 026464' JSR PC,$TRB2O
2660 002744 122715 000056 35$: CMPB #'.,(R5) ; [**] FIND DECIMAL POINT TO WRITE SUB-VERSION
2661 002750 001403 BEQ 40$ ; [**] GOT IT ... DISPLAY SUB-VERSION
2662 002752 112725 177777 MOVB #-1,(R5)+ ; [**] FLUSH CHAR AND ...
2663 002756 000772 BR 35$ ; [**] TRY AGAIN
2664 002760 005205 40$: INC R5 ; [**] SKIP OVER DECIMAL POINT
2665 002762 013700 000110' MOV SUBVER,R0 ; [**] GET SUB-VERSION
2666 002766 CALL $TRB2O ; [**] CONVERT TO ASCII AND INSERT IN BUFFER
002766 004737 026464' JSR PC,$TRB2O
2667 002772 005205 INC R5 ; [**] SKIP OVER "["
2668 002774 013700 000112' MOV UEDIT,R0 ; [**] FETCH EDIT #
2669 003000 CALL $TRB2O ; [**] CONVERT TO ASCII AND INSERT IN BUFFER
003000 004737 026464' JSR PC,$TRB2O
2670 003004 122715 000135 45$: CMPB #'],(R5) ; [**] FIND THE OTHER "]"
2671 003010 001403 BEQ 60$ ; [**] OK ... PRINT MESSAGE
2672 003012 112725 177777 MOVB #-1,(R5)+ ; [**] FLUSH FILLER AND ...
2673 003016 000772 BR 45$ ; [**] CONTINUE SCANNING
2674 003020 60$: PRINT R2 ; PRINT THE MESSAGE.
003020 010200 MOV R2,R0
003022 004737 027620' JSR PC,$TTMSG
2675 003026 005705 TST R5 ; HOW DID IT TURN OUT ?
2676 003030 001001 BNE 70$
2677 003032 000261 SEC ; BADLY.....
2678 003034 70$: RETURN
003034 000207 RTS PC
2679
2680 .TITLE KLICF -- CREATE NEW CONFIGURATION IN FILE
2681 003036 IDENT$ 15,12
.IDENT /015120/
2682 ;
2683 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
2684 ; ALL RIGHTS RESERVED.
2685 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
2686 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
2687 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
2688 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
2689 ;
2690 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
2691 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
2692 ; EQUIPMENT CORPORATION.
KLICF -- CREATE NEW CONFIGURATI MACRO V05.04 Tuesday 17-May-88 14:21 Page 67-1
RDMCV - READ MICROCODE VERSION/EDIT LEVEL
2693 ;
2694 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
2695 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
2696 ;
2697 ; VERSION 15-12
2698 ;
2699 ; ALAN D. PECKHAM 11-APR-77
2700 ;
2701 ; MODIFIED BY:
2702 ;
2703 ; R. BELANGER 02-MAR-79 ADD REVERSE MEMORY CONFIGURATION
2704 ; TCO 4.2204
2705 ; R. BELANGER 16-NOV-78 INTEGRATE TOPS-10 SMP FEATURES
2706 ; TCO 4.2093
2707 ; R. BELANGER 25-JUL-78 INTEGRATE MOS CONFIGURATOR
2708 ;
2709 ; S. LEAPLINE 19-AUG-81 SAVE MICROCODE FILENAME IN CONFIG
2710 ;
2711 ; M. RUDENKO 19-MAR-84 ADD MCA25 PAGE SELECT CONFIG
2712 ;
2713 ; FUNCTION: THIS MODULE WRITES OUT THE NEW CONFIGURATION TO
2714 ; KL.CFG IF THE CONFIGURATION HAS BEEN CHANGED.
KLICF -- CREATE NEW CONFIGURATI MACRO V05.04 Tuesday 17-May-88 14:21 Page 68
RDMCV - READ MICROCODE VERSION/EDIT LEVEL
2716 ;
2717 ; EQUATED SYMBOLS
2718 ;
2719 000005 MXTYP = 5 ; LARGEST RECORD TYPE WE HANDLE.
2720 ;
2721 ; LOCAL DATA
2722 ;
2723 000210 .PSECT DATA,D
2724 000210 DCFCFN:
2725 000210 043240 000000 000000 .RAD50 /KL CFG/ ;CONFIGURATION FILE NAME.
000216 011667
2726 000220 000000 .WORD 0 ;CREATE NEXT VERSION.
2727 000222 005 005 .BYTE 5,5
2728 000224 054523 000000 .WORD "SY,0
2729 000230 DCFLFN:
2730 000230 043240 000000 000000 .RAD50 /KL CFG/ ;CONFIGURATION FILE NAME.
000236 011667
2731 000240 177777 .WORD -1 ;DELETE LOWEST VERSION.
2732 000242 005 005 .BYTE 5,5
2733 000244 054523 000000 .WORD "SY,0
2734 000250 DCFRJT:
2735 000250 003314' .WORD LCFREF ; 0 - EOF RECORD
2736 000252 003176' .WORD LCFRMM ; 1 - CONTROLLER RECORD
2738 000254 003276' .WORD LCFRCA ; 2 - CACHE RECORD
2742 000256 003256' .WORD LCFRBF ; 3 - BOOTSTRAP RECORD
2743 000260 003516' .WORD LCFRMC ; 4 - MICROCODE RECORD
2744 000262 003266' .WORD LCFRPA ; [**] 5 - CACHE PAGER RECORD
2748 000536 .PSECT TEXT,D
2749 000536 TCFCFA:
2750 000536 MESSAGE <CONFIGURATION FILE WRITTEN> ; [4.2251]
000536 103 117 116 .ASCIZ \CONFIGURATION FILE WRITTEN\
000541 106 111 107
000544 125 122 101
000547 124 111 117
000552 116 040 106
000555 111 114 105
000560 040 127 122
000563 111 124 124
000566 105 116 000
2751 000571 TCFCFE:
2752 000571 ERROR <CONFIGURATION FILE NOT CHANGED>
000571 077 040 103 .ASCIZ \? CONFIGURATION FILE NOT CHANGED\
000574 117 116 106
000577 111 107 125
000602 122 101 124
000605 111 117 116
000610 040 106 111
000613 114 105 040
000616 116 117 124
000621 040 103 110
000624 101 116 107
000627 105 104 000
2753 003036 .PSECT
KLICF -- CREATE NEW CONFIGURATI MACRO V05.04 Tuesday 17-May-88 14:21 Page 69
$FILE -- WRITE THE CONFIGURATION FILE
2755 .SBTTL $FILE -- WRITE THE CONFIGURATION FILE
2756
2757 ;+
2758 ; CONFIGURATION FILE FORMAT:
2759 ;
2760 ; GENERAL --
2761 ;
2762 ; RECORDS IN THE CONFIGURATION FILE HAVE THE FOLLOWING GENERAL FORMAT:
2763 ;
2764 ; +-----------+
2765 ; ! .WORD N !
2766 ; +-----------+
2767 ; ! RECORD ID !
2768 ; +-----------+
2769 ; ! .BLKB N-2 !
2770 ; +-----------+
2771 ;
2772 ; END-OF-FILE RECORD:
2773 ;
2774 ; THE END-OF FILE RECORD IS FIXED-LENGTH IN THE FOLLOWING FORMAT:
2775 ;
2776 ; +-----------+
2777 ; ! .WORD 2 !
2778 ; +-----------+
2779 ; ! .WORD 0 !
2780 ; +-----------+
2781 ;
2782 ; MEMORY CONTROLLER RECORD:
2783 ;
2784 ; A MEMORY CONTROLLER RECORD IS FIXED-LENGTH IN THE FOLLOWING FORMAT:
2785 ;
2786 ; +-----------+
2787 ; ! .WORD 6 !
2788 ; +-----------+
2789 ; ! .WORD 1 !
2790 ; +-----------+
2791 ; ! .BLKB 4 !
2792 ; +-----------+
2793 ;
2794 ; CACHE RECORD:
2795 ;
2796 ; A CACHE RECORD IS VARIABLE-LENGTH IN THE FOLLOWING FORMAT:
2797 ;
2798 ; +-----------+
2799 ; ! .WORD X ! (X = .NCACH + 3)
2800 ; +-----------+
2801 ; ! .WORD 2 !
2802 ; +-----------+
2803 ; ! .BLKB Y ! (Y = .NCACH)
2804 ; +-----------+
2805 ;
2806 ; BOOTSTRAP RECORD:
2807 ;
2808 ; THE BOOTSTRAP RECORD IS VARIABLE-LENGTH IN THE FOLLOWING FORMAT:
2809 ;
2810 ; +-----------+
2811 ; ! .WORD N ! (N >= 4)
KLICF -- CREATE NEW CONFIGURATI MACRO V05.04 Tuesday 17-May-88 14:21 Page 69-1
$FILE -- WRITE THE CONFIGURATION FILE
2812 ; +-----------+
2813 ; ! .WORD 3 !
2814 ; +-----------+
2815 ; ! .BLKB 1 !
2816 ; +-----------+
2817 ; ! .BLKB 1 !
2818 ; +-----------+
2819 ; ! .BLKW 4 !
2820 ; +-----------+
2821 ;
2822 ; THE FIRST TWO BYTES IN THE RECORD ARE ".BTSW" AND ".UFNSW". IF
2823 ; THE USER SPECIFIED A FILENAME FOR THE BOOTSTRAP, THE FILENAME IS
2824 ; SAVED IN THE LAST FOUR WORDS OF THE BOOTSTRAP RECORD.
2825 ;
2826 ; MICROCODE RECORD:
2827 ;
2828 ; A MICROCODE RECORD IS FIXED LENGTH IN THE FOLLOWING FORMAT:
2829 ;
2830 ; +-----------+
2831 ; ! .WORD 14 !
2832 ; +-----------+
2833 ; ! .WORD 4 !
2834 ; +-----------+
2835 ; ! .BLKB 1 !
2836 ; +-----------+
2837 ; ! .BLKW 4 !
2838 ; +-----------+
2839 ; A NON EXISTENT RECORD IN THE FILE IMPLIES THE DEFAULT, ALL, OR YES
2840 ; OPTION IS TO BE TAKEN
2841 ;
2842 ; CACHE PAGER RECORD [**] :
2843 ;
2844 ; A (MCA25) CACHE PAGER RECORD IS FIXED-LENGTH IN THE FOLLOWING FORMAT:
2845 ;
2846 ; +-----------+
2847 ; ! .WORD 4 !
2848 ; +-----------+
2849 ; ! .WORD 5 !
2850 ; +-----------+
2851 ; ! .BLKB 2 !
2852 ; +-----------+
2853 ;
2854 ;-
KLICF -- CREATE NEW CONFIGURATI MACRO V05.04 Tuesday 17-May-88 14:21 Page 70
$FILE -- WRITE THE CONFIGURATION FILE
2856 003036 $FILE::
2857 003036 105737 000047' TSTB .FILSW ; WRITE CONFIGURATION FILE??
2858 003042 100002 BPL 5$ ; [**] YES -- CONTINUE
2859 003044 000137 003474' JMP LCFRTN ; NO -- JUST EXIT
2860 003050 105737 000050' 5$: TSTB .BTSW ; YES -- BOOTSTRAP MODIFIED??
2861 003054 001014 BNE 10$ ; YES -- WRITE THE FILE
2862 003056 105737 000025' TSTB .MCBSW ; MICROCODE FILENAME SPECIFIED
2863 003062 001011 BNE 10$ ; YES, WRITE THE FILE
2865 003064 105737 000031' TSTB .DCSW ; IF NO CACHE OR
2866 003070 001006 BNE 10$
2867 003072 105737 000032' TSTB .DMSW ; MEMORY MODIFICATION,
2871 003076 001003 BNE 10$ ; [**] MEMORY CHANGED -- WRITE FILE
2872 003100 105737 000034' TSTB .PTSW ; [**] IF NO PAGE TABLE SELECTION...
2873 003104 001573 BEQ LCFRTN ; LEAVE THE FILE ALONE.
2874 003106 10$:
2875 003106 005004 CLR R4 ; SET INPUT FILE SWITCH.
2876 003110 012700 000210' MOV #DCFCFN,R0 ; FIRST, FIND OLD FILE
2877 003114 CALL $LOOKUP
003114 004737 007562' JSR PC,$LOOKUP
2878 003120 103005 BCC 20$
2879 003122 122737 000000G 000532' CMPB #IE.NSF,.SYSTA ; IF NOT THERE
2880 003130 001164 BNE LCFERR
2881 003132 005304 DEC R4 ; SET INDICATOR.
2882 003134 20$:
2883 003134 012700 000210' MOV #DCFCFN,R0 ; OPEN 'KL.CFG'
2884 003140 CALL $ENTER ; FOR OUTPUT.
003140 004737 007734' JSR PC,$ENTER
2885 003144 103556 BCS LCFERR
2886 003146 005704 TST R4 ; IF NO INPUT FILE
2887 003150 002461 BLT LCFREF ; THEN DON'T READ IT.
2888 ;
2889 ; READ THE NEXT RECORD FROM THE FILE AND DISPATCH ON ITS RECORD TYPE
2890 ;
2891 003152 LCFNXT:
2892 003152 CALL $READC ; READ NEXT RECORD
003152 004737 010216' JSR PC,$READC
2893 003156 103547 BCS LCFPRG
2894 003160 010001 MOV R0,R1 ; AND SAVE ID.
2895 003162 022701 000005 CMP #MXTYP,R1 ; IS IT MY RECORD ?
2896 003166 002406 BLT LCFCPY ; NO, JUST TRANSFER.
2897 003170 006300 ASL R0
2898 003172 000170 000250' JMP @DCFRJT(R0) ; PROCESS THE RECORD.
2899 ;
2900 ;
2901 ; PROCESS MEMORY CONTROLLER RECORDS
2902 ;
2903 003176 LCFRMM:
2904 003176 105737 000032' TSTB .DMSW ; IF MEMORY CONFIGURATION IS CHANGED
2905 003202 001040 BNE LCFSKP ; THEN SKIP RECORD, OTHERWISE
2906 ;
2907 ; COPY A RECORD FROM THE INPUT FILE TO THE OUTPUT FILE
2908 ;
2909 003204 LCFCPY:
2910 003204 013700 000540' MOV .SYIRC,R0 ; TRANSFER RECORD TO OUTPUT FILE.
2911 003210 062700 000002 ADD #2,R0
2912 003214 CALL $WRITC ; (BYTE COUNT)
003214 004737 010624' JSR PC,$WRITC
KLICF -- CREATE NEW CONFIGURATI MACRO V05.04 Tuesday 17-May-88 14:21 Page 70-1
$FILE -- WRITE THE CONFIGURATION FILE
2913 003220 103526 BCS LCFPRG
2914 003222 010100 MOV R1,R0
2915 003224 CALL $WRITW ; (ID #)
003224 004737 010736' JSR PC,$WRITW
2916 003230 103522 BCS LCFPRG
2917 003232 10$:
2918 003232 005737 000540' TST .SYIRC ; ANY MORE STUFF ?
2919 003236 003745 BLE LCFNXT ; NO, WE ARE FINISHED.
2920 003240 CALL $READB
003240 004737 010420' JSR PC,$READB
2921 003244 103514 BCS LCFPRG
2922 003246 CALL $WRITB
003246 004737 011032' JSR PC,$WRITB
2923 003252 103511 BCS LCFPRG
2924 003254 000766 BR 10$ ; LOOP UNTIL WE RUN OUT OF BYTES.
2925 ;
2926 ;
2927 ; PROCESS THE BOOTSTRAP RECORD
2928 ;
2929 003256 LCFRBF:
2930 003256 105737 000050' TSTB .BTSW ; BOOTSTRAP FLAG MODIFIED??
2931 003262 001750 BEQ LCFCPY ; NO -- COPY RECORD
2932 003264 000407 BR LCFSKP ; YES --SKIP RECORD
2933 ;
2934 ;
2935 ; PROCESS THE CACHE PAGER RECORD [**]
2936 ;
2937 003266 LCFRPA:
2938 003266 105737 000034' TSTB .PTSW ; [**] CACHE PAGER MODIFIED?
2939 003272 001744 BEQ LCFCPY ; [**] NO -- COPY RECORD
2940 003274 000403 BR LCFSKP ; [**] YES -- SKIP RECORD
2941 ;
2943 ;
2944 ; PROCESS THE CACHE RECORD
2945 ;
2946 003276 LCFRCA:
2947 003276 105737 000031' TSTB .DCSW ; IF CACHE IS NOT CHANGED
2948 003302 001740 BEQ LCFCPY ; THEN COPY CACHE RECORD, OTHERWISE
2950 ;
2951 ; SKIP AN INPUT RECORD
2952 ;
2953 003304 LCFSKP:
2954 003304 CALL $READS ; SKIP THIS RECORD.
003304 004737 010254' JSR PC,$READS
2955 003310 103472 BCS LCFPRG
2956 003312 000717 BR LCFNXT ; GET A NEW RECORD.
2957 ;
2959 ;
2960 ; HERE ON END-OF-FILE RECORD
2961 ;
2962 003314 LCFREF:
2963 003314 105737 000031' TSTB .DCSW ; IF CACHE WAS CHANGED
2964 003320 001403 BEQ 10$
2965 003322 CALL LCFWCA ; THEN WRITE THE CACHE RECORD.
003322 004737 003772' JSR PC,LCFWCA
2966 003326 103463 BCS LCFPRG
2967 003330 10$:
KLICF -- CREATE NEW CONFIGURATI MACRO V05.04 Tuesday 17-May-88 14:21 Page 70-2
$FILE -- WRITE THE CONFIGURATION FILE
2968 003330 105737 000032' TSTB .DMSW ; IF THE MEMORY CONFIGURATION
2973 003334 001403 BEQ 20$ ; WAS CHANGED, THEN
2974 003336 CALL LCFWMM ; WRITE THE CONTROLLER RECORDS.
003336 004737 003664' JSR PC,LCFWMM
2975 003342 103455 BCS LCFPRG
2976 003344 20$:
2977 003344 105737 000050' TSTB .BTSW ; BOOT FLAG CHANGED??
2978 003350 001403 BEQ 30$ ; NO -- GO ON
2979 003352 CALL LCFWBF ; YES -- WRITE BOOT RECORD
003352 004737 003526' JSR PC,LCFWBF
2980 003356 103447 BCS LCFPRG ;ERROF CC-C IS SET
2981 003360 30$:
2982 003360 105737 000025' TSTB .MCBSW ; MICROCODE FILENAME MODIFIED ?
2983 003364 001403 BEQ 40$ ; NO, GO ON
2984 003366 CALL LCFWMC ; WRITE THE MICROCODE RECORD
003366 004737 004060' JSR PC,LCFWMC
2985 003372 103441 BCS LCFPRG ; ERROR
2986 003374 40$:
2987 003374 105737 000034' TSTB .PTSW ; [**] CACHE PAGER MODIFIED?
2988 003400 001403 BEQ 50$ ; [**] NO -- GO ON
2989 003402 CALL LCFWPA ; [**] YES -- WRITE PAGE TABLE SELECTION
003402 004737 004142' JSR PC,LCFWPA
2990 003406 103433 BCS LCFPRG ; [**] ERROR
2991 003410 50$:
2992 003410 CALL LCFWEF ; NOW WRITE END OF FILE.
003410 004737 003642' JSR PC,LCFWEF
2993 003414 103430 BCS LCFPRG
2994 003416 CALL $CLOSE ; CLOSE THE FILE AND
003416 004737 007056' JSR PC,$CLOSE
2995 003422 103425 BCS LCFPRG
2996 003424 005704 TST R4 ; DELETE THE OLD VERSION
2997 003426 002404 BLT 90$ ; IF THERE IS ONE.
2998 003430 012700 000230' MOV #DCFLFN,R0
2999 003434 CALL $DELETE
003434 004737 007214' JSR PC,$DELETE
3000 003440 90$:
3001 003440 PRINT #TCFCFA ; INFORM THE OPERATOR.
003440 012700 000536' MOV #TCFCFA,R0
003444 004737 027620' JSR PC,$TTMSG
3002 003450 105037 000050' CLRB .BTSW ; RESET THE BOOTSTRAP SWITCH
3003 003454 105037 000025' CLRB .MCBSW ; RESET MICROCODE FLAG
3005 003460 105037 000031' CLRB .DCSW
3007 003464 105037 000032' CLRB .DMSW ; FILE NOW CORRESPONDS
3008 003470 105037 000034' CLRB .PTSW ; [**] RESET PAGE TABLE SWITCH
3009 ;
3010 ; NORMAL EXIT
3011 ;
3012 003474 LCFRTN:
3013 003474 RETURN ; TO NEW CONFIGURATION.
003474 000207 RTS PC
3014 ;
3015 ; ERROR EXIT
3016 ;
3017 003476 LCFPRG:
3018 003476 CALL $PURGE ; ERROR ! PURGE FILE
003476 004737 010124' JSR PC,$PURGE
3019 003502 LCFERR:
KLICF -- CREATE NEW CONFIGURATI MACRO V05.04 Tuesday 17-May-88 14:21 Page 70-3
$FILE -- WRITE THE CONFIGURATION FILE
3020 003502 PRINT #TCFCFE ; TELL OPERATOR
003502 012700 000571' MOV #TCFCFE,R0
003506 004737 027620' JSR PC,$TTMSG
3021 003512 000261 SEC
3022 003514 RETURN ; AND GO AWAY.
003514 000207 RTS PC
3023
3024 003516 LCFRMC:
3025 003516 105737 000025' TSTB .MCBSW ; FILENAME SPECIFIED ??
3026 003522 001630 BEQ LCFCPY ; NO, SKIP THIS RECORD
3027 003524 000667 BR LCFSKP ; YES, SKIP IT
KLICF -- CREATE NEW CONFIGURATI MACRO V05.04 Tuesday 17-May-88 14:21 Page 71
$FILE -- WRITE BOOTSTRAP RECORD
3029 .SBTTL $FILE -- WRITE BOOTSTRAP RECORD
3030
3031 ;+
3032 ; ROUTINES TO WRITE THE INDIVIDUAL RECORDS
3033 ;-
3034
3035 ;
3036 ; WRITE THE BOOTSTRAP RECORD
3037 ;
3038
3039 003526 LCFWBF:
3040 003526 012700 000004 MOV #4,R0 ; WRITE BOOTSTRAP RECORD
3041 003532 105737 000026' TSTB .UFNSW ; DID HE SPECIFY A FILE-NAME??
3042 003536 001402 BEQ 10$ ; NO -- GO ON
3043 003540 062700 000010 ADD #10,R0 ; YES -- ALLOW FOR IT
3044 003544 10$:
3045 003544 CALL $WRITC ; WRITE THE RECORD HEADER
003544 004737 010624' JSR PC,$WRITC
3046 003550 103433 BCS 30$ ; ERROR IF CC-C IS SET
3047 003552 012700 000003 MOV #3,R0 ; RECORD ID
3048 003556 CALL $WRITW ; WRITE IT
003556 004737 010736' JSR PC,$WRITW
3049 003562 103426 BCS 30$ ; ERROR IF CC-C IS SET
3050 003564 113700 000050' MOVB .BTSW,R0 ; BOOTSTRAP SWITCH TO R0
3051 003570 CALL $WRITB ; WRITE IT
003570 004737 011032' JSR PC,$WRITB
3052 003574 103421 BCS 30$ ; ERROR IF CC-C IS SET
3053 003576 113700 000026' MOVB .UFNSW,R0 ; FILE-NAME SWITCH TO R0
3054 003602 CALL $WRITB ; WRITE IT
003602 004737 011032' JSR PC,$WRITB
3055 003606 103414 BCS 30$ ; ERROR IF CC-C IS SET
3056 003610 005737 001572' TST .SYORC ; ARE WE DONE??
3057 003614 001411 BEQ 30$ ; YES -- EXIT
3058 003616 012701 000004 MOV #4,R1 ; NO -- SET UP TO WRITE FILE-NAME
3059 003622 012702 000502' MOV #.USRFN,R2 ; POINT TO THE FILE-NAME
3060 003626 20$:
3061 003626 012200 MOV (R2)+,R0 ; GET ONE WORD AT A TIME
3062 003630 CALL $WRITW ; WRITE IT
003630 004737 010736' JSR PC,$WRITW
3063 003634 103401 BCS 30$ ; ERROR IF CC-C IS SET
3064 003636 077105 SOB R1,20$ ; DO ALL 4 ELEMENTS
3065 003640 30$:
3066 003640 RETURN ; EXIT
003640 000207 RTS PC
KLICF -- CREATE NEW CONFIGURATI MACRO V05.04 Tuesday 17-May-88 14:21 Page 72
$FILE -- WRITE END-OF-FILE RECORD
3068 .SBTTL $FILE -- WRITE END-OF-FILE RECORD
3069
3070 ;
3071 ; WRITE END-OF-FILE RECORD
3072 ;
3073
3074 003642 LCFWEF:
3075 003642 012700 000002 MOV #2,R0 ; WRITE EOF RECORD.
3076 003646 CALL $WRITC
003646 004737 010624' JSR PC,$WRITC
3077 003652 103403 BCS 10$
3078 003654 005000 CLR R0
3079 003656 CALLR $WRITW
003656 000137 010736' JMP $WRITW
3080 ;
3081 003662 10$:
3082 003662 RETURN
003662 000207 RTS PC
KLICF -- CREATE NEW CONFIGURATI MACRO V05.04 Tuesday 17-May-88 14:21 Page 73
$FILE -- WRITE MEMORY CONTROLLER RECORDS
3084 .SBTTL $FILE -- WRITE MEMORY CONTROLLER RECORDS
3085
3086 ;
3087 ; WRITE MEMORY CONTROLLER RECORD(S)
3088 ;
3089
3090 003664 LCFWMM:
3091 003664 005002 CLR R2 ; WRITE OUT MEMORY RECORDS.
3092 003666 10$:
3093 003666 105762 000072' TSTB .CTLTP(R2) ; CHECK IF CONTROLLER USED.
3094 003672 001432 BEQ 20$ ; NOT USED -- TRY FOR THE NEXT CONTROLLER
3095 003674 012700 000006 MOV #6,R0 ; OK - INCLUDE IN FILE.
3096 003700 CALL $WRITC ; (LENGTH)
003700 004737 010624' JSR PC,$WRITC
3097 003704 103431 BCS 30$
3098 003706 012700 000001 MOV #1,R0
3099 003712 CALL $WRITW ; (ID #)
003712 004737 010736' JSR PC,$WRITW
3100 003716 103424 BCS 30$
3101 003720 010200 MOV R2,R0
3102 003722 CALL $WRITB ; (CONTROLLER #)
003722 004737 011032' JSR PC,$WRITB
3103 003726 103420 BCS 30$
3104 003730 116200 000072' MOVB .CTLTP(R2),R0
3105 003734 CALL $WRITB ; (TYPE)
003734 004737 011032' JSR PC,$WRITB
3106 003740 103413 BCS 30$
3107 003742 006302 ASL R2 ; WORD INDEX
3108 003744 016200 000134' MOV .CFGTB(R2),R0
3109 003750 006202 ASR R2 ; BACK TO BYTE INDEX
3110 003752 CALL $WRITW ; (MODULES/BLOCKS/INTERLEAVE/BUS-MODE)
003752 004737 010736' JSR PC,$WRITW
3111 003756 103404 BCS 30$
3112 003760 20$:
3113 003760 005202 INC R2 ; CHECK ALL CONTROLLERS.
3114 003762 022702 000041 CMP #CTLS+1,R2 ; [4.2204] AND REVERSE CONFIGURATION FLAG
3115 003766 003337 BGT 10$
3116 003770 30$:
3117 003770 RETURN
003770 000207 RTS PC
KLICF -- CREATE NEW CONFIGURATI MACRO V05.04 Tuesday 17-May-88 14:21 Page 74
$FILE -- WRITE CACHE RECORDS
3119 .SBTTL $FILE -- WRITE CACHE RECORDS
3120
3121
3122 ;
3123 ; WRITE CACHE RECORD(S)
3124 ;
3126
3127 003772 LCFWCA:
3128 003772 113700 000064' MOVB .NCACH,R0 ; WRITE OUT CACHE RECORD.
3129 003776 010001 MOV R0,R1
3130 004000 062700 000003 ADD #3,R0
3131 004004 CALL $WRITC ; (LENGTH)
004004 004737 010624' JSR PC,$WRITC
3132 004010 103422 BCS 20$
3133 004012 012700 000002 MOV #2,R0
3134 004016 CALL $WRITW ; (ID #)
004016 004737 010736' JSR PC,$WRITW
3135 004022 103415 BCS 20$
3136 004024 110100 MOVB R1,R0
3137 004026 CALL $WRITB ; (# CACHES)
004026 004737 011032' JSR PC,$WRITB
3138 004032 103411 BCS 20$
3139 004034 005701 TST R1
3140 004036 001407 BEQ 20$
3141 004040 012702 000065' MOV #.CACHN,R2
3142 004044 10$:
3143 004044 112200 MOVB (R2)+,R0
3144 004046 CALL $WRITB ; (CACHE #S)
004046 004737 011032' JSR PC,$WRITB
3145 004052 103401 BCS 20$
3146 004054 077105 SOB R1,10$
3147 004056 20$:
3148 004056 RETURN
004056 000207 RTS PC
KLICF -- CREATE NEW CONFIGURATI MACRO V05.04 Tuesday 17-May-88 14:21 Page 75
$FILE -- WRITE MICROCODE RECORDS
3151 .SBTTL $FILE -- WRITE MICROCODE RECORDS
3152
3153 ;
3154 ; WRITE MICROCODE RECORDS
3155 ;
3156
3157 004060 LCFWMC:
3158 004060 012700 000014 MOV #14,R0 ; SIZE OF RECORD
3159 004064 CALL $WRITC ; WRITE IT
004064 004737 010624' JSR PC,$WRITC
3160 004070 103423 BCS 20$ ; ERROR
3161 004072 012700 000004 MOV #4,R0 ; OUR RECORD TYPE
3162 004076 CALL $WRITW ; WRITE IT
004076 004737 010736' JSR PC,$WRITW
3163 004102 103416 BCS 20$ ; ERROR
3164 004104 113700 000025' MOVB .MCBSW,R0 ; FILENAME SWITCH
3165 004110 CALL $WRITB ; WRITE IT
004110 004737 011032' JSR PC,$WRITB
3166 004114 103411 BCS 20$ ; ERROR
3167 004116 012701 000004 MOV #4,R1 ; NUMBER OF WORDS IN FILENAME
3168 004122 012702 000462' MOV #.MCBFN,R2 ; WHERE ITS AT
3169 004126 10$:
3170 004126 012200 MOV (R2)+,R0 ; GET A WORD
3171 004130 CALL $WRITW ; AND WRITE IT
004130 004737 010736' JSR PC,$WRITW
3172 004134 103401 BCS 20$ ; ERROR
3173 004136 077105 SOB R1,10$ ; LOOP FOR ALL
3174 004140 20$:
3175 004140 RETURN
004140 000207 RTS PC
KLICF -- CREATE NEW CONFIGURATI MACRO V05.04 Tuesday 17-May-88 14:21 Page 76
$FILE -- WRITE PAGE TABLE SELECTION
3177 .SBTTL $FILE -- WRITE PAGE TABLE SELECTION
3178
3179 ;
3180 ; WRITE (MCA25) PAGE TABLE SELECTION [**]
3181 ;
3182
3183 004142 LCFWPA:
3184 004142 012700 000004 MOV #4,R0 ; [**] RECORD SIZE
3185 004146 CALL $WRITC ; [**] WRITE IT
004146 004737 010624' JSR PC,$WRITC
3186 004152 103411 BCS 10$ ; [**] QUIT ON ERROR
3187 004154 012700 000005 MOV #5,R0 ; [**] RECORD TYPE
3188 004160 CALL $WRITW ; [**] WRITE IT
004160 004737 010736' JSR PC,$WRITW
3189 004164 103404 BCS 10$ ; [**] QUIT ON ERROR
3190 004166 013700 000530' MOV .PTSEL,R0 ; [**] FETCH NEW SELECTION
3191 004172 CALL $WRITW ; [**] WRITE IT
004172 004737 010736' JSR PC,$WRITW
3192 004176 10$:
3193 004176 RETURN ; [**] FINIS
004176 000207 RTS PC
KLICF -- CREATE NEW CONFIGURATI MACRO V05.04 Tuesday 17-May-88 14:21 Page 77
$FILE -- WRITE PAGE TABLE SELECTION
3195
3196 .TITLE KLICI -- INTERNAL AND MOS DIALOGUE
3197 004200 IDENT$ 10,0,KLI$$F
.IDENT /B10000/
3198 ;
3199 ; COPYRIGHT (C) 1975, 1984, 1985 BY
3200 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
3201 ; ALL RIGHTS RESERVED.
3202 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
3203 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
3204 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
3205 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
3206 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
3207 ;
3208 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
3209 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
3210 ; CORPORATION.
3211 ;
3212 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
3213 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
3214 ;
3215 ;
3216 ; MODULE: INTERNAL AND MOS DIALOGUE
3217 ;
3218 ; VERSION: 10-00
3219 ;
3220 ; DATE: 25-JUL-78
3221 ;
3222 ; AUTHOR: R. BELANGER
3223 ;
3224 ; MODIFICATIONS:
3225 ;
3226 ; NO. DATE PROGRAMMER REASON
3227 ; --- ---- ---------- ------
3228 ;
3229 ; LOCAL DATA
3230 ;
3231
3232 000632 .PSECT TEXT,D
3233 000632 CFIMQ1:
3234 000632 MESSAGE <CONFIGURE INTERNAL CORE MEMORY [ALL,YES,NO]?>
000632 103 117 116 .ASCIZ \CONFIGURE INTERNAL CORE MEMORY [ALL,YES,NO]?\
000635 106 111 107
000640 125 122 105
000643 040 111 116
000646 124 105 122
000651 116 101 114
000654 040 103 117
000657 122 105 040
000662 115 105 115
000665 117 122 131
000670 040 133 101
000673 114 114 054
000676 131 105 123
000701 054 116 117
000704 135 077 000
3235 000707 CFMMQ1:
KLICI -- INTERNAL AND MOS DIALO MACRO V05.04 Tuesday 17-May-88 14:21 Page 77-1
$FILE -- WRITE PAGE TABLE SELECTION
3236 000707 MESSAGE <CONFIGURE MOS MEMORY [ALL,YES,NO]?>
000707 103 117 116 .ASCIZ \CONFIGURE MOS MEMORY [ALL,YES,NO]?\
000712 106 111 107
000715 125 122 105
000720 040 115 117
000723 123 040 115
000726 105 115 117
000731 122 131 040
000734 133 101 114
000737 114 054 131
000742 105 123 054
000745 116 117 135
000750 077 000
3237 000752 CFIMQ2:
3238 000752 MESSAGE <KLI -- MODULES/BLOCKS WITHIN CONTROLLER _>
000752 113 114 111 .ASCIZ \KLI -- MODULES/BLOCKS WITHIN CONTROLLER _\
000755 040 055 055
000760 040 115 117
000763 104 125 114
000766 105 123 057
000771 102 114 117
000774 103 113 123
000777 040 127 111
001002 124 110 111
001005 116 040 103
001010 117 116 124
001013 122 117 114
001016 114 105 122
001021 040 137 000
3239 001024 CFIMQ3:
3240 001024 MESSAGE < [ALL,NONE,SPECIFY]?>
001024 040 133 101 .ASCIZ \ [ALL,NONE,SPECIFY]?\
001027 114 114 054
001032 116 117 116
001035 105 054 123
001040 120 105 103
001043 111 106 131
001046 135 077 000
3241 001051 CFIMQ4:
3242 001051 MESSAGE <INTERNAL CORE MEMORY INTERLEAVE UPPER LIMIT [4,2,1]?>
001051 111 116 124 .ASCIZ \INTERNAL CORE MEMORY INTERLEAVE UPPER LIMIT [4,2,1]?\
001054 105 122 116
001057 101 114 040
001062 103 117 122
001065 105 040 115
001070 105 115 117
001073 122 131 040
001076 111 116 124
001101 105 122 114
001104 105 101 126
001107 105 040 125
001112 120 120 105
001115 122 040 114
001120 111 115 111
001123 124 040 133
001126 064 054 062
001131 054 061 135
KLICI -- INTERNAL AND MOS DIALO MACRO V05.04 Tuesday 17-May-88 14:21 Page 77-2
$FILE -- WRITE PAGE TABLE SELECTION
001134 077 000
3243 004200 .PSECT
KLICI -- INTERNAL AND MOS DIALO MACRO V05.04 Tuesday 17-May-88 14:21 Page 78
$CFIMD -- SET UP INTERNAL MEMORY CONFIGURATION TABLES
3245 .SBTTL $CFIMD -- SET UP INTERNAL MEMORY CONFIGURATION TABLES
3246
3247 ;+
3248 ; $CFIMD -- SET UP INTERNAL MEMORY CONFIGURATION TABLES
3249 ;
3250 ; $CFIMD SETS UP THE INTERNAL MEMORY CONFIGURATION TABLES FROM THE DIALOGUE.
3251 ; THE MEMORY BOOT'S TABLES ARE SIMPLY CHECKED, AND NOT ALTERED
3252 ;
3253 ; $CFMMD -- SET UP MOS MEMORY CONFIGURATION TABLES
3254 ;
3255 ; $CFMMD SETS UP THE MOS MEMORY CONFIGURATION TABLES FROM THE DIALOGUE.
3256 ; THE MEMORY BOOT'S TABLES ARE SIMPLY CHECKED, AND NOT ALTERED
3257 ;-
3258
3259 004200 $CFMMD::
3260 004200 105737 000000G TSTB MF20 ; DO WE HAVE MOS MEMORY??
3261 004204 001410 BEQ 10$ ; NO -- JUST EXIT
3262 004206 012703 000013 MOV #13,R3 ; YES -- MAX LEGAL BLOCK NUMBER TO R3
3263 004212 012704 000010 MOV #10,R4 ; ITERATION COUNT TO R4
3264 004216 010402 MOV R4,R2 ; IS ALSO BASE CONTROLLER NUMBER
3265 004220 012700 000707' MOV #CFMMQ1,R0 ; MESSAGE POINTER TO R0
3266 004224 000421 BR CFGXMC ; GO TO COMMON CODE
3267 ;
3268 004226 10$:
3269 004226 CALLR $CFGXX ; EXIT TO CONFIGURE MEMORY
004226 000137 020216' JMP $CFGXX
3270 ;
3271
3272 .ENABL LSB
3273
3274 004232 $CFIMD::
3275 004232 105737 000000G TSTB MA20 ; DO WE HAVE INTERNAL MEMORY??
3276 004236 001005 BNE 5$ ; YES -- GO ON
3277 004240 105737 000000G TSTB MB20 ; NO -- HOW ABOUT MB20'S??
3278 004244 001002 BNE 5$ ; YES -- GO ON
3279 004246 CALLR $DLGXM ; NO -- TRY FOR EXTERNAL MEMORY
004246 000137 020334' JMP $DLGXM
3280 ;
3281 004252 5$:
3282 004252 012703 000003 MOV #3,R3 ; YES -- MAX LEGAL BLOCK NUMBER TO R3
3283 004256 012700 000632' MOV #CFIMQ1,R0 ; MESSAGE POINTER TO R0
3284 004262 005002 CLR R2 ; INIT COUNTER
3285 004264 012704 000004 MOV #4,R4 ; MAXIMUM OF FOUR INTERNAL CONTROLLERS
3286 ;
3287 ; ASK THE TOP-LEVEL QUESTION
3288 ;
3289 004270 CFGXMC:
3290 004270 10$:
3291 004270 105737 000032' TSTB .DMSW ; ARE WE IN DIALOG MODE??
3292 004274 002440 BLT 20$ ; NO -- TAKE DEFAULT PATH
3293 004276 CALL $TTMSG ; YES -- ASK THE FIRST QUESTION
004276 004737 027620' JSR PC,$TTMSG
3294 004302 CALL $TTRD ; READ THE RESPONSE
004302 004737 027114' JSR PC,$TTRD
3295 004306 012705 000304' MOV #.TTIBF,R5 ; POINT TO THE INPUT BUFFER
3296 004312 105715 TSTB (R5) ; DEFAULT??
3297 004314 001430 BEQ 20$ ; YES -- DO "ALL"
KLICI -- INTERNAL AND MOS DIALO MACRO V05.04 Tuesday 17-May-88 14:21 Page 78-1
$CFIMD -- SET UP INTERNAL MEMORY CONFIGURATION TABLES
3298 004316 022715 046101 CMP #"AL,(R5) ; "ALL"??
3299 004322 001425 BEQ 20$ ; YES -- DO ALL
3300 004324 022715 047516 CMP #"NO,(R5) ; "NO"??
3301 004330 001424 BEQ 30$ ; YES -- DO NONE
3302 004332 022715 042531 CMP #"YE,(R5) ; "YES"??
3303 004336 001435 BEQ 50$ ; YES -- FIND OUT WHAT
3304 004340 022715 040502 CMP #"BA,(R5) ; "BACK"??
3305 004344 001007 BNE 15$ ; NO -- ERROR
3306 004346 022703 000003 CMP #3,R3 ; YES -- IS THIS INTERNAL MEMORY??
3307 004352 001002 BNE 14$ ; NO -- GO THOUGH VECTORS
3308 004354 CALLR $DLGMB ; YES -- BACK UP ONE
004354 000137 020344' JMP $DLGMB
3309 ;
3310 004360 14$:
3311 004360 CALLR $DLMB1 ; BACK UP THRU VECTORS
004360 000137 020350' JMP $DLMB1
3312 ;
3313 ;
3314 ; UNRECOGNIZED COMMAND
3315 ;
3316 004364 15$:
3317 004364 PRINT #COMCSE ; COMMAND SYNTAX ERROR
004364 012700 005552' MOV #COMCSE,R0
004370 004737 027620' JSR PC,$TTMSG
3318 004374 000531 BR 150$ ; TRY AGAIN
3319 ;
3320 ;
3321 ; ENTRY FOR "ALL" CONTROLLERS <DEFAULT PATH>
3322 ;
3323 004376 20$:
3324 004376 005001 CLR R1 ; SET R1 TO SAY "ALL"
3325 004400 000402 BR 40$ ; DO COMMON CODE
3326 ;
3327 ;
3328 ; ENTRY FOR "NO(NE)" CONTROLLERS
3329 ;
3330 004402 30$:
3331 004402 012701 100000 MOV #BIT15,R1 ; SET R1 TO SAY "NO(NE)"
3332 ;
3333 ; COMMON CODE FOR "ALL" OR "NO(NE)" CONTROLLERS
3334 ;
3335 ; WHAT'S WHERE:
3336 ;
3337 ; R0 -- CONTROLLER NUMBER PASSED TO CHECK ROUTINE
3338 ; R1 -- ALLOCATION FLAG
3339 ; 0 = ALL CONTROLLERS
3340 ; 100000 = NO CONTROLLERS
3341 ; R2 -- CONTROLLER NUMBER
3342 ; R3 -- MODULE/BLOCK NUMBER LIMIT
3343 ; R4 -- ITERATION COUNT
3344 ;
3345 004406 40$:
3346 004406 105762 000000G TSTB TYPNUM(R2) ; DOES THIS CONTROLLER EXIST??
3347 004412 001404 BEQ 45$ ; NO -- TRY FOR THE NEXT ONE
3348 004414 010200 MOV R2,R0 ; YES -- CONTROLLER NUMBER TO R0
3349 004416 006300 ASL R0 ; WORD INDEX
3350 004420 010160 000134' MOV R1,.CFGTB(R0) ; SET ALLOCATION OR DELETION REQUEST
KLICI -- INTERNAL AND MOS DIALO MACRO V05.04 Tuesday 17-May-88 14:21 Page 78-2
$CFIMD -- SET UP INTERNAL MEMORY CONFIGURATION TABLES
3351 004424 45$:
3352 004424 105722 TSTB (R2)+ ; ADVANCE CONTROLLER INDEX
3353 004426 077411 SOB R4,40$ ; DO THIS FOR ALL
3354 004430 000501 BR 130$ ; AND EXIT
3355 ;
3356 ;
3357 ; ENTRY FOR "YES" (LONG DIALOGUE)
3358 ;
3359 004432 50$:
3360 004432 005001 CLR R1 ; INIT BIT-MASK
3361 004434 60$:
3362 004434 105762 000000G TSTB TYPNUM(R2) ; IS THIS CONTROLLER HERE??
3363 004440 001472 BEQ 120$ ; NO -- TRY THE NEXT ONE
3364 004442 012700 000752' MOV #CFIMQ2,R0 ; YES -- MESSAGE POINTER TO R0
3365 004446 CALL $TTDMS ; TYPE PREAMBLE
004446 004737 027552' JSR PC,$TTDMS
3366 004452 010200 MOV R2,R0 ; CONTROLLER NUMBER TO R0
3367 004454 CALL $TDB2O ; CONVERT TO OCTAL ASCII
004454 004737 026434' JSR PC,$TDB2O
3368 004460 012700 001024' MOV #CFIMQ3,R0 ; MESSAGE POINTER TO R0
3369 004464 CALL $TTDMS ; END THE QUESTION
004464 004737 027552' JSR PC,$TTDMS
3370 004470 CALL $TCRLF ; AND THE LINE
004470 004737 027514' JSR PC,$TCRLF
3371 004474 CALL $TTRD ; READ RESPONSE
004474 004737 027114' JSR PC,$TTRD
3372 004500 012705 000304' MOV #.TTIBF,R5 ; POINT TO INPUT BUFFER
3373 004504 105715 TSTB (R5) ; DEFAULT??
3374 004506 001412 BEQ 70$ ; YES -- DO "ALL"
3375 004510 022715 046101 CMP #"AL,(R5) ; "ALL"??
3376 004514 001407 BEQ 70$ ; YES -- DO IT
3377 004516 022715 047516 CMP #"NO,(R5) ; "NONE"??
3378 004522 001406 BEQ 80$ ; YES -- DO IT
3379 004524 022715 040502 CMP #"BA,(R5) ; "BACK"??
3380 004530 001006 BNE 90$ ; NO -- HOPE ITS NUMERIC...
3381 004532 000452 BR 150$ ; YES -- GO DO IT
3382 ;
3383 ;
3384 ; "ALL" MODULES/BLOCKS THIS CONTROLLER
3385 ;
3386 004534 70$:
3387 004534 005001 CLR R1 ; SET R1 TO "ALL"
3388 004536 000420 BR 100$ ; AND DO IT
3389 ;
3390 ;
3391 ; "NO(NE)" MODULES/BLOCKS THIS CONTROLLER
3392 ;
3393 004540 80$:
3394 004540 012701 100000 MOV #BIT15,R1 ; SET R1 TO "NONE"
3395 004544 000415 BR 100$
3396 ;
3397 ;
3398 ; HERE TO SPECIFY MODULES/BLOCKS WITHIN THIS CONTROLLER
3399 ;
3400 ; WHAT'S WHERE:
3401 ;
3402 ; R0 -- PASSED CONTROLLER NUMBER
KLICI -- INTERNAL AND MOS DIALO MACRO V05.04 Tuesday 17-May-88 14:21 Page 78-3
$CFIMD -- SET UP INTERNAL MEMORY CONFIGURATION TABLES
3403 ; R1 -- ALLOCATION MASK
3404 ; R2 -- CONTROLLER NUMBER
3405 ; R3 -- MODULE/BLOCK NUMBER LIMIT
3406 ; R4 -- ITERATION COUNT
3407 ;
3408 004546 90$:
3409 004546 CALL $TRO2B ; CONVERT TO OCTAL NUMERIC
004546 004737 026546' JSR PC,$TRO2B
3410 004552 103435 BCS 140$ ; FIDDLE FINGERS!
3411 004554 020300 CMP R3,R0 ; IN RANGE??
3412 004556 002433 BLT 140$ ; NO -- COMPLAIN
3413 004560 006300 ASL R0 ; YES -- GET WORD INDEX
3414 004562 056001 000000G BIS BITTBL(R0),R1 ; LIGHT THE BIT
3415 004566 122725 000054 CMPB #',,(R5)+ ; CONTINUE??
3416 004572 001765 BEQ 90$ ; YES -- CONTINUE
3417 004574 105745 TSTB -(R5) ; NO -- TERMINATE OK??
3418 004576 001272 BNE 15$ ; NO -- COMPLAIN
3419 ;
3420 ; COMMON CODE FOR "ALL", "NO(NE)", OR SPECIFIC MODULES/BLOCKS THIS CONTROLLER
3421 ;
3422 004600 100$:
3423 004600 010200 MOV R2,R0 ; YES -- CONTROLLER NUMBER TO R0
3424 004602 022703 000003 CMP #3,R3 ; IS THIS INTERNAL MEMORY??
3425 004606 001004 BNE 110$ ; NO -- MOS MEMORY
3426 004610 CALL $CHKIM ; YES -- CHECK INTERNAL CONFIGURATION
004610 004737 005064' JSR PC,$CHKIM
3427 004614 103706 BCS 50$ ; OOPS!
3428 004616 000403 BR 120$ ; ALL OK -- GO ON
3429 ;
3430 004620 110$:
3431 004620 CALL $CHKMM ; CHECK MOS CONFIGURATION
004620 004737 005310' JSR PC,$CHKMM
3432 004624 103702 BCS 50$ ; BAD NEWS...
3433 004626 120$:
3434 004626 105722 TSTB (R2)+ ; ADVANCE CONTROLLER COUNTER
3435 004630 005304 DEC R4 ; DECREMENT ITERATION COUNT
3436 004632 001277 BNE 50$ ; LOOP THROUGH ALL CONTROLLERS
3437 004634 130$:
3438 004634 022703 000003 CMP #3,R3 ; DONE -- IS THIS INTERNAL MEMORY??
3439 004640 001420 BEQ CFIMIL ; YES -- GO GET INTERLEAVE FACTOR
3440 004642 CALLR $CFGXX ; NO -- GO CONFIGURE THE MEMORY
004642 000137 020216' JMP $CFGXX
3441 ;
3442 ;
3443 ; ERROR PROCESSING
3444 ;
3445 004646 140$:
3446 004646 PRINT #COMCSE ; ERROR MESSAGE
004646 012700 005552' MOV #COMCSE,R0
004652 004737 027620' JSR PC,$TTMSG
3447 004656 000666 BR 60$ ; TRY AGAIN
3448 ;
3449 004660 150$:
3450 004660 012700 000632' MOV #CFIMQ1,R0 ; YES -- ASSUME INTERNAL MEMORY
3451 004664 022703 000003 CMP #3,R3 ; IS IT REALLY??
3452 004670 001402 BEQ 160$ ; YES -- GO ON
3453 004672 012700 000707' MOV #CFMMQ1,R0 ; NO -- SET MOS MESSAGE
KLICI -- INTERNAL AND MOS DIALO MACRO V05.04 Tuesday 17-May-88 14:21 Page 78-4
$CFIMD -- SET UP INTERNAL MEMORY CONFIGURATION TABLES
3454 004676 160$:
3455 004676 000137 004270' JMP 10$ ; AND BACK UP
3456 ;
3457 .DSABL LSB
3458 ;
3459 ; HERE TO GET INTERNAL CORE MEMORY INTERLEAVE FACTOR
3460 ;
3461 004702 CFIMIL:
3462 004702 105737 000032' TSTB .DMSW ; ARE WE IN DIALOG MODE??
3463 004706 002452 BLT 50$ ; NO -- TAKE DEFAULT PATH
3464 004710 012700 000134' MOV #.CFGTB,R0 ; YES -- POINT TO CONFIGURATION TABLE
3465 004714 012704 000004 MOV #4,R4 ; ITERATION COUNT TO R4
3466 004720 10$:
3467 004720 005720 TST (R0)+ ; IS THIS ONE CONFIGURABLE??
3468 004722 100002 BPL 20$ ; YES -- GO ON
3469 004724 077403 SOB R4,10$ ; NO -- TRY FOR THE NEXT ONE
3470 004726 000442 BR 50$ ; NO INTERNAL MEMORY -- EXIT
3471 ;
3472 004730 20$:
3473 004730 PRINT #CFIMQ4 ; ASK THE QUESTION
004730 012700 001051' MOV #CFIMQ4,R0
004734 004737 027620' JSR PC,$TTMSG
3474 004740 CALL $TTRD ; READ THE RESPONSE
004740 004737 027114' JSR PC,$TTRD
3475 004744 012705 000304' MOV #.TTIBF,R5 ; POINT TO INPUT BUFFER
3476 004750 005000 CLR R0 ; INIT DEFAULT
3477 004752 022715 040502 CMP #"BA,(R5) ; "BACK"??
3478 004756 001430 BEQ 60$ ; YES -- DO IT
3479 004760 105715 TSTB (R5) ; NO -- DEFAULT??
3480 004762 001413 BEQ 25$ ; YES -- SET IT
3481 004764 CALL $TRI2B ; NO -- CONVERT TO NUMERIC
004764 004737 025410' JSR PC,$TRI2B
3482 004770 103425 BCS 70$ ; OOPS!
3483 004772 005700 TST R0 ; DID HE TYPE ANYTHING??
3484 004774 001423 BEQ 70$ ; NO -- NOT ALLOWED
3485 004776 022700 000003 CMP #3,R0 ; YES -- DID HE SAY "3"??
3486 005002 001420 BEQ 70$ ; YES -- NOT ALLOWED
3487 005004 022700 000004 CMP #4,R0 ; NO -- IN RANGE??
3488 005010 002415 BLT 70$ ; NO -- COMPLAIN
3489 005012 25$:
3490 005012 012704 000004 MOV #4,R4 ; YES -- ITERATION COUNT TO R4
3491 005016 012701 000144' MOV #.CFGTB+8.,R1 ; POINT TO END OF INTERNAL CONTROLLERS+1
3492 005022 30$:
3493 005022 005741 TST -(R1) ; BACK UP OVER NEXT ENTRY
3494 005024 100402 BMI 40$ ; NOT THERE IF NEGATIVE
3495 005026 110061 000001 MOVB R0,1(R1) ; SET THE BUS-MODE IN HIGH BYTE
3496 005032 40$:
3497 005032 077405 SOB R4,30$ ; LOOP TILL DONE
3498 005034 50$:
3499 005034 CALLR $DLGXM ; DONE -- TRY EXTERNAL MEMORY
005034 000137 020334' JMP $DLGXM
3500 ;
3501 005040 60$:
3502 005040 CALLR $CFIMD ; BACK UP
005040 000137 004232' JMP $CFIMD
3503 ;
3504 005044 70$:
KLICI -- INTERNAL AND MOS DIALO MACRO V05.04 Tuesday 17-May-88 14:21 Page 78-5
$CFIMD -- SET UP INTERNAL MEMORY CONFIGURATION TABLES
3505 005044 PRINT #COMCSE ; ERROR MESSAGE
005044 012700 005552' MOV #COMCSE,R0
005050 004737 027620' JSR PC,$TTMSG
3506 005054 000725 BR 20$ ; TRY AGAIN
3507 ;
KLICI -- INTERNAL AND MOS DIALO MACRO V05.04 Tuesday 17-May-88 14:21 Page 79
$CFIMD -- SET UP INTERNAL MEMORY CONFIGURATION TABLES
3509
3510
3511 .TITLE KLICM -- CHECK INTERNAL MEMORY CONFIGURATION
3512 005056 IDENT$ 10,0,KLI$$F
.IDENT /B10000/
3513 ;
3514 ; COPYRIGHT (C) 1975, 1984, 1985 BY
3515 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
3516 ; ALL RIGHTS RESERVED.
3517 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
3518 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
3519 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
3520 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
3521 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
3522 ;
3523 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
3524 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
3525 ; CORPORATION.
3526 ;
3527 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
3528 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
3529 ;
3530 ;
3531 ; MODULE: INTERNAL CONFIGURATION CHECK
3532 ;
3533 ; VERSION: 10-00
3534 ;
3535 ; DATE: 25-JUL-78
3536 ;
3537 ; AUTHOR: R. BELANGER
3538 ;
3539 ; MODIFICATIONS:
3540 ;
3541 ; NO. DATE PROGRAMMER REASON
3542 ; --- ---- ---------- ------
3543 ;
3544 ; LOCAL DATA
3545 ;
3546 000264 .PSECT DATA,D
3547 000264 SETIMF:
3548 000264 000 .BYTE 0
3549 000265 SETMMF:
3550 000265 000 .BYTE 0
3551 001136 .PSECT TEXT,D
3552 001136 CIMNXC:
3553 001136 ERROR <NONEXISTENT CONTROLLER>
001136 077 040 116 .ASCIZ \? NONEXISTENT CONTROLLER\
001141 117 116 105
001144 130 111 123
001147 124 105 116
001152 124 040 103
001155 117 116 124
001160 122 117 114
001163 114 105 122
001166 000
3554 001167 CIMNXM:
3555 001167 ERROR <NONEXISTENT MODULE/BLOCK>
KLICM -- CHECK INTERNAL MEMORY MACRO V05.04 Tuesday 17-May-88 14:21 Page 79-1
$CFIMD -- SET UP INTERNAL MEMORY CONFIGURATION TABLES
001167 077 040 116 .ASCIZ \? NONEXISTENT MODULE/BLOCK\
001172 117 116 105
001175 130 111 123
001200 124 105 116
001203 124 040 115
001206 117 104 125
001211 114 105 057
001214 102 114 117
001217 103 113 000
3556 005056 .PSECT
KLICM -- CHECK INTERNAL MEMORY MACRO V05.04 Tuesday 17-May-88 14:21 Page 80
$CHKIM -- CHECK INTERNAL MEMORY MASK WORD
3558 .SBTTL $CHKIM -- CHECK INTERNAL MEMORY MASK WORD
3559
3560 ;+
3561 ; $CHKIM -- CHECK INTERNAL MEMORY MASK WORD
3562 ;
3563 ; $CHKIM WILL VERIFY THAT THE MASK WORD FOR INTERNAL CORE MEMORY CONFIGURATION
3564 ; IS VALID IN THAT THE MODULE SPECIFIED DOES EXIST IN THE PHYSICAL RESOURCES.
3565 ;
3566 ; INPUT ARGUMENTS:
3567 ;
3568 ; R0 -- CONTROLLER NUMBER
3569 ; R1 -- MODULE SELECTION BIT-MASK
3570 ; CONTI(R0) -- BIT-MASK OF AVAILABLE MODULES
3571 ; TYPNUM(R0) -- CONTROLLER AVAILABILITY FLAG WORD
3572 ;
3573 ; OUTPUT ARGUMENTS:
3574 ;
3575 ; R0,R1 -- UNDEFINED
3576 ; .CFGTB+0(R0) -- EDITED MODULE SELECTION BIT-MASK
3577 ; CONTI(R0) -- EDITED MODULE SELECTION BIT-MASK
3578 ;
3579 ; SUCCESS RETURN:
3580 ;
3581 ; CC-C CLEAR
3582 ;
3583 ; ERROR RETURN:
3584 ;
3585 ; CC-C SET AND CONTI(R0) UNCHANGED.
3586 ;-
3587
3588 ;
3589 ; HERE TO ACTUALLY SET THE SPECIFIED CONFIGURATION
3590 ;
3591
3592 005056 $SETIM::
3593 005056 105237 000264' INCB SETIMF ; SAY "SET"
3594 005062 000402 BR CHKIMC ; DO COMMON CODE
3595 ;
3596 ;
3597 ; HERE TO SIMPLY CHECK THE DESIRED CONFIGURATION
3598 ;
3599
3600 005064 $CHKIM::
3601 005064 105037 000264' CLRB SETIMF ; SAY "CHECK"
3602 ;
3603 ; COMMON SET/CHECK CODE
3604 ;
3605 005070 CHKIMC:
3606 005070 PUSH R2 ; SAVE R2
005070 010246 MOV R2,-(SP)
3607 005072 PUSH R3 ; AND R3
005072 010346 MOV R3,-(SP)
3608 005074 005046 CLR -(SP) ; GET A BUFFER FOR BIT MASK
3609 005076 122760 000001 000000G CMPB #1,TYPNUM(R0) ; IS THIS AN MA20??
3610 005104 001411 BEQ 10$ ; YES -- GO ON
3611 005106 122760 000003 000000G CMPB #3,TYPNUM(R0) ; NO -- IS IT AN MB20??
3612 005114 001405 BEQ 10$ ; YES -- GO ON
KLICM -- CHECK INTERNAL MEMORY MACRO V05.04 Tuesday 17-May-88 14:21 Page 80-1
$CHKIM -- CHECK INTERNAL MEMORY MASK WORD
3613 005116 PRINT #CIMNXC ; NO -- COMPLAIN
005116 012700 001136' MOV #CIMNXC,R0
005122 004737 027620' JSR PC,$TTMSG
3614 005126 000434 BR 50$ ; AND EXIT
3615 ;
3616 005130 10$:
3617 005130 005701 TST R1 ; DOES HE WANT ALL MODULES??
3618 005132 001442 BEQ 70$ ; YES -- GIVE IT TO HIM
3619 005134 100404 BMI 20$ ; NO -- DOES HE WANT SOME??
3620 005136 116016 000000G MOVB CONTI(R0),(SP) ; YES -- PHYSICAL BIT-MAP TO STACK
3621 005142 005002 CLR R2 ; INIT BIT-MASK INDEX
3622 005144 000410 BR 30$ ; CHECK WHAT HE WANTS
3623 ;
3624 ;
3625 ; WHAT'S WHERE:
3626 ;
3627 ; R0 -- CONTROLLER NUMBER
3628 ; R1 -- ALLOCATION BIT MASK
3629 ; .LT. 0 -- DELETE ENTIRE CONTROLLER
3630 ; .EQ. 0 -- ALLOCATE ENTIRE CONTROLLER
3631 ; .GT. 0 -- ALLOCATE SOME MUDULES IN CONTROLLER
3632 ; R2 -- BIT MASK INDEX
3633 ; R3 -- CURRENT BIT MASK
3634 ; (SP) -- BIT MASK TO/FROM MEMORY BOOT
3635 ;
3636 ; HERE TO DELETE AN ENTIRE CONTROLLER
3637 ;
3638 005146 20$:
3639 005146 012716 100000 MOV #BIT15,(SP) ; FLAG NONE FOR SAVE/RESTORE
3640 005152 105737 000264' TSTB SETIMF ; IS THIS A SET??
3641 005156 001430 BEQ 70$ ; NO -- JUST EXIT
3642 005160 105060 000000G CLRB TYPNUM(R0) ; YES -- CLEAR CONTROLLER FLAG
3643 005164 000425 BR 70$ ; AND EXIT
3644 ;
3645 ;
3646 ; HERE TO ALLOCATE MODULES WITHIN A CONTROLLER
3647 ;
3648 005166 30$:
3649 005166 016203 000000G MOV BITTBL(R2),R3 ; GET MASK FOR TARGET MODULE
3650 005172 030301 BIT R3,R1 ; DOES HE WANT THIS ONE??
3651 005174 001002 BNE 40$ ; YES -- GO ON
3652 005176 140316 BICB R3,(SP) ; NO -- GET RID OF IT
3653 005200 000411 BR 60$ ; AND GO ON
3654 ;
3655 005202 40$:
3656 005202 130316 BITB R3,(SP) ; WANTS THIS ONE -- IS IT THERE??
3657 005204 001007 BNE 60$ ; YES -- GO ON
3658 005206 PRINT #CIMNXM ; NO -- COMPLAIN
005206 012700 001167' MOV #CIMNXM,R0
005212 004737 027620' JSR PC,$TTMSG
3659 005216 005726 TST (SP)+ ; FLUSH STACK
3660 005220 50$:
3661 005220 000261 SEC ; SET ERROR FLAG
3662 005222 000424 BR 90$ ; AND EXIT
3663 ;
3664 005224 60$:
3665 005224 005722 TST (R2)+ ; POINT TO NEXT MASK BIT
KLICM -- CHECK INTERNAL MEMORY MACRO V05.04 Tuesday 17-May-88 14:21 Page 80-2
$CHKIM -- CHECK INTERNAL MEMORY MASK WORD
3666 005226 022702 000010 CMP #10,R2 ; ARE WE DONE??
3667 005232 003355 BGT 30$ ; NO -- CONTINUE
3668 005234 005716 TST (SP) ; YES -- DID HE DELETE THEM ALL??
3669 005236 001743 BEQ 20$ ; YES -- DELETE THE CONTROLLER TOO
3670 005240 70$:
3671 005240 012602 MOV (SP)+,R2 ; NO -- EDITED MASK TO R2
3672 005242 001411 BEQ 80$ ; ZERO BIT MASK IS ONE FLAVOR OF ALL
3673 005244 120260 000000G CMPB R2,CONTI(R0) ; HAS ANYTHING CHANGED??
3674 005250 001406 BEQ 80$ ; NO -- GO ON
3675 005252 010201 MOV R2,R1 ; YES -- COPY WORD TO R1
3676 005254 105737 000264' TSTB SETIMF ; IS THIS A SET??
3677 005260 001402 BEQ 80$ ; NO -- GO ON
3678 005262 110260 000000G MOVB R2,CONTI(R0) ; YES -- EDITED MASK TO PHYSICAL TABLE
3679 005266 80$:
3680 005266 006300 ASL R0 ; WORD INDEX
3681 005270 010160 000134' MOV R1,.CFGTB(R0) ; SET WORD INTO CONFIGURATION TABLE
3682 005274 90$:
3683 005274 POP R3 ; RESTORE REGISTERS
005274 012603 MOV (SP)+,R3
3684 005276 POP R2 ; SO
005276 012602 MOV (SP)+,R2
3685 005300 RETURN ; TO CALLER
005300 000207 RTS PC
KLICM -- CHECK INTERNAL MEMORY MACRO V05.04 Tuesday 17-May-88 14:21 Page 81
$CHKMM -- CHECK MOS MEMORY CONFIGURATION
3687 .SBTTL $CHKMM -- CHECK MOS MEMORY CONFIGURATION
3688
3689 ;
3690 ; HERE TO SET THE CONFIGURATION FOR AN MF20 CONTROLLER
3691 ;
3692 005302 $SETMM::
3693 005302 105237 000265' INCB SETMMF ; SAY "SET"
3694 005306 000402 BR CHKMMC ; DO COMMON CODE
3695 ;
3696 ;
3697 ; HERE TO CHECK THE CONFIGURATION FOR AN MF20 CONTROLLER
3698 ;
3699 005310 $CHKMM::
3700 005310 105037 000265' CLRB SETMMF ; SAY "CHECK"
3701 ;
3702 ; COMMON CHECK/SET CODE
3703 ;
3704 ; R0 -- CONTROLLER NUMBER
3705 ; R1 -- ALLOCATION MASK
3706 ;
3707 005314 CHKMMC:
3708 005314 PUSH R2 ; SAVE R2
005314 010246 MOV R2,-(SP)
3709 005316 PUSH R3 ; AND R3
005316 010346 MOV R3,-(SP)
3710 005320 PUSH R4 ; R4 TOO
005320 010446 MOV R4,-(SP)
3711 005322 122760 000005 000000G CMPB #5,TYPNUM(R0) ; IS THIS AN MF20??
3712 005330 001405 BEQ 10$ ; YES -- GO ON
3713 005332 PRINT #CIMNXC ; NO -- COMPLAIN
005332 012700 001136' MOV #CIMNXC,R0
005336 004737 027620' JSR PC,$TTMSG
3714 005342 000440 BR 40$ ; AND EXIT
3715 ;
3716 005344 10$:
3717 005344 005002 CLR R2 ; INIT BIT-MASK INDEX
3718 005346 005046 CLR -(SP) ; INIT BIT-MASK
3719 005350 010004 MOV R0,R4 ; COPY CONTROLLER NUMBER TO R4
3720 005352 CALL BAF0 ; FIND BASE OF THIS MF20 TABLE
005352 004737 000000G JSR PC,BAF0
3721 005356 005701 TST R1 ; WHAT DOES HE WANT??
3722 005360 001446 BEQ 80$ ; ALL
3723 005362 100015 BPL 30$ ; SOMETHING
3724 ;
3725 ; WHAT'S WHERE:
3726 ;
3727 ; R0 -- POINTS TO MF20 BLOCK TABLE
3728 ; R1 -- ALLOCATION MASK
3729 ; .LT. 0 -- DELETE ENTIRE CONTROLLER
3730 ; .EQ. 0 -- ALLOCATE ENTIRE CONTROLLER
3731 ; .GT. 0 -- DELETE SOME BLOCKS WITHIN CONTROLLER
3732 ; R2 -- BIT MASK INDEX
3733 ; R3 -- CURRENT BIT MASK
3734 ; R4 -- CONTROLLER NUMBER
3735 ; (SP) -- ACCUMULATED ALLOCATION MASK FOR RETURN
3736 ;
3737 ; HERE TO DELETE AN ENTIRE CONTROLLER
KLICM -- CHECK INTERNAL MEMORY MACRO V05.04 Tuesday 17-May-88 14:21 Page 81-1
$CHKMM -- CHECK MOS MEMORY CONFIGURATION
3738 ;
3739 005364 20$:
3740 005364 012716 100000 MOV #BIT15,(SP) ; MARK DELETION DONE
3741 005370 105737 000265' TSTB SETMMF ; IS THIS A SET??
3742 005374 001440 BEQ 80$ ; NO -- JUST EXIT
3743 005376 25$:
3744 005376 105020 CLRB (R0)+ ; YES -- MARK THAT WE DON'T WANT THIS BLOCK
3745 005400 005202 INC R2 ; ADVANCE COUNTER
3746 005402 022702 000014 CMP #14,R2 ; ARE WE DONE??
3747 005406 003373 BGT 25$ ; NO -- CONTINUE DELETING
3748 005410 105064 000000G CLRB TYPNUM(R4) ; DONE -- DELETE THE CONTROLLER
3749 005414 000430 BR 80$ ; AND EXIT
3750 ;
3751 ;
3752 ; HERE TO ALLOCATE/DELETE BLOCKS TO/FROM A CONTROLLER
3753 ;
3754 005416 30$:
3755 005416 016203 000000G MOV BITTBL(R2),R3 ; GET MASK BIT INTO R3
3756 005422 030301 BIT R3,R1 ; DOES HE WANT THIS ONE??
3757 005424 001413 BEQ 60$ ; NO -- GO DELETE IT
3758 005426 105710 TSTB (R0) ; YES -- DOES IT EXIST??
3759 005430 001007 BNE 50$ ; YES -- ALLOCATE IT
3760 005432 PRINT #CIMNXM ; NO -- COMPLAIN
005432 012700 001167' MOV #CIMNXM,R0
005436 004737 027620' JSR PC,$TTMSG
3761 005442 005726 TST (SP)+ ; FLUSH STACK
3762 005444 40$:
3763 005444 000261 SEC ; SET ERROR FLAG
3764 005446 000416 BR 90$ ; AND EXIT
3765 ;
3766 005450 50$:
3767 005450 050316 BIS R3,(SP) ; MARK DESIRED BLOCK
3768 005452 000404 BR 70$ ; AND TRY FOR NEXT
3769 ;
3770 005454 60$:
3771 005454 105737 000265' TSTB SETMMF ; IS THIS A SET??
3772 005460 001401 BEQ 70$ ; NO -- GO ON
3773 005462 105010 CLRB (R0) ; YES -- DELETE BLOCK FROM PHYSICAL TABLE
3774 005464 70$:
3775 005464 005200 INC R0 ; STEP POINTER
3776 005466 005722 TST (R2)+ ; ADVANCE TO NEXT BLOCK
3777 005470 022702 000030 CMP #30,R2 ; DONE??
3778 005474 003350 BGT 30$ ; NO -- CONTINUE TESTING
3779 005476 80$:
3780 005476 006304 ASL R4 ; YES -- CONVERT TO WORD INDEX
3781 005500 012664 000134' MOV (SP)+,.CFGTB(R4) ; SET CONFIGURATION MASK IN TABLE
3782 005504 90$:
3783 005504 POP R4 ; RESTORE REGISTERS
005504 012604 MOV (SP)+,R4
3784 005506 POP R3
005506 012603 MOV (SP)+,R3
3785 005510 POP R2
005510 012602 MOV (SP)+,R2
3786 005512 RETURN ; TO CALLER
005512 000207 RTS PC
KLICM -- CHECK INTERNAL MEMORY MACRO V05.04 Tuesday 17-May-88 14:21 Page 82
$CHKMM -- CHECK MOS MEMORY CONFIGURATION
3788
3789 .TITLE KLICO -- CONFIGURATION EDITOR
3790 005514 IDENT$ 10,0,KLI$$F
.IDENT /B10000/
3791 ;
3792 ; COPYRIGHT (C) 1975, 1984, 1985 BY
3793 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
3794 ; ALL RIGHTS RESERVED.
3795 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
3796 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
3797 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
3798 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
3799 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
3800 ;
3801 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
3802 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
3803 ; CORPORATION.
3804 ;
3805 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
3806 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
3807 ;
3808 ;
3809 ; MODULE: CONFIGURATION EDITOR
3810 ;
3811 ; VERSION: 10-00
3812 ;
3813 ; DATE: 25-JUL-78
3814 ;
3815 ; AUTHOR: R. BELANGER
3816 ;
3817 ; MODIFICATIONS:
3818 ;
3819 ; NO. DATE PROGRAMMER REASON
3820 ; --- ---- ---------- ------
3821 ;
3822 ;
3823 ;
3824 ; LOCAL DATA
3825 ;
3826 001222 .PSECT TEXT,D
3827 001222 CFGINM:
3828 001222 WARNING <INTERNAL CORE MEMORY RESOURCES DO NOT MATCH FILE>
001222 045 040 111 .ASCIZ \% INTERNAL CORE MEMORY RESOURCES DO NOT MATCH FILE\
001225 116 124 105
001230 122 116 101
001233 114 040 103
001236 117 122 105
001241 040 115 105
001244 115 117 122
001247 131 040 122
001252 105 123 117
001255 125 122 103
001260 105 123 040
001263 104 117 040
001266 116 117 124
001271 040 115 101
001274 124 103 110
KLICO -- CONFIGURATION EDITOR MACRO V05.04 Tuesday 17-May-88 14:21 Page 82-1
$CHKMM -- CHECK MOS MEMORY CONFIGURATION
001277 040 106 111
001302 114 105 000
3829 001305 CFGXNM:
3830 001305 WARNING <EXTERNAL CORE MEMORY RESOURCES DO NOT MATCH FILE>
001305 045 040 105 .ASCIZ \% EXTERNAL CORE MEMORY RESOURCES DO NOT MATCH FILE\
001310 130 124 105
001313 122 116 101
001316 114 040 103
001321 117 122 105
001324 040 115 105
001327 115 117 122
001332 131 040 122
001335 105 123 117
001340 125 122 103
001343 105 123 040
001346 104 117 040
001351 116 117 124
001354 040 115 101
001357 124 103 110
001362 040 106 111
001365 114 105 000
3831 001370 CFGMNM:
3832 001370 WARNING <MOS MEMORY RESOURCES DO NOT MATCH FILE>
001370 045 040 115 .ASCIZ \% MOS MEMORY RESOURCES DO NOT MATCH FILE\
001373 117 123 040
001376 115 105 115
001401 117 122 131
001404 040 122 105
001407 123 117 125
001412 122 103 105
001415 123 040 104
001420 117 040 116
001423 117 124 040
001426 115 101 124
001431 103 110 040
001434 106 111 114
001437 105 000
3833 001441 CFGMAC:
3834 001441 WARNING <MOS MEMORY IS ALREADY CONFIGURED>
001441 045 040 115 .ASCIZ \% MOS MEMORY IS ALREADY CONFIGURED\
001444 117 123 040
001447 115 105 115
001452 117 122 131
001455 040 111 123
001460 040 101 114
001463 122 105 101
001466 104 131 040
001471 103 117 116
001474 106 111 107
001477 125 122 105
001502 104 000
3835 005514 .PSECT
KLICO -- CONFIGURATION EDITOR MACRO V05.04 Tuesday 17-May-88 14:21 Page 83
$CONFG -- EDITOR DISPATCH
3837 .SBTTL $CONFG -- EDITOR DISPATCH
3838
3839 005514 $CONFG::
3840 005514 105037 000032' CLRB .DMSW ; RESET FLAG
3841 005520 105737 000000G TSTB MA20 ; DO WE HAVE INTERNAL MEMORY??
3842 005524 001003 BNE 10$ ; YES -- CONFIGURE IT
3843 005526 105737 000000G TSTB MB20 ; NO -- HOW ABOUT MB20'S
3844 005532 001403 BEQ 20$ ; NO -- GO ON
3845 005534 10$:
3846 005534 CALL CFGINT ; YES -- CONFIGURE IT
005534 004737 005624' JSR PC,CFGINT
3847 005540 103430 BCS 70$ ; ERROR IF CC-C SET
3848 005542 20$:
3849 005542 105737 000000G TSTB DMA20 ; DO WE HAVE EXTERNAL MEMORY??
3850 005546 001403 BEQ 30$ ; NO -- GO ON
3851 005550 CALL CFGEXT ; YES -- CONFIGURE IT
005550 004737 006076' JSR PC,CFGEXT
3852 005554 103422 BCS 70$ ; ERROR IF CC-C SET
3853
3854 005556 30$:
3855 005556 105737 000000G TSTB MF20 ; DO WE HAVE MOS MEMORY??
3856 005562 001403 BEQ 40$ ; NO -- GO ON
3857 005564 CALL CFGMOS ; YES CONFIGURE IT
005564 004737 006234' JSR PC,CFGMOS
3858 005570 103414 BCS 70$ ; ERROR IF CC-C SET
3859 005572 40$:
3860 005572 113746 000032' MOVB .DMSW,-(SP) ; DONE -- SAVE FLAG
3861 005576 105037 000032' CLRB .DMSW ; INIT FOR RETURN
3862 005602 105737 000024' TSTB .DLGSW ; ARE WE BEING TOLD WHAT TO DO??
3863 005606 001402 BEQ 50$ ; YES -- SET FLAG TO WRITE FILE
3864 005610 105716 TSTB (SP) ; NO -- DID ANYTHING CHANGE??
3865 005612 001402 BEQ 60$ ; NO -- JUST EXIT
3866 005614 50$:
3867 005614 105237 000032' INCB .DMSW ; YES -- FLAG FILE WRITE
3868 005620 60$:
3869 005620 005726 TST (SP)+ ; CLEAR STACK
3870 005622 70$:
3871 005622 RETURN ; TO CALLER
005622 000207 RTS PC
KLICO -- CONFIGURATION EDITOR MACRO V05.04 Tuesday 17-May-88 14:21 Page 84
CFGINT -- INTERNAL MEMORY CONFIGURATION EDITOR
3873 .SBTTL CFGINT -- INTERNAL MEMORY CONFIGURATION EDITOR
3874
3875 005624 CFGINT:
3876 005624 012704 000004 MOV #4,R4 ; INIT ITERATION COUNTER
3877 005630 005002 CLR R2 ; INIT CONTROLER NUMBER
3878 005632 005003 CLR R3 ; RESET ERROR FLAG
3879 005634 10$:
3880 005634 010200 MOV R2,R0 ; CONTROLLER NUMBER TO R0
3881 005636 006200 ASR R0 ; BYTE INDEX
3882 005640 016201 000134' MOV .CFGTB(R2),R1 ; EDITED CONFIGURATION MASK
3883 005644 100015 BPL 20$ ; WANTS IT CONFIGURED
3884 005646 105760 000000G TSTB TYPNUM(R0) ; THIS CONTROLLER EXIST??
3885 005652 001461 BEQ 60$ ; NO -- DON'T BOTHER DELETING
3886 005654 126060 000000G 000072' CMPB TYPNUM(R0),.CTLTP(R0) ; CONTROLLERS MATCH??
3887 005662 001402 BEQ 15$ ; YES -- GO ON
3888 005664 CALL 70$ ; NO -- WARN HIM
005664 004737 006034' JSR PC,70$
3889 005670 15$:
3890 005670 CALL $SETIM ; AND DELETE IT
005670 004737 005056' JSR PC,$SETIM
3891 005674 103477 BCS 90$ ; ERROR IF CC-C SET
3892 005676 000447 BR 60$ ; AND TRY FOR NEXT
3893 ;
3894 005700 20$:
3895 005700 105760 000000G TSTB TYPNUM(R0) ; DOES THIS CONTROLLER EXIST??
3896 005704 001006 BNE 30$ ; YES -- GO ON
3897 005706 012762 100000 000134' MOV #BIT15,.CFGTB(R2) ; NO -- (LOGICALLY) DELETE THE CONTROLLER
3898 005714 CALL 70$ ; WARN OPERATOR
005714 004737 006034' JSR PC,70$
3899 005720 000436 BR 60$ ; GO AROUND AGAIN
3900 ;
3901 005722 30$:
3902 005722 126060 000000G 000072' CMPB TYPNUM(R0),.CTLTP(R0) ; CONTROLLERS MATCH??
3903 005730 001403 BEQ 35$ ; YES -- GO ON
3904 005732 CALL 70$ ; NO -- WARN OPERATOR
005732 004737 006034' JSR PC,70$
3905 005736 105001 CLRB R1 ; SAY "ALL"
3906 005740 35$:
3907 005740 120160 000000G CMPB R1,CONTI(R0) ; ARE THESE THE SAME??
3908 005744 001414 BEQ 40$ ; YES -- GO ON
3909 005746 105701 TSTB R1 ; IS IT "ALL"??
3910 005750 001412 BEQ 40$ ; YES -- SAME DIFFERENCE
3911 005752 PUSH R1 ; SAVE R1
005752 010146 MOV R1,-(SP)
3912 005754 CALL $SETIM ; DELETE THE MODULES
005754 004737 005056' JSR PC,$SETIM
3913 005760 POP R1 ; RESTORE R1
005760 012601 MOV (SP)+,R1
3914 005762 103005 BCC 40$ ; ALL OK IF CC-C IS CLEAR
3915 005764 105060 000134' CLRB .CFGTB(R0) ; SET TO "ALL"
3916 005770 CALL 70$ ; WARN OPERATOR OR EXIT
005770 004737 006034' JSR PC,70$
3917 005774 000410 BR 60$ ; GO ON TO NEXT CONTROLLER
3918 ;
3919 005776 40$:
3920 005776 000301 SWAB R1 ; SWAP THE BYTES
3921 006000 042701 177774 BIC #^C3,R1 ; FLUSH JUNK
KLICO -- CONFIGURATION EDITOR MACRO V05.04 Tuesday 17-May-88 14:21 Page 84-1
CFGINT -- INTERNAL MEMORY CONFIGURATION EDITOR
3922 006004 001002 BNE 50$ ; GO ON IF .NE.
3923 006006 012701 000003 MOV #3,R1 ; (0 V 4) => 3
3924 006012 50$:
3925 006012 110137 000000G MOVB R1,INTMOD ; SET THE INTERLEAVE MODE
3926 006016 60$:
3927 006016 005722 TST (R2)+ ; ADVANCE CONTROLLER INDEX
3928 006020 077473 SOB R4,10$ ; LOOP TILL DONE
3929 006022 105037 000000G CLRB MABRD ; DONE -- RESET FLAGS
3930 006026 105037 000000G CLRB RDDONE ; SO
3931 006032 RETURN ; TO CALLER
006032 000207 RTS PC
3932 006034 70$:
3933 006034 005703 TST R3 ; ALREADY PRINTED??
3934 006036 001006 BNE 80$ ; YES -- GO ON
3935 006040 PUSH R0 ; NO -- SAVE R0
006040 010046 MOV R0,-(SP)
3936 006042 PRINT #CFGINM ; TELL HIM
006042 012700 001222' MOV #CFGINM,R0
006046 004737 027620' JSR PC,$TTMSG
3937 006052 POP R0 ; RESTORE R0
006052 012600 MOV (SP)+,R0
3938 006054 80$:
3939 006054 005203 INC R3 ; FLAG PRINT
3940 006056 105237 000032' INCB .DMSW ; AND CONTROL
3941 006062 105737 000024' TSTB .DLGSW ; IS HE TALKING TO US??
3942 006066 001002 BNE 90$ ; NO -- GO ON
3943 006070 000137 023776' JMP $ERROR ; YES -- QUIT NOW
3944 ;
3945 006074 90$:
3946 006074 RETURN ; TO CALLER
006074 000207 RTS PC
KLICO -- CONFIGURATION EDITOR MACRO V05.04 Tuesday 17-May-88 14:21 Page 85
CFGEXT -- EXTERNAL MEMORY CONFIGURATION EDITOR
3948 .SBTTL CFGEXT -- EXTERNAL MEMORY CONFIGURATION EDITOR
3949
3950 006076 CFGEXT:
3951 006076 012700 000004 MOV #4,R0 ; CONTROLLER NUMBER 4
3952 006102 013701 000144' MOV .CFGTB+10,R1 ; ALLOCATION DATA TO R1
3953 006106 100005 BPL 10$ ; HE WANTS IT
3954 006110 105737 000004G TSTB TYPNUM+4 ; IS IT THERE??
3955 006114 001446 BEQ 50$ ; NO -- SO DON'T BOTHER
3956 006116 CALLR INIDMA ; YES -- SO DELETE IT
006116 000137 000000G JMP INIDMA
3957 ;
3958 006122 10$:
3959 006122 105737 000004G TSTB TYPNUM+4 ; IS IT THERE??
3960 006126 001004 BNE 20$ ; YES -- ALLOCATE IT
3961 006130 012737 100000 000144' MOV #BIT15,.CFGTB+10 ; NO -- LOGICALLY DELETE IT
3962 006136 000414 BR 30$ ; PRINT THE MESSAGE AND EXIT
3963 ;
3964 006140 20$:
3965 006140 005737 000000G TST DMA2TS ; IS IT REALLY THERE??
3966 006144 003411 BLE 30$ ; NO -- COMPLAIN
3967 006146 110100 MOVB R1,R0 ; YES -- GET THE INTERLEAVE MODE INTO R0
3968 006150 001430 BEQ 50$ ; EXIT NOW IF OPTIMAL
3969 006152 042700 177774 BIC #^C3,R0 ; FLUSH JUNK
3970 006156 006300 ASL R0 ; WORD INDEX
3971 006160 036037 000236' 000000G BIT BMMSTB(R0),DMANXM ; IS IT OK??
3972 006166 001413 BEQ 40$ ; YES -- GO ON
3973 006170 30$:
3974 006170 PRINT #CFGXNM ; NO -- COMPLAIN
006170 012700 001305' MOV #CFGXNM,R0
006174 004737 027620' JSR PC,$TTMSG
3975 006200 105237 000032' INCB .DMSW ; FLAG CONTROL
3976 006204 105737 000024' TSTB .DLGSW ; IS SOMEONE TALKING TO US??
3977 006210 001010 BNE 50$ ; NO -- JUST EXIT
3978 006212 000137 023776' JMP $ERROR ; YES -- BAIL OUT NOW
3979 ;
3980 006216 40$:
3981 006216 005701 TST R1 ; IS MODE NOW ZERO??
3982 006220 001002 BNE 45$ ; NO -- GO ON
3983 006222 012701 000003 MOV #3,R1 ; YES -- MAKE IT 4-WAY
3984 006226 45$:
3985 006226 110137 000000G MOVB R1,DMABM ; SET THE BUS MODE
3986 006232 50$:
3987 006232 RETURN ; TO CALLER
006232 000207 RTS PC
KLICO -- CONFIGURATION EDITOR MACRO V05.04 Tuesday 17-May-88 14:21 Page 86
CFGMOS -- MOS CONFIGURATION EDITOR
3989 .SBTTL CFGMOS -- MOS CONFIGURATION EDITOR
3990
3991 006234 CFGMOS:
3992 006234 012704 000010 MOV #10,R4 ; INIT ITERATION COUNTER
3993 006240 012702 000020 MOV #20,R2 ; ALSO BASE CONTROLLER NUMBER
3994 006244 005003 CLR R3 ; INIT FLAG
3995 006246 10$:
3996 006246 010200 MOV R2,R0 ; CONTROLER NUMBER TO R0
3997 006250 006200 ASR R0 ; REAL CONTROLLER NUMBER
3998 006252 122760 000002 000000G CMPB #2,CONTI(R0) ; WHAT STATE ARE WE IN??
3999 006260 003005 BGT 15$ ; OK TO CONFIGURE
4000 006262 PRINT #CFGMAC ; ALREADY CONFIGURED
006262 012700 001441' MOV #CFGMAC,R0
006266 004737 027620' JSR PC,$TTMSG
4001 006272 000441 BR 45$ ; NEXT...
4002 ;
4003 006274 15$:
4004 006274 016201 000134' MOV .CFGTB(R2),R1 ; CONFIGURATION MASK
4005 006300 002004 BGE 20$ ; WANTS IT IF .GE. 0
4006 006302 105760 000000G TSTB TYPNUM(R0) ; IS CONTROLLER THERE??
4007 006306 001022 BNE 35$ ; YES -- DELETE IT
4008 006310 000430 BR 40$ ; NO -- TRY FOR NEXT CONTROLLER
4009 ;
4010 006312 20$:
4011 006312 105760 000000G TSTB TYPNUM(R0) ; IS THE CONTROLLER THERE??
4012 006316 003006 BGT 30$ ; YES -- GO ON
4013 006320 012762 100000 000134' MOV #BIT15,.CFGTB(R2) ; NO -- (LOGICALLY) DELETE THE CONTROLLER
4014 006326 CALL 50$ ; WARN OPERATOR
006326 004737 006400' JSR PC,50$
4015 006332 000417 BR 40$ ; AND GO ON
4016 ;
4017 006334 30$:
4018 006334 CALL $MAPMM ; GET THE MOS MAP FOR THIS CONTROLLER
006334 004737 006436' JSR PC,$MAPMM
4019 006340 020100 CMP R1,R0 ; ARE THE MASKS THE SAME??
4020 006342 001413 BEQ 40$ ; YES -- DON'T DELETE MODULES
4021 006344 005701 TST R1 ; NO -- DID HE MEAN ALL??
4022 006346 001411 BEQ 40$ ; YES -- GO ON
4023 006350 010200 MOV R2,R0 ; NO -- GET CONTROLLER NUMBER
4024 006352 006200 ASR R0 ; RIGHT
4025 006354 35$:
4026 006354 CALL $SETMM ; AND SET IT
006354 004737 005302' JSR PC,$SETMM
4027 006360 103004 BCC 40$ ; ALL OK IF CC-C IS CLEAR
4028 006362 CALL 50$ ; WARN OPERATOR OR EXIT
006362 004737 006400' JSR PC,50$
4029 006366 005062 000134' CLR .CFGTB(R2) ; SET TABLE TO "ALL"
4030 006372 40$:
4031 006372 005722 TST (R2)+ ; NEXT CONTROLLER
4032 006374 077454 SOB R4,10$ ; LOOP TILL DONE
4033 006376 45$:
4034 006376 RETURN ; TO CALLER
006376 000207 RTS PC
4035 006400 50$:
4036 006400 005703 TST R3 ; ALREADY PRINTED??
4037 006402 001004 BNE 60$ ; YES -- GO ON
4038 006404 PRINT #CFGMNM ; NO PRINT IT
KLICO -- CONFIGURATION EDITOR MACRO V05.04 Tuesday 17-May-88 14:21 Page 86-1
CFGMOS -- MOS CONFIGURATION EDITOR
006404 012700 001370' MOV #CFGMNM,R0
006410 004737 027620' JSR PC,$TTMSG
4039 006414 60$:
4040 006414 005203 INC R3 ; FLAG PRINT
4041 006416 105237 000032' INCB .DMSW ; HERE TOO
4042 006422 105737 000024' TSTB .DLGSW ; SOMEONE OUT THERE??
4043 006426 001401 BEQ 70$ ; YES
4044 006430 RETURN ; NO -- RETURN
006430 000207 RTS PC
4045 006432 70$:
4046 006432 000137 023776' JMP $ERROR ; BAIL OUT NOW...
4047 ;
KLICO -- CONFIGURATION EDITOR MACRO V05.04 Tuesday 17-May-88 14:21 Page 87
$MAPMM -- MAP MOS CONTROLLER BLOCKS
4049 .SBTTL $MAPMM -- MAP MOS CONTROLLER BLOCKS
4050
4051 006436 $MAPMM::
4052 006436 PUSH R2 ; SAVE R2
006436 010246 MOV R2,-(SP)
4053 006440 PUSH R4 ; AND R4
006440 010446 MOV R4,-(SP)
4054 006442 005046 CLR -(SP) ; BUFFER
4055 006444 012704 000014 MOV #14,R4 ; ITERATION COUNTER
4056 006450 005002 CLR R2 ; INIT INDEX
4057 006452 CALL BAF0 ; FIND BASE ADDRESS THIS CONTROLLER
006452 004737 000000G JSR PC,BAF0
4058 006456 10$:
4059 006456 105720 TSTB (R0)+ ; IS THE BLOCK THERE??
4060 006460 001402 BEQ 20$ ; NO -- GO ON
4061 006462 056216 000000G BIS BITTBL(R2),(SP) ; YES -- LIGHT A BIT
4062 006466 20$:
4063 006466 005722 TST (R2)+ ; AND NEXT BIT
4064 006470 077406 SOB R4,10$ ; LOOP TILL DONE
4065 006472 POP R0 ; BIT MASK TO R0
006472 012600 MOV (SP)+,R0
4066 006474 POP R4 ; RESTORE R4
006474 012604 MOV (SP)+,R4
4067 006476 POP R2 ; RESTORE R2
006476 012602 MOV (SP)+,R2
4068 006500 RETURN ; TO CALLER
006500 000207 RTS PC
KLICO -- CONFIGURATION EDITOR MACRO V05.04 Tuesday 17-May-88 14:21 Page 88
$MAPMM -- MAP MOS CONTROLLER BLOCKS
4070
4071
4072 .TITLE KLICS -- SWEEP CACHE
4073 006502 IDENT$ 5,1
.IDENT /005010/
4074 ;
4075 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
4076 ; ALL RIGHTS RESERVED.
4077 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
4078 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
4079 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
4080 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
4081 ;
4082 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
4083 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
4084 ; EQUIPMENT CORPORATION.
4085 ;
4086 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
4087 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
4088 ;
4089 ; VERSION 05-01
4090 ;
4091 ; ALAN D. PECKHAM 8-APR-77
4092 ;
4093 ; MODIFIED BY:
4094 ;
4095 ; FUNCTION: SWEEP AND INVALIDATE THE KL CACHE.
4096 ;
4098 ; EQUATED SYMBOLS
4099 ;
4100 000014 CCA = 14 ; KL DEVICE.
4101 000004 CONO = 4 ; KL I/O SUBFUNCTION CODE.
4102 000001 DATAI = 1 ; KL I/O SUBFUNCTION CODE.
4103 000010 PAG = 10 ; KL DEVICE.
4104 ;
4105 ; LOCAL DATA
4106 ;
4107 000266 .PSECT DATA,D
4108 000266 DCSSIA: IO10$ DATAI CCA,,0 ; SWPIA INSTRUCTION.
000266 000 000 200 .BYTE BY$$0,BY$$1,BY$$2
000271 014 016 .BYTE BY$$3,BY$$4
4109 000273 DCSRCA: IO10$ CONO PAG,,0 ; RESET CACHE & PAGING STATUS.
000273 000 000 000 .BYTE BY$$0,BY$$1,BY$$2
000276 012 016 .BYTE BY$$3,BY$$4
4110 .EVEN
4111 006502 .PSECT
KLICS -- SWEEP CACHE MACRO V05.04 Tuesday 17-May-88 14:21 Page 89
$SWEEP -- SWEEP AND INVALIDATE THE CACHE
4113 .SBTTL $SWEEP -- SWEEP AND INVALIDATE THE CACHE
4114 ;+
4115 ; SWEEP THE CACHE OUT AND TURN IT OFF.
4116 ;
4117 ; INPUTS:
4118 ; .NCACH - NUMBER OF CACHES CONFIGURED.
4119 ; .CACHN - NUMBERS OF THE CACHES ENABLED.
4120 ;
4121 ; NO OUTPUTS
4122 ;-
4123
4124 006502 $SWEEP::
4125 006502 105737 000043' TSTB .CASW ; CHECK CACHE CONDITION AND
4126 006506 003415 BLE 90$ ; RETURN IF NO CACHE.
4127 006510 PUSH <R1,R0>
006510 010146 MOV R1,-(SP)
006512 010046 MOV R0,-(SP)
4128 006514 012700 000266' MOV #DCSSIA,R0 ; FIRST, INVALIDATE THE CACHE
4129 006520 CALL $EXCT ; WITH A SWPIA.
006520 004737 030622' JSR PC,$EXCT
4130 006524 103404 BCS 80$
4131 006526 012700 000273' MOV #DCSRCA,R0 ; THEN TURN OFF CACHE LOOK & LOAD
4132 006532 CALL $EXCT ; WITH A CONO PAG,,0.
006532 004737 030622' JSR PC,$EXCT
4133 006536 80$:
4134 006536 POP <R0,R1>
006536 012600 MOV (SP)+,R0
006540 012601 MOV (SP)+,R1
4135 006542 90$:
4136 006542 RETURN
006542 000207 RTS PC
4137
KLICS -- SWEEP CACHE MACRO V05.04 Tuesday 17-May-88 14:21 Page 90
$SWEEP -- SWEEP AND INVALIDATE THE CACHE
4140
4141 .TITLE KLICX -- EXTERNAL MEMORY CONFIGURATION DIALOG
4142 006544 IDENT$ 10,0,KLI$$F
.IDENT /B10000/
4143 ;
4144 ; COPYRIGHT (C) 1975, 1984, 1985 BY
4145 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
4146 ; ALL RIGHTS RESERVED.
4147 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
4148 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
4149 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
4150 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
4151 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
4152 ;
4153 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
4154 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
4155 ; CORPORATION.
4156 ;
4157 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
4158 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
4159 ;
4160 ;
4161 ; MODULE: EXTERNAL MEMORY CONFIGURATION DIALOG
4162 ;
4163 ; VERSION: 10-00
4164 ;
4165 ; DATE: 25-JUL-78
4166 ;
4167 ; AUTHOR: R. BELANGER
4168 ;
4169 ; MODIFICATIONS:
4170 ;
4171 ; NO. DATE PROGRAMMER REASON
4172 ; --- ---- ---------- ------
4173 ;
4174 ; LOCAL DATA
4175 ;
4176 001504 .PSECT TEXT,D
4177 001504 CXMDOL:
4178 001504 WARNING <EXTERNAL CORE MEMORY IS OFF-LINE>
001504 045 040 105 .ASCIZ \% EXTERNAL CORE MEMORY IS OFF-LINE\
001507 130 124 105
001512 122 116 101
001515 114 040 103
001520 117 122 105
001523 040 115 105
001526 115 117 122
001531 131 040 111
001534 123 040 117
001537 106 106 055
001542 114 111 116
001545 105 000
4179 001547 CFXMQ1:
4180 001547 103 117 116 .ASCIZ /CONFIGURE EXTERNAL CORE MEMORY [YES,NO]?/
001552 106 111 107
001555 125 122 105
001560 040 105 130
KLICX -- EXTERNAL MEMORY CONFIG MACRO V05.04 Tuesday 17-May-88 14:21 Page 90-1
$SWEEP -- SWEEP AND INVALIDATE THE CACHE
001563 124 105 122
001566 116 101 114
001571 040 103 117
001574 122 105 040
001577 115 105 115
001602 117 122 131
001605 040 133 131
001610 105 123 054
001613 116 117 135
001616 077 000
4181 001620 CFXMQ2:
4182 001620 105 130 124 .ASCIZ /EXTERNAL CORE MEMORY BUS-MODE [OPTIMAL,1,2,4]?/
001623 105 122 116
001626 101 114 040
001631 103 117 122
001634 105 040 115
001637 105 115 117
001642 122 131 040
001645 102 125 123
001650 055 115 117
001653 104 105 040
001656 133 117 120
001661 124 111 115
001664 101 114 054
001667 061 054 062
001672 054 064 135
001675 077 000
4183 001677 CXMIBM:
4184 001677 ERROR <ILLEGAL BUS-MODE>
001677 077 040 111 .ASCIZ \? ILLEGAL BUS-MODE\
001702 114 114 105
001705 107 101 114
001710 040 102 125
001713 123 055 115
001716 117 104 105
001721 000
4185 006544 .PSECT
KLICX -- EXTERNAL MEMORY CONFIG MACRO V05.04 Tuesday 17-May-88 14:21 Page 91
$CFXMD -- EXTERNAL MEMORY CONFIGURATION DIALOG
4187 .SBTTL $CFXMD -- EXTERNAL MEMORY CONFIGURATION DIALOG
4188
4189 006544 $CFXMD::
4190 006544 105737 000000G TSTB DMA20 ; DO WE HAVE EXTERNAL MEMORY??
4191 006550 001540 BEQ 100$ ; NO -- GO ON TO NEXT SECTION
4192 006552 005737 000000G TST DMA2TS ; YES -- IS IT ON-LINE??
4193 006556 003005 BGT 10$ ; YES -- GO ON
4194 006560 PRINT #CXMDOL ; NO -- SAY SO
006560 012700 001504' MOV #CXMDOL,R0
006564 004737 027620' JSR PC,$TTMSG
4195 006570 000530 BR 100$ ; AND EXIT
4196 ;
4197 006572 10$:
4198 006572 105737 000032' TSTB .DMSW ; ARE WE IN DIALOG MODE??
4199 006576 002435 BLT 40$ ; NO -- TAKE DEFAULT PATH
4200 006600 PRINT #CFXMQ1 ; YES -- ASK THE FIRST QUESTION
006600 012700 001547' MOV #CFXMQ1,R0
006604 004737 027620' JSR PC,$TTMSG
4201 006610 CALL $TTRD ; READ THE RESPONSE
006610 004737 027114' JSR PC,$TTRD
4202 006614 012705 000304' MOV #.TTIBF,R5 ; POINT TO INPUT BUFFER
4203 006620 105715 TSTB (R5) ; DEFAULT??
4204 006622 001423 BEQ 40$ ; YES -- DO IT
4205 006624 022715 042531 CMP #"YE,(R5) ; NO -- IS IT "YES"??
4206 006630 001420 BEQ 40$ ; YES -- DO IT
4207 006632 022715 047516 CMP #"NO,(R5) ; NO -- IS IT "NO"??
4208 006636 001412 BEQ 30$ ; YES -- DO IT
4209 006640 022715 040502 CMP #"BA,(R5) ; NO -- IS IT "BACK"??
4210 006644 001405 BEQ 20$ ; YES -- BACK UP ONE
4211 006646 PRINT #COMCSE ; NO -- ERROR
006646 012700 005552' MOV #COMCSE,R0
006652 004737 027620' JSR PC,$TTMSG
4212 006656 000745 BR 10$
4213 ;
4214 006660 20$:
4215 006660 CALLR $DLMB2 ; BACK UP TO PREVIOUS QUESTION
006660 000137 020356' JMP $DLMB2
4216 ;
4217 006664 30$:
4218 006664 012701 100000 MOV #BIT15,R1 ; MAKE R1 SAY "NO"
4219 006670 000401 BR 50$ ; DO COMMON CODE
4220 ;
4221 006672 40$:
4222 006672 005001 CLR R1 ; MAKE R1 SAY "YES" <DEFAULT PATH>
4223 006674 50$:
4224 006674 010137 000144' MOV R1,.CFGTB+10 ; SET IT IN CONFIGURATION TABLE
4225 006700 100464 BMI 100$ ; DONE IF DELETE...
4226 006702 60$:
4227 006702 105737 000032' TSTB .DMSW ; ARE WE IN DIALOG MODE??
4228 006706 002461 BLT 100$ ; NO -- JUST EXIT
4229 006710 PRINT #CFXMQ2 ; YES -- ASK THE SECOND QUESTION
006710 012700 001620' MOV #CFXMQ2,R0
006714 004737 027620' JSR PC,$TTMSG
4230 006720 CALL $TTRD ; READ THE RESPONSE
006720 004737 027114' JSR PC,$TTRD
4231 006724 005000 CLR R0 ; INIT DEFAULT BUS-MODE
4232 006726 012705 000304' MOV #.TTIBF,R5 ; POINT TO INPUT BUFFER
KLICX -- EXTERNAL MEMORY CONFIG MACRO V05.04 Tuesday 17-May-88 14:21 Page 91-1
$CFXMD -- EXTERNAL MEMORY CONFIGURATION DIALOG
4233 006732 105715 TSTB (R5) ; DEFAULT??
4234 006734 001444 BEQ 90$ ; YES -- GO ON
4235 006736 022715 050117 CMP #"OP,(R5) ; NO -- "OPTIMAL"??
4236 006742 001441 BEQ 90$ ; YES -- GO ON
4237 006744 022715 040502 CMP #"BA,(R5) ; NO -- "BACK"??
4238 006750 001710 BEQ 10$ ; YES -- BACK UP ONE
4239 006752 CALL $TRI2B ; NO -- HAD BETTER BE NUMERIC
006752 004737 025410' JSR PC,$TRI2B
4240 006756 103426 BCS 80$ ; OOPS!
4241 006760 005700 TST R0 ; DID HE TYPE ZERO??
4242 006762 001424 BEQ 80$ ; YES -- NOT ALLOWED
4243 006764 022700 000004 CMP #4,R0 ; NO -- IN RANGE??
4244 006770 002421 BLT 80$ ; NO -- COMPLAIN
4245 006772 022700 000003 CMP #3,R0 ; YES -- IS IT "3"??
4246 006776 001416 BEQ 80$ ; YES -- NOT ALLOWED
4247 007000 70$:
4248 007000 010001 MOV R0,R1 ; NO -- ALL OK
4249 007002 042701 177774 BIC #^C3,R1 ; FLUSH JUNK
4250 007006 006301 ASL R1 ; WORD INDEX
4251 007010 016101 000236' MOV BMMSTB(R1),R1 ; BIT MASK TO R1
4252 007014 030137 000000G BIT R1,DMANXM ; IS THIS BUS-MODE LEGAL??
4253 007020 001412 BEQ 90$ ; YES -- GO ON
4254 007022 PRINT #CXMIBM ; NO -- COMPLAIN
007022 012700 001677' MOV #CXMIBM,R0
007026 004737 027620' JSR PC,$TTMSG
4255 007032 000723 BR 60$ ; AND TRY AGAIN
4256 ;
4257 007034 80$:
4258 007034 PRINT #COMCSE ; ERROR MESSAGE
007034 012700 005552' MOV #COMCSE,R0
007040 004737 027620' JSR PC,$TTMSG
4259 007044 000716 BR 60$ ; TRY AGAIN
4260 ;
4261 007046 90$:
4262 007046 010037 000144' MOV R0,.CFGTB+10
4263 007052 100$:
4264 007052 CALLR $DLGMF ; CONFIGURE MOS MEMORY
007052 000137 020340' JMP $DLGMF
4265 ;
KLICX -- EXTERNAL MEMORY CONFIG MACRO V05.04 Tuesday 17-May-88 14:21 Page 92
$CFXMD -- EXTERNAL MEMORY CONFIGURATION DIALOG
4267
4268
4269 .TITLE KLIDC -- FILE CLOSE ROUTINE
4270 007056 IDENT$ 5,0
.IDENT /005000/
4271 ;
4272 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
4273 ; ALL RIGHTS RESERVED.
4274 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
4275 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
4276 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
4277 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
4278 ;
4279 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
4280 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
4281 ; EQUIPMENT CORPORATION.
4282 ;
4283 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
4284 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
4285 ;
4286 ; VERSION 05-00
4287 ;
4288 ; ALAN D. PECKHAM 15-APR-77
4289 ;
4290 ; MODIFIED BY:
4291 ;
4292 ; FUNCTION: THIS ROUTINE CLOSES THE FILE CURRENTLY OPEN. IF IT IS
4293 ; AND OUTPUT FILE, THE LAST BLOCK IS WRITTEN OUT AND
4294 ; THE ATTRIBUTES ARE WRITTEN.
4295 ;
4296 ; LOCAL MACROS
4297 ;
4298 .MCALL QIOW$
4299 ;
4300 ; LOCAL DATA
4301 ;
4302 000300 .PSECT DATA,D
4303 000300 DDCDAI: QIOW$ IO.DAC,SYILUN,1,,.SYSTA
000300 003 006 .BYTE 3,$$$ARG
000302 000000G .WORD IO.DAC
000304 000004 .WORD SYILUN
000306 001 000 .BYTE 1,
000310 000532' .WORD .SYSTA
000312 000000 .WORD
4304 000314 DDCDAO: QIOW$ IO.DAC,SYOLUN,1,,.SYSTA,,<,DDCWAT>
000314 003 010 .BYTE 3,$$$ARG
000316 000000G .WORD IO.DAC
000320 000005 .WORD SYOLUN
000322 001 000 .BYTE 1,
000324 000532' .WORD .SYSTA
000326 000000 .WORD
000330 000000 .WORD
000332 000334' .WORD DDCWAT
4305 000334 004 016 DDCWAT: .BYTE 4,16 ; ATTRIBUTES INFO
4306 000336 002656' .WORD .SYATT
4307 000340 005 012 .BYTE 5,12 ; FILENAME INFO
4308 000342 001600' .WORD .SYOFN+00
KLIDC -- FILE CLOSE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:21 Page 92-1
$CFXMD -- EXTERNAL MEMORY CONFIGURATION DIALOG
4309 000344 001 002 .BYTE 1,2 ; AND OWNER'S UIC
4310 000346 001612' .WORD .SYOFN+12
4311 000350 000 000 .BYTE 0,0 ; END OF CONTROL WORDS.
4312 007056 .PSECT
KLIDC -- FILE CLOSE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:21 Page 93
$CLOSE -- CLOSE FILES AND WRITE ATTRIBUTES
4314 .SBTTL $CLOSE -- CLOSE FILES AND WRITE ATTRIBUTES
4315 ;+
4316 ; CLOSE THE INPUT AND OUTPUT FILES.
4317 ;
4318 ; NO INPUTS
4319 ;
4320 ; OUTPUTS:
4321 ; CARRY IS SET IF ERROR OCCURS AND MESSAGE IS DISPLAYED.
4322 ; R0 IS DESTROYED IF ERROR.
4323 ;-
4324
4325 007056 105737 000536' $CLOSE::TSTB .SYISW ; IF INPUT FILE NOT OPEN
4326 007062 001411 BEQ 10$ ; LEAVE IT ALONE.
4327 007064 DIR$ #DDCDAI ; DE-ACCESS THE INPUT FILE.
007064 012746 000300' MOV #DDCDAI,-(SP)
007070 104375 EMT 375
4328 007072 103441 BCS 30$
4329 007074 105737 000532' TSTB .SYSTA
4330 007100 002436 BLT 30$
4331 007102 105037 000536' CLRB .SYISW ; INPUT FILE NOW CLOSED.
4332 007106 105737 000537' 10$: TSTB .SYOSW ; IF OUTPUT FILE NO OPEN
4333 007112 001430 BEQ 20$ ; LEAVE IT ALONE.
4334
4335 ; COLLECT OUT STATISTICS
4336
4337 007114 013737 001620' 002666' MOV .SYOVB,.SYATT+10 ; RECORD TOP
4338 007122 013737 001622' 002670' MOV .SYOVB+2,.SYATT+12 ; BLOCK USED AND
4339 007130 013737 001574' 002672' MOV .SYOBA,.SYATT+14 ; DISPLACEMENT TO
4340 007136 162737 001624' 002672' SUB #.SYOBF,.SYATT+14 ; NEXT AVAILABLE BYTE.
4341 007144 CALL $WRITS ; WRITE OUT REST OF
007144 004737 010666' JSR PC,$WRITS
4342 007150 103411 BCS 20$ ; THE CURRENT BLOCK.
4343 007152 DIR$ #DDCDAO ; DE-ACCESS THE OUTPUT FILE.
007152 012746 000314' MOV #DDCDAO,-(SP)
007156 104375 EMT 375
4344 007160 103411 BCS 40$
4345 007162 105737 000532' TSTB .SYSTA
4346 007166 002406 BLT 40$
4347 007170 105037 000537' CLRB .SYOSW ; OUTPUT FILE NOW CLOSED.
4348 007174 20$: RETURN
007174 000207 RTS PC
4349
4350 007176 012700 000546' 30$: MOV #.SYIFN,R0 ; CLOSE FAILED.
4351 007202 000402 BR 50$
4352 007204 012700 001600' 40$: MOV #.SYOFN,R0
4353 007210 50$: CALLR $IOERR
007210 000137 007346' JMP $IOERR
KLIDC -- FILE CLOSE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:21 Page 94
$CLOSE -- CLOSE FILES AND WRITE ATTRIBUTES
4355
4356
4357 .TITLE KLIDD -- DELETE A FILE
4358 007214 IDENT$ 5,0
.IDENT /005000/
4359 ;
4360 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
4361 ; ALL RIGHTS RESERVED.
4362 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
4363 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
4364 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
4365 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
4366 ;
4367 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
4368 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
4369 ; EQUIPMENT CORPORATION.
4370 ;
4371 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
4372 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
4373 ;
4374 ; VERSION 05-00
4375 ;
4376 ; ALAN D. PECKHAM 15-APR-77
4377 ;
4378 ; MODIFIED BY:
4379 ;
4380 ; FUNCTION: THIS ROUTINE DELETES THE FILE SPECIFIED BY THE FILE NAME
4381 ; POINTED TO BY R0.
4382 ;
4383 ; LOCAL MACROS
4384 ;
4385 .MCALL QIOW$
4386 ;
4387 ; LOCAL DATA
4388 ;
4389 000352 .PSECT DATA,D
4390 000352 DDDFNA: QIOW$ IO.FNA,SYFLUN,1,,.SYSTA,,<,,,,,.SYFNB>
000352 003 014 .BYTE 3,$$$ARG
000354 000000G .WORD IO.FNA
000356 000006 .WORD SYFLUN
000360 001 000 .BYTE 1,
000362 000532' .WORD .SYSTA
000364 000000 .WORD
000366 000000 .WORD
000370 000000 .WORD
000372 000000 .WORD
000374 000000 .WORD
000376 000000 .WORD
000400 002624' .WORD .SYFNB
4391 000402 DDDDEL: QIOW$ IO.DEL,SYFLUN,1,,.SYSTA,,<.SYFID>
000402 003 007 .BYTE 3,$$$ARG
000404 000000G .WORD IO.DEL
000406 000006 .WORD SYFLUN
000410 001 000 .BYTE 1,
000412 000532' .WORD .SYSTA
000414 000000 .WORD
000416 002624' .WORD .SYFID
KLIDD -- DELETE A FILE MACRO V05.04 Tuesday 17-May-88 14:21 Page 94-1
$CLOSE -- CLOSE FILES AND WRITE ATTRIBUTES
4392 000420 DDDRNA: QIOW$ IO.RNA,SYFLUN,1,,.SYSTA,,<,,,,,.SYFNB>
000420 003 014 .BYTE 3,$$$ARG
000422 000000G .WORD IO.RNA
000424 000006 .WORD SYFLUN
000426 001 000 .BYTE 1,
000430 000532' .WORD .SYSTA
000432 000000 .WORD
000434 000000 .WORD
000436 000000 .WORD
000440 000000 .WORD
000442 000000 .WORD
000444 000000 .WORD
000446 002624' .WORD .SYFNB
4393 007214 .PSECT
KLIDD -- DELETE A FILE MACRO V05.04 Tuesday 17-May-88 14:21 Page 95
$CLOSE -- CLOSE FILES AND WRITE ATTRIBUTES
4395 ;+
4396 ; THIS PROGRAM USES THE RSX FILE PRIMITIVES TO DO ITS I/O
4397 ; IN ORDER TO AVOID THE INCLUSION OF THE FILES-11 PACKAGE WHICH IS
4398 ; SOME 2K IN SIZE, AND NOT OVERLAYABLE. THIS HAS A RISK IN THAT
4399 ; THE FILE PRIMITIVES ARE NOT DOCUMENTED, BUT THE INFORMATION IS
4400 ; AVAILABLE TO THOSE WHO WANT TO WADE THROUGH THE LISTINGS. THE
4401 ; FOLLOWING INFORMATION HOPEFULLY WILL BE OF AID TO THE READER
4402 ; OF THIS LISTING.
4403 ;
4404 ; FILES UNDER RSX ARE ACCESSED BY AN INTERNAL 'FILE ID' (FID) WHICH
4405 ; IS ASSOCIATED WITH THE USER'S FILE NAME THROUGH THE DIRECTORY.
4406 ; THUS, UNDER RSX, ACCESSING A FILE NAME IS SEPERATE FROM ACCESSING
4407 ; THE ACTUAL FILE. THE 3 PRIMITIVES IO.FNA, IO.RNA, IO.ENA ARE
4408 ; PROVIDED FOR FINDING, REMOVING, AND ENTERING A FILE NAME. THESE
4409 ; USE THE FILE NAME BLOCK (FNB) ONLY. IN ACCESSING THE DIRECTORY,
4410 ; THE FID OF THE DIRECTORY MUST BE FIRST FOUND WITHIN THE MASTER
4411 ; FILE DIRECTORY, WHICH HAS A FID OF -1,-1.
4412 ;
4413 ; ONCE THE DESIRED FID HAS BEEN FOUND, THE FILE CAN BE ACCESSED
4414 ; FOR THE TYPE OF I/O TO BE DONE: IO.ACR TO READ, IO.ACW TO
4415 ; READ/WRITE, IO.ACE TO READ/WRITE/EXTEND. THE FILE CAN THEN BE
4416 ; WORKED ON THROUGH IO.RVB AND IO.WVB (VIRTUAL BLOCKS START AT 1).
4417 ; WHEN FINISHED, THE USER SHOULD DO AN IO.DAC TO CLOSE THE FILE.
4418 ; THE PRIMITIVES IO.ACR,ACW,ACE USE THE FID AND ACCESS PARAMETERS,
4419 ; WHILE IO.DAC USES THE FID AND MAY SET THE FILE ATTRIBUTES IF
4420 ; ACCESS INCLUDES WRITING.
4421 ;
4422 ; FILES ARE MANIPULATED BY IO.CRE, IO.EXT, IO.DEL WHICH CREATE,
4423 ; EXTEND, OR DELETE A FILE. A DELETE WITH AN EXTEND PARAMETER WILL
4424 ; TRUNCATE A FILE.
4425 ;
4426 ; THE ATTRIBUTES MAY BE ACCESSED ON AN ACCESSED FILE THROUGH
4427 ; IO.RAT TO READ THE ATTRIBUTES AND IO.WAT TO WRITE.
4428 ;
4429 ; CARE MUST BE TAKEN NOT TO LOSE A FILE BY CREATING AND NOT HAVING
4430 ; IT IN SOME DIRECTORY.
4431 ;-
KLIDD -- DELETE A FILE MACRO V05.04 Tuesday 17-May-88 14:21 Page 96
$CLOSE -- CLOSE FILES AND WRITE ATTRIBUTES
4433 ;+
4434 ; THE QIO PARAMETER BLOCK IS ORGANIZED AS FOLLOWS:
4435 ;
4436 ; .WORD 0 ;ADDRESS OF FID BLOCK.
4437 ; .WORD 0 ;ADDRESS OF ATTRIBUTE CONTROL LIST.
4438 ; .WORD 0,0 ;EXTEND PARAMETERS.
4439 ; .WORD 0 ;ACCESS PARAMETERS.
4440 ; .WORD 0 ;ADDRESS OF FILE NAME BLOCK.
4441 ;
4442 ; ANY UNUSED UNUSED PARAMETERS ARE TO BE ZERO.
4443 ;
4444 ; THE PARAMETERS THAT MAY BE USED FOR PRIMITIVES ARE:
4445 ;
4446 ; FUNC. FID ACL EXT ACC FNB
4447 ; IO.FNA - - - - M
4448 ; IO.RNA - - - - M
4449 ; IO.ENA - - - - M
4450 ; IO.ACR M OR - M -
4451 ; IO.ACW M OR - M -
4452 ; IO.ACE M OR - M -
4453 ; IO.DAC O OW - - -
4454 ; IO.EXT O - M - -
4455 ; IO.CRE M OW O - -
4456 ; IO.DEL O - OT - -
4457 ; IO.RAT O OR - - -
4458 ; IO.WAT O OW - - -
4459 ;
4460 ; M - MANDATORY O - OPTIONAL '-' - MUST BE ZERO
4461 ; R - READ ATTRIBUTES W - WRITE ATTRIBUTES T - TRUNCATE FILE
4462 ;-
KLIDD -- DELETE A FILE MACRO V05.04 Tuesday 17-May-88 14:21 Page 97
$CLOSE -- CLOSE FILES AND WRITE ATTRIBUTES
4464 ;+
4465 ; THE FILE ID BLOCK IS A TWO WORD HOLDING AREA AND IS USUALLY
4466 ; THE FIRST TWO WORDS OF THE FNB, AS THAT IS WHERE THE FID IS
4467 ; RETURNED FROM A DIRECTORY OPERATION.
4468 ;
4469 ; THE FILE ATTRIBUTES ARE ACCESSED IN PIECES THROUGH A CONTROL
4470 ; LIST. ENTRIES IN THIS LIST ARE TWO WORDS LONG AND ARE TERMINATED
4471 ; BY A NULL BYTE:
4472 ; .BYTE 0 ;ATTRIBUTE # - POSITIVE TO WRITE ATTRIBUTE
4473 ; ; NEGATIVE TO READ ATTRIBUTE.
4474 ; .BYTE 0 ;LENGTH IN BYTES TO TRANSFER - IF ZERO
4475 ; ;THEN 1000 BYTES IS IMPLIED. THIS MUST
4476 ; ;BE <=MXLN (THE MAXIMUM LENGTH).
4477 ; .WORD 0 ;ADDRESS OF SENDING/RECIEVING AREA.
4478 ;
4479 ; ATTR# MXLN DESCRIPTION
4480 ; 1 5 OWNERS UIC (MAY INCL 2&3)
4481 ; 2 3 FILE PROTECTION (MAY INCL 3)
4482 ; 3 1 USER CONTROLLED FILE CHARACTERISTICS
4483 ; 4 40 USER FILE ATTRIBUTES
4484 ; 5 12 FILE NAME (MAY INCL 6&7)
4485 ; 6 4 FILE TYPE (MAY INCL 7)
4486 ; 7 2 FILE VERSION
4487 ; 10 7 EXPIRATION DATE
4488 ; 11 12 STATISTICS BLOCK (READ ONLY)
4489 ; 12 0 COMPLETE FILE HEADER (READ ONLY)
4490 ;
4491 ; THE USER FILE ATTRIBUTES ARE DESCRIBED IN THE RSX-11 I/O
4492 ; OPERATIONS MANUAL IN APPENDIX A AS THE FIRST 20 BYTES OF
4493 ; THE FDB. THE STATISTICS BLOCK IS DESCRIBED IN APPENDIX H.
4494 ; THE FULL HEADER BLOCK IS DESCRIBED IN APPENDIX F.
4495 ;
4496 ; THE EXTEND PARAMETER IS A TWO WORD INDICATOR OF THE SIZE OF THE
4497 ; EXTEND:
4498 ; .BYTE 0 ;EXTENSION SIZE HIGH
4499 ; .BYTE 400 ;EXTENSION PARAMETER ENABLE. IF 410
4500 ; ;THEN EXTEND BY SYSTEM DEFAULT.
4501 ; .WORD 0 ;EXTENSION SIZE LOW.
4502 ; THE EXTENSION HIGH & LOW COMBINED PROVIDE A 24 BIT NUMBER OF
4503 ; BLOCKS TO EXTEND THE FILE BY. IF USED IN IO.DEL, ALL 31 BITS
4504 ; EXCLUDING THE ENABLE BIT (SIGN BIT) PARTICIPATE IN A FILE SIZE
4505 ; TO TRUNCATE TO.
4506 ;
4507 ; THE ACCESS PARAMETER SPECIFIES THE FILE WINDOW SIZE:
4508 ; .BYTE 0 ;WINDOW SIZE (NORMALLY ZERO)
4509 ; .BYTE 400 ;ACCESS PARAMETER ENABLE.
4510 ;
4511 ; THE FILE NAME BLOCK IS DESCRIBED IN THE RSX-11 I/O OPERATIONS
4512 ; REFERENCE MANUAL APPENDIX B. THE LAST FOUR BYTES ARE NOT USED.
4513 ;-
KLIDD -- DELETE A FILE MACRO V05.04 Tuesday 17-May-88 14:21 Page 98
$DELETE -- DELETE A FILE
4515 .SBTTL $DELETE -- DELETE A FILE
4516 ;+
4517 ; DELETE THE GIVEN FILE FROM THE SYSTEM DEVICE
4518 ;
4519 ; INPUTS:
4520 ; R0 - POINTER TO FILE NAME.
4521 ;
4522 ; OUTPUTS:
4523 ; CARRY IS SET IF DELETE FAILED AND MESSAGE IS TYPED.
4524 ; R0 IS DESTROYED IF ERROR OCCURS.
4525 ;-
4526
4527 007214 $DELETE::CALL $SETFN ; GET FILE NAME.
007214 004737 007304' JSR PC,$SETFN
4528 007220 DIR$ #DDDFNA ; FIND FILE IN DIRECTORY
007220 012746 000352' MOV #DDDFNA,-(SP)
007224 104375 EMT 375
4529 007226 103424 BCS 10$
4530 007230 105737 000532' TSTB .SYSTA
4531 007234 002421 BLT 10$
4532 007236 DIR$ #DDDDEL ; MARK IT FOR DELETION
007236 012746 000402' MOV #DDDDEL,-(SP)
007242 104375 EMT 375
4533 007244 103415 BCS 10$
4534 007246 105737 000532' TSTB .SYSTA
4535 007252 002412 BLT 10$
4536 007254 CALL $SETFN ; RESET FNB AND
007254 004737 007304' JSR PC,$SETFN
4537 007260 DIR$ #DDDRNA ; REMOVE NAME FROM DIRECTORY.
007260 012746 000420' MOV #DDDRNA,-(SP)
007264 104375 EMT 375
4538 007266 103404 BCS 10$
4539 007270 105737 000532' TSTB .SYSTA
4540 007274 002401 BLT 10$
4541 007276 RETURN
007276 000207 RTS PC
4542
4543 007300 10$: CALLR $IOERR ; DELETE FAILED.
007300 000137 007346' JMP $IOERR
KLIDD -- DELETE A FILE MACRO V05.04 Tuesday 17-May-88 14:21 Page 99
$SETFN -- SET FILE NAME IN FILE NAME BLOCK
4545 .SBTTL $SETFN -- SET FILE NAME IN FILE NAME BLOCK
4546 ;+
4547 ; PUT FILE NAME IN FILE NAME BLOCK AND SET UP
4548 ; DPB TO FIND THE FILE. THE FILENAME IS POINTED TO BY R0.
4549 ;
4550 ; INPUTS:
4551 ; R0 - ADDRESS OF FILE NAME TO USE:
4552 ; .RAD50 /FILENAME / ;(THREE WORDS)
4553 ; .RAD50 /TYP/ ;(ONE WORD)
4554 ; .WORD VERSION
4555 ; .WORD UIC
4556 ; .ASCII /DEVICE/ ;(ONE WORD)
4557 ; .WORD UNIT
4558 ;
4559 ; OUTPUTS:
4560 ; .SYFNB - IS SET UP FOR USE WITH THE GIVEN FILE NAME.
4561 ;-
4562
4563 007304 $SETFN::PUSH <R1,R0>
007304 010146 MOV R1,-(SP)
007306 010046 MOV R0,-(SP)
4564 007310 012701 002624' MOV #.SYFNB,R1 ; GET FNB ADDRESS
4565 007314 005021 CLR (R1)+ ; AND CLEAR FID
4566 007316 005021 CLR (R1)+
4567 007320 005021 CLR (R1)+
4568 007322 012021 MOV (R0)+,(R1)+ ; MOVE IN FILENAME
4569 007324 012021 MOV (R0)+,(R1)+
4570 007326 012021 MOV (R0)+,(R1)+
4571 007330 012021 MOV (R0)+,(R1)+ ; FILE TYPE
4572 007332 011021 MOV (R0),(R1)+ ; VERSION
4573 007334 005021 CLR (R1)+ ; STATUS AND
4574 007336 005011 CLR (R1) ; NEXT POINTER.
4575 007340 POP <R0,R1>
007340 012600 MOV (SP)+,R0
007342 012601 MOV (SP)+,R1
4576 007344 RETURN
007344 000207 RTS PC
KLIDD -- DELETE A FILE MACRO V05.04 Tuesday 17-May-88 14:21 Page 100
$SETFN -- SET FILE NAME IN FILE NAME BLOCK
4578
4579 .TITLE KLIDE -- PRINT I/O ERROR MESSAGE
4580 007346 IDENT$ 5,1 ; ADP01
.IDENT /005010/
4581 ;
4582 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
4583 ; ALL RIGHTS RESERVED.
4584 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
4585 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
4586 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
4587 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
4588 ;
4589 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
4590 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
4591 ; EQUIPMENT CORPORATION.
4592 ;
4593 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
4594 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
4595 ;
4596 ; VERSION 05-01 ; ADP01
4597 ;
4598 ; ALAN D. PECKHAM 15-APR-77
4599 ;
4600 ; MODIFIED BY:
4601 ;
4602 ; FUNCTION: THIS ROUTINE IS CALLED TO PRINT OUT THE ERROR CODE
4603 ; IN CASE OF I/O ERROR. IT ALSO PRINTS THE DEVICE AND
4604 ; FILE NAME ASSOCIATED TO THE ERROR.
4605 ;
4606 ; LOCAL DATA
4607 ;
4608 001722 .PSECT TEXT,D
4609 001722 TDEDR: ERROR <DIRECTIVE ERROR -XXX ON FILE 'XXX:XXXXXXXXX.XXX;XXXXXX'> ; ADP01
001722 077 040 104 .ASCIZ \? DIRECTIVE ERROR -XXX ON FILE 'XXX:XXXXXXXXX.XXX;XXXXXX'\
001725 111 122 105
001730 103 124 111
001733 126 105 040
001736 105 122 122
001741 117 122 040
001744 055 130 130
001747 130 040 117
001752 116 040 106
001755 111 114 105
001760 040 047 130
001763 130 130 072
001766 130 130 130
001771 130 130 130
001774 130 130 130
001777 056 130 130
002002 130 073 130
002005 130 130 130
002010 130 130 047
002013 000
4610 002014 TDEIO: ERROR <I/O ERROR -XXX ON FILE 'XXX:XXXXXXXXX.XXX;XXXXXX'> ; ADP01
002014 077 040 111 .ASCIZ \? I/O ERROR -XXX ON FILE 'XXX:XXXXXXXXX.XXX;XXXXXX'\
002017 057 117 040
002022 105 122 122
KLIDE -- PRINT I/O ERROR MESSAG MACRO V05.04 Tuesday 17-May-88 14:21 Page 100-1
$SETFN -- SET FILE NAME IN FILE NAME BLOCK
002025 117 122 040
002030 055 130 130
002033 130 040 117
002036 116 040 106
002041 111 114 105
002044 040 047 130
002047 130 130 072
002052 130 130 130
002055 130 130 130
002060 130 130 130
002063 056 130 130
002066 130 073 130
002071 130 130 130
002074 130 130 047
002077 000
4611 002100 TDENSF: ERROR <FILE 'XXX:XXXXXXXXX.XXX;XXXXXX' NOT FOUND> ; ADP01
002100 077 040 106 .ASCIZ \? FILE 'XXX:XXXXXXXXX.XXX;XXXXXX' NOT FOUND\
002103 111 114 105
002106 040 047 130
002111 130 130 072
002114 130 130 130
002117 130 130 130
002122 130 130 130
002125 056 130 130
002130 130 073 130
002133 130 130 130
002136 130 130 047
002141 040 116 117
002144 124 040 106
002147 117 125 116
002152 104 000
4612 002154 TDEDFU: ERROR <DEVICE 'XXX:' FULL>
002154 077 040 104 .ASCIZ \? DEVICE 'XXX:' FULL\
002157 105 126 111
002162 103 105 040
002165 047 130 130
002170 130 072 047
002173 040 106 125
002176 114 114 000
4613 007346 .PSECT
KLIDE -- PRINT I/O ERROR MESSAG MACRO V05.04 Tuesday 17-May-88 14:21 Page 101
$IOERR -- REPORT I/O ERROR
4615 .SBTTL $IOERR -- REPORT I/O ERROR
4616 ;+
4617 ; DISPLAY AN ERROR MESSAGE ACCORDING TO THE CODES FROM THE LAST
4618 ; I/O OPERATION AND RETURN WITH THE CARRY SET.
4619 ;
4620 ; INPUTS:
4621 ; $DSW - DIRECTIVE ERROR CODE OR SUCCESS CODE.
4622 ; .SYSTA - I/O OPERATION ERROR CODE.
4623 ;
4624 ; OUTPUT:
4625 ; THE CARRY IS SET.
4626 ;-
4627
4628 007346 004537 024170' $IOERR::JSR R5,$RSAVE
4629 007352 010002 MOV R0,R2 ; SAVE FILE NAME.
4630 007354 012701 001722' MOV #TDEDR,R1 ; DIRECTIVE ERROR
4631 007360 010105 MOV R1,R5
4632 007362 113700 000000G MOVB $DSW,R0
4633 007366 100421 BMI 10$ ; OR
4634 007370 113700 000532' MOVB .SYSTA,R0
4635 007374 012701 002100' MOV #TDENSF,R1 ; FILE NOT FOUND
4636 007400 010105 MOV R1,R5
4637 007402 122700 000000G CMPB #IE.NSF,R0
4638 007406 001425 BEQ 30$ ; OR
4639 007410 012701 002154' MOV #TDEDFU,R1 ; DEVICE FULL
4640 007414 010105 MOV R1,R5
4641 007416 122700 000000G CMPB #IE.DFU,R0
4642 007422 001433 BEQ 50$ ; OR
4643 007424 012701 002014' MOV #TDEIO,R1 ; OPERATION ERROR.
4644 007430 010105 MOV R1,R5
4645 007432 122725 000055 10$: CMPB #'-,(R5)+ ; FIND POSITION FOR
4646 007436 001375 BNE 10$ ; ERROR CODE
4647 007440 005400 NEG R0 ; AND
4648 007442 CALL $TRB2O ; INSERT IN OCTAL.
007442 004737 026464' JSR PC,$TRB2O
4649 007446 122715 000040 20$: CMPB #' ,(R5) ; ZAP REST OF FIELD.
4650 007452 001403 BEQ 30$
4651 007454 112725 177777 MOVB #-1,(R5)+
4652 007460 000772 BR 20$
4653 007462 122725 000047 30$: CMPB #'',(R5)+ ; NOW FIND
4654 007466 001375 BNE 30$ ; FILENAME POSITION,
4655 007470 010200 MOV R2,R0 ; GET FILENAME BLOCK, ; ADP01
4656 007472 CALL $TRB2F ; AND INSERT FILE NAME. ; ADP01
007472 004737 025030' JSR PC,$TRB2F
4657 007476 122725 000047 40$: CMPB #'',(R5)+ ; ZAP REST OF FIELD.
4658 007502 001410 BEQ 80$
4659 007504 111765 177777 MOVB (PC),-1(R5)
4660 007510 000772 BR 40$
4661 007512 122725 000047 50$: CMPB #'',(R5)+
4662 007516 001375 BNE 50$
4663 007520 CALL LDEIDV
007520 004737 007536' JSR PC,LDEIDV
4664 007524 80$: PRINT R1 ; DISPLAY MESSAGE
007524 010100 MOV R1,R0
007526 004737 027620' JSR PC,$TTMSG
4665 007532 000261 SEC ; AND RETURN WITH SHAME.
4666 007534 RETURN
KLIDE -- PRINT I/O ERROR MESSAG MACRO V05.04 Tuesday 17-May-88 14:21 Page 101-1
$IOERR -- REPORT I/O ERROR
007534 000207 RTS PC
KLIDE -- PRINT I/O ERROR MESSAG MACRO V05.04 Tuesday 17-May-88 14:21 Page 102
$IOERR -- REPORT I/O ERROR
4668 ;+
4669 ; INSERT DEVICE NAME AT AREA POINTED TO BY R5.
4670 ;
4671 ; INPUTS:
4672 ; R5 - POINTER TO BYTES TO RECIEVE STRING.
4673 ; R2 - POINTER TO FILE NAME.
4674 ;
4675 ; OUTPUTS:
4676 ; A 3 CHARACTER STRING IS INSERTED AND R5 IS ADVANCED BY 4 TO
4677 ; PASS BY THE ":".
4678 ;-
4679
4680 007536 116225 000014 LDEIDV: MOVB 14(R2),(R5)+ ; INSERT DEVICE NAME
4681 007542 116225 000015 MOVB 15(R2),(R5)+
4682 007546 116215 000016 MOVB 16(R2),(R5) ; DEVICE UNIT
4683 007552 152725 000060 BISB #'0,(R5)+
4684 007556 005205 INC R5
4685 007560 RETURN
007560 000207 RTS PC
KLIDE -- PRINT I/O ERROR MESSAG MACRO V05.04 Tuesday 17-May-88 14:21 Page 103
$IOERR -- REPORT I/O ERROR
4687
4688
4689 .TITLE KLIDL -- LOOKUP AN EXISTING FILE FOR INPUT
4690 007562 IDENT$ 5,0
.IDENT /005000/
4691 ;
4692 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
4693 ; ALL RIGHTS RESERVED.
4694 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
4695 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
4696 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
4697 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
4698 ;
4699 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
4700 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
4701 ; EQUIPMENT CORPORATION.
4702 ;
4703 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
4704 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
4705 ;
4706 ; VERSION 05-00
4707 ;
4708 ; ALAN D. PECKHAM 15-APR-77
4709 ;
4710 ; MODIFIED BY:
4711 ;
4712 ; FUNCTION: THIS ROUTINE FINDS THE FILE WITH THE NAME POINTED TO BY R0
4713 ; AND ACCESSES IT FOR READ.
4714 ;
4715 ; LOCAL MACROS
4716 ;
4717 .MCALL GLUN$,QIOW$
4718 ;
4719 ; LOCAL DATA
4720 ;
4721 000450 .PSECT DATA,D
4722 000450 DDLGLN: GLUN$ SYILUN,.SYIBF
000450 005 003 .BYTE 5,3
000452 000004 .WORD SYILUN
000454 000572' .WORD .SYIBF
4723 000456 DDLFNA: QIOW$ IO.FNA,SYFLUN,1,,.SYSTA,,<,,,,,.SYFNB>
000456 003 014 .BYTE 3,$$$ARG
000460 000000G .WORD IO.FNA
000462 000006 .WORD SYFLUN
000464 001 000 .BYTE 1,
000466 000532' .WORD .SYSTA
000470 000000 .WORD
000472 000000 .WORD
000474 000000 .WORD
000476 000000 .WORD
000500 000000 .WORD
000502 000000 .WORD
000504 002624' .WORD .SYFNB
4724 000506 DDLACR: QIOW$ IO.ACR,SYILUN,1,,.SYSTA,,<.SYFID,DDLRAT,,,BIT15>
000506 003 013 .BYTE 3,$$$ARG
000510 000000G .WORD IO.ACR
000512 000004 .WORD SYILUN
KLIDL -- LOOKUP AN EXISTING FIL MACRO V05.04 Tuesday 17-May-88 14:21 Page 103-1
$IOERR -- REPORT I/O ERROR
000514 001 000 .BYTE 1,
000516 000532' .WORD .SYSTA
000520 000000 .WORD
000522 002624' .WORD .SYFID
000524 000564' .WORD DDLRAT
000526 000000 .WORD
000530 000000 .WORD
000532 100000 .WORD BIT15
4725 000534 DDLRNA: QIOW$ IO.RNA,SYFLUN,1,,,,<,,,,,.SYFNB>
000534 003 014 .BYTE 3,$$$ARG
000536 000000G .WORD IO.RNA
000540 000006 .WORD SYFLUN
000542 001 000 .BYTE 1,
000544 000000 .WORD
000546 000000 .WORD
000550 000000 .WORD
000552 000000 .WORD
000554 000000 .WORD
000556 000000 .WORD
000560 000000 .WORD
000562 002624' .WORD .SYFNB
4726 000564 373 012 DDLRAT: .BYTE -5,12 ; READ FILE NAME
4727 000566 000546' .WORD .SYIFN+00
4728 000570 377 002 .BYTE -1,2 ; READ OWNER'S UIC
4729 000572 000560' .WORD .SYIFN+12
4730 000574 000 000 .BYTE 0,0 ; END OF CONTROL LIST.
4731 007562 .PSECT
KLIDL -- LOOKUP AN EXISTING FIL MACRO V05.04 Tuesday 17-May-88 14:21 Page 104
$LOOKUP -- LOOK UP AN EXISTING FILE
4733 .SBTTL $LOOKUP -- LOOK UP AN EXISTING FILE
4734 ;+
4735 ; FIND AN EXISTING FILE ON THE SYSTEM DEVICE AND OPEN IT FOR INPUT.
4736 ; IF THE FILE NAME IS IN THE DIRECTORY BUT THERE IS NO FILE, THE FILE
4737 ; NAME IS DELETED.
4738 ;
4739 ; INPUTS:
4740 ; R0 - POINTER TO FILE NAME.
4741 ;
4742 ; OUTPUTS:
4743 ; CARRY IS SET IF ERROR OCCURS AND MESSAGE IS DISPLAYED.
4744 ;-
4745
4746 007562 $LOOKUP::CALL $SETFN ; TRANSFER FILE NAME AND
007562 004737 007304' JSR PC,$SETFN
4747 007566 DIR$ #DDLGLN ; GET DEVICE NAME
007566 012746 000450' MOV #DDLGLN,-(SP)
007572 104375 EMT 375
4748 007574 103455 BCS 30$ ; AND
4749 007576 013737 000572' 000562' MOV .SYIBF+0,.SYIFN+14 ; PUT IN OUR
4750 007604 113737 000574' 000564' MOVB .SYIBF+2,.SYIFN+16 ; FILENAME BLOCK.
4751 007612 DIR$ #DDLFNA ; FIND FILE IN DIRECTORY.
007612 012746 000456' MOV #DDLFNA,-(SP)
007616 104375 EMT 375
4752 007620 103443 BCS 30$
4753 007622 105737 000532' TSTB .SYSTA
4754 007626 002432 BLT 20$
4755 007630 DIR$ #DDLACR ; ACCESS FILE TO READ.
007630 012746 000506' MOV #DDLACR,-(SP)
007634 104375 EMT 375
4756 007636 103434 BCS 30$
4757 007640 105737 000532' TSTB .SYSTA
4758 007644 002412 BLT 10$ ; FILE CAN'T BE READ
4759 007646 105237 000536' INCB .SYISW ; INPUT FILE IS NOW OPEN.
4760 007652 005037 000570' CLR .SYIVB+2 ; NO BLOCK OR
4761 007656 005037 000566' CLR .SYIVB
4762 007662 005037 000540' CLR .SYIRC ; RECORD READ YET.
4763 007666 CALLR $READ ; READ FIRST BLOCK.
007666 000137 010474' JMP $READ
4764 007672 122737 000000G 000532' 10$: CMPB #IE.NSF,.SYSTA ; IF FILENAME EXISTS BUT
4765 007700 001013 BNE 30$ ; FILE DOESN'T, THEN
4766 007702 CALL $SETFN ; RESET FILE NAME BLOCK AND
007702 004737 007304' JSR PC,$SETFN
4767 007706 DIR$ #DDLRNA ; DELETE FILE NAME FROM DIRECTORY.
007706 012746 000534' MOV #DDLRNA,-(SP)
007712 104375 EMT 375
4768 007714 122737 000000G 000532' 20$: CMPB #IE.NSF,.SYSTA ; IF FILE NOT FOUND,
4769 007722 001002 BNE 30$ ; LEAVE ERROR REPORT
4770 007724 000261 SEC ; TO CALLER.
4771 007726 RETURN
007726 000207 RTS PC
4772
4773 007730 30$: CALLR $IOERR ; LOOKUP FAILED.
007730 000137 007346' JMP $IOERR
KLIDL -- LOOKUP AN EXISTING FIL MACRO V05.04 Tuesday 17-May-88 14:21 Page 105
$LOOKUP -- LOOK UP AN EXISTING FILE
4775
4776
4777 .TITLE KLIDN -- ENTER A FILE FOR OUTPUT
4778 007734 IDENT$ 5,0
.IDENT /005000/
4779 ;
4780 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
4781 ; ALL RIGHTS RESERVED.
4782 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
4783 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
4784 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
4785 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
4786 ;
4787 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
4788 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
4789 ; EQUIPMENT CORPORATION.
4790 ;
4791 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
4792 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
4793 ;
4794 ; VERSION 05-00
4795 ;
4796 ; ALAN D. PECKHAM 15-APR-77
4797 ;
4798 ; MODIFIED BY:
4799 ;
4800 ; FUNCTION: THIS ROUTINE CREATES A FILE AND ACCESSES IT FOR EXTENDING.
4801 ; THE FILE IS ALLOCATED 1 BLOCK INITIALLY.
4802 ;
4803 ; LOCAL MACROS
4804 ;
4805 .MCALL GLUN$,QIOW$
4806 ;
4807 ; LOCAL DATA
4808 ;
4809 000576 .PSECT DATA,D
4810 000576 DDNGLN: GLUN$ SYOLUN,.SYOBF
000576 005 003 .BYTE 5,3
000600 000005 .WORD SYOLUN
000602 001624' .WORD .SYOBF
4811 000604 DDNCRE: QIOW$ IO.CRE,SYFLUN,1,,.SYSTA,,<.SYFID,,BIT15,1>
000604 003 012 .BYTE 3,$$$ARG
000606 000000G .WORD IO.CRE
000610 000006 .WORD SYFLUN
000612 001 000 .BYTE 1,
000614 000532' .WORD .SYSTA
000616 000000 .WORD
000620 002624' .WORD .SYFID
000622 000000 .WORD
000624 100000 .WORD BIT15
000626 000001 .WORD 1
4812 000630 DDNENA: QIOW$ IO.ENA,SYFLUN,1,,.SYSTA,,<,,,,,.SYFNB>
000630 003 014 .BYTE 3,$$$ARG
000632 000000G .WORD IO.ENA
000634 000006 .WORD SYFLUN
000636 001 000 .BYTE 1,
000640 000532' .WORD .SYSTA
KLIDN -- ENTER A FILE FOR OUTPU MACRO V05.04 Tuesday 17-May-88 14:21 Page 105-1
$LOOKUP -- LOOK UP AN EXISTING FILE
000642 000000 .WORD
000644 000000 .WORD
000646 000000 .WORD
000650 000000 .WORD
000652 000000 .WORD
000654 000000 .WORD
000656 002624' .WORD .SYFNB
4813 000660 DDNACE: QIOW$ IO.ACE,SYOLUN,1,,.SYSTA,,<.SYFID,DDNRAT,,,BIT15>
000660 003 013 .BYTE 3,$$$ARG
000662 000000G .WORD IO.ACE
000664 000005 .WORD SYOLUN
000666 001 000 .BYTE 1,
000670 000532' .WORD .SYSTA
000672 000000 .WORD
000674 002624' .WORD .SYFID
000676 000722' .WORD DDNRAT
000700 000000 .WORD
000702 000000 .WORD
000704 100000 .WORD BIT15
4814 000706 DDNDEL: QIOW$ IO.DEL,SYOLUN,1
000706 003 006 .BYTE 3,$$$ARG
000710 000000G .WORD IO.DEL
000712 000005 .WORD SYOLUN
000714 001 000 .BYTE 1,
000716 000000 .WORD
000720 000000 .WORD
4815 000722 373 012 DDNRAT: .BYTE -5,12 ; READ FILE NAME
4816 000724 001600' .WORD .SYOFN+00
4817 000726 377 002 .BYTE -1,2 ; AND OWNER'S UIC
4818 000730 001612' .WORD .SYOFN+12
4819 000732 000 000 .BYTE 0,0 ; END OF CONTROL LIST.
4820 007734 .PSECT
KLIDN -- ENTER A FILE FOR OUTPU MACRO V05.04 Tuesday 17-May-88 14:21 Page 106
$ENTER -- ENTER A NEW FILE
4822 .SBTTL $ENTER -- ENTER A NEW FILE
4823 ;+
4824 ; ENTER A NEW FILE ONTO THE SYSTEM DEVICE AND OPEN IT FOR OUTPUT.
4825 ;
4826 ; INPUTS:
4827 ; R0 - POINTER TO FILE NAME.
4828 ;
4829 ; OUTPUTS:
4830 ; CARRY IS SET IF FILE WAS NOT CREATED AND MESSAGE IS DISPLAYED.
4831 ; R0 IS DESTROYED IF ERROR OCCURS.
4832 ;-
4833
4834 007734 $ENTER::CALL $SETFN ; TRANSFER FILE NAME.
007734 004737 007304' JSR PC,$SETFN
4835 007740 DIR$ #DDNGLN ; GET DEVICE NAME
007740 012746 000576' MOV #DDNGLN,-(SP)
007744 104375 EMT 375
4836 007746 103464 BCS 20$ ; AND
4837 007750 013737 001624' 001614' MOV .SYOBF+0,.SYOFN+14 ; INSERT IT INTO
4838 007756 113737 001626' 001616' MOVB .SYOBF+2,.SYOFN+16 ; OUR OWN FILENAME BLOCK.
4839 007764 DIR$ #DDNCRE ; CREATE NEW FILE AND ALLOCATE ONE BLOCK.
007764 012746 000604' MOV #DDNCRE,-(SP)
007770 104375 EMT 375
4840 007772 103452 BCS 20$ ; IF SUCCESSFUL
4841 007774 105737 000532' TSTB .SYSTA
4842 010000 002447 BLT 20$
4843 010002 DIR$ #DDNENA ; ENTER NAME IN DIRECTORY.
010002 012746 000630' MOV #DDNENA,-(SP)
010006 104375 EMT 375
4844 010010 103434 BCS 10$ ; IF DIRECTORY OPERATION FAILED
4845 010012 105737 000532' TSTB .SYSTA ; WE MUST
4846 010016 002431 BLT 10$ ; RELEASE THE FILE.
4847 010020 DIR$ #DDNACE ; ACCESS THE FILE FOR EXTEND.
010020 012746 000660' MOV #DDNACE,-(SP)
010024 104375 EMT 375
4848 010026 103434 BCS 20$
4849 010030 105737 000532' TSTB .SYSTA
4850 010034 002431 BLT 20$
4851 010036 105237 000537' INCB .SYOSW ; OUTPUT FILE IS NOW OPEN.
4852 010042 012737 000001 001622' MOV #1,.SYOVB+2 ; WORKING ON FIRST BLOCK.
4853 010050 005037 001620' CLR .SYOVB
4854 010054 012737 001624' 001574' MOV #.SYOBF,.SYOBA ; INITIALIZE BLOCK
4855 010062 012737 001000 001576' MOV #S.YOL,.SYOBC
4856 010070 005037 001572' CLR .SYORC ; AND RECORD COUNTS,
4857 010074 005037 002660' CLR .SYATT+2 ; PLUS LARGEST RECORD SIZE.
4858 010100 RETURN
010100 000207 RTS PC
4859
4860 010102 10$: PUSH $DSW
010102 013746 000000G MOV $DSW,-(SP)
4861 010106 DIR$ #DDNDEL ; DELETE FILE (NOT IN DIRECTORY).
010106 012746 000706' MOV #DDNDEL,-(SP)
010112 104375 EMT 375
4862 010114 POP $DSW
010114 012637 000000G MOV (SP)+,$DSW
4863 010120 20$: CALLR $IOERR ; ENTER FAILED.
010120 000137 007346' JMP $IOERR
KLIDN -- ENTER A FILE FOR OUTPU MACRO V05.04 Tuesday 17-May-88 14:21 Page 107
$ENTER -- ENTER A NEW FILE
4865
4866
4867 .TITLE KLIDP -- FILE PURGE ROUTINE
4868 010124 IDENT$ 5,0
.IDENT /005000/
4869 ;
4870 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
4871 ; ALL RIGHTS RESERVED.
4872 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
4873 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
4874 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
4875 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
4876 ;
4877 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
4878 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
4879 ; EQUIPMENT CORPORATION.
4880 ;
4881 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
4882 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
4883 ;
4884 ; VERSION 05-00
4885 ;
4886 ; ALAN D. PECKHAM 15-APR-77
4887 ;
4888 ; MODIFIED BY:
4889 ;
4890 ; FUNCTION: THIS ROUTINE PURGES THE FILE CURRENTLY OPEN. THE
4891 ; OUTPUT FILE IS MARKED FOR DELETION AND ITS FILE NAME
4892 ; IS REMOVED FROM THE DIRECTORY.
4893 ;
4894 ; LOCAL MACROS
4895 ;
4896 .MCALL QIOW$
4897 ;
4898 ; LOCAL DATA
4899 ;
4900 000734 .PSECT DATA,D
4901 000734 DDPDAI: QIOW$ IO.DAC,SYILUN,1 ; DE-ACCESS INPUT FILE.
000734 003 006 .BYTE 3,$$$ARG
000736 000000G .WORD IO.DAC
000740 000004 .WORD SYILUN
000742 001 000 .BYTE 1,
000744 000000 .WORD
000746 000000 .WORD
4902 000750 DDPDEL: QIOW$ IO.DEL,SYOLUN,1 ; MARK OUTPUT FILE FOR DELETE.
000750 003 006 .BYTE 3,$$$ARG
000752 000000G .WORD IO.DEL
000754 000005 .WORD SYOLUN
000756 001 000 .BYTE 1,
000760 000000 .WORD
000762 000000 .WORD
4903 000764 DDPDAO: QIOW$ IO.DAC,SYOLUN,1 ; DE-ACCESS OUTPUT FILE.
000764 003 006 .BYTE 3,$$$ARG
000766 000000G .WORD IO.DAC
000770 000005 .WORD SYOLUN
000772 001 000 .BYTE 1,
000774 000000 .WORD
KLIDP -- FILE PURGE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:21 Page 107-1
$ENTER -- ENTER A NEW FILE
000776 000000 .WORD
4904 001000 DDPRNA: QIOW$ IO.RNA,SYFLUN,1,,,,<,,,,,.SYFNB>
001000 003 014 .BYTE 3,$$$ARG
001002 000000G .WORD IO.RNA
001004 000006 .WORD SYFLUN
001006 001 000 .BYTE 1,
001010 000000 .WORD
001012 000000 .WORD
001014 000000 .WORD
001016 000000 .WORD
001020 000000 .WORD
001022 000000 .WORD
001024 000000 .WORD
001026 002624' .WORD .SYFNB
4905 ; REMOVE OUTPUT FILENAME FROM DIRECTORY.
4906 010124 .PSECT
KLIDP -- FILE PURGE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:21 Page 108
$PURGE -- PURGE FILES CURRENTLY OPEN
4908 .SBTTL $PURGE -- PURGE FILES CURRENTLY OPEN
4909 ;+
4910 ; CLOSE THE INPUT FILE AND DELETE THE CURRENT OUTPUT FILE.
4911 ; ALL ERRORS ARE IGNORED AND THE LUNS ARE ASSUMED FREED.
4912 ;
4913 ; NO INPUTS OR OUTPUTS
4914 ;-
4915
4916 010124 105737 000536' $PURGE::TSTB .SYISW ; IF INPUT FILE NOT OPEN
4917 010130 001405 BEQ 10$ ; LEAVE IT ALONE.
4918 010132 DIR$ #DDPDAI ; DE-ACCESS THE INPUT FILE.
010132 012746 000734' MOV #DDPDAI,-(SP)
010136 104375 EMT 375
4919 010140 105037 000536' CLRB .SYISW ; INPUT FILE NOW CLOSED.
4920 010144 105737 000537' 10$: TSTB .SYOSW ; IF OUTPUT FILE NO OPEN
4921 010150 001421 BEQ 20$ ; LEAVE IT ALONE.
4922 010152 DIR$ #DDPDEL ; MARK FOR DELETION AND
010152 012746 000750' MOV #DDPDEL,-(SP)
010156 104375 EMT 375
4923 010160 DIR$ #DDPDAO ; DE-ACCESS THE OUTPUT FILE.
010160 012746 000764' MOV #DDPDAO,-(SP)
010164 104375 EMT 375
4924 010166 PUSH R0
010166 010046 MOV R0,-(SP)
4925 010170 012700 001600' MOV #.SYOFN,R0 ; GET THE FILE NAME
4926 010174 CALL $SETFN ; AND
010174 004737 007304' JSR PC,$SETFN
4927 010200 POP R0
010200 012600 MOV (SP)+,R0
4928 010202 DIR$ #DDPRNA ; REMOVE FROM THE DIRECTORY.
010202 012746 001000' MOV #DDPRNA,-(SP)
010206 104375 EMT 375
4929 010210 105037 000537' CLRB .SYOSW ; OUTPUT FILE NOW CLOSED.
4930 010214 20$: RETURN
010214 000207 RTS PC
KLIDP -- FILE PURGE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:21 Page 109
$PURGE -- PURGE FILES CURRENTLY OPEN
4932
4933 .TITLE KLIDR -- RECORD READ ROUTINES
4934 010216 IDENT$ 5,0
.IDENT /005000/
4935 ;
4936 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
4937 ; ALL RIGHTS RESERVED.
4938 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
4939 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
4940 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
4941 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
4942 ;
4943 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
4944 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
4945 ; EQUIPMENT CORPORATION.
4946 ;
4947 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
4948 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
4949 ;
4950 ; VERSION 05-00
4951 ;
4952 ; ALAN D. PECKHAM 15-APR-77
4953 ;
4954 ; MODIFIED BY:
4955 ;
4956 ; FUNCTION: THIS MODULE CONTAINS ROUTINES WHICH FACILITATE THE
4957 ; READING OF RSX-BINARY RECORDS FROM THE CURRENTLY
4958 ; OPEN FILE.
4959 ;
4960 ; LOCAL MACROS
4961 ;
4962 .MCALL QIOW$S
4963 ;
4964 ; LOCAL DATA
4965 ;
4966 002201 .PSECT TEXT,D
4967 002201 TDRRDE:
4968 002201 ERROR <READ ERROR>
002201 077 040 122 .ASCIZ \? READ ERROR\
002204 105 101 104
002207 040 105 122
002212 122 117 122
002215 000
4969 002216 TDRRLE:
4970 002216 ERROR <INPUT RECORD LENGTH ERROR>
002216 077 040 111 .ASCIZ \? INPUT RECORD LENGTH ERROR\
002221 116 120 125
002224 124 040 122
002227 105 103 117
002232 122 104 040
002235 114 105 116
002240 107 124 110
002243 040 105 122
002246 122 117 122
002251 000
4971 010216 .PSECT
KLIDR -- RECORD READ ROUTINES MACRO V05.04 Tuesday 17-May-88 14:21 Page 110
$READC -- START READING A RECORD
4973 .SBTTL $READC -- START READING A RECORD
4974 ;+
4975 ; READ THE RECORD TYPE FOR THE NEXT RECORD. IF THE PREVIOUS RECORD
4976 ; HAS NOT BEEN TOTALLY READ IN, SIGNAL ERROR. SAVE THE BYTE COUNT
4977 ; TO KEEP TRACK OF HOW MANY BYTES OF THE RECORD HAVE BEEN READ.
4978 ;
4979 ; NO INPUTS:
4980 ;
4981 ; OUTPUTS:
4982 ; R0 - TYPE CODE OF NEW RECORD.
4983 ; .SYIRC - COUNT OF BYTES REMAINING IN RECORD.
4984 ; CARRY IS SET IF LENGTH OR READ ERROR AND MESSAGE IS DISPLAYED.
4985 ;-
4986
4987 010216 $READC::
4988 010216 005737 000540' TST .SYIRC ; IF LAST RECORD IS NOT FINISHED,
4989 010222 001116 BNE LDRER ; THEN ERROR.
4990 010224 10$:
4991 010224 012737 000003 000540' MOV #3,.SYIRC ; SET UP DUMMY COUNT AND
4992 010232 CALL $READW ; READ IN BYTE COUNT FOR NEXT RECORD.
010232 004737 010324' JSR PC,$READW
4993 010236 103405 BCS 20$
4994 010240 010037 000540' MOV R0,.SYIRC ; STORE BYTE COUNT AND
4995 010244 001767 BEQ 10$ ; (NULL RECORD)
4996 010246 CALLR $READW ; READ IN NEXT WORD.
010246 000137 010324' JMP $READW
4997 ;
4998 010252 20$:
4999 010252 RETURN
010252 000207 RTS PC
KLIDR -- RECORD READ ROUTINES MACRO V05.04 Tuesday 17-May-88 14:21 Page 111
$READS -- SKIP THE CURRENT RECORD
5001 .SBTTL $READS -- SKIP THE CURRENT RECORD
5002 ;+
5003 ; SKIP OVER THE REST OF THE CURRENT AND POSITION TO THE NEXT RECORD.
5004 ; IF NO RECORD IS BEING PROCESSED (RECORD COUNT=0), NO ACTION IS TAKEN.
5005 ;
5006 ; NO INPUTS
5007 ;
5008 ; OUTPUTS:
5009 ; CARRY IS SET IF ERROR DURING READ AND MESSAGE IS DISPLAYED.
5010 ;-
5011
5012 010254 $READS::
5013 010254 023737 000540' 000544' CMP .SYIRC,.SYIBC ; IF RECORD IS WITHIN BLOCK
5014 010262 003407 BLE 10$ ; THEN GO PAST IT,
5015 010264 163737 000544' 000540' SUB .SYIBC,.SYIRC ; OTHERWISE PASS PART OF THE RECORD,
5016 010272 CALL $READ ; GET NEXT BLOCK,
010272 004737 010474' JSR PC,$READ
5017 010276 103366 BCC $READS ; AND SEE IF RECORD IS DEPLETED.
5018 010300 RETURN
010300 000207 RTS PC
5019 010302 10$:
5020 010302 063737 000540' 000542' ADD .SYIRC,.SYIBA ; PUSH POINTERS PAST RECORD.
5021 010310 163737 000540' 000544' SUB .SYIRC,.SYIBC
5022 010316 005037 000540' CLR .SYIRC ; NO MORE RECORD !
5023 010322 RETURN
010322 000207 RTS PC
KLIDR -- RECORD READ ROUTINES MACRO V05.04 Tuesday 17-May-88 14:21 Page 112
$READW -- READ A WORD
5025 .SBTTL $READW -- READ A WORD
5026 ;+
5027 ; READ THE NEXT WORD FROM THE CURRENT RECORD. IF CURRENTLY ON
5028 ; AN ODD BOUNDARY, SKIP OVER THE CURRENT BYTE TO MAKE IT EVEN.
5029 ;
5030 ; NO INPUTS
5031 ;
5032 ; OUTPUTS:
5033 ; R0 - THE WORD READ.
5034 ; CARRY IS SET ON RECORD OVERRUN OR READ ERROR AND MESSAGE IS DISPLAYED.
5035 ;-
5036
5037 010324 $READW::
5038 010324 032737 000001 000542' BIT #1,.SYIBA ; MAKE SURE WE ARE
5039 010332 001406 BEQ 10$ ; ON A WORD BOUNDARY.
5040 010334 005337 000540' DEC .SYIRC
5041 010340 005237 000542' INC .SYIBA
5042 010344 005337 000544' DEC .SYIBC
5043 010350 10$:
5044 010350 162737 000002 000540' SUB #2,.SYIRC ; UPDATE RECORD COUNT AND
5045 010356 002440 BLT LDRER ; IF IT BOTTOMS, ERROR.
5046 010360 005737 000544' TST .SYIBC ; IF WE ARE AT THE END
5047 010364 003003 BGT 20$ ; OF THE BUFFER
5048 010366 CALL $READ ; THEN READ ANOTHER ONE.
010366 004737 010474' JSR PC,$READ
5049 010372 103411 BCS 30$
5050 010374 20$:
5051 010374 017700 000542' MOV @.SYIBA,R0 ; PICK UP WORD
5052 010400 062737 000002 000542' ADD #2,.SYIBA ; BUMP ADDRESS
5053 010406 162737 000002 000544' SUB #2,.SYIBC ; AND BYTE COUNT.
5054 010414 000241 CLC
5055 010416 30$:
5056 010416 RETURN
010416 000207 RTS PC
KLIDR -- RECORD READ ROUTINES MACRO V05.04 Tuesday 17-May-88 14:21 Page 113
$READB -- READ A BYTE
5058 .SBTTL $READB -- READ A BYTE
5059 ;+
5060 ; READ THE NEXT BYTE FROM THE CURRENT RECORD.
5061 ;
5062 ; NO INPUTS
5063 ;
5064 ; OUTPUTS:
5065 ; R0 - THE BYTE READ.
5066 ; CARRY IS SET ON RECORD OVERRUN OR READ ERROR AND A MESSAGE IS DISPLAYED.
5067 ;-
5068
5069 010420 $READB::
5070 010420 005337 000540' DEC .SYIRC ; UPDATE RECORD COUNT AND
5071 010424 002415 BLT LDRER ; IF IT BOTTOMS, ERROR.
5072 010426 005737 000544' TST .SYIBC ; IF WE ARE AT THE END
5073 010432 003003 BGT 10$ ; OF THE BUFFER
5074 010434 CALL $READ ; THEN READ ANOTHER ONE.
010434 004737 010474' JSR PC,$READ
5075 010440 103406 BCS 20$
5076 010442 10$:
5077 010442 117700 000542' MOVB @.SYIBA,R0 ; PICK UP BYTE
5078 010446 005237 000542' INC .SYIBA ; BUMP ADDRESS
5079 010452 005337 000544' DEC .SYIBC ; AND BYTE COUNT.
5080 010456 20$:
5081 010456 RETURN
010456 000207 RTS PC
5082
5083 010460 LDRER:
5084 010460 PRINT #TDRRLE ; RECORD OVERRUN OR UNDERRUN.
010460 012700 002216' MOV #TDRRLE,R0
010464 004737 027620' JSR PC,$TTMSG
5085 010470 000261 SEC
5086 010472 RETURN
010472 000207 RTS PC
KLIDR -- RECORD READ ROUTINES MACRO V05.04 Tuesday 17-May-88 14:21 Page 114
$READ -- READ NEXT VIRTUAL BLOCK
5088 .SBTTL $READ -- READ NEXT VIRTUAL BLOCK
5089 ;+
5090 ; READ THE NEXT BLOCK FROM THE SYSTEM DEVICE AND RESET BUFFER PARAMETERS.
5091 ;
5092 ; NO INPUTS
5093 ;
5094 ; OUTPUTS:
5095 ; .SYIBA - POINTS TO THE BEGINING OF THE BUFFER READ.
5096 ; .SYIBC - COUNT OF BYTES READ.
5097 ; CARRY IS SET ON READ ERROR AND MESSAGE IS DISPLAYED.
5098 ;-
5099
5100 010474 $READ::
5101 010474 062737 000001 000570' ADD #1,.SYIVB+2 ; GET NEXT BLOCK.
5102 010502 005537 000566' ADC .SYIVB
5103
5104 ; READ VIRTUAL BLOCK
5105
5106 010506 QIOW$S #IO.RVB,#SYILUN,#1,,#.SYSTA,,<#.SYIBF,#S.YIL,,.SYIVB,.SYIVB+2>
010506 013746 000570' MOV .SYIVB+2,-(SP)
010512 013746 000566' MOV .SYIVB,-(SP)
010516 005046 CLR -(SP)
010520 012746 001000 MOV #S.YIL,-(SP)
010524 012746 000572' MOV #.SYIBF,-(SP)
010530 005046 CLR -(SP)
010532 012746 000532' MOV #.SYSTA,-(SP)
010536 005046 CLR -(SP)
010540 112716 000001 MOVB #1,(SP)
010544 012746 000004 MOV #SYILUN,-(SP)
010550 012746 000000G MOV #IO.RVB,-(SP)
010554 012746 MOV (PC)+,-(SP)
010556 003 013 .BYTE 3,$$$T1
010560 104375 EMT 375
5107 010562 103412 BCS 10$
5108 010564 105737 000532' TSTB .SYSTA
5109 010570 002407 BLT 10$ ; READ FAILED.
5110 010572 012737 000572' 000542' MOV #.SYIBF,.SYIBA ; SAVE BUFFER ADR
5111 010600 013737 000534' 000544' MOV .SYSTA+2,.SYIBC ; AND BYTE COUNT
5112 010606 RETURN
010606 000207 RTS PC
5113
5114 010610 10$:
5115 010610 PRINT #TDRRDE ; PRINT ERROR MESSAGE.
010610 012700 002201' MOV #TDRRDE,R0
010614 004737 027620' JSR PC,$TTMSG
5116 010620 000261 SEC
5117 010622 RETURN
010622 000207 RTS PC
KLIDR -- RECORD READ ROUTINES MACRO V05.04 Tuesday 17-May-88 14:21 Page 115
$READ -- READ NEXT VIRTUAL BLOCK
5119
5120
5121 .TITLE KLIDW -- RECORD WRITE ROUTINES
5122 010624 IDENT$ 5,0
.IDENT /005000/
5123 ;
5124 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
5125 ; ALL RIGHTS RESERVED.
5126 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
5127 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
5128 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
5129 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
5130 ;
5131 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
5132 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
5133 ; EQUIPMENT CORPORATION.
5134 ;
5135 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
5136 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
5137 ;
5138 ; VERSION 05-00
5139 ;
5140 ; ALAN D. PECKHAM 15-APR-77
5141 ;
5142 ; MODIFIED BY:
5143 ;
5144 ; FUNCTION: THIS MODULE CONTAINS ROUTINES WHICH FACILITATE THE
5145 ; WRITING OF RSX-BINARY RECORDS TO THE CURRENTLY
5146 ; OPEN FILE.
5147 ;
5148 ; LOCAL MACROS
5149 ;
5150 .MCALL QIOW$S
5151 ;
5152 ; LOCAL DATA
5153 ;
5154 002252 .PSECT TEXT,D
5155 002252 TDWWRE:
5156 002252 ERROR <WRITE ERROR>
002252 077 040 127 .ASCIZ \? WRITE ERROR\
002255 122 111 124
002260 105 040 105
002263 122 122 117
002266 122 000
5157 002270 TDWRLE:
5158 002270 ERROR <OUTPUT RECORD LENGTH ERROR>
002270 077 040 117 .ASCIZ \? OUTPUT RECORD LENGTH ERROR\
002273 125 124 120
002276 125 124 040
002301 122 105 103
002304 117 122 104
002307 040 114 105
002312 116 107 124
002315 110 040 105
002320 122 122 117
002323 122 000
5159 010624 .PSECT
KLIDW -- RECORD WRITE ROUTINES MACRO V05.04 Tuesday 17-May-88 14:21 Page 116
$WRITC -- START WRITING A RECORD
5161 .SBTTL $WRITC -- START WRITING A RECORD
5162 ;+
5163 ; START WRITING A RECORD OF GIVEN LENGTH. IF PREVIOUS RECORD UNFINISHED
5164 ; THE SIGNAL ERROR.
5165 ;
5166 ; INPUTS:
5167 ; R0 - LENGTH OF RECORD TO BE WRITTEN.
5168 ;
5169 ; OUTPUTS:
5170 ; CARRY SET IF LAST RECORD UNFINISHED OR WRITE ERROR AND MESSAGE
5171 ; IS DISPLAYED.
5172 ;-
5173
5174 010624 $WRITC::
5175 010624 005737 001572' TST .SYORC ; IF LAST RECORD NOT FINISHED
5176 010630 001034 BNE LDWER ; SIGNAL ERROR.
5177 010632 020037 002660' CMP R0,.SYATT+2 ; CHECK IF LARGEST RECORD WRITTEN
5178 010636 101402 BLOS 10$ ; AND
5179 010640 010037 002660' MOV R0,.SYATT+2 ; RECORD IF LARGER.
5180 010644 10$:
5181 010644 012737 000003 001572' MOV #3,.SYORC ; SET UP DUMMY COUNT,
5182 010652 CALL $WRITW ; WRITE IN BYTE COUNT FOR NEXT RECORD,
010652 004737 010736' JSR PC,$WRITW
5183 010656 103402 BCS 20$
5184 010660 010037 001572' MOV R0,.SYORC ; AND SAVE FOR RECORD COUNT.
5185 010664 20$:
5186 010664 RETURN
010664 000207 RTS PC
KLIDW -- RECORD WRITE ROUTINES MACRO V05.04 Tuesday 17-May-88 14:21 Page 117
$WRITS -- ZERO REMAINDER OF CURRENT BLOCK
5188 .SBTTL $WRITS -- ZERO REMAINDER OF CURRENT BLOCK
5189 ;+
5190 ; CLEAR OUT THE REST OF THE CURRENT BLOCK AND WRITE IT. THIS ROUTINE IS
5191 ; USED TO WRITE OUT THE LAST RECORD INTO THE OUTPUT FILE.
5192 ;
5193 ; NO INPUTS
5194 ;
5195 ; OUTPUTS:
5196 ; CARRY IS SET IF LAST RECORD IS UNFINISHED OR WRITE ERROR AND
5197 ; MESSAGE IS DISPLAYED.
5198 ;-
5199
5200 010666 $WRITS::
5201 010666 005737 001572' TST .SYORC ; IF RECORD NOT FINISHED
5202 010672 001013 BNE LDWER ; THEN THERE IS PROBLEM.
5203 010674 10$:
5204 010674 022737 000777 001576' CMP #S.YOL-1,.SYOBC ; ARE WE AT NEW PAGE ?
5205 010702 003406 BLE 20$ ; YES, QUIT (CARRY IS CLEAR)
5206 010704 005237 001572' INC .SYORC ; SET UP DUMMY COUNT
5207 010710 005000 CLR R0 ; AND WRITE A ZERO
5208 010712 CALL $WRITB
010712 004737 011032' JSR PC,$WRITB
5209 010716 103366 BCC 10$ ; AND CHECK AGAIN.
5210 010720 20$:
5211 010720 RETURN
010720 000207 RTS PC
5212
5213 010722 LDWER:
5214 010722 PRINT #TDWRLE ; RECORD OVERRUN OR UNDERRUN.
010722 012700 002270' MOV #TDWRLE,R0
010726 004737 027620' JSR PC,$TTMSG
5215 010732 000261 SEC
5216 010734 RETURN
010734 000207 RTS PC
KLIDW -- RECORD WRITE ROUTINES MACRO V05.04 Tuesday 17-May-88 14:21 Page 118
$WRITW -- WRITE A WORD
5218 .SBTTL $WRITW -- WRITE A WORD
5219 ;+
5220 ; WRITE THE NEXT WORD INTO THE OUTPUT RECORD. IF ON AN ODD BOUNDRY
5221 ; THE SKIP A BYTE TO WRITE THE WORD ON AN EVEN WORD. SIGNAL ERROR
5222 ; IF RECORD OVERFLOW.
5223 ;
5224 ; INPUTS:
5225 ; R0 - THE WORD TO WRITE.
5226 ;
5227 ; OUTPUTS:
5228 ; CARRY IS SET IF WRITE ERROR AND MESSAGE IS DISPLAYED.
5229 ;-
5230
5231 010736 $WRITW::
5232 010736 032737 000001 001574' BIT #1,.SYOBA ; MAKE SURE WE ARE
5233 010744 001406 BEQ 10$ ; ON A WORD BOUNDRY.
5234 010746 005337 001572' DEC .SYORC
5235 010752 005237 001574' INC .SYOBA
5236 010756 005337 001576' DEC .SYOBC
5237 010762 10$:
5238 010762 162737 000002 001572' SUB #2,.SYORC ; UPDATE RECORD COUNT AND
5239 010770 002754 BLT LDWER ; IF IT BOTTOMS, ERROR.
5240 010772 005737 001576' TST .SYOBC ; IF WE ARE AT THE END
5241 010776 003003 BGT 20$ ; OF THE BUFFER
5242 011000 CALL $WRITE ; THEN WRITE IT.
011000 004737 011072' JSR PC,$WRITE
5243 011004 103411 BCS 30$
5244 011006 20$:
5245 011006 010077 001574' MOV R0,@.SYOBA ; STICK IN WORD
5246 011012 062737 000002 001574' ADD #2,.SYOBA ; BUMP ADDRESS
5247 011020 162737 000002 001576' SUB #2,.SYOBC ; AND BYTE COUNT.
5248 011026 000241 CLC
5249 011030 30$:
5250 011030 RETURN
011030 000207 RTS PC
KLIDW -- RECORD WRITE ROUTINES MACRO V05.04 Tuesday 17-May-88 14:21 Page 119
$WRITB -- WRITE A BYTE
5252 .SBTTL $WRITB -- WRITE A BYTE
5253 ;+
5254 ; WRITE A BYTE INTO THE CURRENT RECORD. SIGNAL ERROR IF RECORD OVERFLOW.
5255 ;
5256 ; INPUTS:
5257 ; R0 - BYTE TO WRITE.
5258 ;
5259 ; OUTPUTS:
5260 ; CARRY IS SET IF RECORD OVERFLOW OR WRITE ERROR AND MESSAGE
5261 ; IS DISPLAYED.
5262 ;-
5263
5264 011032 $WRITB::
5265 011032 005337 001572' DEC .SYORC ; UPDATE RECORD COUNT AND
5266 011036 002731 BLT LDWER ; IF IT BOTTOMS, ERROR.
5267 011040 005737 001576' TST .SYOBC ; IF WE ARE AT THE END
5268 011044 003003 BGT 10$ ; OF THE BUFFER
5269 011046 CALL $WRITE ; THEN WRITE IT.
011046 004737 011072' JSR PC,$WRITE
5270 011052 103406 BCS 20$
5271 011054 10$:
5272 011054 110077 001574' MOVB R0,@.SYOBA ; STICK IN BYTE
5273 011060 005237 001574' INC .SYOBA ; BUMP ADDRESS
5274 011064 005337 001576' DEC .SYOBC ; AND BYTE COUNT.
5275 011070 20$:
5276 011070 RETURN
011070 000207 RTS PC
KLIDW -- RECORD WRITE ROUTINES MACRO V05.04 Tuesday 17-May-88 14:21 Page 120
$WRITE -- WRITE NEXT VIRTUAL BLOCK
5278 .SBTTL $WRITE -- WRITE NEXT VIRTUAL BLOCK
5279 ;+
5280 ; WRITE THE NEXT BLOCK TO THE OUTPUT FILE. IF END-OF-FILE, THEN
5281 ; EXTEND THE FILE AND TRY TO WRITE THE BLOCK AGAIN.
5282 ;
5283 ; INPUTS:
5284 ; .SYOBF - BLOCK OF "S.YOL" BYTES TO WRITE.
5285 ;
5286 ; OUTPUTS:
5287 ; .SYOBA - ADDRESS OF NEW BUFFER TO FILL
5288 ; .SYOBC - SIZE OF BUFFER IN BYTES.
5289 ; CARRY IS SET ON WRITE OR EXTEND ERROR AND MESSAGE IS DISPLAYED.
5290 ;-
5291
5292 011072 $WRITE::
5293 011072 QIOW$S #IO.WVB,#SYOLUN,#1,,#.SYSTA,,<#.SYOBF,#S.YOL,,.SYOVB,.SYOVB+2>
011072 013746 001622' MOV .SYOVB+2,-(SP)
011076 013746 001620' MOV .SYOVB,-(SP)
011102 005046 CLR -(SP)
011104 012746 001000 MOV #S.YOL,-(SP)
011110 012746 001624' MOV #.SYOBF,-(SP)
011114 005046 CLR -(SP)
011116 012746 000532' MOV #.SYSTA,-(SP)
011122 005046 CLR -(SP)
011124 112716 000001 MOVB #1,(SP)
011130 012746 000005 MOV #SYOLUN,-(SP)
011134 012746 000000G MOV #IO.WVB,-(SP)
011140 012746 MOV (PC)+,-(SP)
011142 003 013 .BYTE 3,$$$T1
011144 104375 EMT 375
5294 011146 103427 BCS 20$
5295 011150 105737 000532' TSTB .SYSTA
5296 011154 002414 BLT 10$ ; WRITE FAILED.
5297 011156 062737 000001 001622' ADD #1,.SYOVB+2 ; SET UP FOR NEXT BLOCK.
5298 011164 005537 001620' ADC .SYOVB ; (CARRY SHOULD BE CLEAR)
5299 011170 012737 001624' 001574' MOV #.SYOBF,.SYOBA ; RESET BUFFER ADDRESS
5300 011176 012737 001000 001576' MOV #S.YOL,.SYOBC ; AND BYTE COUNT.
5301 011204 RETURN
011204 000207 RTS PC
5302 011206 10$:
5303 011206 122737 000000G 000532' CMPB #IE.EOF,.SYSTA ; IS THE FILE TOO SMALL ?
5304 011214 001004 BNE 20$ ; NO, THIS IS TRULY AN ERROR.
5305 011216 CALL $EXTEND ; OTHERWISE EXTEND THE FILE
011216 004737 011242' JSR PC,$EXTEND
5306 011222 103323 BCC $WRITE ; AND WRITE THE BLOCK AGAIN.
5307 011224 RETURN
011224 000207 RTS PC
5308 011226 20$:
5309 011226 PRINT #TDWWRE ; PRINT IT.
011226 012700 002252' MOV #TDWWRE,R0
011232 004737 027620' JSR PC,$TTMSG
5310 011236 000261 SEC
5311 011240 RETURN
011240 000207 RTS PC
KLIDW -- RECORD WRITE ROUTINES MACRO V05.04 Tuesday 17-May-88 14:21 Page 121
$WRITE -- WRITE NEXT VIRTUAL BLOCK
5313
5314
5315 .TITLE KLIDX -- EXTEND AN OUTPUT FILE BY ONE BLOCK
5316 011242 IDENT$ 5,0
.IDENT /005000/
5317 ;
5318 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
5319 ; ALL RIGHTS RESERVED.
5320 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
5321 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
5322 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
5323 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
5324 ;
5325 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
5326 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
5327 ; EQUIPMENT CORPORATION.
5328 ;
5329 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
5330 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
5331 ;
5332 ; VERSION 05-00
5333 ;
5334 ; ALAN D. PECKHAM 15-APR-77
5335 ;
5336 ; MODIFIED BY:
5337 ;
5338 ; FUNCTION: THIS ROUTINE EXTENDS THE ALLOCATION OF THE CURRENTLY OPEN
5339 ; FILE BY ONE BLOCK.
5340 ;
5341 ; LOCAL MACROS
5342 ;
5343 .MCALL QIOW$
5344 ;
5345 ; LOCAL DATA
5346 ;
5347 001030 .PSECT DATA,D
5348 001030 DDXEXT: QIOW$ IO.EXT,SYOLUN,1,,.SYSTA,,<,,BIT15,1>
001030 003 012 .BYTE 3,$$$ARG
001032 000000G .WORD IO.EXT
001034 000005 .WORD SYOLUN
001036 001 000 .BYTE 1,
001040 000532' .WORD .SYSTA
001042 000000 .WORD
001044 000000 .WORD
001046 000000 .WORD
001050 100000 .WORD BIT15
001052 000001 .WORD 1
5349 011242 .PSECT
KLIDX -- EXTEND AN OUTPUT FILE MACRO V05.04 Tuesday 17-May-88 14:21 Page 122
$EXTEND -- EXTEND OUTPUT FILE BY ONE BLOCK
5351 .SBTTL $EXTEND -- EXTEND OUTPUT FILE BY ONE BLOCK
5352 ;+
5353 ; EXTEND THE OUTPUT FILE BY ONE BLOCK.
5354 ;
5355 ; NO INPUTS
5356 ;
5357 ; OUTPUTS:
5358 ; CARRY SET IF ERROR OCCURS AND MESSAGE IS DISPLAYED.
5359 ;-
5360
5361 011242 $EXTEND::DIR$ #DDXEXT ; EXTEND THE FILE.
011242 012746 001030' MOV #DDXEXT,-(SP)
011246 104375 EMT 375
5362 011250 103411 BCS 10$
5363 011252 105737 000532' TSTB .SYSTA
5364 011256 002406 BLT 10$
5365 011260 062737 000001 002664' ADD #1,.SYATT+6 ; ONE MORE BLOCK ALLOCATED.
5366 011266 005537 002662' ADC .SYATT+4 ; (CARRY SHOULD BE CLEAR)
5367 011272 RETURN
011272 000207 RTS PC
5368
5369 011274 012700 001600' 10$: MOV #.SYOFN,R0 ; EXTEND FAILED.
5370 011300 CALLR $IOERR
011300 000137 007346' JMP $IOERR
KLIDX -- EXTEND AN OUTPUT FILE MACRO V05.04 Tuesday 17-May-88 14:21 Page 123
$EXTEND -- EXTEND OUTPUT FILE BY ONE BLOCK
5372
5373
5374 .TITLE KLIFC -- C-RAM READ/WRITE
5375 011304 IDENT$ 5,0
.IDENT /005000/
5376 ;
5377 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
5378 ; ALL RIGHTS RESERVED.
5379 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
5380 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
5381 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
5382 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
5383 ;
5384 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
5385 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
5386 ; EQUIPMENT CORPORATION.
5387 ;
5388 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
5389 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
5390 ;
5391 ; VERSION 05-00
5392 ;
5393 ; ALAN D. PECKHAM 11-APR-77
5394 ;
5395 ; MODIFIED BY:
5396 ;
5397 ; FUNCTION: THIS MODULE CONTAINS THE ROUTINES TO WORK ON THE C-RAMS.
5398 ; THE C-RAM DATA IS WORKED WITH IN 6-WORD COMPRESSED FORMAT, AS
5399 ; SPECIFIED IN THE KLDCP DOCUMENTATION.
5400 ;
5401 ; LOCAL DATA
5402 ;
5403 001054 .PSECT DATA,D
5404 001054 147000 DFCRFL: .WORD .RCRM1 ; READ C-RAM BITS 0-19
5405 001056 146000 .WORD .RCRM2 ; READ C-RAM BITS 20-39
5406 001060 145000 .WORD .RCRM3 ; READ C-RAM BITS 40-59
5407 001062 144000 .WORD .RCRM4 ; READ C-RAM BITS 60-79
5408 001064 057000 DFCWFL: .WORD .LCRM1 ; C-RAM WRITE FUNCTION LIST.
5409 001066 056000 .WORD .LCRM2
5410 001070 055000 .WORD .LCRM3
5411 001072 054000 .WORD .LCRM4
5412 .EVEN ; DFCBF MUST BE ON A WORD BOUNDRY.
5413 001074 DFCBF: WD36$ 0 0 ; DATA BUFFER.
001074 000 000 000 .BYTE BY$$0,BY$$1,BY$$2
001077 000 000 .BYTE BY$$3,BY$$4
5414 001101 000 DFCFL2: .BYTE 0
5415 001102 000 DFCFL3: .BYTE 0
5416 001103 DFCABF: WD36$ 0 0 ; WORK AREA.
001103 000 000 000 .BYTE BY$$0,BY$$1,BY$$2
001106 000 000 .BYTE BY$$3,BY$$4
5417 .EVEN
5418 011304 .PSECT
KLIFC -- C-RAM READ/WRITE MACRO V05.04 Tuesday 17-May-88 14:21 Page 124
$WCRAM -- WRITE C-RAM WORD
5420 .SBTTL $WCRAM -- WRITE C-RAM WORD
5421 ;+
5422 ; WRITE COMPRESSED C-RAM WORD POINTED TO BY R1 TO C-RAM LOCATION
5423 ; ADDRESSED BY R0.
5424 ;
5425 ; INPUTS:
5426 ; R1 - POINTER TO 6 WORDS OF DATA TO WRITE.
5427 ; R0 - C-RAM ADDRESS TO WRITE TO.
5428 ;
5429 ; OUTPUT:
5430 ; CARRY IS SET IF ERROR OCCURS.
5431 ;-
5432
5433 011304 004537 024170' $WCRAM::JSR R5,$RSAVE
5434 011310 TRACK CW
011310 004037 011322' JSR R0,30000$
011314 053503 .WORD "CW
011316 000000 .WORD
011320 000000 .WORD
011322 004737 024236' 30000$: JSR PC,$TRACK
011326 012600 MOV (SP)+,R0
5435 011330 010102 MOV R1,R2 ; GET DATA ADDRESS
5436 011332 CALL $ACRAM ; WRITE C-RAM ADDRESS
011332 004737 012166' JSR PC,$ACRAM
5437 011336 103511 BCS 70$ ; RAM ERROR
5438 011340 012704 000006 MOV #6,R4 ; 4 LOOPS PER C-RAM WORD
5439 011344 005003 CLR R3 ; CLEAR BOUNDRY FLAG
5440 011346 012701 001074' 10$: MOV #DFCBF,R1 ; SET UP WORK AREA
5441 011352 112221 MOVB (R2)+,(R1)+ ; REAL DATA TO WORK AREA
5442 011354 112221 MOVB (R2)+,(R1)+
5443 011356 111221 MOVB @R2,(R1)+
5444 011360 005703 TST R3 ; SEE IF BITS ON WORD BOUNDARY
5445 011362 001411 BEQ 30$ ; YES
5446 011364 005202 INC R2 ; INCREASE DTA ADR PTR
5447 011366 012705 000004 MOV #4,R5 ; # OF SHIFTS REQUIRED
5448 011372 012701 001077' 20$: MOV #DFCBF+3,R1 ; POINT TO TOP OF WORK AREA
5449 011376 106041 RORB -(R1) ; RIGHT SHIFT ONE BYTE
5450 011400 106041 RORB -(R1)
5451 011402 106041 RORB -(R1)
5452 011404 077506 SOB R5,20$ ; LOOP BACK IF NOT DONE
5453 011406 005103 30$: COM R3 ; CHANGE BOUNDARY FLAG
5454 011410 042737 177760 001076' BIC #177760,DFCBF+2 ; ONLY FOUR BITS COUNT
5455 011416 013700 001074' MOV DFCBF,R0 ; GET UNPACED DATA
5456 011422 113737 001076' 001077' MOVB DFCBF+2,DFCBF+3 ; PUT C-RAM 0-3 BITS INTO CORRECT CORE
5457 011430 005001 CLR R1 ; INIT R1
5458 011432 000261 SEC ; C-BIT IS SET AS A FLAG
5459 011434 012705 000005 40$: MOV #5,R5 ; 4 SHIFTS BETWEEN BALNKS
5460 011440 006001 50$: ROR R1 ; NEW DATA LEFT END OF DESTINATION
5461 011442 103406 BCS 60$ ; IF FLAG FALLS OUT, DONE
5462 011444 006000 ROR R0 ; ROTATE SOURCE BITS RIGHT
5463 011446 077504 SOB R5,50$ ; SHIFT 4 TIMES?
5464 011450 006100 ROL R0 ; REPAIR ANY DAMAGE
5465 011452 000241 CLC ; CLEAR C-BIT AS FLAG
5466 011454 006001 ROR R1 ; AND ROLL ZEROES
5467 011456 000766 BR 40$ ; CONTINUE
5468 011460 000241 60$: CLC ; CLEAR C-BIT AS FLAG
5469 011462 006100 ROL R0 ; BITS 4-7
KLIFC -- C-RAM READ/WRITE MACRO V05.04 Tuesday 17-May-88 14:21 Page 124-1
$WCRAM -- WRITE C-RAM WORD
5470 011464 006100 ROL R0 ; MUST BE CORRECTED
5471 011466 010137 001074' MOV R1,DFCBF ; BITS 8-19 INTO CORE
5472 011472 110037 001076' MOVB R0,DFCBF+2 ; BITS 4-7 INTO CORE
5473 011476 016400 001064' MOV DFCWFL(R4),R0 ; GET WRITE FUNCTION LIST
5474 011502 012701 001074' MOV #DFCBF,R1 ; ADDRESS OF DATA
5475 011506 CALL $DFWR ; WRITE TO C-RAM
011506 004737 013556' JSR PC,$DFWR
5476 011512 103423 BCS 70$ ; TIME OUT ERROR
5477 011514 162704 000002 SUB #2,R4 ; ENTIRE RAM WORD DONE?
5478 011520 002312 BGE 10$ ; NOT YET
5479 011522 111237 001100' MOVB @R2,DFCBF+4 ; GET DATA FOR DEPOSIT
5480 011526 106237 001100' ASRB DFCBF+4 ; SHIFT DATA
5481 011532 106037 001077' RORB DFCBF+3 ; TO EBUS BITS
5482 011536 106237 001100' ASRB DFCBF+4
5483 011542 106037 001077' RORB DFCBF+3
5484 011546 012701 001074' MOV #DFCBF,R1 ; DATA ADDRESS IN R1
5485 011552 012700 053000 MOV #.LCRM5,R0 ; DISP 00-04
5486 011556 CALLR $DFWR
011556 000137 013556' JMP $DFWR
5487 011562 70$: RETURN
011562 000207 RTS PC
KLIFC -- C-RAM READ/WRITE MACRO V05.04 Tuesday 17-May-88 14:21 Page 125
$RCRAM -- READ C-RAM WORD
5489 .SBTTL $RCRAM -- READ C-RAM WORD
5490 ;+
5491 ; READ C-RAM WORD ADDRESSED BY R0 AND COMPRESS IT INTO AREA POINTED
5492 ; TO BY R1.
5493 ;
5494 ; INPUTS:
5495 ; R1 - 6 WORD BUFFER TO RECIEVE COMPRESSED C-RAM WORD.
5496 ; R0 - C-RAM ADDRESS OF WORD TO READ.
5497 ;
5498 ; OUTPUT:
5499 ; CARRY SET IF ERROR OCCURS.
5500 ;-
5501
5502 011564 004537 024170' $RCRAM::JSR R5,$RSAVE
5503 011570 TRACK CR
011570 004037 011602' JSR R0,30001$
011574 051103 .WORD "CR
011576 000000 .WORD
011600 000000 .WORD
011602 004737 024236' 30001$: JSR PC,$TRACK
011606 012600 MOV (SP)+,R0
5504 011610 CALL $ACRAM ; SET EBOX TO C-RAM ADDRESS ZERO.
011610 004737 012166' JSR PC,$ACRAM
5505 011614 103421 BCS 30$ ; ERROR
5506 011616 012700 003000 MOV #.SECLK,R0 ; SINGLE STEP EBUS CLOCK
5507 011622 CALL $DFXC
011622 004737 013760' JSR PC,$DFXC
5508 011626 103414 BCS 30$ ; ERROR
5509 011630 016603 000004 10$: MOV 4(SP),R3 ; GET BUF ADR FOR C-RAM CONTENTS
5510 011634 062703 000012 ADD #12,R3 ; POINT TO END.
5511 011640 012704 001054' MOV #DFCRFL,R4
5512 011644 012400 20$: MOV (R4)+,R0 ; DIAG FUNCTIONS
5513 011646 012701 001074' MOV #DFCBF,R1 ; DATA HOLDING AREA
5514 011652 CALL $DFRD ; READ DATA
011652 004737 013444' JSR PC,$DFRD
5515 011656 103002 BCC 40$ ; OK
5516 011660 000137 012164' 30$: JMP 140$ ; READ ERORR
5517 011664 013701 001074' 40$: MOV DFCBF,R1 ; GET STRETCHED BITS 8-19
5518 011670 013702 001076' MOV DFCBF+2,R2 ; GET STRETCHED BITS 0-7
5519 011674 005000 CLR R0 ; USE R0 AS WORK REG
5520 011676 000261 SEC ; SET C-BIT AS DONE BIT
5521 011700 006000 ROR R0 ; AND ROLL IT INTO R0
5522 011702 012705 000004 50$: MOV #4,R5 ; FOUR BITS PER GROUP
5523 011706 005305 60$: DEC R5 ; DONE A GROUP?
5524 011710 002405 BLT 70$ ; NO
5525 011712 006202 ASR R2 ; ROTATE SOURCE BITS RIGHT 1 PLACE
5526 011714 006001 ROR R1 ; ALL 20 OF THEM
5527 011716 006000 ROR R0 ; BEGIN WITH 1ST FLAG INTO R0
5528 011720 103406 BCS 80$ ; IF C-BIT DETECTED, DONE
5529 011722 000771 BR 60$
5530 011724 006202 70$: ASR R2 ; HERE TO SHIFT AWAY
5531 011726 006001 ROR R1 ; THE PAIR
5532 011730 006202 ASR R2 ; OF BLANKS HIDDEN
5533 011732 006001 ROR R1 ; AMIDST THE REAL DATA
5534 011734 000762 BR 50$ ; AND CONTINUE
5535 011736 006201 80$: ASR R1 ; MAKE LAST BLANKS TO GO AWAY
5536 011740 006201 ASR R1
KLIFC -- C-RAM READ/WRITE MACRO V05.04 Tuesday 17-May-88 14:21 Page 125-1
$RCRAM -- READ C-RAM WORD
5537 011742 010037 001074' MOV R0,DFCBF
5538 011746 010137 001076' MOV R1,DFCBF+2 ; STORE RESULTS IN CORE
5539 011752 012700 001077' MOV #DFCBF+3,R0 ; ADDRESS OF DATA JUST READ
5540 011756 114043 MOVB -(R0),-(R3) ; BITS 16-19 TO BUFFER
5541 011760 105737 001101' TSTB DFCFL2 ; CHECK IF BOUNDARY IS RIGHT
5542 011764 001005 BNE 100$ ; YES, GO FIX BOUNDARY
5543 011766 114043 90$: MOVB -(R0),-(R3) ; BITS 20-27 TO WORK AREA
5544 011770 114043 MOVB -(R0),-(R3) ; BITS 28-35 TO WORK AREA
5545 011772 105137 001101' COMB DFCFL2 ; CHANGE SIGNAL
5546 011776 000722 BR 20$ ; GET MORE DATA
5547 012000 106313 100$: ASLB @R3 ; FIX A HALF-BYTE
5548 012002 106313 ASLB @R3
5549 012004 106313 ASLB @R3
5550 012006 106313 ASLB @R3
5551 012010 012705 000004 MOV #4,R5
5552 012014 010302 110$: MOV R3,R2 ; ADDR OF DATA TO R2
5553 012016 106122 ROLB (R2)+ ; SHIFT INCLUDING C-BIT
5554 012020 106122 ROLB (R2)+
5555 012022 106122 ROLB (R2)+
5556 012024 106122 ROLB (R2)+
5557 012026 077506 SOB R5,110$ ; ASSEMBLED COMPLETE HALF-BYTE
5558 012030 105723 TSTB (R3)+ ; FIX HOLDING AREA ADR
5559 012032 105737 001102' TSTB DFCFL3 ; CHECK SIGNAL
5560 012036 001003 BNE 120$ ; DONE IF MINUS
5561 012040 105137 001102' COMB DFCFL3
5562 012044 000750 BR 90$ ; CONTINUE
5563 012046 113743 001075' 120$: MOVB DFCBF+1,-(R3) ; ENDING UP
5564 012052 113743 001074' MOVB DFCBF,-(R3) ; C-RAM BITS 0-15 TO BUFFER
5565 012056 105037 001102' CLRB DFCFL3 ; RESET DFCFL3 TO ZERO
5566 012062 105037 001101' CLRB DFCFL2 ; SAME TO DFCFL2
5567 012066 012700 141000 MOV #.RCSPF,R0 ; READ SPEC FIELD FUNC
5568 012072 012701 001074' MOV #DFCBF,R1
5569 012076 CALL $DFRD ; READ DATA
012076 004737 013444' JSR PC,$DFRD
5570 012102 103430 BCS 140$
5571 012104 016100 000004 MOV 4(R1),R0 ; GET DISP 00-02 - DEXWD1
5572 012110 016101 000002 MOV 2(R1),R1 ; GET DISP 03-04 - DEXWD2
5573 012114 006101 ROL R1
5574 012116 006100 ROL R0
5575 012120 006101 ROL R1
5576 012122 006100 ROL R0 ; JUSTIFY IN R0
5577 012124 042700 177700 BIC #^C77,R0 ; CLEAR TRASH
5578 012130 105737 000044' TSTB .EASW ; AND IF MODEL A CPU,
5579 012134 003002 BGT 130$
5580 012136 042700 177740 BIC #^C37,R0 ; CLEAR MORE TRASH.
5581 012142 016601 000004 130$: MOV 4(SP),R1 ; GET RECIEVING ADDRESS BACK.
5582 012146 110061 000012 MOVB R0,12(R1) ; SAVE IN BUFFER
5583 012152 042721 052525 BIC #052525,(R1)+ ; CLEAR PARITY BITS
5584 012156 042711 000005 BIC #000005,(R1)
5585 012162 000241 CLC
5586 012164 140$: RETURN
012164 000207 RTS PC
KLIFC -- C-RAM READ/WRITE MACRO V05.04 Tuesday 17-May-88 14:21 Page 126
$ACRAM -- ADDRESS C-RAM WORD
5588 .SBTTL $ACRAM -- ADDRESS C-RAM WORD
5589 ;+
5590 ; SET THE M-BOX TO THE C-RAM ADDRESS SPECIFIED BY R0.
5591 ;
5592 ; INPUT:
5593 ; R0 - ADDRESS OF C-RAM WORD TO ACCESS.
5594 ;
5595 ; OUTPUT:
5596 ; CARRY SET IF ERROR OCCURS.
5597 ;-
5598
5599 012166 $ACRAM::PUSH <R1,R0>
012166 010146 MOV R1,-(SP)
012170 010046 MOV R0,-(SP)
5600 012172 TRACK CA
012172 004037 012204' JSR R0,30002$
012176 040503 .WORD "CA
012200 000000 .WORD
012202 000000 .WORD
012204 004737 024236' 30002$: JSR PC,$TRACK
012210 012600 MOV (SP)+,R0
5601 012212 CALL $KLSR ; DO A SOFT RESET
012212 004737 015504' JSR PC,$KLSR
5602 012216 103423 BCS 9$ ; ERROR
5603 012220 012701 001103' MOV #DFCABF,R1
5604 012224 CALL LFCSAB ; LOAD EBUS BITS 00-05
012224 004737 012274' JSR PC,LFCSAB
5605 012230 012700 052000 MOV #.LCRDL,R0 ; CRAM DIAG ADR 00-04
5606 012234 CALL $DFWR ; DO A WRITE
012234 004737 013556' JSR PC,$DFWR
5607 012240 011600 MOV (SP),R0 ; RESTORE C-RAM ADR
5608 012242 103411 BCS 9$ ; ERROR
5609 012244 000300 SWAB R0 ; GET BITS 00-04
5610 012246 006200 ASR R0 ; TO LOW-ORDER BITS OF R0
5611 012250 006200 ASR R0
5612 012252 CALL LFCSAB ; LOAD EBUS BITS 00-05
012252 004737 012274' JSR PC,LFCSAB
5613 012256 012700 051000 MOV #.LCRDR,R0 ; CRAM DIAG ADR 05-10
5614 012262 CALL $DFWR ; DO ANOTHER WRITE
012262 004737 013556' JSR PC,$DFWR
5615 012266 9$: POP <R0,R1>
012266 012600 MOV (SP)+,R0
012270 012601 MOV (SP)+,R1
5616 012272 RETURN
012272 000207 RTS PC
5617
5618 012274 042700 000077 LFCSAB: BIC #77,R0 ; DEAL ONLY WITH 6 BITS
5619 012300 110037 001106' MOVB R0,DFCABF+3 ; TO EBUS BITS 4 & 5
5620 012304 000300 SWAB R0
5621 012306 110037 001107' MOVB R0,DFCABF+4 ; TO EBUS BITS 0,1,2, AND 3
5622 012312 RETURN
012312 000207 RTS PC
KLIFC -- C-RAM READ/WRITE MACRO V05.04 Tuesday 17-May-88 14:21 Page 127
$ACRAM -- ADDRESS C-RAM WORD
5624
5625
5626 .TITLE KLIFD -- D-RAM READ/WRITE
5627 012314 IDENT$ 5,0
.IDENT /005000/
5628 ;
5629 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
5630 ; ALL RIGHTS RESERVED.
5631 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
5632 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
5633 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
5634 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
5635 ;
5636 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
5637 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
5638 ; EQUIPMENT CORPORATION.
5639 ;
5640 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
5641 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
5642 ;
5643 ; VERSION 05-00
5644 ;
5645 ; ALAN D. PECKHAM 11-APR-77
5646 ;
5647 ; MODIFIED BY:
5648 ;
5649 ; FUNCTION: THIS MODULE CONTAINS THE ROUTINES TO WORK WITH THE D-RAMS.
5650 ; THE D-RAM DATA IS PASSED IN THE 3-WORD COMPRESSED FORMAT SPECIFIED
5651 ; IN THE DOCUMENTATION FOR KLDCP.
5652 ;
5653 ; LOCAL DATA
5654 ;
5655 001110 .PSECT DATA,D
5656 .EVEN ; DFDDBF MUST BE ON AN EVEN BOUNDRY.
5657 001110 DFDDBF: WD36$ 0 0 ; DATA WORK AREA.
001110 000 000 000 .BYTE BY$$0,BY$$1,BY$$2
001113 000 000 .BYTE BY$$3,BY$$4
5658 001115 DFDABF: WD36$ 0 0 ; ADDRESS WORK AREA.
001115 000 000 000 .BYTE BY$$0,BY$$1,BY$$2
001120 000 000 .BYTE BY$$3,BY$$4
5659 .EVEN
5660 012314 .PSECT
KLIFD -- D-RAM READ/WRITE MACRO V05.04 Tuesday 17-May-88 14:21 Page 128
$WDRAM -- WRITE D-RAM WORD
5662 .SBTTL $WDRAM -- WRITE D-RAM WORD
5663 ;+
5664 ; WRITE THE COMPRESSED D-RAM WORD POINTED TO BY R1 INTO THE D-RAM ADDRESS
5665 ; POINTED TO BY R0.
5666 ;
5667 ; INPUTS:
5668 ; R1 - POINTER TO COMPRESSED D-RAM DATA WORD
5669 ; R0 - D-RAM ADDRESS TO WRITE DATA INTO.
5670 ;
5671 ; OUTPUTS:
5672 ; CARRY IS SET IF ERROR OCCURS.
5673 ;-
5674
5675 012314 004537 024170' $WDRAM::JSR R5,$RSAVE
5676 012320 TRACK DW
012320 004037 012332' JSR R0,30003$
012324 053504 .WORD "DW
012326 000000 .WORD
012330 000000 .WORD
012332 004737 024236' 30003$: JSR PC,$TRACK
012336 012600 MOV (SP)+,R0
5677 012340 006000 ROR R0 ; CHECK IF EVEN OR ODD
5678 012342 103423 BCS 10$ ; C-BIT NOT SET MEANS EVEN
5679 012344 006100 ROL R0 ; RESTORE ADR
5680 012346 010104 MOV R1,R4 ; SAVE DATA POINTER
5681 012350 CALL $ADRAM ; WRITE D-RAM ADDRESS
012350 004737 012704' JSR PC,$ADRAM
5682 012354 103416 BCS 10$ ; ERROR
5683 012356 012401 MOV (R4)+,R1
5684 012360 CALL 30$ ; WRITE EVEN DATA
012360 004737 012426' JSR PC,30$
5685 012364 103412 BCS 10$
5686 012366 012401 MOV (R4)+,R1 ; MORE DATA TO R1
5687 012370 CALL 20$ ; WRITE ODD DATA
012370 004737 012414' JSR PC,20$
5688 012374 103406 BCS 10$
5689 012376 011401 MOV (R4),R1
5690 ;
5691 ; COMMON PART OF LOADING OF THE D-RAM
5692 ;
5693 012400 012700 062000 MOV #.LDRM3,R0 ; COMMON J01-04
5694 012404 006301 ASL R1
5695 012406 006301 ASL R1 ; JUSTIFY DATA FOR EBUS
5696 012410 000423 BR LFDWFN
5697 012412 10$: RETURN
012412 000207 RTS PC
5698 012414 012703 061000 20$: MOV #.LDRM2,R3 ; DRAM FUNC FOR J-FIELD A & B
5699 012420 012700 064000 MOV #.LDRJD,R0 ; J-FIELD ODD
5700 012424 000404 BR 40$
5701 012426 012703 060000 30$: MOV #.LDRM1,R3 ; DRAM FUNC FOR J-FILED
5702 012432 012700 063000 MOV #.LDRJV,R0 ; J-FILED EVEN
5703 012436 006301 40$: ASL R1 ; JUSTIFY J-FIELD DATA
5704 012440 006301 ASL R1
5705 012442 PUSH R1
012442 010146 MOV R1,-(SP)
5706 012444 CALL LFDWFN ; WRITE J-DATA
012444 004737 012460' JSR PC,LFDWFN
KLIFD -- D-RAM READ/WRITE MACRO V05.04 Tuesday 17-May-88 14:21 Page 128-1
$WDRAM -- WRITE D-RAM WORD
5707 012450 POP R1
012450 012601 MOV (SP)+,R1
5708 012452 103757 BCS 10$ ; ERROR
5709 012454 000301 SWAB R1 ; GOT A & B
5710 012456 010300 MOV R3,R0 ; GOT CORRECT DIAG FUNC & WRITE
5711 012460 110137 001112' LFDWFN: MOVB R1,DFDDBF+2 ; R1 HAS THE DATA
5712 012464 012701 001110' MOV #DFDDBF,R1 ; DATA ADR
5713 012470 CALLR $DFWR ; WRITE IT
012470 000137 013556' JMP $DFWR
KLIFD -- D-RAM READ/WRITE MACRO V05.04 Tuesday 17-May-88 14:21 Page 129
$RDRAM -- READ D-RAM WORD
5715 .SBTTL $RDRAM -- READ D-RAM WORD
5716 ;+
5717 ; READ THE D-RAM WORD ADDRESSED BY R0 INTO THE DATA BUFFER POINTED TO
5718 ; BY R1. THE DATA IS COMPRESSED DURING THE READ.
5719 ;
5720 ; INPUTS:
5721 ; R1 - POINTER TO BUFFER TO RECIEVE D-RAM WORD.
5722 ; R0 - D-RAM ADDRESS TO READ DATA FROM.
5723 ;
5724 ; OUTPUTS:
5725 ; CARRY IS SET IF ERROR OCCURS.
5726 ;-
5727
5728 012474 004537 024170' $RDRAM::JSR R5,$RSAVE
5729 012500 TRACK DR
012500 004037 012512' JSR R0,30004$
012504 051104 .WORD "DR
012506 000000 .WORD
012510 000000 .WORD
012512 004737 024236' 30004$: JSR PC,$TRACK
012516 012600 MOV (SP)+,R0
5730 012520 010104 MOV R1,R4 ; SAVE RECIEVING ADDRESS.
5731 012522 010103 MOV R1,R3
5732 012524 005002 CLR R2 ; CLEAR LOOP SWITCH.
5733 012526 10$: CALL $ADRAM ; WRITE D-RAM ADR
012526 004737 012704' JSR PC,$ADRAM
5734 012532 103463 BCS 30$
5735 012534 012700 015000 MOV #.DRLTC,R0 ; UNLATCH THE DRAM REG
5736 012540 CALL $DFXC
012540 004737 013760' JSR PC,$DFXC
5737 012544 103456 BCS 30$
5738 012546 012701 001110' MOV #DFDDBF,R1
5739 012552 012700 135000 MOV #.RDJ71,R0 ; FUNC TO READ J07-10
5740 012556 CALL $DFRD ; READ DATA
012556 004737 013444' JSR PC,$DFRD
5741 012562 103447 BCS 30$ ; TIMEOUT ERROR
5742 012564 016100 000002 MOV 2(R1),R0 ; GET DATA J07-10 - DEXWD2
5743 012570 006200 ASR R0
5744 012572 006200 ASR R0 ; RIGHT JUSTIFIED J-DATA
5745 012574 042700 177700 BIC #^C77,R0 ; CLEAR TRASH
5746 012600 110023 MOVB R0,(R3)+ ; SAVE IT IN CORE
5747 012602 012700 133000 MOV #.RDMAB,R0 ; FUNC TO READ A & B FIELD
5748 012606 CALL $DFRD ; READ DATA
012606 004737 013444' JSR PC,$DFRD
5749 012612 103433 BCS 30$
5750 012614 016100 000002 MOV 2(R1),R0 ; GET A & B DATA - DEXWD2
5751 012620 006200 ASR R0
5752 012622 006200 ASR R0 ; RIGHT JUSTIFIED DATA
5753 012624 042700 177700 BIC #^C77,R0 ; CLEAR EXTRA
5754 012630 110023 MOVB R0,(R3)+ ; SAVE IT IN CORE
5755 012632 005102 COM R2 ; IS THIS THE SECOND TIME ?
5756 012634 001404 BEQ 20$ ; GET OUT IF YES
5757 012636 016600 000002 MOV 2(SP),R0 ; GET DRAM ADR
5758 012642 005200 INC R0 ; GET ODD HALF OF EVEN/ODD PAIR
5759 012644 000730 BR 10$ ; LOOP AGAIN
5760 012646 012700 134000 20$: MOV #.RDJ14,R0 ; FUNC TO READ J01-04
5761 012652 CALL $DFRD ; READ DATA
KLIFD -- D-RAM READ/WRITE MACRO V05.04 Tuesday 17-May-88 14:21 Page 129-1
$RDRAM -- READ D-RAM WORD
012652 004737 013444' JSR PC,$DFRD
5762 012656 103411 BCS 30$
5763 012660 016100 000002 MOV 2(R1),R0 ; GET J01-04 DATA - DEXWD2
5764 012664 006200 ASR R0
5765 012666 006200 ASR R0 ; RIGHT JUSTIFIED DATA
5766 012670 042700 177760 BIC #^C17,R0 ; CLEAR EXTRA
5767 012674 110064 000004 MOVB R0,4(R4) ; BIT SET TO CORE
5768 012700 000241 CLC
5769 012702 30$: RETURN
012702 000207 RTS PC
KLIFD -- D-RAM READ/WRITE MACRO V05.04 Tuesday 17-May-88 14:21 Page 130
$ADRAM -- ADDRESS D-RAM WORD
5771 .SBTTL $ADRAM -- ADDRESS D-RAM WORD
5772 ;+
5773 ; SET E-BOX TO SPECIFIED D-RAM ADDRESS FOR WRITTING OR READING.
5774 ;
5775 ; INPUT:
5776 ; R0 - ADDRESS TO ACCESS.
5777 ;
5778 ; OUTPUT:
5779 ; CARRY IS SET IF ERROR OCCURS.
5780 ;-
5781
5782 012704 004537 024170' $ADRAM::JSR R5,$RSAVE
5783 012710 TRACK DA
012710 004037 012722' JSR R0,30005$
012714 040504 .WORD "DA
012716 000000 .WORD
012720 000000 .WORD
012722 004737 024236' 30005$: JSR PC,$TRACK
012726 012600 MOV (SP)+,R0
5784 012730 012704 001117' MOV #DFDABF+2,R4
5785 012734 012703 001115' MOV #DFDABF,R3 ;GET ADR OF EBUS DATA
5786 012740 010002 MOV R0,R2 ;DRAM ADR IN R2
5787 012742 005100 COM R0 ;READY TO TEST ADR BITS 0-2
5788 012744 032700 000700 BIT #700,R0 ;TESTING!
5789 012750 001410 BEQ 10$ ;BR IF ADR IS 7XX
5790 012752 006302 ASL R2
5791 012754 006302 ASL R2
5792 012756 006302 ASL R2 ;LEFT SHIFT 3 POSITIONS
5793 012760 105024 CLRB (R4)+ ;INCREMENT TO DFDABF+3
5794 012762 110224 MOVB R2,(R4)+ ;MOVE ADR BITS 4-8 TO EBUS DATA
5795 012764 000302 SWAB R2
5796 012766 110214 MOVB R2,@R4 ;MOVE ADR BITS 0-3 TO EBUS DATA
5797 012770 000413 BR 40$
5798 012772 006002 10$: ROR R2 ;BIT1 TO C-BIT
5799 012774 103402 BCS 20$ ;C BIT SET MEANS IR BIT 12 MUST BE 1
5800 012776 105024 CLRB (R4)+ ;NO C-BIT MEANS IR BIT 12 MUST BE 0
5801 013000 000402 BR 30$ ;MOVE ADR TO EBUS DATA
5802 013002 112724 000200 20$: MOVB #200,(R4)+ ;SET IR BIT 12=1
5803 013006 042702 000340 30$: BIC #340,R2
5804 013012 110224 MOVB R2,(R4)+ ;MOVE D-RAM ADR TO EBUS BIT POSITION 7-11
5805 013014 112714 000016 MOVB #16,@R4 ;SET THE 7 FROM 7XX IN EBUS DATA
5806 013020 40$: CALL $KLSR ;DO A SOFT RESET
013020 004737 015504' JSR PC,$KLSR
5807 013024 103413 BCS 50$
5808 013026 012701 001115' MOV #DFDABF,R1 ;EBUS DATA ADR
5809 013032 012700 077000 MOV #.LDAR,R0 ;LOAD THE AR FROM EBUS 0-35
5810 013036 CALL $DFWR ;DO THE ACTUAL WRITE
013036 004737 013556' JSR PC,$DFWR
5811 013042 103404 BCS 50$
5812 013044 012700 014000 MOV #.IRLTC,R0 ;UNLATCH IR AND LOAD IT FROM AD
5813 013050 CALLR $DFXC ;EXECUTE IT
013050 000137 013760' JMP $DFXC
5814 013054 50$: RETURN
013054 000207 RTS PC
KLIFD -- D-RAM READ/WRITE MACRO V05.04 Tuesday 17-May-88 14:21 Page 131
$ADRAM -- ADDRESS D-RAM WORD
5816
5817
5818 .TITLE KLIFE -- DEPOSIT/EXAMINE KL MEMORY
5819 013056 IDENT$ 5,1
.IDENT /005010/
5820 ;
5821 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
5822 ; ALL RIGHTS RESERVED.
5823 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
5824 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
5825 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
5826 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
5827 ;
5828 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
5829 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
5830 ; EQUIPMENT CORPORATION.
5831 ;
5832 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
5833 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
5834 ;
5835 ; VERSION 05-01
5836 ;
5837 ; ALAN D. PECKHAM 29-MAR-77
5838 ;
5839 ; MODIFIED BY:
5840 ;
5841 ; R. BELANGER 24-AUG-78 FIX CROCK IN ".DESW" MAINTENANCE
5842 ;
5843 ; FUNCTION: ROUTINES TO ACCESS KL MEMORY.
5844 ;
5845 ; LOCAL MACROS
5846 ;
5847 .MCALL PREX$,PRDP$
5848 ;
5849 ; LOCAL DATA
5850 ;
5851 001122 .PSECT DATA,D
5852 001122 DFEDPB: PRDP$ 0,DFEAD,DFEBF,ED.PHY ; DPB FOR PRIVLEDGED DEPOSIT.
001122 011 005 .BYTE DR.DTE,5
001124 016 200 .BYTE DF.PDP,ED.PHY
001126 001146' .WORD DFEAD
001130 001152' .WORD DFEBF
001132 000000 .WORD 0
5853 001134 DFEEXB: PREX$ 0,DFEAD,DFEBF,ED.PHY ; DPB FOR PRIVLEDGED EXAMINE.
001134 011 005 .BYTE DR.DTE,5
001136 015 200 .BYTE DF.PEX,ED.PHY
001140 001146' .WORD DFEAD
001142 001152' .WORD DFEBF
001144 000000 .WORD 0
5854 001146 DFEAD: WD22$ 0 ; ADDRESS OF MEMORY ACCESS.
001146 000 000 000 .BYTE BY$$0,BY$$1,BY$$2
5855 .EVEN
5856 001152 DFEBF: WD36$ 0 0 ; DATA TO WRITE OR READ.
001152 000 000 000 .BYTE BY$$0,BY$$1,BY$$2
001155 000 000 .BYTE BY$$3,BY$$4
5857 .EVEN
5858 002325 .PSECT TEXT,D
KLIFE -- DEPOSIT/EXAMINE KL MEM MACRO V05.04 Tuesday 17-May-88 14:21 Page 131-1
$ADRAM -- ADDRESS D-RAM WORD
5859 002325 TFEDFL: ERROR <DEPOSIT FAILED>
002325 077 040 104 .ASCIZ \? DEPOSIT FAILED\
002330 105 120 117
002333 123 111 124
002336 040 106 101
002341 111 114 105
002344 104 000
5860 002346 TFEEFL: ERROR <EXAMINE FAILED>
002346 077 040 105 .ASCIZ \? EXAMINE FAILED\
002351 130 101 115
002354 111 116 105
002357 040 106 101
002362 111 114 105
002365 104 000
5861 013056 .PSECT
KLIFE -- DEPOSIT/EXAMINE KL MEM MACRO V05.04 Tuesday 17-May-88 14:21 Page 132
$DPOS -- DEPOSIT KL MEMORY ROUTINE
5863 .SBTTL $DPOS -- DEPOSIT KL MEMORY ROUTINE
5864 ;+
5865 ; DEPOSIT GIVEN WORD INTO PHYSICAL CORE.
5866 ;
5867 ; INPUTS:
5868 ; R1 - ADDRESS OF 36 BIT DATA WORD.
5869 ; R0 - 22 BIT KL ADDRESS.
5870 ;
5871 ; OUTPUTS:
5872 ; CARRY IS SET ON ERROR AND MESSAGE IS DISPLAYED.
5873 ;-
5874
5875 013056 $DPOST::
5876 013056 005046 CLR -(SP) ; SET UP THE ADDRESS
5877 013060 PUSH R0 ; SO
013060 010046 MOV R0,-(SP)
5878 013062 010600 MOV SP,R0 ; POINT TO ADDRESS
5879 013064 CALL $DPOS ; DO THE DEPOSIT
013064 004737 013074' JSR PC,$DPOS
5880 013070 032626 BIT (SP)+,(SP)+ ; CLEAR STACK
5881 013072 RETURN ; TO CALLER
013072 000207 RTS PC
5882
5883 013074 $DPOS::
5884 013074 004537 024170' JSR R5,$RSAVE
5885 013100 CALL LFEMVA ; SET UP PROPER BOUNDARY
013100 004737 013330' JSR PC,LFEMVA
5886 013104 CALL LFECKN ; MAKE SURE THE CLOCK IS ON.
013104 004737 013354' JSR PC,LFECKN
5887 013110 103431 BCS 90$
5888 013112 012704 001152' MOV #DFEBF,R4 ; SET UP TEMPORARY WORK AREA
5889 013116 012703 000005 MOV #5,R3 ; AREA COUNT
5890 013122 112124 10$: MOVB (R1)+,(R4)+ ; MOVE IN -11 DATA
5891 013124 077302 SOB R3,10$ ; CONTINUE MOVE
5892 013126 142744 177760 BICB #^C17,-(R4) ; CLEAR HIGH BYTE
5893 013132 TRACK DP,DFEAD,DFEBF
013132 004037 013144' JSR R0,30006$
013136 050104 .WORD "DP
013140 001146' .WORD DFEAD
013142 001152' .WORD DFEBF
013144 004737 024236' 30006$: JSR PC,$TRACK
013150 012600 MOV (SP)+,R0
5894 013152 DIR$ #DFEDPB ; DO DEPOSIT TO KL
013152 012746 001122' MOV #DFEDPB,-(SP)
013156 104375 EMT 375
5895 013160 103005 BCC 90$
5896 013162 PRINT #TFEDFL ; INFORM OF ERROR.
013162 012700 002325' MOV #TFEDFL,R0
013166 004737 027620' JSR PC,$TTMSG
5897 013172 000261 SEC
5898 013174 90$: RETURN
013174 000207 RTS PC
KLIFE -- DEPOSIT/EXAMINE KL MEM MACRO V05.04 Tuesday 17-May-88 14:21 Page 133
$EXAM -- EXAMINE KL MEMORY ROUTINE
5900 .SBTTL $EXAM -- EXAMINE KL MEMORY ROUTINE
5901 ;+
5902 ; EXAMINE GIVEN WORD FROM KL PHYSICAL CORE.
5903 ;
5904 ; INPUTS:
5905 ; R1 - ADDRESS OF BUFFER TO RECIEVE DATA.
5906 ; R0 - 22 BIT KL ADDRESS.
5907 ;
5908 ; OUTPUTS:
5909 ; CARRY IS SET ON ERROR AND MESSAGE IS DISPLAYED.
5910 ;-
5911
5912 .ENABL LSB
5913
5914 013176 $EXAMT::
5915 013176 005046 CLR -(SP) ; SET UP THE ADDRESS
5916 013200 PUSH R0 ; SO
013200 010046 MOV R0,-(SP)
5917 013202 010600 MOV SP,R0 ; POINT TO ADDRESS
5918 013204 CALL $EXAM ; DO THE EXAMINE
013204 004737 013224' JSR PC,$EXAM
5919 013210 032626 BIT (SP)+,(SP)+ ; CLEAR THE STACK
5920 013212 000402 BR 10$ ; OUT THRU COMMON EXIT
5921 ;
5922 013214 $EXAMD::
5923 013214 CALL $EXAM ; DO THE EXAMINE
013214 004737 013224' JSR PC,$EXAM
5924 013220 10$:
5925 013220 010100 MOV R1,R0 ; DATA PONTER TO R0
5926 013222 RETURN ; TO CALLER
013222 000207 RTS PC
5927
5928 .DSABL LSB
5929
5930 013224 $EXAM::
5931 013224 004537 024170' JSR R5,$RSAVE
5932 013230 CALL LFEMVA
013230 004737 013330' JSR PC,LFEMVA
5933 013234 CALL LFECKN ; MAKE SURE THE CLOCK IS ON.
013234 004737 013354' JSR PC,LFECKN
5934 013240 103425 BCS 90$
5935 013242 DIR$ #DFEEXB ; DO KL EXAMINE
013242 012746 001134' MOV #DFEEXB,-(SP)
013246 104375 EMT 375
5936 013250 TRACK EX,DFEAD,DFEBF
013250 004037 013262' JSR R0,30007$
013254 054105 .WORD "EX
013256 001146' .WORD DFEAD
013260 001152' .WORD DFEBF
013262 004737 024236' 30007$: JSR PC,$TRACK
013266 012600 MOV (SP)+,R0
5937 013270 103411 BCS 90$
5938 013272 012702 000005 MOV #5,R2
5939 013276 012700 001152' MOV #DFEBF,R0
5940 013302 112021 10$: MOVB (R0)+,(R1)+
5941 013304 077202 SOB R2,10$
5942 013306 142741 177760 BICB #^C17,-(R1)
KLIFE -- DEPOSIT/EXAMINE KL MEM MACRO V05.04 Tuesday 17-May-88 14:21 Page 133-1
$EXAM -- EXAMINE KL MEMORY ROUTINE
5943 013312 RETURN
013312 000207 RTS PC
5944 013314 90$: PRINT #TFEEFL ; INFORM OPERATOR OF ERROR.
013314 012700 002346' MOV #TFEEFL,R0
013320 004737 027620' JSR PC,$TTMSG
5945 013324 000261 SEC
5946 013326 RETURN
013326 000207 RTS PC
KLIFE -- DEPOSIT/EXAMINE KL MEM MACRO V05.04 Tuesday 17-May-88 14:21 Page 134
$EXAM -- EXAMINE KL MEMORY ROUTINE
5948 ;+
5949 ; GET 22-BIT ADDRESS AND PLACE IN WORD-ALIGNED HOLDING AREA.
5950 ;-
5951
5952 013330 012705 001146' LFEMVA: MOV #DFEAD,R5
5953 013334 112025 MOVB (R0)+,(R5)+ ; CLAIM THE CALLER'S
5954 013336 112025 MOVB (R0)+,(R5)+ ; KL ADDRESS
5955 013340 111015 MOVB (R0),(R5) ; FOR OUR OWN.
5956 013342 042715 177700 BIC #^C77,(R5) ; 22 BITS PLEASE.
5957 013346 012700 001146' MOV #DFEAD,R0
5958 013352 RETURN
013352 000207 RTS PC
5959
5960 ;+
5961 ; MAKE SURE THE CLOCK IS ON
5962 ;-
5963
5964 013354 105737 000042' LFECKN: TSTB .DESW ; IF OUR SWITCH IS >0,
5965 013360 003026 BGT 90$ ; THEN MICROCODE IS USEABLE.
5966 013362 CALL $KLMR ; OTHERWISE RESET
013362 004737 015232' JSR PC,$KLMR
5967 013366 103423 BCS 90$
5968 013370 012700 001000 MOV #.STRCL,R0 ; AND START CLOCK.
5969 013374 CALL $DFXC
013374 004737 013760' JSR PC,$DFXC
5970 013400 103416 BCS 90$
5971 013402 012702 001750 MOV #1000.,R2 ; WAIT FOR HALT LOOP
5972 013406 10$: CALL $DTRW1 ; BY READING DTE REG #1
013406 004737 024100' JSR PC,$DTRW1
5973 013412 103411 BCS 90$ ; AND
5974 013414 032700 001000 BIT #DS06,R0 ; CHECKING HALT BIT.
5975 013420 001003 BNE 20$
5976 013422 077207 SOB R2,10$ ; IF TAKES TOO LONG
5977 013424 000261 SEC ; THEN WE ARE IN TROUBLE.
5978 013426 RETURN
013426 000207 RTS PC
5979 013430 112737 000001 000042' 20$: MOVB #1,.DESW ; OTHERWISE INDICATE
5980 013436 90$: RETURN ; OKAY TO USE.
013436 000207 RTS PC
KLIFE -- DEPOSIT/EXAMINE KL MEM MACRO V05.04 Tuesday 17-May-88 14:21 Page 135
$EXAM -- EXAMINE KL MEMORY ROUTINE
5982
5983 .TITLE KLIFR -- PERFORM DIAGNOSTIC FUNCTION READ
5984 013440 IDENT$ 5,0
.IDENT /005000/
5985 ;
5986 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
5987 ; ALL RIGHTS RESERVED.
5988 ; THIS SOFTWARE IS FURNISHED TOPURCHASER UNDER A LICENSE FOR USE
5989 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
5990 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
5991 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
5992 ;
5993 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
5994 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
5995 ; EQUIPMENT CORPORATION.
5996 ;
5997 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
5998 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
5999 ;
6000 ; VERSION 05-00
6001 ;
6002 ; ALAN D. PECKHAM 29-MAR-77
6003 ;
6004 ; MODIFIED BY:
6005 ;
6006 ; FUNCTION: DO A FUNCTION READ TO THE DTE20.
6007 ;
6008 ; LOCAL MACROS
6009 ;
6010 .MCALL KLDR$
6011 ;
6012 ; LOCAL DATA
6013 ;
6014 001160 .PSECT DATA,D
6015 001160 DFRRDB: KLDR$ 0,.DFBLK,.DREG,0 ; DPB FOR FUNCTION READ.
001160 002411 .WORD 400*5.+DR.DTE
001162 012 000 .BYTE DF.KLR,0/400
001164 000256' .WORD .DFBLK
001166 000272' .WORD .DREG
001170 000000 .WORD 0
6016 .EVEN
6017 002367 .PSECT TEXT,D
6018 002367 TFREMS: ERROR <DF READ FAILED> ; READ FAILED ERROR MESSAGE.
002367 077 040 104 .ASCIZ \? DF READ FAILED\
002372 106 040 122
002375 105 101 104
002400 040 106 101
002403 111 114 105
002406 104 000
6019 013440 .PSECT
KLIFR -- PERFORM DIAGNOSTIC FUN MACRO V05.04 Tuesday 17-May-88 14:21 Page 136
$DFRD -- DIAGNOSTIC READ FUNCTION
6021 .SBTTL $DFRD -- DIAGNOSTIC READ FUNCTION
6022 ;+
6023 ; PERFORM A DIAGNOSTIC READ FUNCTION.
6024 ;
6025 ; INPUTS:
6026 ; R1 - ADDRESS OF 36 BIT BUFFER TO RECIEVE DATA FROM READ.
6027 ; R0 - FUNCTION CODE OF READ TO PERFORM.
6028 ;
6029 ; OUTPUTS:
6030 ; (R1) - DATA READ FROM DIAGNOSTIC IS SUCCESSFUL.
6031 ; CARRY IS SET IF ERROR, AND ERROR MESSAGE IS DISPLAYED.
6032 ;-
6033
6034 013440 $DDFRD::
6035 013440 000300 SWAB R0 ; POSITION READ CODE
6036 013442 006300 ASL R0 ; SO
6037 013444 $DFRD::
6038 013444 PUSH <R1,R0>
013444 010146 MOV R1,-(SP)
013446 010046 MOV R0,-(SP)
6039 013450 000300 SWAB R0 ; GET FUNCTION CODE TO LOW BYTE
6040 013452 110037 001163' MOVB R0,DFRRDB+3 ; STORE FUNCTION CODE
6041 013456 DIR$ #DFRRDB
013456 012746 001160' MOV #DFRRDB,-(SP)
013462 104375 EMT 375
6042 013464 TRACK FR,DFRRDB+3,.DFRBK
013464 004037 013476' JSR R0,30008$
013470 051106 .WORD "FR
013472 001163' .WORD DFRRDB+3
013474 000264' .WORD .DFRBK
013476 004737 024236' 30008$: JSR PC,$TRACK
013502 012600 MOV (SP)+,R0
6043 013504 103412 BCS 10$
6044 013506 012700 000264' MOV #.DFRBK,R0
6045 013512 005701 TST R1 ; TEST R1
6046 013514 001413 BEQ 90$ ; BYPASS LOADING
6047 013516 112021 MOVB (R0)+,(R1)+ ; REMOVE DATA FROM DEXWD3
6048 013520 112021 MOVB (R0)+,(R1)+
6049 013522 112021 MOVB (R0)+,(R1)+ ; FROM DEXWD2
6050 013524 112021 MOVB (R0)+,(R1)+
6051 013526 111011 MOVB (R0),(R1) ; FROM DEXWD1
6052 013530 000405 BR 90$
6053 013532 10$: PRINT #TFREMS ; INDICATE FUNC READ FAILED
013532 012700 002367' MOV #TFREMS,R0
013536 004737 027620' JSR PC,$TTMSG
6054 013542 000261 SEC
6055 013544 90$: POP <R0,R1>
013544 012600 MOV (SP)+,R0
013546 012601 MOV (SP)+,R1
6056 013550 RETURN
013550 000207 RTS PC
KLIFR -- PERFORM DIAGNOSTIC FUN MACRO V05.04 Tuesday 17-May-88 14:21 Page 137
$DFRD -- DIAGNOSTIC READ FUNCTION
6058
6059 .TITLE KLIFW -- PERFORM DIAGNOSTIC FUNCTION WRITE
6060 013552 IDENT$ 5,0
.IDENT /005000/
6061 ;
6062 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
6063 ; ALL RIGTHS RESERVED.
6064 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
6065 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
6066 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
6067 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
6068 ;
6069 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
6070 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
6071 ; EQUIPMENT CORPORATION.
6072 ;
6073 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
6074 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
6075 ;
6076 ; VERSION 05-00
6077 ;
6078 ; ALAN D. PECKHAM 29-MAR-77
6079 ;
6080 ; MODIFIED BY:
6081 ;
6082 ; FUNCTION: DO A FUNCTION WRITE TO THE DTE20.
6083 ;
6084 ; LOCAL MACROS
6085 ;
6086 .MCALL KLDW$,PREX$
6087 ;
6088 ; LOCAL DATA
6089 ;
6090 001172 .PSECT DATA,D
6091 001172 DFWWDB: KLDW$ 0,.DFBLK,.DREG,0 ; DPB FOR FUNCTION WRITE.
001172 002411 .WORD 400*5.+DR.DTE
001174 013 000 .BYTE DF.KLW,0/400
001176 000256' .WORD .DFBLK
001200 000272' .WORD .DREG
001202 000000 .WORD 0
6092 001204 DFWEDB: PREX$ 0,.ZERO,DFWBF,ED.PHY ; PRIVLEDGED EXAMINE DPB.
001204 011 005 .BYTE DR.DTE,5
001206 015 200 .BYTE DF.PEX,ED.PHY
001210 000000' .WORD .ZERO
001212 001216' .WORD DFWBF
001214 000000 .WORD 0
6093 001216 DFWBF: WD36$ 0 0 ; EXAMINE SCRATCH BUFFER.
001216 000 000 000 .BYTE BY$$0,BY$$1,BY$$2
001221 000 000 .BYTE BY$$3,BY$$4
6094 .EVEN
6095 002410 .PSECT TEXT,D
6096 002410 TFWEMS: ERROR <DF WRITE FAILED>
002410 077 040 104 .ASCIZ \? DF WRITE FAILED\
002413 106 040 127
002416 122 111 124
002421 105 040 106
002424 101 111 114
KLIFW -- PERFORM DIAGNOSTIC FUN MACRO V05.04 Tuesday 17-May-88 14:21 Page 137-1
$DFRD -- DIAGNOSTIC READ FUNCTION
002427 105 104 000
6097 013552 .PSECT
KLIFW -- PERFORM DIAGNOSTIC FUN MACRO V05.04 Tuesday 17-May-88 14:21 Page 138
$DFWR -- DIAGNOSTIC WRITE FUNCTION
6099 .SBTTL $DFWR -- DIAGNOSTIC WRITE FUNCTION
6100 ;+
6101 ; PERFORM DIAGNOSTIC WRITE FUNCTION.
6102 ;
6103 ; INPUTS:
6104 ; R1 - ADDRESS OF 36 BIT WORD TO WRITE.
6105 ; R0 - FUNCTION CODE OF WRITE TO PERFORM.
6106 ;
6107 ; OUTPUTS:
6108 ; CARRY IS SET IF ERROR, AND ERROR MESSAGE IS DISPLAYED.
6109 ;-
6110
6111 013552 $DDFWR::
6112 013552 000300 SWAB R0 ; POSITION WRITE CODE
6113 013554 006300 ASL R0 ; SO
6114 013556 $DFWR::
6115 013556 PUSH <R1,R0>
013556 010146 MOV R1,-(SP)
013560 010046 MOV R0,-(SP)
6116 013562 CALL LFWCKF ; TURN OFF CLOCK
013562 004737 013676' JSR PC,LFWCKF
6117 013566 103440 BCS 90$
6118 013570 000300 SWAB R0 ; GET FUNCTION CODE TO LOW BYTE
6119 013572 110037 001175' MOVB R0,DFWWDB+3 ; SET THE FUNCTION CODE IN DPB
6120 013576 012700 000256' MOV #.DFWBK,R0 ; POINT TO TOP OF 3 WORDS FOR WRITE
6121 013602 005701 TST R1 ; TEST R1
6122 013604 001405 BEQ 10$ ; BYPASS LOADING
6123 013606 112120 MOVB (R1)+,(R0)+ ; FILL IN DATA IN DEXWD3
6124 013610 112120 MOVB (R1)+,(R0)+
6125 013612 112120 MOVB (R1)+,(R0)+ ; IN DEXWD2
6126 013614 112120 MOVB (R1)+,(R0)+
6127 013616 111110 MOVB (R1),(R0) ; IN DEXWD1
6128 013620 042760 177760 000004 10$: BIC #^C17,4(R0) ; JUST SAVE BITS 0-3 IN DEXWD1
6129 013626 DIR$ #DFWWDB ; DO THE FUNCTION WRITE
013626 012746 001172' MOV #DFWWDB,-(SP)
013632 104375 EMT 375
6130 013634 TRACK FW,DFWWDB+3,.DFWBK
013634 004037 013646' JSR R0,30009$
013640 053506 .WORD "FW
013642 001175' .WORD DFWWDB+3
013644 000256' .WORD .DFWBK
013646 004737 024236' 30009$: JSR PC,$TRACK
013652 012600 MOV (SP)+,R0
6131 013654 103005 BCC 90$ ; WRITE OKAY
6132 013656 20$: PRINT #TFWEMS
013656 012700 002410' MOV #TFWEMS,R0
013662 004737 027620' JSR PC,$TTMSG
6133 013666 000261 SEC
6134 013670 90$: POP <R0,R1>
013670 012600 MOV (SP)+,R0
013672 012601 MOV (SP)+,R1
6135 013674 RETURN ; ERROR
013674 000207 RTS PC
KLIFW -- PERFORM DIAGNOSTIC FUN MACRO V05.04 Tuesday 17-May-88 14:21 Page 139
$DFWR -- DIAGNOSTIC WRITE FUNCTION
6137 ;+
6138 ; MAKE SURE THE KL CLOCK IS OFF FOR FUNCTION WRITE.
6139 ;
6140 ; NO INPUTS OR OUTPUTS.
6141 ;-
6142
6143 013676 105037 000042' LFWCKF: CLRB .DESW ; DEP/EXAM MUST START FRESH.
6144 013702 105737 000041' TSTB .CKSW ; TEST THE CLOCK CONDITION:
6145 013706 100421 BMI 90$ ; OFF IS OKAY.
6146 013710 003012 BGT 10$ ; ON - TURN IT OFF.
6147 013712 DIR$ #DFWEDB ; OTHERWISE DETERMINATE...
013712 012746 001204' MOV #DFWEDB,-(SP)
013716 104375 EMT 375
6148 013720 103006 BCC 10$ ; CLOCK IS ON ! STOP IT.
6149 013722 022737 000000G 000000G CMP #IE.EBX,$DSW ; EBOX STOPPED ?
6150 013730 001410 BEQ 90$ ; YES, WE ARE OKAY.
6151 013732 CALLR $KLMR ; SOME HORRIBLE STATE...
013732 000137 015232' JMP $KLMR
6152 013736 10$: PUSH R0 ; CLOCK IS ON -
013736 010046 MOV R0,-(SP)
6153 013740 012700 000000 MOV #.STPCL,R0 ; TURN IT OFF
6154 013744 CALL $DFXC
013744 004737 013760' JSR PC,$DFXC
6155 013750 POP R0
013750 012600 MOV (SP)+,R0
6156 013752 90$: RETURN
013752 000207 RTS PC
KLIFW -- PERFORM DIAGNOSTIC FUN MACRO V05.04 Tuesday 17-May-88 14:21 Page 140
$DFWR -- DIAGNOSTIC WRITE FUNCTION
6158
6159 .TITLE KLIFX -- PERFORM DIAGNOSTIC FUNCTION EXECUTE
6160 013754 IDENT$ 5,1
.IDENT /005010/
6161 ;
6162 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
6163 ; ALL RIGHTS RESERVED.
6164 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
6165 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
6166 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
6167 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
6168 ;
6169 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
6170 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
6171 ; EQUIPMENT CORPORATION.
6172 ;
6173 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
6174 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
6175 ;
6176 ; VERSION 05-01
6177 ;
6178 ; ALAN D. PECKHAM 29-MAR-77
6179 ;
6180 ; MODIFIED BY:
6181 ;
6182 ; R. BELANGER 24-AUG-77 FIX CROCK IN ".DESW" MAINTENANCE
6183 ;
6184 ; FUNCTION: DO A FUNCTION WRITE TO THE DTE20.
6185 ;
6186 ; LOCAL MACROS
6187 ;
6188 .MCALL KLDX$
6189 ;
6190 ; LOCAL VARIABLES
6191 ;
6192 001224 .PSECT DATA,D
6193 001224 DFXXDB: KLDX$ 0,.DFBLK,.DREG,0 ; DPB FOR FUNCTION EXECUTE.
001224 002411 .WORD 400*5.+DR.DTE
001226 014 000 .BYTE DF.KLX,0/400
001230 000256' .WORD .DFBLK
001232 000272' .WORD .DREG
001234 000000 .WORD 0
6194 .EVEN
6195 002432 .PSECT TEXT,D
6196 002432 TFXEMS: ERROR <DF EXECUTE FAILED>
002432 077 040 104 .ASCIZ \? DF EXECUTE FAILED\
002435 106 040 105
002440 130 105 103
002443 125 124 105
002446 040 106 101
002451 111 114 105
002454 104 000
6197 013754 .PSECT
KLIFX -- PERFORM DIAGNOSTIC FUN MACRO V05.04 Tuesday 17-May-88 14:21 Page 141
$DFXC -- DIAGNOSTIC EXECUTE FUNCTION
6199 .SBTTL $DFXC -- DIAGNOSTIC EXECUTE FUNCTION
6200 ;+
6201 ; PERFORM A DIAGNOSTIC EXECUTE FUNCTION.
6202 ;
6203 ; INPUTS:
6204 ; R0 - EXECUTE FUNCTION CODE.
6205 ;
6206 ; OUTPUTS:
6207 ; CARRY IS SET IF OPERATION FAILS.
6208 ;-
6209
6210 013754 $DDFXC::
6211 013754 000300 SWAB R0 ; POSITION EXECUTE CODE
6212 013756 006300 ASL R0 ; SO
6213 013760 $DFXC::
6214 013760 PUSH <R1,R0>
013760 010146 MOV R1,-(SP)
013762 010046 MOV R0,-(SP)
6215 013764 022700 001000 CMP #.STRCL,R0 ; START CLOCK ?
6216 013770 001411 BEQ 10$
6217 013772 022700 007000 CMP #.SETMR,R0 ; DOES IT STOP CLOCK ?
6218 013776 002414 BLT 20$
6219 014000 112737 177777 000041' MOVB #-1,.CKSW ; INDICATE CLOCK STOPPED.
6220 014006 105037 000042' CLRB .DESW ; DEP/EXAM MUST START FRESH.
6221 014012 000406 BR 20$
6222 014014 112737 000001 000041' 10$: MOVB #+1,.CKSW ; INDICATE CLOCK STARTED.
6223 014022 112737 000001 000042' MOVB #1,.DESW
6224 014030 000300 20$: SWAB R0 ; GET FUNCTION CODE TO LOW BYTE
6225 014032 110037 001227' MOVB R0,DFXXDB+3 ; SET FUNCTION CODE IN DPB
6226 014036 TRACK FX,DFXXDB+3
014036 004037 014050' JSR R0,30010$
014042 054106 .WORD "FX
014044 001227' .WORD DFXXDB+3
014046 000000 .WORD
014050 004737 024236' 30010$: JSR PC,$TRACK
014054 012600 MOV (SP)+,R0
6227 014056 DIR$ #DFXXDB
014056 012746 001224' MOV #DFXXDB,-(SP)
014062 104375 EMT 375
6228 014064 103007 BCC 30$
6229 014066 105037 000041' CLRB .CKSW ; CLOCK STATUS INDETERMINATE.
6230 014072 PRINT #TFXEMS ; INDICATE FUNC EX FAILED
014072 012700 002432' MOV #TFXEMS,R0
014076 004737 027620' JSR PC,$TTMSG
6231 014102 000261 SEC
6232 014104 30$: POP <R0,R1>
014104 012600 MOV (SP)+,R0
014106 012601 MOV (SP)+,R1
6233 014110 RETURN
014110 000207 RTS PC
KLIFX -- PERFORM DIAGNOSTIC FUN MACRO V05.04 Tuesday 17-May-88 14:21 Page 142
$DFXC -- DIAGNOSTIC EXECUTE FUNCTION
6235
6236
6237 .TITLE KLIGC -- SET CACHE CONFIGURATION TABLES
6238 014112 IDENT$ 5,0
.IDENT /005000/
6239 ;
6240 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
6241 ; ALL RIGHTS RESERVED.
6242 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
6243 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
6244 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
6245 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
6246 ;
6247 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
6248 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
6249 ; EQUIPMENT CORPORATION.
6250 ;
6251 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
6252 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
6253 ;
6254 ; VERSION 05-00
6255 ;
6256 ; ALAN D. PECKHAM 12-APR-77
6257 ;
6258 ; MODIFIED BY:
6259 ;
6260 ; FUNCTION: THIS MODULE SETS UP THE CACHE CONFIGURATION TABLES
6261 ; EITHER FROM THE CONFIGURATION FILE OR FOR ALL CACHES.
6262 ;
6264 ; LOCAL DATA
6265 ;
6266 001236 .PSECT DATA,D
6267 001236 043240 000000 000000 DGCFNM: .RAD50 /KL CFG/ ; CONFIGURATION FILE NAME.
001244 011667
6268 001246 000000 .WORD 0 ; GET LATEST VERSION.
6269 001250 005 005 .BYTE 5,5
6270 001252 054523 000000 .WORD "SY,0
6271 002456 .PSECT TEXT,D
6272 002456 TGCNFL: WARNING <NO FILE - ALL CACHE BEING CONFIGURED>
002456 045 040 116 .ASCIZ \% NO FILE - ALL CACHE BEING CONFIGURED\
002461 117 040 106
002464 111 114 105
002467 040 055 040
002472 101 114 114
002475 040 103 101
002500 103 110 105
002503 040 102 105
002506 111 116 107
002511 040 103 117
002514 116 106 111
002517 107 125 122
002522 105 104 000
6273 014112 .PSECT
KLIGC -- SET CACHE CONFIGURATIO MACRO V05.04 Tuesday 17-May-88 14:21 Page 143
$GETCA -- SET CACHE CONFIGURATION TABLES
6275 .SBTTL $GETCA -- SET CACHE CONFIGURATION TABLES
6276 ;+
6277 ; GET CACHES TO BE ENABLED FROM FILE OR SET TO CONFIGURE ALL CACHE.
6278 ;
6279 ; INPUTS:
6280 ; .DCSW - IF NON-NEGATIVE THEN USE LAST CONFIGURATION, OTHERWISE
6281 ; SET FOR ALL CACHE.
6282 ;
6283 ; OUTPUTS:
6284 ; .NCACH - NUMBER OF CACHES TO USE.
6285 ; .CACHN - NUMBERS OF THE CACHES TO BE USED.
6286 ;-
6287
6288 014112 105737 000031' $GETCA::TSTB .DCSW ; IF LAST CONFIGURATION INDICATED
6289 014116 002417 BLT 20$
6290 014120 012700 001236' MOV #DGCFNM,R0 ; THEN FIND CONFIGURATION FILE.
6291 014124 CALL $LOOKUP
014124 004737 007562' JSR PC,$LOOKUP
6292 014130 103030 BCC 50$
6293 014132 122737 000000G 000532' CMPB #IE.NSF,.SYSTA ; IF NO FILE
6294 014140 001060 BNE 90$
6295 014142 PRINT #TGCNFL ; (NO FILE, OPERATOR !)
014142 012700 002456' MOV #TGCNFL,R0
014146 004737 027620' JSR PC,$TTMSG
6296 014152 105237 000031' 10$: INCB .DCSW ; THEN CONFIGURE ALL 4.
6297 014156 012701 000065' 20$: MOV #.CACHN,R1 ; FIX TABLES
6298 014162 005004 CLR R4
6299 014164 110421 30$: MOVB R4,(R1)+
6300 014166 005204 INC R4
6301 014170 022704 000004 CMP #4,R4 ; FOR FOUR CACHES.
6302 014174 001373 BNE 30$
6303 014176 110437 000064' MOVB R4,.NCACH
6304 014202 RETURN
014202 000207 RTS PC
6305 014204 40$: CALL $READS
014204 004737 010254' JSR PC,$READS
6306 014210 103434 BCS 90$
6307 014212 50$: CALL $READC ; GET A RECORD
014212 004737 010216' JSR PC,$READC
6308 014216 103431 BCS 90$
6309 014220 022700 000002 CMP #2,R0 ; IF IT IS THE CACHE RECORD,
6310 014224 001405 BEQ 60$ ; THEN PROCESS IT.
6311 014226 005700 TST R0 ; IF NOT END-OF-FILE
6312 014230 001365 BNE 40$ ; THEN GET NEW RECORD.
6313 014232 CALL $CLOSE ; OTHERWISE CLOSE FILE
014232 004737 007056' JSR PC,$CLOSE
6314 014236 000745 BR 10$ ; AND USE ALL CACHES.
6315 014240 60$: CALL $READB ; PICK UP
014240 004737 010420' JSR PC,$READB
6316 014244 103416 BCS 90$
6317 014246 110004 MOVB R0,R4 ; NUMBER OF CACHES
6318 014250 001410 BEQ 80$
6319 014252 010002 MOV R0,R2 ; AND
6320 014254 012701 000065' MOV #.CACHN,R1
6321 014260 70$: CALL $READB
014260 004737 010420' JSR PC,$READB
6322 014264 103406 BCS 90$
KLIGC -- SET CACHE CONFIGURATIO MACRO V05.04 Tuesday 17-May-88 14:21 Page 143-1
$GETCA -- SET CACHE CONFIGURATION TABLES
6323 014266 110021 MOVB R0,(R1)+ ; AND CACHE NUMBERS.
6324 014270 077205 SOB R2,70$
6325 014272 110437 000064' 80$: MOVB R4,.NCACH ; SET THE NUMBER OF CACHES
6326 014276 CALLR $CLOSE ; AND ALL FINISHED.
014276 000137 007056' JMP $CLOSE
6327 014302 90$: CALL $PURGE ; ERROR EXIT.
014302 004737 010124' JSR PC,$PURGE
6328 014306 000261 SEC
6329 014310 RETURN
014310 000207 RTS PC
KLIGC -- SET CACHE CONFIGURATIO MACRO V05.04 Tuesday 17-May-88 14:21 Page 144
$GETCA -- SET CACHE CONFIGURATION TABLES
6332
6333 .TITLE KLIGM -- SET UP MEMORY CONFIGURATION TABLES
6334 014312 IDENT$ 11,04,KLI$$F
.IDENT /B11040/
6335 ;
6336 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
6337 ; ALL RIGHTS RESERVED.
6338 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
6339 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
6340 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
6341 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
6342 ;
6343 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
6344 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
6345 ; EQUIPMENT CORPORATION.
6346 ;
6347 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
6348 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
6349 ;
6350 ; VERSION 11-04
6351 ;
6352 ; ALAN D. PECKHAM 12-APR-77
6353 ;
6354 ; MODIFIED BY:
6355 ;
6356 ; R. BELANGER 02-MAR-79 ADD REVERSE MEMORY CONFIGURATION
6357 ; TCO 4.2204
6358 ; R. BELANGER 25-JUL-78 INTEGRATE MOS CONFIGURATOR
6359 ;
6360 ; FUNCTION: THIS MODULE SETS UP THE MEMORY CONFIGURATION TABLES TO REFLECT
6361 ; THE LAST MEMORY CONFIGURATION OR TO USE ALL MEMORY AVAILABLE.
KLIGM -- SET UP MEMORY CONFIGUR MACRO V05.04 Tuesday 17-May-88 14:21 Page 145
$GETCA -- SET CACHE CONFIGURATION TABLES
6363 ;
6364 ; LOCAL DATA
6365 ;
6366 001256 .PSECT DATA,D
6367 001256 DGMFNM:
6368 001256 043240 000000 000000 .RAD50 /KL CFG/ ; CONFIGURATION FILE NAME.
001264 011667
6369 001266 000000 .WORD 0 ; GET LATEST VERSION.
6370 001270 005 005 .BYTE 5,5
6371 001272 054523 000000 .WORD "SY,0
6372 002525 .PSECT TEXT,D
6373 002525 TGMNFL:
6374 002525 WARNING <NO FILE - ALL MEMORY BEING CONFIGURED>
002525 045 040 116 .ASCIZ \% NO FILE - ALL MEMORY BEING CONFIGURED\
002530 117 040 106
002533 111 114 105
002536 040 055 040
002541 101 114 114
002544 040 115 105
002547 115 117 122
002552 131 040 102
002555 105 111 116
002560 107 040 103
002563 117 116 106
002566 111 107 125
002571 122 105 104
002574 000
6375 014312 .PSECT
KLIGM -- SET UP MEMORY CONFIGUR MACRO V05.04 Tuesday 17-May-88 14:21 Page 146
$GETMM -- SET UP MEMORY CONFIGURATION TABLES
6377 .SBTTL $GETMM -- SET UP MEMORY CONFIGURATION TABLES
6378 ;+
6379 ; GET THE LAST CONFIGURATION FROM THE CONFIGURATION FILE. IF THERE IS NO
6380 ; FILE, THEN CONFIGURE FOR ALL MEMORY.
6381 ;
6382 ; OUTPUTS:
6383 ; .DMSW - MADE NEGATIVE IF ALL MEMORY IS TO BE CONFIGURED (NO FILE).
6384 ; .CTLTP - TABLE OF DESIRED CONTROLLERS
6385 ; .CFGTB - TABLE OF CONFIGURATION MASKS
6386 ; .CFMRV - FORWARD/REVERSE CONFIGURATION INDICATOR
6387 ;-
6388
6389 014312 $GETMM::
6390 014312 105037 000046' CLRB .MFCT ; INIT COUNTER TO ZERO
6391 014316 012701 000040 MOV #CTLS,R1 ; INIT COUNTER
6392 014322 012700 000134' MOV #.CFGTB,R0 ; TABLE POINTER TO R0
6393 014326 112761 177777 000072' MOVB #-1,.CTLTP(R1) ; [4.2204] INIT ".CFMRV" CONTROLLER TYPE TO -1
6394 014334 10$:
6395 014334 012720 100000 MOV #BIT15,(R0)+ ; INVALIDATE THE CONFIGURATION TABLE
6396 014340 105061 000071' CLRB .CTLTP-1(R1) ; AND THE CONTROLLER TABLE
6397 014344 077105 SOB R1,10$ ; LOOP TILL DONE
6398 014346 005010 CLR (R0) ; [4.2204] INIT TO FORWARD CONFIGURATION
6399 014350 012700 001256' MOV #DGMFNM,R0 ; LOOK FOR CONFIGURATION FILE
6400 014354 CALL $LOOKUP
014354 004737 007562' JSR PC,$LOOKUP
6401 014360 103016 BCC 50$
6402 014362 122737 000000G 000532' CMPB #IE.NSF,.SYSTA ; IF NO FILE
6403 014370 001070 BNE 90$ ; OTHER ERROR -- FATAL
6404 014372 PRINT #TGMNFL ; (NO FILE, OPERATOR !)
014372 012700 002525' MOV #TGMNFL,R0
014376 004737 027620' JSR PC,$TTMSG
6405 014402 20$:
6406 014402 105337 000032' DECB .DMSW ; THEN USE ALL MEMORY.
6407 014406 30$:
6408 014406 RETURN ; TO CALLER
014406 000207 RTS PC
6409 ;
6410 ; HERE TO SKIP PRECEEDING NON-CONTROLLER RECORDS
6411 ;
6412 014410 40$:
6413 014410 CALL $READS
014410 004737 010254' JSR PC,$READS
6414 014414 103456 BCS 90$
6415 014416 50$:
6416 014416 CALL $READC ; GET A RECORD.
014416 004737 010216' JSR PC,$READC
6417 014422 103453 BCS 90$
6418 014424 022700 000001 CMP #1,R0 ; IF IT A CONTROLLER RECORD
6419 014430 001404 BEQ 60$ ; THEN PROCESS, OTHERWISE
6420 014432 002766 BLT 40$ ; IF NOT END OF FILE, GET ANOTHER.
6421 014434 CALL $CLOSE ; IF NO CONTROLLER RECORDS
014434 004737 007056' JSR PC,$CLOSE
6422 014440 000760 BR 20$ ; THEN USE ALL MEMORY.
6423 ;
6424 ;
6425 ; HERE TO READ AND PROCESS A CONTROLLER RECORD
6426 ;
KLIGM -- SET UP MEMORY CONFIGUR MACRO V05.04 Tuesday 17-May-88 14:21 Page 146-1
$GETMM -- SET UP MEMORY CONFIGURATION TABLES
6427 014442 60$:
6428 014442 CALL $READB ; GET A CONTROLLER INDEX
014442 004737 010420' JSR PC,$READB
6429 014446 103441 BCS 90$
6430 014450 010001 MOV R0,R1 ; COPY TO R1
6431 014452 CALL $READB ; GET CONTROLLER TYPE.
014452 004737 010420' JSR PC,$READB
6432 014456 103435 BCS 90$
6433 014460 110061 000072' MOVB R0,.CTLTP(R1) ; SET IN TABLE
6434 014464 CALL $READW ; GET CONFIGURATION MASK
014464 004737 010324' JSR PC,$READW
6435 014470 103430 BCS 90$
6436 014472 006301 ASL R1 ; WORD INDEX
6437 014474 010061 000134' MOV R0,.CFGTB(R1) ; SET THAT IN THE TABLE
6438 014500 002413 BLT 80$ ; GO ON IF NOT DESIRED
6439 014502 006201 ASR R1 ; BACK TO BYTE INDEX
6440 014504 122761 000005 000072' CMPB #5,.CTLTP(R1) ; IS THIS ONE AN MF20??
6441 014512 001006 BNE 80$ ; NO -- GO ON
6442 014514 105237 000046' INCB .MFCT ; YES -- MARK THAT WE EXPECT AT LEAST THIS ONE
6443 014520 000403 BR 80$ ; AND TRY FOR NEXT RECORD
6444 ;
6445 ;
6446 ; HERE TO SKIP TRAILING NON-CONTROLLER RECORDS
6447 ;
6448 014522 70$:
6449 014522 CALL $READS ; BYPASS RECORD.
014522 004737 010254' JSR PC,$READS
6450 014526 103411 BCS 90$
6451 014530 80$:
6452 014530 CALL $READC ; GET ANOTHER RECORD
014530 004737 010216' JSR PC,$READC
6453 014534 103406 BCS 90$ ; AND
6454 014536 022700 000001 CMP #1,R0 ; IF A CONTROLLER RECORD
6455 014542 001737 BEQ 60$ ; THEN PROCESS, OTHERWISE
6456 014544 002766 BLT 70$ ; REJECT RECORDS UNTIL EOF.
6457 014546 CALLR $CLOSE ; CLOSE FILE AND RETURN.
014546 000137 007056' JMP $CLOSE
6458 ;
6459 014552 90$:
6460 014552 CALL $PURGE
014552 004737 010124' JSR PC,$PURGE
6461 014556 000261 SEC ; SO RETURN WITH ERROR.
6462 014560 RETURN
014560 000207 RTS PC
KLIGM -- SET UP MEMORY CONFIGUR MACRO V05.04 Tuesday 17-May-88 14:21 Page 147
$GETMM -- SET UP MEMORY CONFIGURATION TABLES
6464
6465 .TITLE KLIGP -- GET PAGE TABLE SELECTION VIA CONFIGURATION FILE
6466 014562 IDENT$ 1,00
.IDENT /001000/
6467 ;
6468 ; COPYRIGHT (C) 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
6469 ; ALL RIGHTS RESERVED.
6470 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
6471 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
6472 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
6473 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
6474 ;
6475 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
6476 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
6477 ; EQUIPMENT CORPORATION.
6478 ;
6479 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
6480 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
6481 ;
6482 ; VERSION 1-00
6483 ;
6484 ; M. RUDENKO 17-MAY-84
6485 ;
6486 ; MODIFIED BY:
6487 ;
6488 ;
6489 ; FUNCTION: THIS MODULE SELECTS AMOUNG PAGE TABLE ZERO, ONE OR BOTH,
6490 ; IN ACCORDANCE WITH THE CONTENTS OF THE CONFIGURATION FILE. ABSENCE
6491 ; OF A PAGE TABLE RECORD IMPLIES THAT THE DEFAULT OF BOTH PAGES BE
6492 ; USED.
KLIGP -- GET PAGE TABLE SELECTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 148
$GETMM -- SET UP MEMORY CONFIGURATION TABLES
6494 ;
6495 ; LOCAL DATA
6496 ;
6497 001276 .PSECT DATA,D
6498 001276 DGPFNM:
6499 001276 043240 000000 000000 .RAD50 /KL CFG/ ; CONFIGURATION FILE NAME.
001304 011667
6500 001306 000000 .WORD 0 ; GET LATEST VERSION.
6501 001310 005 005 .BYTE 5,5
6502 001312 054523 000000 .WORD "SY,0
6503 002575 .PSECT TEXT,D
6504 002575 TGPNFL:
6505 002575 WARNING <NO FILE>
002575 045 040 116 .ASCIZ \% NO FILE\
002600 117 040 106
002603 111 114 105
002606 000
6506 014562 .PSECT
KLIGP -- GET PAGE TABLE SELECTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 149
$GETPA -- GET PAGE TABLE SELECTION
6508 .SBTTL $GETPA -- GET PAGE TABLE SELECTION
6509 ;+
6510 ; GET THE LAST SELECTION FROM THE CONFIGURATION FILE. IF THERE IS NO
6511 ; FILE, THEN SELECT BOTH PAGES ZERO AND ONE.
6512 ;
6513 ; OUTPUT:
6514 ; R1 -- 0 = PAGE TABLE ZERO; 1 = PAGE TABLE ONE; -1 = BOTH
6515 ;-
6516
6517 014562 $GETPA::
6518 014562 012700 001276' MOV #DGPFNM,R0 ; LOOK FOR CONFIGURATION FILE
6519 014566 CALL $LOOKUP
014566 004737 007562' JSR PC,$LOOKUP
6520 014572 103020 BCC 50$
6521 014574 122737 000000G 000532' CMPB #IE.NSF,.SYSTA ; IF NO FILE
6522 014602 001035 BNE 90$ ; OTHER ERROR -- FATAL
6523 014604 PRINT #TGPNFL ; (NO FILE, OPERATOR !)
014604 012700 002575' MOV #TGPNFL,R0
014610 004737 027620' JSR PC,$TTMSG
6524 014614 20$:
6525 014614 012701 177777 MOV #-1,R1 ; INDICATE THAT BOTH PAGES ARE TO BE USED
6526 014620 105237 000034' INCB .PTSW ; FLAG TO WRITE CONFIG FILE LATER
6527 014624 30$:
6528 014624 RETURN ; TO CALLER
014624 000207 RTS PC
6529 ;
6530 ; HERE TO SKIP PRECEEDING NON-PAGE TABLE RECORDS
6531 ;
6532 014626 40$:
6533 014626 CALL $READS
014626 004737 010254' JSR PC,$READS
6534 014632 103421 BCS 90$
6535 014634 50$:
6536 014634 CALL $READC ; GET A RECORD.
014634 004737 010216' JSR PC,$READC
6537 014640 103416 BCS 90$
6538 014642 022700 000005 CMP #5,R0 ; IF IT IS A PAGE TABLE RECORD ...
6539 014646 001405 BEQ 60$ ; THEN PROCESS, OTHERWISE
6540 014650 005700 TST R0 ; CHECK FOR END OF FILE
6541 014652 003365 BGT 40$ ; NO -- GET NEXT RECORD
6542 014654 CALL $CLOSE ; IF NO PAGE TABLE RECORDS ...
014654 004737 007056' JSR PC,$CLOSE
6543 014660 000755 BR 20$ ; THEN USE BOTH PAGES
6544 ;
6545 ;
6546 ; HERE TO READ AND PROCESS A PAGE TABLE RECORD
6547 ;
6548 014662 60$:
6549 014662 CALL $READW ; GET PAGE TABLE SELECTION DESIRED
014662 004737 010324' JSR PC,$READW
6550 014666 103403 BCS 90$
6551 014670 010001 MOV R0,R1 ; COPY TO R1
6552 014672 CALLR $CLOSE ; CLOSE FILE AND RETURN.
014672 000137 007056' JMP $CLOSE
6553 014676 90$:
6554 014676 CALL $PURGE
014676 004737 010124' JSR PC,$PURGE
KLIGP -- GET PAGE TABLE SELECTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 149-1
$GETPA -- GET PAGE TABLE SELECTION
6555 014702 000261 SEC ; SO RETURN WITH ERROR.
6556 014704 RETURN
014704 000207 RTS PC
KLIGP -- GET PAGE TABLE SELECTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 150
$GETPA -- GET PAGE TABLE SELECTION
6558
6559
6560
6561
6562
6563 .TITLE KLIGT -- READ MF20 TIMING FILE DATA
6564 014706 IDENT$ 10,0,KLI$$F
.IDENT /B10000/
6565 ;
6566 ; COPYRIGHT (C) 1975, 1984, 1985 BY
6567 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
6568 ; ALL RIGHTS RESERVED.
6569 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
6570 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
6571 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
6572 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
6573 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
6574 ;
6575 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
6576 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
6577 ; CORPORATION.
6578 ;
6579 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
6580 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
6581 ;
6582 ;
6583 ; MODULE: MF20 TIMING FILE INPUT
6584 ;
6585 ; VERSION: 10-00
6586 ;
6587 ; DATE: 22-MAY-78
6588 ;
6589 ; AUTHOR: R. BELANGER
6590 ;
6591 ; MODIFICATIONS:
6592 ;
6593 ; NO. DATE PROGRAMMER REASON
6594 ; --- ---- ---------- ------
6595
6596 002607 .PSECT TEXT,D
6597 002607 TGTCKE:
6598 002607 ERROR <MF20 TIMING FILE CHECKSUM ERROR>
002607 077 040 115 .ASCIZ \? MF20 TIMING FILE CHECKSUM ERROR\
002612 106 062 060
002615 040 124 111
002620 115 111 116
002623 107 040 106
002626 111 114 105
002631 040 103 110
002634 105 103 113
002637 123 125 115
002642 040 105 122
002645 122 117 122
002650 000
6599 002651 TGTNFL:
6600 002651 ERROR <NO MF20 TIMING FILE>
002651 077 040 116 .ASCIZ \? NO MF20 TIMING FILE\
KLIGT -- READ MF20 TIMING FILE MACRO V05.04 Tuesday 17-May-88 14:21 Page 150-1
$GETPA -- GET PAGE TABLE SELECTION
002654 117 040 115
002657 106 062 060
002662 040 124 111
002665 115 111 116
002670 107 040 106
002673 111 114 105
002676 000
6601 002677 TGTIFF:
6602 002677 ERROR <ILLEGAL MF20 TIMING FILE FORMAT>
002677 077 040 111 .ASCIZ \? ILLEGAL MF20 TIMING FILE FORMAT\
002702 114 114 105
002705 107 101 114
002710 040 115 106
002713 062 060 040
002716 124 111 115
002721 111 116 107
002724 040 106 111
002727 114 105 040
002732 106 117 122
002735 115 101 124
002740 000
6603 002741 TGTRFE:
6604 002741 ERROR <MF20 TIMING FILE READ ERROR>
002741 077 040 115 .ASCIZ \? MF20 TIMING FILE READ ERROR\
002744 106 062 060
002747 040 124 111
002752 115 111 116
002755 107 040 106
002760 111 114 105
002763 040 122 105
002766 101 104 040
002771 105 122 122
002774 117 122 000
6605 014706 .PSECT
KLIGT -- READ MF20 TIMING FILE MACRO V05.04 Tuesday 17-May-88 14:21 Page 151
$GETTF -- READ MF20 TIMING FILE DATA
6607 .SBTTL $GETTF -- READ MF20 TIMING FILE DATA
6608
6609 ;+
6610 ; $GETTF -- SUBROUTINE TO READ AND DEASCIIZE AN MF20 TIMING RAM DATA FILE
6611 ;
6612 ; INPUTS:
6613 ;
6614 ; R0 -- POINTS TO CALLER'S BUFFER
6615 ; TMFLNM -- TIMING FILE FILENAME
6616 ;
6617 ; OUTPUTS:
6618 ;
6619 ; R0 - R5 UNCHANGED
6620 ; DATA IS IN CALLER'S BUFFER
6621 ; CC-C SET ON ERROR; CLEAR ON SUCCESS
6622 ;-
6623
6624 014706 $GETTF::
6625 014706 RDATIM::
6626 014706 CALL R5,$RSAVE ; SAVE REGISTERS
014706 004537 024170' JSR R5,$RSAVE
6627 014712 012705 000000G MOV #TMFLNM,R5 ; POINT TO THE ASCII FILENAME
6628 014716 010004 MOV R0,R4 ; DESTINATION POINTER TO R4
6629 014720 012700 000502' MOV #.USRFN,R0 ; POINT TO USER FILENAME BLOCK
6630 014724 PUSH R0 ; SAVE R0 FOR LATER
014724 010046 MOV R0,-(SP)
6631 014726 CALL $TRF2B ; LOAD THE FILENAME BLOCK
014726 004737 025132' JSR PC,$TRF2B
6632 014732 POP R0 ; RESTORE FILNAME BLOCK POINTER
014732 012600 MOV (SP)+,R0
6633 014734 CALL $LOOKUP ; LOOKUP THE FILE
014734 004737 007562' JSR PC,$LOOKUP
6634 014740 103013 BCC 20$ ; FOUND THE FILE OK
6635 014742 022737 000000G 000532' CMP #IE.NSF,.SYSTA ; DOES THE FILE EXIST??
6636 014750 001005 BNE 10$ ; YES -- CALL ERROR ROUTINE
6637 014752 PRINT #TGTNFL ; NO -- SAY SO AND QUIT
014752 012700 002651' MOV #TGTNFL,R0
014756 004737 027620' JSR PC,$TTMSG
6638 014762 000467 BR RTFXIT ; EXIT
6639 ;
6640 014764 10$:
6641 014764 CALLR $IOERR ; REPORT THE ERROR AND QUIT
014764 000137 007346' JMP $IOERR
6642 ;
6643 ;
6644 ; MAIN CONVERSION LOOP
6645 ;
6646 ; THIS LOOP CONVERTS THE DATA IN AN ASCIIZED "A11" FORMAT FILE TO BINARY.
6647 ;
6648 ; RECORDS WHICH BEGIN WITH A SEMI-COLON (COMMENT) ARE SIMPLY SKIPPED OVER
6649 ;
6650 ; RECORDS WHICH BEGIN WITH AN "E<SPACE>" ARE CONVERTED TO BINARY AND RETURNED TO
6651 ; THE CALLER
6652 ;
6653 ; ANY OTHER FORMAT CONSTITUTES A FATAL ERROR
6654 ;
6655 ; REGISTER SUMMARY:
KLIGT -- READ MF20 TIMING FILE MACRO V05.04 Tuesday 17-May-88 14:21 Page 151-1
$GETTF -- READ MF20 TIMING FILE DATA
6656 ;
6657 ; R0 -- LAST CHARACTER READ FROM FILE
6658 ; R1 -- LAST WORD CONVERTED FROM FILE
6659 ; R2 -- RECORD WORD COUNT
6660 ; R4 -- TRANSFER POINTER
6661 ; R5 -- CHECKSUM
6662 ;
6663 014770 20$:
6664 014770 CALL $READC ; READ THE RECORD BYTE COUNT
014770 004737 010216' JSR PC,$READC
6665 ; AND RETURN FIRST WORD IN R0
6666 014774 103454 BCS RTFERR ; ERROR IF CC-C SET
6667 014776 122700 000073 CMPB #';,R0 ; IS IT A COMMENT LINE??
6668 015002 001410 BEQ 40$ ; YES -- GO EAT IT UP
6669 015004 022700 020105 CMP #"E ,R0 ; NO -- IS IT A DATA LINE??
6670 015010 001411 BEQ 50$ ; YES -- GO CONVERT IT
6671 015012 30$:
6672 015012 PRINT #TGTIFF ; NO -- COMPLAIN
015012 012700 002677' MOV #TGTIFF,R0
015016 004737 027620' JSR PC,$TTMSG
6673 015022 000445 BR RTFERX ; AND EXIT
6674 ;
6675 ;
6676 ; HERE TO READ AND DISCARD A COMMENT LINE
6677 ;
6678 015024 40$:
6679 015024 CALL $READS ; SKIP OVER THIS RECORD
015024 004737 010254' JSR PC,$READS
6680 015030 103436 BCS RTFERR ; ERROR IF CC-C IS SET
6681 015032 000756 BR 20$ ; GO START THE NEXT RECORD
6682 ;
6683 ;
6684 ; HERE TO READ AND CONVERT A DATA LINE
6685 ;
6686 015034 50$:
6687 015034 005005 CLR R5 ; RESET THE CHECKSUM
6688 ;
6689 ; READ THE RECORD DATA WORD COUNT
6690 ; IF .EQ. 0, THEN WE ARE AT THE LOGICAL END-OF-FILE
6691 ;
6692 015036 CALL CNVWRD ; CONVERT THE WORD COUNT
015036 004737 015154' JSR PC,CNVWRD
6693 015042 103437 BCS RTFXIT ; ERROR IF CC-C IS SET
6694 015044 010102 MOV R1,R2 ; WORD COUNT TO R2
6695 015046 001425 BEQ 70$ ; LOGICAL END-OF-FILE IF .EQ. 0
6696 ;
6697 ; CONVERT AND DISCARD THE ADDRESS POINTER (FIXED-ADDRESS FILES ONLY)
6698 ;
6699 015050 CALL CNVWRD ; GET OVER THE ADDRESS WORD
015050 004737 015154' JSR PC,CNVWRD
6700 015054 103432 BCS RTFXIT ; ERROR IF CC-C IS SET
6701 ;
6702 ; THIS LOOP CONVERTS ALL WORDS IN ONE RECORD
6703 ;
6704 015056 60$:
6705 015056 CALL CNVWRD ; CONVERT THE DATA
015056 004737 015154' JSR PC,CNVWRD
KLIGT -- READ MF20 TIMING FILE MACRO V05.04 Tuesday 17-May-88 14:21 Page 151-2
$GETTF -- READ MF20 TIMING FILE DATA
6706 015062 103427 BCS RTFXIT ; ERROR IF CC-C IS SET
6707 015064 122700 000054 CMPB #',,R0 ; DELIMITER OK??
6708 015070 001350 BNE 30$ ; NO -- COMPLAIN AND DIE
6709 015072 010124 MOV R1,(R4)+ ; YES -- RETURN CONVERTED WORD TO CALLER
6710 015074 077210 SOB R2,60$ ; GET ALL WORDS FROM THIS RECORD
6711 ;
6712 ; NOW VERIFY CHECKSUM
6713 ;
6714 015076 CALL CNVCHK ; READ THE CHECKSUM
015076 004737 015146' JSR PC,CNVCHK
6715 015102 103417 BCS RTFXIT ; ERROR IF CC-C IS SET
6716 015104 005705 TST R5 ; IS THE CHECKSUM OK??
6717 015106 001730 BEQ 20$ ; YES -- GO ON TO THE NEXT RECORD
6718 015110 PRINT #TGTCKE ; NO -- COMPLAIN
015110 012700 002607' MOV #TGTCKE,R0
015114 004737 027620' JSR PC,$TTMSG
6719 015120 000406 BR RTFERX ; AND EXIT
6720 ;
6721 ;
6722 ; HERE TO CLOSE THE FILE AND RETURN SUCCESS
6723 ;
6724 015122 70$:
6725 015122 CALLR $CLOSE ; CLOSE THE FILE AND EXIT
015122 000137 007056' JMP $CLOSE
6726 ;
KLIGT -- READ MF20 TIMING FILE MACRO V05.04 Tuesday 17-May-88 14:21 Page 152
$GETTF -- READ MF20 TIMING FILE DATA
6728 ;
6729 ; READ ERROR ROUTINE
6730 ;
6731 015126 RTFERR:
6732 015126 PRINT #TGTRFE ; ERROR MESSAGE
015126 012700 002741' MOV #TGTRFE,R0
015132 004737 027620' JSR PC,$TTMSG
6733 ;
6734 ; CLOSE FILE FOR ERROR RETURN
6735 ;
6736 015136 RTFERX:
6737 015136 CALL $CLOSE ; CLOSE THE FILE
015136 004737 007056' JSR PC,$CLOSE
6738 015142 RTFXIT:
6739 015142 000261 SEC ; SET THE ERROR FLAG
6740 015144 RETURN ; TO CALLER
015144 000207 RTS PC
6741 ;
6742 ; MAIN CONVERSION SUBROUTINE
6743 ;
6744 ; UP TO THREE BYTES ARE READ FROM THE FILE AND CONVERTED TO BINARY
6745 ; THE RECORD CHECKSUM IS ALSO ACCUMULATED BY THIS ROUTINE
6746 ;
6747 ; INPUTS:
6748 ;
6749 ; NONE
6750 ;
6751 ; OUTPUTS:
6752 ;
6753 ; R0 -- LAST CHARACTER FROM FILE
6754 ; R1 -- CONVERTED WORD
6755 ; R5 -- UPDATED CHECKSUM
6756 ;
6757 .ENABL LSB
6758 015146 CNVCHK:
6759 015146 013703 000540' MOV .SYIRC,R3 ; SYNCHRONIZE THE BYTE COUNTS
6760 015152 000402 BR 10$ ; COMPUTE THE FINAL CHECKSUM
6761 ;
6762 015154 CNVWRD:
6763 015154 012703 000004 MOV #4,R3 ; MAXIMUM FIELD WIDTH IS 4 BYTES
6764 015160 10$:
6765 015160 005001 CLR R1 ; INIT RETURNED WORD
6766 015162 20$:
6767 015162 CALL $READB ; READ A BYTE FROM THE FILE
015162 004737 010420' JSR PC,$READB
6768 015166 103757 BCS RTFERR ; ERROR IF CC-C IS SET
6769 015170 122700 000054 CMPB #',,R0 ; NO -- END-OF-FIELD??
6770 015174 001413 BEQ 30$ ; YES -- EXIT
6771 015176 PUSH R0 ; NO -- CONVERT IT
015176 010046 MOV R0,-(SP)
6772 015200 042716 177700 BIC #^C77,(SP) ; SO
6773 015204 006301 ASL R1 ; POSITION PREVIOUS BYTE
6774 015206 006301 ASL R1 ; SO
6775 015210 006301 ASL R1 ; ...
6776 015212 006301 ASL R1 ; ...
6777 015214 006301 ASL R1 ; ...
6778 015216 006301 ASL R1 ; DONE
KLIGT -- READ MF20 TIMING FILE MACRO V05.04 Tuesday 17-May-88 14:21 Page 152-1
$GETTF -- READ MF20 TIMING FILE DATA
6779 015220 052601 BIS (SP)+,R1 ; SET THE NEW BYTE IN THE WORD
6780 015222 077321 SOB R3,20$ ; AND TRY AGAIN
6781 015224 30$:
6782 015224 060105 ADD R1,R5 ; UPDATE CHECKSUM
6783 015226 000241 CLC ; INSURE CC-C IS CLEAR
6784 015230 RETURN ; TO CALLER
015230 000207 RTS PC
6785
6786 .DSABL LSB
KLIGT -- READ MF20 TIMING FILE MACRO V05.04 Tuesday 17-May-88 14:21 Page 153
$GETTF -- READ MF20 TIMING FILE DATA
6788
6789
6790 .TITLE KLIMR -- KL RESET ROUTINES
6791 015232 IDENT$ 5,0
.IDENT /005000/
6792 ;
6793 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
6794 ; ALL RIGHTS RESERVED.
6795 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
6796 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
6797 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
6798 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
6799 ;
6800 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
6801 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
6802 ; EQUIPMENT CORPORATION.
6803 ;
6804 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
6805 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
6806 ;
6807 ; VERSION 05-00
6808 ;
6809 ; ALAN D. PECKHAM 29-MAR-77
6810 ;
6811 ; MODIFIED BY:
6812 ;
6813 ; FUNCTION: THIS MODULE CONTAINS THE ROUTINES TO DO A FULL MASTER RESET
6814 ; AND A PARTIAL RESET FOR RAM ADDRESS CLEARING.
6815 ;
KLIMR -- KL RESET ROUTINES MACRO V05.04 Tuesday 17-May-88 14:21 Page 154
$GETTF -- READ MF20 TIMING FILE DATA
6817 ;
6818 ; LOCAL DATA
6819 ;
6820 001316 .PSECT DATA,D
6821 001316 035000 001446' .WORD 72*400,DMRKW2 ; SELECT KW20/22 FOR MOS SYSTEMS
6822 001322 022000 000000' DMRMRT: .WORD .LDSEL/2,.ZERO ; CLOCK LOAD FUNC #44
6823 001326 100000 .WORD .STPCL/2+BIT15 ; STOP THE CLOCK
6824 001330 103400 .WORD .SETMR/2+BIT15 ; SET RESET
6825 001332 023000 000000' .WORD .LDCK1/2,.ZERO ; LOAD CLK PARITY CHECK & FS CHECK
6826 001336 023400 000000' .WORD .LDCK2/2,.ZERO ; LOAD CLK MBOX CYCLE DISABLES,
6827 ; PARITY CHECK, ERROR STOP ENABLE
6828 001342 021000 000000' .WORD .LDBRR/2,.ZERO ; LOAD BURST COUNTER (8,4,2,1)
6829 001346 021400 000000' .WORD .LDBRL/2,.ZERO ; LOAD BURST COUNTER (128,64,32,16)
6830 001352 022400 000000' .WORD .LDDIS/2,.ZERO ; LOAD EBOX CLOCK DISABLE
6831 001356 100400 .WORD .STRCL/2+BIT15 ; START THE CLOCK
6832 001360 034000 000000' .WORD .INICL/2,.ZERO ; INIT CHANNELS
6833 001364 021000 000000' .WORD .LDBRR/2,.ZERO ; LOAD BURST COUNTER (8,4,2,1)
6834 001370 000000 .WORD 0
6835 001372 102000 .WORD .CECLK/2+BIT15 ; CONDITIONAL SINGLE STEP
6836 001374 103000 .WORD .CLRMR/2+BIT15 ; CLEAR RESET
6837 001376 033400 000000' .WORD .EIOJA/2,.ZERO ; ENABLE KL STL DECODING OF CODES & AC'S
6838 001402 037000 000000' .WORD .MEMRS/2,.ZERO ; SET KL10 MEM RESET FLOP
6839 001406 034400 001414' .WORD .WRMBX/2,DMRMMR ; WRITE M-BOX
6840 001412 000000 .WORD 0
6841 001414 DMRMMR: WD36$ 0 12 ; FOR MEMORY RESET
001414 012 000 000 .BYTE BY$$0,BY$$1,BY$$2
001417 000 000 .BYTE BY$$3,BY$$4
6842 .EVEN
6843
6844 001422 007000 DMRSRT: .WORD .SETMR ; SET RESET.
6845 001424 001000 .WORD .STRCL ; START THE CLOCK.
6846 001426 000000 .WORD .STPCL ; STOP THE CLOCK.
6847 001430 004000 .WORD .CECLK ; CONDITIONAL SINGLE STEP.
6848 001432 006000 .WORD .CLRMR ; CLEAR RESET.
6849 000005 DMRSRL = .-DMRSRT/2 ; LENGTH OF TABLE.
6850 001434 DMRBF: WD36$ 0 0 ; GENERAL BIT BUCKET.
001434 000 000 000 .BYTE BY$$0,BY$$1,BY$$2
001437 000 000 .BYTE BY$$3,BY$$4
6851 001441 DMRMOS: WD36$ 0 10 ; CLOCK PARAMETERS FOR MOS
001441 010 000 000 .BYTE BY$$0,BY$$1,BY$$2
001444 000 000 .BYTE BY$$3,BY$$4
6852 001446 DMRKW2: WD36$ 0 3 ; KW-20/22 SELECT CODE
001446 003 000 000 .BYTE BY$$0,BY$$1,BY$$2
001451 000 000 .BYTE BY$$3,BY$$4
6853 .EVEN
6854 002777 .PSECT TEXT,D
6855 002777 TMRMFL: ERROR <MASTER RESET FAILED>
002777 077 040 115 .ASCIZ \? MASTER RESET FAILED\
003002 101 123 124
003005 105 122 040
003010 122 105 123
003013 105 124 040
003016 106 101 111
003021 114 105 104
003024 000
6856 015232 .PSECT
KLIMR -- KL RESET ROUTINES MACRO V05.04 Tuesday 17-May-88 14:21 Page 155
$KLMR -- DO A MASTER RESET ON THE KL
6858 .SBTTL $KLMR -- DO A MASTER RESET ON THE KL
6859 ;+
6860 ; RESET THE KL PROCESSOR.
6861 ;
6862 ; NO INPUTS
6863 ;
6864 ; OUTPUTS:
6865 ; THE CARRY IS SET ON ANY ERROR AND AN ERROR MESSAGE IS DISPLAYED.
6866 ;-
6867
6868 015232 004537 024170' $KLMR:: JSR R5,$RSAVE
6869 015236 TRACK MR
015236 004037 015250' JSR R0,30011$
015242 051115 .WORD "MR
015244 000000 .WORD
015246 000000 .WORD
015250 004737 024236' 30011$: JSR PC,$TRACK
015254 012600 MOV (SP)+,R0
6870 015256 012700 010000 MOV #.CLRUN,R0
6871 015262 CALL $DFXC ; CLEAR RUN
015262 004737 013760' JSR PC,$DFXC
6872 015266 103452 BCS 80$ ; TIMEOUT ERROR
6873 015270 012737 000100 000302' MOV #DRESET,.DTEDT ; RESET BIT TO .DTEDT
6874 015276 CALL $DTRW2 ; WRITE DTE-20 DIAG 2
015276 004737 024106' JSR PC,$DTRW2
6875 015302 103444 BCS 80$ ; ERROR
6876 015304 012737 053101 000302' MOV #DON10C!ERR10C!INT11C!PERCLR!DON11C!ERR11C,.DTEDT
6877 ; CLEAR DTE-20 STATUS
6878 015312 CALL $DTRWS ; WRITE IT
015312 004737 024116' JSR PC,$DTRWS
6879 015316 103436 BCS 80$
6880 015320 012703 001322' MOV #DMRMRT,R3 ; SET UP TABLE AND
6881 015324 105737 000045' TSTB .MFSW ; SEE IF A MOS SYSTEM
6882 015330 003401 BLE 5$ ; NO -- GO ON
6883 015332 024343 CMP -(R3),-(R3) ; YES -- BE SURE TO SELECT KW20/22
6884 015334 5$:
6885 015334 CALL LMRDFN ; DO FIRST SET OF FUNCTIONS.
015334 004737 015430' JSR PC,LMRDFN
6886 015340 103425 BCS 80$
6887 015342 012702 000003 MOV #3,R2 ; SET UP MAX LOOP COUNT
6888 015346 012701 001434' MOV #DMRBF,R1 ; AND DIAGNOSTIC READ BUFFER.
6889 015352 012700 162000 10$: MOV #<162*1000>,R0 ; LOOK
6890 015356 CALL $DFRD ; FOR
015356 004737 013444' JSR PC,$DFRD
6891 015362 103414 BCS 80$
6892 015364 132711 000010 BITB #10,(R1) ; "A CHANGE COMING A L"
6893 015370 001406 BEQ 20$
6894 015372 012700 002000 MOV #.SSCLK,R0 ; SINGLE STEP THE MBOX
6895 015376 CALL $DFXC
015376 004737 013760' JSR PC,$DFXC
6896 015402 103404 BCS 80$
6897 015404 077216 SOB R2,10$ ; ONLY 3 TIMES MAX.
6898 015406 20$: CALL LMRDFN ; NOW FINISH THE JOB.
015406 004737 015430' JSR PC,LMRDFN
6899 015412 103005 BCC 90$
6900 015414 80$: PRINT #TMRMFL ; PRINT ERROR IF NEED BE.
015414 012700 002777' MOV #TMRMFL,R0
KLIMR -- KL RESET ROUTINES MACRO V05.04 Tuesday 17-May-88 14:21 Page 155-1
$KLMR -- DO A MASTER RESET ON THE KL
015420 004737 027620' JSR PC,$TTMSG
6901 015424 000261 SEC
6902 015426 90$: RETURN
015426 000207 RTS PC
6903
6904 015430 012300 LMRDFN: MOV (R3)+,R0 ; FUNCTION TO BE PERFORMED
6905 015432 006300 10$: ASL R0 ; GET ITS TYPE
6906 015434 103004 BCC 20$ ; A WRITE OR
6907 015436 CALL $DFXC ; EXECUTE FUNCTION.
015436 004737 013760' JSR PC,$DFXC
6908 015442 103015 BCC 30$ ; SUCCESS
6909 015444 000416 BR 40$ ; OR FAILURE.
6910 015446 012301 20$: MOV (R3)+,R1
6911 015450 022700 044000 CMP #.LDSEL,R0 ; SET CLOCK PARAMETERS??
6912 015454 001005 BNE 25$ ; NO -- GO ON
6913 015456 105737 000045' TSTB .MFSW ; YES -- MOS IN SYSTEM??
6914 015462 003402 BLE 25$ ; NO -- GO ON
6915 015464 012701 001441' MOV #DMRMOS,R1 ; YES -- POINT TO MOS DEFAULT
6916 015470 25$:
6917 015470 CALL $DFWR
015470 004737 013556' JSR PC,$DFWR
6918 015474 103402 BCS 40$
6919 015476 012300 30$: MOV (R3)+,R0 ; IF MORE FUNCTIONS
6920 015500 001354 BNE 10$ ; THEN CONTINUE.
6921 015502 40$: RETURN
015502 000207 RTS PC
6922
6923 .SBTTL $KLSR -- SOFT RESET FOR RAM LOADERS
6924
6925 015504 $KLSR:: PUSH <R2,R1,R0>
015504 010246 MOV R2,-(SP)
015506 010146 MOV R1,-(SP)
015510 010046 MOV R0,-(SP)
6926 015512 TRACK SR
015512 004037 015524' JSR R0,30012$
015516 051123 .WORD "SR
015520 000000 .WORD
015522 000000 .WORD
015524 004737 024236' 30012$: JSR PC,$TRACK
015530 012600 MOV (SP)+,R0
6927 015532 012702 000005 MOV #DMRSRL,R2
6928 015536 012701 001422' MOV #DMRSRT,R1
6929 015542 012100 1$: MOV (R1)+,R0
6930 015544 CALL $DFXC
015544 004737 013760' JSR PC,$DFXC
6931 015550 103401 BCS 9$
6932 015552 077205 SOB R2,1$
6933 015554 9$: POP <R0,R1,R2>
015554 012600 MOV (SP)+,R0
015556 012601 MOV (SP)+,R1
015560 012602 MOV (SP)+,R2
6934 015562 RETURN
015562 000207 RTS PC
KLIMR -- KL RESET ROUTINES MACRO V05.04 Tuesday 17-May-88 14:21 Page 156
$KLSR -- SOFT RESET FOR RAM LOADERS
6936
6937
6938 .TITLE KLINI -- PROGRAM INITIALIZATION
6939 015564 IDENT$ 12,06,KLI$$F
.IDENT /B12060/
6940 ;
6941 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
6942 ; ALL RIGHTS RESERVED.
6943 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
6944 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
6945 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
6946 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
6947 ;
6948 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
6949 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
6950 ; EQUIPMENT CORPORATION.
6951 ;
6952 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
6953 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
6954 ;
6955 ; VERSION 12-06
6956 ;
6957 ; ALAN D. PECKHAM 14-APR-77
6958 ;
6959 ; MODIFIED BY:
6960 ;
6961 ; R. BELANGER 16-JUL-79 ADD HARDWARE ENVIRONMENT REPORTING
6962 ; TCO 4.2333
6963 ; R. BELANGER 06-DEC-78 MODIFY KEEP-ALIVE-CEASE HANDLING
6964 ; TCO 4.2107
6965 ;
6966 ; FUNCTION: THIS MODULE ASSIGNS NEEDED I/O DEVICES, LOCATES THE SYSTEM
6967 ; DIRECTORY, AND SETS DATA TO INDICATE INTERNAL
6968 ; REQUESTS AND KL CONDITIONS.
6969 ;
6970 ; LOCAL MACROS
6971 ;
6972 .MCALL ALUN$,QIOW$S,EXIT$S,CLEF$S
6973 .MACRO KLIVR$ KEY,FRM,VER,EDT,NUM
6974 .IF B,NUM
6975 .IF NB,FRM
6976 KLIVR$ \KEY,\FRM,\VER,\EDT,0
6977 .IFF
6978 KLIVR$ \KEY,200,\VER,\EDT,0
6979 .ENDC
6980 .MEXIT
6981 .IFF
6982 .IF GE,VER-10
6983 .IF GE,EDT-10
6984 MESSAGE <VERSION \<KEY><FRM>\'VER'-'EDT'\<200>\ RUNNING>
6985 .IFF
6986 MESSAGE <VERSION \<KEY><FRM>\'VER'-0'EDT'\<200>\ RUNNING>
6987 .ENDC
6988 .IFF
6989 .IF GE,EDT-10
6990 MESSAGE <VERSION \<KEY><FRM>\0'VER'-'EDT'\<200>\ RUNNING>
6991 .IFF
KLINI -- PROGRAM INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 156-1
$KLSR -- SOFT RESET FOR RAM LOADERS
6992 MESSAGE <VERSION \<KEY><FRM>\0'VER'-0'EDT'\<200>\ RUNNING>
6993 .ENDC
6994 .ENDC
6995 .ENDC
6996 .ENDM KLIVR$
6997 ;
6998 ; LOCAL DATA
6999 ;
7000 001454 .PSECT DATA,D
7001 001454 DNITTI:
7002 001454 ALUN$ TTILUN,TT,0
001454 007 004 .BYTE 7,4
001456 000001 .WORD TTILUN
001460 124 .ASCII /T/
001461 124 .ASCII /T/
001462 000000 .WORD 0
7003 001464 DNITTO:
7004 001464 ALUN$ TTOLUN,TT,0
001464 007 004 .BYTE 7,4
001466 000002 .WORD TTOLUN
001470 124 .ASCII /T/
001471 124 .ASCII /T/
001472 000000 .WORD 0
7006 001474 DNILPO:
7007 001474 ALUN$ LPOLUN,LP,0
001474 007 004 .BYTE 7,4
001476 000003 .WORD LPOLUN
001500 114 .ASCII /L/
001501 120 .ASCII /P/
001502 000000 .WORD 0
7009 001504 DNISYI::
7010 001504 ALUN$ SYILUN,SY,0
001504 007 004 .BYTE 7,4
001506 000004 .WORD SYILUN
001510 123 .ASCII /S/
001511 131 .ASCII /Y/
001512 000000 .WORD 0
7011 001514 DNISYO::
7012 001514 ALUN$ SYOLUN,SY,0
001514 007 004 .BYTE 7,4
001516 000005 .WORD SYOLUN
001520 123 .ASCII /S/
001521 131 .ASCII /Y/
001522 000000 .WORD 0
7013 001524 DNISYF::
7014 001524 ALUN$ SYFLUN,SY,0
001524 007 004 .BYTE 7,4
001526 000006 .WORD SYFLUN
001530 123 .ASCII /S/
001531 131 .ASCII /Y/
001532 000000 .WORD 0
7015 003025 .PSECT TEXT,D
7016 003025 TNINDV:
7017 003025 ERROR <CANNOT GET DEVICES>
003025 077 040 103 .ASCIZ \? CANNOT GET DEVICES\
003030 101 116 116
003033 117 124 040
KLINI -- PROGRAM INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 156-2
$KLSR -- SOFT RESET FOR RAM LOADERS
003036 107 105 124
003041 040 104 105
003044 126 111 103
003047 105 123 000
7018 003052 TNIN55:
7019 003052 ERROR <CANNOT FIND [5,5] DIRECTORY>
003052 077 040 103 .ASCIZ \? CANNOT FIND [5,5] DIRECTORY\
003055 101 116 116
003060 117 124 040
003063 106 111 116
003066 104 040 133
003071 065 054 065
003074 135 040 104
003077 111 122 105
003102 103 124 117
003105 122 131 000
7020 003110 TNIPRI:
7021 003110 ERROR <CANNOT RUN KLINIT WHILE KL IS IN PRIMARY PROTOCOL>
003110 077 040 103 .ASCIZ \? CANNOT RUN KLINIT WHILE KL IS IN PRIMARY PROTOCOL\
003113 101 116 116
003116 117 124 040
003121 122 125 116
003124 040 113 114
003127 111 116 111
003132 124 040 127
003135 110 111 114
003140 105 040 113
003143 114 040 111
003146 123 040 111
003151 116 040 120
003154 122 111 115
003157 101 122 131
003162 040 120 122
003165 117 124 117
003170 103 117 114
003173 000
7022 003174 TNIVER:
7023 003174 KLIVR$ KLI$$K,KLI$$F,KLI$$V,KLI$$E
003174 126 105 122 .ASCIZ \VERSION \<126><102>\16-00\<200>\ RUNNING\
003177 123 111 117
003202 116 040 126
003205 102 061 066
003210 055 060 060
003213 200 040 122
003216 125 116 116
003221 111 116 107
003224 000
7024 015564 .PSECT
KLINI -- PROGRAM INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 157
$INIT -- PROGRAM INITIALIZATION
7026 .SBTTL $INIT -- PROGRAM INITIALIZATION
7027 ;+
7028 ; GET KL FUNCTION WORD
7029 ;-
7030
7031 015564 $INIT::
7032 015564 105037 000024' CLRB .DLGSW ; CLEAR DIALOG SWITCH.
7033 015570 013737 000000G 000060' MOV .KLIWD,.KLISV ; SAVE .KLIWD
7034 015576 001001 BNE 10$
7035 ; CLR .DATE3 ; [**]CLEAR .DATE3 IF .KLIWD=0
7036 015600 000404 BR 20$
7037 ;
7038 015602 10$:
7039 015602 005037 000000G CLR .KLIWD ; CLEAR .KLIWD TO AVOID DOING THIS AGAIN
7040 015606 105337 000024' DECB .DLGSW ; AND INDICATE INTERNAL PATH TO BE TAKEN.
7041
7042 ;+
7043 ; ASSIGN LOGICAL UNIT NUMBERS (LUN) TO DEVICES
7044 ;-
7045
7046 015612 20$:
7047 015612 DIR$ #DNITTI ; SET TTILUN AS TT0:
015612 012746 001454' MOV #DNITTI,-(SP)
015616 104375 EMT 375
7048 015620 103430 BCS 30$
7049 015622 DIR$ #DNITTO ; SET TTOLUN AS TT0:
015622 012746 001464' MOV #DNITTO,-(SP)
015626 104375 EMT 375
7050 015630 103424 BCS 30$
7052 015632 DIR$ #DNILPO ; SET LPOLUN AS LP0:
015632 012746 001474' MOV #DNILPO,-(SP)
015636 104375 EMT 375
7053 015640 103420 BCS 30$
7055 015642 032737 000000G 000060' BIT #KL.KAC,.KLISV ; [4.2107] KEEP-ALIVE ERROR??
7056 015650 001130 BNE 80$ ; [4.2107] YES -- DON'T NEED SY:
7057 015652 DIR$ #DNISYI ; SET SYILUN AS SY0:
015652 012746 001504' MOV #DNISYI,-(SP)
015656 104375 EMT 375
7058 015660 103410 BCS 30$
7059 015662 DIR$ #DNISYO ; SET SYOLUN AS SY0:
015662 012746 001514' MOV #DNISYO,-(SP)
015666 104375 EMT 375
7060 015670 103404 BCS 30$
7061 015672 DIR$ #DNISYF ; SET SYFLUN AS SY0:
015672 012746 001524' MOV #DNISYF,-(SP)
015676 104375 EMT 375
7062 015700 103007 BCC 40$
7063 015702 30$:
7064 015702 PRINT #TNINDV ; CAN'T GET DEVICES
015702 012700 003025' MOV #TNINDV,R0
015706 004737 027620' JSR PC,$TTMSG
7065 015712 EXIT$S ; WE'RE THROUGH.
015712 012746 MOV (PC)+,-(SP)
015714 063 001 .BYTE 51.,1
015716 104375 EMT 375
7066 ;+
7067 ; FIND DIRECTORY FILE FROM MASTER FILE DIRECTORY
KLINI -- PROGRAM INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 157-1
$INIT -- PROGRAM INITIALIZATION
7068 ;-
7069 015720 40$:
7070 015720 QIOW$S #IO.FNA,#SYILUN,#1,,#.SYSTA,,<,,,,,#.SYFNB>
015720 012746 002624' MOV #.SYFNB,-(SP)
015724 005046 CLR -(SP)
015726 005046 CLR -(SP)
015730 005046 CLR -(SP)
015732 005046 CLR -(SP)
015734 005046 CLR -(SP)
015736 005046 CLR -(SP)
015740 012746 000532' MOV #.SYSTA,-(SP)
015744 005046 CLR -(SP)
015746 112716 000001 MOVB #1,(SP)
015752 012746 000004 MOV #SYILUN,-(SP)
015756 012746 000000G MOV #IO.FNA,-(SP)
015762 012746 MOV (PC)+,-(SP)
015764 003 014 .BYTE 3,$$$T1
015766 104375 EMT 375
7071 015770 103403 BCS 50$
7072 015772 105737 000532' TSTB .SYSTA
7073 015776 002007 BGE 60$
7074 016000 50$:
7075 016000 PRINT #TNIN55 ; NO DIRECTORY...
016000 012700 003052' MOV #TNIN55,R0
016004 004737 027620' JSR PC,$TTMSG
7076 016010 EXIT$S
016010 012746 MOV (PC)+,-(SP)
016012 063 001 .BYTE 51.,1
016014 104375 EMT 375
7077 016016 60$:
7078 016016 013737 002624' 002650' MOV .SYFNB+0,.SYFNB+24 ; MOVE UP DIRECTORY FID.
7079 016024 013737 002626' 002652' MOV .SYFNB+2,.SYFNB+26
7080 016032 013737 002630' 002654' MOV .SYFNB+4,.SYFNB+30
7081 ;+
7082 ; MAKE SURE SECONDARY PROTOCOL IS RUNNING
7083 ;-
7084 016040 105737 000024' TSTB .DLGSW ; IF NOT INTERNAL REQUEST
7085 016044 002416 BLT 70$
7086 016046 032737 000000G 000002G BIT #EF.PR1,.COMEF+2 ; CHECK CURRENT PROTOCOL.
7087 016054 001412 BEQ 70$ ; IF PRIMARY,
7088 016056 032737 000006 000000G BIT #6,.FEMOD ; AND CONSOLE IS IN
7089 016064 001006 BNE 70$ ; OPERATOR MODE, THEN
7090 016066 PRINT #TNIPRI ; REPRIMAND OPERATOR
016066 012700 003110' MOV #TNIPRI,R0
016072 004737 027620' JSR PC,$TTMSG
7091 016076 000137 024006' JMP $EXIT ; AND DIE.
7092 ;
7093 016102 70$:
7094 016102 052737 000000G 000002G BIS #EF.CRI,.COMEF+2 ; DECLARE COMM REGION INVALID
7095 016110 013737 000000G 000062' MOV .CPUSN,.SNSAV ; [4.2333] SAVE OLD SERIAL NUMBER
7096 016116 005037 000000G CLR .CPUSN ; [4.2333] ALLOW ENVRIONMENT READ
7097 016122 PRINT #TNIVER ; HELLO, OPERATOR !
016122 012700 003174' MOV #TNIVER,R0
016126 004737 027620' JSR PC,$TTMSG
7098 016132 80$: ; [4.2107]
7099 016132 RETURN
016132 000207 RTS PC
KLINI -- PROGRAM INITIALIZATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 157-2
$INIT -- PROGRAM INITIALIZATION
7100
7101 .TITLE KLIPC -- KL PC READ FUNCTION MODULE 7603.30
7102
7103 .IDENT "001010"
7104
7105 ; COPYRIGHT (C) 1976, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
7106 ; ALL RIGHTS RESERVED.
7107 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
7108 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
7109 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
7110 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
7111 ; FOR ITS ACCURACY.
7112 ;
7113 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
7114 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
7115 ;
7116 ;
7117 ; MODULE: KL VMA BOARD READ FUNCTION
7118 ;
7119 ; VERSION: 01-01
7120 ;
7121 ; AUTHOR: R. BELANGER
7122 ;
7123 ; DATE: 7603.30
7124 ;
7125 ; THIS MODULE CONTAINS:
7126 ;
7127 ; 1) KL PC READ CODE
7128 ;
7129 ; LOCAL DATA
7130 ;
7131 003225 .PSECT TEXT,D
7132 003225 PCERRM:
7133 003225 ERROR <READ PC FAILED>
003225 077 040 122 .ASCIZ \? READ PC FAILED\
003230 105 101 104
003233 040 120 103
003236 040 106 101
003241 111 114 105
003244 104 000
7134 016134 .PSECT
KLIPC -- KL PC READ FUNCTION MO MACRO V05.04 Tuesday 17-May-88 14:21 Page 158
$DFPC -- KL PC READ SUBROUTINE 7510.21
7136 .SBTTL $DFPC -- KL PC READ SUBROUTINE 7510.21
7137
7138 ;+
7139 ; $DFPC -- SUBROUTINE TO READ THE KL PROGRAM COUNTER REGISTER
7140 ;
7141 ; THESE SUBROUTINES READ AND ASSEMBLE THE DESIRED VMA BOARD REGISTER
7142 ; INTO A THREE WORD BLOCK POINTED TO BY R0 IN THE CALL.
7143 ;
7144 ; INPUT ARGUMENTS:
7145 ;
7146 ; R0 POINTS TO A THREE WORD BUFFER FOR THE SPECIFIED REGISTER
7147 ;
7148 ; OUTPUT ARGUMENTS:
7149 ;
7150 ; R0 POINTS TO A THREE WORD BUFFER FOR THE SPECIFIED REGISTER
7151 ;
7152 ; ERROR CODES RETURNED:
7153 ;
7154 ; CC-C SET ON ERROR.
7155 ;-
7156
7157 016134 $DFPC::
7158 016134 CALL R5,$RSAVE ; SAVE R5 - R1 ON THE STACK
016134 004537 024170' JSR R5,$RSAVE
7159 016140 012705 177776 MOV #-2,R5 ; BASE SHIFT COUNT TO R5
7160 016144 012704 000004 MOV #^D4,R4 ; ITERATION COUNT TO R4
7161 016150 010003 MOV R0,R3 ; USER BUFFER ADDRESS TO R3
7162 016152 012702 000150 MOV #150,R2 ; FUNCTION READ BASE TO R2
7163 016156 PUSH #135673 ; MASK WORD TO TOP OF THE STACK
016156 012746 135673 MOV #135673,-(SP)
7164 016162 005020 CLR (R0)+ ; .CLEAR CALLER'S AREA
7165 016164 005020 CLR (R0)+ ; .SO
7166 016166 005010 CLR (R0) ; .
7167 016170 10$:
7168 016170 010200 MOV R2,R0 ; .SET THE FUNCTION READ NUMBER
7169 016172 006300 ASL R0 ; .TIMES 2
7170 016174 000300 SWAB R0 ; .IN THE HIGH BYTE
7171 016176 005001 CLR R1 ; .CLEAR R1
7172 016200 CALL $DFRD ; .READ IT
016200 004737 013444' JSR PC,$DFRD
7173 016204 103423 BCS 30$ ; .EXIT IF ERROR
7174 016206 012700 000264' MOV #.DFRBK,R0 ; .BUFFER POINTER TO R0
7175 016212 041620 BIC (SP),(R0)+ ; .SP POINTS TO BIT MASK
7176 016214 041610 BIC (SP),(R0) ; .R0 POINTS TO READ BLOCK
7177 016216 005740 TST -(R0) ; .BACK THE POINTER UP
7178 016220 010501 MOV R5,R1 ; .SHIFT COUNT TO R1
7179 016222 CALL .TPSHI ; .SHIFT THE BITS INTO POSITION
016222 004737 016270' JSR PC,.TPSHI
7180 016226 052023 BIS (R0)+,(R3)+ ; .SET THE BITS IN THE USER BUFFER
7181 016230 051013 BIS (R0),(R3) ; .SO
7182 016232 005743 TST -(R3) ; .BACK CALLER'S POINTER UP
7183 016234 122225 CMPB (R2)+,(R5)+ ; .INCREMENT READ NUMBER AND SHIFT COUNT
7184 016236 077424 SOB R4,10$ ; .DO THIS FOUR TIMES
7185 016240 042763 177600 000002 BIC #177600,2(R3) ; .GET RID OF BITS HIGHER THAN 13
7186 016246 000241 CLC ; .CLEAR CC-C
7187 016250 20$:
7188 016250 005226 INC (SP)+ ; CLEAR THE STACK
KLIPC -- KL PC READ FUNCTION MO MACRO V05.04 Tuesday 17-May-88 14:21 Page 158-1
$DFPC -- KL PC READ SUBROUTINE 7510.21
7189 016252 RETURN ; RETURN TO CALLER
016252 000207 RTS PC
7190 016254 30$:
7191 016254 PRINT #PCERRM ; TELL OPERATOR ABOUT ERROR
016254 012700 003225' MOV #PCERRM,R0
016260 004737 027620' JSR PC,$TTMSG
7192 016264 000261 SEC ; SET ERROR FLAG
7193 016266 000770 BR 20$ ; AND EXIT
7194 ;
KLIPC -- KL PC READ FUNCTION MO MACRO V05.04 Tuesday 17-May-88 14:21 Page 159
$DFPC -- KL PC READ SUBROUTINE 7510.21
7196 016270 .TPSHI::
7197 016270 PUSH R1 ; SAVE R1 FROM DESTRUCTION
016270 010146 MOV R1,-(SP)
7198 016272 001416 BEQ 30$ ; .ON ZERO DO NOTHING
7199 016274 003002 BGT 10$ ; .REALLY MEANS LEFT
7200 016276 005401 NEG R1 ; .MEANS RIGHT, SO NEGATE
7201 016300 000406 BR 20$ ; .AND GO RIGHT
7202 ;
7203 016302 10$:
7204 016302 006320 ASL (R0)+ ; .CLEAR CC-C AND SHIFT
7205 016304 006120 ROL (R0)+ ; .USE CC-C AND SHIFT
7206 016306 006110 ROL (R0) ; .
7207 016310 024040 CMP -(R0),-(R0) ; .POINT BACK TO BEGINNING
7208 016312 077105 SOB R1,10$ ; .AND LOOP 'TILL DONE
7209 016314 000405 BR 30$ ; .DONE -- EXIT
7210 ;
7211 016316 20$: ; .HERE TO SHIFT RIGHT
7212 016316 022020 CMP (R0)+,(R0)+ ; .FIX POINTER TO POINT TO HIGH PART
7213 016320 006210 ASR (R0) ; .SHIFT HIGH PART
7214 016322 006040 ROR -(R0) ; .THEN MIDDLE PART
7215 016324 006040 ROR -(R0) ; .THEN LOW PART
7216 016326 077105 SOB R1,20$ ; .UNTIL DONE
7217 016330 30$:
7218 016330 POP R1 ; .RESTORE R1
016330 012601 MOV (SP)+,R1
7219 016332 RETURN ; AND RETURN TO CALLER
016332 000207 RTS PC
KLIPC -- KL PC READ FUNCTION MO MACRO V05.04 Tuesday 17-May-88 14:21 Page 160
$DFPC -- KL PC READ SUBROUTINE 7510.21
7221
7222
7223 .TITLE KLIQB -- ASK BOOT LOAD QUESTIONS
7224 016334 IDENT$ 12,27 ; ADP01
.IDENT /012270/
7225 ;
7226 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
7227 ; ALL RIGHTS RESERVED.
7228 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
7229 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
7230 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
7231 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
7232 ;
7233 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
7234 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
7235 ; EQUIPMENT CORPORATION.
7236 ;
7237 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
7238 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
7239 ;
7240 ; VERSION 12-27
7241 ;
7242 ; ALAN D. PECKHAM 12-APR-77
7243 ;
7244 ; MODIFIED BY:
7245 ;
7246 ; FUNCTION: THIS MODULE DETERMINES WHETHER THE BOOT IS TO BE LOADED
7247 ; AND WHAT BOOT IS TO BE USED.
7248 ;
7249 ; LOCAL DATA
7250 ;
7251 003246 .PSECT TEXT,D
7252 003246 TQBOOT:
7253 003246 MESSAGE <LOAD KL BOOTSTRAP [FILE,YES,NO,FILENAME]?>
003246 114 117 101 .ASCIZ \LOAD KL BOOTSTRAP [FILE,YES,NO,FILENAME]?\
003251 104 040 113
003254 114 040 102
003257 117 117 124
003262 123 124 122
003265 101 120 040
003270 133 106 111
003273 114 105 054
003276 131 105 123
003301 054 116 117
003304 054 106 111
003307 114 105 116
003312 101 115 105
003315 135 077 000
7254 003320 TQBWCF:
7255 003320 MESSAGE <WRITE CONFIGURATION FILE [YES,NO]?>
003320 127 122 111 .ASCIZ \WRITE CONFIGURATION FILE [YES,NO]?\
003323 124 105 040
003326 103 117 116
003331 106 111 107
003334 125 122 101
003337 124 111 117
003342 116 040 106
KLIQB -- ASK BOOT LOAD QUESTION MACRO V05.04 Tuesday 17-May-88 14:21 Page 160-1
$DFPC -- KL PC READ SUBROUTINE 7510.21
003345 111 114 105
003350 040 133 131
003353 105 123 054
003356 116 117 135
003361 077 000
7256 003363 TQBNFL:
7257 003363 WARNING <NO FILE - LOADING BOOTSTRAP>
003363 045 040 116 .ASCIZ \% NO FILE - LOADING BOOTSTRAP\
003366 117 040 106
003371 111 114 105
003374 040 055 040
003377 114 117 101
003402 104 111 116
003405 107 040 102
003410 117 117 124
003413 123 124 122
003416 101 120 000
7258 001534 .PSECT DATA,D
7259 001534 DQBFNM::
7260 001534 043240 000000 000000 .RAD50 /KL CFG/ ; CONFIGURATION FILE NAME
001542 011667
7261 001544 000000 .WORD 0
7262 001546 005 005 .BYTE 5,5
7263 001550 054523 000000 .WORD "SY,0
7264 016334 .PSECT
KLIQB -- ASK BOOT LOAD QUESTION MACRO V05.04 Tuesday 17-May-88 14:21 Page 161
$DLGBT -- ASK IF LOADING BOOT IS REQUIRED
7266 .SBTTL $DLGBT -- ASK IF LOADING BOOT IS REQUIRED
7267
7268 ;+
7269 ; $DLGBT -- ASK WHETHER OR NOT TO LOAD THE KL BOOTSTRAP
7270 ;
7271 ; INPUTS:
7272 ;
7273 ; NONE
7274 ;
7275 ; OUTPUTS:
7276 ;
7277 ; NONE
7278 ;-
7279
7280 016334 $DLGBT::
7281 016334 105037 000050' CLRB .BTSW ; RESET BOOT SWITCH
7282 016340 105037 000033' CLRB .DBSW ; RESET FILE SOURCE
7283 016344 105037 000026' CLRB .UFNSW ; AND FILENAME SWITCH.
7284 016350 105737 000024' TSTB .DLGSW ; TEST DIALOG CONTROL SWITCH.
7285 016354 001030 BNE 20$ ; LOAD DEFAULT BOOTSTRAP.
7286 016356 10$:
7287 016356 PRINT #TQBOOT ; ASK QUESTION
016356 012700 003246' MOV #TQBOOT,R0
016362 004737 027620' JSR PC,$TTMSG
7288 016366 CALL $TTRD ; READ ANSWER
016366 004737 027114' JSR PC,$TTRD
7289 016372 012705 000304' MOV #.TTIBF,R5
7290 016376 105715 TSTB (R5) ; CR ?
7291 016400 001416 BEQ 20$ ; READ BOOTSTRAP SPECIFICATION FROM FILE
7292 016402 022715 044506 CMP #"FI,(R5) ; [FILE]?
7293 016406 001413 BEQ 20$ ; READ BOOTSTRAP SPECIFICATION FROM FILE
7294 016410 022715 042531 CMP #"YE,(R5) ; [YES] ?
7295 016414 001433 BEQ 50$ ; LOAD DEFAULT BOOTSTRAP
7296 016416 022715 047516 CMP #"NO,(R5) ; [NO] ?
7297 016422 001411 BEQ 30$ ; ASK NEXT QUESTION.
7298 016424 022715 040502 CMP #"BA,(R5) ; [BACKUP] ?
7299 016430 001011 BNE 40$ ; NO, MUST BE FILENAME...
7300 016432 000137 023646' JMP $DLGMV ; ASK TO CONFIGURE MEMORY.
7301 ;
7302 016436 20$:
7303 016436 CALL LQBRBF ; SEE IF WE SHOULD LOAD THE BOOT
016436 004737 016656' JSR PC,LQBRBF
7304 016442 103430 BCS 80$ ; ERROR IF CC-C IS SET
7305 016444 000421 BR 60$ ; AND EXIT
7306 ;
7307 016446 30$:
7308 016446 105337 000050' DECB .BTSW ; RESPONSE IS "NO"
7309 016452 000416 BR 60$ ; ASK NEXT QUESTION.
7310 ;
7311 016454 40$:
7312 016454 012700 000502' MOV #.USRFN,R0 ; GET FILENAME BLOCK, ; ADP01
7313 016460 012701 MOV (PC)+,R1
7314 016462 021402 .RAD50 /EXB/ ; SET DEFAULT EXTENSION,
7315 016464 010160 000006 MOV R1,6(R0)
7316 016470 CALL $TRF2B ; AND GET FILE NAME.
016470 004737 025132' JSR PC,$TRF2B
7317 016474 105715 TSTB (R5) ; IF NOT PROPERLY TERMINATED
KLIQB -- ASK BOOT LOAD QUESTION MACRO V05.04 Tuesday 17-May-88 14:21 Page 161-1
$DLGBT -- ASK IF LOADING BOOT IS REQUIRED
7318 016476 001005 BNE 70$ ; THEN INFORM THE OPERATOR.
7319 016500 105237 000026' INCB .UFNSW ; INDICATE FILE SPECIFIED
7320 016504 50$:
7321 016504 105237 000050' INCB .BTSW ; SET RESPONSE TO "YES"
7322 016510 60$:
7323 016510 000407 BR $DLWCF ; ASK NEXT QUESTION
7324 ;
7325 016512 70$:
7326 016512 PRINT #COMCSE ; ALL THUMBS...
016512 012700 005552' MOV #COMCSE,R0
016516 004737 027620' JSR PC,$TTMSG
7327 016522 000715 BR 10$
7328 ;
7329 016524 80$:
7330 016524 000137 023776' JMP $ERROR ; ERROR EXIT
7331 ;
KLIQB -- ASK BOOT LOAD QUESTION MACRO V05.04 Tuesday 17-May-88 14:21 Page 162
$DLWCF -- ASK IF CONFIGURATION FILE IS TO BE WRITTEN
7333 .SBTTL $DLWCF -- ASK IF CONFIGURATION FILE IS TO BE WRITTEN
7334
7335 ;+
7336 ; $DLWCF -- ASK IF CONFIGURATION FILE IS THE BE WRITTEN
7337 ;
7338 ; INPUTS:
7339 ;
7340 ; NONE
7341 ;
7342 ; OUTPUTS:
7343 ;
7344 ; FILE WRITE SWITCH, ".FILSW", IS SET UP
7345 ;-
7346
7347 016530 $DLWCF::
7348 016530 105037 000047' CLRB .FILSW ; RESET FILE SWITCH
7349 016534 105737 000024' TSTB .DLGSW ; ARE WE IN DIALOG MODE??
7350 016540 001035 BNE 40$ ; NO -- JUST EXIT
7351 016542 10$:
7352 016542 PRINT #TQBWCF ; ASK THE QUESTION
016542 012700 003320' MOV #TQBWCF,R0
016546 004737 027620' JSR PC,$TTMSG
7353 016552 CALL $TTRD ; READ THE RESPONSE
016552 004737 027114' JSR PC,$TTRD
7354 016556 012705 000304' MOV #.TTIBF,R5 ; POINT TO INPUT BUFFER
7355 016562 105715 TSTB (R5) ; DEFAULT??
7356 016564 001416 BEQ 20$ ; YES -- GO ON
7357 016566 022715 042531 CMP #"YE,(R5) ; NO -- IS IT "YES"??
7358 016572 001413 BEQ 20$ ; YES -- GO ON
7359 016574 022715 047516 CMP #"NO,(R5) ; NO -- IS IT "NO"??
7360 016600 001413 BEQ 30$ ; YES -- GO ON
7361 016602 022715 040502 CMP #"BA,(R5) ; NO -- IS IT "BACK"??
7362 016606 001652 BEQ $DLGBT ; YES -- SO BACK UP
7363 016610 PRINT #COMCSE ; BLEW IT..
016610 012700 005552' MOV #COMCSE,R0
016614 004737 027620' JSR PC,$TTMSG
7364 016620 000750 BR 10$ ; TRY ONCE MORE
7365 ;
7366 016622 20$:
7367 016622 105237 000047' INCB .FILSW ; SAY WRITE THE FILE
7368 016626 000402 BR 40$ ; AND GO ON
7369 ;
7370 016630 30$:
7371 016630 105337 000047' DECB .FILSW ; SAY DON'T WRITE THE FILE
7372 016634 40$:
7373 016634 105737 000050' TSTB .BTSW ; EXAMINE BOOT SWITCH
7374 016640 100004 BPL 50$ ; SAID LOAD IT
7375 016642 CALL $TENS1 ; [TCO 4.2275] FINISH KL INIT
016642 004737 024516' JSR PC,$TENS1
7376 016646 000137 017422' JMP $DLGEX ; SAID DON'T LOAD IT
7377 ;
7378 016652 50$:
7379 016652 000137 023700' JMP $CFGBT ; LOAD THE BOOT
7380 ;
KLIQB -- ASK BOOT LOAD QUESTION MACRO V05.04 Tuesday 17-May-88 14:21 Page 163
LQBRBF -- SUBROUTINE TO READ SAVED BOOT FLAG
7382 .SBTTL LQBRBF -- SUBROUTINE TO READ SAVED BOOT FLAG
7383
7384 016656 LQBRBF::
7385 016656 105037 000026' CLRB .UFNSW ; INDICATE NO FILE NAME SPECIFIED
7386 016662 012700 001534' MOV #DQBFNM,R0 ; POINT TO THE FILENAME
7387 016666 CALL $LOOKUP ; LOOK IT UP
016666 004737 007562' JSR PC,$LOOKUP
7388 016672 103022 BCC 30$ ; ALL OK IF CC-C IS CLEAR
7389 016674 122737 000000G 000532' CMPB #IE.NSF,.SYSTA ; NON-EXISTENT FILE??
7390 016702 001063 BNE 70$ ; NO -- BIG TROUBLE
7391 016704 105737 000024' TSTB .DLGSW ; ARE WE IN DIALOG MODE??
7392 016710 100004 BPL 10$ ; YES -- GO ON
7393 016712 032737 000000G 000060' BIT #KL.LVB,.KLISV ; NO -- DOES HE WANT THE BOOT LOADED??
7394 016720 001461 BEQ 90$ ; NO -- JUST EXIT
7395 016722 10$:
7396 016722 PRINT #TQBNFL ; YES -- WARN OPERATOR
016722 012700 003363' MOV #TQBNFL,R0
016726 004737 027620' JSR PC,$TTMSG
7397 016732 20$:
7398 016732 105237 000050' INCB .BTSW ; INDICATE TO LOAD THE BOOTSTRAP
7399 016736 000452 BR 90$ ; AND EXIT
7400 ;
7401 016740 30$:
7402 016740 CALL $READC ; GET A RECORD FROM THE FILE
016740 004737 010216' JSR PC,$READC
7403 016744 103444 BCS 80$ ; ERROR IF CC-C IS SET
7404 016746 022700 000003 CMP #3,R0 ; ONE WE'RE LOOKING FOR??
7405 016752 001411 BEQ 50$ ; YES -- READ THE DATA
7406 016754 005700 TST R0 ; NO -- END-OF-FILE??
7407 016756 001003 BNE 40$ ; NO -- SKIP THIS RECORD
7408 016760 CALL $CLOSE ; YES -- CLOSE THE FILE
016760 004737 007056' JSR PC,$CLOSE
7409 016764 000762 BR 20$ ; AND SAY LOAD THE BOOTSTRAP
7410 ;
7411 016766 40$:
7412 016766 CALL $READS ; SKIP THIS RECORD
016766 004737 010254' JSR PC,$READS
7413 016772 103431 BCS 80$ ; ERROR IF CC-C IS SET
7414 016774 000761 BR 30$ ; OK -- LOOK AT NEXT RECORD
7415 ;
7416 016776 50$:
7417 016776 CALL $READB ; READ THE BYTE INTO R0
016776 004737 010420' JSR PC,$READB
7418 017002 103425 BCS 80$ ; ERROR IF CC-C IS SET
7419 017004 110037 000050' MOVB R0,.BTSW ; SAVE THE BOOT SWITCH
7420 017010 CALL $READB ; READ THE FILE-NAME SWITCH
017010 004737 010420' JSR PC,$READB
7421 017014 103420 BCS 80$ ; ERROR IF CC-C IS SET
7422 017016 110037 000026' MOVB R0,.UFNSW ; SET THE FILENAME SWITCH
7423 017022 001413 BEQ 70$ ; EXIT IF NONE
7424 017024 012701 000004 MOV #4,R1 ; SET UP TO READ FILENAME
7425 017030 012702 000502' MOV #.USRFN,R2 ; POINT TO FILENAME BLOCK
7426 017034 60$:
7427 017034 CALL $READW ; READ A WORD OF THE FILENAME
017034 004737 010324' JSR PC,$READW
7428 017040 103406 BCS 80$ ; ERROR IF CC-C IS SET
7429 017042 010022 MOV R0,(R2)+ ; LOAD IT INTO THE FILE-NAME BLOCK
KLIQB -- ASK BOOT LOAD QUESTION MACRO V05.04 Tuesday 17-May-88 14:21 Page 163-1
LQBRBF -- SUBROUTINE TO READ SAVED BOOT FLAG
7430 017044 077105 SOB R1,60$ ; UNTIL DONE
7431 017046 105237 000026' INCB .UFNSW ; INDICATE FILE NAME SPECIFIED
7432 017052 70$:
7433 017052 CALLR $CLOSE ; CLOSE THE FILE AND EXIT
017052 000137 007056' JMP $CLOSE
7434 ;
7435 017056 80$:
7436 017056 CALL $PURGE ; ERROR -- PURGE FILE
017056 004737 010124' JSR PC,$PURGE
7437 017062 000261 SEC ; SET ERROR FLAG
7438 017064 90$:
7439 017064 RETURN ; TO CALLER
017064 000207 RTS PC
KLIQB -- ASK BOOT LOAD QUESTION MACRO V05.04 Tuesday 17-May-88 14:21 Page 164
LQBRBF -- SUBROUTINE TO READ SAVED BOOT FLAG
7441
7442 .TITLE KLIQC -- ASK CACHE QUESTIONS
7443 017066 IDENT$ 5,0
.IDENT /005000/
7444 ;
7445 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
7446 ; ALL RIGHTS RESERVED.
7447 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
7448 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
7449 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
7450 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
7451 ;
7452 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
7453 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
7454 ; EQUIPMENT CORPORATION.
7455 ;
7456 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
7457 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
7458 ;
7459 ; VERSION 05-00
7460 ;
7461 ; ALAN D. PECKHAM 14-APR-77
7462 ;
7463 ; MODIFIED BY:
7464 ;
7465 ; FUNCTION: IF THERE IS CACHE, THIS MODULE DETERMINES HOW IT IS TO BE
7466 ; LOADED AND WHETHER IT IS TO BE ENABLED.
7467 ;
7469 ; LOCAL DATA
7470 ;
7471 003421 .PSECT TEXT,D
7472 003421 TQCACH: MESSAGE <RECONFIGURE CACHE [FILE,ALL,YES,NO]?>
003421 122 105 103 .ASCIZ \RECONFIGURE CACHE [FILE,ALL,YES,NO]?\
003424 117 116 106
003427 111 107 125
003432 122 105 040
003435 103 101 103
003440 110 105 040
003443 133 106 111
003446 114 105 054
003451 101 114 114
003454 054 131 105
003457 123 054 116
003462 117 135 077
003465 000
7473 003466 TQCCEN: MESSAGE <ENABLE WHICH CACHES [ALL,NONE,0-3]?>
003466 105 116 101 .ASCIZ \ENABLE WHICH CACHES [ALL,NONE,0-3]?\
003471 102 114 105
003474 040 127 110
003477 111 103 110
003502 040 103 101
003505 103 110 105
003510 123 040 133
003513 101 114 114
003516 054 116 117
003521 116 105 054
003524 060 055 063
KLIQC -- ASK CACHE QUESTIONS MACRO V05.04 Tuesday 17-May-88 14:21 Page 164-1
LQBRBF -- SUBROUTINE TO READ SAVED BOOT FLAG
003527 135 077 000
7474 017066 .PSECT
KLIQC -- ASK CACHE QUESTIONS MACRO V05.04 Tuesday 17-May-88 14:21 Page 165
$DLGCA -- ASK IF CACHE IS TO BE CONFIGURED
7476 .SBTTL $DLGCA -- ASK IF CACHE IS TO BE CONFIGURED
7477
7478 017066 105737 000043' $DLGCA::TSTB .CASW ; IF THERE IS NO CACHE
7479 017072 002452 BLT 40$ ; THEN GO ON TO NEXT QUESTION.
7480 017074 105037 000031' CLRB .DCSW ; RESET CACHE CONTROL SWITCH.
7481 017100 105737 000024' TSTB .DLGSW ; DEFAULT PATH TO BE TAKEN ?
7482 017104 003055 BGT 70$ ; YES, RECONFIGURE CACHE.
7483 017106 002440 BLT 30$ ; INTERNAL PATH TO BE TAKEN.
7484 017110 10$: PRINT #TQCACH ; ASK IF CACHE IS TO BE CONFIGURED
017110 012700 003421' MOV #TQCACH,R0
017114 004737 027620' JSR PC,$TTMSG
7485 017120 CALL $TTRD ; AND READ ANSWER.
017120 004737 027114' JSR PC,$TTRD
7486 017124 012705 000304' MOV #.TTIBF,R5
7487 017130 105715 TSTB (R5) ; CR ?
7488 017132 001442 BEQ 70$ ; GIVE HIM LAST CONFIGURATION.
7489 017134 022715 044506 CMP #"FI,(R5) ; [FILE] ?
7490 017140 001437 BEQ 70$ ; GIVE HIM LAST CONFIGURATION.
7491 017142 022715 046101 CMP #"AL,(R5) ; [ALL] ?
7492 017146 001432 BEQ 60$ ; GIVE HIM ALL CACHE.
7493 017150 022715 042531 CMP #"YE,(R5) ; [YES] ?
7494 017154 001433 BEQ LQCCM ; GO ON TO NEXT QUESTION.
7495 017156 022715 047516 CMP #"NO,(R5) ; [NO] ?
7496 017162 001416 BEQ 40$ ; IGNORE CACHE.
7497 017164 022715 040502 CMP #"BA,(R5) ; [BACKUP] ?
7498 017170 001405 BEQ 20$ ; GO TO RAM QUESTION.
7499 017172 PRINT #COMCSE ; MUST BE SOME MISTAKE...
017172 012700 005552' MOV #COMCSE,R0
017176 004737 027620' JSR PC,$TTMSG
7500 017202 000742 BR 10$ ; ASK QUESTION AGAIN.
7501 017204 000137 020664' 20$: JMP $DLGRM ; BACK UP TO RAM QUESTION.
7502 017210 032737 000000G 000060' 30$: BIT #KL.LCA,.KLISV ; INTERNAL REQUEST MADE ?
7503 017216 001002 BNE 50$ ; YES, RECONFIGURE CACHE.
7504 017220 000137 017542' 40$: JMP $DLGMM ; BYPASS CACHE CONFIGURATION.
7505 017224 032737 000000G 000060' 50$: BIT #KL.CFL,.KLISV ; IF NOT TO GET FROM FILE
7506 017232 001402 BEQ 70$ ; THEN
7507 017234 105337 000031' 60$: DECB .DCSW ; INDICATE TO USE ALL CACHES AND
7508 017240 000137 023624' 70$: JMP $CFGCA ; GO TO CONFIGURE CACHE.
KLIQC -- ASK CACHE QUESTIONS MACRO V05.04 Tuesday 17-May-88 14:21 Page 166
LQCCM -- ASK WHICH CACHES TO CONFIGURE
7510 .SBTTL LQCCM -- ASK WHICH CACHES TO CONFIGURE
7511
7512 017244 LQCCM: PRINT #TQCCEN ;ASK WHICH CACHES HE WANTS
017244 012700 003466' MOV #TQCCEN,R0
017250 004737 027620' JSR PC,$TTMSG
7513 017254 CALL $TTRD ;AND GET HIS ANSWER.
017254 004737 027114' JSR PC,$TTRD
7514 017260 012705 000304' MOV #.TTIBF,R5
7515 017264 005004 CLR R4 ;INITIALIZE CACHE COUNTER.
7516 017266 105715 TSTB (R5) ; CR ?
7517 017270 001443 BEQ 7$ ;GIVE HIM ALL CACHES.
7518 017272 022715 046101 CMP #"AL,(R5) ; [ALL] ?
7519 017276 001440 BEQ 7$ ;GIVE HIM ALL CACHES.
7520 017300 022715 047516 CMP #"NO,(R5) ; [NONE] ?
7521 017304 001427 BEQ 6$ ;DON'T TOUCH THE CACHE.
7522 017306 022715 040502 CMP #"BA,(R5) ; [BACKUP] ?
7523 017312 001665 BEQ $DLGCA ;ASK LAST QUESTION.
7524 017314 3$: CALL $TRI2B ;GET A NUMBER -
017314 004737 025410' JSR PC,$TRI2B
7525 017320 103433 BCS 9$ ;IS IT
7526 017322 022700 000004 CMP #4,R0 ;WITHIN RANGE ?
7527 017326 003430 BLE 9$
7528 017330 012701 000065' MOV #.CACHN,R1 ;YES, CHECK MODULE TABLE
7529 017334 110403 MOVB R4,R3 ;TO SEE IF GIVEN BEFORE.
7530 017336 001403 BEQ 5$ ;OKAY - EMPTY TABLE.
7531 017340 120021 4$: CMPB R0,(R1)+
7532 017342 001422 BEQ 9$
7533 017344 077303 SOB R3,4$
7534 017346 105204 5$: INCB R4 ;ONE MORE MODULE -
7535 017350 110011 MOVB R0,(R1) ;PUT IN TABLE.
7536 017352 122725 000054 CMPB #',,(R5)+ ;LEGAL SEPERATOR ?
7537 017356 001756 BEQ 3$ ;YES, GET ANOTHER NUMBER.
7538 017360 105745 TSTB -(R5) ;END OF LINE ?
7539 017362 001012 BNE 9$ ;NO, ASK QUESTION AGAIN.
7540 017364 110437 000064' 6$: MOVB R4,.NCACH ;SET NUMBER OF CACHES,
7541 017370 105237 000031' INCB .DCSW ;INDICATE CONFIGURATION SET AND
7542 017374 000137 023624' JMP $CFGCA ;GO TO CONFIGURE CACHE.
7543 017400 105337 000031' 7$: DECB .DCSW ;INDICATE TO USE ALL CACHES AND
7544 017404 000137 023624' JMP $CFGCA ;GO TO CONFIGURE CACHE.
7545 017410 9$: PRINT #COMCSE ;MUST HAVE MIS-TYPED...
017410 012700 005552' MOV #COMCSE,R0
017414 004737 027620' JSR PC,$TTMSG
7546 017420 000711 BR LQCCM ;ASK QUESTION AGAIN.
KLIQC -- ASK CACHE QUESTIONS MACRO V05.04 Tuesday 17-May-88 14:21 Page 167
LQCCM -- ASK WHICH CACHES TO CONFIGURE
7549
7550
7551 .TITLE KLIQE -- ASK EXIT QUESTIONS
7552 017422 IDENT$ 11,0,KLI$$F
.IDENT /B11000/
7553 ;
7554 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
7555 ; ALL RIGHTS RESERVED.
7556 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
7557 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
7558 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
7559 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
7560 ;
7561 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
7562 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
7563 ; EQUIPMENT CORPORATION.
7564 ;
7565 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
7566 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
7567 ;
7568 ; VERSION 11-00
7569 ;
7570 ; ALAN D. PECKHAM 12-APR-77
7571 ;
7572 ; MODIFIED BY:
7573 ;
7574 ; FUNCTION: THIS MODULE ALLOWS THE OPERATOR TO RESTART THE DIALOG
7575 ; OR EXIT FROM KLINIT. IT ALSO DISPATHES INTERNAL REQUESTS FOR
7576 ; SPECIAL KL RESTARTS SUCH AS POWER FAIL.
7577 ;
7578 ; LOCAL DATA
7579 ;
7580 003532 .PSECT TEXT,D
7581 003532 TQEXIT:
7582 003532 MESSAGE <EXIT [YES,RESTART]?>
003532 105 130 111 .ASCIZ \EXIT [YES,RESTART]?\
003535 124 040 133
003540 131 105 123
003543 054 122 105
003546 123 124 101
003551 122 124 135
003554 077 000
7583 017422 .PSECT
KLIQE -- ASK EXIT QUESTIONS MACRO V05.04 Tuesday 17-May-88 14:21 Page 168
$DLGEX -- ASK WHERE TO EXIT
7585 .SBTTL $DLGEX -- ASK WHERE TO EXIT
7586
7587 017422 $DLGEX::
7588 017422 105737 000024' TSTB .DLGSW ; TEST DIALOG CONTROL SWITCH.
7589 017426 003041 BGT 50$ ; NORMAL EXIT.
7590 017430 002434 BLT 40$ ; TAKE INTERNAL PATH.
7591 017432 10$:
7592 017432 PRINT #TQEXIT ; ASK QUESTION
017432 012700 003532' MOV #TQEXIT,R0
017436 004737 027620' JSR PC,$TTMSG
7593 017442 CALL $TTRD ; READ ANSWER
017442 004737 027114' JSR PC,$TTRD
7594 017446 012705 000304' MOV #.TTIBF,R5
7595 017452 105715 TSTB (R5) ; CR ?
7596 017454 001426 BEQ 50$ ; NORMAL EXIT.
7597 017456 022715 042531 CMP #"YE,(R5) ; [YES] ?
7598 017462 001423 BEQ 50$ ; NORMAL EXIT.
7599 017464 022715 042522 CMP #"RE,(R5) ; [RESTART] ?
7600 017470 001412 BEQ 30$ ; GO TO FIRST QUESTION.
7601 017472 022715 040502 CMP #"BA,(R5) ; [BACK] ?
7602 017476 001405 BEQ 20$ ; ASK PREVIOUS QUESTION.
7603 017500 PRINT #COMCSE ; FUMBLE FINGERS...
017500 012700 005552' MOV #COMCSE,R0
017504 004737 027620' JSR PC,$TTMSG
7604 017510 000750 BR 10$ ; ASK QUESTION AGAIN.
7605 ;
7606 017512 20$:
7607 017512 000137 016530' JMP $DLWCF ; ASK TO WRITE CONFIGURATION FILE.
7608 ;
7609 017516 30$:
7610 017516 000137 021154' JMP $DLGEN ; ASK IF DIALOG NECESSARY.
7611 ;
7612 017522 40$:
7613 017522 032737 000000G 000060' BIT #KL.SPF,.KLISV ; INTERNAL REQUEST ?
7614 017530 001002 BNE 60$ ; START KL ON POWER FAIL.
7619 017532 50$:
7620 017532 000137 024006' JMP $EXIT ; NORMAL EXIT FROM KLINIT
7621 ;
7622 017536 60$:
7623 017536 000137 022524' JMP $POWER ; START KL ON POWER FAIL.
7624 ;
KLIQE -- ASK EXIT QUESTIONS MACRO V05.04 Tuesday 17-May-88 14:21 Page 169
$DLGEX -- ASK WHERE TO EXIT
7631
7632
7633 .TITLE KLIQM -- ASK MEMORY QUESTIONS
7634 017542 IDENT$ 12,15,KLI$$F
.IDENT /B12150/
7635 ;
7636 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
7637 ; ALL RIGHTS RESERVED.
7638 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
7639 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
7640 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
7641 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
7642 ;
7643 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
7644 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
7645 ; EQUIPMENT CORPORATION.
7646 ;
7647 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
7648 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
7649 ;
7650 ; VERSION 12-15
7651 ;
7652 ; ALAN D. PECKHAM 12-APR-77
7653 ;
7654 ; MODIFIED BY:
7655 ;
7656 ; R. BELANGER 07-NOV-79 FIX BUG IN MF-20 CONFIGURATION
7657 ; TCO 4.1.1009
7658 ;
7659 ; R BELANGER 11-JUL-79 ADD FORCE RECONFIGURATION OPTION AND
7660 ; FORCE RECONFIGURATION ON MF-20
7661 ; POWER FAIL.
7662 ; TCO 4.2322
7663 ;
7664 ; R. BELANGER 02-MAR-79 ADD REVERSE MEMORY CONFIGURATION OPTION
7665 ; TCO 4.2204
7666 ; R. BELANGER 25-JUL-78 INTEGRATE WITH MOS CONFIGURATOR
7667 ;
7668 ; FUNCTION: IF REQUESTED, THIS MODULE GETS ALL INFORMATION NECESSARY TO
7669 ; CONFIGURE THE KL MEMORY.
KLIQM -- ASK MEMORY QUESTIONS MACRO V05.04 Tuesday 17-May-88 14:21 Page 170
$DLGEX -- ASK WHERE TO EXIT
7671 ;
7672 ; LOCAL DATA
7673 ;
7674 003556 .PSECT TEXT,D
7675 003556 TQMCF0:
7676 003556 MESSAGE <CONFIGURE KL MEMORY [FILE,ALL,REVERSE,YES,NO]?>
003556 103 117 116 .ASCIZ \CONFIGURE KL MEMORY [FILE,ALL,REVERSE,YES,NO]?\
003561 106 111 107
003564 125 122 105
003567 040 113 114
003572 040 115 105
003575 115 117 122
003600 131 040 133
003603 106 111 114
003606 105 054 101
003611 114 114 054
003614 122 105 126
003617 105 122 123
003622 105 054 131
003625 105 123 054
003630 116 117 135
003633 077 000
7677 003635 TQMCF1:
7678 003635 MESSAGE <CONFIGURE KL MEMORY [FILE,ALL,REVERSE,FORCE,YES,NO]?>
003635 103 117 116 .ASCIZ \CONFIGURE KL MEMORY [FILE,ALL,REVERSE,FORCE,YES,NO]?\
003640 106 111 107
003643 125 122 105
003646 040 113 114
003651 040 115 105
003654 115 117 122
003657 131 040 133
003662 106 111 114
003665 105 054 101
003670 114 114 054
003673 122 105 126
003676 105 122 123
003701 105 054 106
003704 117 122 103
003707 105 054 131
003712 105 123 054
003715 116 117 135
003720 077 000
7679 003722 TQMNM0:
7680 003722 ERROR <NO MEMORY AT LOCATION ZERO>
003722 077 040 116 .ASCIZ \? NO MEMORY AT LOCATION ZERO\
003725 117 040 115
003730 105 115 117
003733 122 131 040
003736 101 124 040
003741 114 117 103
003744 101 124 111
003747 117 116 040
003752 132 105 122
003755 117 000
7681 003757 TQMPCA:
7682 003757 WARNING <PHYSICAL MEMORY CONFIGURATION ALTERED - DUMP OR RESTART SUPPRESSED>
003757 045 040 120 .ASCIZ \% PHYSICAL MEMORY CONFIGURATION ALTERED - DUMP OR RESTART SUPPRESSED\
KLIQM -- ASK MEMORY QUESTIONS MACRO V05.04 Tuesday 17-May-88 14:21 Page 170-1
$DLGEX -- ASK WHERE TO EXIT
003762 110 131 123
003765 111 103 101
003770 114 040 115
003773 105 115 117
003776 122 131 040
004001 103 117 116
004004 106 111 107
004007 125 122 101
004012 124 111 117
004015 116 040 101
004020 114 124 105
004023 122 105 104
004026 040 055 040
004031 104 125 115
004034 120 040 117
004037 122 040 122
004042 105 123 124
004045 101 122 124
004050 040 123 125
004053 120 120 122
004056 105 123 123
004061 105 104 000
7683 017542 .PSECT
KLIQM -- ASK MEMORY QUESTIONS MACRO V05.04 Tuesday 17-May-88 14:21 Page 171
$DLGMM -- ASK WHETHER TO CONFIGURE THE KL MEMORY
7685 .SBTTL $DLGMM -- ASK WHETHER TO CONFIGURE THE KL MEMORY
7686
7687 017542 $DLGMM::
7688 017542 105037 000032' CLRB .DMSW ; CLEAR MEMORY CONTROL.
7689 017546 005037 000234' CLR .CFMRV ; [4.2204] ASSUME NORMAL CONFIGURATION
7690 017552 CALL MBINI ; INIT THE MEMORY BOOT
017552 004737 000000G JSR PC,MBINI
7691 017556 032737 000000G 000060' BIT #KL.SPF,.KLISV ; POWER-FAIL RECOVERY??
7692 017564 001403 BEQ 5$ ; NO -- GO ON
7693 017566 112737 177777 000000G MOVB #-1,KEEPBB ; [4.2322] YES -- KEEP BAD MF20 BLOCKS
7694 017574 5$:
7695 017574 105737 000024' TSTB .DLGSW ; TEST CONFIGURATION SWITCH.
7696 017600 003110 BGT 90$ ; USE LAST CONFIGURATION.
7697 017602 002460 BLT 40$ ; TAKE INTERNAL PATH.
7698 017604 10$:
7699 017604 012700 003556' MOV #TQMCF0,R0 ; [4.2322] ASSUME NO MF-20'S
7700 017610 105737 000045' TSTB .MFSW ; [4.2322] ARE THERE ANY MF-20'S??
7701 017614 003402 BLE 15$ ; [4.2322] NO -- GO ON
7702 017616 012700 003635' MOV #TQMCF1,R0 ; [4.2322] YES -- SELECT PROPER MESSAGE
7703 017622 15$: ; [4.2322]
7704 017622 CALL $TTMSG ; [4.2322] ASK THE QUESTION
017622 004737 027620' JSR PC,$TTMSG
7705 017626 CALL $TTRD ; READ ANSWER.
017626 004737 027114' JSR PC,$TTRD
7706 017632 012705 000304' MOV #.TTIBF,R5
7707 017636 105715 TSTB (R5) ; CR ?
7708 017640 001470 BEQ 90$ ; USE LAST CONFIGURATION.
7709 017642 022715 044506 CMP #"FI,(R5) ; [FILE] ?
7710 017646 001465 BEQ 90$ ; USE LAST CONFIGURATION.
7711 017650 022715 046101 CMP #"AL,(R5) ; [ALL] ?
7712 017654 001460 BEQ 80$ ; CONFIGURE ALL MEMORY.
7713 017656 022715 042522 CMP #"RE,(R5) ; [4.2204] [REVERSE] ?
7714 017662 001443 BEQ 55$ ; [4.2204] YES -- DO IT
7715 017664 022715 047506 CMP #"FO,(R5) ; [4.2322] [FORCE] ?
7716 017670 001432 BEQ 45$ ; [4.2322] YES -- DO IT
7717 017672 022715 042531 CMP #"YE,(R5) ; [YES] ?
7718 017676 001437 BEQ 60$ ; GO ON TO NEXT QUESTION.
7719 017700 022715 047516 CMP #"NO,(R5) ; [NO] ?
7720 017704 001430 BEQ 50$ ; SKIP MEMORY CONFIGURATION.
7721 017706 022715 040502 CMP #"BA,(R5) ; [BACKUP] ?
7722 017712 001405 BEQ 20$ ; ASK PREVIOUS QUESTION.
7723 017714 PRINT #COMCSE ; UNCOORDINATED FINGERS...
017714 012700 005552' MOV #COMCSE,R0
017720 004737 027620' JSR PC,$TTMSG
7724 017724 000727 BR 10$ ; ASK QUESTION AGAIN.
7725 ;
7727 017726 20$:
7728 017726 105737 000043' TSTB .CASW ; IS CACHE AVAILABLE ?
7729 017732 002402 BLT 30$ ; NO, GO TO RAM QUESTION.
7730 017734 000137 023620' JMP $DLGCV ; YES, ASK ABOUT CACHE.
7731 ;
7732 017740 30$:
7733 017740 000137 023660' JMP $DLGRV ; NO, GO TO RAM QUESTION.
7734 ;
7740 017744 40$:
7741 017744 032737 000000G 000060' BIT #KL.CFM,.KLISV ; INTERNAL SPECIFIC REQUEST MADE ?
7742 017752 001015 BNE 70$ ; YES -- ANALYZE FURTHER...
KLIQM -- ASK MEMORY QUESTIONS MACRO V05.04 Tuesday 17-May-88 14:21 Page 171-1
$DLGMM -- ASK WHETHER TO CONFIGURE THE KL MEMORY
7743 017754 000422 BR 90$ ; NO -- MAKE SURE CONFIGURATION STILL EXISTS
7744 ;
7745 017756 45$: ; [4.2322]
7746 017756 112737 177777 000000G MOVB #-1,DBEFRC ; [4.2322] FORCE THE DBE SCAN
7747 017764 000404 BR 60$ ; [4.2322] AND GO ON
7748 ;
7749 017766 50$:
7750 017766 000137 023654' JMP $DLGBV ; ASK TO LOAD BOOT.
7751 ;
7752 017772 55$: ; [4.2204]
7753 017772 005337 000234' DEC .CFMRV ; [4.2204] SET REVERSE CONFIGURATION
7754 017776 60$:
7755 017776 113737 000234' 000000G MOVB .CFMRV,CONFGR ; [4.2204] TELL THE MEMORY BOOT FORWARD OR REVERSE
7756 020004 000407 BR $DSPPT ; DISPLAY THE PHYSICAL CONFIGURATION.
7757 ;
7758 020006 70$:
7759 020006 032737 000000G 000060' BIT #KL.CFL,.KLISV ; IF NOT TO GET FROM FILE,
7760 020014 001402 BEQ 90$ ; THEN
7761 020016 80$:
7762 020016 105337 000032' DECB .DMSW ; INDICATE TO USE ALL AND
7763 020022 90$:
7764 020022 000410 BR $CFGMM ; GO TO CONFIGURE MEMORY.
7765 ;
KLIQM -- ASK MEMORY QUESTIONS MACRO V05.04 Tuesday 17-May-88 14:21 Page 172
$DLGMM -- ASK WHETHER TO CONFIGURE THE KL MEMORY
7767 ;
7768 ; HERE FOR LONG MEMORY CONFIGURATION DIALOG
7769 ;
7770 020024 $DSPPT::
7771 020024 112737 177777 000000G MOVB #-1,FMRECN ; [4.2322] FORCE RECONFIGURATION
7772 020032 CALL RESDET ; GET PHYSICAL CONFIGURATION AND
020032 004737 000000G JSR PC,RESDET
7773 020036 CALL REPCON ; DISPLAY THE MEMORY LAYOUT.
020036 004737 000000G JSR PC,REPCON
7774 020042 000520 BR $DLGCT ; ENTER CONTROLLER DIALOG.
7775 ;
7776 ;
7777 ; HERE FOR:
7778 ;
7779 ; "FILE" IF .DMSW .EQ. 0
7780 ; "ALL" IF .DMSW .LT. 0
7781 ;
7782 020044 $CFGMM::
7783 020044 105737 000032' TSTB .DMSW ; ARE WE IN DIALOG MODE??
7784 020050 001006 BNE 10$ ; YES -- GO ON
7785 020052 CALL $GETMM ; NO -- READ THE FILE
020052 004737 014312' JSR PC,$GETMM
7786 020056 103510 BCS ERRORX ; GIVE UP IF ERROR
7787 020060 105737 000032' TSTB .DMSW ; USE ALL??
7788 020064 001403 BEQ 20$ ; NO -- GO ON
7789 020066 10$:
7790 020066 112737 177777 000000G MOVB #-1,FMRECN ; [4.2322] YES -- FORCE RECONFIGURATION
7791 020074 20$:
7792 020074 113737 000234' 000000G MOVB .CFMRV,CONFGR ; [4.2204] SET FORWARD/REVERSE CONFIGURATION
7793 020102 CALL RESDET ; GET PHYSICAL CONFIGURATION
020102 004737 000000G JSR PC,RESDET
7794 020106 105737 000024' TSTB .DLGSW ; ARE WE ON INTERNAL PATH??
7795 020112 002036 BGE 40$ ; NO -- GO ON
7796 020114 105737 000046' TSTB .MFCT ; [4.1.1009] YES -- DO WE EXPECT MOS MEMORY??
7797 020120 001433 BEQ 40$ ; [4.1.1009] NO -- GO ON
7798 020122 105737 000000G TSTB MF20 ; [4.1.1009] YES -- DO WE HAVE MOS MEMORY??
7799 020126 001406 BEQ 30$ ; [4.1.1009] NO -- COMPLAIN
7800 020130 105737 000000G TSTB CCFAIL ; YES -- DID THE MF20'S EVAPORATE??
7801 020134 001003 BNE 30$ ; YES -- SET UP TO RELOAD THE KL
7802 020136 005737 000000G TST XCONMP ; NO -- DO WE HAVE ANY STATE 2 CONTROLLERS??
7803 020142 001022 BNE 40$ ; YES -- GO ON
7804 020144 30$:
7805 020144 042737 000000C 000060' BIC #KL.SPF!KL.VBD,.KLISV ; NO -- DON'T RESTART OR DUMP THE KL
7806 020152 052737 000000C 000060' BIS #KL.VBN!KL.LVB,.KLISV ; JUST LOAD AND START IT INSTEAD
7807 020160 PRINT #TQMPCA ; WARN SOMEONE ABOUT IT
020160 012700 003757' MOV #TQMPCA,R0
020164 004737 027620' JSR PC,$TTMSG
7808 020170 105737 000000G TSTB CCFAIL ; [4.2322] DO WE NEED A DBE SCAN??
7809 020174 001405 BEQ 40$ ; [4.2322] NO -- GO ON
7810 020176 112737 177777 000000G MOVB #-1,DBEFRC ; [4.2322] YES -- SET THE FLAG
7811 020204 CALL RESDET ; [4.2322] AND DO IT
020204 004737 000000G JSR PC,RESDET
7812 020210 40$:
7813 020210 105737 000032' TSTB .DMSW ; IS THIS A FILE READ??
7814 020214 001033 BNE $DLGCT ; NO -- DO DEFAULT DIALOG
7815 020216 $CFGXX::
7816 020216 CALL $CONFG ; YES -- EDIT THE TABLES
KLIQM -- ASK MEMORY QUESTIONS MACRO V05.04 Tuesday 17-May-88 14:21 Page 172-1
$DLGMM -- ASK WHETHER TO CONFIGURE THE KL MEMORY
020216 004737 005514' JSR PC,$CONFG
7817 020222 103424 BCS 20$ ; ERROR IF CC-C IS SET
7818 020224 CALL RESDET ; ONE MORE TIME
020224 004737 000000G JSR PC,RESDET
7819 020230 CALL FITMEM ; SET UP LOGICAL TABLE
020230 004737 000000G JSR PC,FITMEM
7820 020234 CALL REPFIT ; REPORT LOGICAL CONFIGURATION
020234 004737 000000G JSR PC,REPFIT
7821 020240 005737 000000G TST GAPCNT ; DO WE HAVE ANY GAPS??
7822 020244 001410 BEQ 10$ ; NO -- GO ON
7823 020246 005737 000000G TST GAPTAB+0 ; YES -- IS THERE A GAP AT 0??
7824 020252 001005 BNE 10$ ; NO -- GO ON
7825 020254 PRINT #TQMNM0 ; YES -- COMPLAIN
020254 012700 003722' MOV #TQMNM0,R0
020260 004737 027620' JSR PC,$TTMSG
7826 020264 000405 BR ERRORX ; AND EXIT
7827 ;
7828 020266 10$:
7829 020266 CALL CONFIG ; SET REQUESTED CONFIGURATION
020266 004737 000000G JSR PC,CONFIG
7830 020272 000241 CLC ; INSURE CC-C IS CLEAR
7831 020274 20$:
7832 020274 CALLR $DLGMX ; RETURN TO ROOT
020274 000137 023652' JMP $DLGMX
7833 ;
7834 020300 ERRORX:
7835 020300 000137 023776' JMP $ERROR ; ERROR EXIT
7836 ;
KLIQM -- ASK MEMORY QUESTIONS MACRO V05.04 Tuesday 17-May-88 14:21 Page 173
$DLGCT -- ASK FOR MEMORY CONTROLLER NUMBER
7838 .SBTTL $DLGCT -- ASK FOR MEMORY CONTROLLER NUMBER
7839
7840 020304 $DLGCT::
7841 020304 012700 000040 MOV #CTLS,R0 ; MAX CONTROLLER NUMBER
7842 020310 012701 000134' MOV #.CFGTB,R1 ; POINT TO CONFIGURATION TABLE
7843 020314 10$:
7844 020314 116060 177777G 000071' MOVB TYPNUM-1(R0),.CTLTP-1(R0) ; SET UP OUR CONTROLLER TABLE
7845 020322 012721 100000 MOV #BIT15,(R1)+ ; INVALIDATE OUR CONFIGURATION TABLE
7846 020326 077006 SOB R0,10$ ; LOOP TILL DONE
7847 ;
7848 ; CONFIGURATION DIALOG VECTORS
7849 ;
7850 020330 $DLGIM::
7851 020330 CALLR $CFIMD ; INTERNAL MEMORY DIALOG
020330 000137 004232' JMP $CFIMD
7852 ;
7853 020334 $DLGXM::
7854 020334 CALLR $CFXMD ; EXTERNAL MEMORY DIALOG
020334 000137 006544' JMP $CFXMD
7855 ;
7856 020340 $DLGMF::
7857 020340 CALLR $CFMMD ; MOS MEMORY DIALOG
020340 000137 004200' JMP $CFMMD
7858 ;
7859 020344 $DLGMB::
7860 020344 CALLR $DLGMM ; BACK UP
020344 000137 017542' JMP $DLGMM
7861 ;
7862 ;
7863 ; DECIDE WHERE TO GO ON "BACKUP"
7864 ;
7865 020350 $DLMB1:: ; HERE FROM MOS MEMORY DIALOG
7866 020350 105737 000000G TSTB DMA20 ; DO WE HAVE EXTERNAL MEMORY??
7867 020354 001367 BNE $DLGXM ; YES -- GO TO IT
7868 020356 $DLMB2:: ; HERE FROM EXTERNAL MEMORY DIALOG
7869 020356 105737 000000G TSTB MA20 ; DO WE HAVE MA20'S??
7870 020362 001362 BNE $DLGIM ; YES -- GO TO IT
7871 020364 105737 000000G TSTB MB20 ; DO WE HAVE MB20'S??
7872 020370 001357 BNE $DLGIM ; YES -- GO TO IT
7873 020372 000764 BR $DLGMB ; NO -- GO ALL THE WAY TO THE TOP
7874 ;
KLIQM -- ASK MEMORY QUESTIONS MACRO V05.04 Tuesday 17-May-88 14:21 Page 174
$DLGCT -- ASK FOR MEMORY CONTROLLER NUMBER
7876
7877
7878 .TITLE KLIQP -- MCA25 CACHE PAGER SELECT
7879 020374 IDENT$ 1,0
.IDENT /001000/
7880 ; COPYRIGHT (C) 1984, 1985 DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
7881 ; ALL RIGHTS RESERVED.
7882 ; VERSION 1-00
7883 ;
7884 ; M. RUDENKO 16-FEB-84
7885 ;
7886 ; FUNCTION: CHECKS FOR EXISTENCE OF MCA25 CACHE PAGE UPGRAGE, AND ALLOWS
7887 ; OPERATOR TO SELECT WHICH PAGE TABLE TO USE.
7888 ;
7889 ; LOCAL DATA
7890 ;
7891 004064 .PSECT TEXT,D
7892 004064 TQSPT: MESSAGE <SELECT PAGE TABLE [FILE,BOTH,0,1]?>
004064 123 105 114 .ASCIZ \SELECT PAGE TABLE [FILE,BOTH,0,1]?\
004067 105 103 124
004072 040 120 101
004075 107 105 040
004100 124 101 102
004103 114 105 040
004106 133 106 111
004111 114 105 054
004114 102 117 124
004117 110 054 060
004122 054 061 135
004125 077 000
7893
7894 004127 TXPTS: MESSAGE <KLI -- PAGE TABLE SELECTED: _>
004127 113 114 111 .ASCIZ \KLI -- PAGE TABLE SELECTED: _\
004132 040 055 055
004135 040 120 101
004140 107 105 040
004143 124 101 102
004146 114 105 040
004151 123 105 114
004154 105 103 124
004157 105 104 072
004162 040 137 000
7895 004165 TXBOTH: MESSAGE <BOTH>
004165 102 117 124 .ASCIZ \BOTH\
004170 110 000
7896
7897 020374 .PSECT
7898 020374 $DLGPA::
7899 020374 105037 000034' CLRB .PTSW ; [**] RESET PAGE TABLE MODIFIED SWITCH
7900 020400 005037 000530' CLR .PTSEL ; [**] INITIALIZE PAGE TABLE SELECTED
7901 020404 105037 000304' CLRB .TTIBF ; [**] CLEAR BUFFER TO ECHO POSSIBLE DEFAULT
7902 020410 105737 000024' TSTB .DLGSW ; [**] TEST DIALOG SWITCH
7903 020414 001043 BNE 55$ ; [**] TAKE DEFAULT PATH
7904 020416 10$:
7905 020416 PRINT #TQSPT ; [**] ASK WHICH PAGE TABLE(S)
020416 012700 004064' MOV #TQSPT,R0
020422 004737 027620' JSR PC,$TTMSG
KLIQP -- MCA25 CACHE PAGER SELE MACRO V05.04 Tuesday 17-May-88 14:21 Page 174-1
$DLGCT -- ASK FOR MEMORY CONTROLLER NUMBER
7906 020426 CALL $TTRD ; [**] READ REPLY
020426 004737 027114' JSR PC,$TTRD
7907 020432 012705 000304' MOV #.TTIBF,R5 ; [**] LOCATE FIRST TWO CHARS OF RESPONSE
7908 020436 105715 TSTB (R5) ; [**] [CR]?
7909 020440 001431 BEQ 55$ ; [**] DEFAULT TO FILE
7910 020442 022715 040502 CMP #"BA,(R5) ; [**] [BACKUP]?
7911 020446 001504 BEQ 90$ ; [**] YES..DO IT
7912 020450 022715 047502 CMP #"BO,(R5) ; [**] [BOTH]?
7913 020454 001434 BEQ 60$ ; [**] GO SELECT BOTH PAGE TABLES
7914 020456 022715 044506 CMP #"FI,(R5) ; [**] [FILE]?
7915 020462 001420 BEQ 55$ ; [**] READ FROM CONFIGURATION FILE
7916 ;
7917 ; STILL NO MATCH -- MAYBE A NUMBER WAS ENTERED...
7918 ;
7919 020464 CALL $TRI2B ; [**] CONVERT ASCII TO NUMERIC
020464 004737 025410' JSR PC,$TRI2B
7920 020470 103466 BCS 80$ ; [**] UNRECOGNIZED INPUT -- COMPLAIN
7921 020472 022700 000002 CMP #2,R0 ; [**] OUT OF RANGE?
7922 020476 003463 BLE 80$ ; [**] COMPLAIN AND RETRY
7923 020500 005700 TST R0 ; [**] PAGE TABLE ONE ONLY?
7924 020502 001003 BNE 50$ ; [**] YES -- SET IT UP
7925
7926 020504 40$:
7927 020504 012703 001554' MOV #DQSP0,R3 ; [**] SELECT PAGE TABLE ZERO ONLY
7928 020510 000422 BR 70$ ; [**] EXECUTE MICRO-INSTRUCTION
7929 020512 50$:
7930 020512 012703 001570' MOV #DQSP1,R3 ; [**] SELECT PAGE TABLE ONE ONLY
7931 020516 005237 000530' INC .PTSEL ; [**] SAVE PAGE TABLE USED
7932 020522 000415 BR 70$ ; [**] EXECUTE MICRO-INSTRUCTION
7933 020524 55$:
7934 020524 105337 000034' DECB .PTSW ; [**] DON'T AUTO WRITE CONFIG FILE
7935 020530 CALL $GETPA ; [**] READ CONFIGURATION FILE
020530 004737 014562' JSR PC,$GETPA
7936 020534 022701 000001 CMP #1,R1 ; [**] IF PAGE ONE CHOSEN ...
7937 020540 001764 BEQ 50$ ; [**] THEN SET IT UP
7938 020542 005701 TST R1 ; [**] IF PAGE ZERO WAS SELECTED ...
7939 020544 001757 BEQ 40$ ; [**] THEN SET IT UP, ELSE ...
7940 020546 60$:
7941 020546 012703 001604' MOV #DQSP01,R3 ; [**] SELECT PAGE TABLES ZERO & ONE
7942 020552 005337 000530' DEC .PTSEL ; [**] SAVE PAGE TABLE USED (-1=BOTH)
7943 020556 70$:
7944 020556 105237 000034' INCB .PTSW ; [**] FLAG THAT A PAGE TABLE CHANGE WAS MADE
7945 020562 105237 000051' INCB .MCSW ; [**] FLAG THAT WE WANT A PAGE TABLE SELECTION
7946 020566 CALL LQSHWO ; [**] EXECUTE MICRO-INSTRUCTION
020566 004737 022276' JSR PC,LQSHWO
7947 020572 105037 000051' CLRB .MCSW ; [**] ANY FURTHER CALL TO LQSHWO WILL BE APRID
7948
7949 ; FIGURE OUT WHICH PAGE TABLE WAS SELECTED AND DISPLAY IT
7950 020576 012700 004127' MOV #TXPTS,R0 ; [**] THE PAGE TABLE WHICH WAS PICKED WAS ...
7951 020602 CALL $TTDMS ; [**] PRINT MESSAGE
020602 004737 027552' JSR PC,$TTDMS
7952 020606 005737 000530' TST .PTSEL ; [**] WERE BOTH PAGE SELECTED?
7953 020612 002005 BGE 100$ ; [**] NO -- PRINT WHICH ONE
7954 020614 012700 004165' MOV #TXBOTH,R0 ; [**] YES -- SET UP AND ...
7955 020620 CALL $TTDMS ; [**] PRINT "BOTH"
020620 004737 027552' JSR PC,$TTDMS
7956 020624 000404 BR 105$ ; [**] AND ADD CRLF
KLIQP -- MCA25 CACHE PAGER SELE MACRO V05.04 Tuesday 17-May-88 14:21 Page 174-2
$DLGCT -- ASK FOR MEMORY CONTROLLER NUMBER
7957 020626 100$:
7958 020626 013700 000530' MOV .PTSEL,R0 ; [**] FETCH PAGE SELECTED
7959 020632 CALL $TDB2I ; [**] PRINT IT
020632 004737 025250' JSR PC,$TDB2I
7960 020636 105$:
7961 020636 CALL $TCRLF ; [**] ADD CR/LF
020636 004737 027514' JSR PC,$TCRLF
7962 020642 75$:
7963 020642 000137 020664' JMP $DLGRM ; [**] GO ON TO NEXT DIALOG
7964 020646 80$:
7965 020646 PRINT #COMCSE ; [**] UNRECOGNIZED INPUT
020646 012700 005552' MOV #COMCSE,R0
020652 004737 027620' JSR PC,$TTMSG
7966 020656 000657 BR 10$ ; [**] TRY AGAIN
7967 020660 90$:
7968 020660 000137 021154' JMP $DLGEN ; [**] GO BACK TO PREVIOUS DIALOG
7969
7970 .TITLE KLIQR -- ASK RAM QUESTIONS
7971 020664 IDENT$ 5,4
.IDENT /005040/
7972 ;
7973 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
7974 ; ALL RIGHTS RESERVED.
7975 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
7976 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
7977 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
7978 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
7979 ;
7980 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
7981 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
7982 ; EQUIPMENT CORPORATION.
7983 ;
7984 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
7985 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
7986 ;
7987 ; VERSION 05-04
7988 ;
7989 ; ALAN D. PECKHAM 14-APR-77
7990 ;
7991 ; MODIFIED BY:
7992 ;
7993 ; K. LEFEBVRE 13-MAR-79 ADD EXPANDED CRAM/DRAM ERROR REPORT
7994 ; TCO 4.2209
7995 ;
7996 ; S. LEAPLINE 25-SEP-80 FIX 'BACK' RESPONCE BRANCH FOR MICROCODE
7997 ;
7998 ; FUNCTION: THIS MODULE DETERMINES THE OPERATIONS TO PERFORM ON THE KL
7999 ; MICROCODE RAMS.
8000 ;
8001 ; LOCAL DATA
8002 ;
8003 004172 .PSECT TEXT,D
8004 004172 TQRLMC: MESSAGE <RELOAD MICROCODE [YES,VERIFY,FIX,NO]?>
004172 122 105 114 .ASCIZ \RELOAD MICROCODE [YES,VERIFY,FIX,NO]?\
004175 117 101 104
004200 040 115 111
004203 103 122 117
KLIQR -- ASK RAM QUESTIONS MACRO V05.04 Tuesday 17-May-88 14:21 Page 174-3
$DLGCT -- ASK FOR MEMORY CONTROLLER NUMBER
004206 103 117 104
004211 105 040 133
004214 131 105 123
004217 054 126 105
004222 122 111 106
004225 131 054 106
004230 111 130 054
004233 116 117 135
004236 077 000
8005 020664 .PSECT
KLIQR -- ASK RAM QUESTIONS MACRO V05.04 Tuesday 17-May-88 14:21 Page 175
$DLGRM -- ASK IF RELOAD MICROCODE IS REQUIRED
8007 .SBTTL $DLGRM -- ASK IF RELOAD MICROCODE IS REQUIRED
8008
8009 020664 105037 000027' $DLGRM::CLRB .DRSW ; RESET CONTROL AND
8010 020670 105037 000025' CLRB .MCBSW ; FILENAME SWITCH.
8011 020674 105737 000024' TSTB .DLGSW ; TEST DIALOG SWITCH.
8012 020700 003111 BGT 90$ ; TAKE DIALOG DEFAULT PATH.
8013 020702 002446 BLT 30$ ; TAKE INTERNAL PATH.
8014 020704 005002 10$: CLR R2 ; USE AS VERIFY SWITCH.
8015 020706 PRINT #TQRLMC ; ASK QUESTION
020706 012700 004172' MOV #TQRLMC,R0
020712 004737 027620' JSR PC,$TTMSG
8016 020716 CALL $TTRD ; READ ANSWER
020716 004737 027114' JSR PC,$TTRD
8017 020722 012705 000304' MOV #.TTIBF,R5
8018 020726 105715 TSTB (R5) ; CR ?
8019 020730 001475 BEQ 90$ ; YES, TREAT AS [YES]
8020 020732 022715 042531 CMP #"YE,(R5) ; [YES] ?
8021 020736 001450 BEQ 60$ ; LOAD THE RAMS.
8022 020740 022715 042526 CMP #"VE,(R5) ; [VERIFY] ?
8023 020744 001444 BEQ 50$ ; VERIFY THE RAMS.
8024 020746 022715 044506 CMP #"FI,(R5) ; [4.2209] [FIX] ?
8025 020752 001435 BEQ 35$ ; [4.2209] VERIFY AND FIX THE RAMS.
8026 020754 022715 047516 CMP #"NO,(R5) ; [NO] ?
8027 020760 001434 BEQ 40$ ; GO ON TO NEXT QUESTION.
8028 020762 022715 040502 CMP #"BA,(R5) ; [BACKUP] ?
8029 020766 001405 BEQ 20$ ; GO BACK TO DIALOGUE QUESTION
8030 020770 80$: PRINT #COMCSE ; MUST BE SOME MISTAKE...
020770 012700 005552' MOV #COMCSE,R0
020774 004737 027620' JSR PC,$TTMSG
8031 021000 000741 BR 10$ ; ASK QUESTION AGAIN.
8032 021002 105737 000035' 20$: TSTB .MCA25 ; [**] DOES CACHE PAGER EXIST?
8033 021006 003402 BLE 25$ ; [**] NO -- GO BACK TO INTIALIZATION
8034 021010 000137 020374' JMP $DLGPA ; [**] YES -- GO TO PAGER DIALOG
8035 021014 25$:
8036 021014 000137 021154' JMP $DLGEN ; ASK IF DIALOG NECESSARY.
8037 021020 005002 30$: CLR R2 ; [4.2209] CLEAR FIX FLAG
8038 021022 032737 000000G 000060' BIT #KL.LRM,.KLISV ; LOAD RAMS ?
8039 021030 001410 BEQ 40$ ; [4.2209] NO-- NEXT QUESTION
8040 021032 032737 000000C 000060' BIT #KL.SPF!KL.DEF,.KLISV ; [4.2209] YES-- POWER FAIL?
8041 021040 001027 BNE 70$ ; [4.2209] YES-- NO VERIFY
8042 021042 105302 DECB R2 ; [4.2209] YES-- VERIFY AND FIX THE RAMS.
8043 021044 000425 BR 70$ ; [4.2209] CONTINUE.
8044 021046 105302 35$: DECB R2 ; [4.2209] SET FLAG TO FIX RAMS.
8045 021050 000403 BR 60$ ; [4.2209] CONTINUE.
8047 021052 000137 017066' 40$: JMP $DLGCA ; CHECK FOR CACHE.
8051 021056 105202 50$: INCB R2 ; INDICATE VERIFICATION NECESSARY
8052 021060 60$: CALL LQRBPS ; CHECK FOR OPERAND
021060 004737 021130' JSR PC,LQRBPS
8053 021064 001415 BEQ 70$ ; NO OPERAND IS OKAY. ; ADP01
8054 021066 012700 000462' MOV #.MCBFN,R0 ; GET USER FILENAME BLOCK
8055 021072 012701 MOV (PC)+,R1
8056 021074 050672 .RAD50 /MCB/ ; SET DEFAULT FILE TYPE
8057 021076 010160 000006 MOV R1,6(R0)
8058 021102 CALL $TRF2B ; AND GET FILE NAME.
021102 004737 025132' JSR PC,$TRF2B
8059 021106 103730 BCS 80$
8060 021110 105715 TSTB (R5) ; CHECK FOR PROPER TERMINATION.
KLIQR -- ASK RAM QUESTIONS MACRO V05.04 Tuesday 17-May-88 14:21 Page 175-1
$DLGRM -- ASK IF RELOAD MICROCODE IS REQUIRED
8061 021112 001326 BNE 80$
8062 021114 105237 000025' INCB .MCBSW ; FILE NAME HAS BEEN SPECIFIED.
8063 021120 110237 000027' 70$: MOVB R2,.DRSW ; INSERT VERIFY SWITCH.
8064 021124 000137 023612' 90$: JMP $CFGRM ; AND GO PROCESS MICROCODE.
8065
8066 ;+
8067 ; BYPASS CHARACTERS TO END OF LINE OR PAST CONTIGUOUS SET OF SPACES.
8068 ;-
8069
8070 021130 105715 LQRBPS: TSTB (R5) ; IF END OF LINE
8071 021132 001407 BEQ 90$ ; THEN QUIT
8072 021134 122725 000040 CMPB #' ,(R5)+ ; OTHERWISE LOOK
8073 021140 001373 BNE LQRBPS ; FOR A SPACE.
8074 021142 122725 000040 10$: CMPB #' ,(R5)+ ; THEN BYPASS
8075 021146 001775 BEQ 10$ ; ANY MORE THAT FOLLOW.
8076 021150 105745 TSTB -(R5) ; TEST FOR END OF LINE.
8077 021152 90$: RETURN
021152 000207 RTS PC
8078 .TITLE KLIQS -- DIALOG ENTRANCE QUESTION
8079 021154 IDENT$ 15,12
.IDENT /015120/
8080
8081 ;
8082 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
8083 ; ALL RIGHTS RESERVED.
8084 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
8085 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
8086 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
8087 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
8088 ;
8089 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
8090 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
8091 ; EQUIPMENT CORPORATION.
8092 ;
8093 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
8094 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
8095 ;
8096 ; VERSION 15-12
8097 ;
8098 ; ALAN D. PECKHAM 14-APR-77
8099 ;
8100 ; MODIFIED BY:
8101 ;
8102 ; R. BELANGER 22-OCT-79 ADD CACHE SWEEP ON AUTO-RELOAD AND BOOT OPTIONS
8103 ; TCO 5.1013
8104 ;
8105 ; R. BELANGER 16-JUL-79 ADD KL10 HARDWARE ENVIRONMENTAL REPORTING
8106 ; TCO 4.2333
8107 ;
8108 ; R. BELANGER -- SET MF20 FLAG ON DETECTION OF MOS MASTER OSCILLATOR
8109 ;
8110 ; S. LEAPLINE 13-AUG-81 USE SAVED BOOT FILENAME ON "BOOT" RESPONSE
8111 ;
8112 ; M. RUDENKO 16-FEB-84 ADD MCA25 CHACHE PAGER UPGRADE
8113 ;
8114 ;
8115 ; FUNCTION: THIS DIALOG QUESTION DETERMINES IF THE OPERATOR
KLIQS -- DIALOG ENTRANCE QUESTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 175-2
$DLGRM -- ASK IF RELOAD MICROCODE IS REQUIRED
8116 ; WANTS TO GO THROUGH THE DIALOG QUESTIONS OR FOLLOW
8117 ; THE DEFAULT PATH BY ASSUMING THE DEFAULT ANSWER TO
8118 ; ALL QUESTIONS.
8119 ;
8120 ; EQUATED SYMBOLS
8121 ;
8122 000014 CCA = 14 ; [5.1013] KL INTERNAL CACHE DEVICE
8123 000002 BLKO = 2 ; [5.1013] KL OPCODE
8124 ;
8125 ; LOCAL MACROS
8126 ;
8127 .MCALL MRKT$,CLEF$S,WTSE$S,DIR$
8128 ;
8129 ; LOCAL VARIABLES
8130 ;
8131
8132 001554 .PSECT DATA,D
8133
8134 001554 DQSP0::
8135 001554 000002 000420 070400 .WORD 2,420,70400,20000,0,10 ;[**] C-RAM WORD TO SELECT PAGE TABLE 0
001562 020000 000000 000010
8136 001570 DQSP1::
8137 001570 000000 000420 071400 .WORD 0,420,71400,20000,0,10 ;[**] C-RAM WORD TO SELECT PAGE TABLE 1
001576 020000 000000 000010
8138 001604 DQSP01::
8139 001604 000000 000420 070000 .WORD 0,420,70000,20000,0,10 ;[**] C-RAM WORD TO SELECT PAGE TBL 0&1
001612 020000 000000 000010
8140 001620 DQSCSW:
8141 001620 IO10$ BLKO,CCA,,0 ; [5.1013] SWEEP CACHE AND UPDATE CORE
001620 000 000 000 .BYTE BY$$0,BY$$1,BY$$2
001623 015 016 .BYTE BY$$3,BY$$4
8142 .EVEN
8143 001626 DQSMKT:
8144 001626 MRKT$ 5.,30.,0,0 ; [5.1013] HALF-SECOND WAIT
001626 027 005 .BYTE 23.,5
001630 000005 .WORD 5.
001632 000036 .WORD 30.
001634 000000 .WORD 0
001636 000000 .WORD 0
8145 001640 DQSCBF:
8146 001640 000000 000000 000000 .WORD 0,0,0,0,0,0 ;HOLDING AREA FOR C-RAM WORD ZERO.
001646 000000 000000 000000
8147 001654 DQSCF3:
8148 001654 000000 000460 000000 .WORD 0,460,0,0,0,0 ;C-RAM WORD WITH COND FIELD = 3.
001662 000000 000000 000000
8149 001670 DQSAPR:
8150 001670 WD36$ 0 0 ;HOLDING AREA FOR RH(APRID)
001670 000 000 000 .BYTE BY$$0,BY$$1,BY$$2
001673 000 000 .BYTE BY$$3,BY$$4
8151 .EVEN
8152 001676 DQSHWT:
8153 001676 004402' .WORD TQSMCA ;[**] MCA25 REPORT ADDRESS
8154 001700 004435' .WORD TQSMMO
8155 001702 004474' .WORD TQSEXT
8156 001704 004531' .WORD TQSCHN
8157 001706 004564' .WORD TQSCAC
8158 001710 000000 .WORD 0
KLIQS -- DIALOG ENTRANCE QUESTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 175-3
$DLGRM -- ASK IF RELOAD MICROCODE IS REQUIRED
8159
8160 004240 .PSECT TEXT,D
8161
8162 004240 TQSDLG:
8163 004240 MESSAGE <ENTER DIALOG [NO,YES,EXIT,BOOT]?>
004240 105 116 124 .ASCIZ \ENTER DIALOG [NO,YES,EXIT,BOOT]?\
004243 105 122 040
004246 104 111 101
004251 114 117 107
004254 040 133 116
004257 117 054 131
004262 105 123 054
004265 105 130 111
004270 124 054 102
004273 117 117 124
004276 135 077 000
8164 004301 TQSKSN:
8165 004301 MESSAGE <KLI -- KL10 S/N: _>
004301 113 114 111 .ASCIZ \KLI -- KL10 S/N: _\
004304 040 055 055
004307 040 113 114
004312 061 060 040
004315 123 057 116
004320 072 040 137
004323 000
8166 004324 TQSMDL:
8167 004324 MESSAGE <., MODEL _>
004324 056 054 040 .ASCIZ \., MODEL _\
004327 115 117 104
004332 105 114 040
004335 137 000
8168 004337 TQSHRZ:
8169 004337 040 110 105 .ASCIZ / HERTZ\/
004342 122 124 132
004345 134 000
8170 004347 TQSHWP:
8171 004347 MESSAGE <KL10 HARDWARE ENVIRONMENT:>
004347 113 114 061 .ASCIZ \KL10 HARDWARE ENVIRONMENT:\
004352 060 040 110
004355 101 122 104
004360 127 101 122
004363 105 040 105
004366 116 126 111
004371 122 117 116
004374 115 105 116
004377 124 072 000
8172 004402 TQSMCA:
8173 004402 040 040 040 .ASCIZ / MCA25 CACHE PAGER\/
004405 040 040 040
004410 040 040 115
004413 103 101 062
004416 065 040 103
004421 101 103 110
004424 105 040 120
004427 101 107 105
004432 122 134 000
8174 004435 TQSMMO:
KLIQS -- DIALOG ENTRANCE QUESTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 175-4
$DLGRM -- ASK IF RELOAD MICROCODE IS REQUIRED
8175 004435 040 040 040 .ASCIZ / MOS MASTER OSCILLATOR\/
004440 040 040 040
004443 040 040 115
004446 117 123 040
004451 115 101 123
004454 124 105 122
004457 040 117 123
004462 103 111 114
004465 114 101 124
004470 117 122 134
004473 000
8176 004474 TQSEXT:
8177 004474 040 040 040 .ASCIZ / EXTENDED ADDRESSING\/
004477 040 040 040
004502 040 040 105
004505 130 124 105
004510 116 104 105
004513 104 040 101
004516 104 104 122
004521 105 123 123
004524 111 116 107
004527 134 000
8178 004531 TQSCHN:
8179 004531 040 040 040 .ASCIZ / INTERNAL CHANNELS\/
004534 040 040 040
004537 040 040 111
004542 116 124 105
004545 122 116 101
004550 114 040 103
004553 110 101 116
004556 116 105 114
004561 123 134 000
8180 004564 TQSCAC:
8181 004564 040 040 040 .ASCIZ / CACHE\/
004567 040 040 040
004572 040 040 103
004575 101 103 110
004600 105 134 000
8182 004603 TQSCDH:
8183 004603 ERROR <CAN'T DETERMINE KL10 HARDWARE ENVIRONMENT>
004603 077 040 103 .ASCIZ \? CAN'T DETERMINE KL10 HARDWARE ENVIRONMENT\
004606 101 116 047
004611 124 040 104
004614 105 124 105
004617 122 115 111
004622 116 105 040
004625 113 114 061
004630 060 040 110
004633 101 122 104
004636 127 101 122
004641 105 040 105
004644 116 126 111
004647 122 117 116
004652 115 105 116
004655 124 000
8184 004657 TQSWRN:
8185 004657 WARNING <PROCEED AT YOUR OWN RISK>
KLIQS -- DIALOG ENTRANCE QUESTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 175-5
$DLGRM -- ASK IF RELOAD MICROCODE IS REQUIRED
004657 045 040 120 .ASCIZ \% PROCEED AT YOUR OWN RISK\
004662 122 117 103
004665 105 105 104
004670 040 101 124
004673 040 131 117
004676 125 122 040
004701 117 127 116
004704 040 122 111
004707 123 113 000
8186 004712 TQSABO:
8187 004712 WARNING <AUTOMATIC RELOAD ABORTED>
004712 045 040 101 .ASCIZ \% AUTOMATIC RELOAD ABORTED\
004715 125 124 117
004720 115 101 124
004723 111 103 040
004726 122 105 114
004731 117 101 104
004734 040 101 102
004737 117 122 124
004742 105 104 000
8188 004745 TQSMMA:
8189 004745 ERROR <CAN'T SUPPORT MOS MEMORY ON A MODEL "A" CPU>
004745 077 040 103 .ASCIZ \? CAN'T SUPPORT MOS MEMORY ON A MODEL "A" CPU\
004750 101 116 047
004753 124 040 123
004756 125 120 120
004761 117 122 124
004764 040 115 117
004767 123 040 115
004772 105 115 117
004775 122 131 040
005000 117 116 040
005003 101 040 115
005006 117 104 105
005011 114 040 042
005014 101 042 040
005017 103 120 125
005022 000
8190
8191 021154 .PSECT
KLIQS -- DIALOG ENTRANCE QUESTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 176
$DLGEN -- ASK IF ENTERING DIALOG IS REQUIRED
8193 .SBTTL $DLGEN -- ASK IF ENTERING DIALOG IS REQUIRED
8194
8195 021154 $DLGEN::
8196 021154 105037 000047' CLRB .FILSW ; SAY WRITE CONFIGURATION FILE
8197 021160 105737 000024' TSTB .DLGSW ; TEST DIALOG CONTROL SWITCH.
8198 021164 002440 BLT 40$ ; TAKE INTERNAL PATH.
8199 021166 105037 000024' CLRB .DLGSW ; RESET CONTROL SWITCH.
8200 ;
8201 ; ENTER DIALOGUE
8202 ;
8203 021172 10$:
8204 021172 PRINT #TQSDLG ; ASK QUESTION.
021172 012700 004240' MOV #TQSDLG,R0
021176 004737 027620' JSR PC,$TTMSG
8205 021202 CALL $TTRD ; READ ANSWER
021202 004737 027114' JSR PC,$TTRD
8206 021206 012705 000304' MOV #.TTIBF,R5
8207 021212 105715 TSTB (R5) ; CR ?
8208 021214 001421 BEQ 30$ ; YES, TREAT AS DEFAULT
8209 021216 022715 047516 CMP #"NO,(R5) ; [NO] ?
8210 021222 001416 BEQ 30$ ; TAKE DEFAULT DIALOG PATH.
8211 021224 022715 042531 CMP #"YE,(R5) ; [YES] ?
8212 021230 001424 BEQ 45$ ; [5.1013] ASK NEXT QUESTION.
8213 021232 022715 054105 CMP #"EX,(R5) ; [EXIT] ?
8214 021236 001522 BEQ 120$ ; EXIT FROM KLINIT.
8215 021240 022715 047502 CMP #"BO,(R5) ; [BOOT] ?
8216 021244 001437 BEQ 60$ ; LOAD AND START BOOT.
8217 ;
8218 ; COMMAND SYNTAX ERROR
8219 ;
8220 021246 20$:
8221 021246 PRINT #COMCSE ; SOME MISTAKE....
021246 012700 005552' MOV #COMCSE,R0
021252 004737 027620' JSR PC,$TTMSG
8222 021256 000745 BR 10$ ; ASK QUESTION AGAIN.
8223 ;
8224 ;
8225 ; "NO" RESPONSE
8226 ;
8227 021260 30$:
8228 021260 105237 000024' INCB .DLGSW ; INDICATE DEFAULT PATH
8229 021264 000406 BR 45$ ; [5.1013] AND GO ON
8230 ;
8231 ;
8232 ; INTERNAL PATH
8233 ;
8234 021266 40$:
8235 021266 032737 000000G 000060' BIT #KL.LRM,.KLISV ; [5.1013] MUST WE LOAD THE RAMS??
8236 021274 001002 BNE 45$ ; [5.1013] YES -- FORGET ABOUT CACHE SWEEP
8237 021276 CALL LQSCSW ; [5.1013] NO -- SWEEP THE CACHE
021276 004737 022420' JSR PC,LQSCSW
8238 ;
8239 ; "YES" RESPONSE
8240 ;
8241 021302 45$:
8242 021302 CALL LQSHWE ; [4.2333] READ AND DESCRIBE OUR HARDWARE
021302 004737 021542' JSR PC,LQSHWE
KLIQS -- DIALOG ENTRANCE QUESTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 176-1
$DLGEN -- ASK IF ENTERING DIALOG IS REQUIRED
8243 021306 103007 BCC 50$ ; [4.2333] ALL OK IF CC-C IS CLEAR
8244 021310 105737 000024' TSTB .DLGSW ; [4.2333] ARE WE ON INTERNAL PATH??
8245 021314 002467 BLT 110$ ; [4.2333] YES -- ABORT AUTOMATIC RELOAD
8246 021316 PRINT #TQSWRN ; [4.2333] NO -- WARN OPERATOR
021316 012700 004657' MOV #TQSWRN,R0
021322 004737 027620' JSR PC,$TTMSG
8247 021326 50$:
8248 021326 105737 000035' TSTB .MCA25 ; [**] DOES MCA25 EXIST?
8249 021332 003402 BLE 55$ ; [**] NO -- START WITH RAM DIALOG
8250 021334 000137 020374' JMP $DLGPA ; [**] YES -- START WITH PAGER DIALOG
8251 021340 55$:
8252 021340 000137 020664' JMP $DLGRM ; AND START DIALOGUE
8253 ;
8254 ;
8255 ; "BOOT" RESPONSE
8256 ;
8257 021344 60$:
8258 021344 105037 000033' CLRB .DBSW
8259 021350 105337 000047' DECB .FILSW ; DISABLE CONFIGURATION FILE WRITE
8260 021354 105037 000026' CLRB .UFNSW ; USE DEFAULT FILE
8261 021360 CALL LQSBPS ; IF OPERAND FOLLOWS
021360 004737 021516' JSR PC,LQSBPS
8262 021364 001416 BEQ 70$ ; THEN
8263 021366 012700 000502' MOV #.USRFN,R0 ; GET FILENAME BLOCK
8264 021372 012701 MOV (PC)+,R1
8265 021374 021402 .RAD50 /EXB/ ; SET DEFAULT EXTENSION
8266 021376 010160 000006 MOV R1,6(R0)
8267 021402 CALL $TRF2B ; AND PARSE OUT FILE NAME.
021402 004737 025132' JSR PC,$TRF2B
8268 021406 103717 BCS 20$
8269 021410 105715 TSTB (R5) ; IF NOT TERMINATED PROPERLY
8270 021412 001315 BNE 20$ ; TELL HIM SO.
8271 021414 105237 000026' INCB .UFNSW ; INDICATED FILE NAME SPECIFIED.
8272 021420 000402 BR 71$
8273 021422 70$:
8274 021422 CALL LQBRBF ; READ SAVED BOOT FILE NAME
021422 004737 016656' JSR PC,LQBRBF
8275 021426 71$: CALL HLTNOE ; HALT THE KL AND DISABLE -20F INTERRUPTIONS
021426 004737 022252' JSR PC,HLTNOE
8276 021432 CALL LQSCSW ; [5.1013] SWEEP THE CACHE
021432 004737 022420' JSR PC,LQSCSW
8277 021436 CALL LQSHDW ; [4.2333] READ THE HARDWARE OPTIONS
021436 004737 022056' JSR PC,LQSHDW
8278 021442 103003 BCC 80$ ; [4.2333] ALL OK IF CC-C IS CLEAR
8279 021444 CALL LQSCHE ; [4.2333] TELL HIM WE GOT AN ERROR
021444 004737 022036' JSR PC,LQSCHE
8280 021450 000403 BR 90$ ; [4.2333] AND GO ON
8281 ;
8282 021452 80$:
8283 021452 CALL LQSCHO ; [4.2333] MAKE SURE THAT WE ARE OK
021452 004737 022012' JSR PC,LQSCHO
8284 021456 103004 BCC 100$ ; [4.2333] ALL OK IF CC-C IS CLEAR
8285 021460 90$:
8286 021460 PRINT #TQSWRN ; [4.2333] WARN HIM
021460 012700 004657' MOV #TQSWRN,R0
021464 004737 027620' JSR PC,$TTMSG
8287 021470 100$:
KLIQS -- DIALOG ENTRANCE QUESTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 176-2
$DLGEN -- ASK IF ENTERING DIALOG IS REQUIRED
8288 021470 000137 023700' JMP $CFGBT ; AND GO LOAD BOOT.
8289 ;
8290 ;
8291 ; HERE TO ABORT AN AUTOMATIC RELOAD
8292 ;
8293 021474 110$:
8294 021474 PRINT #TQSABO ; [4.2333] SAY THAT WE ARE ABORTING
021474 012700 004712' MOV #TQSABO,R0
021500 004737 027620' JSR PC,$TTMSG
8295 ;
8296 ; "EXIT" RESPONSE
8297 ;
8298 021504 120$:
8299 021504 013737 000062' 000000G MOV .SNSAV,.CPUSN ; [4.2333] RESTORE SERIAL NUMBER
8300 021512 000137 024006' JMP $EXIT ; EXIT FROM KLINIT.
8301 ;
8302
KLIQS -- DIALOG ENTRANCE QUESTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 177
$DLGEN -- ASK IF ENTERING DIALOG IS REQUIRED
8304 ;+
8305 ; BYPASS CHARACTERS TO END OF LINE OR PAST CONTIGUOUS SET OF SPACES.
8306 ;-
8307
8308 021516 LQSBPS:
8309 021516 105715 TSTB (R5) ; IF END OF LINE
8310 021520 001407 BEQ 20$ ; THEN QUIT
8311 021522 122725 000040 CMPB #' ,(R5)+ ; OTHERWISE LOOK
8312 021526 001373 BNE LQSBPS ; FOR A SPACE.
8313 021530 10$:
8314 021530 122725 000040 CMPB #' ,(R5)+ ; THEN BYPASS
8315 021534 001775 BEQ 10$ ; ANY MORE THAT FOLLOW.
8316 021536 105745 TSTB -(R5) ; TEST FOR END OF LINE.
8317 021540 20$:
8318 021540 RETURN
021540 000207 RTS PC
KLIQS -- DIALOG ENTRANCE QUESTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 178
$DLGEN -- ASK IF ENTERING DIALOG IS REQUIRED
8320 ;+
8321 ; THIS SUBROUTINE DISPLAYS THE HARDWARE ENVIRONMENT OF THE KL10, AND DOES
8322 ; CHECKS FOR CONFLICTING OPTIONS.
8323 ;-
8324
8325 .ENABL LSB
8326
8327 021542 LQSHWE: CALL HLTNOE ; HALT KL AND TELL -20F NOT TO INTEFERR
021542 004737 022252' JSR PC,HLTNOE
8328 021546 005737 000000G TST .CPUSN ; [4.2333] HAVE WE BEEN HERE BEFORE??
8329 021552 003140 BGT 60$ ; [4.2333] YES -- JUST EXIT
8330 021554 100530 BMI LQSCHE ; [4.2333] YES -- FAILED BEFORE, GRIPE AND EXIT
8331 021556 CALL LQSHDW ; [4.2333] NO -- READ THE HARDWARE OPTIONS
021556 004737 022056' JSR PC,LQSHDW
8332 021562 103525 BCS LQSCHE ; [4.2333] ERROR IF CC-C IS SET
8333 021564 105737 000024' TSTB .DLGSW ; [4.2333] ARE WE ON INTERNAL PATH??
8334 021570 002003 BGE 10$ ; [4.2333] NO -- GO ON
8335 021572 005737 000000G TST .DATE3 ; [4.2333] YES -- IS THIS A RELOAD??
8336 021576 001105 BNE LQSCHO ; [4.2333] YES -- JUST CHECK OPTIONS
8337 021600 10$:
8338 021600 012700 004301' MOV #TQSKSN,R0 ; [4.2333] NO -- SERIAL NUMBER PREAMBLE TO R0
8339 021604 CALL $TTDMS ; [4.2333] PRINT IT
021604 004737 027552' JSR PC,$TTDMS
8340 021610 013700 000000G MOV .CPUSN,R0 ; [4.2333] AND THE SERIAL NUMBER
8341 021614 CALL $TDB2I ; [4.2333] PRINT THAT
021614 004737 025250' JSR PC,$TDB2I
8342 021620 012700 004324' MOV #TQSMDL,R0 ; [4.2333] MODEL TYPE PREAMBLE
8343 021624 CALL $TTDMS ; [4.2333] PRINT THAT
021624 004737 027552' JSR PC,$TTDMS
8344 021630 012746 000102 MOV #'B,-(SP) ; [4.2333] ASSUME MODEL "B"
8345 021634 010600 MOV SP,R0 ; [4.2333] POINT TO BUFFER ON STACK
8346 021636 012701 000001 MOV #1,R1 ; [4.2333] LENGTH OF 1 CHARACTER
8347 021642 105737 000044' TSTB .EASW ; [4.2333] IS IT A MODEL "B"??
8348 021646 100001 BPL 20$ ; [4.2333] YES -- GO ON
8349 021650 005316 DEC (SP) ; [4.2333] NO -- MAKE IT AN "A"
8350 021652 20$:
8351 021652 CALL $TTWR ; [4.2333] AND PRINT IT
021652 004737 027700' JSR PC,$TTWR
8352 021656 012716 000054 MOV #',,(SP) ; [4.2333] SET UP <COMMA>
8353 021662 CALL $TTWR ; [4.2333] AND PRINT IT
021662 004737 027700' JSR PC,$TTWR
8354 021666 005726 TST (SP)+ ; [4.2333] CLEAR STACK
8355 021670 CALL $TTSPC ; [4.2333] PRINT A <SPACE>
021670 004737 027464' JSR PC,$TTSPC
8356 021674 012700 000074 MOV #^D60,R0 ; [4.2333] ASSUME A 60 HERTZ MACHINE
8357 021700 032737 000000G 000000G BIT #H.KPWR,.HRDWR ; [4.2333] IS IT A 60 HERTZ MACHINE??
8358 021706 001402 BEQ 30$ ; [4.2333] YES -- GO ON
8359 021710 012700 000062 MOV #^D50,R0 ; [4.2333] NO -- MAKE IT 50 HERTZ
8360 021714 30$:
8361 021714 CALL $TDB2I ; [4.2333] PRINT WHATEVER
021714 004737 025250' JSR PC,$TDB2I
8362 021720 012700 004337' MOV #TQSHRZ,R0 ; [4.2333] POSTAMBLE POINTER TO R0
8363 021724 CALL $TTDMS ; [4.2333] AND PRINT IT
021724 004737 027552' JSR PC,$TTDMS
8364 021730 PRINT #TQSHWP ; [4.2333] PRINT THE HEADER
021730 012700 004347' MOV #TQSHWP,R0
021734 004737 027620' JSR PC,$TTMSG
KLIQS -- DIALOG ENTRANCE QUESTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 178-1
$DLGEN -- ASK IF ENTERING DIALOG IS REQUIRED
8365 021740 012701 000001 MOV #BIT0,R1 ; [4.2333] BIT MASK TO R1
8366 021744 012702 001676' MOV #DQSHWT,R2 ; [4.2333] TABLE POINTER TO R2
8367 021750 013703 000000G MOV .HRDWR,R3 ; [4.2333] OPTION BITS TO R3
8368 021754 042703 000000G BIC #H.KPWR,R3 ; [4.2333] MINUS A COUPLE
8369 021760 012704 000006 MOV #6,R4 ; [4.2333] ITERATION COUNT TO R4
8370 021764 40$:
8371 021764 030103 BIT R1,R3 ; [4.2333] IS THE OPTION PRESENT??
8372 021766 001404 BEQ 50$ ; [4.2333] NO -- TRY NET OPTION
8373 021770 011200 MOV (R2),R0 ; [4.2333] YES -- DO WE CARE ABOUT IT AT THIS POINT??
8374 021772 001402 BEQ 50$ ; [4.2333] NO -- GO ON
8375 021774 CALL $TTDMS ; [4.2333] YES -- PRINT IT
021774 004737 027552' JSR PC,$TTDMS
8376 022000 50$:
8377 022000 005722 TST (R2)+ ; [4.2333] ADVANCE MESSAGE POINTER
8378 022002 006301 ASL R1 ; [4.2333] ADVANCE BIT MASK
8379 022004 077411 SOB R4,40$ ; [4.2333] AND CONTINUE
8380 022006 CALL $TCRLF ; [4.2333] END THE DISPLAY
022006 004737 027514' JSR PC,$TCRLF
8381 ;
8382 ; HERE TO CHECK FOR CONFLICTING OPTIONS
8383 ; (MODEL "A" CPU AND MOS MASTER OSCILATOR)
8384 ;
8385 022012 LQSCHO:
8386 022012 105737 000044' TSTB .EASW ; [4.2333] IS THIS A MODEL "A" CPU??
8387 022016 100016 BPL 60$ ; [4.2333] NO -- GO ON
8388 022020 105737 000045' TSTB .MFSW ; [4.2333] YES -- IS MOS MEMORY PRESENT??
8389 022024 100413 BMI 60$ ; [4.2333] NO -- GO ON (FIX BR POLARITY)
8390 022026 PRINT #TQSMMA ; [4.2333] YES -- COMPLAIN
022026 012700 004745' MOV #TQSMMA,R0
022032 004737 027620' JSR PC,$TTMSG
8391 ;
8392 ; HERE TO FLAG AND REPORT HARDWARE OPTION ERRORS
8393 ;
8394 022036 LQSCHE:
8395 022036 PRINT #TQSCDH ; [4.2333] CAN'T DETERMINE HARDWARE OPTIONS
022036 012700 004603' MOV #TQSCDH,R0
022042 004737 027620' JSR PC,$TTMSG
8396 022046 005337 000000G DEC .CPUSN ; [4.2333] FLAG THIS FACT
8397 022052 000261 SEC ; [4.2333] SET ERROR RETURN
8398 022054 60$:
8399 022054 RETURN ; [4.2333] TO CALLER
022054 000207 RTS PC
8400
8401 .DSABL LSB
KLIQS -- DIALOG ENTRANCE QUESTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 179
$DLGEN -- ASK IF ENTERING DIALOG IS REQUIRED
8403 ;+
8404 ; DETERMINES THE HARDWARE FEATURES OF THE KL FOR LATER REFERENCE.
8405 ;-
8406
8407 022056 LQSHDW:
8408 022056 012700 001670' MOV #DQSAPR,R0 ; GET HARDWARE OPTIONS BY
8409 022062 CALL LQSHWO ; OBTAINING RH(APRID)
022062 004737 022276' JSR PC,LQSHWO
8410 022066 103470 BCS 40$ ; [4.2333]
8411 022070 113746 001672' MOVB DQSAPR+2,-(SP) ; [4.2333] GET HIGH PART OF HARDWARE OPTIONS
8412 022074 042716 177774 BIC #^C3,(SP) ; [4.2333] GET RID OF JUNK
8413 022100 SL (SP),4 ; [4.2333] POSITION IT
022100 006316 ASL (SP)
022102 006316 ASL (SP)
022104 006316 ASL (SP)
022106 006316 ASL (SP)
8414 022110 113746 001671' MOVB DQSAPR+1,-(SP) ; [4.2333] NOW FOR THE LOW PART
8415 022114 042716 177417 BIC #^C360,(SP) ; [4.2333] FLUSH JUNK
8416 022120 SR (SP),4 ; [4.2333] AND POSITION THAT
022120 006216 ASR (SP)
022122 006216 ASR (SP)
022124 006216 ASR (SP)
022126 006216 ASR (SP)
8417 022130 052616 BIS (SP)+,(SP) ; [4.2333] MERGE THE HARDWARE OPTIONS
8418 022132 013746 001670' MOV DQSAPR,-(SP) ; [4.2333] NOW GET THE SERIAL NUMBER
8419 022136 042716 170000 BIC #^C7777,(SP) ; [4.2333] WITHOUT THE HANGERS-ON
8420 022142 012700 000000G MOV #.CPUSN,R0 ; [4.2333] POINT TO THE SERIAL NUMBER
8421 022146 012620 MOV (SP)+,(R0)+ ; [4.2333] SET THE SERIAL NUMBER
8422 022150 012610 MOV (SP)+,(R0) ; [4.2333] AND ITS HARDWARE OPTIONS
8423 022152 105337 000043' DECB .CASW ; ASSUME NO CACHE
8424 022156 132710 000000G BITB #H.KCAC,(R0) ; [4.2333] AND IF THERE IS
8425 022162 001402 BEQ 10$
8426 022164 105437 000043' NEGB .CASW ; THEN RECORD IT.
8427 022170 10$:
8428 022170 105337 000035' DECB .MCA25 ; [**] ASSUME NO MCA25 CACHE PAGER
8429 022174 132710 000000G BITB #H.KUDF,(R0) ; [**] CHECK FOR MCA25 - "BIT 23" OF APRID
8430 022200 001402 BEQ 15$ ; [**] NOT PRESENT -- GO ON
8431 022202 105437 000035' NEGB .MCA25 ; [**] MCA25 CACHE PAGER PRESENT
8432 022206 15$:
8433 022206 105337 000045' DECB .MFSW ; ASSUME NO MOS MEMORY
8434 022212 132710 000000G BITB #H.KMOS,(R0) ; [4.2333] CHECK MOS MASTER OSCILLATOR
8435 022216 001404 BEQ 20$ ; NOT PRESENT -- GO ON
8436 022220 105437 000045' NEGB .MFSW ; MOS IS IN SYSTEM
8437 022224 CALL $KLMR ; DO ANOTHER RESET TO SETUP CLOCKS
022224 004737 015232' JSR PC,$KLMR
8438 022230 20$:
8439 022230 105337 000044' DECB .EASW ; ASSUME A MODEL A CPU
8440 022234 132710 000000G BITB #H.KEXT,(R0) ; [4.2333] AND IF MODEL B
8441 022240 001402 BEQ 30$ ; THEN
8442 022242 105437 000044' NEGB .EASW ; THERE IS EXTENDED ADDRESSING.
8443 022246 30$:
8444 022246 000241 CLC ; [4.2333] INSURE SUCCESS RETURN
8445 022250 40$:
8446 022250 RETURN
022250 000207 RTS PC
KLIQS -- DIALOG ENTRANCE QUESTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 180
$DLGEN -- ASK IF ENTERING DIALOG IS REQUIRED
8448 ;+
8449 ; THIS SUBROUTINE CLEARS PROTOCOL AND HALTS THE KL
8450 ;-
8451
8452 022252 HLTNOE:
8453 022252 012737 000621 000000G MOV #401.,.NOERR ; TELL 20F NOT TO INTERRUPT
8454 022260 CALL ..DTSP ; AND TURN OFF PROTOCOLS
022260 004737 000000G JSR PC,..DTSP
8455 022264 012700 010000 MOV #.CLRUN,R0 ; HALT THE KL IF RUNNING
8456 022270 CALL $DFXC
022270 004737 013760' JSR PC,$DFXC
8457 022274 RETURN
022274 000207 RTS PC
KLIQS -- DIALOG ENTRANCE QUESTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 181
$DLGEN -- ASK IF ENTERING DIALOG IS REQUIRED
8459 ;+
8460 ; SPECIAL ROUTINE TO GET LOWER HARDWARE HALF OF APRID WITHOUT
8461 ; DESTROYING REGISTERS. THIS ROUTINE IS HAIRY BECAUSE IT MODIFIES
8462 ; C-RAM LOCATION ZERO FOR A SHORT TIME AND THEN RESTORES IT TO ITS
8463 ; ORIGINAL CONTENTS.
8464 ;
8465 ; [**] THIS ROUTINE IS ALSO USED FOR MCA25 CACHE PAGE TABLE SELECTION
8466 ;
8467 ; INPUTS:
8468 ; R0 - ADDRESS OF 36 BIT BUFFER.
8469 ; R3 - ADDRESS OF CACHE PAGE SELECT MICRO-INSTR ([**])
8470 ; .MCSW - NON-ZERO MEANS WE ARE DOING A PAGE SELECT ([**])
8471 ;
8472 ; OUTPUT:
8473 ; (R0) - RECIEVES RH(APRID) WORD.
8474 ; CARRY IS SET IF ERROR OCCURS.
8475 ;-
8476
8477 022276 LQSHWO::
8478 022276 010002 MOV R0,R2
8479 022300 CALL $KLMR ; CLEAR THE WORLD.
022300 004737 015232' JSR PC,$KLMR
8480 022304 103444 BCS 20$
8481 022306 012701 001640' MOV #DQSCBF,R1 ; HOLDING AREA FOR CONTENTS OF C-RAM 0
8482 022312 005000 CLR R0 ; READ C-RAM LOCATION ZERO.
8483 022314 CALL $RCRAM
022314 004737 011564' JSR PC,$RCRAM
8484 022320 103436 BCS 20$
8485 022322 012701 001654' MOV #DQSCF3,R1 ; NOW WRITE WORD WITH COND FIELD = 3
8486 022326 105737 000051' TSTB .MCSW ; [**] ARE WE SELECTING A CACHE PAGE TABLE?
8487 022332 001401 BEQ 5$ ; [**] NO -- GO DO AN APRID READ
8488 022334 010301 MOV R3,R1 ; [**] YES -- FETCH THE C-RAM WORD ADDRESS
8489 022336 5$:
8490 022336 CALL $WCRAM
022336 004737 011304' JSR PC,$WCRAM
8491 022342 103420 BCS 10$
8492 022344 012700 003000 MOV #.SECLK,R0 ; STEP THE EBOX TWICE.
8493 022350 CALL $DFXC
022350 004737 013760' JSR PC,$DFXC
8494 022354 103413 BCS 10$
8495 022356 CALL $DFXC
022356 004737 013760' JSR PC,$DFXC
8496 022362 103410 BCS 10$
8497 022364 105737 000051' TSTB .MCSW ; [**] ARE WE SELECTING A CACHE PAGE TABLE?
8498 022370 001005 BNE 10$ ; [**] YES -- SKIP READING THE AR
8499 022372 010201 MOV R2,R1 ; NOW READ THE AR.
8500 022374 012700 120000 MOV #<120*1000>,R0
8501 022400 CALL $DFRD
022400 004737 013444' JSR PC,$DFRD
8502 022404 10$:
8503 022404 012701 001640' MOV #DQSCBF,R1 ; RESTORE C-RAM LOCATION ZERO.
8504 022410 005000 CLR R0
8505 022412 CALLR $WCRAM
022412 000137 011304' JMP $WCRAM
8506 022416 20$:
8507 022416 RETURN
022416 000207 RTS PC
KLIQS -- DIALOG ENTRANCE QUESTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 182
$DLGEN -- ASK IF ENTERING DIALOG IS REQUIRED
8509 ;+
8510 ; LQSCSW -- LOCAL SUBROUTINE TO SWEEP CACHE AND UPDATE CORE
8511 ;
8512 ; THIS SUBROUTINE WILL SWEEP CACHE AND UPDATE CORE. THIS ROUTINE IS CALLED
8513 ; FROM THE INTERNAL PATH AND THE "BOOT" OPTION IN ANTICIPATION OF A DUMP.
8514 ;
8515 ; THE CACHE SWEEP IS "XCT"'D, BUT IN A DIFFERENT MANNER THAN NORMAL, AS A
8516 ; CACHE SWEEP CAN TAKE A SIGNIFICANTLY LONGER TIME TO EXECUTE THAN OTHER
8517 ; KL INSTRUCTIONS.
8518 ;
8519 ; THIS CACHE SWEEP IS EXECUTED "BLINDLY", REGARDLESS OF WHETHER OR NOT CACHE
8520 ; EXISTS IN THE HARDWARE; THE INSTRUCTION WILL "WORK" ANYWAY. THE EXECUTE IS
8521 ; INITIATED, WE WAIT FOR ONE-HALF SECOND, AND SIMPLY PROCEEED; ERRORS ARE IGNORED.
8522 ;-
8523
8524 022420 LQSCSW:
8525 022420 105337 000030' DECB .CSDN ; [5.1013] BEEN HERE BEFORE??
8526 022424 001036 BNE 10$ ; [5.1013] YES -- JUST EXIT
8527 022426 012700 001620' MOV #DQSCSW,R0 ; [5.1013] INSTRUCTION POINTER TO R0
8528 022432 CALL $LDAR ; [5.1013] LOAD IT INTO THE AR REGISTER
022432 004737 031162' JSR PC,$LDAR
8529 022436 103431 BCS 10$ ; [5.1013] ERROR IF CC-C IS SET
8530 022440 012700 012000 MOV #.CONBT,R0 ; [5.1013] PUSH THE CONTINUE BUTTON
8531 022444 CALL $DFXC ; [5.1013] SO
022444 004737 013760' JSR PC,$DFXC
8532 022450 103424 BCS 10$ ; [5.1013] ERROR IF CC-C IS SET
8533 022452 012700 001000 MOV #.STRCL,R0 ; [5.1013] START THE CLOCK
8534 022456 CALL $DFXC ; [5.1013] SO
022456 004737 013760' JSR PC,$DFXC
8535 022462 103417 BCS 10$ ; [5.1013] ERROR IF CC-C IS SET
8536 022464 CLEF$S #5. ; [5.1013] RESET THE EVENT FLAG
022464 012746 000005 MOV #5.,-(SP)
022470 012746 MOV (PC)+,-(SP)
022472 037 002 .BYTE 31.,2
022474 104375 EMT 375
8537 022476 103411 BCS 10$ ; [5.1013] ERROR IF CC-C IS SET
8538 022500 DIR$ #DQSMKT ; [5.1013] WAIT FOR 1/2 SECOND
022500 012746 001626' MOV #DQSMKT,-(SP)
022504 104375 EMT 375
8539 022506 103405 BCS 10$ ; [5.1013] ERROR IF CC-C IS SET
8540 022510 WTSE$S #5. ; [5.1013] ZZZ...
022510 012746 000005 MOV #5.,-(SP)
022514 012746 MOV (PC)+,-(SP)
022516 051 002 .BYTE 41.,2
022520 104375 EMT 375
8541 022522 10$:
8542 022522 RETURN ; [5.1013] TO CALLER
022522 000207 RTS PC
KLIQS -- DIALOG ENTRANCE QUESTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 183
$DLGEN -- ASK IF ENTERING DIALOG IS REQUIRED
8544
8545 .TITLE KLIRS -- SPECIAL KL RESTARTS
8546 022524 IDENT$ 13,06,KLI$$F
.IDENT /B13060/
8547 ;
8548 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
8549 ; ALL RIGHTS RESERVED.
8550 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
8551 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
8552 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
8553 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
8554 ;
8555 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
8556 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
8557 ; EQUIPMENT CORPORATION.
8558 ;
8559 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
8560 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
8561 ;
8562 ; VERSION 13-04
8563 ;
8564 ; ALAN D. PECKHAM 7-APR-77
8565 ;
8566 ; MODIFICATIONS:
8567 ;
8568 ;01-Aug-83 TCO 6.1675 D. Weaver
8569 ; Move code to do warm restart to this module from KLIST.
8570 ;
8571 ; FUNCTION: THIS MODULE CONTAINS THE ROUTINES FOR SPECIAL KL RESTARTS:
8572 ;
8573 ; POWER FAIL RESTART AT 70.
8574 ; WARM RESTART AT 72.
8575 ; SYSTEM CRASH RECOVER AT 407.
8576 ;
8577 ; EQUATED SYMBOLS
8578 ;
8579 000004 CONO = 4 ; KL I/O SUB-FUNCTION CODE.
8580 000010 PAG = 10 ; KL DEVICE.
8581 ;
8582 ; LOCAL MACROS
8583 ;
8584 .MCALL MRKT$S,WTSE$S,WSIG$S
8585 ;
8586 ; LOCAL DATA
8587 ;
8588 001712 .PSECT DATA,D
8589 .EVEN
8590 001712 000000 DRSDBL::.WORD 0 ; DOORBELL COUNT
8592 001714 DRSCEN: IO10$ CONO PAG,,600000 ; ENABLE CACHE
001714 000 000 003 .BYTE BY$$0,BY$$1,BY$$2
001717 012 016 .BYTE BY$$3,BY$$4
8594 001721 DRSPLD: WD36$ 0 3 ; LOAD AR/ARX WITH
001721 003 000 000 .BYTE BY$$0,BY$$1,BY$$2
001724 000 000 .BYTE BY$$3,BY$$4
8595 001726 DRSPEN: WD36$ 0 16 ; C-RAM, D-RAM, AND FS PARITIES
001726 016 000 000 .BYTE BY$$0,BY$$1,BY$$2
001731 000 000 .BYTE BY$$3,BY$$4
KLIRS -- SPECIAL KL RESTARTS MACRO V05.04 Tuesday 17-May-88 14:21 Page 183-1
$DLGEN -- ASK IF ENTERING DIALOG IS REQUIRED
8596 001733 DRSPFR: WD22$ 70 ; KL POWER FAIL RESTART ADDRESS.
001733 070 000 000 .BYTE BY$$0,BY$$1,BY$$2
8597 001736 DRSFCR: WD22$ 72 ; FAULT CONTINUATION RESTART ADDRESS.
001736 072 000 000 .BYTE BY$$0,BY$$1,BY$$2
8598 001741 DRSSCR: WD22$ 407 ; TOPS10 KL CRASH RESTART ADDRESS.
001741 007 001 000 .BYTE BY$$0,BY$$1,BY$$2
8599 .EVEN
8600 005023 .PSECT TEXT,D
8601 005023 TRSPRF: ERROR <POWER-FAIL RESTART FAILED>
005023 077 040 120 .ASCIZ \? POWER-FAIL RESTART FAILED\
005026 117 127 105
005031 122 055 106
005034 101 111 114
005037 040 122 105
005042 123 124 101
005045 122 124 040
005050 106 101 111
005053 114 105 104
005056 000
8602 005057 TRSCES: ERROR <CLOCK ERROR STOP DURING KL RESTART>
005057 077 040 103 .ASCIZ \? CLOCK ERROR STOP DURING KL RESTART\
005062 114 117 103
005065 113 040 105
005070 122 122 117
005073 122 040 123
005076 124 117 120
005101 040 104 125
005104 122 111 116
005107 107 040 113
005112 114 040 122
005115 105 123 124
005120 101 122 124
005123 000
8603 005124 TRSHLT: ERROR <KL HALT DURING RESTART>
005124 077 040 113 .ASCIZ \? KL HALT DURING RESTART\
005127 114 040 110
005132 101 114 124
005135 040 104 125
005140 122 111 116
005143 107 040 122
005146 105 123 124
005151 101 122 124
005154 000
8604 005155 TRSTMO: ERROR <TIMEOUT DURING KL RESTART>
005155 077 040 124 .ASCIZ \? TIMEOUT DURING KL RESTART\
005160 111 115 105
005163 117 125 124
005166 040 104 125
005171 122 111 116
005174 107 040 113
005177 114 040 122
005202 105 123 124
005205 101 122 124
005210 000
8605 005211 TRSDER: ERROR <SYSTEM ERROR DURING KL RESTART>
005211 077 040 123 .ASCIZ \? SYSTEM ERROR DURING KL RESTART\
005214 131 123 124
KLIRS -- SPECIAL KL RESTARTS MACRO V05.04 Tuesday 17-May-88 14:21 Page 183-2
$DLGEN -- ASK IF ENTERING DIALOG IS REQUIRED
005217 105 115 040
005222 105 122 122
005225 117 122 040
005230 104 125 122
005233 111 116 107
005236 040 113 114
005241 040 122 105
005244 123 124 101
005247 122 124 000
8606 005252 TRSRSM: MESSAGE <KL RESTARTED>
005252 113 114 040 .ASCIZ \KL RESTARTED\
005255 122 105 123
005260 124 101 122
005263 124 105 104
005266 000
8607 005267 TRSFCF: ERROR <FAULT CONTINUATION FAILED>
005267 077 040 106 .ASCIZ \? FAULT CONTINUATION FAILED\
005272 101 125 114
005275 124 040 103
005300 117 116 124
005303 111 116 125
005306 101 124 111
005311 117 116 040
005314 106 101 111
005317 114 105 104
005322 000
8608 005323 TRSCEF: ERROR <CLOCK ERROR STOP DURING FAULT CONTINUATION>
005323 077 040 103 .ASCIZ \? CLOCK ERROR STOP DURING FAULT CONTINUATION\
005326 114 117 103
005331 113 040 105
005334 122 122 117
005337 122 040 123
005342 124 117 120
005345 040 104 125
005350 122 111 116
005353 107 040 106
005356 101 125 114
005361 124 040 103
005364 117 116 124
005367 111 116 125
005372 101 124 111
005375 117 116 000
8609 005400 TRSFHL: ERROR <KL HALT DURING FAULT CONTINUATION>
005400 077 040 113 .ASCIZ \? KL HALT DURING FAULT CONTINUATION\
005403 114 040 110
005406 101 114 124
005411 040 104 125
005414 122 111 116
005417 107 040 106
005422 101 125 114
005425 124 040 103
005430 117 116 124
005433 111 116 125
005436 101 124 111
005441 117 116 000
8610 005444 TRSSEF: ERROR <SYSTEM ERROR DURING FAULT CONTINUATION>
005444 077 040 123 .ASCIZ \? SYSTEM ERROR DURING FAULT CONTINUATION\
KLIRS -- SPECIAL KL RESTARTS MACRO V05.04 Tuesday 17-May-88 14:21 Page 183-3
$DLGEN -- ASK IF ENTERING DIALOG IS REQUIRED
005447 131 123 124
005452 105 115 040
005455 105 122 122
005460 117 122 040
005463 104 125 122
005466 111 116 107
005471 040 106 101
005474 125 114 124
005477 040 103 117
005502 116 124 111
005505 116 125 101
005510 124 111 117
005513 116 000
8611 005515 TRSFCS: MESSAGE <FAULT CONTINUATION SUCCEEDED>
005515 106 101 125 .ASCIZ \FAULT CONTINUATION SUCCEEDED\
005520 114 124 040
005523 103 117 116
005526 124 111 116
005531 125 101 124
005534 111 117 116
005537 040 123 125
005542 103 103 105
005545 105 104 105
005550 104 000
8612 022524 .PSECT
KLIRS -- SPECIAL KL RESTARTS MACRO V05.04 Tuesday 17-May-88 14:21 Page 184
$POWER -- POWER FAILURE RESTART
8614 .SBTTL $POWER -- POWER FAILURE RESTART
8615 ;+
8616 ; A POWER-FAIL ON THE KL REQUIRES AN ATTEMPT TO RESTART THE MONITOR
8617 ; AT LOCATION 70 IF POSSIBLE IN ORDER TO SAVE SYSTEM INFO.
8618 ; THE KL HAS TO BE MONITORED DURING THIS RESTART IN CASE THE
8619 ; POWER-FAIL RESTART CODE HAS BEEN CLOBBERED AND CANNOT RUN. THIS
8620 ; SITUATION IS DETECTED IF A DOORBELL IS NOT RECIEVED
8621 ; WITHIN 20 SECONDS OF RESTART, OR A FATAL ERROR SUCH AS A HALT
8622 ; OR CLOCK ERROR STOP OCCURS.
8623 ;
8624 ; NO INPUTS OR OUTPUTS
8625 ;
8626 ; EXIT IS EITHER TO $EXIT IS SUCCESSFUL OR $ERROR IF RESTART FAILED.
8627 ;-
8628
8629 .ENABL LSB
8630
8631 022524 $POWER::CALL $FILE ; WRITE CONFIGURATION FILE FIRST.
022524 004737 003036' JSR PC,$FILE
8632 022530 103516 BCS 60$
8633 022532 CALL $ZERAC ; CLEAR THE ACS.
022532 004737 000112' JSR PC,$ZERAC
8634 022536 012705 005023' MOV #TRSPRF,R5 ; "POWER-FAIL RESTART FAILED" FOR ERRORS
8635 022542 CALL ..DTP2 ; START SECONDARY PROTOCOL.
022542 004737 000000G JSR PC,..DTP2
8636 022546 CALL WAIT1S ; WAIT ONE SECOND
022546 004737 023414' JSR PC,WAIT1S
8637 022552 103500 BCS 40$ ; FAILED, GIVE UP
8638 022554 013737 000000G 001712' MOV .PRDCT,DRSDBL ; SAVE THE DOORBELL COUNT.
8639 022562 CALL LRSTKL ; ENABLE KL FOR NORMAL OPERATION
022562 004737 023316' JSR PC,LRSTKL
8640 022566 012700 001733' MOV #DRSPFR,R0 ; START KL AT 70.
8641 022572 CALL $STRKL
022572 004737 030712' JSR PC,$STRKL
8642 022576 103466 BCS 40$
8643 022600 012704 000024 MOV #20.,R4 ; ONE SECOND CHECKS FOR 20 SECONDS
8644 022604 000430 BR 10$ ; GO FINISH UP
KLIRS -- SPECIAL KL RESTARTS MACRO V05.04 Tuesday 17-May-88 14:21 Page 185
$POWER -- POWER FAILURE RESTART
8646 ;+
8647 ; A CRASH ON THE TOPS-10 MONITOR REQUIRES AN ATTEMPT TO RESTART
8648 ; AT LOCATION 407 IF POSSIBLE IN ORDER TO SAVE SYSTEM INFO.
8649 ; THE KL HAS TO BE MONITORED DURING THIS RESTART IN CASE THE
8650 ; 407 RESTART CODE HAS BEEN CLOBBERED AND CANNOT RUN. THIS
8651 ; SITUATION IS DETECTED IF A DOORBELL IS NOT RECIEVED
8652 ; WITHIN 10 SECONDS OF RESTART, OR A FATAL ERROR SUCH AS A HALT
8653 ; OR CLOCK ERROR STOP OCCURS.
8654 ;
8655 ; NO INPUTS OR OUTPUTS
8656 ;
8657 ; EXIT IS EITHER TO $EXIT IS SUCCESSFUL OR $ERROR IF RESTART FAILED.
8658 ;-
8659
8660 022606 $RSTRT::
8661 022606 CALL $WRMRST ; DO WARM RESTART IF REQUIRED
022606 004737 023006' JSR PC,$WRMRST
8662 022612 CALL $FILE ; WRITE CONFIGURATION FILE FIRST.
022612 004737 003036' JSR PC,$FILE
8663 022616 103461 BCS 50$
8664 022620 012705 005211' MOV #TRSDER,R5 ; "SYSTEM ERROR DURING KL RESTART" FOR ERRORS
8665 022624 CALL ..DTP2 ; START SECONDARY PROTOCOL.
022624 004737 000000G JSR PC,..DTP2
8666 022630 CALL WAIT1S ; WAIT ONE SECOND
022630 004737 023414' JSR PC,WAIT1S
8667 022634 103447 BCS 40$ ; FAILED, GIVE UP
8668 022636 013737 000000G 001712' MOV .PRDCT,DRSDBL ; SAVE THE DOORBELL COUNT.
8669 022644 CALL LRSTKL ; ENABLE KL FOR NORMAL OPERATION
022644 004737 023316' JSR PC,LRSTKL
8670 022650 012700 001741' MOV #DRSSCR,R0 ; RESTART KL AT 407.
8671 022654 CALL $STRKL
022654 004737 030712' JSR PC,$STRKL
8672 022660 103435 BCS 40$ ; IF SUCCESSFUL,
8673 022662 012704 000012 MOV #10.,R4 ; ONE SECOND CHECKS FOR 10 SECONDS
8674 022666 10$:
8675 022666 012705 005211' MOV #TRSDER,R5 ; "SYSTEM ERROR DURING KL RESTART" FOR ERRORS
8676 022672 CALL $DTRW1 ; READ DTE REGISTER #1.
022672 004737 024100' JSR PC,$DTRW1
8677 022676 103426 BCS 40$
8678 022700 012705 005057' MOV #TRSCES,R5 ; "CLOCK ERROR STOP DURING KL RESTART"
8679 022704 032700 004000 BIT #DS04,R0 ; CLOCK ERROR STOP ?
8680 022710 001021 BNE 40$ ; YES, TELL THE GUY.
8681 022712 012705 005124' MOV #TRSHLT,R5 ; "KL HALTED DURING RESTART"
8682 022716 032700 001000 BIT #DS06,R0 ; KL HALTED ?
8683 022722 001014 BNE 40$ ; YES...
8684 022724 023737 000000G 001712' CMP .PRDCT,DRSDBL ; IF THE DOORBELL HAS RUNG
8685 022732 001015 BNE 60$ ; THEN WE ARE IN.
8686 022734 012705 005211' MOV #TRSDER,R5 ; "SYSTEM ERROR DURING KL RESTART"
8687 022740 20$:
8688 022740 CALL WAIT1S ; WAIT ONE SECOND
022740 004737 023414' JSR PC,WAIT1S
8689 022744 103403 BCS 40$ ; FAILED, GIVE UP
8690 022746 077431 SOB R4,10$ ; TRY AGAIN.
8691 022750 012705 005155' MOV #TRSTMO,R5 ; "TIMEOUT DURING KL RESTART"
8692 022754 40$:
8693 022754 PRINT R5 ; PRINT ERROR MESSAGE
022754 010500 MOV R5,R0
KLIRS -- SPECIAL KL RESTARTS MACRO V05.04 Tuesday 17-May-88 14:21 Page 185-1
$POWER -- POWER FAILURE RESTART
022756 004737 027620' JSR PC,$TTMSG
8694 022762 50$:
8695 022762 000137 023776' JMP $ERROR ; ERROR EXIT.
8696 022766 60$:
8697 022766 005037 000000G CLR .NOERR ; ALLOW KL ERRORS TO OCCUR,
8698 022772 PRINT #TRSRSM ; TELL OPERATOR "KL RESTARTED"
022772 012700 005252' MOV #TRSRSM,R0
022776 004737 027620' JSR PC,$TTMSG
8699 023002 000137 024006' JMP $EXIT ; AND EXIT NORMALLY.
8700 .DSABL LSB
KLIRS -- SPECIAL KL RESTARTS MACRO V05.04 Tuesday 17-May-88 14:21 Page 186
$WRMRS -- WARM RESTART (FAULT CONTINUATION)
8702 .SBTTL $WRMRS -- WARM RESTART (FAULT CONTINUATION)
8703 ;+
8704 ; A KL CPU ERROR OCCURING WITH FAULT CONTINUATION ENABLED CAUSES AN
8705 ; XCT 72 TO ATTEMPT MONITOR RECOVERY.
8706 ;
8707 ; THE KL HAS TO BE MONITORED DURING THIS RESTART IN CASE THE
8708 ; WARM RESTART CODE HAS BEEN CLOBBERED AND CANNOT RUN. THIS
8709 ; SITUATION IS DETECTED IF A DOORBELL IS NOT RECIEVED
8710 ; WITHIN 10 SECONDS OF RESTART.
8711 ;
8712 ; INPUTS:
8713 ; .ERRCD CONTAINS THE ERROR CODE AND KL FLAGS FROM KLERR
8714 ; .ERRPC CONTAINS THE 23 BIT PC FROM KLERR
8715 ;
8716 ; OUTPUT:
8717 ; KL LOC 100+2*CPUN CONTAINS XWD FLAGS,,ERRCOD
8718 ; KL LOC 101+2*CPUN CONTAINS 23 BIT PC
8719 ;
8720 ; ERRORS:
8721 ; CLOCK ERROR STOP DURING KL RESTART
8722 ; KL HALT DURING RESTART
8723 ; TIMEOUT DURING KL RESTART
8724 ; SYSTEM ERROR DURING KL RESTART
8725 ; FAULT CONTINUATION TIMEOUT
8726 ;
8727 ; EXIT IS TO $EXIT IS SUCCESSFUL OR RETURNS IF RESTART FAILED.
8728 ;-
8729
8730 .ENABL LSB
8731
8732 023006 $WRMRS::
8733 023006 105737 000000G TSTB .KLFCF ; FAULT CONTINUATION ENABLED ?
8734 023012 001124 BNE 50$ ; BRANCH IF NOT
8735 023014 005737 000000G TST .ERRCD ; ANY ERRORS TO CONTINUE ON ?
8736 023020 001521 BEQ 50$ ; BRANCH IF NOT
8737 023022 113700 000000G MOVB .KLCPU,R0 ; GET OUR CPU NUMBER
8738 023026 001516 BEQ 50$ ; IF ZERO, HOST CAN'T DO IT
8739 023030 012705 005267' MOV #TRSFCF,R5 ; (ERROR MESSAGE)
8740 023034 006300 ASL R0 ; CPU*2 SO WE CAN USE TWO WORDS/CPU
8741 023036 062700 000076 ADD #76,R0 ; CONVERT TO LOCATION FOR DEPOSIT (CPU0=100)
8742 ; LOC=100+(CPUN*2)-2
8743 023042 012701 000000G MOV #.ERRCD,R1 ; ADDRESS OF SAVED FLAGS AND ERROR CODE
8744 023046 CALL $DPOST ; DO THE DEPOSIT
023046 004737 013056' JSR PC,$DPOST
8745 023052 103501 BCS 40$ ; BRANCH ON ERROR
8746 023054 113700 000000G MOVB .KLCPU,R0 ; GET OUR CPU NUMBER
8747 ; LOC=101+(CPUN*2)-2
8748 023060 006300 ASL R0 ; CPU*2 SO WE CAN USE TWO WORDS/CPU
8749 023062 062700 000077 ADD #77,R0 ; CONVERT TO LOCATION FOR DEPOSIT (CPU0=101)
8750 023066 012701 000000G MOV #.ERRPC,R1 ; ADDRESS OF THE SAVED PC TO R1
8751 023072 CALL $DPOST ; DEPOSIT IT
023072 004737 013056' JSR PC,$DPOST
8752 023076 103467 BCS 40$ ; BRANCH ON ERROR
8753 023100 CALL ..DTP2 ; START SECONDARY PROTOCOL.
023100 004737 000000G JSR PC,..DTP2
8754 023104 CALL WAIT1S ; WAIT ONE SECOND
023104 004737 023414' JSR PC,WAIT1S
KLIRS -- SPECIAL KL RESTARTS MACRO V05.04 Tuesday 17-May-88 14:21 Page 186-1
$WRMRS -- WARM RESTART (FAULT CONTINUATION)
8755 023110 103462 BCS 40$ ; FAILED, GIVE UP
8756 023112 013737 000000G 001712' MOV .PRDCT,DRSDBL ; SAVE THE DOORBELL COUNT.
8757 023120 CALL LRSTKL ; ENABLE KL FOR NORMAL OPERATION
023120 004737 023316' JSR PC,LRSTKL
8758 023124 012700 001736' MOV #DRSFCR,R0 ; RESTART KL AT 72
8759 023130 CALL $STRKL
023130 004737 030712' JSR PC,$STRKL
8760 023134 103450 BCS 40$ ; IF SUCCESSFUL,
8761 023136 012704 000012 MOV #10.,R4 ; 1 SECOND CHECKS FOR 10 SECONDS
8762 023142 10$:
8763 023142 012705 005444' MOV #TRSSEF,R5 ; (ERROR MESSAGE)
8764 023146 CALL $DTRW1 ; READ DTE REGISTER #1.
023146 004737 024100' JSR PC,$DTRW1
8765 023152 103441 BCS 40$
8766 023154 012705 005323' MOV #TRSCEF,R5 ; (ERROR MESSAGE)
8767 023160 032700 004000 BIT #DS04,R0 ; CLOCK ERROR STOP ?
8768 023164 001034 BNE 40$ ; YES, TELL THE GUY.
8769 023166 012705 005400' MOV #TRSFHL,R5 ; (ERROR MESSAGE)
8770 023172 032700 001000 BIT #DS06,R0 ; KL HALTED ?
8771 023176 001027 BNE 40$ ; YES...
8772 023200 023737 000000G 001712' CMP .PRDCT,DRSDBL ; IF THE DOORBELL HAS RUNG
8773 023206 001031 BNE 60$ ; THEN WE ARE IN.
8774 023210 012705 005444' MOV #TRSSEF,R5 ; (ERROR MESSAGE)
8775 023214 20$:
8776 023214 CALL WAIT1S ; WAIT ONE SECOND
023214 004737 023414' JSR PC,WAIT1S
8777 023220 103416 BCS 40$ ; FAILED, GIVE UP
8778 023222 077431 SOB R4,10$ ; TRY AGAIN.
8779 023224 105237 000000G INCB .NOERR ; SET NO ERROR AGAIN
8780 023230 105237 000000G INCB .TKTN ; SCHEDULE TASK TERMINATOR
8781 023234 052737 000000G 000000G BIS #KS.FCF,.KLITK ; SAY WHY IT FAILED
8782 023242 CALL ..DSEV ; DECLARE A SIGNIFICANT EVENT
023242 004737 000000G JSR PC,..DSEV
8783 023246 005037 000000G CLR .ERRCD ; CLEAR ANY ERROR CODE (AVOID RECURSION)
8784 023252 000137 024014' JMP $EXIT1 ; AND EXIT
8785 023256 40$:
8786 023256 PRINT R5 ; PRINT ERROR MESSAGE
023256 010500 MOV R5,R0
023260 004737 027620' JSR PC,$TTMSG
8787 023264 50$:
8788 023264 005037 000000G CLR .ERRCD ; CLEAR ANY ERROR CODE (AVOID RECURSION)
8789 023270 RETURN ; ERROR EXIT.
023270 000207 RTS PC
8790 023272 60$:
8791 023272 005037 000000G CLR .ERRCD ; CLEAR ANY ERROR CODE (AVOID RECURSION)
8792 023276 005037 000000G CLR .NOERR ; ALLOW KL ERRORS TO OCCUR,
8793 023302 PRINT #TRSFCS ; TELL OPERATOR,
023302 012700 005515' MOV #TRSFCS,R0
023306 004737 027620' JSR PC,$TTMSG
8794 023312 000137 024014' JMP $EXIT1 ; AND EXIT NORMALLY.
8795 .DSABL LSB
KLIRS -- SPECIAL KL RESTARTS MACRO V05.04 Tuesday 17-May-88 14:21 Page 187
$WRMRS -- WARM RESTART (FAULT CONTINUATION)
8797 ;+
8798 ; RESET THE KL CPU, ENABLE THE PARITY STOPS, AND TURN ON CACHE IF NECESSARY.
8799 ;
8800 ; NO INPUTS
8801 ;
8802 ; OUTPUTS:
8803 ; CARRY SET IF ERROR OCCURRS.
8804 ;-
8805
8806 023316 LRSTKL: CALL $KLMR ; FORCE E-BOX INTO OBEDIENCE
023316 004737 015232' JSR PC,$KLMR
8808 023322 103433 BCS 90$
8809 023324 105737 000043' TSTB .CASW ; IF CACHE IS THERE
8810 023330 003410 BLE 10$
8811 023332 105737 000064' TSTB .NCACH ; AND IS TO BE USED
8812 023336 003405 BLE 10$
8813 023340 012700 001714' MOV #DRSCEN,R0 ; THEN
8814 023344 CALL $EXCT ; TURN IT ON
023344 004737 030622' JSR PC,$EXCT
8816 023350 103420 BCS 90$
8817 023352 012701 001721' 10$: MOV #DRSPLD,R1 ; DO STUFF TO
8818 023356 012700 047000 MOV #.LDCK2,R0
8819 023362 CALL $DFWR
023362 004737 013556' JSR PC,$DFWR
8820 023366 012701 001726' MOV #DRSPEN,R1 ; SET THE PARITIES
8821 023372 012700 046000 MOV #.LDCK1,R0
8822 023376 CALL $DFWR
023376 004737 013556' JSR PC,$DFWR
8823 023402 012700 001000 MOV #.STRCL,R0 ; START THE CLOCK
8824 023406 CALLR $DFXC
023406 000137 013760' JMP $DFXC
8825 023412 90$: RETURN
023412 000207 RTS PC
KLIRS -- SPECIAL KL RESTARTS MACRO V05.04 Tuesday 17-May-88 14:21 Page 188
$WRMRS -- WARM RESTART (FAULT CONTINUATION)
8827 ;+
8828 ; WAIT FOR 1 SECOND
8829 ;
8830 ; NO INPUTS
8831 ;
8832 ; OUTPUTS:
8833 ; CARRY SET IF ERROR OCCURRS.
8834 ;-
8835
8836 023414 WAIT1S:
8837 023414 MRKT$S #1,#60.,#0 ; WAIT FOR ONE SECOND.
023414 005046 CLR -(SP)
023416 005046 CLR -(SP)
023420 012746 000074 MOV #60.,-(SP)
023424 012746 000001 MOV #1,-(SP)
023430 012746 MOV (PC)+,-(SP)
023432 027 005 .BYTE 23.,5
023434 104375 EMT 375
8838 023436 103011 BCC 10$
8839 023440 122737 000000G 000000G CMPB #IE.UPN,$DSW ; IF INSUFFICIENT MEMORY,
8840 023446 001013 BNE 20$ ; THEN
8841 023450 WSIG$S ; RSX IS CROWDED.
023450 012746 MOV (PC)+,-(SP)
023452 061 001 .BYTE 49.,1
023454 104375 EMT 375
8842 023456 103356 BCC WAIT1S ; TRY AGAIN
8843 023460 000406 BR 20$ ; USELESS, GIVE UP
8844 023462 10$:
8845 023462 WTSE$S #1 ; WAIT, WAIT, WAIT....
023462 012746 000001 MOV #1,-(SP)
023466 012746 MOV (PC)+,-(SP)
023470 051 002 .BYTE 41.,2
023472 104375 EMT 375
8846 023474 103001 BCC 30$
8847 023476 20$:
8848 023476 000261 SEC ; FLAG ERROR
8849 023500 30$:
8850 023500 RETURN ; EXIT
023500 000207 RTS PC
KLIRS -- SPECIAL KL RESTARTS MACRO V05.04 Tuesday 17-May-88 14:21 Page 189
$WRMRS -- WARM RESTART (FAULT CONTINUATION)
8852
8853
8854
8855 .TITLE KLIRT -- ROOT SECTION
8856 023502 IDENT$ 15,12,KLI$$F
.IDENT /B15120/
8857 ;
8858 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
8859 ; ALL RIGHTS RESERVED.
8860 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
8861 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
8862 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
8863 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
8864 ;
8865 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
8866 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
8867 ; EQUIPMENT CORPORATION.
8868 ;
8869 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
8870 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
8871 ;
8872 ; VERSION 15-12
8873 ;
8874 ; ALAN D. PECKHAM 15-APR-77
8875 ;
8876 ; MODIFIED BY:
8877 ;
8878 ; R. BELANGER 22-OCT-79 ADD CACHE SWEEP ON BOOT OR RELOAD
8879 ; TCO 5.1013
8880 ; R. BELANGER 16-JUL-79 ADD KL10 ENVIRONMENTAL REPORTING
8881 ; TCO 4.2333
8882 ; R. BELANGER 02-MAR-79 ADD REVERSE MEMORY CONFIGURATION
8883 ; TCO 4.2204
8884 ; R. BELANGER 06-DEC-78 ADD NEW KEEP-ALIVE ERROR PROCESSING
8885 ; TCO 4.2107
8886 ; R. BELANGER 25-JUL-78 INTEGRATE WITH MOS CONFIGURATOR
8887 ;
8888 ;01-Aug-83 TCO 6.1675 D. Weaver
8889 ; Support for Warm Restart for TOPS10.
8890 ;
8891 ; M. RUDENKO 09-FEB-84 ADD MG20 MEMORY CONFIGURATION
8892 ; ADD MCA25 PAGE TABLE SELECTION
8893 ;
8894 ;
8895 ; FUNCTION: THE ROOT SECTION CONTAINS ALL THE GLOBAL DATA ITEMS
8896 ; AND THE MAIN-LINE OVERLAY CONTROL CODE.
KLIRT -- ROOT SECTION MACRO V05.04 Tuesday 17-May-88 14:21 Page 190
$WRMRS -- WARM RESTART (FAULT CONTINUATION)
8898 ;
8899 ; EQUATED SYMBOLS
8900 ;
8901 000015 CR = 15 ; CARRIAGE RETURN CHARACTER.
8902 000012 LF = 12 ; LINE FEED CHARACTER.
8903 000040 SPC = 40 ; SPACE CHARACTER.
8904 000011 TAB = 11 ; TAB CHARACTER.
8905 ;
8906 000256 XCT = 256 ; [4.2107] KL10 "XCT" OPCODE
8907 ;
8908 ; LOCAL MACROS
8909 .MCALL QIOW$,EXIT$S
8910 ;
8911 ; LOCAL DATA
8912 ;
8913 001744 .PSECT DATA,D
8914 001744 DRTX71:
8915 001744 I10$ XCT 0,,71 ; [4.2107] KL10 "XCT 71"
001744 071 000 000 .BYTE BY$$0,BY$$1,BY$$2
001747 160 005 .BYTE BY$$3,BY$$4
8916 .EVEN
8918 001752 DRTWLB:
8919 001752 QIOW$ IO.WLB,LPOLUN,1,,DRTSTA,,<DRTBUF,0,0>
001752 003 011 .BYTE 3,$$$ARG
001754 000000G .WORD IO.WLB
001756 000003 .WORD LPOLUN
001760 001 000 .BYTE 1,
001762 001774' .WORD DRTSTA
001764 000000 .WORD
001766 002000' .WORD DRTBUF
001770 000000 .WORD 0
001772 000000 .WORD 0
8920 001774 DRTSTA:
8921 001774 000000 000000 .WORD 0,0 ; I/O STATUS.
8922 002000 DRTBUF:
8923 002000 .BLKB 72. ; TRACK OUTPUT BUFFER.
8924 002110 DRTBF:
8925 002110 WD36$ 0 0 ; BIT BUCKET.
002110 000 000 000 .BYTE BY$$0,BY$$1,BY$$2
002113 000 000 .BYTE BY$$3,BY$$4
8926 .EVEN
8928 005552 .PSECT TEXT,D
8929 005552 COMCSE::
8930 005552 MESSAGE <COMMAND SYNTAX ERROR>
005552 103 117 115 .ASCIZ \COMMAND SYNTAX ERROR\
005555 115 101 116
005560 104 040 123
005563 131 116 124
005566 101 130 040
005571 105 122 122
005574 117 122 000
8931 005577 TRTMMF:
8932 005577 ERROR <MEMORY CONFIGURATION FAILED>
005577 077 040 115 .ASCIZ \? MEMORY CONFIGURATION FAILED\
005602 105 115 117
005605 122 131 040
005610 103 117 116
KLIRT -- ROOT SECTION MACRO V05.04 Tuesday 17-May-88 14:21 Page 190-1
$WRMRS -- WARM RESTART (FAULT CONTINUATION)
005613 106 111 107
005616 125 122 101
005621 124 111 117
005624 116 040 106
005627 101 111 114
005632 105 104 000
8933 005635 TRTBTF:
8934 005635 ERROR <BOOTSTRAP LOAD FAILED>
005635 077 040 102 .ASCIZ \? BOOTSTRAP LOAD FAILED\
005640 117 117 124
005643 123 124 122
005646 101 120 040
005651 114 117 101
005654 104 040 106
005657 101 111 114
005662 105 104 000
8935 005665 TRTFME:
8936 005665 ERROR <FATAL MEMORY CONFIGURATION ERROR - CODE "_>
005665 077 040 106 .ASCIZ \? FATAL MEMORY CONFIGURATION ERROR - CODE "_\
005670 101 124 101
005673 114 040 115
005676 105 115 117
005701 122 131 040
005704 103 117 116
005707 106 111 107
005712 125 122 101
005715 124 111 117
005720 116 040 105
005723 122 122 117
005726 122 040 055
005731 040 103 117
005734 104 105 040
005737 042 137 000
8937 005742 TRTEND:
8938 005742 042 000 .ASCIZ /"/
8939 023502 .PSECT
KLIRT -- ROOT SECTION MACRO V05.04 Tuesday 17-May-88 14:21 Page 191
GLOBAL DATA STORAGE
8941 .SBTTL GLOBAL DATA STORAGE
8942 000000 .PSECT GLBL,D,GBL
8943
8944 ;+
8945 ; WORK AND STORAGE AREA
8946 ;-
8947
8948 000000 .ZERO::
8949 000000 000000 000000 000000 .WORD 0,0,0 ; SOURCE OF 36-BIT ZERO
8950 000006 000000 000000 000000 .WORD 0,0,0 ; PLUS EXTRAS FOR C-RAM ZERO.
8951 000014 .WORK::
8952 000014 000000 000000 000000 .WORD 0,0,0 ; COMMON WORK AREA
8953
8954 ;+
8955 ; INFORMATION AND CONTROL SWITCHES.
8956 ;-
8957
8958 000022 .SPSAV::
8959 000022 000000 .WORD 0 ; SAVE STACK POINTER HERE
8960 000024 .DLGSW::
8961 000024 000 .BYTE 0 ; DIALOG CONTROL SWITCH.
8962 000025 .MCBSW::
8963 000025 000 .BYTE 0 ; MICROCODE FILENAME SWITCH
8964 000026 .UFNSW::
8965 000026 000 .BYTE 0 ; USER FILE SPECIFIED.
8966 000027 .DRSW::
8967 000027 000 .BYTE 0 ; RAM DIALOG CONTROL.
8969 000030 .CSDN::
8970 000030 001 .BYTE 1 ; [5.1013] SWEEP DONE SWITCH
8971 000031 .DCSW::
8972 000031 000 .BYTE 0 ; CACHE DIALOG CONTROL.
8974 000032 .DMSW::
8975 000032 000 .BYTE 0 ; MEMORY DIALOG CONTROL.
8976 000033 .DBSW::
8977 000033 000 .BYTE 0 ; BOOT DIALOG CONTROL.
8978 000034 .PTSW::
8979 000034 000 .BYTE 0 ; [**] MCA25 DIALOG CONTROL
8980 000035 .MCA25::
8981 000035 000 .BYTE 0 ; [**] MCA25 INDICATOR
8983 000036 .TRKSW::
8984 000036 000 .BYTE 0 ; TRACK CONTROL SWITCH.
8985 000037 .TRKTT::
8986 000037 000 .BYTE 0 ; [5.1005] TERMINAL TRACK CONTROL
8987 000040 .TRKLP::
8988 000040 000 .BYTE 0 ; [5.1005] LP TRACK CONTROL
8990 000041 .CKSW::
8991 000041 000 .BYTE 0 ; CLOCK RUNNING FLAG.
8992 000042 .DESW::
8993 000042 000 .BYTE 0 ; CLOCK RUNNING FOR EXAMINE/DEPOSIT.
8995 000043 .CASW::
8996 000043 000 .BYTE 0 ; CACHE INDICATOR.
8998 000044 .EASW::
8999 000044 000 .BYTE 0 ; EXTENDED ADDRESSING INDICATOR.
9000 000045 .MFSW::
9001 000045 000 .BYTE 0 ; MOS MEMORY INDICATOR
9002 000046 .MFCT::
9003 000046 000 .BYTE 0 ; COUNT OF MF20'S EXPECTED FROM FILE
KLIRT -- ROOT SECTION MACRO V05.04 Tuesday 17-May-88 14:21 Page 191-1
GLOBAL DATA STORAGE
9004 000047 .FILSW::
9005 000047 000 .BYTE 0 ; WRITE CONFIG FILE SWITCH
9006 000050 .BTSW::
9007 000050 000 .BYTE 0 ; LOAD BOOT SWITCH
9008 000051 .MCSW::
9009 000051 000 .BYTE 0 ; [**] MCA25 STATE INDICATOR
9010
9011 .EVEN
9012
9013 000052 $LOG::
9014 000052 000001 .WORD 1 ; [4.1.1073]ERROR LOGGING FLAG
9015 000054 $LGERR::
9016 000054 000000 .WORD 0 ; [4.1.1073]ERROR FLAG
9017 000056 $LGOPN::
9018 000056 000000 .WORD 0 ; [4.1.1073]LOGGING FILE OPEN FLAG
9019
9020 ;+
9021 ; .KLIWD DEFINITIONS:
9022 ;
9023 ; KL.KAC KEEP-ALIVE-CEASED ERROR
9024 ; KL.LRM LOAD RAMS
9026 ; KL.LCA CONFIGURE CACHE
9028 ; KL.CFM CONFIGURE MEMORY
9029 ; KL.LVB LOAD BOOT
9030 ; KL.SPF RESTART FOR KL POWER FAIL
9034 ; KL.CFL CONFIGURE ALL
9035 ; INSTEAD OF FROM CONFIGURATION FILE
9036 ; KL.VBN BOOT - NO PROMPT
9037 ; KL.VBD BOOT - DUMP MONITOR
9038 ;
9039 ; ALL BITS ZERO IMPLIES TO ENTER DIALOG
9040 ;-
9041
9042 000060 .KLISV::
9043 000060 000000 .WORD 0 ; =.KLIWD
9044 000062 .SNSAV::
9045 000062 000000 .WORD 0 ; [4.2333] = .CPUSN
KLIRT -- ROOT SECTION MACRO V05.04 Tuesday 17-May-88 14:21 Page 192
GLOBAL DATA STORAGE
9048 ;+
9049 ; CACHE TABLES
9050 ;-
9051
9052 000064 .NCACH::
9053 000064 377 .BYTE -1 ; NUMBER OF CACHES TO USE.
9054 000065 .CACHN::
9055 000065 .BLKB 4 ; CACHE MODULES TO USE.
9056 .EVEN
9057
9059
9060 ;+
9061 ; CONTROLLER TABLES.
9062 ; THESE TABLES ARE USED AS FOLLOWS:
9063 ; .CTLTP - THIS TABLE CONTAINS THE MEMORY TYPE FOR EACH CONTROLLER.
9064 ; .CFGTB - THIS TABLE CONTAINS THE CONFIGURATION MASK WORDS
9065 ; <0 -- NOT TO BE USED
9066 ; =0 -- DEFAULT (ALL BLOCKS OR MODULES TO BE USED)
9067 ; >0 -- USE BLOCKS OR MODULES SPECIFIED IN BIT-MASK
9068 ;
9069 ; A PSEUDO-CONTROLLER IS DEFINED FOR THE FORWARD/REVERSE CONFIGURATION FLAG.
9070 ; THIS PSEUDO-CONTROLLER ALWAYS OCCUPIES THE "CTLS+1"TH POSITION IN THE TABLES,
9071 ; AND ITS CONTROLLER TYPE IS -1, SO THAT IT MAY BE SAVED AND RESTORED FORM THE
9072 ; CONFIGURATION FILE.
9073 ;-
9074
9075 000072 .CTLTP::
9076 000072 .BLKB CTLS ; CONTROLLER TYPE FOR EACH ADDRESS.
9077 000132 001 .BYTE 1 ; [4.2204] PSEUDO-CONTROLLER FOR FWD/REV CONFIGURATION FLAG
9078 .EVEN
9079 000134 .CFGTB::
9080 000134 .BLKW CTLS ; ALLOCATION BIT-MASK FOR EACH CONTROLLER
9081 000234 .CFMRV::
9082 000234 000000 .WORD 0 ; [4.2204] FORWARD/REVERSE CONFIGURATION FLAG
9083
9084 000236 BMMSTB:: ; BUS-MODE MASKS
9085 000236 007400 .WORD 7400
9086 000240 000360 .WORD 360
9087 000242 000017 .WORD 17
KLIRT -- ROOT SECTION MACRO V05.04 Tuesday 17-May-88 14:21 Page 193
GLOBAL DATA STORAGE
9089 ;+
9090 ; DPB FOR READ/WRITE DTE20 REGS
9091 ;-
9092
9093 000244 .KLREG::
9094 000244 002411 .WORD 2411
9095 000246 017 000 .BYTE 17,0
9096 000250 000302' .WORD .DTEDT
9097 000252 000272' .WORD .DREG
9098 000254 000000 .WORD 0
9099
9100 000256 .DFBLK:: ; EBSIN
9101 000256 .DFWBK::
9102 000256 000000 000000 000000 .WORD 0,0,0 ; 3 WORDS TO BE WRITTEN TO EBUS
9103 000264 .DFRBK::
9104 000264 000000 000000 000000 .WORD 0,0,0 ; 3 WORDS TO BE READ FROM EBUS
9105 000272 .DREG::
9106 000272 .DFRG1::
9107 000272 000000 .WORD 0 ; DTE20 DIAG
9108 000274 .DFRG2::
9109 000274 000000 .WORD 0 ; DTE20 DIAG2
9110 000276 .DFSTA::
9111 000276 000000 .WORD 0 ; DTE20 STATUS WORD
9112 000300 .DFRG3::
9113 000300 000000 .WORD 0 ; DTE20 DIAG3
9114
9115 000302 .DTEDT::
9116 000302 000000 .WORD 0 ; DTE TRANSFER AREA
9117
9118 ;+
9119 ; TTY BUFFERS
9120 ;-
9121
9122 000040 T.TIL == 32. ; (MAXIMUM IS 80. CHARACTERS)
9123 000304 .TTIBF::
9124 000304 .BLKB T.TIL ; CTY INPUT BUFFER.
9125 000115 T.TOL == 77. ; [16.1]
9126 000344 .TTOBF::
9127 000344 .BLKB T.TOL ; CTY OUTPUT BUFFER.
9128 .EVEN
9129
9130 ;+
9131 ; MISC.
9132 ;-
9133
9134 000462 .MCBFN::
9135 000462 000000 000000 000000 .WORD 0,0,0,0 ; MICROCODE FILENAME
000470 000000
9136 000472 000000 .WORD 0 ; VERSION NUMBER
9137 000474 005 005 .BYTE 5,5 ; UIC
9138 000476 054523 000000 .WORD "SY,0 ; DEVICE AND UNIT
9139 000502 .USRFN::
9140 000502 000000 000000 000000 .WORD 0,0,0,0 ; FILE NAME ENTERED BY OPERATOR
000510 000000
9141 000512 000000 .WORD 0 ; VERSION NUMBER (LAST VERSION).
9142 000514 005 005 .BYTE 5,5 ; DIRECTORY UIC.
9143 000516 054523 000000 .WORD "SY,0 ; DEVICE AND UNIT NUMBER.
KLIRT -- ROOT SECTION MACRO V05.04 Tuesday 17-May-88 14:21 Page 193-1
GLOBAL DATA STORAGE
9144 000522 .BTADR::
9145 000522 000000 000000 000000 .WORD 0,0,0 ; KL BOOT ADDRESS.
9146 000530 .PTSEL::
9147 000530 000000 .WORD 0 ; [**] MCA25 PAGE TABLE SELECTED
KLIRT -- ROOT SECTION MACRO V05.04 Tuesday 17-May-88 14:21 Page 194
GLOBAL DATA STORAGE
9149 ;+
9150 ; SYSTEM DEVICE WORK AREAS
9151 ;-
9152
9153 000532 .SYSTA::
9154 000532 000000 000000 .WORD 0,0 ; OPERATION STATUS.
9155 000536 .SYISW::
9156 000536 000 .BYTE 0 ; INPUT FILE OPEN SWITCH.
9157 000537 .SYOSW::
9158 000537 000 .BYTE 0 ; OUTPUT FILE OPEN SWITCH.
9159
9160 001000 S.YIL == 1000
9161 000540 .SYIRC::
9162 000540 000000 .WORD 0 ; RECORD COUNT.
9163 000542 .SYIBA::
9164 000542 000572' .WORD .SYIBF ; BUFFER POSITION.
9165 000544 .SYIBC::
9166 000544 001000 .WORD S.YIL ; BYTES LEFT IN BUFFER.
9167 000546 .SYIFN::
9168 000546 000000 000000 000000 .WORD 0,0,0,0,0 ; INPUT FILE NAME.
000554 000000 000000
9169 000560 005 005 .BYTE 5,5
9170 000562 054523 000000 .WORD "SY,0
9171 000566 .SYIVB::
9172 000566 000000 000000 .WORD 0,0 ; CURRENT INPUT BLOCK NUMBER.
9173 000572 .SYIBF::
9174 000572 .BLKW S.YIL/2 ; SYSTEM DEVICE INPUT BUFFER.
9175
9176 001000 S.YOL == 1000
9177 001572 .SYORC::
9178 001572 000000 .WORD 0 ; RECORD COUNT.
9179 001574 .SYOBA::
9180 001574 000572' .WORD .SYIBF ; BUFFER POSITION.
9181 001576 .SYOBC::
9182 001576 001000 .WORD S.YIL ; BYTES LEFT IN BUFFER.
9183 001600 .SYOFN::
9184 001600 000000 000000 000000 .WORD 0,0,0,0,0 ; OUTPUT FILE NAME.
001606 000000 000000
9185 001612 005 005 .BYTE 5,5
9186 001614 054523 000000 .WORD "SY,0
9187 001620 .SYOVB::
9188 001620 000000 000000 .WORD 0,0 ; CURRENT OUTPUT BLOCK NUMBER.
9189 001624 .SYOBF::
9190 001624 .BLKW S.YOL/2 ; SYSTEM DEVICE OUTPUT BUFFER.
9191
9192 ;+
9193 ; FILE NAME BLOCK (SET UP TO GET DIRECTORY)
9194 ;-
9195
9196 002624 .SYFNB::
9197 002624 000000 000000 000000 .WORD 0,0,0 ; N.FID
9198 002632 140123 140123 000000 .RAD50 /005005 / ; N.FNAM
9199 002640 015172 .RAD50 /DIR/ ; N.FTYP
9200 002642 000000 .WORD 0 ; N.FVER
9201 002644 000000 .WORD 0 ; N.STAT
9202 002646 000000 .WORD 0 ; N.NEXT
9203 002650 177777 177777 .WORD -1,-1 ; DIRECTORY FID.
KLIRT -- ROOT SECTION MACRO V05.04 Tuesday 17-May-88 14:21 Page 194-1
GLOBAL DATA STORAGE
9204 002654 005 005 .BYTE 5,5 ; OWNER
9205 002624' .SYFID == .SYFNB ; FILE ID IS IN FIRST TWO WORDS OF FNB
9206 002632' .SYFNM == .SYFNB+6 ; FILENAME.
9207
9208 ;+
9209 ; THESE ARE THE USER FILE ATTRIBUTES FOR THE CURRENTLY
9210 ; OPEN OUTPUT FILE.
9211 ;-
9212
9213 002656 .SYATT::
9214 002656 002 .BYTE 2 ; VARIABLE LENGTH RECORDS.
9215 002657 000 .BYTE 0 ; NO RECORD ATTRIBUTES.
9216 002660 000000 .WORD 0 ; LARGEST RECORD IN FILE.
9217 002662 000000 000000 .WORD 0,0 ; HIGHEST VIRTUAL BLOCK ALLOCATED.
9218 002666 000000 000000 .WORD 0,0 ; HIGHEST VIRTUAL BLOCK USED.
9219 002672 000000 .WORD 0 ; TO NEXT FREE BYTE IN LAST BLOCK.
9220
9221 .EVEN
KLIRT -- ROOT SECTION MACRO V05.04 Tuesday 17-May-88 14:21 Page 195
$START -- MAIN PROGRAM FLOW CONTROL
9223 .SBTTL $START -- MAIN PROGRAM FLOW CONTROL
9224 023502 .PSECT
9225 .ENABL LSB
9226
9227 023502 $START::
9228 023502 032737 000000G 000000G BIT #KL.ABO,.KLIWD ; [4.1.1049]ABORT RELOADING?
9229 023510 001403 BEQ 5$ ; [4.1.1049]NO -- GO ON
9230 023512 005037 000000G CLR .KLIWD ; [4.1.1049]YES -- CLEAR RELOAD FLAG
9231 023516 000536 BR $EXIT1 ; [4.1.1049]EXIT
9232 023520 010637 000022' 5$: MOV SP,.SPSAV ; SAVE THE STACK POINTER
9233 023524 CALL $INIT ; DO INITIALIZATION
023524 004737 015564' JSR PC,$INIT
9234 023530 032737 000000G 000060' BIT #KL.KAC,.KLISV ; [4.2107] KEEP-ALIVE RETRY??
9235 023536 001423 BEQ 20$ ; [4.2107] NO -- GO ON
9236 023540 105237 000000G XCT71:: INCB .NOERR ; [4.2107] YES -- DON'T WANT SPURIOUS CRASHES
9237 023544 012700 001744' MOV #DRTX71,R0 ; [4.2107] POINT TO KL INSTRUCTION
9238 023550 CALL $EXCT ; [4.2107] EXECUTE IT
023550 004737 030622' JSR PC,$EXCT
9239 023554 103411 BCS 10$ ; [4.2107] ERROR IF CC-C IS SET
9240 023556 012700 011000 MOV #.SETRN,R0 ; [4.2107] SET THE RUN FLOP
9241 023562 CALL $DFXC ; [4.2107] SO
023562 004737 013760' JSR PC,$DFXC
9242 023566 103404 BCS 10$ ; [4.2107] ERROR IF CC-C IS SET
9243 023570 012700 012000 MOV #.CONBT,R0 ; [4.2107] SET THE CONTINUE BUTTON
9244 023574 CALL $DFXC ; [4.2107] SO
023574 004737 013760' JSR PC,$DFXC
9245 023600 10$:
9246 023600 105337 000000G DECB .NOERR ; [4.2107] RESET ERROR INTERLOCK
9247 023604 000503 BR $EXIT1 ; [4.2107] AND EXIT
9248 ;
9249 023606 20$: ; [4.2107]
9250 023606 000137 021154' JMP $DLGEN ; ENTER DIALOG
9251
9252 .DSABL LSB
9253
9254 ;
9255 023612 $CFGRM::
9256 023612 CALL $MCBLD ; LOAD RAMS
023612 004737 001066' JSR PC,$MCBLD
9257 023616 103467 BCS $ERROR
9259 023620 $DLGCV::
9260 023620 000137 017066' JMP $DLGCA ; ENTER CACHE DIALOG.
9261 ;
9262
9263 .ENABL LSB
9264
9265 023624 $CFGCA::
9266 023624 105737 000031' TSTB .DCSW ; IF CONFIGURATION INFO
9267 023630 003003 BGT 10$ ; NOT SET UP, THEN
9268 023632 CALL $GETCA ; GET IT.
023632 004737 014112' JSR PC,$GETCA
9269 023636 103457 BCS $ERROR
9270 023640 10$:
9271 023640 CALL $SETCA ; CONFIGURE THE CACHE.
023640 004737 000356' JSR PC,$SETCA
9272 023644 103454 BCS $ERROR
9274 023646 $DLGMV::
KLIRT -- ROOT SECTION MACRO V05.04 Tuesday 17-May-88 14:21 Page 195-1
$START -- MAIN PROGRAM FLOW CONTROL
9275 023646 000137 017542' JMP $DLGMM ; ENTER MEMORY DIALOG.
9276 ;
9277 023652 $DLGMX::
9278 023652 103404 BCS 20$
9279 023654 $DLGBV::
9280 023654 000137 016334' JMP $DLGBT ; ENTER BOOT DIALOG.
9281 ;
9282 023660 $DLGRV::
9283 023660 000137 020664' JMP $DLGRM ; ENTER RAM DIALOG
9284 ;
9285 023664 20$:
9286 023664 PRINT #TRTMMF ; MEMORY CONFIGURATION FAILED
023664 012700 005577' MOV #TRTMMF,R0
023670 004737 027620' JSR PC,$TTMSG
9287 023674 000137 023776' JMP $ERROR
9288 ;
9289
9290 .DSABL LSB
9291
9292 023700 $CFGBT::
9293 023700 105737 000043' TSTB .CASW ; IF NO CACHE, THEN
9294 023704 002414 BLT 10$ ; LOAD THE BOOT.
9295 023706 105737 000064' TSTB .NCACH ; OTHERWISE CHECK IF
9296 023712 002011 BGE 10$ ; CACHE HAS BEEN CONFIGURED
9297 023714 CALL $GETCA ; IF NOT, GET LAST CONFIGURATION
023714 004737 014112' JSR PC,$GETCA
9298 023720 103426 BCS $ERROR ; AND
9299 023722 105737 000064' TSTB .NCACH ; IF WE HAVE TO SET IT
9300 023726 001403 BEQ 10$
9301 023730 CALL $SETCA ; THEN DO SO.
023730 004737 000356' JSR PC,$SETCA
9302 023734 103420 BCS $ERROR
9303 023736 10$:
9304 023736 CALL $WRMRS ; ATTEMPT FAULT CONTINUATION (WARM RESTART)
023736 004737 023006' JSR PC,$WRMRS
9305 023742 CALL $EXBLD ; LOAD & START BOOT.
023742 004737 030036' JSR PC,$EXBLD
9306 023746 103405 BCS 20$
9307 023750 105737 000024' TSTB .DLGSW ; INTERNAL PATH ?
9308 023754 002014 BGE $EXIT
9309 023756 000137 017422' JMP $DLGEX ; YES, TEST FOR RESTART.
9310 ;
9311 023762 20$:
9312 023762 CALL $PURGE ; PURGE BOOT FILE
023762 004737 010124' JSR PC,$PURGE
9313 023766 PRINT #TRTBTF
023766 012700 005635' MOV #TRTBTF,R0
023772 004737 027620' JSR PC,$TTMSG
9314
9315 023776 $ERROR::
9316 023776 105037 000024' CLRB .DLGSW ; ALLOW DIALOG
9317 024002 000137 021154' JMP $DLGEN ; AND ENTER IT.
9318 ;
9319 024006 $EXIT::
9320 024006 CALL $FILE ; CHANGE CONFIGURATION FILE AND
024006 004737 003036' JSR PC,$FILE
9321 024012 103771 BCS $ERROR
KLIRT -- ROOT SECTION MACRO V05.04 Tuesday 17-May-88 14:21 Page 195-2
$START -- MAIN PROGRAM FLOW CONTROL
9322 024014 $EXIT1:: ; [4.2107]
9323 024014 EXIT$S ; EXIT FROM KLINIT
024014 012746 MOV (PC)+,-(SP)
024016 063 001 .BYTE 51.,1
024020 104375 EMT 375
9324 ;
9325 024022 $FATAL::
9326 024022 012700 005665' MOV #TRTFME,R0 ; MESSAGE POINTER TO R0
9327 024026 CALL $TTDMS ; PRINT THE MESSAGE
024026 004737 027552' JSR PC,$TTDMS
9328 024032 012600 MOV (SP)+,R0 ; POINTER TO ERROR CODE TEXT
9329 024034 012701 000003 MOV #3,R1 ; THREE CHARACTERS
9330 024040 CALL $TTWR ; WRITE THAT
024040 004737 027700' JSR PC,$TTWR
9331 024044 012700 005742' MOV #TRTEND,R0 ; POINTER TO END
9332 024050 012701 000001 MOV #1,R1 ; LENGTH OF ONE
9333 024054 CALL $TTWR ; WRITE THE CHARACTER
024054 004737 027700' JSR PC,$TTWR
9334 024060 CALL $TCRLF ; AND END THE LINE
024060 004737 027514' JSR PC,$TCRLF
9335 024064 013706 000022' MOV .SPSAV,SP ; RESET THE STACK POINTER
9336 024070 105037 000024' CLRB .DLGSW ; RESET DIALOG SWITCH
9337 024074 000137 017542' JMP $DLGMM ; ENTER MEMORY BOOT DILAOG
9338 ;
KLIRT -- ROOT SECTION MACRO V05.04 Tuesday 17-May-88 14:21 Page 196
$DTRXX -- DTE20 REGISTER READ/WRITE SUBROUTINES
9340 .SBTTL $DTRXX -- DTE20 REGISTER READ/WRITE SUBROUTINES
9341 ;+
9342 ; THESE ROUTINES WILL READ OR WRITE A DTE-20 REGISTER ACCORDING TO
9343 ; WHICH ROUTINE IS CALLED.
9344 ;
9345 ; DTRWD1 -- READ OR WRITE DTE-20 DIAG WORD 1
9346 ; DTRWD2 -- READ OR WRITE DTE-20 DIAG WORD 2
9347 ; DTRWST -- READ OR WRITE DTE-20 STATUS
9348 ; DTRWD3 -- READ OR WRITE DTE-20 DIAG WORD 3
9349 ;
9350 ; IF LOCATION "DTETMP" IS .NE. 0, IT IS TAKEN A A POINTER TO THE
9351 ; DATA TO BE WRITTEN INTO THE REGISTER. IF "DTETMP" IS .EQ. 0, THEN
9352 ; A READ OF THE REGISTER IS PERFORMED. ON EITHER A READ OR A WRITE
9353 ; THE RESULT OF THE OPERATION IS RETURNED IN R0 AND IS SAVED IN
9354 ; LOCATION "DREG", AND LOCATION "DTETMP" IS CLEARED.
9355 ;-
9356
9357 024100 $DTRW1::
9358 024100 105037 000247' CLRB .KLREG+3 ; DIAG 1 OFFSET = 0
9359 024104 000413 BR DRTDTE ; DO COMMON CODE
9360 ;
9361 024106 $DTRW2::
9362 024106 112737 000002 000247' MOVB #2,.KLREG+3 ; DIAG 2 OFFSET = 2
9363 024114 000407 BR DRTDTE ; DO COMMON CODE
9364 ;
9365 024116 $DTRWS::
9366 024116 112737 000004 000247' MOVB #4,.KLREG+3 ; STATUS OFFSET = 4
9367 024124 000403 BR DRTDTE ; DO COMMON CODE
9368 ;
9369 024126 $DTRW3::
9370 024126 112737 000006 000247' MOVB #6,.KLREG+3 ; DIAG 3 OFFSET = 6
9371 024134 DRTDTE:
9372 024134 012737 000302' 000250' MOV #.DTEDT,.KLREG+4 ; SET THE BUFFER POINTER FOR WRITE DATA
9373 024142 005037 000272' CLR .DREG ; CLEAR RETURN DATA BUFFER
9374 024146 DIR$ #.KLREG ; DO THE READ OR WRITE
024146 012746 000244' MOV #.KLREG,-(SP)
024152 104375 EMT 375
9375 024154 103404 BCS 10$
9376 024156 005037 000302' CLR .DTEDT ; RESET THE DATA POINTER TO 0 (READ)
9377 024162 013700 000272' MOV .DREG,R0 ; COPY THE REGISTER TO R0
9378 024166 10$:
9379 024166 RETURN
024166 000207 RTS PC
KLIRT -- ROOT SECTION MACRO V05.04 Tuesday 17-May-88 14:21 Page 197
$RSAVE -- SAVE REGISTERS FOR ROUTINES
9381 .SBTTL $RSAVE -- SAVE REGISTERS FOR ROUTINES
9382 ;+
9383 ; THIS ROUTINE SAVES ALL REGISTERS ON THE STACK AND PUSHES
9384 ; A RETURN ROUTINE ADDRESS ALSO, SO THAT WHEN THE USER RETURNS
9385 ; THE REGISTERS ARE AUTOMATICALLY RESTORED. THE RETURNED
9386 ; REGISTERS CAN BE MODIFIED: 2(SP)=R0, 4(SP)=R1, ETC.
9387 ;-
9388
9389 024170 $RSAVE::
9390 024170 PUSH <R4,R3,R2,R1,R0>
024170 010446 MOV R4,-(SP)
024172 010346 MOV R3,-(SP)
024174 010246 MOV R2,-(SP)
024176 010146 MOV R1,-(SP)
024200 010046 MOV R0,-(SP)
9391 024202 004715 JSR PC,(R5)
9392 024204 POP <R0,R1,R2,R3,R4,R5>
024204 012600 MOV (SP)+,R0
024206 012601 MOV (SP)+,R1
024210 012602 MOV (SP)+,R2
024212 012603 MOV (SP)+,R3
024214 012604 MOV (SP)+,R4
024216 012605 MOV (SP)+,R5
9393 024220 000207 RTS PC
KLIRT -- ROOT SECTION MACRO V05.04 Tuesday 17-May-88 14:21 Page 198
$ASCIZ -- TRANSFER ASCII STRING
9395 .SBTTL $ASCIZ -- TRANSFER ASCII STRING
9396 ;+
9397 ; SET AN ASCII STRING INTO AN OUTPUT BUFFER POINTED TO BY R5.
9398 ; THE INPUT STRING IS POINTED TO BY R0 AND MUST BE TERMINATED
9399 ; BY A NULL BYTE. ON EXIT, R0 POINTS PAST THE NULL BYTE, AND
9400 ; R5 POINTS PAST THE INSERTED STRING (NULL BYTE IS NOT INSERTED).
9401 ; EMBEDDED NEGATIVE BYTES ARE NOT COPIED.
9402 ;-
9403
9404 .ENABL LSB
9405 024222 10$:
9406 024222 005305 DEC R5
9407 024224 $ASCIZ::
9408 024224 112025 MOVB (R0)+,(R5)+
9409 024226 003376 BGT $ASCIZ
9410 024230 002774 BLT 10$
9411 024232 005305 DEC R5
9412 024234 000207 RTS PC
9413 .DSABL LSB
KLIRT -- ROOT SECTION MACRO V05.04 Tuesday 17-May-88 14:21 Page 199
$TRACK -- SPECIAL TRACK ROUTINE
9416 .SBTTL $TRACK -- SPECIAL TRACK ROUTINE
9417 ;+
9418 ; THIS ROUTINE IS CALLED TO PROVIDE A VISUAL TRACE OF KLINIT'S
9419 ; ACTION. IT REPORTS WITH A 2-CHARACTER IDENTIFICATION, A FUNCTION
9420 ; CODE/OR ADDRESS, AND A SECONDARY ADDRESS (36-BIT ADDRESSES).
9421 ; AN ARGUEMENT BLOCK IS PASSED IN R0:
9422 ; .WORD "FN ;2-CHAR IDENTIFICATION
9423 ; .WORD ADR1 ;ADDR OF FIRST 36-BIT OR FNC CODE
9424 ; .WORD ADR2 ;ADDR OF SECOND 36-BIT
9425 ; ADR1 AND ADR2 MAY BE ZERO, IN WHICH CASE THE ARGS ARE NOT PRINTED.
9426 ;-
9427
9428 024236 $TRACK::
9429 024236 004537 024170' JSR R5,$RSAVE
9430 024242 006046 ROR -(SP) ; SAVE THE CARRY.
9431 024244 105737 000036' TSTB .TRKSW ; IF TRACK IS OFF,
9432 024250 001515 BEQ 70$ ; IGNORE REQUEST.
9433 024252 012705 002000' MOV #DRTBUF,R5 ; SET UP OUT BUF ADDRESS
9434 024256 010004 MOV R0,R4 ; AND ARG POINTER.
9435 024260 112725 000011 MOVB #TAB,(R5)+
9436 024264 112425 MOVB (R4)+,(R5)+ ; GET IDENT.
9437 024266 112425 MOVB (R4)+,(R5)+
9438 024270 112725 000040 MOVB #SPC,(R5)+
9439 024274 122737 000106 002001' CMPB #'F,DRTBUF+1 ; IS IT A DIAG FUNCTION ?
9440 024302 001006 BNE 10$
9441 024304 005000 CLR R0
9442 024306 153400 BISB @(R4)+,R0 ; YES, GET NUMBER
9443 024310 006200 ASR R0
9444 024312 CALL $TRB2O ; AND PRINT IT.
024312 004737 026464' JSR PC,$TRB2O
9445 024316 000416 BR 30$
9446 ;
9447 024320 10$:
9448 024320 012401 MOV (R4)+,R1 ; FIRST ADDRESS ?
9449 024322 001414 BEQ 30$ ; NO, SKIP IT.
9450 024324 012702 002110' MOV #DRTBF,R2
9451 024330 012703 000005 MOV #5,R3 ; TRANSFER 5 BYTES
9452 024334 010200 MOV R2,R0 ; TO WORK AREA
9453 024336 20$:
9454 024336 112122 MOVB (R1)+,(R2)+
9455 024340 077302 SOB R3,20$
9456 024342 042762 177760 177777 BIC #^C17,-1(R2) ; TRIM TO 36 BITS,
9457 024350 CALL $WRD22 ; AND PRINT.
024350 004737 026140' JSR PC,$WRD22
9458 024354 30$:
9459 024354 011401 MOV (R4),R1 ; SECOND WORD ?
9460 024356 001420 BEQ 60$ ; NO, IGNORE IT.
9461 024360 012702 002110' MOV #DRTBF,R2
9462 024364 012703 000005 MOV #5,R3 ; SAME AS BEFORE...
9463 024370 010200 MOV R2,R0
9464 024372 40$:
9465 024372 112122 MOVB (R1)+,(R2)+
9466 024374 077302 SOB R3,40$
9467 024376 042762 177760 177777 BIC #^C17,-1(R2)
9468 024404 005744 TST -(R4)
9469 024406 001402 BEQ 50$
9470 024410 112725 000057 MOVB #'/,(R5)+ ; EXCEPT FOR SEPERATOR.
KLIRT -- ROOT SECTION MACRO V05.04 Tuesday 17-May-88 14:21 Page 199-1
$TRACK -- SPECIAL TRACK ROUTINE
9471 024414 50$:
9472 024414 CALL $WRD36
024414 004737 026252' JSR PC,$WRD36
9473 024420 60$:
9474 024420 112725 000015 MOVB #CR,(R5)+ ; TERMINATE LINE
9475 024424 112725 000012 MOVB #LF,(R5)+ ; AND
9476 024430 162705 002000' SUB #DRTBUF,R5 ; (LENGTH OF LINE)
9477 024434 010537 001770' MOV R5,DRTWLB+Q.IOPL+2 ; PUT IN DPB
9478 024440 105737 000040' TSTB .TRKLP ; [5.1005] TRACK ON LP?
9479 024444 001406 BEQ 65$ ; [5.1005] NO -- CHECK TT
9480 024446 012737 000003 001756' MOV #LPOLUN,DRTWLB+Q.IOLU ; [5.1005] YES -- SET LUN
9481 024454 DIR$ #DRTWLB ; [5.1005] SEND IT
024454 012746 001752' MOV #DRTWLB,-(SP)
024460 104375 EMT 375
9482 024462 105737 000037' 65$: TSTB .TRKTT ; [5.1005] TRACK ON TT?
9483 024466 001406 BEQ 70$ ; [5.1005] NO -- EXIT
9484 024470 012737 000002 001756' MOV #TTOLUN,DRTWLB+Q.IOLU ; [5.1005] YES -- SET LUN
9485 024476 DIR$ #DRTWLB ; AND SEND IT.
024476 012746 001752' MOV #DRTWLB,-(SP)
024502 104375 EMT 375
9486 024504 70$:
9487 024504 006126 ROL (SP)+ ; RESTORE THE CARRY.
9488 024506 RETURN
024506 000207 RTS PC
9490 .TITLE KLIST -- START THE KL BOOT
9491 024510 IDENT$ 13,04,KLI$$F
.IDENT /B13040/
9492 ;
9493 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
9494 ; ALL RIGHTS RESERVED.
9495 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
9496 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
9497 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
9498 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
9499 ;
9500 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
9501 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
9502 ; EQUIPMENT CORPORATION.
9503 ;
9504 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
9505 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
9506 ;
9507 ; VERSION 13-04
9508 ;
9509 ; ALAN D. PECKHAM 7-APR-77
9510 ;
9511 ; MODIFIED BY:
9512 ;
9513 ;19-Jan-83 TCO 6.1508 D. Weaver
9514 ; Get the CPU number of the KL we are running on from .KLCPU so we
9515 ; can do warm restart on SMP systems (used by KLINIT)
9516 ;17-Jun-83 TCO 6.1675 D. Weaver
9517 ; More changes for warm restart resulting from the separate .CMD files
9518 ; being executed based on error code. Error code is now in .ERRCD along
9519 ; with the KL flags. PC (23 bits) is in .ERRPC. Note that .ERRCD will
9520 ; be seen by the KL as <FLAGS,,ERRCD> in loc 101, 103, 105, etc... based
9521 ; on the CPU number.
KLIST -- START THE KL BOOT MACRO V05.04 Tuesday 17-May-88 14:21 Page 199-2
$TRACK -- SPECIAL TRACK ROUTINE
9522 ;
9523 ; FUNCTION: THIS ROUTINE CLEANS UP THE CPU AND STARTS UP THE BOOT
9524 ; WITH SPECIFIED FUNCTIONS IN AC0.
9525 ;
9526 .MCALL MRKT$S,WTSE$S
9527 ; EQUATED SYMBOLS
9528 ;
9529 000020 AAX = BIT4 ; AR/ARX PARITY ENABLE BIT.
9530 000000 APR = 0 ; KL DEVICE.
9531 000004 CONO = 4 ; KL I/O SUB-FUNCTION CODE.
9532 000004 CM = BIT2 ; CRAM PARITY ENABLE BIT.
9533 000003 DATAO = 3 ; KL I/O SUB-FUNCTION CODE.
9534 000002 DM = BIT1 ; DRAM PARITY ENABLE BIT.
9535 000010 FM = BIT3 ; FM PARITY ENABLE BIT.
9536 000001 FS = BIT0 ; FS PARITY ENABLE BIT.
9537 000010 PAG = 10 ; KL DEVICE.
9538 000004 PI = 4 ; KL DEVICE.
9539 ;
9540 ; LOCAL DATA
9541 ;
9542
9543 002116 .PSECT DATA,D
9544 002116 DSTRT:
9545 002116 IO10$ CONO APR,,267760 ;RESET APR
002116 360 157 001 .BYTE BY$$0,BY$$1,BY$$2
002121 002 016 .BYTE BY$$3,BY$$4
9546 002123 IO10$ CONO PI,,10000 ;RESET PI SYSTEM
002123 000 020 000 .BYTE BY$$0,BY$$1,BY$$2
002126 006 016 .BYTE BY$$3,BY$$4
9547 002130 IO10$ CONO PAG,,0 ;PAGING SYSTEM CLEAR
002130 000 000 000 .BYTE BY$$0,BY$$1,BY$$2
002133 012 016 .BYTE BY$$3,BY$$4
9548 002135 IO10$ DATAO PAG,,0 ;USER BASE CLEAR
002135 000 000 200 .BYTE BY$$0,BY$$1,BY$$2
002140 011 016 .BYTE BY$$3,BY$$4
9549 000004 DSTRTL=.-DSTRT/I.10L
9551 002142 DSTCEN:
9552 002142 IO10$ CONO PAG,,600000
002142 000 000 003 .BYTE BY$$0,BY$$1,BY$$2
002145 012 016 .BYTE BY$$3,BY$$4
9554 002147 DST1B0:
9555 002147 WD36$ 400000 0 ;1B0
002147 000 000 000 .BYTE BY$$0,BY$$1,BY$$2
002152 000 010 .BYTE BY$$3,BY$$4
9556 002154 DST1B1:
9557 002154 WD36$ 200000 0 ;1B1
002154 000 000 000 .BYTE BY$$0,BY$$1,BY$$2
002157 000 004 .BYTE BY$$3,BY$$4
9558 002161 DST3B1:
9559 002161 WD36$ 600000 0 ;3B1
002161 000 000 000 .BYTE BY$$0,BY$$1,BY$$2
002164 000 014 .BYTE BY$$3,BY$$4
9560 .EVEN ; DSTBF NUST START ON EVEN BOUNDRY.
9561 002166 DSTBF:
9562 002166 WD36$ 0 0 ; GENERAL BIT BUCKET.
002166 000 000 000 .BYTE BY$$0,BY$$1,BY$$2
002171 000 000 .BYTE BY$$3,BY$$4
KLIST -- START THE KL BOOT MACRO V05.04 Tuesday 17-May-88 14:21 Page 199-3
$TRACK -- SPECIAL TRACK ROUTINE
9563 .EVEN
9564
9565 005744 .PSECT TEXT,D
9566 005744 TSTBSM: MESSAGE <BOOTSTRAP LOADED AND STARTED>
005744 102 117 117 .ASCIZ \BOOTSTRAP LOADED AND STARTED\
005747 124 123 124
005752 122 101 120
005755 040 114 117
005760 101 104 105
005763 104 040 101
005766 116 104 040
005771 123 124 101
005774 122 124 105
005777 104 000
9567 .EVEN
9568 024510 .PSECT
KLIST -- START THE KL BOOT MACRO V05.04 Tuesday 17-May-88 14:21 Page 200
$TENST -- START KL BOOT
9570 .SBTTL $TENST -- START KL BOOT
9571 ;+
9572 ; UPDATE THE CONFIGURATION FILE AND START UP THE KL BOOTSTRAP.
9573 ; TRANSFER DUMP AND PROMPT BITS FROM .KLIWD TO AC0 FOR KL BOOT.
9574 ; 1B0 INDICATES NO PROMPTING
9575 ; 1B1 INDICATES TO DUMP KL
9576 ; BEGIN EXECUTION AT START+1 TO INFORM THE BOOT THAT THESE
9577 ; SWITCHES ARE SET.
9578 ;
9579 ; INPUTS:
9580 ; .BTADR - THE BOOT STARTING ADDRESS.
9581 ;
9582 ; NO OUTPUTS
9583 ; THE RETURN IS TO $ERROR IF UNSUCCESSFUL.
9584 ;-
9585
9586 .ENABL LSB
9587
9588 024510 $TENST::
9589 024510 CALL $FILE ; CHANGE CONFIGURATION FILE FIRST.
024510 004737 003036' JSR PC,$FILE
9590 024514 103536 BCS 80$ ; BRANCH IF NOT OK
9591 024516 $TENS1::
9592 024516 CALL $ZERAC ; CLEAR THE AC'S.
024516 004737 000112' JSR PC,$ZERAC
9593 024522 103532 BCS 90$
9594 024524 012701 000004 MOV #DSTRTL,R1
9595 024530 012700 002116' MOV #DSTRT,R0
9596 024534 10$:
9597 024534 CALL $EXCT ; RESET APR,PI,CLEAR PAGING,USER BASE
024534 004737 030622' JSR PC,$EXCT
9598 024540 103523 BCS 90$
9599 024542 062700 000005 ADD #I.10L,R0
9600 024546 077106 SOB R1,10$
9602 024550 105737 000043' TSTB .CASW ; IF CACHE IS THERE
9603 024554 003406 BLE 20$
9604 024556 105737 000064' TSTB .NCACH ; AND IS TO BE USED
9605 024562 003403 BLE 20$
9606 024564 CALL $EXCT ; THEN TURN IT ON.
024564 004737 030622' JSR PC,$EXCT
9607 024570 103507 BCS 90$
9609 024572 20$:
9610 024572 105737 000050' TSTB .BTSW ; [4.2275] BOOT KL?
9611 024576 100433 BMI 70$ ; [4.2275] NO
9612 024600 013700 000060' MOV .KLISV,R0 ; .KLIWD INTO R0.
9613 024604 032700 000000G BIT #KL.VBN,R0 ; TEST .KLIWD BITS
9614 024610 001411 BEQ 40$ ; AND PICK APPROPRIATE
9615 024612 032700 000000G BIT #KL.VBD,R0 ; WORD TO INSERT
9616 024616 001003 BNE 30$ ; IN AC0.
9617 024620 012701 002147' MOV #DST1B0,R1
9618 024624 000413 BR 60$
9619 ;
9620 024626 30$:
9621 024626 012701 002161' MOV #DST3B1,R1
9622 024632 000410 BR 60$
9623 ;
9624 024634 40$:
KLIST -- START THE KL BOOT MACRO V05.04 Tuesday 17-May-88 14:21 Page 200-1
$TENST -- START KL BOOT
9625 024634 032700 000000G BIT #KL.VBD,R0
9626 024640 001003 BNE 50$
9627 024642 012701 000000' MOV #.ZERO,R1
9628 024646 000402 BR 60$
9629 ;
9630 024650 50$:
9631 024650 012701 002154' MOV #DST1B1,R1
9632 024654 60$:
9633 024654 012700 000000' MOV #.ZERO,R0
9634 024660 CALL $DPOS ; PUT IT IN.
024660 004737 013074' JSR PC,$DPOS
9635 024664 103451 BCS 90$
9636 024666 70$:
9637 024666 012701 002166' MOV #DSTBF,R1
9638 024672 012711 000003 MOV #3,(R1) ; CHECK AR/ARX PARITY AND CAUSE
9639 024676 012700 047000 MOV #.LDCK2,R0 ; PAGE FAIL UCODE TRAP IF ERROR
9640 024702 CALL $DFWR ; BIT34 IN .LDCK2
024702 004737 013556' JSR PC,$DFWR
9641 024706 103440 BCS 90$
9642 024710 012711 000016 MOV #FM!CM!DM,(R1) ; ENABLE CRAM,DRAM,FS,AR/ARX PARITY
9643 024714 012700 046000 MOV #.LDCK1,R0
9644 024720 CALL $DFWR ; LOAD CONDITION ENABLE REG
024720 004737 013556' JSR PC,$DFWR
9645 024724 103431 BCS 90$
9646 024726 012700 001000 MOV #.STRCL,R0 ; [4.2275] START CLOCKS
9647 024732 CALL $DFXC ; [4.2275]
024732 004737 013760' JSR PC,$DFXC
9648 024736 103424 BCS 90$ ; [4.2275] ERROR IF CC-C IS SET
9649 024740 105737 000050' TSTB .BTSW ; [4.2275] BOOT KL ?
9650 024744 100421 BMI 90$ ; [4.2275] NO -- JUST EXIT
9651 024746 012700 000522' MOV #.BTADR,R0 ; GET BOOT ADDRESS AND
9652 024752 062710 000001 ADD #1,(R0) ; INCREMENT.
9653 024756 005560 000002 ADC 2(R0)
9654 024762 CALL $STRKL
024762 004737 030712' JSR PC,$STRKL
9655 024766 103410 BCS 90$ ; IF SUCCESSFUL,
9656 024770 005037 000000G CLR .NOERR ; ALLOW ERRORS AND
9657 024774 PRINT #TSTBSM ; ANNOUNCE THE GOOD NEWS
024774 012700 005744' MOV #TSTBSM,R0
025000 004737 027620' JSR PC,$TTMSG
9658 025004 CALL ..DTP2 ; START SECONDARY PROTOCOL
025004 004737 000000G JSR PC,..DTP2
9659 025010 90$:
9660 025010 RETURN
025010 000207 RTS PC
9661 025012 80$:
9662 025012 005726 TST (SP)+ ; CONFIGURATION WAS NOT SAVED.
9663 025014 000137 023776' JMP $ERROR
9664 025020 100$:
9665 025020 105337 000000G DECB .NOERR ; ALLOW FOR ERRORS
9666 025024 000137 024014' JMP $EXIT1 ; AND EXIT
9667 ;
9668
9669 .DSABL LSB
KLIST -- START THE KL BOOT MACRO V05.04 Tuesday 17-May-88 14:21 Page 201
$TENST -- START KL BOOT
9671
9672 .TITLE KLITF -- ASCII FILE-NAME TRANSLATION
9673 025030 IDENT$ 5,0
.IDENT /005000/
9674 ;
9675 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
9676 ; ALL RIGHTS RESERVED.
9677 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
9678 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
9679 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
9680 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
9681 ;
9682 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
9683 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
9684 ; EQUIPMENT CORPORATION.
9685 ;
9686 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
9687 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
9688 ;
9689 ; VERSION 05-00
9690 ;
9691 ; ALAN D. PECKHAM 27-APR-77
9692 ;
9693 ; MODIFIED BY:
9694 ;
9695 ; FUNCTION: THIS MODULE CONTAINS ROUTINES INVOLVED IN THE TRANSLATION
9696 ; OF FILE-NAMES TO/FROM A BINARY FILENAME BLOCK.
9697 ;
9698 025030 .PSECT
KLITF -- ASCII FILE-NAME TRANSL MACRO V05.04 Tuesday 17-May-88 14:21 Page 202
$TRB2F -- TRANSLATE BINARY TO ASCII FILENAME
9700 .SBTTL $TRB2F -- TRANSLATE BINARY TO ASCII FILENAME
9701 ;+
9702 ; THIS ROUTINE TRANSLATES A FILENAME FROM A FILENAME BLOCK
9703 ; POINTED TO BY R0 INTO AN ASCII STRING AND PUTS THIS STRING INTO
9704 ; THE AREA POINTED TO BY R5. THE PATTERN FOR THE STRING IS:
9705 ; "DDD:FFFFFFFFF.TTT;VVVVV"
9706 ;
9707 ; INPUTS:
9708 ; R5 - POINTER TO AREA TO RECIEVE ASCII CHARACTERS.
9709 ; R0 - POINTER TO FILENAME BLOCK.
9710 ;
9711 ; OUTPUTS:
9712 ; THE ASCII STRING IS PLACED IN THE BYTES POINTED TO BY R5 AND
9713 ; R5 IS UPDATED TO POINT AT THE BYTE FOLLOWING THE INSERTED
9714 ; STRING. R0 IS DESTROYED.
9715 ;-
9716
9717 025030 $TRB2F::PUSH R2 ; SAVE R2 AND
025030 010246 MOV R2,-(SP)
9718 025032 010002 MOV R0,R2 ; POINT IT TO THE BLOCK.
9719 025034 116225 000014 MOVB 14(R2),(R5)+ ; INSERT THE DEVICE
9720 025040 116225 000015 MOVB 15(R2),(R5)+
9721 025044 116215 000016 MOVB 16(R2),(R5) ; AND THE UNIT NUMBER.
9722 025050 152725 000060 BISB #'0,(R5)+ ; MAKE ASCII.
9723 025054 112725 000072 MOVB #':,(R5)+ ; INSERT SEPERATOR.
9724 025060 012200 MOV (R2)+,R0 ; NOW INSERT FILE-NAME.
9725 025062 CALL $TRB2R
025062 004737 026730' JSR PC,$TRB2R
9726 025066 012200 MOV (R2)+,R0
9727 025070 CALL $TRB2R
025070 004737 026730' JSR PC,$TRB2R
9728 025074 012200 MOV (R2)+,R0
9729 025076 CALL $TRB2R
025076 004737 026730' JSR PC,$TRB2R
9730 025102 112725 000056 MOVB #'.,(R5)+ ; INSERT SEPERATOR AND
9731 025106 012200 MOV (R2)+,R0 ; THE FILE TYPE.
9732 025110 CALL $TRB2R
025110 004737 026730' JSR PC,$TRB2R
9733 025114 112725 000073 MOVB #';,(R5)+ ; NOW FOR THE
9734 025120 011200 MOV (R2),R0 ; VERSION NUMBER.
9735 025122 CALL $TRB2O
025122 004737 026464' JSR PC,$TRB2O
9736 025126 POP R2
025126 012602 MOV (SP)+,R2
9737 025130 RETURN
025130 000207 RTS PC
KLITF -- ASCII FILE-NAME TRANSL MACRO V05.04 Tuesday 17-May-88 14:21 Page 203
$TRF2B -- TRANSLATE ASCII FILE-NAME TO BINARY
9739 .SBTTL $TRF2B -- TRANSLATE ASCII FILE-NAME TO BINARY
9740 ;+
9741 ; THIS ROUTINE TRANSLATES AN ASCII FILE-NAME POINTED TO BY R5
9742 ; INTO A FILENAME BLOCK POINTED TO BY R0.
9743 ;
9744 ; INPUTS:
9745 ; R5 - POINTER TO ASCII STRING TO EXTRACT FILE-NAME FROM.
9746 ; R0 - POINTER TO BLOCK TO INSERT FILENAME DATA INTO.
9747 ;
9748 ; OUTPUTS:
9749 ; (R0) - FILENAME, FILETYPE, VERSION, UIC=[5,5], AND DEVICE=SY0:.
9750 ; R5 IS UPDATED TO POINT TO THE BYTE FOLLOWING THE CHARACTERS USED
9751 ; IN THE TRANSLATION. THE CARRY IS SET ON VERSION OVERFLOW.
9752 ;-
9753
9754 025132 $TRF2B::PUSH R2 ; SAVE R2 AND
025132 010246 MOV R2,-(SP)
9755 025134 010002 MOV R0,R2 ; POINT IT TO THE BLOCK.
9756 025136 012762 054523 000014 MOV #"SY,14(R2) ; SET DEVICE,
9757 025144 105062 000016 CLRB 16(R2) ; UNIT, AND
9758 025150 012762 002405 000012 MOV #2405,12(R2) ; DIRECTORY UIC.
9759 025156 CALL $TRR2B ; GET FILE NAME.
025156 004737 026622' JSR PC,$TRR2B
9760 025162 010022 MOV R0,(R2)+
9761 025164 CALL $TRR2B
025164 004737 026622' JSR PC,$TRR2B
9762 025170 010022 MOV R0,(R2)+
9763 025172 CALL $TRR2B
025172 004737 026622' JSR PC,$TRR2B
9764 025176 010022 MOV R0,(R2)+
9765 025200 122725 000056 CMPB #'.,(R5)+ ; IS THERE A FILE TYPE ?
9766 025204 001403 BEQ 10$
9767 025206 005305 DEC R5 ; NO FILE TYPE,
9768 025210 005722 TST (R2)+ ; LEAVE ALONE.
9769 025212 000403 BR 20$
9770 025214 10$: CALL $TRR2B ; GET FILE TYPE.
025214 004737 026622' JSR PC,$TRR2B
9771 025220 010022 MOV R0,(R2)+
9772 025222 122725 000073 20$: CMPB #';,(R5)+ ; IS THERE A VERSION NUMBER ?
9773 025226 001403 BEQ 30$
9774 025230 005305 DEC R5 ; NO VERSION,
9775 025232 005012 CLR (R2) ; SET FOR CURRENT ONE.
9776 025234 000403 BR 40$
9777 025236 30$: CALL $TRO2B ; GET VERSION NUMBER.
025236 004737 026546' JSR PC,$TRO2B
9778 025242 010012 MOV R0,(R2)
9779 025244 40$: POP R2
025244 012602 MOV (SP)+,R2
9780 025246 RETURN
025246 000207 RTS PC
KLITF -- ASCII FILE-NAME TRANSL MACRO V05.04 Tuesday 17-May-88 14:21 Page 204
$TRF2B -- TRANSLATE ASCII FILE-NAME TO BINARY
9782
9783 .TITLE KLITI -- ASCII-DECIMAL TRANSLATION
9784 025250 IDENT$ 5,0
.IDENT /005000/
9785 ;
9786 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
9787 ; ALL RIGHTS RESERVED.
9788 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
9789 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
9790 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
9791 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
9792 ;
9793 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
9794 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
9795 ; EQUIPMENT CORPORATION.
9796 ;
9797 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
9798 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
9799 ;
9800 ; VERSION 05-00
9801 ;
9802 ; ALAN D. PECKHAM 30-MAR-77
9803 ;
9804 ; MODIFIED BY:
9805 ;
9806 ; FUNCTION: THIS MODULE CONTAINS ROUTINES INVOLVED IN THE TRANSLATION
9807 ; TO/FROM THE ASCII REPRESENTATION OF INTEGERS.
9808 ;
9809 025250 .PSECT
KLITI -- ASCII-DECIMAL TRANSLAT MACRO V05.04 Tuesday 17-May-88 14:21 Page 205
$TRB2I -- TRANSLATE BINARY WORD TO INTEGER ASCII
9811 .SBTTL $TRB2I -- TRANSLATE BINARY WORD TO INTEGER ASCII
9812 ;+
9813 ; THIS ROUTINE TRANSLATES A BINARY NUMBER IN R0 INTO AN ASCII
9814 ; STRING AND PUTS THIS STRING INTO THE AREA POINTED TO BY R5.
9815 ; THE NUMBER IS CONSIDERED UNSIGNED, AND THE RESULTING STRING
9816 ; IS VARIABLE IN LENGTH WITH A MAXIMUM OF 5 CHARACTERS.
9817 ;
9818 ; INPUTS:
9819 ; R5 - POINTER TO AREA TO RECIEVE ASCII CHARACTERS.
9820 ; R0 - BINARY NUMBER TO CONVERT.
9821 ;
9822 ; OUTPUTS:
9823 ; THE ASCII STRING IS PLACED IN THE BYTES POINTED TO BY R5 AND
9824 ; R5 IS UPDATED TO POINT AT THE BYTE FOLLOWING THE INSERTED
9825 ; STRING. R0 IS DESTROYED.
9826 ;-
9827
9828 025250 $TDB2I::
9829 025250 PUSH <R4,R5> ; SAVE R4 AND R5
025250 010446 MOV R4,-(SP)
025252 010546 MOV R5,-(SP)
9830 025254 012705 000344' MOV #.TTOBF,R5 ; POINT TO OUTPUT BUFFER
9831 025260 010504 MOV R5,R4 ; COPY TO R4
9832 025262 CALL $TRB2I ; CONVERT TO ASCII STRING
025262 004737 025272' JSR PC,$TRB2I
9833 025266 CALLR $TDB2C ; FINISH UP IN COMMON CODE
025266 000137 026452' JMP $TDB2C
9834 ;
9835
9836 025272 $TRB2I::
9837 025272 004237 025310' JSR R2,10$ ; SAVE R2 AND POINT TO POWER TABLE.
9838 025276 023420 001750 000144 .WORD 10000.,1000.,100.,10.,1.
025304 000012 000001
9839 025310 004337 025344' 10$: JSR R3,50$ ; THE SAVE R3 AND SET TO
9840
9841 025314 022200 CMP (R2)+,R0 ; SIGNIFICANCE CHECKER.
9842 025316 101011 BHI 40$ ; IGNORES LEADING ZEROES.
9843 025320 005742 TST -(R2) ; WHOOPS ! THIS ONE IS GOOD,
9844 025322 010703 20$: MOV PC,R3 ; DIGITS ARE NOW TO BE PRINTED.
9845
9846 025324 112715 000060 MOVB #'0,(R5) ; SET TO ZERO
9847 025330 105215 30$: INCB (R5) ; AND GO UP
9848 025332 161200 SUB (R2),R0
9849 025334 100375 BPL 30$ ; UNTIL TOO FAR,
9850 025336 062200 ADD (R2)+,R0 ; THEN BACK UP.
9851 025340 105325 DECB (R5)+
9852 025342 000207 40$: RTS PC
9853
9854 025344 004713 50$: JSR PC,(R3) ; MAIN PROCESSOR -
9855 025346 004713 JSR PC,(R3) ; ALLOW FOR FOUR INSIGNIFICANT DIGITS,
9856 025350 004713 JSR PC,(R3)
9857 025352 004713 JSR PC,(R3)
9858 025354 004737 025322' JSR PC,20$ ; AND THEN FORCE SIGNIFICANCE.
9859 025360 POP <R3,R2> ; RESTORE REGISTERS
025360 012603 MOV (SP)+,R3
025362 012602 MOV (SP)+,R2
9860 025364 RETURN ; AND .....
KLITI -- ASCII-DECIMAL TRANSLAT MACRO V05.04 Tuesday 17-May-88 14:21 Page 205-1
$TRB2I -- TRANSLATE BINARY WORD TO INTEGER ASCII
025364 000207 RTS PC
KLITI -- ASCII-DECIMAL TRANSLAT MACRO V05.04 Tuesday 17-May-88 14:21 Page 206
$TRI2B -- TRANSLATE ASCII INTEGER TO BINARY WORD
9862 .SBTTL $TRI2B -- TRANSLATE ASCII INTEGER TO BINARY WORD
9863 ;+
9864 ; THIS ROUTINE TRANSLATES AN ASCII INTEGER NUMBER POINTED
9865 ; TO BY R5 INTO ITS BINARY EQUIVALENT IN R0. R5 IS INCRMENTED
9866 ; PAST THE NUMBER, AND CARRY IS RETURNED ON OVERFLOW.
9867 ;
9868 ; INPUTS:
9869 ; R5 - POINTER TO ASCII STRING TO EXTRACT INTEGER FROM.
9870 ;
9871 ; OUTPUTS:
9872 ; R0 - BINARY NUMBER EXTRACTED.
9873 ; R5 IS UPDATED TO POINT TO THE BYTE FOLLOWING THE CHARACTERS USED
9874 ; IN THE TRANSLATION. THE CARRY IS SET ON SIGNED OVERFLOW.
9875 ;-
9876
9877 025366 $TDI2B::
9878 025366 PUSH R5 ; SAVE R5
025366 010546 MOV R5,-(SP)
9879 025370 012705 000304' MOV #.TTIBF,R5 ; INPUT BUFFER POINTER TO R5
9880 025374 CALL $TTRD ; PROMT AND READ NUMBER
025374 004737 027114' JSR PC,$TTRD
9881 025400 CALL $TRB2I ; CONVERT TO DECIMAL NUMBER
025400 004737 025272' JSR PC,$TRB2I
9882 025404 POP R5 ; RESTORE R5
025404 012605 MOV (SP)+,R5
9883 025406 RETURN ; RETURN
025406 000207 RTS PC
9884
9885 025410 $TRI2B::
9886 025410 PUSH R1
025410 010146 MOV R1,-(SP)
9887 025412 005000 CLR R0
9888 025414 112501 10$: MOVB (R5)+,R1
9889 025416 162701 000060 SUB #'0,R1
9890 025422 100420 BMI 30$
9891 025424 022701 000011 CMP #9.,R1
9892 025430 103415 BLO 30$
9893 025432 022700 006314 CMP #<77777/10.>,R0
9894 025436 103413 BLO 40$
9895 025440 101003 BHI 20$
9896 025442 022701 000007 CMP #<77777-<77777/10.*10.>>,R1
9897 025446 103407 BLO 40$
9898 025450 006300 20$: ASL R0
9899 025452 060001 ADD R0,R1
9900 025454 006300 ASL R0
9901 025456 006300 ASL R0
9902 025460 060100 ADD R1,R0
9903 025462 000754 BR 10$
9904 025464 005727 30$: TST (PC)+
9905 025466 000261 40$: SEC
9906 025470 005305 DEC R5
9907 025472 POP R1
025472 012601 MOV (SP)+,R1
9908 025474 RETURN
025474 000207 RTS PC
KLITI -- ASCII-DECIMAL TRANSLAT MACRO V05.04 Tuesday 17-May-88 14:21 Page 207
$TRI2B -- TRANSLATE ASCII INTEGER TO BINARY WORD
9910
9911 .TITLE KLITM -- CRAM/DRAM TRANSLATION
9912 025476 IDENT$ 1,0
.IDENT /001000/
9913 ;
9914 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
9915 ; ALL RIGHTS RESERVED.
9916 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
9917 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
9918 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
9919 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
9920 ;
9921 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
9922 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
9923 ; EQUIPMENT CORPORATION.
9924 ;
9925 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
9926 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
9927 ;
9928 ; VERSION 01-00
9929 ;
9930 ; KEVIN T. LEFEBVRE 3-APR-79
9931 ;
9932 ; MODIFIED BY:
9933 ;
9934 ;
9935 ; FUNCTION: THIS MODULE CONTAINS ROUTINES INVOLVED IN THE TRANSLATION
9936 ; OF THE CRAM/DRAM FILE TO OCTAL TYPE-OUT. IT WAS WRITTEN FOR TCO
9937 ; 4.2209.
9938 ;
9939 ;
9940 ; LOCAL DATA
9941 ;
9942 002174 .PSECT DATA,D
9943 002174 000000 JCOMM: .WORD 0
9944 002176 000000 SWITCH: .WORD 0
9945 002200 002224' HDTAB: .WORD TTJ
9946 002202 002220' .WORD TTP
9947 002204 002214' .WORD TTB
9948 002206 002210' .WORD TTA
9949 002210 040 101 072 TTA: .ASCIZ / A:/
002213 000
9950 002214 040 102 072 TTB: .ASCIZ / B:/
002217 000
9951 002220 040 120 072 TTP: .ASCIZ / P:/
002223 000
9952 002224 040 112 072 TTJ: .ASCIZ / J:/
002227 000
9953 .EVEN
9954 025476 .PSECT
KLITM -- CRAM/DRAM TRANSLATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 208
$TRCRM -- TRANSLATE CRAM FILE ENTRY TO ASCII OCTAL
9956 .SBTTL $TRCRM -- TRANSLATE CRAM FILE ENTRY TO ASCII OCTAL
9957 ;+
9958 ; TRANSLATE THE BINARY WORDS IN BUFFER POINTED TO BY R1 INTO OCTAL
9959 ; DIGITS AND TYPE THEM IN CRAM FORMAT.
9960 ;
9961 ; FILE FORMAT: CRAM BIT LOCATIONS
9962 ;
9963 ; BIT BIT
9964 ; 16 0
9965 ; +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
9966 ; !64! !66! !68! !70! !72! !74! !76! !78! ! WORD 1
9967 ; +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
9968 ; !48!49!50!51!52!53!54!55!56!57!58!59!60! !62! ! WORD 2
9969 ; +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
9970 ; !32!33!34!35!36!37!38!39!40!41!42!43!44!45!46!47! WORD 3
9971 ; +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
9972 ; !16!17!18!19!20!21!22!23!24!25!26!27!28!29!30!31! WORD 4
9973 ; +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
9974 ; ! 0! 1! 2! 3! 4! 5! 6! 7! 8! 9!10!11!12!13!14!15! WORD 5
9975 ; +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
9976 ; ! ! ! ! ! ! ! ! ! ! !80!81!82!83!84!85! WORD 6
9977 ; +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
9978 ;
9979 ; THIS ROUTINE WAS ADDED FOR THE EXPANDED CRAM/DRAM ERROR REPORT
9980 ; TCO 4.2209
9981 ;
9982 ; INPUTS:
9983 ; R1 -DATA BUFFER
9984 ;
9985 ; OUTPUTS:
9986 ; NONE
9987 ;-
9988
9989 025476 $TRCRM::
9990 025476 CALL R5,$RSAVE ; SAVE REGISTERS
025476 004537 024170' JSR R5,$RSAVE
9991 025502 010105 MOV R1,R5 ;BUFFER PTR
9992 025504 062705 000010 ADD #10,R5 ;POINT TO CRAM 0-15
9993 025510 012703 000005 MOV #5,R3 ;WORD COUNTER
9994 025514 011502 10$: MOV (R5),R2 ;GET VALUE
9995 025516 012701 000344' MOV #.TTOBF,R1 ;OUTPUT PTR
9996 025522 012704 000001 MOV #1,R4 ;BITS TO SHIFT
9997 025526 CALL TROCT ;GET OCTAL DIGIT
025526 004737 026060' JSR PC,TROCT
9998 025532 012700 000005 MOV #5,R0 ;NO. OCTAL DIGITS
9999 025536 012704 000003 MOV #3,R4 ;BITS PER DIGIT
10000 025542 20$: CALL TROCT ;GET DIGIT
025542 004737 026060' JSR PC,TROCT
10001 025546 077003 SOB R0,20$ ;DONE?
10002 025550 112721 000040 MOVB #' ,(R1)+ ;YES-- END WITH SPACE
10003 025554 012700 000344' MOV #.TTOBF,R0 ;OUTPUT PTR
10004 025560 012701 000007 MOV #7,R1 ;NO. OF CHARACTERS TO TYPE
10005 025564 CALL $TTWR ;TYPE THEM
025564 004737 027700' JSR PC,$TTWR
10006 025570 005745 TST -(R5) ;NEXT VALUE
10007 025572 077330 SOB R3,10$ ;DONE?
10008 025574 016502 000014 MOV 14(R5),R2 ;YES-- GET SPEC VALUE
KLITM -- CRAM/DRAM TRANSLATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 208-1
$TRCRM -- TRANSLATE CRAM FILE ENTRY TO ASCII OCTAL
10009 025600 012700 000012 MOV #10.,R0 ;LEFT JUSTIFY IT
10010 025604 006302 30$: ASL R2 ;SHIFT IT
10011 025606 077002 SOB R0,30$ ;DONE?
10012 025610 012701 000344' MOV #.TTOBF,R1 ;YES-- OUTPUT BUFFER
10013 025614 CALL TROCT ;FIRST DIGIT
025614 004737 026060' JSR PC,TROCT
10014 025620 CALL TROCT ;SECOND DIGIT
025620 004737 026060' JSR PC,TROCT
10015 025624 012700 000344' MOV #.TTOBF,R0 ;OUTPUT BUFFER
10016 025630 012701 000002 MOV #2,R1 ;NO. OF DIGITS
10017 025634 CALL $TTWR ;TYPE THEM
025634 004737 027700' JSR PC,$TTWR
10018 025640 RETURN
025640 000207 RTS PC
KLITM -- CRAM/DRAM TRANSLATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 209
$TRDRM -- TRANSLATE DRAM FILE ENTRY TO ASCII OCTAL
10020 .SBTTL $TRDRM -- TRANSLATE DRAM FILE ENTRY TO ASCII OCTAL
10021 ;+
10022 ; TRANSLATE THE BINARY WORDS IN THE BUFFER POINTED TO BY R1 INTO OCTAL
10023 ; DIGITS AND TYPE THEM IN DRAM FORMAT WITH THE EVEN ADDRESS FIRST.
10024 ;
10025 ; FILE FORMAT: DRAM BIT LOCATIONS
10026 ;
10027 ; BIT BIT
10028 ; 16 0
10029 ; +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
10030 ; ! ! !A1!A2!A3!B1!B2!B3! ! !PE!PC!J7!J8!J9!J0! EVEN ADDRESS
10031 ; +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
10032 ; ! ! !A1!A2!A3!B1!B2!B3! ! !PO!PC!J7!J8!J9!J0! ODD ADDRESS
10033 ; +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
10034 ; ! ! ! ! ! ! ! ! ! ! ! ! !J1!J2!J3!J4! COMMON J
10035 ; +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
10036 ;
10037 ; NOTE: J0=J10 (BIT 10 OF J FIELD)
10038 ;
10039 ; THIS ROUTINE WAS ADDED FOR THE EXPANDED CRAM/DRAM ERROR REPORT
10040 ; TCO 4.2209
10041 ;
10042 ; INPUTS:
10043 ; R1- DATA BUFFER
10044 ;
10045 ; OUTPUTS:
10046 ; NONE
10047 ;-
10048
10049 025642 $TRDRM::
10050 025642 CALL R5,$RSAVE ;SAVE REGISTERS
025642 004537 024170' JSR R5,$RSAVE
10051 025646 010105 MOV R1,R5 ;DATA BUFFER POINTER
10052 025650 016100 000004 MOV 4(R1),R0 ;J COMMON VALUE
10053 025654 012702 000006 MOV #6,R2 ;PUT IN CORRECT POSITION
10054 025660 006300 10$: ASL R0 ;SHIFT IT
10055 025662 077202 SOB R2,10$ ;DONE?
10056 025664 010037 002174' MOV R0,JCOMM ;YES-- SAVE IT
10057 025670 005037 002176' CLR SWITCH ;ODD/EVEN ADDRESS SWITCH
10058 025674 012703 000006 20$: MOV #6,R3 ;FIELD COUNTER
10059 025700 012704 000003 MOV #3,R4 ;BIT SHIFT COUNTER
10060 025704 011502 MOV (R5),R2 ;VALUE
10061 025706 042702 000020 BIC #20,R2 ;CLEAR COMPUTED PARITY
10062 025712 006302 ASL R2 ;LEFT JUSTIFY
10063 025714 006302 ASL R2 ;LEFT JUSTIFY
10064 025716 016300 002200' 30$: MOV HDTAB(R3),R0 ;HEADER ADDRESS
10065 025722 CALL $TTDMS ;TYPE HEADER
025722 004737 027552' JSR PC,$TTDMS
10066 025726 005703 TST R3 ;LAST HEADER?
10067 025730 001414 BEQ 40$ ;YES-- TYPE J FIELD
10068 025732 012701 000344' MOV #.TTOBF,R1 ;NO-- OUTPUT PTR
10069 025736 CALL TROCT ;CONVERT FIELD TO ASCII OCTAL
025736 004737 026060' JSR PC,TROCT
10070 025742 012700 000344' MOV #.TTOBF,R0 ;OUTPUT PTR
10071 025746 012701 000001 MOV #1,R1 ;FIELD SIZE
10072 025752 CALL $TTWR ;TYPE FIELD VALUE
025752 004737 027700' JSR PC,$TTWR
KLITM -- CRAM/DRAM TRANSLATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 209-1
$TRDRM -- TRANSLATE DRAM FILE ENTRY TO ASCII OCTAL
10073 025756 005743 TST -(R3) ;SUBTRACT 2 FROM HEADER POINTER
10074 025760 000756 BR 30$ ;NEXT HEADER
10075 025762 013702 002174' 40$: MOV JCOMM,R2 ;GET J COMMON VALUE
10076 025766 011500 MOV (R5),R0 ;GET J VALUE FOR ADDRESS
10077 025770 042700 177760 BIC #177760,R0 ;CLEAR JUNK
10078 025774 050002 BIS R0,R2 ;GET J FIELD VALUE
10079 025776 012700 000004 MOV #4,R0 ;SHIFT COUNT
10080 026002 006302 50$: ASL R2 ;LEFT JUSTIFY
10081 026004 077002 SOB R0,50$ ;DONE?
10082 026006 012700 000004 MOV #4,R0 ;YES-- J FIELD SIZE
10083 026012 012701 000344' MOV #.TTOBF,R1 ;OUTPUT PTR
10084 026016 60$: CALL TROCT ;GET DIGIT
026016 004737 026060' JSR PC,TROCT
10085 026022 077003 SOB R0,60$ ;DONE?
10086 026024 012700 000344' MOV #.TTOBF,R0 ;YES-- OUTPUT PTR
10087 026030 012701 000004 MOV #4,R1 ;J FIELD SIZE
10088 026034 CALL $TTWR ;TYPE FIELD
026034 004737 027700' JSR PC,$TTWR
10089 026040 005737 002176' TST SWITCH ;DONE?
10090 026044 001004 BNE 70$ ;YES-- EXIT
10091 026046 005237 002176' INC SWITCH ;FLIP SWITCH
10092 026052 005725 TST (R5)+ ;POINT TO NEXT VALUE
10093 026054 000707 BR 20$ ;TYPE OUT ODD ADDRESS FIELDS
10094 026056 70$: RETURN
026056 000207 RTS PC
KLITM -- CRAM/DRAM TRANSLATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 210
TROCT -- TRANSLATE OCTAL VALUE TO ASCII DIGITS
10096 .SBTTL TROCT -- TRANSLATE OCTAL VALUE TO ASCII DIGITS
10097 ;+
10098 ; SHIFT OUT 1 OCTAL DIGIT FROM A LEFT JUSTIFIED VALUE, MAKE ASCII
10099 ; AND STORE IN BUFFER.
10100 ;
10101 ; INPUT:
10102 ; R2- VALUE
10103 ; R4- NO. OF BITS IN OCTAL DIGIT
10104 ; R1- BUFFER PTR
10105 ;
10106 ; OUTPUT:
10107 ; R1- UPDATED
10108 ;-
10109
10110 026060 TROCT: PUSH <R3,R4> ;SAVE R3,R4
026060 010346 MOV R3,-(SP)
026062 010446 MOV R4,-(SP)
10111 026064 005003 CLR R3 ;TEMP
10112 026066 006102 10$: ROL R2 ;SHIFT OUT BIT
10113 026070 006103 ROL R3 ;SHIFT IN BIT
10114 026072 077403 SOB R4,10$ ;DONE?
10115 026074 062703 000060 ADD #'0,R3 ;YES-- MAKE ASCII
10116 026100 110321 MOVB R3,(R1)+ ;STORE IN BUFFER
10117 026102 POP <R4,R3> ;RESTORE R3,R4
026102 012604 MOV (SP)+,R4
026104 012603 MOV (SP)+,R3
10118 026106 RETURN
026106 000207 RTS PC
KLITM -- CRAM/DRAM TRANSLATION MACRO V05.04 Tuesday 17-May-88 14:21 Page 211
TROCT -- TRANSLATE OCTAL VALUE TO ASCII DIGITS
10120
10121 .TITLE KLITN -- ASCII-KL WORD TRANSLATION
10122 026110 IDENT$ 5,0
.IDENT /005000/
10123 ;
10124 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
10125 ; ALL RIGHTS RESERVED.
10126 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
10127 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
10128 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
10129 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
10130 ;
10131 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
10132 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
10133 ; EQUIPMENT CORPORATION.
10134 ;
10135 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
10136 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
10137 ;
10138 ; VERSION 05-00
10139 ;
10140 ; ALAN D. PECKHAM 30-MAR-77
10141 ;
10142 ; MODIFIED BY:
10143 ;
10144 ; FUNCTION: THIS MODULE PROVIDES ROUTINES TO DISPLAY KL ADDRESSES
10145 ; AND WORDS.
10146 ;
10147 ; LOCAL DATA
10148 ;
10149 002230 .PSECT DATA,D
10150 002230 000000 000000 000000 DTNXP: .WORD 0,0,0 ; WORK AREA TO EXPAND 16K BANK NUMBER.
10151 002236 000000 000000 000000 DTNRB: .WORD 0,0,0 ; WORK AREA FOR ROLLING BITS AROUND.
10152 026110 .PSECT
KLITN -- ASCII-KL WORD TRANSLAT MACRO V05.04 Tuesday 17-May-88 14:21 Page 212
$TENAD -- DISPLAY KL ADDRESS/16K
10154 .SBTTL $TENAD -- DISPLAY KL ADDRESS/16K
10155 ;+
10156 ; INSERT THE 22 BIT ASCII REPRESENTATION OF THE ADDRESS/16K CONTAINED
10157 ; IN R0. THE PATTERN IS "XXXXXXXX" WHERE X IS AN OCTAL DIGIT.
10158 ;
10159 ; INPUTS:
10160 ; R5 - POINTER TO WHERE TO INSERT THE ASCII STRING.
10161 ; R0 - NUMBER OF 16K MEMORY BANK.
10162 ;
10163 ; OUTPUTS:
10164 ; R5 IS UPDATED TO POINT TO THE BYTE FOLLOWING THE INSERTED
10165 ; CHARACTERS.
10166 ;-
10167
KLITN -- ASCII-KL WORD TRANSLAT MACRO V05.04 Tuesday 17-May-88 14:21 Page 214
$WRD22 -- DISPLAY 22 BIT KL WORD
10236 .SBTTL $WRD22 -- DISPLAY 22 BIT KL WORD
10237 ;+
10238 ; PATTERN: "XXXXXXXX"
10239 ;-
10240
10241 026110 $WDD22::
10242 026110 PUSH <R5,R4> ; SAVE R5 AND R4
026110 010546 MOV R5,-(SP)
026112 010446 MOV R4,-(SP)
10243 026114 012705 000344' MOV #.TTOBF,R5 ; OUTPUT BUFFER POINTER TO R5
10244 026120 010504 MOV R5,R4 ; COPY TO R4
10245 026122 CALL $WRD22 ; CONVERT THE NUMBER
026122 004737 026140' JSR PC,$WRD22
10246 026126 CALL $TTDWR ; OUTPUT THE NUMBER
026126 004737 027664' JSR PC,$TTDWR
10247 026132 POP <R4,R5> ; RESTORE REGISTERS
026132 012604 MOV (SP)+,R4
026134 012605 MOV (SP)+,R5
10248 026136 RETURN ; AND EXIT
026136 000207 RTS PC
10249
10250 026140 $WRD22::
10251 026140 PUSH <R2,R1,R0>
026140 010246 MOV R2,-(SP)
026142 010146 MOV R1,-(SP)
026144 010046 MOV R0,-(SP)
10252 026146 CALL LTNMV
026146 004737 026360' JSR PC,LTNMV
10253 026152 012702 000010 MOV #8.,R2
10254 026156 012700 000003 MOV #3,R0
10255 026162 042761 177700 000002 BIC #^C77,2(R1)
10256 026170 10$: CALL LTNROL
026170 004737 026404' JSR PC,LTNROL
10257 026174 116100 000003 MOVB 3(R1),R0
10258 026200 CALL LTNCHR
026200 004737 026420' JSR PC,LTNCHR
10259 026204 012700 000003 MOV #3,R0
10260 026210 077211 SOB R2,10$
10261 026212 POP <R0,R1,R2>
026212 012600 MOV (SP)+,R0
026214 012601 MOV (SP)+,R1
026216 012602 MOV (SP)+,R2
10262 026220 RETURN
026220 000207 RTS PC
KLITN -- ASCII-KL WORD TRANSLAT MACRO V05.04 Tuesday 17-May-88 14:21 Page 215
$WRD36 -- DISPLAY 36 BIT KL WORD
10264 .SBTTL $WRD36 -- DISPLAY 36 BIT KL WORD
10265 ;+
10266 ; PATTERN: "XXXXXX XXXXXX"
10267 ;-
10268
10269 026222 $WDD36::
10270 026222 PUSH <R5,R4> ; SAVE R5 AND R4
026222 010546 MOV R5,-(SP)
026224 010446 MOV R4,-(SP)
10271 026226 012705 000344' MOV #.TTOBF,R5 ; OUTPUT BUFFER POINTER TO R5
10272 026232 010504 MOV R5,R4 ; COPY TO R4
10273 026234 CALL $WRD36 ; CONVERT THE NUMBER
026234 004737 026252' JSR PC,$WRD36
10274 026240 CALL $TTDWR ; OUTPUT THE NUMBER
026240 004737 027664' JSR PC,$TTDWR
10275 026244 POP <R4,R5> ; RESTORE REGISTERS
026244 012604 MOV (SP)+,R4
026246 012605 MOV (SP)+,R5
10276 026250 RETURN ; AND EXIT
026250 000207 RTS PC
10277
10278 026252 $WRD36::
10279 026252 PUSH <R2,R1,R0>
026252 010246 MOV R2,-(SP)
026254 010146 MOV R1,-(SP)
026256 010046 MOV R0,-(SP)
10280 026260 CALL LTNMV
026260 004737 026360' JSR PC,LTNMV
10281 026264 012702 000006 MOV #6,R2
10282 026270 012700 000007 MOV #7,R0
10283 026274 10$: CALL LTNROL
026274 004737 026404' JSR PC,LTNROL
10284 026300 116100 000005 MOVB 5(R1),R0
10285 026304 CALL LTNCHR
026304 004737 026420' JSR PC,LTNCHR
10286 026310 012700 000003 MOV #3,R0
10287 026314 077211 SOB R2,10$
10288 026316 112725 000040 MOVB #' ,(R5)+
10289 026322 012702 000006 MOV #6,R2
10290 026326 20$: CALL LTNROL
026326 004737 026404' JSR PC,LTNROL
10291 026332 116100 000005 MOVB 5(R1),R0
10292 026336 CALL LTNCHR
026336 004737 026420' JSR PC,LTNCHR
10293 026342 012700 000003 MOV #3,R0
10294 026346 077211 SOB R2,20$
10295 026350 POP <R0,R1,R2>
026350 012600 MOV (SP)+,R0
026352 012601 MOV (SP)+,R1
026354 012602 MOV (SP)+,R2
10296 026356 RETURN
026356 000207 RTS PC
KLITN -- ASCII-KL WORD TRANSLAT MACRO V05.04 Tuesday 17-May-88 14:21 Page 216
$WRD36 -- DISPLAY 36 BIT KL WORD
10298 ;+
10299 ; INSERT 36 BIT WORD INTO WORD-ALIGNED WORK AREA.
10300 ;
10301 ; INPUTS:
10302 ; R0 - POINTER TO 36 BIT WORD TO COPY.
10303 ;
10304 ; OUTPUTS:
10305 ; R1 - POINTER TO COPY OF 36 BIT WORD POINTED TO BY R0.
10306 ; R0 AND R2 ARE DESTROYED.
10307 ;-
10308
10309 026360 012702 000006 LTNMV: MOV #6,R2 ; MOVE 6 BYTES
10310 026364 012701 002236' MOV #DTNRB,R1
10311 026370 112021 10$: MOVB (R0)+,(R1)+ ; MOVE DATA TO BE CONVERTED
10312 026372 077202 SOB R2,10$
10313 026374 042741 177760 BIC #^C17,-(R1) ; ONLY 36 BITS PLEASE
10314 026400 024141 CMP -(R1),-(R1)
10315 026402 RETURN
026402 000207 RTS PC
10316
10317 ;+
10318 ; SHIFT 3 WORDS AT R1 TO THE LEFT BY THE NUMBER OF BITS SPECIFED.
10319 ;
10320 ; INPUTS:
10321 ; R1 - POINTER TO THE THREE WORDS TO SHIFT.
10322 ; R0 - NUMBER OF TIMES TO SHIFT. MUST BE >0.
10323 ;
10324 ; OUTPUTS:
10325 ; R0 IS DESTROYED.
10326 ;-
10327
10328 026404 006321 LTNROL: ASL (R1)+
10329 026406 006121 ROL (R1)+
10330 026410 006111 ROL (R1)
10331 026412 024141 CMP -(R1),-(R1)
10332 026414 077005 SOB R0,LTNROL
10333 026416 RETURN
026416 000207 RTS PC
10334
10335 ;+
10336 ; INSERT 3 LEAST SIGNIFICANT BITS FROM R0 AS ASCII CHARACTER TO BYTE
10337 ; POINTED TO BY R5 AND INCREMENT R5.
10338 ;
10339 ; INPUTS:
10340 ; R5 - POINTER TO BYTE TO RECIEVE DIGIT.
10341 ; R0 - NUMBER TO PICK BOTTOM OCTAL DIGIT FROM.
10342 ;
10343 ; OUTPUTS:
10344 ; R5 IS UPDATED TO POINT TO THE BYTE FOLLOWING THE INSERTED
10345 ; CHARACTER. R0 IS DESTROYED.
10346 ;-
10347
10348 026420 042700 177770 LTNCHR: BIC #^C7,R0
10349 026424 062700 000060 ADD #'0,R0
10350 026430 110025 MOVB R0,(R5)+
10351 026432 RETURN
026432 000207 RTS PC
KLITN -- ASCII-KL WORD TRANSLAT MACRO V05.04 Tuesday 17-May-88 14:21 Page 217
$WRD36 -- DISPLAY 36 BIT KL WORD
10353
10354
10355 .TITLE KLITO -- ASCII-OCTAL/BINARY TRANSLATION
10356 026434 IDENT$ 5,2 ; ADP01
.IDENT /005020/
10357 ;
10358 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
10359 ; ALL RIGHTS RESERVED.
10360 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
10361 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
10362 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
10363 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
10364 ;
10365 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
10366 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
10367 ; EQUIPMENT CORPORATION.
10368 ;
10369 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
10370 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
10371 ;
10372 ; VERSION 05-02 ; ADP01
10373 ;
10374 ; ALAN D. PECKHAM 30-MAR-77
10375 ;
10376 ; MODIFIED BY:
10377 ;
10378 ;
10379 ; FUNCTION: THIS MODULE CONTAINS ROUTINES INVOLVED IN THE TRANSLATION
10380 ; TO/FROM THE ASCII REPRESENTATION OF OCTAL NUMBERS.
10381 ;
10382 ;
KLITO -- ASCII-OCTAL/BINARY TRA MACRO V05.04 Tuesday 17-May-88 14:21 Page 218
$TRB2O -- TRANSLATE BINARY WORD AS OCTAL ASCII
10384 .SBTTL $TRB2O -- TRANSLATE BINARY WORD AS OCTAL ASCII
10385 ;+
10386 ; TRANSLATE THE UNSIGNED BINARY NUMBER IN R0 INTO AND ASCII STRING
10387 ; AND PUT IT INTO THE AREA POINTED TO BY R5. THE STRING IS VARIBLE
10388 ; IN LENGTH WITH LEADING ZERO SUPPRESSION AND A MAXIMUM LENGTH OF
10389 ; 6. R5 IS INCREMENTED PAST THE INSERTED STRING.
10390 ;
10391 ; INPUTS:
10392 ; R5 - POINTER TO AREA TO RECIEVE ASCII CHARACTERS.
10393 ; R0 - BINARY NUMBER TO CONVERT.
10394 ;
10395 ; OUTPUTS:
10396 ; THE ASCII STRING IS PLACED IN THE BYTES POINTED TO BY R5 AND
10397 ; R5 IS UPDATED TO POINT AT THE BYTE FOLLOWING THE INSERTED
10398 ; STRING. R0 IS DESTROYED.
10399 ;-
10400
10401 026434 $TDB2O::
10402 026434 PUSH <R4,R5> ; SAVE R4 AND R5
026434 010446 MOV R4,-(SP)
026436 010546 MOV R5,-(SP)
10403 026440 012705 000344' MOV #.TTOBF,R5 ; POINT TO OUTPUT BUFFER
10404 026444 010504 MOV R5,R4 ; COPY TO R4
10405 026446 CALL $TRB2O ; CONVERT TO ASCII STRING
026446 004737 026464' JSR PC,$TRB2O
10406 026452 $TDB2C::
10407 026452 CALL $TTDWR ; OUTPUT THE LINE
026452 004737 027664' JSR PC,$TTDWR
10408 026456 POP <R5,R4> ; RESTORE REGISTERS
026456 012605 MOV (SP)+,R5
026460 012604 MOV (SP)+,R4
10409 026462 RETURN ; AND EXIT
026462 000207 RTS PC
10410
10411 026464 $TRB2O::
10412 026464 PUSH <R2,R1> ; SAVE REGISTERS AND
026464 010246 MOV R2,-(SP)
026466 010146 MOV R1,-(SP)
10413 026470 012702 026512' MOV #20$,R2 ; SET SIGNIFICANCE CHECKER.
10414 026474 012701 002200 MOV #2200,R1 ; GET INITIAL BIT.
10415 026500 10$:
10416 026500 006100 ROL R0
10417 026502 106101 ROLB R1 ; ROLL BITS IN.
10418 026504 103375 BCC 10$ ; ANY MORE ?
10419 026506 001003 BNE 30$ ; NON-ZERO BYTE IS SIGNIFICANT.
10420 026510 000112 JMP (R2) ; HAVE WE MET SIGNIFICANCE ?
10421 ;
10422 026512 20$:
10423 026512 005701 TST R1 ; NO - LAST DIGIT ?
10424 026514 100004 BPL 40$ ; NO- IGNORE.
10425 026516 30$:
10426 026516 010702 MOV PC,R2 ; SIGNIFICANCE HAS BEEN REACHED.
10427 026520 152701 000060 BISB #'0,R1 ; MAKE IT A DIGIT
10428 026524 110125 MOVB R1,(R5)+ ; AND INSERT.
10429 026526 40$:
10430 026526 105001 CLRB R1 ; CLEAR OLD DIGIT
10431 026530 152701 000020 BISB #20,R1 ; AND SET 3-BIT INDICATOR.
KLITO -- ASCII-OCTAL/BINARY TRA MACRO V05.04 Tuesday 17-May-88 14:21 Page 218-1
$TRB2O -- TRANSLATE BINARY WORD AS OCTAL ASCII
10432 026534 006301 ASL R1 ; FINISHED WITH WORD ?
10433 026536 103360 BCC 10$ ; NO - CONTINUE, OTHERWISE
10434 026540 POP <R1,R2>
026540 012601 MOV (SP)+,R1
026542 012602 MOV (SP)+,R2
10435 026544 RETURN ; WE ARE FINISHED.
026544 000207 RTS PC
KLITO -- ASCII-OCTAL/BINARY TRA MACRO V05.04 Tuesday 17-May-88 14:21 Page 219
$TRO2B -- TRANSLATE ASCII OCTAL NUMBER TO BINARY WORD
10437 .SBTTL $TRO2B -- TRANSLATE ASCII OCTAL NUMBER TO BINARY WORD
10438 ;+
10439 ; THIS ROUTINE TRANSLATES AN ASCII OCTAL NUMBER POINTED
10440 ; TO BY R5 INTO ITS BINARY EQUIVALENT IN R0. R5 IS INCRMENTED
10441 ; PAST THE NUMBER, AND CARRY IS RETURNED ON OVERFLOW.
10442 ;
10443 ; INPUTS:
10444 ; R5 - POINTER TO ASCII STRING TO EXTRACT OCTAL NUMBER FROM.
10445 ;
10446 ; OUTPUTS:
10447 ; R0 - BINARY NUMBER EXTRACTED.
10448 ; R5 IS UPDATED TO POINT TO THE BYTE FOLLOWING THE CHARACTERS USED
10449 ; IN THE TRANSLATION. THE CARRY IS SET ON OVERFLOW.
10450 ;-
10451
10461
10462 026546 $TRO2B::
10463 026546 PUSH R2
026546 010246 MOV R2,-(SP)
10464 026550 005000 CLR R0 ; INITIALIZE RESULT.
10465 026552 112502 10$: MOVB (R5)+,R2 ; GET NEXT CHARACTER ; ADP01
10466 026554 162702 000060 SUB #'0,R2 ; AND MAKE BINARY
10467 026560 100413 BMI 20$ ; WHILE CHECKING
10468 026562 022702 000007 CMP #7,R2 ; IF OCTAL NUMERIC.
10469 026566 103410 BLO 20$ ; WE ARE FINISHED IF NOT.
10470 026570 032700 160000 BIT #160000,R0 ; IF RESULT WILL OVERFLOW
10471 026574 001006 BNE 30$ ; THEN SIGNAL ERROR
10472 026576 006300 ASL R0 ; OTHERWISE
10473 026600 006300 ASL R0 ; MULTIPLY BY 8
10474 026602 006300 ASL R0 ; AND
10475 026604 060200 ADD R2,R0 ; ADD NEW DIGIT.
10476 026606 000761 BR 10$ ; GO BACK FOR MORE.
10477 026610 005727 20$: TST (PC)+ ; PROPER EXIT - CLEAR CARRY.
10478 026612 000261 30$: SEC ; OVERFLOW - SET CARRY.
10479 026614 005305 DEC R5 ; BACK UP OVER ; ADP01
10480 026616 POP R2 ; LAST CHARACTER CHECKED
026616 012602 MOV (SP)+,R2
10481 026620 RETURN ; AND EXIT.
026620 000207 RTS PC
KLITO -- ASCII-OCTAL/BINARY TRA MACRO V05.04 Tuesday 17-May-88 14:21 Page 220
$TRO2B -- TRANSLATE ASCII OCTAL NUMBER TO BINARY WORD
10483
10484
10485 .TITLE KLITR -- ASCII-RAD50 CONVERSION
10486 026622 IDENT$ 5,0
.IDENT /005000/
10487 ;
10488 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
10489 ; ALL RIGHTS RESERVED.
10490 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
10491 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
10492 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
10493 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
10494 ;
10495 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
10496 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
10497 ; EQUIPMENT CORPORATION.
10498 ;
10499 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
10500 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
10501 ;
10502 ; VERSION 05-00
10503 ;
10504 ; ALAN D. PECKHAM 30-MAR-77
10505 ;
10506 ; MODIFIED BY:
10507 ;
10508 ; FUNCTION: THIS MODULE CONTAINS ROUTINES INVOLVED WITH TRANSLATION
10509 ; OF RAD50 WORDS TO/FROM ASCII STRINGS.
10510 ;
10511 026622 .PSECT
KLITR -- ASCII-RAD50 CONVERSION MACRO V05.04 Tuesday 17-May-88 14:21 Page 221
$TRR2B -- TRANSLATE ASCII TO RAD50 WORD
10513 .SBTTL $TRR2B -- TRANSLATE ASCII TO RAD50 WORD
10514 ;+
10515 ; TRANSLATE 3 OR LESS CHARACTERS POINTED TO BY R5 INTO A RAD50 WORD
10516 ; AND PLACE IT IN R0. IF A CHARACTER IS ENCOUNTERED DURING TRANSLATION
10517 ; WHICH IS NOT ALPHANUMERIC, SPACES ARE SUBSTITUTED FOR THE REMAINING
10518 ; CHARACTERS OF THE THREE. R5 IS INCREMENTED PAST ANY CHARACTERS
10519 ; WHICH WERE ACCEPTED.
10520 ; **NOTE** THIS ROUTINE ONLY TRANSLATES ALPHANUMERIC CHARACTERS, NOT
10521 ; THE FULL RAD50 CHARACTER SET.
10522 ;
10523 ; INPUTS:
10524 ; R5 - POINTER TO CHARACTERS TO BE USED IN TRANSLATION.
10525 ;
10526 ; OUTPUTS:
10527 ; R0 - RAD50 WORD CONTAINING CHARACTERS TRANSLATED.
10528 ; R5 IS UPDATED TO POINT TO THE BYTE FOLLOWING THE CHARACTERS
10529 ; INSERTED INTO THE RAD50 WORD.
10530 ;-
10531
10532 026622 $TRR2B::PUSH <R2,R1> ; SAVE REGISTERS AND
026622 010246 MOV R2,-(SP)
026624 010146 MOV R1,-(SP)
10533 026626 005000 CLR R0 ; INITIALIZE RETURN VALUE.
10534 026630 012702 000003 MOV #3.,R2 ; GET 3 CHARACTERS.
10535 026634 112501 10$: MOVB (R5)+,R1 ; PICK UP THE NEXT
10536 026636 162701 000100 SUB #100,R1 ; AND CHECK FOR ALPHAMERIC.
10537 026642 003404 BLE 20$
10538 026644 022701 000032 CMP #32,R1 ; WITHIN A-Z ?
10539 026650 002014 BGE 50$ ; YES, STICK IT IN.
10540 026652 000406 BR 30$
10541 026654 062701 000020 20$: ADD #<100-60>,R1 ; CHECK FOR NUMERIC.
10542 026660 002403 BLT 30$
10543 026662 022701 000011 CMP #9.,R1 ; WITHIN 0-9 ?
10544 026666 002003 BGE 40$
10545 026670 005305 30$: DEC R5 ; INVALID CHARACTER, IGNORE.
10546 026672 012701 177742 MOV #-36,R1 ; INSERT A NULL.
10547 026676 062701 000036 40$: ADD #36,R1 ; INCREASE FOR NUMERIC.
10548 026702 006300 50$: ASL R0 ; MULTIPLY BY 50
10549 026704 006300 ASL R0
10550 026706 006300 ASL R0
10551 026710 060001 ADD R0,R1 ; WHILE ADDING IN
10552 026712 006300 ASL R0
10553 026714 006300 ASL R0
10554 026716 060100 ADD R1,R0 ; THE NEW CHARACTER.
10555 026720 077233 SOB R2,10$ ; DO FOR 3 CHARACTERS
10556 026722 POP <R1,R2> ; AND...
026722 012601 MOV (SP)+,R1
026724 012602 MOV (SP)+,R2
10557 026726 RETURN
026726 000207 RTS PC
KLITR -- ASCII-RAD50 CONVERSION MACRO V05.04 Tuesday 17-May-88 14:21 Page 222
$TRB2R -- TRANSLATE RAD50 WORD TO ASCII
10559 .SBTTL $TRB2R -- TRANSLATE RAD50 WORD TO ASCII
10560 ;+
10561 ; TRANSLATE THE RAD50 WORD IN R0 TO AN ASCIZ STRING AND INSERT THE
10562 ; STRING AT THE AREA POINTED TO BY R5. INCREMENT R5 TO POINT PAST
10563 ; THE INSERTED STRING. THE INVALID RAD50 CODE IS REPRESENTED BY
10564 ; THE UNDERLINE CHARACTER. THE BLANK CHARACTER IS NOT INSERTED.
10565 ;
10566 ; INPUTS:
10567 ; R5 - POINTER TO BYTES TO RECIEVE ASCII STRING.
10568 ; R0 - RAD50 WORD FROM WHICH TO EXTRACT THE CHARACTERS.
10569 ;
10570 ; OUTPUTS:
10571 ; R5 IS UPDATED TO POINT TO THE BYTE FOLLOWING THE CHARACTERS
10572 ; INSERTED.
10573 ;-
10574
10575 026730 $TRB2R::PUSH <R2,R1,R0>
026730 010246 MOV R2,-(SP)
026732 010146 MOV R1,-(SP)
026734 010046 MOV R0,-(SP)
10576 026736 012702 000002 MOV #2.,R2 ; I DON'T UNDERSTAND THIS ROUTINE.
10577 026742 10$: PUSH R0 ; BUT IT DEFINITELY WORKS.
026742 010046 MOV R0,-(SP)
10578 026744 005000 CLR R0
10579 026746 011601 20$: MOV (SP),R1
10580 026750 152701 000002 BISB #2,R1
10581 026754 010146 MOV R1,-(SP)
10582 026756 006016 ROR (SP)
10583 026760 006216 ASR (SP)
10584 026762 162601 SUB (SP)+,R1
10585 026764 042701 000037 BIC #37,R1
10586 026770 160116 SUB R1,(SP)
10587 026772 006001 ROR R1
10588 026774 006001 ROR R1
10589 026776 160116 SUB R1,(SP)
10590 027000 060100 ADD R1,R0
10591 027002 021627 000047 CMP (SP),#47
10592 027006 101357 BHI 20$ ; NOTE: CARRY IS CLEAR ON BRANCH.
10593 027010 006200 ASR R0
10594 027012 006200 ASR R0
10595 027014 006200 ASR R0
10596 027016 077227 SOB R2,10$
10597 027020 012702 000003 MOV #3.,R2
10598 027024 022700 000047 CMP #47,R0
10599 027030 103405 BLO 40$
10600 027032 105700 TSTB R0
10601 027034 001422 30$: BEQ 90$
10602 027036 122700 000035 CMPB #35,R0
10603 027042 001002 BNE 50$
10604 027044 012700 000115 40$: MOV #115,R0
10605 027050 122700 000033 50$: CMPB #33,R0
10606 027054 001403 BEQ 60$
10607 027056 103404 BLO 70$
10608 027060 062700 000040 ADD #40,R0
10609 027064 062700 000016 60$: ADD #16,R0
10610 027070 062700 000011 70$: ADD #11,R0
10611 027074 062700 000011 80$: ADD #11,R0
KLITR -- ASCII-RAD50 CONVERSION MACRO V05.04 Tuesday 17-May-88 14:21 Page 222-1
$TRB2R -- TRANSLATE RAD50 WORD TO ASCII
10612 027100 110025 MOVB R0,(R5)+
10613 027102 90$: POP R0
027102 012600 MOV (SP)+,R0
10614 027104 077225 SOB R2,30$
10615 027106 POP <R1,R2>
027106 012601 MOV (SP)+,R1
027110 012602 MOV (SP)+,R2
10616 027112 RETURN
027112 000207 RTS PC
KLITR -- ASCII-RAD50 CONVERSION MACRO V05.04 Tuesday 17-May-88 14:21 Page 223
$TRB2R -- TRANSLATE RAD50 WORD TO ASCII
10618
10619 .TITLE KLITT -- TTY I/O FUNCTIONS
10620 027114 IDENT$ 5,1
.IDENT /005010/
10621 ;
10622 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
10623 ; ALL RIGHTS RESERVED.
10624 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
10625 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
10626 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
10627 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
10628 ;
10629 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
10630 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
10631 ; EQUIPMENT CORPORATION.
10632 ;
10633 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
10634 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
10635 ;
10636 ; VERSION 05-00
10637 ;
10638 ; ALAN D. PECKHAM 15-APR-77
10639 ;
10640 ; MODIFIED BY:
10641 ;
10642 ; FUNCTION: ALL ROUTINES ACCESS THE CONSOLE THROUGH THIS MODULE
10643 ; TO PROVIDE A UNIFORM INTERFACE TO THE OPERATOR.
10644 ;
10645 ; EQUATED SYMBOLS
10646 ;
10647 000015 CR = 15 ; CARRIAGE RETURN CHARACTER.
10648 000012 LF = 12 ; LINE FEED CHARACTER.
10649 ;
10650 ; LOCAL MACROS
10651 ;
10652 .MCALL QIOW$,WTSE$S,EXIT$S
10653 ;
10654 ; LOCAL DATA
10655 ;
10656 002244 .PSECT DATA,D
10657 002244 DTTRLB: QIOW$ IO.RLB,TTILUN,1,,DTTSTA,,<.TTIBF,T.TIL>
002244 003 010 .BYTE 3,$$$ARG
002246 000000G .WORD IO.RLB
002250 000001 .WORD TTILUN
002252 001 000 .BYTE 1,
002254 002336' .WORD DTTSTA
002256 000000 .WORD
002260 000304' .WORD .TTIBF
002262 000040 .WORD T.TIL
10658 002264 DTTWLB: QIOW$ IO.WLB,TTOLUN,1,,DTTSTA,,<0,0,0>
002264 003 011 .BYTE 3,$$$ARG
002266 000000G .WORD IO.WLB
002270 000002 .WORD TTOLUN
002272 001 000 .BYTE 1,
002274 002336' .WORD DTTSTA
002276 000000 .WORD
002300 000000 .WORD 0
KLITT -- TTY I/O FUNCTIONS MACRO V05.04 Tuesday 17-May-88 14:21 Page 223-1
$TRB2R -- TRANSLATE RAD50 WORD TO ASCII
002302 000000 .WORD 0
002304 000000 .WORD 0
10659 002306 ATLST: QIOW$ IO.ATT,LPOLUN,1,0,0,0
002306 003 006 .BYTE 3,$$$ARG
002310 000000G .WORD IO.ATT
002312 000003 .WORD LPOLUN
002314 001 000 .BYTE 1,0
002316 000000 .WORD 0
002320 000000 .WORD 0
10660 002322 DTLST: QIOW$ IO.DET,LPOLUN,1,0,0,0
002322 003 006 .BYTE 3,$$$ARG
002324 000000G .WORD IO.DET
002326 000003 .WORD LPOLUN
002330 001 000 .BYTE 1,0
002332 000000 .WORD 0
002334 000000 .WORD 0
10661 002336 000000 000000 DTTSTA: .WORD 0,0
10662 002342 000000 000000 000000 TMPLOG: .WORD 0,0,0
10664 002350 000000 SAVMSG: .WORD 0
10665 002352 000000 SAVLEN: .WORD 0
10667 006002 .PSECT TEXT,D
10668 006002 040 TTSPC: .ASCII / /
10669 006003 011 TTTAB: .ASCII / /
10670 006004 057 TTSLS: .ASCII %/%
10671 006005 007 TTBEL: .BYTE 7
10672 006006 015 012 TTTNLN: .ASCII <CR><LF>
10673 006010 113 114 111 TTTPRP: .ASCII /KLI>/
006013 076
10674 006014 113 114 111 TTTPRE: .ASCIZ /KLI -- /
006017 040 055 055
006022 040 000
10675 .EVEN
10676 027114 .PSECT
KLITT -- TTY I/O FUNCTIONS MACRO V05.04 Tuesday 17-May-88 14:21 Page 224
$TTRD -- READ A LINE FROM THE CONSOLE TTY
10678 .SBTTL $TTRD -- READ A LINE FROM THE CONSOLE TTY
10679 ;+
10680 ; READ A LINE INTO ".TTIBF". IF ESCAPE IS RECIEVED THE TREAT AS ERROR
10681 ; TO RESTART DIALOG. IF OTHER THAN <CR> TERMINATES THE LINE, THEN
10682 ; DO A FAST EXIT.
10684 ; IF 'T+' OR 'T-' IS RECIEVED THEN TURN ON OR OFF TRACKING RESPECTIVELY.
10686 ;
10687 ; NO INPUTS
10688 ;
10689 ; OUTPUTS:
10690 ; .TTIBF - CONTAINS THE CHARACTERS READ IN TERMINATED BY A ZERO BYTE.
10691 ;-
10692
10693 027114 004537 024170' $TTRD:: JSR R5,$RSAVE
10695 027120 013737 002300' 002350' MOV DTTWLB+Q.IOPL+0,SAVMSG ; [5.1005]SAVE QUESTION MESSAGE
10696 027126 013737 002302' 002352' MOV DTTWLB+Q.IOPL+2,SAVLEN ; [5.1005]SAVE QUESTION LENGTH
10698 027134 012737 006010' 002300' 10$: MOV #TTTPRP,DTTWLB+Q.IOPL+0 ; PROMPT WITH KLI>
10699 027142 012737 000004 002302' MOV #4,DTTWLB+Q.IOPL+2
10700 027150 DIR$ #DTTWLB
027150 012746 002264' MOV #DTTWLB,-(SP)
027154 104375 EMT 375
10702 027156 CALL $ECHO1 ; [5.1005]ECHO CTY TO LP
027156 004737 030004' JSR PC,$ECHO1
10704 027162 DIR$ #DTTRLB ; PERFORM GIVEN FUNCTION
027162 012746 002244' MOV #DTTRLB,-(SP)
027166 104375 EMT 375
10705 027170 013701 002340' MOV DTTSTA+2,R1 ; SAVE LINE LENGTH
10706 027174 013700 002336' MOV DTTSTA,R0 ; AND STATUS.
10707 027200 100003 BPL 20$
10708 027202 122700 000000G CMPB #IE.EOF,R0 ; IF CONTROL-Z
10709 027206 001415 BEQ 30$ ; CRLF IS AUTOMATIC, OTHERWISE
10710 027210 20$:
10712 027210 CALL $ECHO ; [5.1005]ECHO INPUT TO LP
027210 004737 027770' JSR PC,$ECHO
10714 027214 012737 006006' 002300' MOV #TTTNLN,DTTWLB+Q.IOPL+0 ; PRINT A CRLF
10715 027222 112737 000002 002302' MOVB #2,DTTWLB+Q.IOPL+2
10716 027230 DIR$ #DTTWLB
027230 012746 002264' MOV #DTTWLB,-(SP)
027234 104375 EMT 375
10718 027236 CALL $ECHO1 ; [5.1005]ECHO CTY TO LP
027236 004737 030004' JSR PC,$ECHO1
10720 027242 022700 000000G 30$: CMP #IS.ESC,R0 ; DID HE TYPE AN ESCAPE ?
10721 027246 001501 BEQ 60$ ; RESTART DIALOG.
10722 027250 022700 000000G CMP #IS.CR,R0 ; DID HE END WITH A CR ?
10723 027254 001100 BNE 70$ ; NO, EXIT.
10724 027256 105061 000304' CLRB .TTIBF(R1) ; WITH A NULL BYTE.
10726 027262 022737 026524 000304' CMP #"T-,.TTIBF ; TURN OFF TRACK ?
10727 027270 001422 BEQ 50$ ; YES, GO DO IT.
10728 027272 022737 025524 000304' CMP #"T+,.TTIBF ; TURN ON TRACK ?
10729 027300 001411 BEQ 40$ ; YES, GO DO IT.
10730 027302 022737 025514 000304' CMP #"L+,.TTIBF ; [5.1005]TURN ON LP ?
10731 027310 001415 BEQ 80$ ; [5.1005]YES, GO DO IT.
10732 027312 022737 026514 000304' CMP #"L-,.TTIBF ; [5.1005]TURN OFF LP ?
10733 027320 001433 BEQ 90$ ; [5.1005]YES, GO DO IT.
10735 027322 RETURN
027322 000207 RTS PC
10737 027324 105237 000037' 40$: INCB .TRKTT ; TURN ON TT
KLITT -- TTY I/O FUNCTIONS MACRO V05.04 Tuesday 17-May-88 14:21 Page 224-1
$TTRD -- READ A LINE FROM THE CONSOLE TTY
10738 027330 105237 000036' 45$: INCB .TRKSW ; [5.1005]TURN ON TRACK AND
10739 027334 000677 BR 10$ ; GET ANOTHER LINE.
10740 027336 105037 000037' 50$: CLRB .TRKTT ; TURN OFF TRACK AND
10741 027342 000432 BR 95$ ; [5.1005]CHECK FOR CLEARING .TRKSW
10742 027344 105737 000040' 80$: TSTB .TRKLP ; [5.1005]IS LP ON?
10743 027350 001271 BNE 10$ ; [5.1005]YES, GET ANOTHER LINE
10744 027352 105237 000040' INCB .TRKLP ; [5.1005]TURN ON LP
10745 027356 DIR$ #ATLST ; [5.1005]ATTACH LP
027356 012746 002306' MOV #ATLST,-(SP)
027362 104375 EMT 375
10746 027364 103411 BCS 90$ ; [5.1005]ERROR, CLEAR LP TRACK
10747 027366 013737 002350' 002300' MOV SAVMSG,DTTWLB+Q.IOPL+0 ; [5.1005]QUESTION MESSAGE
10748 027374 013737 002352' 002302' MOV SAVLEN,DTTWLB+Q.IOPL+2 ; [5.1005]QUESTION LENGTH
10749 027402 CALL $ECHO1 ; [5.1005]ECHO MESSAGE
027402 004737 030004' JSR PC,$ECHO1
10750 027406 000750 BR 45$ ; TURN ON TRACK
10751 027410 105737 000040' 90$: TSTB .TRKLP ; [5.1005]IS LP OFF?
10752 027414 001647 BEQ 10$ ; [5.1005]YES, GET ANOTHER LINE
10753 027416 105037 000040' CLRB .TRKLP ; [5.1005]TURN OFF LP
10754 027422 DIR$ #DTLST ; [5.1005]DETATCH LP
027422 012746 002322' MOV #DTLST,-(SP)
027426 104375 EMT 375
10755 027430 105737 000040' 95$: TSTB .TRKLP ; [5.1005]LP ON ?
10756 027434 001237 BNE 10$ ; [5.1005]YES, GET ANOTHER LINE
10757 027436 105737 000037' TSTB .TRKTT ; [5.1005]TT ON ?
10758 027442 001234 BNE 10$ ; [5.1005]YES, GET ANOTHER LINE
10759 027444 105037 000036' CLRB .TRKSW ; [5.1005]NOTHING ON, CLEAR TRACK
10760 027450 000631 BR 10$ ; [5.1005]GET ANOTHER LINE
10762 027452 000137 023776' 60$: JMP $ERROR ; AND RESTART DIALOG.
10763 027456 70$: EXIT$S ; WE WANT OUT !
027456 012746 MOV (PC)+,-(SP)
027460 063 001 .BYTE 51.,1
027462 104375 EMT 375
KLITT -- TTY I/O FUNCTIONS MACRO V05.04 Tuesday 17-May-88 14:21 Page 225
$TTRD -- READ A LINE FROM THE CONSOLE TTY
10765 .ENABL LSB
10766
10767 027464 $TTSPC::
10768 027464 PUSH R0 ; SAVE R0
027464 010046 MOV R0,-(SP)
10769 027466 012700 006002' MOV #TTSPC,R0 ; <SPACE> TO R0
10770 027472 000417 BR 10$ ; PRINT AND RETURN
10771 ;
10772 027474 $TTBEL::
10773 027474 PUSH R0 ; SAVE R0
027474 010046 MOV R0,-(SP)
10774 027476 012700 006005' MOV #TTBEL,R0 ; <BELL> TO R0
10775 027502 000413 BR 10$ ; PRINT AND RETURN
10776 ;
10784 027504 $TTTAB::
10785 027504 PUSH R0 ; SAVE R0
027504 010046 MOV R0,-(SP)
10786 027506 012700 006003' MOV #TTTAB,R0 ; <TAB> TO R0
10787 027512 000407 BR 10$ ; PRINT AND RETURN
10788 ;
10789 027514 $TCRLF::
10790 027514 PUSH <R0,R1> ; SAVE R0 AND R1
027514 010046 MOV R0,-(SP)
027516 010146 MOV R1,-(SP)
10791 027520 012700 006006' MOV #TTTNLN,R0 ; <CR><LF> TO R0
10792 027524 012701 000002 MOV #2,R1 ; LENGTH TO R1
10793 027530 000403 BR 20$ ; PRINT AND RETURN
10794 ;
10795 027532 10$:
10796 027532 PUSH R1 ; SAVE R1
027532 010146 MOV R1,-(SP)
10797 027534 012701 000001 MOV #1,R1 ; LENGTH TO R1
10798 027540 20$:
10799 027540 CALL $TTWR ; PRINT THE CHARACTER(S)
027540 004737 027700' JSR PC,$TTWR
10800 027544 POP <R1,R0> ; RESTORE REGISTERS
027544 012601 MOV (SP)+,R1
027546 012600 MOV (SP)+,R0
10801 027550 RETURN ; EXIT
027550 000207 RTS PC
10802
10803 .DSABL LSB
KLITT -- TTY I/O FUNCTIONS MACRO V05.04 Tuesday 17-May-88 14:21 Page 226
$TTMSG -- WRITE A MESSAGE TO THE CONSOLE TTY
10805 .SBTTL $TTMSG -- WRITE A MESSAGE TO THE CONSOLE TTY
10806 ;+
10807 ; COPY A MESSAGE INTO THE OUTPUT BUFFER WITH THE 'KLI -- ' PREFIX
10808 ; AND WRITE IT TO THE CONSOLE.
10809 ;
10810 ; "$TTDMS" WILL STRIP THE DIAGNOSTIC CARRIAGE CONTROL CHARACTERS FROM
10811 ; A TEXT STRING IN ORDER TO TRANSLATE THE MESSAGE.
10812 ;
10813 ;
10814 ; INPUTS:
10815 ; R0 - ADDRESS OF ASCIZ MESSAGE.
10816 ;
10817 ; NO OUTPUTS
10818 ;-
10819
10820 027552 $TTDMS::
10821 027552 CALL R5,$RSAVE ; SAVE THE REGISTERS
027552 004537 024170' JSR R5,$RSAVE
10822 027556 012705 000344' MOV #.TTOBF,R5 ; OUTPUT BUFFER POINTER TO R5
10823 027562 010504 MOV R5,R4 ; COPY TO R4
10824 027564 10$:
10825 027564 112001 MOVB (R0)+,R1 ; GET A BYTE FOM THE INPUT STRING
10826 027566 001436 BEQ $TTDWR ; DONE IF <NULL>
10827 027570 122701 000137 CMPB #'_,R1 ; IS IT AN <UNDERSCORE>??
10828 027574 001773 BEQ 10$ ; YES -- THROW IT AWAY
10829 027576 122701 000134 CMPB #'\,R1 ; NO -- IS IS A <BACKSLASH>??
10830 027602 001004 BNE 20$ ; NO -- GO ON
10831 027604 112725 000015 MOVB #15,(R5)+ ; YES -- SUBSTITUTE A <CR>
10832 027610 012701 000012 MOV #12,R1 ; AND A <LF> FOR IT
10833 027614 20$:
10834 027614 110125 MOVB R1,(R5)+ ; LOAD THIS CHARACTER
10835 027616 000762 BR 10$ ; AND GET THE NEXT
10836 ;
10837 027620 $TTMSG::
10838 027620 004537 024170' JSR R5,$RSAVE ;THIS ROUTINE IS SPECIAL
10839 027624 005002 CLR R2 ; MARK NORMAL CALL
10840 027626 012705 000344' MOV #.TTOBF,R5 ;FOR THE MESSAGE MACROS.
10841 027632 010504 MOV R5,R4
10842 027634 010003 MOV R0,R3 ;(SAVE MESSAGE ADDRESS)
10843 027636 012700 006014' MOV #TTTPRE,R0 ;INSERT KLI IDENTIFIER
10844 027642 CALL $ASCIZ ; 'KLI -- '
027642 004737 024224' JSR PC,$ASCIZ
10845 027646 010300 MOV R3,R0 ;AND THEN MESSAGE.
10846 027650 CALL $ASCIZ
027650 004737 024224' JSR PC,$ASCIZ
10847 027654 112725 000015 MOVB #CR,(R5)+ ;FOLLOW BY CRLF.
10848 027660 112725 000012 MOVB #LF,(R5)+
10849 027664 $TTDWR::
10850 027664 160405 SUB R4,R5 ;COMPUTE LENGTH
10851 027666 010437 002300' MOV R4,DTTWLB+Q.IOPL+0 ;AND PRINT.
10852 027672 010537 002302' MOV R5,DTTWLB+Q.IOPL+2
10853 027676 000404 BR LTTDIR ;DO THE WRITE.
10854 ;
KLITT -- TTY I/O FUNCTIONS MACRO V05.04 Tuesday 17-May-88 14:21 Page 227
$TTWR -- WRITE A LINE TO THE CONSOLE TTY
10856 .SBTTL $TTWR -- WRITE A LINE TO THE CONSOLE TTY
10857 ;+
10858 ; WRITE OUT AN ASCII STRING TO THE CONSOLE.
10859 ;
10860 ; INPUTS:
10861 ; R1 - LENGTH OF STRING.
10862 ; R0 - ADDRESS OF STRING.
10863 ;
10864 ; NO OUTPUTS
10865 ;-
10866
10867 027700 010037 002300' $TTWR:: MOV R0,DTTWLB+Q.IOPL+0 ;INSERT MESSAGE ADDRESS,
10868 027704 010137 002302' MOV R1,DTTWLB+Q.IOPL+2 ;LENGTH,
10869 027710 LTTDIR: DIR$ #DTTWLB ;AND PRINT.
027710 012746 002264' MOV #DTTWLB,-(SP)
027714 104375 EMT 375
10871 027716 CALL $ECHO1 ; [5.1005]ECHO CTY TO LP
027716 004737 030004' JSR PC,$ECHO1
10873 027722 005737 000056' TST $LGOPN ; [4.1.1073]LOG TO ERROR FILE?
10874 027726 001417 BEQ 10$ ; [4.1.1073]NO -- GO ON
10875 027730 PUSH <R1,R2> ; [4.1.1073]YES -- SAVE REGISTERS
027730 010146 MOV R1,-(SP)
027732 010246 MOV R2,-(SP)
10876 027734 013702 002300' MOV DTTWLB+Q.IOPL+0,R2 ; [4.1.1073]ADDRESS TO R0
10877 027740 013701 002302' MOV DTTWLB+Q.IOPL+2,R1 ; [4.1.1073]MESSAGE LENGTH TO R1
10878 027744 CALL .WRITR ; [4.1.1073]WRITE TO FILE
027744 004737 000000G JSR PC,.WRITR
10879 027750 POP <R2,R1> ; [4.1.1073]RESTORE R2
027750 012602 MOV (SP)+,R2
027752 012601 MOV (SP)+,R1
10880 027754 005737 000054' TST $LGERR ; [4.1.1073]LOGGING ERROR?
10881 027760 001402 BEQ 10$ ; [4.1.1073]NO -- GO ON
10882 027762 CALL $CLLOG ; [4.1.1073]YES -- CLOSE LOG FILE
027762 004737 000000G JSR PC,$CLLOG
10883 027766 10$: RETURN
027766 000207 RTS PC
KLITT -- TTY I/O FUNCTIONS MACRO V05.04 Tuesday 17-May-88 14:21 Page 228
$ECHO -- ECHO CTY OUTPUT TO LP
10886 .SBTTL $ECHO -- ECHO CTY OUTPUT TO LP
10887
10888 ;+
10889 ; WRITE CTY OUTPUT TO LP IF TRACKING ON CTY ENABLED
10890 ; THIS ROUTINE ADDED FOR TCO 5.1005
10891 ;
10892 ; NO INPUTS
10893 ;
10894 ; NO OUTPUTS
10895 ;-
10896
10897 027770 $ECHO:: ; ECHO CTY INPUT
10898 027770 012737 000304' 002300' MOV #.TTIBF,DTTWLB+Q.IOPL+0 ; MESSAGE
10899 027776 013737 002340' 002302' MOV DTTSTA+2,DTTWLB+Q.IOPL+2 ; LENGTH
10900 030004 $ECHO1:: ; ECHO CTY OUTPUT
10901 030004 105737 000040' TSTB .TRKLP ; TRACK ON LP ?
10902 030010 001411 BEQ 10$ ; NO -- EXIT
10903 030012 012737 000003 002270' MOV #LPOLUN,DTTWLB+Q.IOLU ; YES -- SET LP LUN
10904 030020 DIR$ #DTTWLB ; OUTPUT IT
030020 012746 002264' MOV #DTTWLB,-(SP)
030024 104375 EMT 375
10905 030026 012737 000002 002270' MOV #TTOLUN,DTTWLB+Q.IOLU ; RESET TT LUN
10906 030034 10$: RETURN ; DONE
030034 000207 RTS PC
10908
10909 .TITLE KLIXB -- LOAD THE KL BOOT
10910 030036 IDENT$ 11,1 ; ADP01
.IDENT /011010/
10911 ;
10912 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
10913 ; ALL RIGHTS RESERVED.
10914 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
10915 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
10916 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
10917 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
10918 ;
10919 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
10920 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
10921 ; EQUIPMENT CORPORATION.
10922 ;
10923 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
10924 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
10925 ;
10926 ; VERSION 11-01 ; ADP01
10927 ;
10928 ; ALAN D. PECKHAM 8-APR-77
10929 ;
10930 ; MODIFIED BY:
10931 ;
10932 ; FUNCTION: THIS MODULE CONTAINS THE ROUTINES WHICH LOAD THE KL BOOT
10933 ; FROM THE FILE 'BOOT.EXB' OR AN OPERATOR SPECIFIED FILE.
10934 ;
10935 ; EQUATED SYMBOLS
10936 ;
10937 000000 APR = 0 ; KL DEVICE.
10938 000004 CONO = 4 ; KL I/O SUBFUNCTION CODE.
10939 001000 PAGE = 1000 ; PAGE SIZE (POWER OF 2).
KLIXB -- LOAD THE KL BOOT MACRO V05.04 Tuesday 17-May-88 14:21 Page 228-1
$ECHO -- ECHO CTY OUTPUT TO LP
10940 000777 PGBTS = PAGE-1 ; PAGE BITS USED IN MASK.
10941 ;
10942 ; LOCAL DATA
10943 ;
10944 .MCALL ALUN$
10945
10946 002354 .PSECT DATA,D
10947 002354 007 004 DNIBOO: .BYTE 7,4
10948 002356 000004 .WORD SYILUN
10949 002360 104 .ASCII /D/
10953 002361 130 .ASCII /X/
10955 002362 000001 .WORD 1
10956 002364 DXBFNM:
10957 002364 007347 076400 000000 .RAD50 /BOOT EXB/ ; BOOT DEFAULT FILE NAME.
002372 021402
10958 002374 000000 .WORD 0 ; GET LATEST VERSION.
10959 002376 005 005 .BYTE 5,5
10960 002400 054523 000000 DXBLOC: .WORD "SY,0
10961 002404 DXBADR:
10962 002404 000000 000000 .WORD 0,0 ; CURRENT DEPOSIT ADDRESS.
10963 002410 DXBDAT:
10964 002410 000000 000000 000000 .WORD 0,0,0 ; DATA WORD TO DEPOSIT.
10965 002416 DXBCNM:
10966 002416 IO10$ CONO APR,,22000 ; TO CLEAR THE NXM BIT.
002416 000 044 000 .BYTE BY$$0,BY$$1,BY$$2
002421 002 016 .BYTE BY$$3,BY$$4
10967 .EVEN
10968 006024 .PSECT TEXT,D
10969 006024 TXBIMM:
10970 006024 ERROR <INSUFFICIENT MEMORY FOR BOOTSTRAP>
006024 077 040 111 .ASCIZ \? INSUFFICIENT MEMORY FOR BOOTSTRAP\
006027 116 123 125
006032 106 106 111
006035 103 111 105
006040 116 124 040
006043 115 105 115
006046 117 122 131
006051 040 106 117
006054 122 040 102
006057 117 117 124
006062 123 124 122
006065 101 120 000
10971 030036 .PSECT
KLIXB -- LOAD THE KL BOOT MACRO V05.04 Tuesday 17-May-88 14:21 Page 229
$EXBLD -- LOAD THE BOOT
10973 .SBTTL $EXBLD -- LOAD THE BOOT
10974 ;+
10975 ; PROCESS THE KL BOOTSTRAP FILE (.EXB)
10976 ; THIS ROUTINE READS IN A FILE OF BINARY RECORDS.
10977 ; *DATA RECORDS:
10978 ; .WORD 4+<5*N> ; BYTE COUNT.
10979 ; .BLKW 2 ; KL ADDRESS.
10980 ; .BLKB 5*N ; KL WORDS.
10981 ; THE KL WORDS WHICH ARE PLACED IN THE FIRST 36 BITS OF 5 -11 BYTES
10982 ; ARE STORED SEQUENTIALLY STARTING AT THE GIVEN ADDRESS.
10983 ; *END OF FILE:
10984 ; .WORD 4 ; BYTE COUNT.
10985 ; .BLKW 2 ; KL ADDRESS.
10986 ; THE ADDRESS IS THE START ADDRESS OF THE BOOTSTRAP PROGRAM.
10987 ; THE DATA RECORDS ARE ASSUMED TO BE SORTED BY ADDRESS,
10988 ; SO THAT PAGE CLEARING IS DONE PROPERLY.
10989 ;
10990 ; THE PAGE CLEARING FEATURE REQUIRES THAT ANY PAGES WHICH RECIEVE
10991 ; DATA SHOULD BE CLEARED BEFORE ANY DATA IS STORED. THE PRESENT
10992 ; ALGORITHM AVOIDS WRITING TWICE TO ANY LOCATION (CLEAR & DEPOSIT).
10993 ; A POINTER IS KEPT OF WHERE THE NEXT KL WORD WOULD BE DEPOSITED,
10994 ; AND IS USED TO DETECT GAPS IN DATA/INSTRUCTION STORAGE SO THAT
10995 ; INTERVENING WORDS MAY BE CLEARED.
10996 ;
10997 ; A CHECK IS ALSO MADE TO SEE IF ANY OF THE BOOT IS LOADED INTO
10998 ; NON-EXISTANT MEMORY BY TURNING OFF THE NXM INDICTOR BEFORE THE
10999 ; LOAD AND TESTING IT AFTER THE LOAD TO SEE IF A NXM OCCURRED.
11000 ;
11001 ; INPUTS:
11002 ; .DBSW - IF <>0 THEN USE USER FILE NAME.
11003 ; .DBFNM - POINTER TO 5 WORD USER FILE NAME.
11004 ;
11005 ; OUTPUTS:
11006 ; CARRY IS SET IF ERROR OCCURS, OTHERWISE BOOT IS STARTED AND
11007 ; RETURN IS TO "$EXIT".
11008 ;-
11009
11010 030036 $EXBLD::
11011 030036 105737 000024' TSTB .DLGSW ; ARE WE IN DIALOG MODE??
11012 030042 100004 BPL 10$ ; YES -- GO ON
11013 030044 032737 000000G 000060' BIT #KL.LVB,.KLISV ; NO -- MUST BOOT BE LOADED??
11014 030052 001430 BEQ 30$ ; NO -- JUST EXIT
11015 030054 10$:
11017 030054 CALL $SWEEP ; CLEAR CACHE.
030054 004737 006502' JSR PC,$SWEEP
11018 030060 103425 BCS 30$
11019 030062 012700 002364' MOV #DXBFNM,R0 ; FILE NAME: BOOT.EXB
11023 030066 105737 000026' TSTB .UFNSW ; OR
11024 030072 003402 BLE 20$
11025 030074 012700 000502' MOV #.USRFN,R0 ; USER FILE NAME. ; ADP01
11026 030100 20$:
11027 030100 CALL $LOOKUP ; FIND THE FILE.
030100 004737 007562' JSR PC,$LOOKUP
11028 030104 103416 BCS 40$
11029 030106 012703 002410' 25$: MOV #DXBDAT,R3 ; INITIALIZE DATA WORD POINTER
11030 030112 012702 002406' MOV #DXBADR+2,R2 ; AND NEXT WORD POINTER.
11031 030116 005012 CLR (R2) ; SET TO ZERO.
KLIXB -- LOAD THE KL BOOT MACRO V05.04 Tuesday 17-May-88 14:21 Page 229-1
$EXBLD -- LOAD THE BOOT
11032 030120 005042 CLR -(R2)
11033 030122 012700 002416' MOV #DXBCNM,R0 ; NOW TURN OFF THE NXM BIT BY
11034 030126 CALL $EXCT ; DOING A CONO APR,,22000.
030126 004737 030622' JSR PC,$EXCT
11035 030132 103052 BCC LXBRC
11036 030134 30$:
11037 030134 CALL REDOSY ; [**]
030134 004737 030564' JSR PC,REDOSY
11038 030140 RETURN
030140 000207 RTS PC
11039 030142 40$:
11040 030142 112737 177777 000064' MOVB #-1,.NCACH ; SET UP TO CONFIGURE CACHE IF "BOOT"
11041 030150 122737 000000G 000532' CMPB #IE.NSF,.SYSTA ; IF FILE NOT FOUND
11042 030156 001025 BNE 50$ ; [**]
11043 030160 DIR$ #DNIBOO ;[**]
030160 012746 002354' MOV #DNIBOO,-(SP)
030164 104375 EMT 375
11044 030166 005237 002356' INC DNIBOO+2 ;[**]
11045 030172 DIR$ #DNIBOO ;[**]
030172 012746 002354' MOV #DNIBOO,-(SP)
030176 104375 EMT 375
11046 030200 005237 002356' INC DNIBOO+2 ;[**]
11047 030204 DIR$ #DNIBOO ;[**]
030204 012746 002354' MOV #DNIBOO,-(SP)
030210 104375 EMT 375
11051 030212 012737 054104 002400' MOV #"DX,DXBLOC ;[**]
11053 030220 005237 002402' INC DXBLOC+2 ;[**]
11054 030224 CALL $LOOKUP ;[**]
030224 004737 007562' JSR PC,$LOOKUP
11055 030230 103326 BCC 25$ ;[**]
11056 030232 50$: CALLR $IOERR ; DECLARE THE ERROR.
030232 000137 007346' JMP $IOERR
11057
11058 ;+
11059 ; READ 5 BYTES INTO THE AREA POINTED TO BY R3.
11060 ; R5, R4 AND R0 GET DESTROYED.
11061 ;-
11062
11063 030236 LXB5B:
11064 030236 012705 000005 MOV #5,R5
11065 030242 010304 MOV R3,R4
11066 030244 10$:
11067 030244 CALL $READB ; READ A BYTE AND
030244 004737 010420' JSR PC,$READB
11068 030250 103402 BCS 20$
11069 030252 110024 MOVB R0,(R4)+ ; STICK IN ASSEMBLED WORD.
11070 030254 077505 SOB R5,10$
11071 030256 20$:
11072 030256 RETURN
030256 000207 RTS PC
KLIXB -- LOAD THE KL BOOT MACRO V05.04 Tuesday 17-May-88 14:21 Page 230
$EXBLD -- LOAD THE BOOT
11074 ;+
11075 ; READ RECORD FROM FILE.
11076 ;-
11077
11078 030260 LXBRC: CALL $READC ; GET ADDRESS.
030260 004737 010216' JSR PC,$READC
11079 030264 103534 BCS 90$
11080 030266 010037 000522' MOV R0,.BTADR
11081 030272 CALL $READW
030272 004737 010324' JSR PC,$READW
11082 030276 103527 BCS 90$
11083 030300 010037 000524' MOV R0,.BTADR+2
11084 030304 005737 000540' TST .SYIRC ; IF MORE BYTES IN RECORD
11085 030310 003072 BGT 60$ ; GO TO LOAD DATA INTO KL.
11086
11087 ;+
11088 ; END OF FILE REACHED. CLEAR THE REST OF THE PAGE,
11089 ; DE-ACCESS THE FILE, AND START THE BOOT.
11090 ;-
11091
11092 030312 032712 000777 10$: BIT #PGBTS,(R2) ; MUST CLEAR REST OF PAGE.
11093 030316 001413 BEQ 20$
11094 030320 012701 000000' MOV #.ZERO,R1 ; IF NOT AT BOUNDRY
11095 030324 010200 MOV R2,R0
11096 030326 CALL $DPOS ; CLEAR WORD,
030326 004737 013074' JSR PC,$DPOS
11097 030332 103511 BCS 90$
11098 030334 062712 000001 ADD #1,(R2) ; BUMP POINTER,
11099 030340 005562 000002 ADC 2(R2)
11100 030344 000762 BR 10$ ; AND GO FOR MORE.
11101 030346 010301 20$: MOV R3,R1
11102 030350 012700 110000 MOV #<110*1000>,R0 ; GET 'APR NXM ER IN'
11103 030354 CALL $DFRD
030354 004737 013444' JSR PC,$DFRD
11104 030360 103476 BCS 90$
11105 030362 132761 000020 000003 BITB #20,3(R1) ; TO TEST FOR NXM.
11106 030370 001004 BNE 30$
11107 030372 CALL $CLOSE ; CLOSE BOOT FILE.
030372 004737 007056' JSR PC,$CLOSE
11108 030376 000137 024510' JMP $TENST ; GO TO START THE BOOT.
11109 030402 30$: PRINT #TXBIMM ; BOOT LOADED IN NONEXISTANT MEMORY !
030402 012700 006024' MOV #TXBIMM,R0
030406 004737 027620' JSR PC,$TTMSG
11110 030412 CALL REDOSY ;[**]
030412 004737 030564' JSR PC,REDOSY
11111 030416 000261 SEC
11112 030420 RETURN
030420 000207 RTS PC
KLIXB -- LOAD THE KL BOOT MACRO V05.04 Tuesday 17-May-88 14:21 Page 231
$EXBLD -- LOAD THE BOOT
11114 ;+
11115 ; PROCESS DATA RECORD.
11116 ;-
11117
11118 030422 032712 000777 40$: BIT #PGBTS,(R2) ; IF ON A NEW PAGE
11119 030426 001011 BNE 50$
11120 030430 013722 000522' MOV .BTADR,(R2)+ ; PUT US ON THE PAGE
11121 030434 013712 000524' MOV .BTADR+2,(R2) ; OF THE TARGET ADDRESS
11122 030440 042742 000777 BIC #PGBTS,-(R2) ; AT THE TOP.
11123 030444 023712 000522' CMP .BTADR,(R2)
11124 030450 001421 BEQ 70$
11125 030452 012701 000000' 50$: MOV #.ZERO,R1 ; STORE A ZERO
11126 030456 010200 MOV R2,R0
11127 030460 CALL $DPOS
030460 004737 013074' JSR PC,$DPOS
11128 030464 103434 BCS 90$
11129 030466 062712 000001 ADD #1,(R2) ; AND BUMP ADDRESS.
11130 030472 005562 000002 ADC 2(R2)
11131 030476 023712 000522' 60$: CMP .BTADR,(R2) ; WE MUST CLEAR
11132 030502 001347 BNE 40$ ; UP TO THE
11133 030504 023762 000524' 000002 CMP .BTADR+2,2(R2) ; RECORD ADDRESS.
11134 030512 001343 BNE 40$
11135 030514 70$: CALL LXB5B
030514 004737 030236' JSR PC,LXB5B
11136 030520 103416 BCS 90$
11137 030522 010301 MOV R3,R1
11138 030524 010200 MOV R2,R0
11139 030526 CALL $DPOS ; STICK IT IN
030526 004737 013074' JSR PC,$DPOS
11140 030532 103411 BCS 90$
11141 030534 062712 000001 ADD #1,(R2) ; BUMP ADDRESS AND
11142 030540 005562 000002 ADC 2(R2)
11143 030544 005737 000540' TST .SYIRC
11144 030550 001361 BNE 70$
11145 030552 000137 030260' JMP LXBRC ; GO TO PICK UP NEW RECORD.
11146 030556 90$:
11147 030556 CALL REDOSY ;[**]
030556 004737 030564' JSR PC,REDOSY
11148 030562 RETURN
030562 000207 RTS PC
11149
11150 030564 REDOSY:
11151 030564 012737 054523 002400' MOV #"SY,DXBLOC ;[**]
11152 030572 005037 002402' CLR DXBLOC+2 ;[**]
11153 030576 DIR$ #DNISYI ;[**]
030576 012746 001504' MOV #DNISYI,-(SP)
030602 104375 EMT 375
11154 030604 DIR$ #DNISYO ;[**]
030604 012746 001514' MOV #DNISYO,-(SP)
030610 104375 EMT 375
11155 030612 DIR$ #DNISYF ;[**]
030612 012746 001524' MOV #DNISYF,-(SP)
030616 104375 EMT 375
11156 030620 RETURN ;[**]
030620 000207 RTS PC
KLIXB -- LOAD THE KL BOOT MACRO V05.04 Tuesday 17-May-88 14:21 Page 232
$EXBLD -- LOAD THE BOOT
11158
11159 .TITLE KLIXC -- KL INSTRUCTION EXECUTION
11160 030622 IDENT$ 5,0
.IDENT /005000/
11161 ;
11162 ; COPYRIGHT (C) 1977, 1984, 1985 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
11163 ; ALL RIGHTS RESERVED.
11164 ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
11165 ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION
11166 ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT
11167 ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.
11168 ;
11169 ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
11170 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
11171 ; EQUIPMENT CORPORATION.
11172 ;
11173 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
11174 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
11175 ;
11176 ; VERSION 05-00
11177 ;
11178 ; ALAN D. PECKHAM 30-MAR-77
11179 ;
11180 ; MODIFIED BY:
11181 ;
11182 ; R. BELANGER 06-DEC-78 NEW KEEP-ALIVE ERROR PROCESSING
11183 ; TCO 4.2107
11184 ;
11185 ; FUNCTION: THIS MODULE CONTAINS ROUTINES TO ALLOW EXECUTION OF
11186 ; SINGLE KL INSTRUCTIONS OR THE STARTING OF KL PROGRAMS.
11187 ;
11188 ; LOCAL DATA
11189 ;
11190 002424 .PSECT DATA,D
11191 002424 DXCAD:
11192 002424 WD36$ 0 0 ; START ADDRESS BUFFER.
002424 000 000 000 .BYTE BY$$0,BY$$1,BY$$2
002427 000 000 .BYTE BY$$3,BY$$4
11193 002431 DXCBF:
11194 002431 WD36$ 0 0 ; GENERAL BIT BUCKET.
002431 000 000 000 .BYTE BY$$0,BY$$1,BY$$2
002434 000 000 .BYTE BY$$3,BY$$4
11195 002436 DXCBRC:
11196 002436 WD36$ 0 0 ; BURST COUNT BUFFER.
002436 000 000 000 .BYTE BY$$0,BY$$1,BY$$2
002441 000 000 .BYTE BY$$3,BY$$4
11197 .EVEN
11198 006070 .PSECT TEXT,D
11199 006070 TXCHLE:
11200 006070 ERROR <CANNOT FIND HALT LOOP>
006070 077 040 103 .ASCIZ \? CANNOT FIND HALT LOOP\
006073 101 116 116
006076 117 124 040
006101 106 111 116
006104 104 040 110
006107 101 114 124
006112 040 114 117
KLIXC -- KL INSTRUCTION EXECUTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 232-1
$EXBLD -- LOAD THE BOOT
006115 117 120 000
11201 006120 TXCSFL:
11202 006120 ERROR <CANNOT START KL>
006120 077 040 103 .ASCIZ \? CANNOT START KL\
006123 101 116 116
006126 117 124 040
006131 123 124 101
006134 122 124 040
006137 113 114 000
11203 030622 .PSECT
KLIXC -- KL INSTRUCTION EXECUTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 233
$EXCT -- EXECUTE KL INSTRUCTION
11205 .SBTTL $EXCT -- EXECUTE KL INSTRUCTION
11206 ;+
11207 ; EXECUTE A SINGLE KL INSTRUCTION BY GETTING THE KL INTO THE
11208 ; HALT LOOP, LOADING THE AR WITH THE INSTRUCTION, PUSHING THE
11209 ; CONTINUE BUTTON, AND STARTING UP THE CLOCK. THE ROUTINE
11210 ; COMPLETES WHEN THE MICROCODE REACHES THE HALT LOOP AGAIN.
11211 ;
11212 ; INPUTS:
11213 ; R0 - POINTER TO INSTRUCTION TO EXECUTE.
11214 ;
11215 ; OUTPUTS:
11216 ; CARRY IS SET IF ERROR OCCURS AND MESSAGE IS DISPLAYED.
11217 ;-
11218
11219 030622 $EXCT::
11220 030622 004537 024170' JSR R5,$RSAVE
11221 030626 TRACK XC
030626 004037 030640' JSR R0,30013$
030632 041530 .WORD "XC
030634 000000 .WORD
030636 000000 .WORD
030640 004737 024236' 30013$: JSR PC,$TRACK
030644 012600 MOV (SP)+,R0
11222 030646 CALL $LDAR ; LOAD THE AR WITH THE INSTRUCTION.
030646 004737 031162' JSR PC,$LDAR
11223 030652 103416 BCS 90$
11224 030654 012700 012000 MOV #.CONBT,R0 ; PUSH THE CONTINUE BUTTON
11225 030660 CALL $DFXC
030660 004737 013760' JSR PC,$DFXC
11226 030664 103411 BCS 90$
11227 030666 012700 001000 MOV #.STRCL,R0 ; AND START THE CLOCK
11228 030672 CALL $DFXC
030672 004737 013760' JSR PC,$DFXC
11229 030676 103404 BCS 90$
11230 030700 012703 001750 MOV #1000.,R3
11231 030704 CALLR $WTKL ; WAIT FOR THE HALT LOOP.
030704 000137 031102' JMP $WTKL
11232 ;
11233 030710 90$:
11234 030710 RETURN
030710 000207 RTS PC
KLIXC -- KL INSTRUCTION EXECUTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 234
$STRKL -- START THE KL PROCESSOR
11236 .SBTTL $STRKL -- START THE KL PROCESSOR
11237 ;+
11238 ; START THE KL AT THE 22 BIT ADDRESS POINTED TO BY R0.
11239 ; THIS IS DONE BY LOADING THE AR WITH THE ADDRESS, PUSHING
11240 ; THE RUN AND CONTINUE BUTTONS, AND STARTING THE CLOCK.
11241 ; WE STEP THE MICROCODE OUT OF THE HALT LOOP TO MAKE SURE IT
11242 ; IS RUNNING BEFORE WE LEAVE.
11243 ;
11244 ; INPUTS:
11245 ; R0 - POINTER TO 22 BIT KL ADDRESS.
11246 ;
11247 ; OUTPUTS:
11248 ; CARRY IS SET ON ERROR AND A MESSAGE IS DISPLAYED.
11249 ;-
11250
11251 030712 $STRKL::
11252 030712 004537 024170' JSR R5,$RSAVE
11253 030716 TRACK ST
030716 004037 030730' JSR R0,30014$
030722 052123 .WORD "ST
030724 000000 .WORD
030726 000000 .WORD
030730 004737 024236' 30014$: JSR PC,$TRACK
030734 012600 MOV (SP)+,R0
11254 030736 012701 002424' MOV #DXCAD,R1 ; POINT TO A SCRATCH AREA
11255 030742 112021 MOVB (R0)+,(R1)+ ; LOAD THE ADDRESS
11256 030744 112021 MOVB (R0)+,(R1)+
11257 030746 111011 MOVB (R0),(R1) ; AS A PC WORD
11258 030750 142711 177700 BICB #^C77,(R1) ; ONLY 22 BITS PLEASE
11259 030754 012700 002424' MOV #DXCAD,R0 ; GET OUR ADDRESS
11260 030760 CALL $LDAR ; AND LOAD IT INTO THE AR.
030760 004737 031162' JSR PC,$LDAR
11261 030764 103440 BCS 80$
11262 030766 012700 011000 MOV #.SETRN,R0 ; SET THE RUN FLOP
11263 030772 CALL $DFXC
030772 004737 013760' JSR PC,$DFXC
11264 030776 103433 BCS 80$
11265 031000 012700 012000 MOV #.CONBT,R0 ; SET THE CONTINUE BUTTON
11266 031004 CALL $DFXC
031004 004737 013760' JSR PC,$DFXC
11267 031010 103426 BCS 80$
11268 031012 012701 001750 MOV #1000.,R1 ; LOOP COUNT TO R1
11269 031016 10$:
11270 031016 012700 002000 MOV #.SSCLK,R0 ; SINGLE STEP THE M-BOX CLOCK
11271 031022 CALL $DFXC
031022 004737 013760' JSR PC,$DFXC
11272 031026 103417 BCS 80$
11273 031030 CALL $DTRW1 ; READ DIAG WORD 1
031030 004737 024100' JSR PC,$DTRW1
11274 031034 103414 BCS 80$
11275 031036 032700 001000 BIT #DS06,R0 ; STILL IN THE HALT LOOP?
11276 031042 001402 BEQ 20$ ; NO -- GO ON
11277 031044 077114 SOB R1,10$ ; YES -- TRY AGAIN
11278 031046 000407 BR 80$ ; TIMED OUT -- COMPLAIN
11279 ;
11280 031050 20$:
11281 031050 032700 002000 BIT #DS05,R0 ; OUT OF HALT LOOP -- IS RUN ON?
KLIXC -- KL INSTRUCTION EXECUTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 234-1
$STRKL -- START THE KL PROCESSOR
11282 031054 001404 BEQ 80$ ; NO -- COMPLAIN
11283 031056 012700 001000 MOV #.STRCL,R0 ; YES -- START THE CLOCK
11284 031062 CALLR $DFXC ; AND EXIT.
031062 000137 013760' JMP $DFXC
11285 ;
11286 031066 80$:
11287 031066 PRINT #TXCSFL ; NO -- PRINT ERROR MESSAGE
031066 012700 006120' MOV #TXCSFL,R0
031072 004737 027620' JSR PC,$TTMSG
11288 031076 000261 SEC
11289 031100 90$:
11290 031100 RETURN ; AND EXIT
031100 000207 RTS PC
KLIXC -- KL INSTRUCTION EXECUTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 235
$WTKL -- WAIT FOR KL PROGRAM TO HALT
11292 .SBTTL $WTKL -- WAIT FOR KL PROGRAM TO HALT
11293 ;+
11294 ; WAIT FOR THE KL TO REENTER THE HALT LOOP.
11295 ;
11296 ; INPUTS:
11297 ; R0 - A TIMEOUT VALUE.
11298 ;
11299 ; OUTPUTS:
11300 ; CARRY IS SET IF THE KL DOES NOT ENTER THE HALT LOOP
11301 ; BEFORE THE -11 HAS CHECKED THE DTE20 THE NUMBER OF TIMES
11302 ; SPECIFIED IN R0.
11303 ;-
11304
11305 031102 $WTKL::
11306 031102 TRACK WT
031102 004037 031114' JSR R0,30015$
031106 052127 .WORD "WT
031110 000000 .WORD
031112 000000 .WORD
031114 004737 024236' 30015$: JSR PC,$TRACK
031120 012600 MOV (SP)+,R0
11307 031122 PUSH <R2,R1,R0>
031122 010246 MOV R2,-(SP)
031124 010146 MOV R1,-(SP)
031126 010046 MOV R0,-(SP)
11308 031130 010002 MOV R0,R2
11309 031132 10$:
11310 031132 CALL $DTRW1 ; READ DTE DIAG 1
031132 004737 024100' JSR PC,$DTRW1
11311 031136 103404 BCS 80$
11312 031140 032700 001000 BIT #DS06,R0 ; ARE WE AT THE HALT LOOP ?
11313 031144 001002 BNE 90$ ; YES, RETURN.
11314 031146 077207 SOB R2,10$ ; NO, TRY AGAIN
11315 031150 80$:
11316 031150 000261 SEC ; OR GIVE UP.
11317 031152 90$:
11318 031152 POP <R0,R1,R2>
031152 012600 MOV (SP)+,R0
031154 012601 MOV (SP)+,R1
031156 012602 MOV (SP)+,R2
11319 031160 RETURN
031160 000207 RTS PC
KLIXC -- KL INSTRUCTION EXECUTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 236
$LDAR -- LOAD THE AR REGISTER
11321 .SBTTL $LDAR -- LOAD THE AR REGISTER
11322 ;+
11323 ; PUT THE MICROCODE INTO THE HALT LOOP, STOP IT, PHASE THE CLOCKS,
11324 ; AND LOAD THE AR REGISTER WITH AN INSTRUCTION OR STARTING ADDRESS.
11325 ;
11326 ; INPUTS:
11327 ; R0 - ADDRESS OF 36 BIT WORD TO LOAD INTO THE AR.
11328 ;
11329 ; OUTPUTS:
11330 ; CARRY IS SET IF ERROR OCCURS.
11331 ;-
11332
11333 031162 $LDAR::
11334 031162 004537 024170' JSR R5,$RSAVE ; SAVE THE REGISTERS.
11335 031166 CALL STPKL ; STOP THE MICROCODE.
031166 004737 031216' JSR PC,STPKL
11336 031172 103410 BCS 90$
11337 031174 CALL $MBPHS ; PHASE THE CLOCKS FOR THE LOAD.
031174 004737 031430' JSR PC,$MBPHS
11338 031200 103405 BCS 90$
11339 031202 010001 MOV R0,R1 ; GET DATA
11340 031204 012700 077000 MOV #.LDAR,R0 ; AND
11341 031210 CALLR $DFWR ; STORE IN THE AR.
031210 000137 013556' JMP $DFWR
11342 ;
11343 031214 90$:
11344 031214 RETURN
031214 000207 RTS PC
KLIXC -- KL INSTRUCTION EXECUTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 237
STPKL -- HALT THE KL CPU
11346 .SBTTL STPKL -- HALT THE KL CPU
11347 ;+
11348 ; GET THE KL INTO THE HALT LOOP. THIS IS DONE MERCIFULLY IN CASE
11349 ; IT IS RUNNING.
11350 ;
11351 ; NO INPUTS.
11352 ;
11353 ; OUTPUTS:
11354 ; CARRY IS SET IF UNABLE TO COMPLY, AND ERROR MESSAGE
11355 ; IS DISPLAYED.
11356 ;-
11357
11358 031216 STPKL:
11359 031216 TRACK HA
031216 004037 031230' JSR R0,30016$
031222 040510 .WORD "HA
031224 000000 .WORD
031226 000000 .WORD
031230 004737 024236' 30016$: JSR PC,$TRACK
031234 012600 MOV (SP)+,R0
11360 031236 PUSH <R0,R1> ; SAVE R0 AND R1
031236 010046 MOV R0,-(SP)
031240 010146 MOV R1,-(SP)
11361 031242 012700 010000 MOV #.CLRUN,R0 ; CLEAR RUN
11362 031246 CALL $DFXC ; CLEAR RUN
031246 004737 013760' JSR PC,$DFXC
11363 031252 103455 BCS 90$
11364 031254 012700 000024 MOV #20.,R0 ; SET A WAIT VALUE
11365 031260 CALL $WTKL ; AND SEE IF WE FALL
031260 004737 031102' JSR PC,$WTKL
11366 031264 103037 BCC 20$ ; INTO THE HALT LOOP.
11367 031266 012701 000024 MOV #^D20,R1 ; LOOP COUNT TO R4
11368 031272 10$:
11369 031272 012700 000310 MOV #^D200,R0 ; BURST COUNT TO R0
11370 031276 CALL $BURST ; BURST THE CLOCK
031276 004737 031576' JSR PC,$BURST
11371 031302 103441 BCS 90$
11372 031304 CALL $DTRW1 ; READ DTE-20 DIAG 1
031304 004737 024100' JSR PC,$DTRW1
11373 031310 103436 BCS 90$
11374 031312 032700 001000 BIT #DS06,R0 ; ARE WE IN THE HALT LOOP NOW?
11375 031316 001022 BNE 20$ ; YES -- GO ON
11376 031320 077114 SOB R1,10$ ; NO -- TRY AGAIN
11377 031322 032737 000000G 000060' BIT #KL.KAC,.KLISV ; [4.2107] KEEP-ALIVE RETRY??
11378 031330 001031 BNE 80$ ; [4.2107] YES -- COMPLANI AND EXIT
11379 031332 CALL $KLMR ; NO -- KL IS IN TROUBLE - RESET
031332 004737 015232' JSR PC,$KLMR
11380 031336 103423 BCS 90$
11381 031340 012700 001000 MOV #.STRCL,R0 ; BY RESTARTING MICROCODE.
11382 031344 CALL $DFXC
031344 004737 013760' JSR PC,$DFXC
11383 031350 103416 BCS 90$
11384 031352 012700 001750 MOV #1000.,R0 ; WAIT FOR IT TO ENTER HALT LOOP
11385 031356 CALL $WTKL ; AND IF THIS FAILS,
031356 004737 031102' JSR PC,$WTKL
11386 031362 103414 BCS 80$ ; THEN DIE A MISERABLE DEATH.
11387 031364 20$:
KLIXC -- KL INSTRUCTION EXECUTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 237-1
STPKL -- HALT THE KL CPU
11388 031364 012700 000000 MOV #.STPCL,R0 ; STOP THE CLOCK
11389 031370 CALL $DFXC
031370 004737 013760' JSR PC,$DFXC
11390 031374 103404 BCS 90$
11391 031376 012700 004000 MOV #.CECLK,R0 ; MAKES EBOX CLOCK FALSE
11392 031402 CALL $DFXC
031402 004737 013760' JSR PC,$DFXC
11393 031406 90$:
11394 031406 POP <R1,R0> ; RESTORE REGISTERS
031406 012601 MOV (SP)+,R1
031410 012600 MOV (SP)+,R0
11395 031412 RETURN ; TO CALLER
031412 000207 RTS PC
11396
11397 031414 80$:
11398 031414 PRINT #TXCHLE ; CANNOT FIND HALT LOOP !
031414 012700 006070' MOV #TXCHLE,R0
031420 004737 027620' JSR PC,$TTMSG
11399 031424 000261 SEC
11400 031426 000767 BR 90$
11401 ;
KLIXC -- KL INSTRUCTION EXECUTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 238
$MBPHS -- PHASE THE KL CLOCKS
11403 .SBTTL $MBPHS -- PHASE THE KL CLOCKS
11404 ;+
11405 ; PHASE THE CLOCKS TO LOAD THE AR
11406 ; $MBPHS WAITS FOR THREE TEST POINTS TO MATCH UP AND
11407 ; THEN SETS UP FOR A CHANGE COMING A L. THIS MAKES
11408 ; THE AR LOA FUNCTION STRICTLY REPEATABLE.
11409 ;
11410 ; NO INPUTS
11411 ;
11412 ; OUTPUTS:
11413 ; CARRY IS SET IF ERROR OCCURS.
11414 ;-
11415
11416 031430 $MBPHS::
11417 031430 004537 024170' JSR R5,$RSAVE ; SAVE THE REGISTERS.
11418 031434 012702 000030 MOV #24.,R2 ; DO THIS A MAXIMUM OF 24 TIMES.
11419 031440 012701 002431' MOV #DXCBF,R1 ; SET UP A READ BUFFER.
11420 031444 10$:
11421 031444 012700 102000 MOV #<102*1000>,R0 ; READ 102
11422 031450 CALL $DFRD
031450 004737 013444' JSR PC,$DFRD
11423 031454 103432 BCS 80$
11424 031456 132711 000004 BITB #4,(R1) ; CHECK "CLK SYNCH H"
11425 031462 001421 BEQ 20$ ; MUST BE HIGH
11426 031464 012700 144000 MOV #<144*1000>,R0 ; READ 144
11427 031470 CALL $DFRD
031470 004737 013444' JSR PC,$DFRD
11428 031474 103422 BCS 80$
11429 031476 132761 000100 000003 BITB #100,3(R1) ; CHECK "CR ADR 10"
11430 031504 001010 BNE 20$ ; MUST BE EVEN
11431 031506 012700 164000 MOV #<164*1000>,R0 ; READ 164
11432 031512 CALL $DFRD
031512 004737 013444' JSR PC,$DFRD
11433 031516 103411 BCS 80$
11434 031520 132711 000040 BITB #40,(R1) ; CHECK "PHASE CHANGE COMING L"
11435 031524 001410 BEQ 30$ ; MUST BE LOW
11436 031526 20$:
11437 031526 012700 002000 MOV #.SSCLK,R0 ; STEP THE MBOX CLOCK.
11438 031532 CALL $DFXC
031532 004737 013760' JSR PC,$DFXC
11439 031536 103401 BCS 80$
11440 031540 077237 SOB R2,10$ ; AVOID TRYING AD INFINITUM.
11441 031542 80$:
11442 031542 000261 SEC ; ERROR....
11443 031544 90$:
11444 031544 RETURN
031544 000207 RTS PC
11445 031546 30$:
11446 031546 012700 162000 MOV #<162*1000>,R0 ; READ 162
11447 031552 CALL $DFRD
031552 004737 013444' JSR PC,$DFRD
11448 031556 103771 BCS 80$
11449 031560 132711 000010 BITB #10,(R1) ; CHECK "A CHANGE COMING A L"
11450 031564 001767 BEQ 90$ ; IF HIGH, THEN
11451 031566 012700 000012 MOV #10.,R0 ; WE MUST CLOCK THE MBOX
11452 031572 CALLR $BURST ; 10. TIMES.
031572 000137 031576' JMP $BURST
KLIXC -- KL INSTRUCTION EXECUTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 238-1
$MBPHS -- PHASE THE KL CLOCKS
11453 ;
KLIXC -- KL INSTRUCTION EXECUTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 239
$BURST -- BURST THE M-BOX CLOCK
11455 .SBTTL $BURST -- BURST THE M-BOX CLOCK
11456 ;+
11457 ; STEP THE M-BOX A GIVEN NUMBER OF TICKS USING THE BURST
11458 ; DIAGNOSTIC INSTRUCTION.
11459 ;
11460 ; INPUTS:
11461 ; R0 - NUMBER OF STEPS TO BURST.
11462 ;
11463 ; OUTPUTS:
11464 ; CARRY IS SET IF OPERATION WAS UNSUCCESSFUL.
11465 ;-
11466
11467 031576 004537 024170' $BURST:: JSR R5,$RSAVE
11468 031602 010002 MOV R0,R2 ; SAVE BURST COUNT.
11469 031604 012700 000000 MOV #.STPCL,R0 ; STOP CLOCK FOR SAFETY.
11470 031610 CALL $DFXC
031610 004737 013760' JSR PC,$DFXC
11471 031614 103464 BCS 90$
11472 031616 012701 002436' MOV #DXCBRC,R1
11473 031622 012711 000017 MOV #17,(R1)
11474 031626 162702 000377 SUB #255.,R2 ; MORE THAN 255 BURSTS ?
11475 031632 002422 BLT 20$
11476 031634 10$:
11477 031634 012700 042000 MOV #.LDBRR,R0 ; YES, DO A BURST
11478 031640 CALL $DFWR
031640 004737 013556' JSR PC,$DFWR
11479 031644 103450 BCS 90$
11480 031646 012700 043000 MOV #.LDBRL,R0 ; WITH 255, AND
11481 031652 CALL $DFWR
031652 004737 013556' JSR PC,$DFWR
11482 031656 103443 BCS 90$
11483 031660 012700 005000 MOV #.BRCLK,R0
11484 031664 CALL $DFXC
031664 004737 013760' JSR PC,$DFXC
11485 031670 103436 BCS 90$
11486 031672 162702 000377 SUB #255.,R2 ; COUNT DOWN UNTIL
11487 031676 002356 BGE 10$ ; LESS THAN 255.
11488 031700 20$:
11489 031700 062702 000377 ADD #255.,R2 ; ANY LEFT TO DO ?
11490 031704 001430 BEQ 90$
11491 031706 110211 MOVB R2,(R1) ; YES, DO LAST BURST.
11492 031710 142711 177760 BICB #^C17,(R1)
11493 031714 012700 042000 MOV #.LDBRR,R0
11494 031720 CALL $DFWR
031720 004737 013556' JSR PC,$DFWR
11495 031724 103420 BCS 90$
11496 031726 SR R2,4
031726 006202 ASR R2
031730 006202 ASR R2
031732 006202 ASR R2
031734 006202 ASR R2
11497 031736 110211 MOVB R2,(R1)
11498 031740 142711 177760 BICB #^C17,(R1)
11499 031744 012700 043000 MOV #.LDBRL,R0
11500 031750 CALL $DFWR
031750 004737 013556' JSR PC,$DFWR
11501 031754 103404 BCS 90$
KLIXC -- KL INSTRUCTION EXECUTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 239-1
$BURST -- BURST THE M-BOX CLOCK
11502 031756 012700 005000 MOV #.BRCLK,R0
11503 031762 CALLR $DFXC
031762 000137 013760' JMP $DFXC
11504 ;
11505 031766 90$:
11506 031766 RETURN
031766 000207 RTS PC
KLIXC -- KL INSTRUCTION EXECUTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 240
$BURST -- BURST THE M-BOX CLOCK
11508
11509 023502' .END $START
KLIXC -- KL INSTRUCTION EXECUTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 240-1
Symbol table
AAX = 000020 CIMNXC 001136R 003 DDNCRE 000604R 002 DMABM = ****** GX DS05 = 002000
APR = 000000 CIMNXM 001167R 003 DDNDEL 000706R 002 DMANXM= ****** GX DS06 = 001000
ATLST 002306R 002 CLRMR = 000006 DDNENA 000630R 002 DMA2TS= ****** GX DTECMD= 000451
A.LULU= 000002 CM = 000004 DDNGLN 000576R 002 DMA20 = ****** GX DTEFLG= 000444
A.LUNA= 000004 CNUPE = 000002 DDNRAT 000722R 002 DMRBF 001434R 002 DTEF11= 000450
A.LUNU= 000006 CNVCHK 015146R DDPDAI 000734R 002 DMRKW2 001446R 002 DTEMTD= 000455
BAF0 = ****** GX CNVWRD 015154R DDPDAO 000764R 002 DMRMMR 001414R 002 DTEMTI= 000456
BITTBL= ****** GX COMCSE 005552RG 003 DDPDEL 000750R 002 DMRMOS 001441R 002 DTLST 002322R 002
BIT0 = 000001 CONBUT= 000012 DDPRNA 001000R 002 DMRMRT 001322R 002 DTNRB 002236R 002
BIT1 = 000002 CONFGR= ****** GX DDXEXT 001030R 002 DMRSRL= 000005 DTNXP 002230R 002
BIT10 = 002000 CONFIG= ****** GX DEP = 010000 DMRSRT 001422R 002 DTTRLB 002244R 002
BIT11 = 004000 CONO = 000004 DEX = 000400 DNIBOO 002354R 002 DTTSTA 002336R 002
BIT12 = 010000 CONTI = ****** GX DEXDON= 000004 DNILPO 001474R 002 DTTWLB 002264R 002
BIT13 = 020000 CPUNUM= 000002 DEXWD1= 174406 DNISYF 001524RG 002 DUPE = 000020
BIT14 = 040000 CR = 000015 DEXWD2= 174404 DNISYI 001504RG 002 DURE = 000004
BIT15 = 100000 CS.EXP= 177670 DEXWD3= 174402 DNISYO 001514RG 002 DXBADR 002404R 002
BIT2 = 000004 CTLS = 000040 DFCABF 001103R 002 DNITTI 001454R 002 DXBCNM 002416R 002
BIT3 = 000010 CXMDOL 001504R 003 DFCBF 001074R 002 DNITTO 001464R 002 DXBDAT 002410R 002
BIT4 = 000020 CXMIBM 001677R 003 DFCFL2 001101R 002 DON10C= 040000 DXBFNM 002364R 002
BIT5 = 000040 C.ACHE= 000000 DFCFL3 001102R 002 DON10S= 100000 DXBLOC 002400R 002
BIT6 = 000100 DACAB 000000R 002 DFCRFL 001054R 002 DON11C= 000100 DXCAD 002424R 002
BIT7 = 000200 DACAD 000012R 002 DFCWFL 001064R 002 DON11S= 000200 DXCBF 002431R 002
BIT8 = 000400 DACBF 000015R 002 DFDABF 001115R 002 DPS4 = 040000 DXCBRC 002436R 002
BIT9 = 001000 DACBI 000005R 002 DFDDBF 001110R 002 DQBFNM 001534RG 002 DXWRD1= 002000
BLKI = 000000 DATAI = 000001 DFEAD 001146R 002 DQSAPR 001670R 002 D$$H11= 000010
BLKO = 000002 DATAO = 000003 DFEBF 001152R 002 DQSCBF 001640R 002 D1011 = 000040
BMMSTB 000236RG 004 DBEFRC= ****** GX DFEDPB 001122R 002 DQSCF3 001654R 002 EBSEL = 000100
BPARER= 000020 DCAPGM 000023R 002 DFEEXB 001134R 002 DQSCSW 001620R 002 EBUSPC= 000020
BRCLK = 000005 DCARCA 000040R 002 DFRRDB 001160R 002 DQSHWT 001676R 002 EBUSPS= 000004
BY$$0 = 000000 DCARFL 000101R 002 DFUNC = 000200 DQSMKT 001626R 002 EDONES= 040000
BY$$1 = 000000 DCASIA 000033R 002 DFWBF 001216R 002 DQSP0 001554RG 002 ED.PHY= 000200
BY$$2 = 000000 DCAWRF 000064R 002 DFWEDB 001204R 002 DQSP01 001604RG 002 EF.CRI= ****** GX
BY$$3 = 000000 DCBADR 000134R 002 DFWWDB 001172R 002 DQSP1 001570RG 002 EF.PR1= ****** GX
BY$$4 = 000000 DCBCBF 000156R 002 DFXXDB 001224R 002 DRESET= 000100 EPTR = 000000
CCA = 000014 DCBCNT 000152R 002 DF.DMG= 000004 DRSCEN 001714R 002 ERRORX 020300R
CCFAIL= ****** GX DCBDAT 000136R 002 DF.DMN= 000007 DRSDBL 001712RG 002 ERR10C= 010000
CDD = 000020 DCBDBF 000172R 002 DF.DOR= 000001 DRSFCR 001736R 002 ERR10S= 020000
CECLK = 000004 DCBFIX 000154R 002 DF.EHG= 000010 DRSPEN 001726R 002 ERR11C= 000001
CFGEXT 006076R DCBFNM 000114R 002 DF.EHM= 000011 DRSPFR 001733R 002 ERR11S= 000002
CFGINM 001222R 003 DCFCFN 000210R 002 DF.EMG= 000005 DRSPLD 001721R 002 E.FFIL= 000006
CFGINT 005624R DCFLFN 000230R 002 DF.EMN= 000006 DRSSCR 001741R 002 FITMEM= ****** GX
CFGMAC 001441R 003 DCFRJT 000250R 002 DF.KLR= 000012 DRTBF 002110R 002 FM = 000010
CFGMNM 001370R 003 DCOMST= 000001 DF.KLW= 000013 DRTBUF 002000R 002 FMRECN= ****** GX
CFGMOS 006234R DCSRCA 000273R 002 DF.KLX= 000014 DRTDTE 024134R FORPRO= 000020
CFGXMC 004270R DCSSIA 000266R 002 DF.OFF= 000002 DRTSTA 001774R 002 FS = 000001
CFGXNM 001305R 003 DDCDAI 000300R 002 DF.ON = 000003 DRTWLB 001752R 002 FTKLI = 000001
CFIMIL 004702R DDCDAO 000314R 002 DF.PDP= 000016 DRTX71 001744R 002 F.TRCK= 000001
CFIMQ1 000632R 003 DDCWAT 000334R 002 DF.PEX= 000015 DR.DTE= 000011 GAPCNT= ****** GX
CFIMQ2 000752R 003 DDDDEL 000402R 002 DGCFNM 001236R 002 DSEND = 000004 GAPTAB= ****** GX
CFIMQ3 001024R 003 DDDFNA 000352R 002 DGMFNM 001256R 002 DSTBF 002166R 002 G.LUBA= 000004
CFIMQ4 001051R 003 DDDRNA 000420R 002 DGPFNM 001276R 002 DSTCEN 002142R 002 G.LUCW= 000004
CFMMQ1 000707R 003 DDLACR 000506R 002 DIAG1 = 174430 DSTRT 002116R 002 G.LUFB= 000003
CFXMQ1 001547R 003 DDLFNA 000456R 002 DIAG2 = 174432 DSTRTL= 000004 G.LULU= 000002
CFXMQ2 001620R 003 DDLGLN 000450R 002 DIAG3 = 174436 DST1B0 002147R 002 G.LUNA= 000000
CHKIMC 005070R DDLRAT 000564R 002 DIKL10= 000010 DST1B1 002154R 002 G.LUNU= 000002
CHKMMC 005314R DDLRNA 000534R 002 DLYCNT= 174400 DST3B1 002161R 002 HDTAB 002200R 002
CHNPNT= 000001 DDNACE 000660R 002 DM = 000002 DS04 = 004000 HIBYTE= 177400
KLIXC -- KL INSTRUCTION EXECUTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 240-2
Symbol table
HLTNOE 022252R KL.VBD= ****** GX LTNCHR 026420R Q.IOLU= 000004 TCBMRE 000446R 003
HRR = 000540 KL.VBN= ****** GX LTNMV 026360R Q.IOPL= 000014 TCBMVF 000233R 003
H.KCAC= ****** GX KS.FCF= ****** GX LTNROL 026404R Q.IOPR= 000007 TCBMVL 000314R 003
H.KEXT= ****** GX LCARPT 000754R LTTDIR 027710R Q.IOSB= 000010 TCBMVV 000357R 003
H.KMOS= ****** GX LCBCRM 001630R LXBRC 030260R RAMIS0= 010000 TCBXOR 000440R 003
H.KPWR= ****** GX LCBDRM 002172R LXB5B 030236R RDATIM 014706RG TCFCFA 000536R 003
H.KUDF= ****** GX LCBFL 002636R L$$P20= 000002 RDDONE= ****** GX TCFCFE 000571R 003
IE.DFU= ****** GX LCBRC 001372R MABRD = ****** GX RDMCV 001502R TDEDFU 002154R 003
IE.EBX= ****** GX LCBRME 002516R MAJVER 000106R 002 REDOSY 030564R TDEDR 001722R 003
IE.EOF= ****** GX LCBVFY 002572R MA20 = ****** GX REPCON= ****** GX TDEIO 002014R 003
IE.NSF= ****** GX LCBVR 002674R MBINI = ****** GX REPFIT= ****** GX TDENSF 002100R 003
IE.UPN= ****** GX LCB3W 001216R MB20 = ****** GX RESDET= ****** GX TDRRDE 002201R 003
IFLOP = 100000 LCB6W 001224R MF20 = ****** GX RFMAD0= 100000 TDRRLE 002216R 003
INIDMA= ****** GX LCFCPY 003204R MPE11 = 001000 RFMAD1= 040000 TDWRLE 002270R 003
INTMOD= ****** GX LCFERR 003502R MXTYP = 000005 RFMAD2= 020000 TDWWRE 002252R 003
INTROF= 000010 LCFNXT 003152R M.KTAE= 000010 RFMAD3= 010000 TENAD1= 174410
INTRON= 000040 LCFPRG 003476R M.KTEF= 000002 RM = 000010 TENAD2= 174412
INTSON= 000001 LCFRBF 003256R M.KTMG= 000004 RTFERR 015126R TFEDFL 002325R 003
INT10S= 000400 LCFRCA 003276R M.KTUN= 000006 RTFERX 015136R TFEEFL 002346R 003
INT11C= 002000 LCFREF 003314R NULSTP= 000040 RTFXIT 015142R TFREMS 002367R 003
INT11S= 004000 LCFRMC 003516R NUPE = 000002 R$$11D= 000001 TFWEMS 002410R 003
IO.ACE= ****** GX LCFRMM 003176R PAG = 000010 SAVLEN 002352R 002 TFXEMS 002432R 003
IO.ACR= ****** GX LCFRPA 003266R PAGE = 001000 SAVMSG 002350R 002 TGCNFL 002456R 003
IO.ATT= ****** GX LCFRTN 003474R PCERRM 003225R 003 SCD = 000040 TGMNFL 002525R 003
IO.CRE= ****** GX LCFSKP 003304R PERCLR= 001000 SECLK = 000003 TGPNFL 002575R 003
IO.DAC= ****** GX LCFWBF 003526R PGBTS = 000777 SETIMF 000264R 002 TGTCKE 002607R 003
IO.DEL= ****** GX LCFWCA 003772R PHYS = 100000 SETMMF 000265R 002 TGTIFF 002677R 003
IO.DET= ****** GX LCFWEF 003642R PI = 000004 SETMR = 000007 TGTNFL 002651R 003
IO.ENA= ****** GX LCFWMC 004060R PIDENT= 000000 SETRUN= 000011 TGTRFE 002741R 003
IO.EXT= ****** GX LCFWMM 003664R PRI7 = 000340 SETZ = 000400 TMFLNM= ****** GX
IO.FNA= ****** GX LCFWPA 004142R PROPNT= 000021 SPC = 000040 TMPLOG 002342R 002
IO.RLB= ****** GX LDAR = 000077 PRTOFF= 004000 SSCLK = 000002 TMRMFL 002777R 003
IO.RNA= ****** GX LDEIDV 007536R PR0 = 000000 STAT = 174434 TNINDV 003025R 003
IO.RVB= ****** GX LDRER 010460R PR1 = 000040 STATUS= 000022 TNIN55 003052R 003
IO.WLB= ****** GX LDWER 010722R PR2 = 000100 STPCLK= 000000 TNIPRI 003110R 003
IO.WVB= ****** GX LF = 000012 PR3 = 000140 STPKL 031216R TNIVER 003174R 003
IS.CR = ****** GX LFCSAB 012274R PR4 = 000200 STRCLK= 000001 TOBM = 000004
IS.ESC= ****** GX LFDWFN 012460R PR5 = 000240 SUBVER 000110R 002 TOIP = 000002
I.10L = 000005 LFECKN 013354R PR6 = 000300 SWITCH 002176R 002 TOIT = 000001
JCOMM 002174R 002 LFEMVA 013330R PR7 = 000340 SWR = 177570 TO10 = 000200
JRST = 000254 LFWCKF 013676R PS = 177776 SWSLLT= 100000 TO10AD= 174420
JUMPE = 000322 LMRDFN 015430R PSWW1 = 000005 SYFLUN= 000006 TO10BC= 174414
KEEPBB= ****** GX LOAD11= 000004 PSWW10= 000014 SYILUN= 000004 TO10BM= 000001
KLI$$E= 000000 LOGLUN= 000006 PSWW11= 000015 SYOLUN= 000005 TO10DB= 000400
KLI$$F= 000102 LPOLUN= 000003 PSWW12= 000016 S.YIL = 001000 G TO10DN= 100000
KLI$$K= 000126 LQBRBF 016656RG PSWW13= 000017 S.YOL = 001000 G TO10DT= 174424
KLI$$V= 000016 LQCCM 017244R PSWW2 = 000006 TAB = 000011 TO10ER= 020000
KLPWRF= 000010 LQMRFN 001246R PSWW3 = 000007 TCAACD 000077R 003 TO11 = 000100
KL.ABO= ****** GX LQRBPS 021130R PSWW4 = 000010 TCAACE 000026R 003 TO11AD= 174422
KL.CFL= ****** GX LQSBPS 021516R PSWW5 = 000011 TCACEF 000000R 003 TO11BC= 174416
KL.CFM= ****** GX LQSCHE 022036R PSWW6 = 000012 TCASCE 000051R 003 TO11BM= 020000
KL.DEF= ****** GX LQSCHO 022012R PSWW7 = 000013 TCBBAD 000424R 003 TO11DB= 004000
KL.KAC= ****** GX LQSCSW 022420R PULSE = 000020 TCBDCW 000117R 003 TO11DN= 000200
KL.LCA= ****** GX LQSHDW 022056R QSIZE = 000023 TCBDDW 000151R 003 TO11DT= 174426
KL.LRM= ****** GX LQSHWE 021542R Q.IOAE= 000012 TCBFXF 000265R 003 TO11ER= 000002
KL.LVB= ****** GX LQSHWO 022276RG Q.IOEF= 000006 TCBGOD 000432R 003 TQBNFL 003363R 003
KL.SPF= ****** GX LRSTKL 023316R Q.IOFN= 000002 TCBMLF 000203R 003 TQBOOT 003246R 003
KLIXC -- KL INSTRUCTION EXECUTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 240-3
Symbol table
TQBWCF 003320R 003 TXCHLE 006070R 003 $DLGMB 020344RG $PURGE 010124RG $WRITS 010666RG
TQCACH 003421R 003 TXCSFL 006120R 003 $DLGMF 020340RG $RCRAM 011564RG $WRITW 010736RG
TQCCEN 003466R 003 TXPTS 004127R 003 $DLGMM 017542RG $RDERA= 000000 $WRMRS 023006RG
TQEXIT 003532R 003 TYPNUM= ****** GX $DLGMV 023646RG $RDRAM 012474RG $WTKL 031102RG
TQMCF0 003556R 003 T.TIL = 000040 G $DLGMX 023652RG $READ 010474RG $XCDT 000206RG
TQMCF1 003635R 003 T.TOL = 000115 G $DLGPA 020374RG $READB 010420RG $ZERAC 000112RG
TQMNM0 003722R 003 UEDIT 000112R 002 $DLGRM 020664RG $READC 010216RG $$ = 000037
TQMPCA 003757R 003 UNASG1= 000032 $DLGRV 023660RG $READS 010254RG $$APRI= 000000
TQRLMC 004172R 003 UNASG2= 000033 $DLGXM 020334RG $READW 010324RG $$RDER= 000004
TQSABO 004712R 003 UNASG3= 000034 $DLMB1 020350RG $RP04 = 000001 $$SBDI= 000004
TQSCAC 004564R 003 UNASG4= 000035 $DLMB2 020356RG $RSAVE 024170RG $$$ARG= 000006
TQSCDH 004603R 003 UNASG5= 000036 $DLWCF 016530RG $RSTRT 022606RG $$$OST= 000014
TQSCHN 004531R 003 UNASG6= 000037 $DPOS 013074RG $RX11 = 000001 $$$T1 = 000014
TQSDLG 004240R 003 WAIT1S 023414R $DPOST 013056RG $SBDIA= 000002 .BRCLK= 005000
TQSEXT 004474R 003 WEP = 000010 $DSPPT 020024RG $SETCA 000356RG .BTADR 000522RG 004
TQSHRZ 004337R 003 W.10L = 000005 $DSW = ****** GX $SETFN 007304RG .BTSW 000050RG 004
TQSHWP 004347R 003 XCONMP= ****** GX $DTE = 000001 $SETIM 005056RG .CACHN 000065RG 004
TQSKSN 004301R 003 XCT = 000256 $DTRWS 024116RG $SETMM 005302RG .CASW 000043RG 004
TQSMCA 004402R 003 XCT71 023540RG $DTRW1 024100RG $START 023502RG .CECLK= 004000
TQSMDL 004324R 003 ZSTOP = 040000 $DTRW2 024106RG $STRKL 030712RG .CFGTB 000134RG 004
TQSMMA 004745R 003 $ACRAM 012166RG $DTRW3 024126RG $SWEEP 006502RG .CFMRV 000234RG 004
TQSMMO 004435R 003 $ADRAM 012704RG $ECHO 027770RG $TCRLF 027514RG .CKSW 000041RG 004
TQSPT 004064R 003 $APRID= 000000 $ECHO1 030004RG $TDB2C 026452RG .CLRMR= 006000
TQSWRN 004657R 003 $ASCIZ 024224RG $ENTER 007734RG $TDB2I 025250RG .CLRUN= 010000
TROCT 026060R $BURST 031576RG $ERROR 023776RG $TDB2O 026434RG .COMEF= ****** GX
TRSCEF 005323R 003 $CD11 = 000001 $EXAM 013224RG $TDI2B 025366RG .CONBT= 012000
TRSCES 005057R 003 $CFGBT 023700RG $EXAMD 013214RG $TENST 024510RG .CPUSN= ****** GX
TRSDER 005211R 003 $CFGCA 023624RG $EXAMT 013176RG $TENS1 024516RG .CSDN 000030RG 004
TRSFCF 005267R 003 $CFGMM 020044RG $EXBLD 030036RG $TOP20= 000001 .CSHRG= 164000
TRSFCS 005515R 003 $CFGRM 023612RG $EXCT 030622RG $TRACK 024236RG .CTLTP 000072RG 004
TRSFHL 005400R 003 $CFGXX 020216RG $EXIT 024006RG $TRB2F 025030RG .DATE3= ****** GX
TRSHLT 005124R 003 $CFIMD 004232RG $EXIT1 024014RG $TRB2I 025272RG .DBSW 000033RG 004
TRSPRF 005023R 003 $CFMMD 004200RG $EXTEN 011242RG $TRB2O 026464RG .DCSW 000031RG 004
TRSRSM 005252R 003 $CFXMD 006544RG $FATAL 024022RG $TRB2R 026730RG .DESW 000042RG 004
TRSSEF 005444R 003 $CHKIM 005064RG $FE = 000001 $TRCRM 025476RG .DFBLK 000256RG 004
TRSTMO 005155R 003 $CHKMM 005310RG $FILE 003036RG $TRDRM 025642RG .DFRBK 000264RG 004
TRTBTF 005635R 003 $CLLOG= ****** GX $F11 = 000001 $TRF2B 025132RG .DFRG1 000272RG 004
TRTEND 005742R 003 $CLOSE 007056RG $GETCA 014112RG $TRI2B 025410RG .DFRG2 000274RG 004
TRTFME 005665R 003 $CONFG 005514RG $GETMM 014312RG $TRO2B 026546RG .DFRG3 000300RG 004
TRTMMF 005577R 003 $DBDTE= 000001 $GETPA 014562RG $TRR2B 026622RG .DFSTA 000276RG 004
TSTBSM 005744R 003 $DDFRD 013440RG $GETTF 014706RG $TTBEL 027474RG .DFWBK 000256RG 004
TTA 002210R 002 $DDFWR 013552RG $INIT 015564RG $TTDMS 027552RG .DLGSW 000024RG 004
TTB 002214R 002 $DDFXC 013754RG $IOERR 007346RG $TTDWR 027664RG .DMSW 000032RG 004
TTBEL 006005R 003 $DELET 007214RG $KLMR 015232RG $TTMSG 027620RG .DREG 000272RG 004
TTILUN= 000001 $DFPC 016134RG $KLSR 015504RG $TTRD 027114RG .DRLTC= 015000
TTJ 002224R 002 $DFRD 013444RG $LDAR 031162RG $TTSPC 027464RG .DRSW 000027RG 004
TTOLUN= 000002 $DFWR 013556RG $LDNGO 000000RG $TTTAB 027504RG .DSACF= 066000
TTP 002220R 002 $DFXC 013760RG $LGERR 000054RG 004 $TTWR 027700RG .DSIOJ= 065000
TTSLS 006004R 003 $DH11 = 000001 $LGOPN 000056RG 004 $WCRAM 011304RG .DTEDT 000302RG 004
TTSPC 006002R 003 $DLGBT 016334RG $LOG 000052RG 004 $WDD22 026110RG .EASW 000044RG 004
TTTAB 006003R 003 $DLGBV 023654RG $LOOKU 007562RG $WDD36 026222RG .EIOJA= 067000
TTTNLN 006006R 003 $DLGCA 017066RG $LP20 = 000001 $WDRAM 012314RG .ERRCD= ****** GX
TTTPR 000200R 002 $DLGCT 020304RG $MAPMM 006436RG $WRD22 026140RG .ERRPC= ****** GX
TTTPRE 006014R 003 $DLGCV 023620RG $MBPHS 031430RG $WRD36 026252RG .FEMOD= ****** GX
TTTPRP 006010R 003 $DLGEN 021154RG $MCBLD 001066RG $WRITB 011032RG .FILSW 000047RG 004
TXBIMM 006024R 003 $DLGEX 017422RG $OPLOG= ****** GX $WRITC 010624RG .GFNR = 102000
TXBOTH 004165R 003 $DLGIM 020330RG $POWER 022524RG $WRITE 011072RG .HRDWR= ****** GX
KLIXC -- KL INSTRUCTION EXECUTI MACRO V05.04 Tuesday 17-May-88 14:21 Page 240-4
Symbol table
.INICL= 070000 .LDCK2= 047000 .PCAB3= 152000 .STPCL= 000000 .SYOVB 001620RG 004
.IRLTC= 014000 .LDDIS= 045000 .PCAB4= 153000 .STRCL= 001000 .SYSTA 000532RG 004
.KLCPU= ****** GX .LDRJD= 064000 .PRDCT= ****** GX .SYATT 002656RG 004 .TKTN = ****** GX
.KLFCF= ****** GX .LDRJV= 063000 .PTSEL 000530RG 004 .SYFID= 002624RG 004 .TPSHI 016270RG
.KLISV 000060RG 004 .LDRM1= 060000 .PTSW 000034RG 004 .SYFNB 002624RG 004 .TRKLP 000040RG 004
.KLITK= ****** GX .LDRM2= 061000 .RCRM1= 147000 .SYFNM= 002632RG 004 .TRKSW 000036RG 004
.KLIWD= ****** GX .LDRM3= 062000 .RCRM2= 146000 .SYIBA 000542RG 004 .TRKTT 000037RG 004
.KLREG 000244RG 004 .LDSEL= 044000 .RCRM3= 145000 .SYIBC 000544RG 004 .TTIBF 000304RG 004
.LCRDL= 052000 .MCA25 000035RG 004 .RCRM4= 144000 .SYIBF 000572RG 004 .TTOBF 000344RG 004
.LCRDR= 051000 .MCBFN 000462RG 004 .RCSPF= 141000 .SYIFN 000546RG 004 .UFNSW 000026RG 004
.LCRM1= 057000 .MCBSW 000025RG 004 .RDJ14= 134000 .SYIRC 000540RG 004 .USRFN 000502RG 004
.LCRM2= 056000 .MCSW 000051RG 004 .RDJ71= 135000 .SYISW 000536RG 004 .WORK 000014RG 004
.LCRM3= 055000 .MEMRS= 076000 .RDMAB= 133000 .SYIVB 000566RG 004 .WRITR= ****** GX
.LCRM4= 054000 .MFCT 000046RG 004 .SECLK= 003000 .SYOBA 001574RG 004 .WRMBX= 071000
.LCRM5= 053000 .MFSW 000045RG 004 .SETMR= 007000 .SYOBC 001576RG 004 .ZERO 000000RG 004
.LDAR = 077000 .NCACH 000064RG 004 .SETRN= 011000 .SYOBF 001624RG 004 ..DSEV= ****** GX
.LDBRL= 043000 .NOERR= ****** GX .SNSAV 000062RG 004 .SYOFN 001600RG 004 ..DTP2= ****** GX
.LDBRR= 042000 .PCAB1= 150000 .SPSAV 000022RG 004 .SYORC 001572RG 004 ..DTSP= ****** GX
.LDCK1= 046000 .PCAB2= 151000 .SSCLK= 002000 .SYOSW 000537RG 004
. ABS. 000000 000 (RW,I,GBL,ABS,OVR)
031770 001 (RW,I,LCL,REL,CON)
DATA 002444 002 (RW,D,LCL,REL,CON)
TEXT 006142 003 (RW,D,LCL,REL,CON)
GLBL 002674 004 (RW,D,GBL,REL,CON)
Errors detected: 0
*** Assembler statistics
Work file reads: 54
Work file writes: 58
Size of work file: 20030 Words ( 79 Pages)
Size of core pool: 19292 Words ( 74 Pages)
Operating system: RSX-11M/PLUS
Elapsed time: 00:06:38.38
,[50,20]KLIMON/CR/-SP=[50,30]KLIMON.TMP
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 1
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
AAX = 000020 #199-9529
APR = 000000 11-568 #55-1954 55-1976 55-1976 #58-2159 #199-9530 199-9545 199-9545 #228-10937
228-10966 228-10966
ATLST 002306 R #223-10659 224-10745
A.LULU = 000002 #156-7002 #156-7004 #156-7007 #156-7010 #156-7012 #156-7014
A.LUNA = 000004 #156-7002 #156-7004 #156-7007 #156-7010 #156-7012 #156-7014
A.LUNU = 000006 #156-7002 #156-7004 #156-7007 #156-7010 #156-7012 #156-7014
BAF0 = ****** GX 81-3720 81-3720 87-4057 87-4057
BITTBL = ****** GX 78-3414 80-3649 81-3755 87-4061
BIT0 = 000001 #4-198 #8-474 178-8365 199-9536
BIT1 = 000002 #4-198 #8-474 199-9534
BIT10 = 002000 #4-198 #8-474
BIT11 = 004000 #4-198 #8-474
BIT12 = 010000 #4-198 #8-474
BIT13 = 020000 #4-198 #8-474
BIT14 = 040000 #4-198 #8-474
BIT15 = 100000 #4-198 #8-474 62-2346 78-3331 78-3394 80-3639 81-3740 84-3897 85-3961
86-4013 91-4218 103-4724 105-4811 105-4813 121-5348 146-6395 154-6823 154-6824
154-6831 154-6835 154-6836 173-7845
BIT2 = 000004 #4-198 #8-474 199-9532
BIT3 = 000010 #4-198 #8-474 199-9535
BIT4 = 000020 #4-198 #8-474 199-9529
BIT5 = 000040 #4-198 #8-474
BIT6 = 000100 #4-198 #8-474
BIT7 = 000200 #4-198 #8-474
BIT8 = 000400 #4-198 #8-474
BIT9 = 001000 #4-198 #8-474
BLKI = 000000 11-567 11-569 #58-2160
BLKO = 000002 11-565 #55-1955 55-1976 55-1976 #175-8123 175-8141 175-8141
BMMSTB 000236 RG 85-3971 91-4251 #192-9084
BPARER = 000020 #4-198 #8-474
BRCLK = 000005 #11-560
BY$$0 = 000000 #51-1778 51-1778 51-1778 #51-1778 51-1778 51-1778 #51-1778 51-1778 51-1778
#51-1778 51-1778 51-1778 #51-1778 51-1778 51-1778 #51-1778 51-1778 51-1778
#51-1778 51-1778 #51-1779 51-1779 51-1779 #51-1779 51-1779 #51-1780 51-1780
51-1780 #51-1780 51-1780 #51-1781 51-1781 51-1781 #51-1781 51-1781 #55-1970
55-1970 55-1970 #55-1970 55-1970 #55-1971 55-1971 55-1971 #55-1971 55-1971
#55-1972 55-1972 55-1972 #55-1972 55-1972 #55-1973 55-1973 55-1973 #55-1973
55-1973 #55-1974 55-1974 55-1974 #55-1974 55-1974 #55-1975 55-1975 55-1975
#55-1975 55-1975 #55-1976 55-1976 55-1976 #55-1976 55-1976 #55-1977 55-1977
55-1977 #55-1977 55-1977 #88-4108 88-4108 88-4108 #88-4108 88-4108 #88-4109
88-4109 88-4109 #88-4109 88-4109 #123-5413 123-5413 123-5413 #123-5413 123-5413
#123-5416 123-5416 123-5416 #123-5416 123-5416 #127-5657 127-5657 127-5657 #127-5657
127-5657 #127-5658 127-5658 127-5658 #127-5658 127-5658 #131-5854 131-5854 131-5854
#131-5854 131-5854 #131-5856 131-5856 131-5856 #131-5856 131-5856 #137-6093 137-6093
137-6093 #137-6093 137-6093 #154-6841 154-6841 154-6841 #154-6841 154-6841 154-6841
#154-6841 154-6841 #154-6850 154-6850 154-6850 #154-6850 154-6850 #154-6851 154-6851
154-6851 #154-6851 154-6851 154-6851 #154-6851 154-6851 #154-6852 154-6852 154-6852
#154-6852 154-6852 #175-8141 175-8141 175-8141 #175-8141 175-8141 #175-8150 175-8150
175-8150 #175-8150 175-8150 #183-8592 183-8592 183-8592 #183-8592 183-8592 183-8592
#183-8592 183-8592 183-8592 #183-8592 183-8592 183-8592 #183-8592 183-8592 183-8592
#183-8592 183-8592 183-8592 #183-8592 183-8592 #183-8594 183-8594 183-8594 #183-8594
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 2
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
183-8594 #183-8595 183-8595 183-8595 #183-8595 183-8595 183-8595 #183-8595 183-8595
#183-8596 183-8596 183-8596 #183-8596 183-8596 183-8596 #183-8596 183-8596 #183-8597
183-8597 183-8597 #183-8597 183-8597 183-8597 #183-8597 183-8597 #183-8598 183-8598
183-8598 #183-8598 183-8598 183-8598 #183-8598 183-8598 183-8598 #183-8598 183-8598
#190-8915 190-8915 190-8915 #190-8915 190-8915 190-8915 #190-8915 190-8915 #190-8925
190-8925 190-8925 #190-8925 190-8925 #199-9545 199-9545 199-9545 #199-9545 199-9545
199-9545 #199-9545 199-9545 199-9545 #199-9545 199-9545 199-9545 #199-9545 199-9545
199-9545 #199-9545 199-9545 199-9545 #199-9545 199-9545 #199-9546 199-9546 199-9546
#199-9546 199-9546 199-9546 #199-9546 199-9546 199-9546 #199-9546 199-9546 199-9546
#199-9546 199-9546 199-9546 #199-9546 199-9546 #199-9547 199-9547 199-9547 #199-9547
199-9547 #199-9548 199-9548 199-9548 #199-9548 199-9548 #199-9552 199-9552 199-9552
#199-9552 199-9552 199-9552 #199-9552 199-9552 199-9552 #199-9552 199-9552 199-9552
#199-9552 199-9552 199-9552 #199-9552 199-9552 199-9552 #199-9552 199-9552 #199-9555
199-9555 199-9555 #199-9555 199-9555 #199-9557 199-9557 199-9557 #199-9557 199-9557
#199-9559 199-9559 199-9559 #199-9559 199-9559 #199-9562 199-9562 199-9562 #199-9562
199-9562 #228-10966 228-10966 228-10966 #228-10966 228-10966 228-10966 #228-10966 228-10966
228-10966 #228-10966 228-10966 228-10966 #228-10966 228-10966 228-10966 #228-10966 228-10966
#232-11192 232-11192 232-11192 #232-11192 232-11192 #232-11194 232-11194 232-11194 #232-11194
232-11194 #232-11196 232-11196 232-11196 #232-11196 232-11196
BY$$1 = 000000 #51-1778 51-1778 51-1778 #51-1778 51-1778 51-1778 #51-1778 51-1778 51-1778
#51-1778 51-1778 51-1778 #51-1778 51-1778 51-1778 #51-1778 51-1778 51-1778
#51-1778 51-1778 #51-1779 51-1779 51-1779 #51-1779 51-1779 #51-1780 51-1780
51-1780 #51-1780 51-1780 #51-1781 51-1781 51-1781 #51-1781 51-1781 #55-1970
55-1970 55-1970 #55-1970 55-1970 #55-1971 55-1971 55-1971 #55-1971 55-1971
#55-1972 55-1972 55-1972 #55-1972 55-1972 #55-1973 55-1973 55-1973 #55-1973
55-1973 #55-1974 55-1974 55-1974 #55-1974 55-1974 #55-1975 55-1975 55-1975
#55-1975 55-1975 #55-1976 55-1976 55-1976 #55-1976 55-1976 #55-1977 55-1977
55-1977 #55-1977 55-1977 #88-4108 88-4108 88-4108 #88-4108 88-4108 #88-4109
88-4109 88-4109 #88-4109 88-4109 #123-5413 123-5413 123-5413 #123-5413 123-5413
#123-5416 123-5416 123-5416 #123-5416 123-5416 #127-5657 127-5657 127-5657 #127-5657
127-5657 #127-5658 127-5658 127-5658 #127-5658 127-5658 #131-5854 131-5854 131-5854
#131-5854 131-5854 #131-5856 131-5856 131-5856 #131-5856 131-5856 #137-6093 137-6093
137-6093 #137-6093 137-6093 #154-6841 154-6841 154-6841 #154-6841 154-6841 154-6841
#154-6841 154-6841 #154-6850 154-6850 154-6850 #154-6850 154-6850 #154-6851 154-6851
154-6851 #154-6851 154-6851 154-6851 #154-6851 154-6851 #154-6852 154-6852 154-6852
#154-6852 154-6852 #175-8141 175-8141 175-8141 #175-8141 175-8141 #175-8150 175-8150
175-8150 #175-8150 175-8150 #183-8592 183-8592 183-8592 #183-8592 183-8592 183-8592
#183-8592 183-8592 183-8592 #183-8592 183-8592 183-8592 #183-8592 183-8592 183-8592
#183-8592 183-8592 183-8592 #183-8592 183-8592 #183-8594 183-8594 183-8594 #183-8594
183-8594 #183-8595 183-8595 183-8595 #183-8595 183-8595 183-8595 #183-8595 183-8595
#183-8596 183-8596 183-8596 #183-8596 183-8596 183-8596 #183-8596 183-8596 #183-8597
183-8597 183-8597 #183-8597 183-8597 183-8597 #183-8597 183-8597 #183-8598 183-8598
183-8598 #183-8598 183-8598 183-8598 #183-8598 183-8598 183-8598 #183-8598 183-8598
#190-8915 190-8915 190-8915 #190-8915 190-8915 190-8915 #190-8915 190-8915 #190-8925
190-8925 190-8925 #190-8925 190-8925 #199-9545 199-9545 199-9545 #199-9545 199-9545
199-9545 #199-9545 199-9545 199-9545 #199-9545 199-9545 199-9545 #199-9545 199-9545
199-9545 #199-9545 199-9545 199-9545 #199-9545 199-9545 #199-9546 199-9546 199-9546
#199-9546 199-9546 199-9546 #199-9546 199-9546 199-9546 #199-9546 199-9546 199-9546
#199-9546 199-9546 199-9546 #199-9546 199-9546 #199-9547 199-9547 199-9547 #199-9547
199-9547 #199-9548 199-9548 199-9548 #199-9548 199-9548 #199-9552 199-9552 199-9552
#199-9552 199-9552 199-9552 #199-9552 199-9552 199-9552 #199-9552 199-9552 199-9552
#199-9552 199-9552 199-9552 #199-9552 199-9552 199-9552 #199-9552 199-9552 #199-9555
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 3
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
199-9555 199-9555 #199-9555 199-9555 #199-9557 199-9557 199-9557 #199-9557 199-9557
#199-9559 199-9559 199-9559 #199-9559 199-9559 #199-9562 199-9562 199-9562 #199-9562
199-9562 #228-10966 228-10966 228-10966 #228-10966 228-10966 228-10966 #228-10966 228-10966
228-10966 #228-10966 228-10966 228-10966 #228-10966 228-10966 228-10966 #228-10966 228-10966
#232-11192 232-11192 232-11192 #232-11192 232-11192 #232-11194 232-11194 232-11194 #232-11194
232-11194 #232-11196 232-11196 232-11196 #232-11196 232-11196
BY$$2 = 000000 #51-1778 51-1778 51-1778 #51-1778 51-1778 51-1778 #51-1778 51-1778 51-1778
#51-1778 51-1778 51-1778 #51-1778 51-1778 51-1778 #51-1778 51-1778 51-1778
#51-1778 51-1778 #51-1778 51-1778 #51-1778 51-1778 #51-1778 51-1778 #51-1778
51-1778 #51-1778 51-1778 #51-1778 51-1778 #51-1779 51-1779 #51-1779 51-1779
#51-1779 51-1779 #51-1780 51-1780 #51-1780 51-1780 #51-1781 51-1781 51-1781
#51-1781 51-1781 #51-1781 51-1781 #55-1970 55-1970 55-1970 #55-1970 55-1970
#55-1970 55-1970 #55-1971 55-1971 #55-1971 55-1971 #55-1971 55-1971 #55-1972
55-1972 #55-1972 55-1972 #55-1972 55-1972 #55-1973 55-1973 #55-1973 55-1973
#55-1973 55-1973 #55-1974 55-1974 #55-1974 55-1974 #55-1974 55-1974 #55-1975
55-1975 #55-1975 55-1975 #55-1975 55-1975 #55-1976 55-1976 #55-1976 55-1976
#55-1976 55-1976 #55-1977 55-1977 #55-1977 55-1977 #55-1977 55-1977 #88-4108
88-4108 #88-4108 88-4108 #88-4108 88-4108 #88-4109 88-4109 #88-4109 88-4109
#88-4109 88-4109 #123-5413 123-5413 123-5413 #123-5413 123-5413 #123-5413 123-5413
#123-5416 123-5416 123-5416 #123-5416 123-5416 #123-5416 123-5416 #127-5657 127-5657
127-5657 #127-5657 127-5657 #127-5657 127-5657 #127-5658 127-5658 127-5658 #127-5658
127-5658 #127-5658 127-5658 #131-5854 131-5854 #131-5854 131-5854 #131-5856 131-5856
131-5856 #131-5856 131-5856 #131-5856 131-5856 #137-6093 137-6093 137-6093 #137-6093
137-6093 #137-6093 137-6093 #154-6841 154-6841 154-6841 #154-6841 154-6841 #154-6841
154-6841 #154-6841 154-6841 #154-6850 154-6850 154-6850 #154-6850 154-6850 #154-6850
154-6850 #154-6851 154-6851 154-6851 #154-6851 154-6851 #154-6851 154-6851 #154-6851
154-6851 #154-6852 154-6852 154-6852 #154-6852 154-6852 #154-6852 154-6852 #175-8141
175-8141 #175-8141 175-8141 #175-8141 175-8141 #175-8150 175-8150 175-8150 #175-8150
175-8150 #175-8150 175-8150 #183-8592 183-8592 #183-8592 183-8592 #183-8592 183-8592
#183-8592 183-8592 #183-8592 183-8592 #183-8592 183-8592 #183-8592 183-8592 #183-8592
183-8592 #183-8594 183-8594 183-8594 #183-8594 183-8594 #183-8594 183-8594 #183-8595
183-8595 183-8595 #183-8595 183-8595 #183-8595 183-8595 #183-8595 183-8595 #183-8596
183-8596 #183-8596 183-8596 #183-8596 183-8596 #183-8597 183-8597 #183-8597 183-8597
#183-8597 183-8597 #183-8598 183-8598 #183-8598 183-8598 #183-8598 183-8598 #183-8598
183-8598 #190-8915 190-8915 #190-8915 190-8915 #190-8915 190-8915 #190-8915 190-8915
#190-8925 190-8925 190-8925 #190-8925 190-8925 #190-8925 190-8925 #199-9545 199-9545
#199-9545 199-9545 #199-9545 199-9545 #199-9545 199-9545 #199-9545 199-9545 #199-9545
199-9545 #199-9545 199-9545 #199-9545 199-9545 #199-9546 199-9546 #199-9546 199-9546
#199-9546 199-9546 #199-9546 199-9546 #199-9546 199-9546 #199-9546 199-9546 #199-9546
199-9546 #199-9547 199-9547 #199-9547 199-9547 #199-9547 199-9547 #199-9548 199-9548
#199-9548 199-9548 #199-9548 199-9548 #199-9552 199-9552 #199-9552 199-9552 #199-9552
199-9552 #199-9552 199-9552 #199-9552 199-9552 #199-9552 199-9552 #199-9552 199-9552
#199-9552 199-9552 #199-9555 199-9555 199-9555 #199-9555 199-9555 199-9555 #199-9555
199-9555 199-9555 #199-9555 199-9555 199-9555 #199-9555 199-9555 199-9555 #199-9555
199-9555 199-9555 #199-9555 199-9555 #199-9555 199-9555 #199-9557 199-9557 199-9557
#199-9557 199-9557 199-9557 #199-9557 199-9557 199-9557 #199-9557 199-9557 199-9557
#199-9557 199-9557 199-9557 #199-9557 199-9557 199-9557 #199-9557 199-9557 #199-9557
199-9557 #199-9559 199-9559 199-9559 #199-9559 199-9559 199-9559 #199-9559 199-9559
199-9559 #199-9559 199-9559 199-9559 #199-9559 199-9559 199-9559 #199-9559 199-9559
199-9559 #199-9559 199-9559 #199-9559 199-9559 #199-9562 199-9562 199-9562 #199-9562
199-9562 #199-9562 199-9562 #228-10966 228-10966 #228-10966 228-10966 #228-10966 228-10966
#228-10966 228-10966 #228-10966 228-10966 #228-10966 228-10966 #228-10966 228-10966 #232-11192
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 4
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
232-11192 232-11192 #232-11192 232-11192 #232-11192 232-11192 #232-11194 232-11194 232-11194
#232-11194 232-11194 #232-11194 232-11194 #232-11196 232-11196 232-11196 #232-11196 232-11196
#232-11196 232-11196
BY$$3 = 000000 #51-1778 51-1778 51-1778 #51-1778 51-1778 51-1778 #51-1778 51-1778 51-1778
#51-1778 51-1778 51-1778 #51-1778 51-1778 51-1778 #51-1778 51-1778 51-1778
#51-1778 51-1778 #51-1779 51-1779 #51-1781 51-1781 51-1781 #51-1781 51-1781
#55-1970 55-1970 55-1970 #55-1970 55-1970 #55-1971 55-1971 #55-1972 55-1972
#55-1973 55-1973 #55-1974 55-1974 #55-1975 55-1975 #55-1976 55-1976 #55-1977
55-1977 #88-4108 88-4108 #88-4109 88-4109 #123-5413 123-5413 123-5413 #123-5413
123-5413 #123-5416 123-5416 123-5416 #123-5416 123-5416 #127-5657 127-5657 127-5657
#127-5657 127-5657 #127-5658 127-5658 127-5658 #127-5658 127-5658 #131-5856 131-5856
131-5856 #131-5856 131-5856 #137-6093 137-6093 137-6093 #137-6093 137-6093 #154-6841
154-6841 154-6841 #154-6841 154-6841 #154-6850 154-6850 154-6850 #154-6850 154-6850
#154-6851 154-6851 154-6851 #154-6851 154-6851 #154-6852 154-6852 154-6852 #154-6852
154-6852 #175-8141 175-8141 #175-8150 175-8150 175-8150 #175-8150 175-8150 #183-8592
183-8592 #183-8594 183-8594 183-8594 #183-8594 183-8594 #183-8595 183-8595 183-8595
#183-8595 183-8595 #190-8915 190-8915 #190-8925 190-8925 190-8925 #190-8925 190-8925
#199-9545 199-9545 #199-9546 199-9546 #199-9547 199-9547 #199-9548 199-9548 #199-9552
199-9552 #199-9555 199-9555 199-9555 #199-9555 199-9555 199-9555 #199-9555 199-9555
199-9555 #199-9555 199-9555 199-9555 #199-9555 199-9555 199-9555 #199-9555 199-9555
199-9555 #199-9555 199-9555 #199-9557 199-9557 199-9557 #199-9557 199-9557 199-9557
#199-9557 199-9557 199-9557 #199-9557 199-9557 199-9557 #199-9557 199-9557 199-9557
#199-9557 199-9557 199-9557 #199-9557 199-9557 #199-9559 199-9559 199-9559 #199-9559
199-9559 199-9559 #199-9559 199-9559 199-9559 #199-9559 199-9559 199-9559 #199-9559
199-9559 199-9559 #199-9559 199-9559 199-9559 #199-9559 199-9559 #199-9562 199-9562
199-9562 #199-9562 199-9562 #228-10966 228-10966 #232-11192 232-11192 232-11192 #232-11192
232-11192 #232-11194 232-11194 232-11194 #232-11194 232-11194 #232-11196 232-11196 232-11196
#232-11196 232-11196
BY$$4 = 000000 #51-1778 51-1778 #51-1778 51-1778 #51-1778 51-1778 #51-1778 51-1778 #51-1778
51-1778 #51-1778 51-1778 #51-1778 51-1778 #51-1779 51-1779 #51-1781 51-1781
#51-1781 51-1781 #55-1970 55-1970 #55-1970 55-1970 #55-1971 55-1971 #55-1972
55-1972 #55-1973 55-1973 #55-1974 55-1974 #55-1975 55-1975 #55-1976 55-1976
#55-1977 55-1977 #88-4108 88-4108 #88-4109 88-4109 #123-5413 123-5413 #123-5413
123-5413 #123-5416 123-5416 #123-5416 123-5416 #127-5657 127-5657 #127-5657 127-5657
#127-5658 127-5658 #127-5658 127-5658 #131-5856 131-5856 #131-5856 131-5856 #137-6093
137-6093 #137-6093 137-6093 #154-6841 154-6841 #154-6841 154-6841 #154-6850 154-6850
#154-6850 154-6850 #154-6851 154-6851 #154-6851 154-6851 #154-6852 154-6852 #154-6852
154-6852 #175-8141 175-8141 #175-8150 175-8150 #175-8150 175-8150 #183-8592 183-8592
#183-8594 183-8594 #183-8594 183-8594 #183-8595 183-8595 #183-8595 183-8595 #190-8915
190-8915 #190-8925 190-8925 #190-8925 190-8925 #199-9545 199-9545 #199-9546 199-9546
#199-9547 199-9547 #199-9548 199-9548 #199-9552 199-9552 #199-9555 199-9555 #199-9555
199-9555 #199-9555 199-9555 #199-9555 199-9555 #199-9555 199-9555 #199-9555 199-9555
#199-9555 199-9555 #199-9557 199-9557 #199-9557 199-9557 #199-9557 199-9557 #199-9557
199-9557 #199-9557 199-9557 #199-9557 199-9557 #199-9557 199-9557 #199-9559 199-9559
#199-9559 199-9559 #199-9559 199-9559 #199-9559 199-9559 #199-9559 199-9559 #199-9559
199-9559 #199-9559 199-9559 #199-9562 199-9562 #199-9562 199-9562 #228-10966 228-10966
#232-11192 232-11192 #232-11192 232-11192 #232-11194 232-11194 #232-11194 232-11194 #232-11196
232-11196 #232-11196 232-11196
CCA = 000014 #55-1956 55-1971 55-1971 #88-4100 88-4108 88-4108 #175-8122 175-8141 175-8141
CCFAIL = ****** GX 172-7800 172-7808
CDD = 000020 #4-198 #8-474
CECLK = 000004 #11-557
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 5
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
CFGEXT 006076 R 83-3851 83-3851 #85-3950
CFGINM 001222 R #82-3827 84-3936
CFGINT 005624 R 83-3846 83-3846 #84-3875
CFGMAC 001441 R #82-3833 86-4000
CFGMNM 001370 R #82-3831 86-4038
CFGMOS 006234 R 83-3857 83-3857 #86-3991
CFGXMC 004270 R 78-3266 #78-3289
CFGXNM 001305 R #82-3829 85-3974
CFIMIL 004702 R 78-3439 #78-3461
CFIMQ1 000632 R #77-3233 78-3283 78-3450
CFIMQ2 000752 R #77-3237 78-3364
CFIMQ3 001024 R #77-3239 78-3368
CFIMQ4 001051 R #77-3241 78-3473
CFMMQ1 000707 R #77-3235 78-3265 78-3453
CFXMQ1 001547 R #90-4179 91-4200
CFXMQ2 001620 R #90-4181 91-4229
CHKIMC 005070 R 80-3594 #80-3605
CHKMMC 005314 R 81-3694 #81-3707
CHNPNT = 000001 #4-198 #8-474
CIMNXC 001136 R #79-3552 80-3613 81-3713
CIMNXM 001167 R #79-3554 80-3658 81-3760
CLRMR = 000006 #11-558
CM = 000004 #199-9532 200-9642
CNUPE = 000002 #4-198 #8-474
CNVCHK 015146 R 151-6714 151-6714 #152-6758
CNVWRD 015154 R 151-6692 151-6692 151-6699 151-6699 151-6705 151-6705 #152-6762
COMCSE 005552 RG 78-3317 78-3446 78-3505 91-4211 91-4258 161-7326 162-7363 165-7499 166-7545
168-7603 171-7723 174-7965 175-8030 176-8221 #190-8929
CONBUT = 000012 #11-562
CONFGR = ****** GX *171-7755 *172-7792
CONFIG = ****** GX 172-7829 172-7829
CONO = 000004 #55-1957 55-1972 55-1972 #88-4101 88-4109 88-4109 #183-8579 183-8592 183-8592
#199-9531 199-9545 199-9545 199-9546 199-9546 199-9547 199-9547 199-9552 199-9552
#228-10938 228-10966 228-10966
CONTI = ****** GX 80-3620 80-3673 *80-3678 84-3907 86-3998
CPUNUM = 000002 #4-198 #8-474
CR = 000015 #190-8901 199-9474 #223-10647 223-10672 226-10847
CS.EXP = 177670 #4-198 #8-474
CTLS = 000040 #8-438 73-3114 146-6391 173-7841 192-9076 192-9080
CXMDOL 001504 R #90-4177 91-4194
CXMIBM 001677 R #90-4183 91-4254
C.ACHE = 000000 #3-188 55-1951 68-2737 70-2864 70-2942 70-2958 70-3004 74-3125 88-4097
142-6263 164-7468 171-7726 175-8046 183-8591 187-8807 191-8968 191-8994 191-9025
192-9047 195-9258 199-9550 200-9601 229-11016
DACAB 000000 R #51-1778 *52-1817 52-1820 *52-1822 52-1824 *53-1855 53-1856
DACAD 000012 R #51-1780 52-1827 53-1862
DACBF 000015 R #51-1781 54-1901
DACBI 000005 R #51-1779 52-1823 53-1857
DATAI = 000001 #55-1958 55-1971 55-1971 #88-4102 88-4108 88-4108
DATAO = 000003 #51-1772 51-1779 51-1779 #199-9533 199-9548 199-9548
DBEFRC = ****** GX *171-7746 *172-7810
DCAPGM 000023 R #55-1969 56-2001
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 6
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
DCARCA 000040 R #55-1972
DCARFL 000101 R #55-1979 56-2023 56-2050 56-2052 56-2054 56-2056
DCASIA 000033 R #55-1971
DCAWRF 000064 R #55-1976 56-2006 56-2064
DCBADR 000134 R #58-2172 *62-2343 *62-2346 62-2351 64-2430 64-2438 65-2514 *65-2537 65-2547
65-2570
DCBCBF 000156 R #58-2176 63-2384 64-2444 64-2475 64-2482 64-2488
DCBCNT 000152 R #58-2174 *60-2251 62-2352 *64-2459 *65-2535 *66-2600 66-2601
DCBDAT 000136 R #58-2173 60-2252
DCBDBF 000172 R #58-2177 65-2521 65-2552 65-2558 65-2564
DCBFIX 000154 R #58-2175 *64-2427 64-2457 *64-2460 64-2466 *64-2498 *65-2511 65-2533 *65-2536
65-2542 *65-2574
DCBFNM 000114 R #58-2168 60-2239
DCFCFN 000210 R #68-2724 70-2876 70-2883
DCFLFN 000230 R #68-2729 70-2998
DCFRJT 000250 R #68-2734 68-2745 70-2898
DCOMST = 000001 #4-198 #8-474
DCSRCA 000273 R #88-4109 89-4131
DCSSIA 000266 R #88-4108 89-4128
DDCDAI 000300 R #92-4303 93-4327
DDCDAO 000314 R #92-4304 93-4343
DDCWAT 000334 R 92-4304 #92-4305
DDDDEL 000402 R #94-4391 98-4532
DDDFNA 000352 R #94-4390 98-4528
DDDRNA 000420 R #94-4392 98-4537
DDLACR 000506 R #103-4724 104-4755
DDLFNA 000456 R #103-4723 104-4751
DDLGLN 000450 R #103-4722 104-4747
DDLRAT 000564 R 103-4724 #103-4726
DDLRNA 000534 R #103-4725 104-4767
DDNACE 000660 R #105-4813 106-4847
DDNCRE 000604 R #105-4811 106-4839
DDNDEL 000706 R #105-4814 106-4861
DDNENA 000630 R #105-4812 106-4843
DDNGLN 000576 R #105-4810 106-4835
DDNRAT 000722 R 105-4813 #105-4815
DDPDAI 000734 R #107-4901 108-4918
DDPDAO 000764 R #107-4903 108-4923
DDPDEL 000750 R #107-4902 108-4922
DDPRNA 001000 R #107-4904 108-4928
DDXEXT 001030 R #121-5348 122-5361
DEP = 010000 #4-198 #8-474
DEX = 000400 #4-198 #8-474
DEXDON = 000004 #4-198 #8-474
DEXWD1 = 174406 #4-198 #8-474
DEXWD2 = 174404 #4-198 #8-474
DEXWD3 = 174402 #4-198 #8-474
DFCABF 001103 R #123-5416 126-5603 *126-5619 *126-5621
DFCBF 001074 R #123-5413 124-5440 124-5448 *124-5454 124-5455 124-5456 *124-5456 *124-5471 *124-5472
124-5474 *124-5479 *124-5480 *124-5481 *124-5482 *124-5483 124-5484 125-5513 125-5517
125-5518 *125-5537 *125-5538 125-5539 125-5563 125-5564 125-5568
DFCFL2 001101 R #123-5414 125-5541 *125-5545 *125-5566
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 7
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
DFCFL3 001102 R #123-5415 125-5559 *125-5561 *125-5565
DFCRFL 001054 R #123-5404 125-5511
DFCWFL 001064 R #123-5408 124-5473
DFDABF 001115 R #127-5658 130-5784 130-5785 130-5808
DFDDBF 001110 R #127-5657 *128-5711 128-5712 129-5738
DFEAD 001146 R 131-5852 131-5853 #131-5854 132-5893 133-5936 134-5952 134-5957
DFEBF 001152 R 131-5852 131-5853 #131-5856 132-5888 132-5893 133-5936 133-5939
DFEDPB 001122 R #131-5852 132-5894
DFEEXB 001134 R #131-5853 133-5935
DFRRDB 001160 R #135-6015 *136-6040 136-6041 136-6042
DFUNC = 000200 #4-198 #8-474
DFWBF 001216 R 137-6092 #137-6093
DFWEDB 001204 R #137-6092 139-6147
DFWWDB 001172 R #137-6091 *138-6119 138-6129 138-6130
DFXXDB 001224 R #140-6193 *141-6225 141-6226 141-6227
DF.DMG = 000004 #4-198 #8-474
DF.DMN = 000007 #4-198 #8-474
DF.DOR = 000001 #4-198 #8-474
DF.EHG = 000010 #4-198 #8-474
DF.EHM = 000011 #4-198 #8-474
DF.EMG = 000005 #4-198 #8-474
DF.EMN = 000006 #4-198 #8-474
DF.KLR = 000012 #4-198 #8-474 135-6015
DF.KLW = 000013 #4-198 #8-474 137-6091
DF.KLX = 000014 #4-198 #8-474 140-6193
DF.OFF = 000002 #4-198 #8-474
DF.ON = 000003 #4-198 #8-474
DF.PDP = 000016 #4-198 #8-474 131-5852
DF.PEX = 000015 #4-198 #8-474 131-5853 137-6092
DGCFNM 001236 R #142-6267 143-6290
DGMFNM 001256 R #145-6367 146-6399
DGPFNM 001276 R #148-6498 149-6518
DIAG1 = 174430 #4-198 #8-474
DIAG2 = 174432 #4-198 #8-474
DIAG3 = 174436 #4-198 #8-474
DIKL10 = 000010 #4-198 #8-474
DLYCNT = 174400 #4-198 #8-474
DM = 000002 #199-9534 200-9642
DMABM = ****** GX *85-3985
DMANXM = ****** GX 85-3971 91-4252
DMA2TS = ****** GX 85-3965 91-4192
DMA20 = ****** GX 83-3849 91-4190 173-7866
DMRBF 001434 R #154-6850 155-6888
DMRKW2 001446 R 154-6821 #154-6852
DMRMMR 001414 R 154-6839 #154-6841
DMRMOS 001441 R #154-6851 155-6915
DMRMRT 001322 R #154-6822 155-6880
DMRSRL = 000005 #154-6849 155-6927
DMRSRT 001422 R #154-6844 154-6849 155-6928
DNIBOO 002354 R #228-10947 229-11043 *229-11044 229-11045 *229-11046 229-11047
DNILPO 001474 R #156-7006 157-7052
DNISYF 001524 RG #156-7013 157-7061 231-11155
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 8
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
DNISYI 001504 RG #156-7009 157-7057 231-11153
DNISYO 001514 RG #156-7011 157-7059 231-11154
DNITTI 001454 R #156-7001 157-7047
DNITTO 001464 R #156-7003 157-7049
DON10C = 040000 #4-198 #8-474 155-6876
DON10S = 100000 #4-198 #8-474
DON11C = 000100 #4-198 #8-474 155-6876
DON11S = 000200 #4-198 #8-474
DPS4 = 040000 #4-198 #8-474
DQBFNM 001534 RG 62-2293 #160-7259 163-7386
DQSAPR 001670 R #175-8149 179-8408 179-8411 179-8414 179-8418
DQSCBF 001640 R #175-8145 181-8481 181-8503
DQSCF3 001654 R #175-8147 181-8485
DQSCSW 001620 R #175-8140 182-8527
DQSHWT 001676 R #175-8152 178-8366
DQSMKT 001626 R #175-8143 182-8538
DQSP0 001554 RG 174-7927 #175-8134
DQSP01 001604 RG 174-7941 #175-8138
DQSP1 001570 RG 174-7930 #175-8136
DRESET = 000100 #4-198 #8-474 155-6873
DRSCEN 001714 R #183-8592 187-8813
DRSDBL 001712 RG #183-8590 *184-8638 *185-8668 185-8684 *186-8756 186-8772
DRSFCR 001736 R #183-8597 186-8758
DRSPEN 001726 R #183-8595 187-8820
DRSPFR 001733 R #183-8596 184-8640
DRSPLD 001721 R #183-8594 187-8817
DRSSCR 001741 R #183-8598 185-8670
DRTBF 002110 R #190-8924 199-9450 199-9461
DRTBUF 002000 R 190-8919 #190-8922 199-9433 199-9439 199-9476
DRTDTE 024134 R 196-9359 196-9363 196-9367 #196-9371
DRTSTA 001774 R 190-8919 #190-8920
DRTWLB 001752 R #190-8918 *199-9477 *199-9480 199-9481 *199-9484 199-9485
DRTX71 001744 R #190-8914 195-9237
DR.DTE = 000011 #4-198 #8-474 131-5852 131-5853 135-6015 137-6091 137-6092 140-6193
DSEND = 000004 #4-198 #8-474
DSTBF 002166 R #199-9561 200-9637
DSTCEN 002142 R #199-9551
DSTRT 002116 R #199-9544 199-9549 200-9595
DSTRTL = 000004 #199-9549 200-9594
DST1B0 002147 R #199-9554 200-9617
DST1B1 002154 R #199-9556 200-9631
DST3B1 002161 R #199-9558 200-9621
DS04 = 004000 #4-198 #8-474 185-8679 186-8767
DS05 = 002000 #4-198 #8-474 234-11281
DS06 = 001000 #4-198 #8-474 134-5974 185-8682 186-8770 234-11275 235-11312 237-11374
DTECMD = 000451 #4-198 #8-474
DTEFLG = 000444 #4-198 #8-474
DTEF11 = 000450 #4-198 #8-474
DTEMTD = 000455 #4-198 #8-474
DTEMTI = 000456 #4-198 #8-474
DTLST 002322 R #223-10660 224-10754
DTNRB 002236 R #211-10151 216-10310
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 9
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
DTNXP 002230 R #211-10150
DTTRLB 002244 R #223-10657 224-10704
DTTSTA 002336 R 223-10657 223-10658 #223-10661 224-10705 224-10706 228-10899
DTTWLB 002264 R #223-10658 224-10695 224-10696 *224-10698 *224-10699 224-10700 *224-10714 *224-10715 224-10716
*224-10747 *224-10748 *226-10851 *226-10852 *227-10867 *227-10868 227-10869 227-10876 227-10877
*228-10898 *228-10899 *228-10903 228-10904 *228-10905
DUPE = 000020 #4-198 #8-474
DURE = 000004 #4-198 #8-474
DXBADR 002404 R #228-10961 229-11030
DXBCNM 002416 R #228-10965 229-11033
DXBDAT 002410 R #228-10963 229-11029
DXBFNM 002364 R #228-10956 229-11019
DXBLOC 002400 R #228-10960 *229-11051 *229-11053 *231-11151 *231-11152
DXCAD 002424 R #232-11191 234-11254 234-11259
DXCBF 002431 R #232-11193 238-11419
DXCBRC 002436 R #232-11195 239-11472
DXWRD1 = 002000 #4-198 #8-474
D$$H11 = 000010 #1-44
D1011 = 000040 #4-198 #8-474
EBSEL = 000100 #4-198 #8-474
EBUSPC = 000020 #4-198 #8-474
EBUSPS = 000004 #4-198 #8-474
EDONES = 040000 #4-198 #8-474
ED.PHY = 000200 #8-430 131-5852 131-5853 137-6092
EF.CRI = ****** GX 157-7094
EF.PR1 = ****** GX 157-7086
EPTR = 000000 #4-198 #8-474
ERRORX 020300 R 172-7786 172-7826 #172-7834
ERR10C = 010000 #4-198 #8-474 155-6876
ERR10S = 020000 #4-198 #8-474
ERR11C = 000001 #4-198 #8-474 155-6876
ERR11S = 000002 #4-198 #8-474
E.FFIL = 000006 #8-429
FITMEM = ****** GX 172-7819 172-7819
FM = 000010 #199-9535 200-9642
FMRECN = ****** GX *172-7771 *172-7790
FORPRO = 000020 #4-198 #8-474
FS = 000001 #199-9536
FTKLI = 000001 #3-192
F.TRCK = 000001 #3-190 124-5434 125-5503 126-5600 128-5676 129-5729 130-5783 132-5893 133-5936
136-6042 138-6130 141-6226 155-6869 155-6926 156-7005 157-7051 190-8917 191-8982
198-9414 223-10663 224-10683 224-10694 224-10701 224-10711 224-10717 224-10725 227-10870
228-10885 233-11221 234-11253 235-11306 237-11359
GAPCNT = ****** GX 172-7821
GAPTAB = ****** GX 172-7823
G.LUBA = 000004 #103-4722 #105-4810
G.LULU = 000002 #103-4722 #105-4810
G.LUNA = 000000 103-4722 105-4810
HDTAB 002200 R #207-9945 209-10064
HIBYTE = 177400 #4-198 #8-474
HLTNOE 022252 R 176-8275 176-8275 178-8327 178-8327 #180-8452
HRR = 000540 #55-1959 55-1974 55-1974
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 10
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
H.KCAC = ****** GX 179-8424
H.KEXT = ****** GX 179-8440
H.KMOS = ****** GX 179-8434
H.KPWR = ****** GX 178-8357 178-8368
H.KUDF = ****** GX 179-8429
IE.DFU = ****** GX 101-4641
IE.EBX = ****** GX 139-6149
IE.EOF = ****** GX 120-5303 224-10708
IE.NSF = ****** GX 60-2258 70-2879 101-4637 104-4764 104-4768 143-6293 146-6402 149-6521 151-6635
163-7389 229-11041
IE.UPN = ****** GX 188-8839
IFLOP = 100000 #4-198 #8-474
INIDMA = ****** GX 85-3956
INTMOD = ****** GX *84-3925
INTROF = 000010 #4-198 #8-474
INTRON = 000040 #4-198 #8-474
INTSON = 000001 #4-198 #8-474
INT10S = 000400 #4-198 #8-474
INT11C = 002000 #4-198 #8-474 155-6876
INT11S = 004000 #4-198 #8-474
IO.ACE = ****** GX 105-4813
IO.ACR = ****** GX 103-4724
IO.ATT = ****** GX 223-10659
IO.CRE = ****** GX 105-4811
IO.DAC = ****** GX 92-4303 92-4304 107-4901 107-4903
IO.DEL = ****** GX 94-4391 105-4814 107-4902
IO.DET = ****** GX 223-10660
IO.ENA = ****** GX 105-4812
IO.EXT = ****** GX 121-5348
IO.FNA = ****** GX 94-4390 103-4723 157-7070
IO.RLB = ****** GX 223-10657
IO.RNA = ****** GX 94-4392 103-4725 107-4904
IO.RVB = ****** GX 114-5106
IO.WLB = ****** GX 190-8919 223-10658
IO.WVB = ****** GX 120-5293
IS.CR = ****** GX 224-10722
IS.ESC = ****** GX 224-10720
I.10L = 000005 #6-324 199-9549 200-9599
JCOMM 002174 R #207-9943 *209-10056 209-10075
JRST = 000254 #55-1960 55-1977 55-1977
JUMPE = 000322 #55-1961 55-1973 55-1973
KEEPBB = ****** GX *171-7693
KLI$$E = 000000 #2-156 156-7023
KLI$$F = 000102 #3-185 58-2126 58-2126 77-3197 77-3197 79-3512 79-3512 82-3790 82-3790
90-4142 90-4142 144-6334 144-6334 150-6564 150-6564 156-6939 156-6939 156-7023
167-7552 167-7552 169-7634 169-7634 183-8546 183-8546 189-8856 189-8856 199-9491
199-9491
KLI$$K = 000126 #2-159 156-7023
KLI$$V = 000016 #2-155 156-7023
KLPWRF = 000010 #4-198 #8-474
KL.ABO = ****** GX 195-9228
KL.CFL = ****** GX 165-7505 171-7759
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 11
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
KL.CFM = ****** GX 171-7741
KL.DEF = ****** GX 175-8040
KL.KAC = ****** GX 157-7055 195-9234 237-11377
KL.LCA = ****** GX 165-7502
KL.LRM = ****** GX 175-8038 176-8235
KL.LVB = ****** GX 163-7393 172-7806 229-11013
KL.SPF = ****** GX 168-7613 171-7691 172-7805 175-8040
KL.VBD = ****** GX 172-7805 200-9615 200-9625
KL.VBN = ****** GX 172-7806 200-9613
KS.FCF = ****** GX 186-8781
LCARPT 000754 R 56-2089 #57-2098
LCBCRM 001630 R 62-2348 #64-2427
LCBDRM 002172 R 62-2345 #65-2511 65-2539
LCBFL 002636 R 60-2261 62-2361 64-2500 65-2576 #66-2633
LCBRC 001372 R 60-2255 #62-2341 64-2464 65-2540
LCBRME 002516 R 64-2473 64-2473 65-2549 65-2549 #66-2590
LCBVFY 002572 R 64-2478 64-2478 64-2481 64-2481 64-2491 64-2491 65-2554 65-2554 65-2557
65-2557 65-2567 65-2567 #66-2616
LCBVR 002674 R 62-2360 #67-2647
LCB3W 001216 R #61-2274 65-2512 65-2512
LCB6W 001224 R #61-2276 64-2439 64-2439
LCFCPY 003204 R 70-2896 #70-2909 70-2931 70-2939 70-2948 70-3026
LCFERR 003502 R 70-2880 70-2885 #70-3019
LCFNXT 003152 R #70-2891 70-2919 70-2956
LCFPRG 003476 R 70-2893 70-2913 70-2916 70-2921 70-2923 70-2955 70-2966 70-2975 70-2980
70-2985 70-2990 70-2993 70-2995 #70-3017
LCFRBF 003256 R 68-2742 #70-2929
LCFRCA 003276 R 68-2738 #70-2946
LCFREF 003314 R 68-2735 70-2887 #70-2962
LCFRMC 003516 R 68-2743 #70-3024
LCFRMM 003176 R 68-2736 #70-2903
LCFRPA 003266 R 68-2744 #70-2937
LCFRTN 003474 R 70-2859 70-2873 #70-3012
LCFSKP 003304 R 70-2905 70-2932 70-2940 #70-2953 70-3027
LCFWBF 003526 R 70-2979 70-2979 #71-3039
LCFWCA 003772 R 70-2965 70-2965 #74-3127
LCFWEF 003642 R 70-2992 70-2992 #72-3074
LCFWMC 004060 R 70-2984 70-2984 #75-3157
LCFWMM 003664 R 70-2974 70-2974 #73-3090
LCFWPA 004142 R 70-2989 70-2989 #76-3183
LDAR = 000077 #11-563
LDEIDV 007536 R 101-4663 101-4663 #102-4680
LDRER 010460 R 110-4989 112-5045 113-5071 #113-5083
LDWER 010722 R 116-5176 117-5202 #117-5213 118-5239 119-5266
LF = 000012 #190-8902 199-9475 #223-10648 223-10672 226-10848
LFCSAB 012274 R 126-5604 126-5604 126-5612 126-5612 #126-5618
LFDWFN 012460 R 128-5696 128-5706 128-5706 #128-5711
LFECKN 013354 R 132-5886 132-5886 133-5933 133-5933 #134-5964
LFEMVA 013330 R 132-5885 132-5885 133-5932 133-5932 #134-5952
LFWCKF 013676 R 138-6116 138-6116 #139-6143
LMRDFN 015430 R 155-6885 155-6885 155-6898 155-6898 #155-6904
LOAD11 = 000004 #4-198 #8-474
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 12
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
LOGLUN = 000006 #8-437
LPOLUN = 000003 #8-433 156-7007 190-8919 199-9480 223-10659 223-10660 228-10903
LQBRBF 016656 RG 161-7303 161-7303 #163-7384 176-8274 176-8274
LQCCM 017244 R 165-7494 #166-7512 166-7546
LQMRFN 001246 R 60-2236 60-2236 #62-2292
LQRBPS 021130 R 175-8052 175-8052 #175-8070 175-8073
LQSBPS 021516 R 176-8261 176-8261 #177-8308 177-8312
LQSCHE 022036 R 176-8279 176-8279 178-8330 178-8332 #178-8394
LQSCHO 022012 R 176-8283 176-8283 178-8336 #178-8385
LQSCSW 022420 R 176-8237 176-8237 176-8276 176-8276 #182-8524
LQSHDW 022056 R 176-8277 176-8277 178-8331 178-8331 #179-8407
LQSHWE 021542 R 176-8242 176-8242 #178-8327
LQSHWO 022276 RG 174-7946 174-7946 179-8409 179-8409 #181-8477
LRSTKL 023316 R 184-8639 184-8639 185-8669 185-8669 186-8757 186-8757 #187-8806
LTNCHR 026420 R 214-10258 214-10258 215-10285 215-10285 215-10292 215-10292 #216-10348
LTNMV 026360 R 214-10252 214-10252 215-10280 215-10280 #216-10309
LTNROL 026404 R 214-10256 214-10256 215-10283 215-10283 215-10290 215-10290 #216-10328 216-10332
LTTDIR 027710 R 226-10853 #227-10869
LXBRC 030260 R 229-11035 #230-11078 231-11145
LXB5B 030236 R #229-11063 231-11135 231-11135
L$$P20 = 000002 #1-38
MABRD = ****** GX *84-3929
MAJVER 000106 R #58-2165 *63-2411 67-2658
MA20 = ****** GX 78-3275 83-3841 173-7869
MBINI = ****** GX 171-7690 171-7690
MB20 = ****** GX 78-3277 83-3843 173-7871
MF20 = ****** GX 78-3260 83-3855 172-7798
MPE11 = 001000 #4-198 #8-474
MXTYP = 000005 #68-2719 68-2745 70-2895
M.KTAE = 000010 #175-8144
M.KTEF = 000002 #175-8144
M.KTMG = 000004 #175-8144
M.KTUN = 000006 #175-8144
NULSTP = 000040 #4-198 #8-474
NUPE = 000002 #4-198 #8-474
PAG = 000010 #51-1773 51-1779 51-1779 #55-1962 55-1972 55-1972 #88-4103 88-4109 88-4109
#183-8580 183-8592 183-8592 #199-9537 199-9547 199-9547 199-9548 199-9548 199-9552
199-9552
PAGE = 001000 #228-10939 228-10940
PCERRM 003225 R #157-7132 158-7191
PERCLR = 001000 #4-198 #8-474 155-6876
PGBTS = 000777 #228-10940 230-11092 231-11118 231-11122
PHYS = 100000 #4-198 #8-474
PI = 000004 11-566 11-570 #199-9538 199-9546 199-9546
PIDENT = 000000 #4-198 #8-474
PRI7 = 000340 #4-198 #8-474
PROPNT = 000021 #4-198 #8-474
PRTOFF = 004000 #4-198 #8-474
PR0 = 000000 #4-198 #8-474
PR1 = 000040 #4-198 #8-474
PR2 = 000100 #4-198 #8-474
PR3 = 000140 #4-198 #8-474
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 13
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
PR4 = 000200 #4-198 #8-474
PR5 = 000240 #4-198 #8-474
PR6 = 000300 #4-198 #8-474
PR7 = 000340 #4-198 #8-474
PS = 177776 #4-198 #8-474
PSWW1 = 000005 #4-198 #8-474
PSWW10 = 000014 #4-198 #8-474
PSWW11 = 000015 #4-198 #8-474
PSWW12 = 000016 #4-198 #8-474
PSWW13 = 000017 #4-198 #8-474
PSWW2 = 000006 #4-198 #8-474
PSWW3 = 000007 #4-198 #8-474
PSWW4 = 000010 #4-198 #8-474
PSWW5 = 000011 #4-198 #8-474
PSWW6 = 000012 #4-198 #8-474
PSWW7 = 000013 #4-198 #8-474
PULSE = 000020 #4-198 #8-474
QSIZE = 000023 #4-198 #8-474
Q.IOAE = 000012 #92-4303 #92-4304 #94-4390 #94-4391 #94-4392 #103-4723 #103-4724 #103-4725 #105-4811
#105-4812 #105-4813 #105-4814 #107-4901 #107-4902 #107-4903 #107-4904 #121-5348 #190-8919
#223-10657 #223-10658 #223-10659 #223-10660
Q.IOEF = 000006 #92-4303 #92-4304 #94-4390 #94-4391 #94-4392 #103-4723 #103-4724 #103-4725 #105-4811
#105-4812 #105-4813 #105-4814 #107-4901 #107-4902 #107-4903 #107-4904 #121-5348 #190-8919
#223-10657 #223-10658 #223-10659 #223-10660
Q.IOFN = 000002 #92-4303 #92-4304 #94-4390 #94-4391 #94-4392 #103-4723 #103-4724 #103-4725 #105-4811
#105-4812 #105-4813 #105-4814 #107-4901 #107-4902 #107-4903 #107-4904 #121-5348 #190-8919
#223-10657 #223-10658 #223-10659 #223-10660
Q.IOLU = 000004 #92-4303 #92-4304 #94-4390 #94-4391 #94-4392 #103-4723 #103-4724 #103-4725 #105-4811
#105-4812 #105-4813 #105-4814 #107-4901 #107-4902 #107-4903 #107-4904 #121-5348 #190-8919
*199-9480 *199-9484 #223-10657 #223-10658 #223-10659 #223-10660 *228-10903 *228-10905
Q.IOPL = 000014 #92-4303 #92-4304 #94-4390 #94-4391 #94-4392 #103-4723 #103-4724 #103-4725 #105-4811
#105-4812 #105-4813 #105-4814 #107-4901 #107-4902 #107-4903 #107-4904 #121-5348 #190-8919
*199-9477 #223-10657 #223-10658 #223-10659 #223-10660 224-10695 224-10696 *224-10698 *224-10699
*224-10714 *224-10715 *224-10747 *224-10748 *226-10851 *226-10852 *227-10867 *227-10868 227-10876
227-10877 *228-10898 *228-10899
Q.IOPR = 000007 #92-4303 #92-4304 #94-4390 #94-4391 #94-4392 #103-4723 #103-4724 #103-4725 #105-4811
#105-4812 #105-4813 #105-4814 #107-4901 #107-4902 #107-4903 #107-4904 #121-5348 #190-8919
#223-10657 #223-10658 #223-10659 #223-10660
Q.IOSB = 000010 #92-4303 #92-4304 #94-4390 #94-4391 #94-4392 #103-4723 #103-4724 #103-4725 #105-4811
#105-4812 #105-4813 #105-4814 #107-4901 #107-4902 #107-4903 #107-4904 #121-5348 #190-8919
#223-10657 #223-10658 #223-10659 #223-10660
RAMIS0 = 010000 #4-198 #8-474
RDATIM 014706 RG #151-6625
RDDONE = ****** GX *84-3930
RDMCV 001502 R 62-2349 62-2349 #63-2383
REDOSY 030564 R 229-11037 229-11037 230-11110 230-11110 231-11147 231-11147 #231-11150
REPCON = ****** GX 172-7773 172-7773
REPFIT = ****** GX 172-7820 172-7820
RESDET = ****** GX 172-7772 172-7772 172-7793 172-7793 172-7811 172-7811 172-7818 172-7818
RFMAD0 = 100000 #4-198 #8-474
RFMAD1 = 040000 #4-198 #8-474
RFMAD2 = 020000 #4-198 #8-474
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 14
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
RFMAD3 = 010000 #4-198 #8-474
RM = 000010 #4-198 #8-474
RTFERR 015126 R 151-6666 151-6680 #152-6731 152-6768
RTFERX 015136 R 151-6673 151-6719 #152-6736
RTFXIT 015142 R 151-6638 151-6693 151-6700 151-6706 151-6715 #152-6738
R$$11D = 000001 #1-47
SAVLEN 002352 R #223-10665 *224-10696 224-10748
SAVMSG 002350 R #223-10664 *224-10695 224-10747
SCD = 000040 #4-198 #8-474
SECLK = 000003 #11-556
SETIMF 000264 R #79-3547 *80-3593 *80-3601 80-3640 80-3676
SETMMF 000265 R #79-3549 *81-3693 *81-3700 81-3741 81-3771
SETMR = 000007 #11-559
SETRUN = 000011 #11-561
SETZ = 000400 #55-1963 55-1975 55-1975
SPC = 000040 #190-8903 199-9438
SSCLK = 000002 #11-555
STAT = 174434 #4-198 #8-474
STATUS = 000022 #4-198 #8-474
STPCLK = 000000 #11-553
STPKL 031216 R 236-11335 236-11335 #237-11358
STRCLK = 000001 #11-554
SUBVER 000110 R #58-2166 *63-2407 67-2665
SWITCH 002176 R #207-9944 *209-10057 209-10089 *209-10091
SWR = 177570 #4-198 #8-474
SWSLLT = 100000 #4-198 #8-474
SYFLUN = 000006 #8-436 94-4390 94-4391 94-4392 103-4723 103-4725 105-4811 105-4812 107-4904
156-7014
SYILUN = 000004 #8-434 92-4303 103-4722 103-4724 107-4901 114-5106 156-7010 157-7070 228-10948
SYOLUN = 000005 #8-435 92-4304 105-4810 105-4813 105-4814 107-4902 107-4903 120-5293 121-5348
156-7012
S.YIL = 001000 G 114-5106 #194-9160 194-9166 194-9174 194-9182
S.YOL = 001000 G 106-4855 117-5204 120-5293 120-5300 #194-9176 194-9190
TAB = 000011 #190-8904 199-9435
TCAACD 000077 R #55-1985 57-2098
TCAACE 000026 R #55-1983 57-2101
TCACEF 000000 R #55-1982 56-2090
TCASCE 000051 R #55-1984 57-2104
TCBBAD 000424 R #58-2192 64-2476 65-2553
TCBDCW 000117 R #58-2185 64-2472
TCBDDW 000151 R #58-2186 65-2548
TCBFXF 000265 R #58-2189 64-2468 65-2544
TCBGOD 000432 R #58-2193 64-2480 65-2556
TCBMLF 000203 R #58-2187 66-2634
TCBMRE 000446 R #58-2195 60-2238
TCBMVF 000233 R #58-2188 66-2637
TCBMVL 000314 R #58-2190 67-2649
TCBMVV 000357 R #58-2191 67-2651
TCBXOR 000440 R #58-2194 64-2489 65-2565
TCFCFA 000536 R #68-2749 70-3001
TCFCFE 000571 R #68-2751 70-3020
TDEDFU 002154 R #100-4612 101-4639
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 15
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
TDEDR 001722 R #100-4609 101-4630
TDEIO 002014 R #100-4610 101-4643
TDENSF 002100 R #100-4611 101-4635
TDRRDE 002201 R #109-4967 114-5115
TDRRLE 002216 R #109-4969 113-5084
TDWRLE 002270 R #115-5157 117-5214
TDWWRE 002252 R #115-5155 120-5309
TENAD1 = 174410 #4-198 #8-474
TENAD2 = 174412 #4-198 #8-474
TFEDFL 002325 R #131-5859 132-5896
TFEEFL 002346 R #131-5860 133-5944
TFREMS 002367 R #135-6018 136-6053
TFWEMS 002410 R #137-6096 138-6132
TFXEMS 002432 R #140-6196 141-6230
TGCNFL 002456 R #142-6272 143-6295
TGMNFL 002525 R #145-6373 146-6404
TGPNFL 002575 R #148-6504 149-6523
TGTCKE 002607 R #150-6597 151-6718
TGTIFF 002677 R #150-6601 151-6672
TGTNFL 002651 R #150-6599 151-6637
TGTRFE 002741 R #150-6603 152-6732
TMFLNM = ****** GX 151-6627
TMPLOG 002342 R #223-10662
TMRMFL 002777 R #154-6855 155-6900
TNINDV 003025 R #156-7016 157-7064
TNIN55 003052 R #156-7018 157-7075
TNIPRI 003110 R #156-7020 157-7090
TNIVER 003174 R #156-7022 157-7097
TOBM = 000004 #4-198 #8-474
TOIP = 000002 #4-198 #8-474
TOIT = 000001 #4-198 #8-474
TO10 = 000200 #4-198 #8-474
TO10AD = 174420 #4-198 #8-474
TO10BC = 174414 #4-198 #8-474
TO10BM = 000001 #4-198 #8-474
TO10DB = 000400 #4-198 #8-474
TO10DN = 100000 #4-198 #8-474
TO10DT = 174424 #4-198 #8-474
TO10ER = 020000 #4-198 #8-474
TO11 = 000100 #4-198 #8-474
TO11AD = 174422 #4-198 #8-474
TO11BC = 174416 #4-198 #8-474
TO11BM = 020000 #4-198 #8-474
TO11DB = 004000 #4-198 #8-474
TO11DN = 000200 #4-198 #8-474
TO11DT = 174426 #4-198 #8-474
TO11ER = 000002 #4-198 #8-474
TQBNFL 003363 R #160-7256 163-7396
TQBOOT 003246 R #160-7252 161-7287
TQBWCF 003320 R #160-7254 162-7352
TQCACH 003421 R #164-7472 165-7484
TQCCEN 003466 R #164-7473 166-7512
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 16
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
TQEXIT 003532 R #167-7581 168-7592
TQMCF0 003556 R #170-7675 171-7699
TQMCF1 003635 R #170-7677 171-7702
TQMNM0 003722 R #170-7679 172-7825
TQMPCA 003757 R #170-7681 172-7807
TQRLMC 004172 R #174-8004 175-8015
TQSABO 004712 R #175-8186 176-8294
TQSCAC 004564 R 175-8157 #175-8180
TQSCDH 004603 R #175-8182 178-8395
TQSCHN 004531 R 175-8156 #175-8178
TQSDLG 004240 R #175-8162 176-8204
TQSEXT 004474 R 175-8155 #175-8176
TQSHRZ 004337 R #175-8168 178-8362
TQSHWP 004347 R #175-8170 178-8364
TQSKSN 004301 R #175-8164 178-8338
TQSMCA 004402 R 175-8153 #175-8172
TQSMDL 004324 R #175-8166 178-8342
TQSMMA 004745 R #175-8188 178-8390
TQSMMO 004435 R 175-8154 #175-8174
TQSPT 004064 R #174-7892 174-7905
TQSWRN 004657 R #175-8184 176-8246 176-8286
TROCT 026060 R 208-9997 208-9997 208-10000 208-10000 208-10013 208-10013 208-10014 208-10014 209-10069
209-10069 209-10084 209-10084 #210-10110
TRSCEF 005323 R #183-8608 186-8766
TRSCES 005057 R #183-8602 185-8678
TRSDER 005211 R #183-8605 185-8664 185-8675 185-8686
TRSFCF 005267 R #183-8607 186-8739
TRSFCS 005515 R #183-8611 186-8793
TRSFHL 005400 R #183-8609 186-8769
TRSHLT 005124 R #183-8603 185-8681
TRSPRF 005023 R #183-8601 184-8634
TRSRSM 005252 R #183-8606 185-8698
TRSSEF 005444 R #183-8610 186-8763 186-8774
TRSTMO 005155 R #183-8604 185-8691
TRTBTF 005635 R #190-8933 195-9313
TRTEND 005742 R #190-8937 195-9331
TRTFME 005665 R #190-8935 195-9326
TRTMMF 005577 R #190-8931 195-9286
TSTBSM 005744 R #199-9566 200-9657
TTA 002210 R 207-9948 #207-9949
TTB 002214 R 207-9947 #207-9950
TTBEL 006005 R #223-10671 225-10774
TTILUN = 000001 #8-431 156-7002 223-10657
TTJ 002224 R 207-9945 #207-9952
TTOLUN = 000002 #8-432 156-7004 199-9484 223-10658 228-10905
TTP 002220 R 207-9946 #207-9951
TTSLS 006004 R #223-10670
TTSPC 006002 R #223-10668 225-10769
TTTAB 006003 R #223-10669 225-10786
TTTNLN 006006 R #223-10672 224-10714 225-10791
TTTPR 000200 R #58-2182 66-2617
TTTPRE 006014 R #223-10674 226-10843
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 17
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
TTTPRP 006010 R #223-10673 224-10698
TXBIMM 006024 R #228-10969 230-11109
TXBOTH 004165 R #174-7895 174-7954
TXCHLE 006070 R #232-11199 237-11398
TXCSFL 006120 R #232-11201 234-11287
TXPTS 004127 R #174-7894 174-7950
TYPNUM = ****** GX 78-3346 78-3362 80-3609 80-3611 *80-3642 81-3711 *81-3748 84-3884 84-3886
84-3895 84-3902 85-3954 85-3959 86-4006 86-4011 173-7844
T.TIL = 000040 G #193-9122 193-9124 223-10657
T.TOL = 000115 G #193-9125 193-9127
UEDIT 000112 R #58-2167 *63-2403 67-2668
UNASG1 = 000032 #4-198 #8-474
UNASG2 = 000033 #4-198 #8-474
UNASG3 = 000034 #4-198 #8-474
UNASG4 = 000035 #4-198 #8-474
UNASG5 = 000036 #4-198 #8-474
UNASG6 = 000037 #4-198 #8-474
WAIT1S 023414 R 184-8636 184-8636 185-8666 185-8666 185-8688 185-8688 186-8754 186-8754 186-8776
186-8776 #188-8836 188-8842
WEP = 000010 #4-198 #8-474
W.10L = 000005 #6-325
XCONMP = ****** GX 172-7802
XCT = 000256 #190-8906 190-8915 190-8915
XCT71 023540 RG #195-9236
ZSTOP = 040000 #4-198 #8-474
$ACRAM 012166 RG 62-2354 62-2354 124-5436 124-5436 125-5504 125-5504 #126-5599
$ADRAM 012704 RG 128-5681 128-5681 129-5733 129-5733 #130-5782
$APRID = 000000 #11-567
$ASCIZ 024224 RG #198-9407 198-9409 226-10844 226-10844 226-10846 226-10846
$BURST 031576 RG 54-1898 54-1898 237-11370 237-11370 238-11452 #239-11467
$CD11 = 000001 #1-39
$CFGBT 023700 RG 162-7379 176-8288 #195-9292
$CFGCA 023624 RG 165-7508 166-7542 166-7544 #195-9265
$CFGMM 020044 RG 171-7764 #172-7782
$CFGRM 023612 RG 175-8064 #195-9255
$CFGXX 020216 RG 78-3269 78-3440 #172-7815
$CFIMD 004232 RG #78-3274 78-3502 173-7851
$CFMMD 004200 RG #78-3259 173-7857
$CFXMD 006544 RG #91-4189 173-7854
$CHKIM 005064 RG 78-3426 78-3426 #80-3600
$CHKMM 005310 RG 78-3431 78-3431 #81-3699
$CLLOG = ****** GX 62-2359 62-2359 66-2633 66-2633 227-10882 227-10882
$CLOSE 007056 RG 62-2306 62-2306 62-2358 62-2358 70-2994 70-2994 #93-4325 143-6313 143-6313
143-6326 146-6421 146-6421 146-6457 149-6542 149-6542 149-6552 151-6725 152-6737
152-6737 163-7408 163-7408 163-7433 230-11107 230-11107
$CONFG 005514 RG #83-3839 172-7816 172-7816
$DBDTE = 000001 #1-45
$DDFRD 013440 RG #136-6034
$DDFWR 013552 RG #138-6111
$DDFXC 013754 RG #141-6210
$DELET 007214 RG 70-2999 70-2999 #98-4527
$DFPC 016134 RG #158-7157
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 18
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
$DFRD 013444 RG 54-1903 54-1903 125-5514 125-5514 125-5569 125-5569 129-5740 129-5740 129-5748
129-5748 129-5761 129-5761 #136-6037 155-6890 155-6890 158-7172 158-7172 181-8501
181-8501 230-11103 230-11103 238-11422 238-11422 238-11427 238-11427 238-11432 238-11432
238-11447 238-11447
$DFWR 013556 RG 54-1918 54-1918 124-5475 124-5475 124-5486 126-5606 126-5606 126-5614 126-5614
128-5713 130-5810 130-5810 #138-6114 155-6917 155-6917 187-8819 187-8819 187-8822
187-8822 200-9640 200-9640 200-9644 200-9644 236-11341 239-11478 239-11478 239-11481
239-11481 239-11494 239-11494 239-11500 239-11500
$DFXC 013760 RG 54-1895 54-1895 54-1908 54-1908 54-1914 54-1914 54-1921 62-2357 62-2357
125-5507 125-5507 129-5736 129-5736 130-5813 134-5969 134-5969 139-6154 139-6154
#141-6213 155-6871 155-6871 155-6895 155-6895 155-6907 155-6907 155-6930 155-6930
180-8456 180-8456 181-8493 181-8493 181-8495 181-8495 182-8531 182-8531 182-8534
182-8534 187-8824 195-9241 195-9241 195-9244 195-9244 200-9647 200-9647 233-11225
233-11225 233-11228 233-11228 234-11263 234-11263 234-11266 234-11266 234-11271 234-11271
234-11284 237-11362 237-11362 237-11382 237-11382 237-11389 237-11389 237-11392 237-11392
238-11438 238-11438 239-11470 239-11470 239-11484 239-11484 239-11503
$DH11 = 000001 #1-43
$DLGBT 016334 RG #161-7280 162-7362 195-9280
$DLGBV 023654 RG 171-7750 #195-9279
$DLGCA 017066 RG #165-7478 166-7523 175-8047 195-9260
$DLGCT 020304 RG 172-7774 172-7814 #173-7840
$DLGCV 023620 RG 171-7730 #195-9259
$DLGEN 021154 RG 168-7610 174-7968 175-8036 #176-8195 195-9250 195-9317
$DLGEX 017422 RG 162-7376 #168-7587 195-9309
$DLGIM 020330 RG #173-7850 173-7870 173-7872
$DLGMB 020344 RG 78-3308 #173-7859 173-7873
$DLGMF 020340 RG 91-4264 #173-7856
$DLGMM 017542 RG 165-7504 #171-7687 173-7860 195-9275 195-9337
$DLGMV 023646 RG 161-7300 #195-9274
$DLGMX 023652 RG 172-7832 #195-9277
$DLGPA 020374 RG #174-7898 175-8034 176-8250
$DLGRM 020664 RG 165-7501 174-7963 #175-8009 176-8252 195-9283
$DLGRV 023660 RG 171-7733 #195-9282
$DLGXM 020334 RG 78-3279 78-3499 #173-7853 173-7867
$DLMB1 020350 RG 78-3311 #173-7865
$DLMB2 020356 RG 91-4215 #173-7868
$DLWCF 016530 RG 161-7323 #162-7347 168-7607
$DPOS 013074 RG 52-1832 52-1832 53-1864 53-1864 56-2074 56-2074 132-5879 132-5879 #132-5883
200-9634 200-9634 230-11096 230-11096 231-11127 231-11127 231-11139 231-11139
$DPOST 013056 RG #132-5875 186-8744 186-8744 186-8751 186-8751
$DSPPT 020024 RG 171-7756 #172-7770
$DSW = ****** GX 101-4632 106-4860 *106-4862 139-6149 188-8839
$DTA = ****** 228-10950 229-11048
$DTE = 000001 #1-46
$DTRWS 024116 RG 155-6878 155-6878 #196-9365
$DTRW1 024100 RG 134-5972 134-5972 185-8676 185-8676 186-8764 186-8764 #196-9357 234-11273 234-11273
235-11310 235-11310 237-11372 237-11372
$DTRW2 024106 RG 155-6874 155-6874 #196-9361
$DTRW3 024126 RG #196-9369
$ECHO 027770 RG 224-10712 224-10712 #228-10897
$ECHO1 030004 RG 224-10702 224-10702 224-10718 224-10718 224-10749 224-10749 227-10871 227-10871 #228-10900
$ENTER 007734 RG 70-2884 70-2884 #106-4834
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 19
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
$ERROR 023776 RG 84-3943 85-3978 86-4046 161-7330 172-7835 185-8695 195-9257 195-9269 195-9272
195-9287 195-9298 195-9302 #195-9315 195-9321 200-9663 224-10762
$EXAM 013224 RG 133-5918 133-5918 133-5923 133-5923 #133-5930
$EXAMD 013214 RG #133-5922
$EXAMT 013176 RG #133-5914
$EXBLD 030036 RG 195-9305 195-9305 #229-11010
$EXCT 030622 RG 89-4129 89-4129 89-4132 89-4132 187-8814 187-8814 195-9238 195-9238 200-9597
200-9597 200-9606 200-9606 229-11034 229-11034 #233-11219
$EXIT 024006 RG 157-7091 168-7620 176-8300 185-8699 195-9308 #195-9319
$EXIT1 024014 RG 186-8784 186-8794 195-9231 195-9247 #195-9322 200-9666
$EXTEN 011242 RG 120-5305 120-5305 #122-5361
$FATAL 024022 RG #195-9325
$FE = 000001 #1-41
$FILE 003036 RG #70-2856 184-8631 184-8631 185-8662 185-8662 195-9320 195-9320 200-9589 200-9589
$F11 = 000001 #1-42
$GETCA 014112 RG #143-6288 195-9268 195-9268 195-9297 195-9297
$GETMM 014312 RG #146-6389 172-7785 172-7785
$GETPA 014562 RG #149-6517 174-7935 174-7935
$GETTF 014706 RG #151-6624
$INIT 015564 RG #157-7031 195-9233 195-9233
$IOERR 007346 RG 60-2260 60-2260 93-4353 98-4543 #101-4628 104-4773 106-4863 122-5370 151-6641
229-11056
$KLMR 015232 RG 60-2254 60-2254 134-5966 134-5966 139-6151 #155-6868 179-8437 179-8437 181-8479
181-8479 187-8806 187-8806 237-11379 237-11379
$KLSR 015504 RG 126-5601 126-5601 130-5806 130-5806 #155-6925
$LDAR 031162 RG 54-1892 54-1892 182-8528 182-8528 233-11222 233-11222 234-11260 234-11260 #236-11333
$LDNGO 000000 RG #52-1815 56-2002 56-2002
$LGERR 000054 RG #191-9015 227-10880
$LGOPN 000056 RG #191-9017 227-10873
$LOG 000052 RG #191-9013
$LOOKU 007562 RG 60-2249 60-2249 62-2294 62-2294 70-2877 70-2877 #104-4746 143-6291 143-6291
146-6400 146-6400 149-6519 149-6519 151-6633 151-6633 163-7387 163-7387 229-11027
229-11027 229-11054 229-11054
$LP20 = 000001 #1-37
$MAPMM 006436 RG 86-4018 86-4018 #87-4051
$MBPHS 031430 RG 236-11337 236-11337 #238-11416
$MCBLD 001066 RG #60-2233 195-9256 195-9256
$OPLOG = ****** GX 64-2465 64-2465 65-2541 65-2541
$POWER 022524 RG 168-7623 #184-8631
$PURGE 010124 RG 62-2326 62-2326 66-2639 66-2639 70-3018 70-3018 #108-4916 143-6327 143-6327
146-6460 146-6460 149-6554 149-6554 163-7436 163-7436 195-9312 195-9312
$RCRAM 011564 RG 63-2387 63-2387 64-2445 64-2445 #125-5502 181-8483 181-8483
$RDERA = 000000 #11-569
$RDRAM 012474 RG 65-2522 65-2522 #129-5728
$READ 010474 RG 104-4763 111-5016 111-5016 112-5048 112-5048 113-5074 113-5074 #114-5100
$READB 010420 RG 62-2313 62-2313 70-2920 70-2920 #113-5069 143-6315 143-6315 143-6321 143-6321
146-6428 146-6428 146-6431 146-6431 152-6767 152-6767 163-7417 163-7417 163-7420
163-7420 229-11067 229-11067
$READC 010216 RG 62-2299 62-2299 62-2341 62-2341 70-2892 70-2892 #110-4987 143-6307 143-6307
146-6416 146-6416 146-6452 146-6452 149-6536 149-6536 151-6664 151-6664 163-7402
163-7402 230-11078 230-11078
$READS 010254 RG 62-2309 62-2309 70-2954 70-2954 #111-5012 111-5017 143-6305 143-6305 146-6413
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 20
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
146-6413 146-6449 146-6449 149-6533 149-6533 151-6679 151-6679 163-7412 163-7412
$READW 010324 RG 61-2278 61-2278 62-2320 62-2320 110-4992 110-4992 110-4996 #112-5037 146-6434
146-6434 149-6549 149-6549 163-7427 163-7427 230-11081 230-11081
$RP04 = 000001 #1-40
$RSAVE 024170 RG 52-1815 53-1852 54-1890 63-2383 66-2590 101-4628 124-5433 125-5502 128-5675
129-5728 130-5782 132-5884 133-5931 151-6626 155-6868 158-7158 #197-9389 199-9429
208-9990 209-10050 224-10693 226-10821 226-10838 233-11220 234-11252 236-11334 238-11417
239-11467
$RSTRT 022606 RG #185-8660
$RX11 = 000001 #1-62
$SBDIA = 000002 #11-565
$SETCA 000356 RG #56-2001 195-9271 195-9271 195-9301 195-9301
$SETFN 007304 RG 98-4527 98-4527 98-4536 98-4536 #99-4563 104-4746 104-4746 104-4766 104-4766
106-4834 106-4834 108-4926 108-4926
$SETIM 005056 RG #80-3592 84-3890 84-3890 84-3912 84-3912
$SETMM 005302 RG #81-3692 86-4026 86-4026
$START 023502 RG #195-9227 240-11509
$STRKL 030712 RG 52-1838 184-8641 184-8641 185-8671 185-8671 186-8759 186-8759 200-9654 200-9654
#234-11251
$SWEEP 006502 RG #89-4124 229-11017 229-11017
$TCRLF 027514 RG 66-2626 66-2626 78-3370 78-3370 174-7961 174-7961 178-8380 178-8380 195-9334
195-9334 #225-10789
$TDB2C 026452 RG 205-9833 #218-10406
$TDB2I 025250 RG 174-7959 174-7959 178-8341 178-8341 178-8361 178-8361 #205-9828
$TDB2O 026434 RG 78-3367 78-3367 #218-10401
$TDI2B 025366 RG #206-9877
$TENST 024510 RG #200-9588 230-11108
$TENS1 024516 RG 162-7375 162-7375 #200-9591
$TOP10 = ****** 1-53 3-176 3-180 168-7615 168-7625 191-9031
$TOP20 = 000001 #1-35 1-61 3-176 3-184
$TRACK 024236 RG 124-5434 125-5503 126-5600 128-5676 129-5729 130-5783 132-5893 133-5936 136-6042
138-6130 141-6226 155-6869 155-6926 #199-9428 233-11221 234-11253 235-11306 237-11359
$TRB2F 025030 RG 101-4656 101-4656 #202-9717
$TRB2I 025272 RG 205-9832 205-9832 #205-9836 206-9881 206-9881
$TRB2O 026464 RG 66-2597 66-2597 67-2659 67-2659 67-2666 67-2666 67-2669 67-2669 101-4648
101-4648 199-9444 199-9444 202-9735 202-9735 218-10405 218-10405 #218-10411
$TRB2R 026730 RG 202-9725 202-9725 202-9727 202-9727 202-9729 202-9729 202-9732 202-9732 #222-10575
$TRCRM 025476 RG 66-2625 66-2625 #208-9989
$TRDRM 025642 RG 66-2623 66-2623 #209-10049
$TRF2B 025132 RG 151-6631 151-6631 161-7316 161-7316 175-8058 175-8058 176-8267 176-8267 #203-9754
$TRI2B 025410 RG 78-3481 78-3481 91-4239 91-4239 166-7524 166-7524 174-7919 174-7919 #206-9885
$TRO2B 026546 RG 78-3409 78-3409 203-9777 203-9777 #219-10462
$TRR2B 026622 RG 203-9759 203-9759 203-9761 203-9761 203-9763 203-9763 203-9770 203-9770 #221-10532
$TTBEL 027474 RG #225-10772
$TTDMS 027552 RG 66-2618 66-2618 66-2620 66-2620 78-3365 78-3365 78-3369 78-3369 174-7951
174-7951 174-7955 174-7955 178-8339 178-8339 178-8343 178-8343 178-8363 178-8363
178-8375 178-8375 195-9327 195-9327 209-10065 209-10065 #226-10820
$TTDWR 027664 RG 214-10246 214-10246 215-10274 215-10274 218-10407 218-10407 226-10826 #226-10849
$TTMSG 027620 RG 56-2090 57-2118 60-2238 64-2469 64-2469 65-2545 65-2545 66-2599 66-2638
67-2674 70-3001 70-3020 78-3293 78-3293 78-3317 78-3446 78-3473 78-3505
80-3613 80-3658 81-3713 81-3760 84-3936 85-3974 86-4000 86-4038 91-4194
91-4200 91-4211 91-4229 91-4254 91-4258 101-4664 113-5084 114-5115 117-5214
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 21
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
120-5309 132-5896 133-5944 136-6053 138-6132 141-6230 143-6295 146-6404 149-6523
151-6637 151-6672 151-6718 152-6732 155-6900 157-7064 157-7075 157-7090 157-7097
158-7191 161-7287 161-7326 162-7352 162-7363 163-7396 165-7484 165-7499 166-7512
166-7545 168-7592 168-7603 171-7704 171-7704 171-7723 172-7807 172-7825 174-7905
174-7965 175-8015 175-8030 176-8204 176-8221 176-8246 176-8286 176-8294 178-8364
178-8390 178-8395 185-8693 185-8698 186-8786 186-8793 195-9286 195-9313 200-9657
#226-10837 230-11109 234-11287 237-11398
$TTRD 027114 RG 78-3294 78-3294 78-3371 78-3371 78-3474 78-3474 91-4201 91-4201 91-4230
91-4230 161-7288 161-7288 162-7353 162-7353 165-7485 165-7485 166-7513 166-7513
168-7593 168-7593 171-7705 171-7705 174-7906 174-7906 175-8016 175-8016 176-8205
176-8205 206-9880 206-9880 #224-10693
$TTSPC 027464 RG 178-8355 178-8355 #225-10767
$TTTAB 027504 RG #225-10784
$TTWR 027700 RG 178-8351 178-8351 178-8353 178-8353 195-9330 195-9330 195-9333 195-9333 208-10005
208-10005 208-10017 208-10017 209-10072 209-10072 209-10088 209-10088 225-10799 225-10799
#227-10867
$T1091 = ****** 1-49
$WCRAM 011304 RG 64-2434 64-2434 64-2455 64-2455 64-2496 64-2496 #124-5433 181-8490 181-8490
181-8505
$WDD22 026110 RG #214-10241
$WDD36 026222 RG #215-10269
$WDRAM 012314 RG 65-2518 65-2518 65-2572 65-2572 #128-5675
$WRD22 026140 RG 199-9457 199-9457 214-10245 214-10245 #214-10250
$WRD36 026252 RG 199-9472 199-9472 215-10273 215-10273 #215-10278
$WRITB 011032 RG 70-2922 70-2922 71-3051 71-3051 71-3054 71-3054 73-3102 73-3102 73-3105
73-3105 74-3137 74-3137 74-3144 74-3144 75-3165 75-3165 117-5208 117-5208
#119-5264
$WRITC 010624 RG 70-2912 70-2912 71-3045 71-3045 72-3076 72-3076 73-3096 73-3096 74-3131
74-3131 75-3159 75-3159 76-3185 76-3185 #116-5174
$WRITE 011072 RG 118-5242 118-5242 119-5269 119-5269 #120-5292 120-5306
$WRITS 010666 RG 93-4341 93-4341 #117-5200
$WRITW 010736 RG 70-2915 70-2915 71-3048 71-3048 71-3062 71-3062 72-3079 73-3099 73-3099
73-3110 73-3110 74-3134 74-3134 75-3162 75-3162 75-3171 75-3171 76-3188
76-3188 76-3191 76-3191 116-5182 116-5182 #118-5231
$WRMRS 023006 RG 185-8661 185-8661 #186-8732 195-9304 195-9304
$WTKL 031102 RG 233-11231 #235-11305 237-11365 237-11365 237-11385 237-11385
$XCDT 000206 RG 52-1825 52-1825 53-1858 53-1858 #54-1890
$ZERAC 000112 RG #53-1852 184-8633 184-8633 200-9592 200-9592
$$ = 000037 #52-1825 52-1825 #52-1832 52-1832 #53-1858 53-1858 #53-1864 53-1864 #54-1892
54-1892 #54-1895 54-1895 #54-1898 54-1898 #54-1903 54-1903 #54-1908 54-1908
#54-1914 54-1914 #54-1918 54-1918 #56-2002 56-2002 #56-2074 56-2074 #60-2236
60-2236 #60-2249 60-2249 #60-2254 60-2254 #60-2260 60-2260 #61-2278 61-2278
#62-2294 62-2294 #62-2299 62-2299 #62-2306 62-2306 #62-2309 62-2309 #62-2313
62-2313 #62-2320 62-2320 #62-2326 62-2326 #62-2341 62-2341 #62-2349 62-2349
#62-2354 62-2354 #62-2357 62-2357 #62-2358 62-2358 #62-2359 62-2359 #63-2387
63-2387 #64-2434 64-2434 #64-2439 64-2439 #64-2445 64-2445 #64-2455 64-2455
#64-2465 64-2465 #64-2469 64-2469 #64-2473 64-2473 #64-2478 64-2478 #64-2481
64-2481 #64-2491 64-2491 #64-2496 64-2496 #65-2512 65-2512 #65-2518 65-2518
#65-2522 65-2522 #65-2541 65-2541 #65-2545 65-2545 #65-2549 65-2549 #65-2554
65-2554 #65-2557 65-2557 #65-2567 65-2567 #65-2572 65-2572 #66-2597 66-2597
#66-2618 66-2618 #66-2620 66-2620 #66-2623 66-2623 #66-2625 66-2625 #66-2626
66-2626 #66-2633 66-2633 #66-2639 66-2639 #67-2659 67-2659 #67-2666 67-2666
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 22
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
#67-2669 67-2669 #70-2877 70-2877 #70-2884 70-2884 #70-2892 70-2892 #70-2912
70-2912 #70-2915 70-2915 #70-2920 70-2920 #70-2922 70-2922 #70-2954 70-2954
#70-2965 70-2965 #70-2974 70-2974 #70-2979 70-2979 #70-2984 70-2984 #70-2989
70-2989 #70-2992 70-2992 #70-2994 70-2994 #70-2999 70-2999 #70-3018 70-3018
#71-3045 71-3045 #71-3048 71-3048 #71-3051 71-3051 #71-3054 71-3054 #71-3062
71-3062 #72-3076 72-3076 #73-3096 73-3096 #73-3099 73-3099 #73-3102 73-3102
#73-3105 73-3105 #73-3110 73-3110 #74-3131 74-3131 #74-3134 74-3134 #74-3137
74-3137 #74-3144 74-3144 #75-3159 75-3159 #75-3162 75-3162 #75-3165 75-3165
#75-3171 75-3171 #76-3185 76-3185 #76-3188 76-3188 #76-3191 76-3191 #78-3293
78-3293 #78-3294 78-3294 #78-3365 78-3365 #78-3367 78-3367 #78-3369 78-3369
#78-3370 78-3370 #78-3371 78-3371 #78-3409 78-3409 #78-3426 78-3426 #78-3431
78-3431 #78-3474 78-3474 #78-3481 78-3481 #81-3720 81-3720 #83-3846 83-3846
#83-3851 83-3851 #83-3857 83-3857 #84-3888 84-3888 #84-3890 84-3890 #84-3898
84-3898 #84-3904 84-3904 #84-3912 84-3912 #84-3916 84-3916 #86-4014 86-4014
#86-4018 86-4018 #86-4026 86-4026 #86-4028 86-4028 #87-4057 87-4057 #89-4129
89-4129 #89-4132 89-4132 #91-4201 91-4201 #91-4230 91-4230 #91-4239 91-4239
#93-4341 93-4341 #98-4527 98-4527 #98-4536 98-4536 #101-4648 101-4648 #101-4656
101-4656 #101-4663 101-4663 #104-4746 104-4746 #104-4766 104-4766 #106-4834 106-4834
#108-4926 108-4926 #110-4992 110-4992 #111-5016 111-5016 #112-5048 112-5048 #113-5074
113-5074 #116-5182 116-5182 #117-5208 117-5208 #118-5242 118-5242 #119-5269 119-5269
#120-5305 120-5305 #124-5436 124-5436 #124-5475 124-5475 #125-5504 125-5504 #125-5507
125-5507 #125-5514 125-5514 #125-5569 125-5569 #126-5601 126-5601 #126-5604 126-5604
#126-5606 126-5606 #126-5612 126-5612 #126-5614 126-5614 #128-5681 128-5681 #128-5684
128-5684 #128-5687 128-5687 #128-5706 128-5706 #129-5733 129-5733 #129-5736 129-5736
#129-5740 129-5740 #129-5748 129-5748 #129-5761 129-5761 #130-5806 130-5806 #130-5810
130-5810 #132-5879 132-5879 #132-5885 132-5885 #132-5886 132-5886 #133-5918 133-5918
#133-5923 133-5923 #133-5932 133-5932 #133-5933 133-5933 #134-5966 134-5966 #134-5969
134-5969 #134-5972 134-5972 #138-6116 138-6116 #139-6154 139-6154 #143-6291 143-6291
#143-6305 143-6305 #143-6307 143-6307 #143-6313 143-6313 #143-6315 143-6315 #143-6321
143-6321 #143-6327 143-6327 #146-6400 146-6400 #146-6413 146-6413 #146-6416 146-6416
#146-6421 146-6421 #146-6428 146-6428 #146-6431 146-6431 #146-6434 146-6434 #146-6449
146-6449 #146-6452 146-6452 #146-6460 146-6460 #149-6519 149-6519 #149-6533 149-6533
#149-6536 149-6536 #149-6542 149-6542 #149-6549 149-6549 #149-6554 149-6554 #151-6626
151-6626 #151-6631 151-6631 #151-6633 151-6633 #151-6664 151-6664 #151-6679 151-6679
#151-6692 151-6692 #151-6699 151-6699 #151-6705 151-6705 #151-6714 151-6714 #152-6737
152-6737 #152-6767 152-6767 #155-6871 155-6871 #155-6874 155-6874 #155-6878 155-6878
#155-6885 155-6885 #155-6890 155-6890 #155-6895 155-6895 #155-6898 155-6898 #155-6907
155-6907 #155-6917 155-6917 #155-6930 155-6930 #158-7158 158-7158 #158-7172 158-7172
#158-7179 158-7179 #161-7288 161-7288 #161-7303 161-7303 #161-7316 161-7316 #162-7353
162-7353 #162-7375 162-7375 #163-7387 163-7387 #163-7402 163-7402 #163-7408 163-7408
#163-7412 163-7412 #163-7417 163-7417 #163-7420 163-7420 #163-7427 163-7427 #163-7436
163-7436 #165-7485 165-7485 #166-7513 166-7513 #166-7524 166-7524 #168-7593 168-7593
#171-7690 171-7690 #171-7704 171-7704 #171-7705 171-7705 #172-7772 172-7772 #172-7773
172-7773 #172-7785 172-7785 #172-7793 172-7793 #172-7811 172-7811 #172-7816 172-7816
#172-7818 172-7818 #172-7819 172-7819 #172-7820 172-7820 #172-7829 172-7829 #174-7906
174-7906 #174-7919 174-7919 #174-7935 174-7935 #174-7946 174-7946 #174-7951 174-7951
#174-7955 174-7955 #174-7959 174-7959 #174-7961 174-7961 #175-8016 175-8016 #175-8052
175-8052 #175-8058 175-8058 #176-8205 176-8205 #176-8237 176-8237 #176-8242 176-8242
#176-8261 176-8261 #176-8267 176-8267 #176-8274 176-8274 #176-8275 176-8275 #176-8276
176-8276 #176-8277 176-8277 #176-8279 176-8279 #176-8283 176-8283 #178-8327 178-8327
#178-8331 178-8331 #178-8339 178-8339 #178-8341 178-8341 #178-8343 178-8343 #178-8351
178-8351 #178-8353 178-8353 #178-8355 178-8355 #178-8361 178-8361 #178-8363 178-8363
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 23
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
#178-8375 178-8375 #178-8380 178-8380 #179-8409 179-8409 #179-8437 179-8437 #180-8454
180-8454 #180-8456 180-8456 #181-8479 181-8479 #181-8483 181-8483 #181-8490 181-8490
#181-8493 181-8493 #181-8495 181-8495 #181-8501 181-8501 #182-8528 182-8528 #182-8531
182-8531 #182-8534 182-8534 #184-8631 184-8631 #184-8633 184-8633 #184-8635 184-8635
#184-8636 184-8636 #184-8639 184-8639 #184-8641 184-8641 #185-8661 185-8661 #185-8662
185-8662 #185-8665 185-8665 #185-8666 185-8666 #185-8669 185-8669 #185-8671 185-8671
#185-8676 185-8676 #185-8688 185-8688 #186-8744 186-8744 #186-8751 186-8751 #186-8753
186-8753 #186-8754 186-8754 #186-8757 186-8757 #186-8759 186-8759 #186-8764 186-8764
#186-8776 186-8776 #186-8782 186-8782 #187-8806 187-8806 #187-8814 187-8814 #187-8819
187-8819 #187-8822 187-8822 #195-9233 195-9233 #195-9238 195-9238 #195-9241 195-9241
#195-9244 195-9244 #195-9256 195-9256 #195-9268 195-9268 #195-9271 195-9271 #195-9297
195-9297 #195-9301 195-9301 #195-9304 195-9304 #195-9305 195-9305 #195-9312 195-9312
#195-9320 195-9320 #195-9327 195-9327 #195-9330 195-9330 #195-9333 195-9333 #195-9334
195-9334 #199-9444 199-9444 #199-9457 199-9457 #199-9472 199-9472 #200-9589 200-9589
#200-9592 200-9592 #200-9597 200-9597 #200-9606 200-9606 #200-9634 200-9634 #200-9640
200-9640 #200-9644 200-9644 #200-9647 200-9647 #200-9654 200-9654 #200-9658 200-9658
#202-9725 202-9725 #202-9727 202-9727 #202-9729 202-9729 #202-9732 202-9732 #202-9735
202-9735 #203-9759 203-9759 #203-9761 203-9761 #203-9763 203-9763 #203-9770 203-9770
#203-9777 203-9777 #205-9832 205-9832 #206-9880 206-9880 #206-9881 206-9881 #208-9990
208-9990 #208-9997 208-9997 #208-10000 208-10000 #208-10005 208-10005 #208-10013 208-10013
#208-10014 208-10014 #208-10017 208-10017 #209-10050 209-10050 #209-10065 209-10065 #209-10069
209-10069 #209-10072 209-10072 #209-10084 209-10084 #209-10088 209-10088 #214-10245 214-10245
#214-10246 214-10246 #214-10252 214-10252 #214-10256 214-10256 #214-10258 214-10258 #215-10273
215-10273 #215-10274 215-10274 #215-10280 215-10280 #215-10283 215-10283 #215-10285 215-10285
#215-10290 215-10290 #215-10292 215-10292 #218-10405 218-10405 #218-10407 218-10407 #224-10702
224-10702 #224-10712 224-10712 #224-10718 224-10718 #224-10749 224-10749 #225-10799 225-10799
#226-10821 226-10821 #226-10844 226-10844 #226-10846 226-10846 #227-10871 227-10871 #227-10878
227-10878 #227-10882 227-10882 #229-11017 229-11017 #229-11027 229-11027 #229-11034 229-11034
#229-11037 229-11037 #229-11054 229-11054 #229-11067 229-11067 #230-11078 230-11078 #230-11081
230-11081 #230-11096 230-11096 #230-11103 230-11103 #230-11107 230-11107 #230-11110 230-11110
#231-11127 231-11127 #231-11135 231-11135 #231-11139 231-11139 #231-11147 231-11147 #233-11222
233-11222 #233-11225 233-11225 #233-11228 233-11228 #234-11260 234-11260 #234-11263 234-11263
#234-11266 234-11266 #234-11271 234-11271 #234-11273 234-11273 #235-11310 235-11310 #236-11335
236-11335 #236-11337 236-11337 #237-11362 237-11362 #237-11365 237-11365 #237-11370 237-11370
#237-11372 237-11372 #237-11379 237-11379 #237-11382 237-11382 #237-11385 237-11385 #237-11389
237-11389 #237-11392 237-11392 #238-11422 238-11422 #238-11427 238-11427 #238-11432 238-11432
#238-11438 238-11438 #238-11447 238-11447 #239-11470 239-11470 #239-11478 239-11478 #239-11481
239-11481 #239-11484 239-11484 #239-11494 239-11494 #239-11500 239-11500
$$APRI = 000000 #11-568
$$RDER = 000004 #11-570
$$SBDI = 000004 #11-566
$$$ARG = 000006 #92-4303 92-4303 #92-4304 92-4304 #92-4304 92-4304 #92-4304 92-4304 #94-4390
94-4390 #94-4390 94-4390 #94-4390 94-4390 #94-4390 94-4390 #94-4390 94-4390
#94-4390 94-4390 #94-4390 94-4390 #94-4391 94-4391 #94-4391 94-4391 #94-4392
94-4392 #94-4392 94-4392 #94-4392 94-4392 #94-4392 94-4392 #94-4392 94-4392
#94-4392 94-4392 #94-4392 94-4392 #103-4723 103-4723 #103-4723 103-4723 #103-4723
103-4723 #103-4723 103-4723 #103-4723 103-4723 #103-4723 103-4723 #103-4723 103-4723
#103-4724 103-4724 #103-4724 103-4724 #103-4724 103-4724 #103-4724 103-4724 #103-4724
103-4724 #103-4724 103-4724 #103-4725 103-4725 #103-4725 103-4725 #103-4725 103-4725
#103-4725 103-4725 #103-4725 103-4725 #103-4725 103-4725 #103-4725 103-4725 #105-4811
105-4811 #105-4811 105-4811 #105-4811 105-4811 #105-4811 105-4811 #105-4811 105-4811
#105-4812 105-4812 #105-4812 105-4812 #105-4812 105-4812 #105-4812 105-4812 #105-4812
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 24
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
105-4812 #105-4812 105-4812 #105-4812 105-4812 #105-4813 105-4813 #105-4813 105-4813
#105-4813 105-4813 #105-4813 105-4813 #105-4813 105-4813 #105-4813 105-4813 #105-4814
105-4814 #107-4901 107-4901 #107-4902 107-4902 #107-4903 107-4903 #107-4904 107-4904
#107-4904 107-4904 #107-4904 107-4904 #107-4904 107-4904 #107-4904 107-4904 #107-4904
107-4904 #107-4904 107-4904 #114-5106 114-5106 114-5106 114-5106 114-5106 114-5106
114-5106 114-5106 114-5106 114-5106 114-5106 114-5106 #120-5293 120-5293 120-5293
120-5293 120-5293 120-5293 120-5293 120-5293 120-5293 120-5293 120-5293 120-5293
#121-5348 121-5348 #121-5348 121-5348 #121-5348 121-5348 #121-5348 121-5348 #121-5348
121-5348 #156-7002 156-7002 #156-7002 156-7002 #156-7002 156-7002 #156-7004 156-7004
#156-7004 156-7004 #156-7004 156-7004 #156-7007 156-7007 #156-7007 156-7007 #156-7007
156-7007 #156-7010 156-7010 #156-7010 156-7010 #156-7010 156-7010 #156-7012 156-7012
#156-7012 156-7012 #156-7012 156-7012 #156-7014 156-7014 #156-7014 156-7014 #156-7014
156-7014 #157-7070 157-7070 157-7070 157-7070 157-7070 157-7070 157-7070 157-7070
157-7070 157-7070 157-7070 157-7070 #188-8837 188-8837 188-8837 188-8837 188-8837
188-8837 188-8837 188-8837 188-8837 188-8837 188-8837 #190-8919 190-8919 #190-8919
190-8919 #190-8919 190-8919 #190-8919 190-8919 #223-10657 223-10657 #223-10657 223-10657
#223-10657 223-10657 #223-10658 223-10658 #223-10658 223-10658 #223-10658 223-10658 #223-10658
223-10658 #223-10659 223-10659 #223-10660 223-10660
$$$GLB = ****** 92-4303 92-4303 92-4303 92-4303 92-4303 92-4303 92-4303 92-4303 92-4304
92-4304 92-4304 92-4304 92-4304 92-4304 92-4304 92-4304 94-4390 94-4390
94-4390 94-4390 94-4390 94-4390 94-4390 94-4390 94-4391 94-4391 94-4391
94-4391 94-4391 94-4391 94-4391 94-4391 94-4392 94-4392 94-4392 94-4392
94-4392 94-4392 94-4392 94-4392 103-4722 103-4722 103-4722 103-4723 103-4723
103-4723 103-4723 103-4723 103-4723 103-4723 103-4723 103-4724 103-4724 103-4724
103-4724 103-4724 103-4724 103-4724 103-4724 103-4725 103-4725 103-4725 103-4725
103-4725 103-4725 103-4725 103-4725 105-4810 105-4810 105-4810 105-4811 105-4811
105-4811 105-4811 105-4811 105-4811 105-4811 105-4811 105-4812 105-4812 105-4812
105-4812 105-4812 105-4812 105-4812 105-4812 105-4813 105-4813 105-4813 105-4813
105-4813 105-4813 105-4813 105-4813 105-4814 105-4814 105-4814 105-4814 105-4814
105-4814 105-4814 105-4814 107-4901 107-4901 107-4901 107-4901 107-4901 107-4901
107-4901 107-4901 107-4902 107-4902 107-4902 107-4902 107-4902 107-4902 107-4902
107-4902 107-4903 107-4903 107-4903 107-4903 107-4903 107-4903 107-4903 107-4903
107-4904 107-4904 107-4904 107-4904 107-4904 107-4904 107-4904 107-4904 121-5348
121-5348 121-5348 121-5348 121-5348 121-5348 121-5348 121-5348 156-7002 156-7002
156-7002 156-7002 156-7004 156-7004 156-7004 156-7004 156-7007 156-7007 156-7007
156-7007 156-7010 156-7010 156-7010 156-7010 156-7012 156-7012 156-7012 156-7012
156-7014 156-7014 156-7014 156-7014 175-8144 175-8144 175-8144 175-8144 175-8144
190-8919 190-8919 190-8919 190-8919 190-8919 190-8919 190-8919 190-8919 223-10657
223-10657 223-10657 223-10657 223-10657 223-10657 223-10657 223-10657 223-10658 223-10658
223-10658 223-10658 223-10658 223-10658 223-10658 223-10658 223-10659 223-10659 223-10659
223-10659 223-10659 223-10659 223-10659 223-10659 223-10660 223-10660 223-10660 223-10660
223-10660 223-10660 223-10660 223-10660
$$$OST = 000014 #92-4303 92-4303 92-4303 #92-4303 92-4303 92-4303 #92-4303 92-4303 92-4303
#92-4303 92-4303 92-4303 #92-4303 92-4303 92-4303 #92-4303 92-4303 92-4303
#92-4303 92-4303 #92-4304 92-4304 92-4304 #92-4304 92-4304 92-4304 #92-4304
92-4304 92-4304 #92-4304 92-4304 92-4304 #92-4304 92-4304 92-4304 #92-4304
92-4304 92-4304 #92-4304 92-4304 #94-4390 94-4390 94-4390 #94-4390 94-4390
94-4390 #94-4390 94-4390 94-4390 #94-4390 94-4390 94-4390 #94-4390 94-4390
94-4390 #94-4390 94-4390 94-4390 #94-4390 94-4390 #94-4391 94-4391 94-4391
#94-4391 94-4391 94-4391 #94-4391 94-4391 94-4391 #94-4391 94-4391 94-4391
#94-4391 94-4391 94-4391 #94-4391 94-4391 94-4391 #94-4391 94-4391 #94-4392
94-4392 94-4392 #94-4392 94-4392 94-4392 #94-4392 94-4392 94-4392 #94-4392
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 25
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
94-4392 94-4392 #94-4392 94-4392 94-4392 #94-4392 94-4392 94-4392 #94-4392
94-4392 #103-4722 103-4722 103-4722 #103-4722 103-4722 103-4722 #103-4722 #103-4723
103-4723 103-4723 #103-4723 103-4723 103-4723 #103-4723 103-4723 103-4723 #103-4723
103-4723 103-4723 #103-4723 103-4723 103-4723 #103-4723 103-4723 103-4723 #103-4723
103-4723 #103-4724 103-4724 103-4724 #103-4724 103-4724 103-4724 #103-4724 103-4724
103-4724 #103-4724 103-4724 103-4724 #103-4724 103-4724 103-4724 #103-4724 103-4724
103-4724 #103-4724 103-4724 #103-4725 103-4725 103-4725 #103-4725 103-4725 103-4725
#103-4725 103-4725 103-4725 #103-4725 103-4725 103-4725 #103-4725 103-4725 103-4725
#103-4725 103-4725 103-4725 #103-4725 103-4725 #105-4810 105-4810 105-4810 #105-4810
105-4810 105-4810 #105-4810 #105-4811 105-4811 105-4811 #105-4811 105-4811 105-4811
#105-4811 105-4811 105-4811 #105-4811 105-4811 105-4811 #105-4811 105-4811 105-4811
#105-4811 105-4811 105-4811 #105-4811 105-4811 #105-4812 105-4812 105-4812 #105-4812
105-4812 105-4812 #105-4812 105-4812 105-4812 #105-4812 105-4812 105-4812 #105-4812
105-4812 105-4812 #105-4812 105-4812 105-4812 #105-4812 105-4812 #105-4813 105-4813
105-4813 #105-4813 105-4813 105-4813 #105-4813 105-4813 105-4813 #105-4813 105-4813
105-4813 #105-4813 105-4813 105-4813 #105-4813 105-4813 105-4813 #105-4813 105-4813
#105-4814 105-4814 105-4814 #105-4814 105-4814 105-4814 #105-4814 105-4814 105-4814
#105-4814 105-4814 105-4814 #105-4814 105-4814 105-4814 #105-4814 105-4814 105-4814
#105-4814 105-4814 #107-4901 107-4901 107-4901 #107-4901 107-4901 107-4901 #107-4901
107-4901 107-4901 #107-4901 107-4901 107-4901 #107-4901 107-4901 107-4901 #107-4901
107-4901 107-4901 #107-4901 107-4901 #107-4902 107-4902 107-4902 #107-4902 107-4902
107-4902 #107-4902 107-4902 107-4902 #107-4902 107-4902 107-4902 #107-4902 107-4902
107-4902 #107-4902 107-4902 107-4902 #107-4902 107-4902 #107-4903 107-4903 107-4903
#107-4903 107-4903 107-4903 #107-4903 107-4903 107-4903 #107-4903 107-4903 107-4903
#107-4903 107-4903 107-4903 #107-4903 107-4903 107-4903 #107-4903 107-4903 #107-4904
107-4904 107-4904 #107-4904 107-4904 107-4904 #107-4904 107-4904 107-4904 #107-4904
107-4904 107-4904 #107-4904 107-4904 107-4904 #107-4904 107-4904 107-4904 #107-4904
107-4904 #121-5348 121-5348 121-5348 #121-5348 121-5348 121-5348 #121-5348 121-5348
121-5348 #121-5348 121-5348 121-5348 #121-5348 121-5348 121-5348 #121-5348 121-5348
121-5348 #121-5348 121-5348 #156-7002 156-7002 156-7002 #156-7002 156-7002 156-7002
#156-7002 156-7002 156-7002 #156-7002 #156-7004 156-7004 156-7004 #156-7004 156-7004
156-7004 #156-7004 156-7004 156-7004 #156-7004 #156-7007 156-7007 156-7007 #156-7007
156-7007 156-7007 #156-7007 156-7007 156-7007 #156-7007 #156-7010 156-7010 156-7010
#156-7010 156-7010 156-7010 #156-7010 156-7010 156-7010 #156-7010 #156-7012 156-7012
156-7012 #156-7012 156-7012 156-7012 #156-7012 156-7012 156-7012 #156-7012 #156-7014
156-7014 156-7014 #156-7014 156-7014 156-7014 #156-7014 156-7014 156-7014 #156-7014
#175-8144 175-8144 175-8144 #175-8144 175-8144 175-8144 #175-8144 175-8144 175-8144
#175-8144 175-8144 175-8144 #175-8144 #190-8919 190-8919 190-8919 #190-8919 190-8919
190-8919 #190-8919 190-8919 190-8919 #190-8919 190-8919 190-8919 #190-8919 190-8919
190-8919 #190-8919 190-8919 190-8919 #190-8919 190-8919 #223-10657 223-10657 223-10657
#223-10657 223-10657 223-10657 #223-10657 223-10657 223-10657 #223-10657 223-10657 223-10657
#223-10657 223-10657 223-10657 #223-10657 223-10657 223-10657 #223-10657 223-10657 #223-10658
223-10658 223-10658 #223-10658 223-10658 223-10658 #223-10658 223-10658 223-10658 #223-10658
223-10658 223-10658 #223-10658 223-10658 223-10658 #223-10658 223-10658 223-10658 #223-10658
223-10658 #223-10659 223-10659 223-10659 #223-10659 223-10659 223-10659 #223-10659 223-10659
223-10659 #223-10659 223-10659 223-10659 #223-10659 223-10659 223-10659 #223-10659 223-10659
223-10659 #223-10659 223-10659 #223-10660 223-10660 223-10660 #223-10660 223-10660 223-10660
#223-10660 223-10660 223-10660 #223-10660 223-10660 223-10660 #223-10660 223-10660 223-10660
#223-10660 223-10660 223-10660 #223-10660 223-10660
$$$T1 = 000014 #114-5106 114-5106 #120-5293 120-5293 #156-7002 156-7002 156-7002 #156-7002 156-7002
156-7002 #156-7002 156-7002 156-7002 #156-7004 156-7004 156-7004 #156-7004 156-7004
156-7004 #156-7004 156-7004 156-7004 #156-7007 156-7007 156-7007 #156-7007 156-7007
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 26
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
156-7007 #156-7007 156-7007 156-7007 #156-7010 156-7010 156-7010 #156-7010 156-7010
156-7010 #156-7010 156-7010 156-7010 #156-7012 156-7012 156-7012 #156-7012 156-7012
156-7012 #156-7012 156-7012 156-7012 #156-7014 156-7014 156-7014 #156-7014 156-7014
156-7014 #156-7014 156-7014 156-7014 #157-7070 157-7070
.BRCLK = 005000 #4-198 #8-474 239-11483 239-11502
.BTADR 000522 RG #193-9144 200-9651 *230-11080 *230-11083 231-11120 231-11121 231-11123 231-11131 231-11133
.BTSW 000050 RG 70-2860 70-2930 70-2977 *70-3002 71-3050 *161-7281 *161-7308 *161-7321 162-7373
*163-7398 *163-7419 #191-9006 200-9610 200-9649
.CACHN 000065 RG 56-2010 56-2057 57-2110 74-3141 143-6297 143-6320 166-7528 #192-9054
.CASW 000043 RG 89-4125 165-7478 171-7728 *179-8423 *179-8426 187-8809 #191-8995 195-9293 200-9602
.CECLK = 004000 #4-198 #8-474 54-1913 154-6835 154-6847 237-11391
.CFGTB 000134 RG 73-3108 *78-3350 78-3464 78-3491 *80-3681 *81-3781 84-3882 *84-3897 *84-3915
85-3952 *85-3961 86-4004 *86-4013 *86-4029 *91-4224 *91-4262 146-6392 *146-6437
173-7842 #192-9079
.CFMRV 000234 RG *171-7689 *171-7753 171-7755 172-7792 #192-9081
.CKSW 000041 RG 139-6144 *141-6219 *141-6222 *141-6229 #191-8990
.CLRMR = 006000 #4-198 #8-474 154-6836 154-6848
.CLRUN = 010000 #4-198 #8-474 155-6870 180-8455 237-11361
.COMEF = ****** GX 157-7086 *157-7094
.CONBT = 012000 #4-198 #8-474 54-1894 182-8530 195-9243 233-11224 234-11265
.CPUSN = ****** GX 157-7095 *157-7096 *176-8299 178-8328 178-8340 *178-8396 179-8420
.CSDN 000030 RG *182-8525 #191-8969
.CSHRG = 164000 #4-198 #8-474
.CTLTP 000072 RG 73-3093 73-3104 84-3886 84-3902 *146-6393 *146-6396 *146-6433 146-6440 *173-7844
#192-9075
.DATE3 = ****** GX 178-8335
.DBSW 000033 RG *161-7282 *176-8258 #191-8976
.DCSW 000031 RG 70-2865 70-2947 70-2963 *70-3005 143-6288 *143-6296 *165-7480 *165-7507 *166-7541
*166-7543 #191-8971 195-9266
.DESW 000042 RG 134-5964 *134-5979 *139-6143 *141-6220 *141-6223 #191-8992
.DFBLK 000256 RG 135-6015 137-6091 140-6193 #193-9100
.DFRBK 000264 RG 136-6042 136-6044 158-7174 #193-9103
.DFRG1 000272 RG #193-9106
.DFRG2 000274 RG #193-9108
.DFRG3 000300 RG #193-9112
.DFSTA 000276 RG #193-9110
.DFWBK 000256 RG 138-6120 138-6130 #193-9101
.DLGSW 000024 RG 83-3862 84-3941 85-3976 86-4042 *157-7032 *157-7040 157-7084 161-7284 162-7349
163-7391 165-7481 168-7588 171-7695 172-7794 174-7902 175-8011 176-8197 *176-8199
*176-8228 176-8244 178-8333 #191-8960 195-9307 *195-9316 *195-9336 229-11011
.DMSW 000032 RG 70-2867 70-2904 70-2968 *70-3007 78-3291 78-3462 *83-3840 83-3860 *83-3861
*83-3867 *84-3940 *85-3975 *86-4041 91-4198 91-4227 *146-6406 *171-7688 *171-7762
172-7783 172-7787 172-7813 #191-8974
.DREG 000272 RG 135-6015 137-6091 140-6193 193-9097 #193-9105 *196-9373 196-9377
.DRLTC = 015000 #4-198 #8-474 129-5735
.DRSW 000027 RG 64-2428 64-2442 64-2492 65-2515 65-2568 66-2635 67-2647 *175-8009 *175-8063
#191-8966
.DSACF = 066000 #4-198 #8-474
.DSIOJ = 065000 #4-198 #8-474
.DTEDT 000302 RG *155-6873 *155-6876 193-9096 #193-9115 196-9372 *196-9376
.EASW 000044 RG 60-2242 125-5578 178-8347 178-8386 *179-8439 *179-8442 #191-8998
.EIOJA = 067000 #4-198 #8-474 154-6837
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 27
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
.ERRCD = ****** GX 186-8735 186-8743 *186-8783 *186-8788 *186-8791
.ERRPC = ****** GX 186-8750
.FEMOD = ****** GX 157-7088
.FILSW 000047 RG 70-2857 *162-7348 *162-7367 *162-7371 *176-8196 *176-8259 #191-9004
.GFNR = 102000 #4-198 #8-474
.HRDWR = ****** GX 178-8357 178-8367
.INICL = 070000 #4-198 #8-474 154-6832
.IRLTC = 014000 #4-198 #8-474 130-5812
.KLCPU = ****** GX 186-8737 186-8746
.KLFCF = ****** GX 186-8733
.KLISV 000060 RG *157-7033 157-7055 163-7393 165-7502 165-7505 168-7613 171-7691 171-7741 171-7759
*172-7805 *172-7806 175-8038 175-8040 176-8235 #191-9042 195-9234 200-9612 229-11013
237-11377
.KLITK = ****** GX *186-8781
.KLIWD = ****** GX 157-7033 *157-7039 195-9228 *195-9230
.KLREG 000244 RG #193-9093 *196-9358 *196-9362 *196-9366 *196-9370 *196-9372 196-9374
.LCRDL = 052000 #4-198 #8-474 126-5605
.LCRDR = 051000 #4-198 #8-474 126-5613
.LCRM1 = 057000 #4-198 #8-474 123-5408
.LCRM2 = 056000 #4-198 #8-474 123-5409
.LCRM3 = 055000 #4-198 #8-474 123-5410
.LCRM4 = 054000 #4-198 #8-474 123-5411
.LCRM5 = 053000 #4-198 #8-474 124-5485
.LDAR = 077000 #4-198 #8-474 54-1917 130-5809 236-11340
.LDBRL = 043000 #4-198 #8-474 154-6829 239-11480 239-11499
.LDBRR = 042000 #4-198 #8-474 154-6828 154-6833 239-11477 239-11493
.LDCK1 = 046000 #4-198 #8-474 154-6825 187-8821 200-9643
.LDCK2 = 047000 #4-198 #8-474 154-6826 187-8818 200-9639
.LDDIS = 045000 #4-198 #8-474 154-6830
.LDRJD = 064000 #4-198 #8-474 128-5699
.LDRJV = 063000 #4-198 #8-474 128-5702
.LDRM1 = 060000 #4-198 #8-474 128-5701
.LDRM2 = 061000 #4-198 #8-474 128-5698
.LDRM3 = 062000 #4-198 #8-474 128-5693
.LDSEL = 044000 #4-198 #8-474 154-6822 155-6911
.MCA25 000035 RG 175-8032 176-8248 *179-8428 *179-8431 #191-8980
.MCBFN 000462 RG 60-2248 62-2318 75-3168 175-8054 #193-9134
.MCBSW 000025 RG 60-2234 60-2246 *62-2315 70-2862 70-2982 *70-3003 70-3025 75-3164 *175-8010
*175-8062 #191-8962
.MCSW 000051 RG *174-7945 *174-7947 181-8486 181-8497 #191-9008
.MEMRS = 076000 #4-198 #8-474 154-6838
.MFCT 000046 RG *146-6390 *146-6442 172-7796 #191-9002
.MFSW 000045 RG 155-6881 155-6913 171-7700 178-8388 *179-8433 *179-8436 #191-9000
.NCACH 000064 RG 56-2004 56-2019 56-2058 57-2099 74-3128 *143-6303 *143-6325 *166-7540 187-8811
#192-9052 195-9295 195-9299 200-9604 *229-11040
.NOERR = ****** GX *180-8453 *185-8697 *186-8779 *186-8792 *195-9236 *195-9246 *200-9656 *200-9665
.PCAB1 = 150000 #4-198 #8-474
.PCAB2 = 151000 #4-198 #8-474
.PCAB3 = 152000 #4-198 #8-474
.PCAB4 = 153000 #4-198 #8-474
.PRDCT = ****** GX 184-8638 185-8668 185-8684 186-8756 186-8772
.PTSEL 000530 RG 76-3190 *174-7900 *174-7931 *174-7942 174-7952 174-7958 #193-9146
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 28
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
.PTSW 000034 RG 70-2872 70-2938 70-2987 *70-3008 *149-6526 *174-7899 *174-7934 *174-7944 #191-8978
.RCRM1 = 147000 #4-198 #8-474 123-5404
.RCRM2 = 146000 #4-198 #8-474 123-5405
.RCRM3 = 145000 #4-198 #8-474 123-5406
.RCRM4 = 144000 #4-198 #8-474 123-5407
.RCSPF = 141000 #4-198 #8-474 125-5567
.RDJ14 = 134000 #4-198 #8-474 129-5760
.RDJ71 = 135000 #4-198 #8-474 129-5739
.RDMAB = 133000 #4-198 #8-474 129-5747
.SECLK = 003000 #4-198 #8-474 125-5506 181-8492
.SETMR = 007000 #4-198 #8-474 141-6217 154-6824 154-6844
.SETRN = 011000 #4-198 #8-474 195-9240 234-11262
.SNSAV 000062 RG *157-7095 176-8299 #191-9044
.SPSAV 000022 RG #191-8958 *195-9232 195-9335
.SSCLK = 002000 #4-198 #8-474 54-1907 155-6894 234-11270 238-11437
.STPCL = 000000 #4-198 #8-474 139-6153 154-6823 154-6846 237-11388 239-11469
.STRCL = 001000 #4-198 #8-474 54-1920 62-2356 134-5968 141-6215 154-6831 154-6845 182-8533
187-8823 200-9646 233-11227 234-11283 237-11381
.SYATT 002656 RG 92-4306 *93-4337 *93-4338 *93-4339 *93-4340 *106-4857 116-5177 *116-5179 *122-5365
*122-5366 #194-9213
.SYFID = 002624 RG 94-4391 103-4724 105-4811 105-4813 #194-9205
.SYFNB 002624 RG 94-4390 94-4392 99-4564 103-4723 103-4725 105-4812 107-4904 157-7070 157-7078
*157-7078 157-7079 *157-7079 157-7080 *157-7080 #194-9196 194-9205 194-9206
.SYFNM = 002632 RG #194-9206
.SYIBA 000542 RG *111-5020 112-5038 *112-5041 112-5051 *112-5052 113-5077 *113-5078 *114-5110 #194-9163
.SYIBC 000544 RG 111-5013 111-5015 *111-5021 *112-5042 112-5046 *112-5053 113-5072 *113-5079 *114-5111
#194-9165
.SYIBF 000572 RG 103-4722 104-4749 104-4750 114-5106 114-5110 194-9164 #194-9173 194-9180
.SYIFN 000546 RG 93-4350 103-4727 103-4729 *104-4749 *104-4750 #194-9167
.SYIRC 000540 RG 62-2347 64-2462 65-2538 70-2910 70-2918 *104-4762 110-4988 *110-4991 *110-4994
111-5013 *111-5015 111-5020 111-5021 *111-5022 *112-5040 *112-5044 *113-5070 152-6759
#194-9161 230-11084 231-11143
.SYISW 000536 RG 93-4325 *93-4331 *104-4759 108-4916 *108-4919 #194-9155
.SYIVB 000566 RG *104-4760 *104-4761 *114-5101 *114-5102 114-5106 114-5106 #194-9171
.SYOBA 001574 RG 93-4339 *106-4854 118-5232 *118-5235 118-5245 *118-5246 119-5272 *119-5273 *120-5299
#194-9179
.SYOBC 001576 RG *106-4855 117-5204 *118-5236 118-5240 *118-5247 119-5267 *119-5274 *120-5300 #194-9181
.SYOBF 001624 RG 93-4340 105-4810 106-4837 106-4838 106-4854 120-5293 120-5299 #194-9189
.SYOFN 001600 RG 92-4308 92-4310 93-4352 105-4816 105-4818 *106-4837 *106-4838 108-4925 122-5369
#194-9183
.SYORC 001572 RG 71-3056 *106-4856 116-5175 *116-5181 *116-5184 117-5201 *117-5206 *118-5234 *118-5238
*119-5265 #194-9177
.SYOSW 000537 RG 93-4332 *93-4347 *106-4851 108-4920 *108-4929 #194-9157
.SYOVB 001620 RG 93-4337 93-4338 *106-4852 *106-4853 120-5293 120-5293 *120-5297 *120-5298 #194-9187
.SYSTA 000532 RG 60-2258 70-2879 92-4303 92-4304 93-4329 93-4345 94-4390 94-4391 94-4392
98-4530 98-4534 98-4539 101-4634 103-4723 103-4724 104-4753 104-4757 104-4764
104-4768 105-4811 105-4812 105-4813 106-4841 106-4845 106-4849 114-5106 114-5108
114-5111 120-5293 120-5295 120-5303 121-5348 122-5363 143-6293 146-6402 149-6521
151-6635 157-7070 157-7072 163-7389 #194-9153 229-11041
.TKTN = ****** GX *186-8780
.TPSHI 016270 RG 158-7179 158-7179 #159-7196
.TRKLP 000040 RG #191-8987 199-9478 224-10742 *224-10744 224-10751 *224-10753 224-10755 228-10901
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 29
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
.TRKSW 000036 RG #191-8983 199-9431 *224-10738 *224-10759
.TRKTT 000037 RG #191-8985 199-9482 *224-10737 *224-10740 224-10757
.TTIBF 000304 RG 78-3295 78-3372 78-3475 91-4202 91-4232 161-7289 162-7354 165-7486 166-7514
168-7594 171-7706 *174-7901 174-7907 175-8017 176-8206 #193-9123 206-9879 223-10657
*224-10724 224-10726 224-10728 224-10730 224-10732 228-10898
.TTOBF 000344 RG #193-9126 205-9830 208-9995 208-10003 208-10012 208-10015 209-10068 209-10070 209-10083
209-10086 214-10243 215-10271 218-10403 226-10822 226-10840
.UFNSW 000026 RG 71-3041 71-3053 *161-7283 *161-7319 *163-7385 *163-7422 *163-7431 *176-8260 *176-8271
#191-8964 229-11023
.USRFN 000502 RG 71-3059 151-6629 161-7312 163-7425 176-8263 #193-9139 229-11025
.WORK 000014 RG #191-8951
.WRITR = ****** GX 227-10878 227-10878
.WRMBX = 071000 #4-198 #8-474 154-6839
.ZERO 000000 RG 53-1861 56-2073 64-2432 137-6092 154-6822 154-6825 154-6826 154-6828 154-6829
154-6830 154-6832 154-6833 154-6837 154-6838 #191-8948 200-9627 200-9633 230-11094
231-11125
..DSEV = ****** GX 186-8782 186-8782
..DTP2 = ****** GX 184-8635 184-8635 185-8665 185-8665 186-8753 186-8753 200-9658 200-9658
..DTSP = ****** GX 180-8454 180-8454
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 30
MACRO CROSS REFERENCE CREF 04.00
MACRO NAME REFERENCES
ALUN$ #156-6972 156-7002 156-7004 156-7007 156-7010 156-7012 156-7014 #228-10944
BURST #24-994
CALL #4-253 #9-476 52-1825 52-1832 53-1858 53-1864 54-1892 54-1895 54-1898 54-1903
54-1908 54-1914 54-1918 56-2002 56-2074 60-2236 60-2249 60-2254 60-2260 61-2278
62-2294 62-2299 62-2306 62-2309 62-2313 62-2320 62-2326 62-2341 62-2349 62-2354
62-2357 62-2358 62-2359 63-2387 64-2434 64-2439 64-2445 64-2455 64-2465 64-2469
64-2473 64-2478 64-2481 64-2491 64-2496 65-2512 65-2518 65-2522 65-2541 65-2545
65-2549 65-2554 65-2557 65-2567 65-2572 66-2597 66-2618 66-2620 66-2623 66-2625
66-2626 66-2633 66-2639 67-2659 67-2666 67-2669 70-2877 70-2884 70-2892 70-2912
70-2915 70-2920 70-2922 70-2954 70-2965 70-2974 70-2979 70-2984 70-2989 70-2992
70-2994 70-2999 70-3018 71-3045 71-3048 71-3051 71-3054 71-3062 72-3076 73-3096
73-3099 73-3102 73-3105 73-3110 74-3131 74-3134 74-3137 74-3144 75-3159 75-3162
75-3165 75-3171 76-3185 76-3188 76-3191 78-3293 78-3294 78-3365 78-3367 78-3369
78-3370 78-3371 78-3409 78-3426 78-3431 78-3474 78-3481 81-3720 83-3846 83-3851
83-3857 84-3888 84-3890 84-3898 84-3904 84-3912 84-3916 86-4014 86-4018 86-4026
86-4028 87-4057 89-4129 89-4132 91-4201 91-4230 91-4239 93-4341 98-4527 98-4536
101-4648 101-4656 101-4663 104-4746 104-4766 106-4834 108-4926 110-4992 111-5016 112-5048
113-5074 116-5182 117-5208 118-5242 119-5269 120-5305 124-5436 124-5475 125-5504 125-5507
125-5514 125-5569 126-5601 126-5604 126-5606 126-5612 126-5614 128-5681 128-5684 128-5687
128-5706 129-5733 129-5736 129-5740 129-5748 129-5761 130-5806 130-5810 132-5879 132-5885
132-5886 133-5918 133-5923 133-5932 133-5933 134-5966 134-5969 134-5972 138-6116 139-6154
143-6291 143-6305 143-6307 143-6313 143-6315 143-6321 143-6327 146-6400 146-6413 146-6416
146-6421 146-6428 146-6431 146-6434 146-6449 146-6452 146-6460 149-6519 149-6533 149-6536
149-6542 149-6549 149-6554 151-6626 151-6631 151-6633 151-6664 151-6679 151-6692 151-6699
151-6705 151-6714 152-6737 152-6767 155-6871 155-6874 155-6878 155-6885 155-6890 155-6895
155-6898 155-6907 155-6917 155-6930 158-7158 158-7172 158-7179 161-7288 161-7303 161-7316
162-7353 162-7375 163-7387 163-7402 163-7408 163-7412 163-7417 163-7420 163-7427 163-7436
165-7485 166-7513 166-7524 168-7593 171-7690 171-7704 171-7705 172-7772 172-7773 172-7785
172-7793 172-7811 172-7816 172-7818 172-7819 172-7820 172-7829 174-7906 174-7919 174-7935
174-7946 174-7951 174-7955 174-7959 174-7961 175-8016 175-8052 175-8058 176-8205 176-8237
176-8242 176-8261 176-8267 176-8274 176-8275 176-8276 176-8277 176-8279 176-8283 178-8327
178-8331 178-8339 178-8341 178-8343 178-8351 178-8353 178-8355 178-8361 178-8363 178-8375
178-8380 179-8409 179-8437 180-8454 180-8456 181-8479 181-8483 181-8490 181-8493 181-8495
181-8501 182-8528 182-8531 182-8534 184-8631 184-8633 184-8635 184-8636 184-8639 184-8641
185-8661 185-8662 185-8665 185-8666 185-8669 185-8671 185-8676 185-8688 186-8744 186-8751
186-8753 186-8754 186-8757 186-8759 186-8764 186-8776 186-8782 187-8806 187-8814 187-8819
187-8822 195-9233 195-9238 195-9241 195-9244 195-9256 195-9268 195-9271 195-9297 195-9301
195-9304 195-9305 195-9312 195-9320 195-9327 195-9330 195-9333 195-9334 199-9444 199-9457
199-9472 200-9589 200-9592 200-9597 200-9606 200-9634 200-9640 200-9644 200-9647 200-9654
200-9658 202-9725 202-9727 202-9729 202-9732 202-9735 203-9759 203-9761 203-9763 203-9770
203-9777 205-9832 206-9880 206-9881 208-9990 208-9997 208-10000 208-10005 208-10013 208-10014
208-10017 209-10050 209-10065 209-10069 209-10072 209-10084 209-10088 214-10245 214-10246 214-10252
214-10256 214-10258 215-10273 215-10274 215-10280 215-10283 215-10285 215-10290 215-10292 218-10405
218-10407 224-10702 224-10712 224-10718 224-10749 225-10799 226-10821 226-10844 226-10846 227-10871
227-10878 227-10882 229-11017 229-11027 229-11034 229-11037 229-11054 229-11067 230-11078 230-11081
230-11096 230-11103 230-11107 230-11110 231-11127 231-11135 231-11139 231-11147 233-11222 233-11225
233-11228 234-11260 234-11263 234-11266 234-11271 234-11273 235-11310 236-11335 236-11337 237-11362
237-11365 237-11370 237-11372 237-11379 237-11382 237-11385 237-11389 237-11392 238-11422 238-11427
238-11432 238-11438 238-11447 239-11470 239-11478 239-11481 239-11484 239-11494 239-11500
CALLR #4-262 #9-485 52-1838 54-1921 56-2089 72-3079 78-3269 78-3279 78-3308 78-3311
78-3440 78-3499 78-3502 85-3956 91-4215 91-4264 93-4353 98-4543 104-4763 104-4773
106-4863 110-4996 122-5370 124-5486 128-5713 130-5813 139-6151 143-6326 146-6457 149-6552
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 31
MACRO CROSS REFERENCE CREF 04.00
MACRO NAME REFERENCES
151-6641 151-6725 163-7433 172-7832 173-7851 173-7854 173-7857 173-7860 181-8505 187-8824
205-9833 229-11056 233-11231 234-11284 236-11341 238-11452 239-11503
CLEF$S #156-6972 #175-8127 182-8536
DFPC #23-964
DFRD #12-601
DFRDT #13-622
DFSCLK #22-954
DFWRT #14-663
DFWRTT #15-703
DFXCT #16-742
DFXCTT #17-774
DIR$ #4-197 93-4327 93-4343 98-4528 98-4532 98-4537 104-4747 104-4751 104-4755 104-4767
106-4835 106-4839 106-4843 106-4847 106-4861 108-4918 108-4922 108-4923 108-4928 #114-5106
114-5106 #120-5293 120-5293 122-5361 132-5894 133-5935 136-6041 138-6129 139-6147 141-6227
157-7047 157-7049 157-7052 157-7057 157-7059 157-7061 #157-7065 157-7065 #157-7070 157-7070
#157-7076 157-7076 #175-8127 #182-8536 182-8536 182-8538 #182-8540 182-8540 #188-8837 188-8837
#188-8841 188-8841 #188-8845 188-8845 #195-9323 195-9323 196-9374 199-9481 199-9485 224-10700
224-10704 224-10716 224-10745 224-10754 #224-10763 224-10763 227-10869 228-10904 229-11043 229-11045
229-11047 231-11153 231-11154 231-11155
DPOS #18-807
DPOST #19-847
DTEBAS #25-1008
ERROR #7-402 55-1982 58-2185 58-2186 58-2187 58-2188 58-2189 68-2752 79-3553 79-3555
90-4184 100-4609 100-4610 100-4611 100-4612 109-4968 109-4970 115-5156 115-5158 131-5859
131-5860 135-6018 137-6096 140-6196 150-6598 150-6600 150-6602 150-6604 154-6855 156-7017
156-7019 156-7021 157-7133 170-7680 175-8183 175-8189 183-8601 183-8602 183-8603 183-8604
183-8605 183-8607 183-8608 183-8609 183-8610 190-8932 190-8934 190-8936 228-10970 232-11200
232-11202
ERROR$ #5-315
ERR$ #93-4327 #93-4343 #98-4528 #98-4532 #98-4537 #104-4747 #104-4751 #104-4755 #104-4767 #106-4835
#106-4839 #106-4843 #106-4847 #106-4861 #108-4918 #108-4922 #108-4923 #108-4928 #114-5106 #120-5293
#122-5361 #132-5894 #133-5935 #136-6041 #138-6129 #139-6147 #141-6227 #157-7047 #157-7049 #157-7052
#157-7057 #157-7059 #157-7061 #157-7065 #157-7070 #157-7076 #182-8536 #182-8538 #182-8540 #188-8837
#188-8841 #188-8845 #195-9323 #196-9374 #199-9481 #199-9485 #224-10700 #224-10704 #224-10716 #224-10745
#224-10754 #224-10763 #227-10869 #228-10904 #229-11043 #229-11045 #229-11047 #231-11153 #231-11154 #231-11155
EXAM #20-886
EXAMT #21-932
EXCT #28-1070
EXIT$S #156-6972 157-7065 157-7076 #190-8909 195-9323 #223-10652 224-10763
EXOR #10-537
FATAL #50-1729
GLUN$ #103-4717 103-4722 #105-4805 105-4810
IDENT$ #4-212 51-1743 51-1743 55-1926 55-1926 58-2126 58-2126 67-2681 67-2681 77-3197
77-3197 79-3512 79-3512 82-3790 82-3790 88-4073 88-4073 90-4142 90-4142 92-4270
92-4270 94-4358 94-4358 100-4580 100-4580 103-4690 103-4690 105-4778 105-4778 107-4868
107-4868 109-4934 109-4934 115-5122 115-5122 121-5316 121-5316 123-5375 123-5375 127-5627
127-5627 131-5819 131-5819 135-5984 135-5984 137-6060 137-6060 140-6160 140-6160 142-6238
142-6238 144-6334 144-6334 147-6466 147-6466 150-6564 150-6564 153-6791 153-6791 156-6939
156-6939 160-7224 160-7224 164-7443 164-7443 167-7552 167-7552 169-7634 169-7634 174-7879
174-7879 174-7971 174-7971 175-8079 175-8079 183-8546 183-8546 189-8856 189-8856 199-9491
199-9491 201-9673 201-9673 204-9784 204-9784 207-9912 207-9912 211-10122 211-10122 217-10356
217-10356 220-10486 220-10486 223-10620 223-10620 228-10910 228-10910 232-11160 232-11160
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 32
MACRO CROSS REFERENCE CREF 04.00
MACRO NAME REFERENCES
IO10$ #6-343 51-1779 55-1971 55-1972 55-1976 88-4108 88-4109 175-8141 183-8592 199-9545
199-9546 199-9547 199-9548 199-9552 228-10966
I10$ #6-327 55-1973 55-1974 55-1975 55-1977 190-8915
KLDR$ #135-6010 135-6015
KLDW$ #137-6086 137-6091
KLDX$ #140-6188 140-6193
KLIVR$ #156-6973 156-7023 156-7023
LODAR #26-1039
MESSAG #7-394 55-1983 55-1984 55-1985 58-2190 58-2191 58-2192 58-2193 58-2194 68-2750
77-3234 77-3236 77-3238 77-3240 77-3242 156-7023 160-7253 160-7255 164-7472 164-7473
167-7582 170-7676 170-7678 174-7892 174-7894 174-7895 174-8004 175-8163 175-8165 175-8167
175-8171 183-8606 183-8611 190-8930 199-9566
MOV$ #114-5106 #114-5106 114-5106 114-5106 114-5106 114-5106 114-5106 114-5106 114-5106 114-5106
114-5106 #120-5293 #120-5293 120-5293 120-5293 120-5293 120-5293 120-5293 120-5293 120-5293
120-5293 120-5293 #157-7070 #157-7070 157-7070 157-7070 157-7070 157-7070 157-7070 157-7070
157-7070 157-7070 157-7070 157-7070 #182-8536 182-8536 #182-8540 182-8540 #188-8837 188-8837
188-8837 188-8837 188-8837 #188-8845 188-8845
MRESET #31-1161
MRKT$ #175-8127 175-8144
MRKT$S #183-8584 188-8837 #199-9526
MVB$ #114-5106 114-5106 #120-5293 120-5293 #157-7070 157-7070
NBL$ #156-7002 156-7002 #156-7004 156-7004 #156-7007 156-7007 #156-7010 156-7010 #156-7012 156-7012
#156-7014 156-7014
OFF$ #92-4303 92-4303 92-4303 92-4303 92-4303 92-4303 92-4303 92-4303 92-4303 #92-4304
92-4304 92-4304 92-4304 92-4304 92-4304 92-4304 92-4304 92-4304 #94-4390 94-4390
94-4390 94-4390 94-4390 94-4390 94-4390 94-4390 94-4390 #94-4391 94-4391 94-4391
94-4391 94-4391 94-4391 94-4391 94-4391 94-4391 #94-4392 94-4392 94-4392 94-4392
94-4392 94-4392 94-4392 94-4392 94-4392 #103-4722 103-4722 103-4722 103-4722 #103-4723
103-4723 103-4723 103-4723 103-4723 103-4723 103-4723 103-4723 103-4723 #103-4724 103-4724
103-4724 103-4724 103-4724 103-4724 103-4724 103-4724 103-4724 #103-4725 103-4725 103-4725
103-4725 103-4725 103-4725 103-4725 103-4725 103-4725 #105-4810 105-4810 105-4810 105-4810
#105-4811 105-4811 105-4811 105-4811 105-4811 105-4811 105-4811 105-4811 105-4811 #105-4812
105-4812 105-4812 105-4812 105-4812 105-4812 105-4812 105-4812 105-4812 #105-4813 105-4813
105-4813 105-4813 105-4813 105-4813 105-4813 105-4813 105-4813 #105-4814 105-4814 105-4814
105-4814 105-4814 105-4814 105-4814 105-4814 105-4814 #107-4901 107-4901 107-4901 107-4901
107-4901 107-4901 107-4901 107-4901 107-4901 #107-4902 107-4902 107-4902 107-4902 107-4902
107-4902 107-4902 107-4902 107-4902 #107-4903 107-4903 107-4903 107-4903 107-4903 107-4903
107-4903 107-4903 107-4903 #107-4904 107-4904 107-4904 107-4904 107-4904 107-4904 107-4904
107-4904 107-4904 #121-5348 121-5348 121-5348 121-5348 121-5348 121-5348 121-5348 121-5348
121-5348 #156-7002 156-7002 156-7002 156-7002 156-7002 #156-7004 156-7004 156-7004 156-7004
156-7004 #156-7007 156-7007 156-7007 156-7007 156-7007 #156-7010 156-7010 156-7010 156-7010
156-7010 #156-7012 156-7012 156-7012 156-7012 156-7012 #156-7014 156-7014 156-7014 156-7014
156-7014 #175-8144 175-8144 175-8144 175-8144 175-8144 175-8144 #190-8919 190-8919 190-8919
190-8919 190-8919 190-8919 190-8919 190-8919 190-8919 #223-10657 223-10657 223-10657 223-10657
223-10657 223-10657 223-10657 223-10657 223-10657 #223-10658 223-10658 223-10658 223-10658 223-10658
223-10658 223-10658 223-10658 223-10658 #223-10659 223-10659 223-10659 223-10659 223-10659 223-10659
223-10659 223-10659 223-10659 #223-10660 223-10660 223-10660 223-10660 223-10660 223-10660 223-10660
223-10660 223-10660
PBELL #45-1588
PCRLF #45-1596
PFORCE #33-1214
PMSG #42-1497
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 33
MACRO CROSS REFERENCE CREF 04.00
MACRO NAME REFERENCES
PNORML #33-1217
PNTADR #35-1272
PNTAL #43-1528
PNTBAK #33-1220
PNTDEC #40-1418
PNTNBR #36-1299
PNTOCS #39-1386
PNTOCT #38-1354
PNTODT #41-1451
PNT36 #34-1244
PNT36B #37-1327
POP #4-280 #9-503 66-2619 80-3683 80-3684 81-3783 81-3784 81-3785 84-3913 84-3937
87-4065 87-4066 87-4067 89-4134 99-4575 106-4862 108-4927 126-5615 128-5707 136-6055
138-6134 139-6155 141-6232 151-6632 155-6933 159-7218 197-9392 202-9736 203-9779 205-9859
206-9882 206-9907 210-10117 214-10247 214-10261 215-10275 215-10295 218-10408 218-10434 219-10480
221-10556 222-10613 222-10615 225-10800 227-10879 235-11318 237-11394
PRDP$ #131-5847 131-5852
PREX$ #131-5847 131-5853 #137-6086 137-6092
PRINT #7-406 56-2090 57-2118 60-2238 66-2599 66-2638 67-2674 70-3001 70-3020 78-3317
78-3446 78-3473 78-3505 80-3613 80-3658 81-3713 81-3760 84-3936 85-3974 86-4000
86-4038 91-4194 91-4200 91-4211 91-4229 91-4254 91-4258 101-4664 113-5084 114-5115
117-5214 120-5309 132-5896 133-5944 136-6053 138-6132 141-6230 143-6295 146-6404 149-6523
151-6637 151-6672 151-6718 152-6732 155-6900 157-7064 157-7075 157-7090 157-7097 158-7191
161-7287 161-7326 162-7352 162-7363 163-7396 165-7484 165-7499 166-7512 166-7545 168-7592
168-7603 171-7723 172-7807 172-7825 174-7905 174-7965 175-8015 175-8030 176-8204 176-8221
176-8246 176-8286 176-8294 178-8364 178-8390 178-8395 185-8693 185-8698 186-8786 186-8793
195-9286 195-9313 200-9657 230-11109 234-11287 237-11398
PSLASH #45-1584
PSPACE #45-1580
PTAB #45-1592
PUSH #4-274 #9-497 66-2616 80-3606 80-3607 81-3708 81-3709 81-3710 84-3911 84-3935
87-4052 87-4053 89-4127 99-4563 106-4860 108-4924 126-5599 128-5705 132-5877 133-5916
136-6038 138-6115 139-6152 141-6214 151-6630 152-6771 155-6925 158-7163 159-7197 197-9390
202-9717 203-9754 205-9829 206-9878 206-9886 210-10110 214-10242 214-10251 215-10270 215-10279
218-10402 218-10412 219-10463 221-10532 222-10575 222-10577 225-10768 225-10773 225-10785 225-10790
225-10796 227-10875 235-11307 237-11360
QDPB$ #92-4303 92-4303 #92-4304 92-4304 #94-4390 94-4390 #94-4391 94-4391 #94-4392 94-4392
#103-4723 103-4723 #103-4724 103-4724 #103-4725 103-4725 #105-4811 105-4811 #105-4812 105-4812
#105-4813 105-4813 #105-4814 105-4814 #107-4901 107-4901 #107-4902 107-4902 #107-4903 107-4903
#107-4904 107-4904 #121-5348 121-5348 #190-8919 190-8919 #223-10657 223-10657 #223-10658 223-10658
#223-10659 223-10659 #223-10660 223-10660
QDPB$S #114-5106 114-5106 #120-5293 120-5293 #157-7070 157-7070
QIOW$ #92-4298 92-4303 92-4304 #94-4385 94-4390 94-4391 94-4392 #103-4717 103-4723 103-4724
103-4725 #105-4805 105-4811 105-4812 105-4813 105-4814 #107-4896 107-4901 107-4902 107-4903
107-4904 #121-5343 121-5348 #190-8909 190-8919 #223-10652 223-10657 223-10658 223-10659 223-10660
QIOW$S #109-4962 114-5106 #115-5150 120-5293 #156-6972 157-7070
REGRST #32-1198
REGSAV #32-1194
RETURN #4-266 #9-489 52-1840 53-1871 54-1912 56-2092 57-2120 60-2256 61-2282 62-2329
63-2412 66-2602 66-2627 66-2641 67-2678 70-3013 70-3022 71-3066 72-3082 73-3117
74-3148 75-3175 76-3193 80-3685 81-3786 83-3871 84-3931 84-3946 85-3987 86-4034
86-4044 87-4068 89-4136 93-4348 98-4541 99-4576 101-4666 102-4685 104-4771 106-4858
KLIMON CREATED BY MACRO ON 17-MAY-88 AT 14:23 PAGE 34
MACRO CROSS REFERENCE CREF 04.00
MACRO NAME REFERENCES
108-4930 110-4999 111-5018 111-5023 112-5056 113-5081 113-5086 114-5112 114-5117 116-5186
117-5211 117-5216 118-5250 119-5276 120-5301 120-5307 120-5311 122-5367 124-5487 125-5586
126-5616 126-5622 128-5697 129-5769 130-5814 132-5881 132-5898 133-5926 133-5943 133-5946
134-5958 134-5978 134-5980 136-6056 138-6135 139-6156 141-6233 143-6304 143-6329 146-6408
146-6462 149-6528 149-6556 152-6740 152-6784 155-6902 155-6921 155-6934 157-7099 158-7189
159-7219 163-7439 175-8077 177-8318 178-8399 179-8446 180-8457 181-8507 182-8542 186-8789
187-8825 188-8850 196-9379 199-9488 200-9660 202-9737 203-9780 205-9860 206-9883 206-9908
208-10018 209-10094 210-10118 214-10248 214-10262 215-10276 215-10296 216-10315 216-10333 216-10351
218-10409 218-10435 219-10481 221-10557 222-10616 224-10735 225-10801 227-10883 228-10906 229-11038
229-11072 230-11112 231-11148 231-11156 233-11234 234-11290 235-11319 236-11344 237-11395 238-11444
239-11506
RVP$ #114-5106 114-5106 #120-5293 120-5293 #157-7070 157-7070 #188-8837 188-8837
SL #5-289 #10-509 179-8413
SM #29-1100
SR #5-302 #10-523 179-8416 239-11496
TRACK #7-415 124-5434 125-5503 126-5600 128-5676 129-5729 130-5783 132-5893 133-5936 136-6042
138-6130 141-6226 155-6869 155-6926 233-11221 234-11253 235-11306 237-11359
TTIDEC #47-1652
TTILIN #48-1678
TTILNW #49-1704
TTIOCT #46-1624
WARNIN #7-398 58-2195 82-3828 82-3830 82-3832 82-3834 90-4178 142-6272 145-6374 148-6505
160-7257 170-7682 175-8185 175-8187
WD22$ #6-359 51-1780 131-5854 183-8596 183-8597 183-8598
WD36$ #6-371 51-1778 51-1781 55-1970 123-5413 123-5416 127-5657 127-5658 131-5856 137-6093
154-6841 154-6850 154-6851 154-6852 175-8150 183-8594 183-8595 190-8925 199-9555 199-9557
199-9559 199-9562 232-11192 232-11194 232-11196
WSIG$S #183-8584 188-8841
WTSE$S #175-8127 182-8540 #183-8584 188-8845 #199-9526 #223-10652
WWADR #30-1129
$DEF #4-197 4-198 #8-472 8-474
$PMSG #44-1549