Trailing-Edge
-
PDP-10 Archives
-
AP-4178E-RM
-
swskit-sources/klerr.lis
There is 1 other file named klerr.lis in the archive. Click here to see a list.
KLERR - KL10 ERROR RECORDER MACRO M1108 13-JAN-78 15:46
TABLE OF CONTENTS
2- 39 *RSX20F KL10 COMMAND PARSER ASSEMBLY SWITCHES* 7601.09
3- 58 *RSX20F COMMAND PARSER MACRO CALLS* 7601.09
4- 81 *RSX20F LOCAL MACRO DEFINITIONS* 7511.11
5- 109 *SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10
20- 93 ROUTINE TO SETUP FIXED BLOCK
21- 2 *LOCAL DEFINITIONS AND PARAMETERS* 7601.09
23- 81 *COMSUB HISTORY OF EDITS* 7601.09
30- 386 *LOCAL DEFINITIONS* 7511.24
43- 909 *ERROR CODE LIST* 7511.24
44- 973 *.CPDST -- COMMAND PARSER SUBROUTINE DISPATCH TABLE* 7512.04
46-1090 *.ABORT -- ABORT CURRENT OPERATION SUBROUTINE* 7601.05
48-1144 *.BURST -- MBOX CLOCK BURST SUBROUTINE* 7601.02
49-1190 *.CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP* 7512.03
50-1234 *.CLIPE -- SUBROUTINE TO CLEAR INTERNAL PARITY STOP* 7510.24
51-1273 *.CLRFF -- CLEAR KL10 RUN FLOP SUBROUTINE* 7601.09
52-1307 *.DTERW -- DTE20 REGISTER READ / WRITE SUBROUTINES* 7601.09
55-1408 *.DTTRK -- SUBROUTINE TO TRACK DTE20 OPERATIONS* 7512.11
58-1489 *.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK* 7512.01
60-1560 *.EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR* 7512.03
61-1594 *.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE* 7512.09
64-1689 *.EXDPM -- KL10 MEMORY EXAMINE / DEPOSIT SUBROUTINE* 7601.09
68-1823 *.INIT -- INITIALIZATION SUBROUTINE* 7509.26
69-1871 *.INKLF -- SUBROUTINE TO SET UP KL10 STATE WORD* 7601.09
72-1973 *.KLHLT -- SUBROUTINE TO STOP THE KL10 IN THE HALT LOOP* 7601.09
75-2062 *.KLRST -- SUBROUTINE TO RESTART THE KL10* 7512.22
78-2136 *.KLST -- START KL10 SUBROUTINE* 7601.02
80-2191 *.KLSTN -- SUBROUTINE TO START THE KL10* 7512.08
82-2242 *.KLCON -- KL10 CONTINUE SUBROUTINE* 7512.10
84-2313 *.KLSTP -- SUBROUTINE TO GET THE KL10 INTO THE HALT LOOP* 7512.19
87-2361 *.KLXCT -- KL10 INSTRUCTION EXECUTE SUBROUTINE* 7509.10
88-2407 *.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE* 7601.02
90-2459 *.LDCPC -- KL10 CLOCK AND PARITY LOAD SUBROUTINES* 7509.30
92-2541 *.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE* 7511.19
99-2779 *.MRCLR -- KL10 MASTER RESET SUBROUTINE* 7511.06
105-2989 *.RDALL -- SUBROUTINE TO EXECUTE 100 FUNCTION READS* 7511.24
107-3035 *.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL10 APR* 7509.24
108-3082 *.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES* 7510.09
117-3400 *.RDDPB -- SUBROUTINES TO READ THE KL10 DATA PATH BOARDS* 7509.23
124-3635 *.RDFLG -- SUBROUTINE TO READ THE KL10 PC FLAGS* 7511.24
126-3711 *.RDFMA -- SUBROUTINE TO READ THE KL10 FM ADDRESS* 7511.14
128-3762 *.RDFMO -- SUBROUTINE TO READ KL10 FAST MEMORY OUTPUT* 7511.06
129-3799 *.RDIRR -- SUNROUTINE TO READ THE KL10 IR REGISTER* 7510.04
131-3856 *.RDIPE -- READ KL10 PARITY ERROR FLAGS* 7511.13
133-3909 *.RDPI -- SUBROUTINE TO READ THE PI BOARDS* 7510.16
135-3973 *.RDSMR -- SUBROUTINE TO READ SMALL KL10 REGISTERS 7511.05
138-4095 *.RDVXX -- KL10 VMA BOARD READ SUBROUTINES* 7510.21
141-4197 *.RESET -- KL10 RESET SUBROUTINES* 7511.18
144-4297 *.RSETI -- RESET KL10 AND ENABLE NORMAL CLOCK AND PARITY* 7511.19
145-4313 *.RESTP -- RESET KL10 AND SAVE CURRENT CLOCK AND PARITY* 7511.19
146-4338 *.RESTD -- RESET THE DTE-20* 7511.19
147-4368 *.STCLK -- START KL10 CLOCK SUBROUTINE* 7509.12
148-4403 *.STPXC -- STOP KL10 CLOCK SUBROUTINE* 7601.09
149-4437 *.STRUN -- SET KL10 RUN FLOP SUBROUTINE* 7601.09
150-4469 *.STUCD -- START KL10 MICROCODE SUBROUTINE* 7511.22
152-4552 *.SYNXC -- SYNCH EBOX CLOCK SUBROUTINE* 7509.03
153-4588 *.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE* 7512.09
160-4869 *.WRTAR -- SUBROUTINE TO WRITE THE KL10 AR REGISTER 7511.05
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46
TABLE OF CONTENTS
161-4916 *.XFRED -- DIAGNOSTIC FUNCTION READ SUBROUTINE* 7511.19
163-4981 *.XFWRT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE* 7511.19
165-5046 *.XFXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE* 7601.09
168-5132 *.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS* 7509.26
170-5186 *GENERAL SUPPORT SUBROUTINES* 7508.26
172-5224 *REGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE* 7509.16
173-5255 *DIRECTIVE PARAMETER BLOCKS* 7508.20
177-5395 *PROGRAM STORAGE* 7508.20
202- 2 KLNUM -- TITLE PAGE
204- 52 EDIT HISTORY/RAB 7511.14
205- 64 KLADD ADD TWO KL NUMBERS
206- 90 KLSUB SUBTRACT ROUTINES
207- 115 VARIOUS UTILITY ROUTINES/RAB 7509.05
209- 164 16 & 36 BIT MANIPULATION ROUTINES
210- 208 KLMULI - MULTIPLY 36 BITS BY 16 BITS
211- 241 KLDIVI - DIVIDE 36 BITS BY 16 BITS
212- 256 MORE 16 & 36 BIT MANIPULATION
214- 310 KL10 LOGICAL OPERATOR SIMULATIONS
215- 343 MORE KL10 LOGICAL OPERATORS
216- 386 MORE MISC KL FUNCTIONS/RAB 7509.19
217- 422 KLLSH - SHIFT A KL NUMBER
218- 454 KLCLR - CLEAR A KL FORMAT NUMBER
219- 473 KLRSH SHIFT A NUMBER RIGHT
222- 2 KLPERR -- TITLE PAGE
223- 33 *ERROR SEVERITY RANGES* 7509.08
224- 47 ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509.08
225- 145 PRTERR -- COMMAND PARSER ERROR DECODER
229- 95 DIRECTORY FILE NAME BLOCK
229- 109 KLERRO.SNP FILE NAME BLOCK
229- 114 FILE ID BLOCK
229- 118 FILE ATTRIBUTE CONTROL BLOCK
229- 129 START UP KLINIT
229- 133 ASSIGN LUN1 TO CTY #0
229- 137 ASSIGN LUN2 TO SY #0
229- 147 DPB FOR READ/WRITE VIRTUAL BLOCK FROM/TO FE DEVICE
229- 152 DPB FOR READ/WRITE MESSAGE FROM/TO CTY0
229- 178 INFORMATIONAL MESSAGES OUTPUT BY KLERR
229- 262 ERROR MESSAGES OUTPUT BY KLERR
229- 284 ASSIGN LOGICAL UNIT NUMBER (LUN) TO SYS DEVICE
229- 298 OUTPUT KLERR RUNNING MSG
229- 314 HALT -10, GET PC, PI, AND ERROR CODE
229- 391 FIND DIRECTORY FILE FROM MASTER FILE DIRECTORY
229- 404 ROUTINE TO FIND FILE ID FOR KLERRO.SNP FILE
229- 421 ROUTINE TO CREATE KLERRO.SNP FILE
229- 436 ROUTINE TO ENTER FILE NAME INTO DIRECTORY
229- 454 ROUTINE TO ACCESS FOR EXTEND FOR KLERRO.SNP
229- 467 ROUTINE TO EXTEND KLERRO.SNP FILE
229- 481 ROUTINE TO WRITE A RECORD
229- 529 SUBROUTINE TO PRINT ERROR HALT MSG
229- 587 SUBROUTINE TO SET UP ERROR CODE
229- 612 CONVERT RAD50 TO ASCII
229- 644 SUBROUTINE TO SET UP PC
229- 675 SUBROUTINE TO SET UP PI
229- 724 SUBROUTINE TO SET UP FILE NAME
229- 740 ROUTINE TO HANDLE QIO READ AND FILE PRIMITIVES
229- 792 ROUTINE TO HANDLE QIO WRITE AND FILE PRIMITIVES
229- 882 ROUTINE TO READ/WRITE FROM/TO CTY 0
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46
TABLE OF CONTENTS
229- 944 COMMON ERROR AND EXIT ROUTINE
KLERR - KL10 ERROR RECORDER MACRO M1108 13-JAN-78 15:46 PAGE 1
1 .TITLE KLERR - KL10 ERROR RECORDER
2 .IDENT /002010/
3
4 ; COPYRIGHT (C) 1975, 1978 BY
5 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
6 ;
7 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
8 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
9 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
10 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
11 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
12 ;
13 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
14 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
15 ; CORPORATION.
16 ;
17 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
18 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
19
20 ;
21 ; VERSION: 02-01
22 ;
23 ; AUTHORS: R.A. BELANGER
24 ; P.A. GAGNER
25 ; T.C. PORCHER
26 ; R.C. BEAVEN
27 ;
28 ; DATE: 7601.09
29 ;
30 ; SET VERSION OF KLERR HERE:
31 ;
32 000002 KLE$$V = 2 ; VERSION 2
33 000002 KLE$$E = 2 ; EDIT 2
34 ;
35 ; RELEASE VERSION
36 ;
37 000126 KLE$$K = 'V ; KEY FOR RELEASE
KLERR - KL10 ERROR RECORDER MACRO M1108 13-JAN-78 15:46 PAGE 2
*RSX20F KL10 COMMAND PARSER ASSEMBLY SWITCHES* 7601.09
39 .SBTTL *RSX20F KL10 COMMAND PARSER ASSEMBLY SWITCHES* 7601.09
40
41 000001 $AGAIN==1 ; INCLUDE AGAIN COMMAND IF .NE. 0
42 000001 $AUTO==1 ; INCLUDE AUTO COMMAND IF .NE.0
43 000000 $RAMSW==0 ; INCLUDE CRAM / DRAM FEATURES IF .NE. 0
44 000000 $DISTB==0 ; INCLUDE DISPATCH TBL IF .NE. 0
45 000000 $HLPSW==0 ; INCLUDE HELP COMMAND IF .NE. 0
46 000001 $LPTSW==1 ; INCLUDE LPT SUPPORT IF .NE. 0
47 000000 $MBPSW==0 ; INCLUDE MBOX PHASE ROUTINE IF .NE. 0
48 000001 $MCRSW==1 ; INCLUDE MCR COMMAND IF .NE.0
49 000001 $RSXSW==1 ; RELY ON RSX FOR DTE-20 IF .NE. 0
50 000001 $SCLCK==1 ; INCLUDE SET CLOCK IF .NE. 0
51 000001 $SPRSW==1 ; INCLUDE PARITY FEATURES IF .NE. 0
52 000000 $T04SW==0 ; INCLUDE TRAP AT 4 CODE IF .NE.0
53 000001 $TRKSW==1 ; INCLUDE TRACK FEATURE IF .NE. 0
54 000000 $TRPSW==0 ; INCLUDE CODE FOR TRAP INSTR IF .NE. 0
55 000001 $TKBSW==1 ; RSX TASK BUILT IF .NE. 0
KLERR - KL10 ERROR RECORDER MACRO M1108 13-JAN-78 15:46 PAGE 3
*RSX20F KL10 COMMAND PARSER ASSEMBLY SWITCHES* 7601.09
57
58 .SBTTL *RSX20F COMMAND PARSER MACRO CALLS* 7601.09
59
60 .MCALL $DEF, QIOSY$, SOB, .INH, .ENB
61 .MCALL ALUN$, QIO$, WTSE$S, SETF$S, QIOW$C, QIOW$
62 .MCALL SVTK$S, RQST$, GSSW$
63 .MCALL .STKM, EXIT$S, CLEF$S
64 .MCALL KLDX$, KLDR$, KLDW$, PREX$, PRDP$
65 .MCALL CALL, RETURN, PUSH, POP
66 .MCALL WTSE$S, MRKT$
67
68 000000 $DEF
69 000000 QIOSY$
70
71 000100 CF.CTC==^D64 ; CONTROL-C TYPED EVENT FLAG
72 000001 CF.HTO==^D1 ; KL10 HALT TIMEOUT EVENT FLAG
73 000002 CF.TID==^D2 ; TERMINAL INPUT DONE EVENT FLAG
74 000003 CF.TOD==^D3 ; TERMINAL OUTPUT DONE EVENT FLAG
75 000004 CF.LOD==^D4 ; LIST DEVICE OUTPUT DONE FLAG
76
77 .ENABL AMA
78 .LIST MEB
KLERR - KL10 ERROR RECORDER MACRO M1108 13-JAN-78 15:46 PAGE 4
*RSX20F COMMAND PARSER MACRO CALLS* 7601.09
80
81 .SBTTL *RSX20F LOCAL MACRO DEFINITIONS* 7511.11
82
83 .MACRO CALLR DEST
84 JMP DEST ; JUMP AND RETURN FROM "DEST"
85 .ENDM CALLR
86
87 .MACRO ERROR$ ERR,DEST
88 ER$'ERR=.
89 .IF NB,DEST
90 MOV (PC)+,DEST ; MOVE .RAD50 ERROR CODE TO DEST
91 .IFF
92 MOV (PC)+,R0 ; MOVE .RAD50 ERROR CODE TO R0
93 .ENDC
94 .RAD50 /ERR/ ; "ERR" ERROR CODE IN .RAD50
95 .ENDM ERROR$
96
97
98 .MACRO CPERR CODE,SEVERE,STRING
99 .PSECT SYMTAA ; ASCII AREA
100 SYMA==.
101 .ASCIZ %CODE - STRING%
102 .PSECT SYMTBS ; RIGHT SECTION
103 .RAD50 /CODE/ ; CODE ERROR
104 .WORD SEVERE ; SEVERITY WORD
105 .WORD SYMA ; LOCATION OF ASCII STRNG
106 .ENDM CPERR
KLERR - KL10 ERROR RECORDER MACRO M1108 13-JAN-78 15:46 PAGE 5
*RSX20F LOCAL MACRO DEFINITIONS* 7511.11
108
109 .SBTTL *SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10
110
111 ; DEFINE KL10 OPCODES
112
113 000270 ADD=270 ; ADD
114 000273 ADDB=273 ; ADD TO BOTH
115 000271 ADDI=271 ; ADD IMMEDIATE
116 000272 ADDM=272 ; ADD TO MEMORY
117
118 000404 AND=404 ; AND
119 000407 ANDB=407 ; AND TO BOTH
120 000410 ANDCA=410 ; AND COMPLEMENT OF AC
121 000413 ANDCAB=413 ; AND COMPLEMENT OF AC TO BOTH
122 000411 ANDCAI=411 ; AND COMPLEMENT OF AC IMMEDIATE
123 000412 ANDCAM=412 ; AND COMPLEMENT OF AC TO MEMORY
124 000440 ANDCB=440 ; AND COMPLEMENT OF BOTH
125 000443 ANDCBB=443 ; AND COMPLEMENT OF BOTH TO BOTH
126 000441 ANDCBI=441 ; AND COMPLEMENT OF BOTH IMMEDIATE
127 000442 ANDCBM=442 ; AND COMPLEMENT OF BOTH TO MEMORY
128 000420 ANDCM=420 ; AND COMPLEMENT OF MEMORY
129 000423 ANDCMB=423 ; AND COMPLEMENT OF MEMORY TO BOTH
130 000421 ANDCMI=421 ; AND COMPLEMENT OF MEMORY IMMEDIATE
131 000422 ANDCMM=422 ; AND COMPLEMENT OF MEMORY TO MEMORY
132 000405 ANDI=405 ; AND IMMEDIATE
133 000406 ANDM=406 ; AND TO MEMORY
134
135 000253 AOBJN=253 ; ADD 1 TO BOTH HALVES, JUMP IF NEGATIVE
136 000252 AOBJP=252 ; ADD 1 TO BOTH HALVES, JUMP IF POSITIVE
137
138 000340 AOJ=340 ; ADD 1 AND (DON'T) JUMP
139 000344 AOJA=344 ; ADD 1 AND JUMP ALWAYS
140 000342 AOJE=342 ; ADD 1 AND JUMP IF .EQ. 0
141 000347 AOJG=347 ; ADD 1 AND JUMP IF .GT. 0
142 000345 AOJGE=345 ; ADD 1 AND JUMP IF .GE. 0
143 000341 AOJL=341 ; ADD 1 AND JUMP IF .LT. 0
144 000343 AOJLE=343 ; ADD 1 AND JUMP IF .LE. 0
145 000346 AOJN=346 ; ADD 1 AND JUMP IF .NE. 0
146
147 000350 AOS=350 ; ADD 1 AND (DON'T) SKIP
148 000354 AOSA=354 ; ADD 1 AND SKIP ALWAYS
149 000352 AOSE=352 ; ADD 1 AND SKIP IF .EQ. 0
150 000357 AOSG=357 ; ADD 1 AND SKIP IF .GT. 0
151 000355 AOSGE=355 ; ADD 1 AND SKIP IF .GT. 0
152 000351 AOSL=351 ; ADD 1 AND SKIP IF .LT. 0
153 000353 AOSLE=353 ; ADD 1 AND SKIP IF .LE. 0
154 000356 AOSN=356 ; ADD 1 AND SKIP IF .NE. 0
155
156 000240 ASH=240 ; ARITHMETIC SHIFT
157 000244 ASHC=244 ; ARITHMETIC SHIFT COMBINED
158
159 000251 BLT=251 ; BLOCK TRANSFER
KLERR - KL10 ERROR RECORDER MACRO M1108 13-JAN-78 15:46 PAGE 6
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10
161
162 000300 CAI=300 ; COMPARE AC IMMEDIATE, DON'T SKIP
163 000304 CAIA=304 ; COMPARE AC IMMEDIATE, SKIP ALWAYS
164 000302 CAIE=302 ; COMPARE AC IMMEDIATE, SKIP IF .EQ.
165 000307 CAIG=307 ; COMPARE AC IMMEDIATE, SKIP IF .GT.
166 000305 CAIGE=305 ; COMPARE AC IMMDEIATE, SKIP IF .GE.
167 000301 CAIL=301 ; COMAPRE AC IMMEDIATE, SKIP IF .LT.
168 000303 CAILE=303 ; COMPARE AC IMMEDIATE, SKIP IF .LE.
169 000306 CAIN=306 ; COMPARE AC IMMEDIATE, SKIP IF .NE.
170
171 000040 CALL=040 ; "CALL" UUO
172 000047 CALLI=047 ; "CALLI" UUO
173
174 000310 CAM=310 ; COMPARE AC TO MEMORY, DON'T SKIP
175 000314 CAMA=314 ; COMPARE AC TO MEMORY, ALWAYS SKIP
176 000312 CAME=312 ; COMPARE AC TO MEMORY, SKIP IF .EQ.
177 000317 CAMG=317 ; COMPAFE AC TO MEMORY, SKIP IF .GT.
178 000315 CAMGE=315 ; COMPARE AC TO MEMORY, SKIP IF .GE.
179 000311 CAML=311 ; COMPARE AC TO MEMORY, SKIP IF .LT.
180 000313 CAMLE=313 ; COMPARE AC TO MEMORY, SKIP IF .LE.
181 000316 CAMN=316 ; COMPARE AC TO MEMORY, SKIP IF .NE.
182
183 000400 CLEAR=400 ; CLEAR AC
184 000403 CLEARB=403 ; CLEAR BOTH
185 000401 CLEARI=401 ; CLEAR IMMEDIATE
186 000402 CLEARM=402 ; CLEAR MEMORY
187
188 000070 CLOSE=070 ; "CLOSE" UUO
189
190 000110 DFAD=110 ; DOUBLE FLOATING ADD
191 000113 DFDV=113 ; DOUBLE FLOATING DIVIDE
192 000112 DFMP=112 ; DOUBLE FLOATING MULTIPLY
193 000131 DFN=131 ; DOUBLE FLOATING NEGATE
194 000111 DFSB=111 ; DOUBLE FLATING SUBTRACT
195
196 000234 DIV=234 ; DIVIDE
197 000237 DIVB=237 ; DIVIDE BOTH
198 000235 DIVI=235 ; DIVIDE IMMEDIATE
199 000236 DIVM=236 ; DIVIDE MEMORY
200
201 000120 DMOVE=120 ; DOUBLE MOVE
202 000124 DMOVEM=124 ; DOUBLE MOVE TO MEMORY
203 000121 DMOVN=121 ; DOUBLE MOVE NEGATED
204 000125 DMOVNM=125 ; DOUBLE MOVE NEGATED TO MEMORY
205
206 000137 DPB=137 ; DEPOSIT BYTE
KLERR - KL10 ERROR RECORDER MACRO M1108 13-JAN-78 15:46 PAGE 7
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10
208
209 000077 ENTER=077 ; "ENTER" UUO
210
211 000444 EQV=444 ; EQUIVALENCE TO AC
212 000447 EQVB=447 ; EQUIVALENCE TO BOTH
213 000445 EQVI=445 ; EQUIVALENCE IMMEDIATE
214 000446 EQVM=446 ; EQUIVALENCE TO MEMORY
215
216 000250 EXCH=250 ; EXCHANGE
217
218 000140 FAD=140 ; FLOATING ADD
219 000143 FADB=143 ; FLOATING ADD BOTH
220 000141 FADL=141 ; FLOATING ADD LONG
221 000142 FADM=142 ; FLOATING ADD MEMORY
222
223 000144 FADR=144 ; FLOATING ADD, ROUNDED
224 000147 FADRB=147 ; FLOATING ADD, ROUNDED TO BOTH
225 000145 FADRI=145 ; FLOATING ADD, ROUNDED IMMEDIATE
226 000146 FADRM=146 ; FLOATING ADD, ROUNDED TO MEMORY
227
228 000170 FDV=170 ; FLOATING DIVIDE
229 000173 FDVB=173 ; FLOATING DIVIDE TO BOTH
230 000171 FDVL=171 ; FLOATING DIVIDE LONG
231 000172 FDVM=172 ; FLOATING DIVIDE TO MEMORY
232
233 000174 FDVR=174 ; FLOATING DIVIDE, ROUNDED
234 000177 FDVRB=177 ; FLOATING DIVIDE, ROUNDED TO BOTH
235 000175 FDVRI=175 ; FLOATING DIVIDE, ROUNDED IMMMEDIATE
236 000176 FDVRM=176 ; FLOATING DIVIDE, ROUNDED TO MEMORY
237
238 000122 FIX=122 ; FIX
239 000126 FIXR=126 ; FIX AND ROUND
240
241 000127 FLTR=127 ; FLOAT AND ROUND
242
243 000160 FMP=160 ; FLOATING MULTIPLY
244 000163 FMPB=163 ; FLOATING MULTIPLY TO BOTH
245 000161 FMPL=161 ; FLOATING MULTIPLY LONG
246 000162 FMPM=162 ; FLOATING MULTIPLY TO MEMORY
247
248 000164 FMPR=164 ; FLOATING MUTIPLY ROUNDED
249 000167 FMPRB=167 ; FLOATING MULTIPLY ROUNDED, TO BOTH
250 000165 FMPRI=165 ; FLOATING MULTIPLY ROUNDED, IMMEDIATE
251 000166 FMPRM=166 ; FLOATING MULTIPLY ROUNDED, TO MEMORY
252
253 000150 FSB=150 ; FLOATING SUBTRACT
254 000153 FSBB=153 ; FLOATING SUBTRACT TO BOTH
255 000151 FSBL=151 ; FLOATING SUBTRACT LONG
256 000152 FSBM=152 ; FLOATING SUBTRACT TO MEMORY
KLERR - KL10 ERROR RECORDER MACRO M1108 13-JAN-78 15:46 PAGE 8
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10
258
259 000154 FSBR=154 ; FLOATING SUBTRACT ROUNDED
260 000157 FSBRB=157 ; FLOATING SUBTRACT ROUNDED, TO BOTH
261 000155 FSBRI=155 ; FLOATING SUBTRACT ROUNDED, IMMEDIATE
262 000156 FSBRM=156 ; FLOATING SUBTRACT ROUNDED, TO MEMORY
263
264 000132 FSC=132 ; FLOATING SCALE
265
266 000062 GETSTS=062 ; "GETSTS" UUO
267
268 000500 HLL=500 ; HALFWORD LEFT TO LEFT
269 000530 HLLE=530 ; " " " " EXTEND
270 000531 HLLEI=531 ; " " " " " IMMEDIATE
271 000532 HLLEM=532 ; " " " " " TO MEMORY
272 000533 HLLES=533 ; " " " " " TO SELF
273
274 000501 HLLI=501 ; HALFWORD LEFT TO LEFT IMMEDIATE
275 000502 HLLM=502 ; " " " " TO MEMORY
276
277 000520 HLLO=520 ; " " " " ONES
278 000521 HLLOI=521 ; " " " " " IMMEDIATE
279 000522 HLLOM=522 ; " " " " " MEMORY
280 000523 HLLOS=523 ; " " " " " SELF
281
282 000503 HLLS=503 ; HALFWORD LEFT TO LEFT SELF
283
284 000510 HLLZ=510 ; HALFWORD LEFT TO LEFT ZERO, ET AL.
285 000511 HLLZI=511
286 000512 HLLZM=512
287 000513 HLLZS=513
288
289 000544 HLR=544 ; HALFWORD LEFT TO RIGHT
290
291 000574 HLRE=574 ; HALFWORD LEFT TO RIGHT EXTEND, ET AL.
292 000575 HLREI=575
293 000576 HLREM=576
294 000577 HLRES=577
295
296 000564 HLRO=564 ; HALFWORD LEFT TO RIGHT ONES, ET AL.
297 000565 HLROI=565
298 000566 HLROM=566
299 000567 HLROS=567
300
301 000547 HLRS=547 ; HALFWORD LEFT TO RIGHT SELF
302
303 000554 HLRZ=554 ; HALFWORD LEFT TO RIGHT ZEROS, ET AL.
304 000555 HLRZI=555
305 000556 HLRZM=556
306 000557 HLRZS=557
KLERR - KL10 ERROR RECORDER MACRO M1108 13-JAN-78 15:46 PAGE 9
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10
308
309 000504 HRL=504 ; HALFWORD RIGHT TO LEFT
310
311 000534 HRLE=534 ; HALFWORD RIGHT TO LEFT EXTEND, ET AL.
312 000535 HRLEI=535
313 000536 HRLEM=536
314 000537 HRLES=537
315
316 000505 HRLI=505 ; HALFWORD RIGHT TO LEFT IMMEDIATE
317 000506 HRLM=506 ; " " " " MEMORY
318
319 000564 HRLO=564 ; HALFWORD RIGHT TO LEFT ONES, ET AL.
320 000565 HRLOI=565
321 000566 HRLOM=566
322 000567 HRLOS=567
323
324 000507 HRLS=507 ; HALFWORD RIGHT TO LEFT SELF
325
326 000514 HRLZ=514 ; HALFWORD RIGHT TO LEFT ZERO, ET AL.
327 000515 HRLZI=515
328 000516 HRLZM=516
329 000517 HRLZS=517
330
331 000540 HRR=540 ; HALFWORD RIGHT TO RIGHT
332
333 000570 HRRE=570 ; HALFWORD RIGHT TO RIGHT EXTEND, ET AL.
334 000571 HRREI=571
335 000572 HRREM=572
336 000573 HRRES=573
337
338 000541 HRRI=541 ; HALFWORD RIGHT TO RIGHT IMMEDIATE
339 000542 HRRM=542 ; " " " " MEMORY
340
341 000560 HRRO=560 ; HALFWORD RIGHT TO RIGHT ONES, ET AL.
342 000561 HRROI=561
343 000562 HRROM=562
344 000563 HRROS=563
345
346 000543 HRRS=543
347
348 000550 HRRZ=550 ; HALFWORD RIGHT TO RIGHT ZERO, ET AL.
349 000551 HRRZI=551
350 000552 HRRZM=552
351 000553 HRRZS=553
KLERR - KL10 ERROR RECORDER MACRO M1108 13-JAN-78 15:46 PAGE 10
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10
353
354 000133 IBP=133 ; INCREMENT BYTE POINTER
355
356 000230 IDIV=230 ; INTEGER DIVIDE
357 000233 IDIVB=233 ; " " BOTH
358 000231 IDIVI=231 ; " " IMMEDIATE
359 000232 IDIVM=232 ; " " MEMORY
360
361 000136 IDPB=136 ; INCREMENT AND DEPOSIT BYTE
362
363 000134 ILDB=134 ; DECREMENT AND LOAD BYTE
364
365 000220 IMUL=220 ; INTEGER MULTIPLY
366 000223 IMULB=223 ; " " BOTH
367 000221 IMULI=221 ; " " IMMEDIATE
368 000222 IMULM=222 ; " " MEMORY
369
370 000056 IN=056 ; "IN" UUO
371 000064 INBUF=064 ; "INBUF" UUO
372 000041 INIT=041 ; "INIT" UUO
373 000066 INPUT=066 ; "INPUT" UUO
374
375 000434 IOR=434 ; INCLUSIVE OR, ET AL.
376 000437 IORB=437
377 000435 IORI=435
378 000436 IORM=436
379
380 000255 JFCL=255 ; JUMP ON FLAGS AND CLEAR
381
382 000243 JFFO=243 ; JUMP IF FOUND FIRST 1
383
384 000267 JRA=267 ; JUMP AND RESTORE AC
385
386 000254 JRST=254 ; JUMP AND RESTORE (PC FLAGS)
387
388 000266 JSA=266 ; JUMP AND SAVE AC
389
390 000265 JSP=265 ; JUMP AND SAVE PC
391
392 000264 JSR=264 ; JUMP TO SUBROUTINE
393
394 000320 JUMP=320 ; JUMP (NEVER)
395 000324 JUMPA=324 ; JUMP ALWAYS
396 000322 JUMPE=322 ; JUMP IF AC .EQ. 0
397 000327 JUMPG=327 ; JUMP IF AC .GT. 0
398 000325 JUMPGE=325 ; JUMP IF AC .GE. 0
399 000321 JUMPL=321 ; JUMP IF AC .LT. 0
400 000323 JUMPLE=323 ; JUMP IF AC .LE. 0
401 000326 JUMPN=326 ; JUMP IF AC .NE. 0
402
403 000700 KLIOT=700 ; I/O INSTRUCTION BASE
KLERR - KL10 ERROR RECORDER MACRO M1108 13-JAN-78 15:46 PAGE 11
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10
405
406 000135 LDB=135 ; LOAD BYTE
407
408 000076 LOOKUP=076 ; "LOOKUP" UUO
409
410 000242 LSH=242 ; LOGICAL SHIFT
411 000246 LSHC=246 ; LOGICAL SHIFT COMBINED
412
413 000257 MAP=257 ; MAP PAGED ADDRESS
414
415 000200 MOVE=200 ; MOVE
416 000201 MOVEI=201 ; MOVE IMMEDIATE
417 000202 MOVEM=202 ; MOVE TO MEMORY
418 000203 MOVES=203 ; MOVE TO SELF
419
420 000214 MOVM=214 ; MOVE MAGNITUDE, ET AL.
421 000215 MOVMI=215
422 000216 MOVMM=216
423 000217 MOVMS=217
424
425 000210 MOVN=210 ; MOVE NEGATED, ET AL.
426 000211 MOVNI=211
427 000212 MOVNM=212
428 000213 MOVNS=213
429
430 000204 MOVS=204 ; MOVE SWAPPED, ET AL.
431 000205 MOVSI=205
432 000206 MOVSM=206
433 000207 MOVSS=207
434
435 000224 MUL=224 ; MULTIPLY
436 000227 MULB=227 ; MULTIPLY BOTH
437 000225 MULI=225 ; MULTIPLY IMMEDIATE
438 000226 MULM=226 ; MULTIPLY MEMORY
439
440 000050 OPEN=050 ; "OPEN" UUO
441
442 000434 OR=IOR ; (INCLUSIVE) OR, ET AL.
443 000437 ORB=IORB
444
445 000454 ORCA=454 ; OR WITH COMPLEMENT OF AC
446 000457 ORCAB=457 ; " " " " " BOTH
447 000455 ORCAI=455 ; " " " " " IMMEDIATE
448 000456 ORCAM=456 ; " " " " " MEMORY
KLERR - KL10 ERROR RECORDER MACRO M1108 13-JAN-78 15:46 PAGE 12
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10
450
451 000470 ORCB=470 ; OR WITH COMPLEMENT OF BOTH, ET AL.
452 000473 ORCBB=473
453 000471 ORCBI=471
454 000472 ORCBM=472
455
456 000464 ORCM=464 ; OR WITH COMPLEMENT OF MEMORY, ET AL.
457 000467 ORCMB=467
458 000465 ORCMI=465
459 000466 ORCMM=466
460
461 000435 ORI=IORI ; (INCLUSIVE) OR, ET AL.
462 000436 ORM=IORM
463
464 000057 OUT=057 ; "OUT" UUO
465 000065 OUTBUF=065 ; "OUTBUF" UUO
466 000067 OUTPUT=067 ; "OUTPUT" UUO
467
468 000262 POP=262 ; POP
469 000263 POPJ=263 ; POP (RETURN) AND JUMP
470
471 000261 PUSH=261 ; PUSH
472 000260 PUSHJ=260 ; PUSH (RETURN) AND JUMP
473
474 000071 RELEAS=071 ; "RELEAS(E)" UUO
475 000055 RENAME=055 ; "RENAME" UUO
476
477 000241 ROT=241 ; ROTATE
478 000245 ROTC=245 ; ROTATE COMBINED
479
480 000424 SETA=424 ; SET TO AC
481 000427 SETAB=427 ; " " " BOTH
482 000425 SETAI=425 ; " " " IMMEDIATE
483 000426 SETAM=426 ; " " " MEMORY
484
485 000450 SETCA=450 ; SET TO COMPLEMENT OF AC, ET AL.
486 000453 SETCAB=453
487 000451 SETCAI=451
488 000452 SETCAM=452
489
490 000460 SETCM=460 ; SET TO COMLEMENT OF MEMORY, ET AL.
491 000463 SETCMB=463
492 000461 SETCMI=461
493 000462 SETCMM=462
KLERR - KL10 ERROR RECORDER MACRO M1108 13-JAN-78 15:46 PAGE 13
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10
495
496 000414 SETM=414 ; SET TO MEMORY, ET AL
497 000417 SETMB=417
498 000415 SETMI=415
499 000416 SETMM=416
500
501 000474 SETO=474 ; SET TO ONES, ET AL.
502 000477 SETOB=477
503 000475 SETOI=475
504 000476 SETOM=476
505
506 000060 SETSTS=060 ; "SETSTS" UUO
507
508 000400 SETZ=400 ; SET TO ZEROS, ET AL
509 000403 SETZB=403
510 000401 SETZI=401
511 000402 SETZM=402
512
513 000330 SKIP=330 ; SKIP (NEVER)
514 000334 SKIPA=334 ; SKIP ALWAYS
515 000332 SKIPE=332 ; SKIP IF MEMORY .EQ. 0
516 000337 SKIPG=337 ; SKIP IF MEMORY .GT. 0
517 000335 SKIPGE=335 ; SKIP IF MEMORY .GE. 0
518 000331 SKIPL=331 ; SKIP IF MEMORY .LT. 0
519 000333 SKIPLE=333 ; SKIP OF MEMORY .LE. 0
520 000336 SKIPN=336 ; SKIP IF MEMORY .NE. 0
521
522 000360 SOJ=360 ; SUBTRACT 1 AND NEVER JUMP
523 000364 SOJA=364 ; SUBTRACT 1 (FROM AC) AND ALWAYS JUMP
524 000362 SOJE=362 ; SUBTRACT 1 AND JUMP IF AC .EQ. 0
525 000367 SOJG=367 ; SUBTRACT 1 AND JUMP IF AC .GT. 0
526 000365 SOJGE=365 ; SUBTRACT 1 AND JUMP IF AC .GE. 0
527 000361 SOJL=361 ; SUBTRACT 1 AND JUMP IF AC .LT. 0
528 000363 SOJLE=363 ; SUBTRACT 1 AND JUMP IF AC .LE. 0
529 000366 SOJN=366 ; SUBTRACT 1 AND JUMP IF AC .NE. 0
530
531 000370 SOS=370 ; SUBTRACT 1 (FROM MEMORY) AND NEVER SKIP
532 000374 SOSA=374 ; SUBTRACT 1 AND ALWAYS SKIP
533 000372 SOSE=372 ; SUBTRACT 1 AND SKIP IF .EQ. 0
534 000377 SOSG=377 ; SUBTRACT 1 AND SKIP IF .GT. 0
535 000375 SOSGE=375 ; SUBTRACT 1 AND SKIP IF .GE. 0
536 000371 SOSL=371 ; SUBTRACT 1 AND SKIP IF .LT. 0
537 000373 SOSLE=373 ; SUBTRACT 1 AND SKIP IF .LE. 0
538 000376 SOSN=376 ; SUBTRACT 1 AND SKIP IF .NE. 0
539
540 000061 STATO=061 ; "STATO" UUO
541 000062 STATUS=062 ; "STATUS" UUO
542 000063 STATZ=063 ; "STATZ" UUO
KLERR - KL10 ERROR RECORDER MACRO M1108 13-JAN-78 15:46 PAGE 14
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10
544
545 000274 SUB=274 ; SUBTRACT
546 000277 SUBB=277 ; SUBTRACT BOTH
547 000275 SUBI=275 ; SUBTRACT IMMEDIATE
548 000276 SUBM=276 ; SUBTRACT MEMORY
549
550 000650 TDC=650 ; TEST DIRECT COMPLEMENT NEVER SKIP
551 000654 TDCA=654 ; " " " SKIP ALWAYS
552 000652 TDCE=652 ; " " " " ON ZERO
553 000656 TDCN=656 ; " " " " ON NON-ZERO
554
555 000610 TDN=610 ; TEST DIRECT NO MODIFICATION, ET AL.
556 000614 TDNA=614
557 000612 TDNE=612
558 000616 TDNN=616
559
560 000670 TDO=670 ; TEST DIRECT ONES, ET AL.
561 000674 TDOA=674
562 000672 TDOE=672
563 000676 TDON=676
564
565 000630 TDZ=630 ; TEST DIRECT ZEROS, ET AL.
566 000634 TDZA=634
567 000632 TDZE=632
568 000636 TDZN=636
569
570 000641 TLC=641 ; TEST LEFT COMPLEMENT, ET AL.
571 000645 TLCA=645
572 000643 TLCE=643
573 000647 TLCN=647
574
575 000601 TLN=601 ; TEST LEFT NO MODIFICATION, ET AL.
576 000605 TLNA=605
577 000603 TLNE=603
578 000607 TLNN=607
579
580 000661 TLO=661 ; TEST LEFT ONES, ET AL.
581 000665 TLOA=665
582 000663 TLOE=663
583 000667 TLON=667
584
585 000621 TLZ=621 ; TEST LEFT ZEROS, ET AL.
586 000625 TLZA=625
587 000623 TLZE=623
588 000627 TLZN=627
589
590 000640 TRC=640 ; TEST RIGHT COMPLEMENT, ET AL.
591 000644 TRCA=644
592 000642 TRCE=642
593 000646 TRCN=646
594
595 000600 TRN=600 ; TEST RIGHT NO MODIFICATION, ET AL.
596 000604 TRNA=604
597 000602 TRNE=602
598 000606 TRNN=606
KLERR - KL10 ERROR RECORDER MACRO M1108 13-JAN-78 15:46 PAGE 15
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10
600
601 000660 TRO=660 ; TEST RIGHT ONES, ET AL.
602 000664 TROA=664
603 000662 TROE=662
604 000666 TRON=666
605
606 000620 TRZ=620 ; TEST RIGHT ZEROS, ET AL.
607 000624 TRZA=624
608 000622 TRZE=622
609 000626 TRZN=626
610
611 000651 TSC=651 ; TEST SWAPPED COMLEMENT, ET AL.
612 000655 TSCA=655
613 000653 TSCE=653
614 000657 TSCN=657
615
616 000611 TSN=611 ; TEST SWAPPED NO MODIFICATION, ET AL.
617 000615 TSNA=615
618 000613 TSNE=613
619 000617 TSNN=617
620
621 000671 TSO=671 ; TEST SWAPPED ONES, ET AL.
622 000675 TSOA=675
623 000673 TSOE=673
624 000677 TSON=677
625
626 000631 TSZ=631 ; TEST SWAPPED ZEROS, ET AL.
627 000635 TSZA=635
628 000633 TSZE=633
629 000637 TSZN=637
630
631 000051 TTCALL=051 ; "TTCALL" UUO
632
633 000073 UGETF=073 ; "UGETF" UUO
634
635 000100 UJEN=100 ; "UJEN" CALL
636
637 000074 USETI=074 ; "USETI" UUO
638 000075 USETO=075 ; "USETO" UUO
639
640 000256 XCT=256 ; EXECUTE
641
642 000430 XOR=430 ; EXCLUSIVE OR, ET AL.
643 000433 XORB=433
644 000431 XORI=431
645 000432 XORM=432
KLERR - KL10 ERROR RECORDER MACRO M1108 13-JAN-78 15:46 PAGE 16
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10
647
648 ; DEFINE KL10 I/O OPCODES
649
650 000000 BLKI=0 ; BLOCK IN
651 000001 DATAI=1 ; DATA IN
652 000002 BLKO=2 ; BLOCK OUT
653 000003 DATAO=3 ; DATA OUT
654 000004 CONO=4 ; CONDITIONS OUT
655 000005 CONI=5 ; CONDITIONS IN
656 000006 CONSZ=6 ; " " SKIP IF ZERO
657 000007 CONSO=7 ; " " " " ONES
658
659 ; DEFINE KL10 INTERNAL I/O DEVICES
660
661 000000 APR=0 ; ARITHMETIC PROCESSOR (ALU)
662 000004 PI=4 ; PRIORITY INTERRUPT SYSTEM
663 000010 PAG=10 ; PAGING SYSTEM
664 000014 CCA=14 ; CACHE CONTROL
665
666 ; DEFINE KL10 INSTRUCTION MACRO
667
668 .MACRO I10$ OP,DAC,DI,DAD,DXR
669 ADH=0
670 ADL=0
671 .IF NB,DAD
672 .IRPC AD1,DAD
673 .IIF GE,<ADL-10000>,ADH=ADL/10000
674 ADL=10*<ADL&7777>+AD1
675 .ENDR
676 .ENDC ; .IF NB
677 .IIF B,DAC,AC=0
678 .IIF NB,DAC,AC=DAC
679 .IIF B,DI,I=0
680 .IIF NB,DI,I=DI
681 .IIF B,DXR,XR=0
682 .IIF NB,DXR,XR=DXR
683 $$A=<ADL&377>
684 $$B=<<ADL/400>!<ADH*200&377>>
685 $$C=<AC&1*200+<I*100+<XR*4>>+<ADH/2>>
686 $$D=<OP&37*10+<AC/2>>
687 $$E=<OP/40>
688 $$F=0
689 .BYTE $$A,$$B
690 .BYTE $$C,$$D
691 .BYTE $$E,$$F
692 .ENDM I10$
KLERR - KL10 ERROR RECORDER MACRO M1108 13-JAN-78 15:46 PAGE 17
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10
694
695 ; DEFINE KL10 I/O INSTRUCTION MACRO
696
697 .MACRO IO10$ OP,DDV,DI,DAD,DXR
698 .IIF B,DI,I=0
699 .IIF NB,DI,I=DI
700 .IIF B,DXR,XR=0
701 .IIF NB,DXR,XR=DXR
702 ADH = 0
703 ADL = 0
704 .IRPC AD1,DAD
705 .IIF GE,<ADL-10000>, ADH=ADL/10000
706 ADL=10*<ADL&7777>+AD1
707 .ENDR
708 $$A=<ADL&377>
709 $$B=<<ADL/400>!<ADH*200&377>>
710 $$C=<OP&1*200+<I*100+<XR*4>>+<ADH/2>>
711 $$D=<DDV&374+<OP/2>>
712 $$E=<DDV/400+16>
713 $$F=0
714 .BYTE $$A,$$B
715 .BYTE $$C,$$D
716 .BYTE $$E,$$F
717 .ENDM IO10$
KLERR - KL10 ERROR RECORDER MACRO M1108 13-JAN-78 15:46 PAGE 18
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10
719
KLESUB - CREATE SNAPSHOT RECOR MACRO M1108 13-JAN-78 15:46 PAGE 19
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10
1 .TITLE KLESUB - CREATE SNAPSHOT RECORD
2
3 .IDENT /002000/
4 ;+
5
6 ; COPYRIGHT (C) 1975, 1978 BY
7 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
8 ;
9 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
10 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
11 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
12 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
13 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
14 ;
15 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
16 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
17 ; CORPORATION.
18 ;
19 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
20 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
21
22
23
24 ; THE FOLLOWING IS A PICTURE OF
25 ; THE KLERR SNAPSHOT FILE RECORD.
26 ;
27 ; WORD DATA
28 ;
29 ;
30 ; ------------------------------------------------
31 ; 0 ! KLERR FILE TYPE (VERSION NUMBER) ! KR.FTY
32 ; ------------------------------------------------
33 ; 2 ! RECORD LENGTH IN WORDS ! KR.RLC
34 ; ------------------------------------------------
35 ; 4 ! TIME OF DAY ! KR.TIM
36 ; ------------------------------------------------
37 ; 24 ! KL10 SERIAL NUMBER ! KR.KSN
38 ; ------------------------------------------------
39 ; 26 ! FE SERIAL NUMBER ! KR.ESN
40 ; ------------------------------------------------
41 ; 30 ! MICROCODE VERSION NUMBER ! KR.UVN
42 ; ------------------------------------------------
43 ; 32 ! KL10 MONITOR VERSION ! KR.MVN
44 ; ------------------------------------------------
45 ; 42 ! RSX VERSION NUMBER ! KR.RVN
46 ; ------------------------------------------------
47 ; 46 ! ERROR CODE ! KR.ECD
48 ; ------------------------------------------------
49 ; 50 ! DTE DIAG 1 ! KR.DG1
50 ; ------------------------------------------------
51 ; 52 ! DTE DIAG 2 ! KR.DG2
52 ; ------------------------------------------------
53 ; 54 ! DTE DIAG STATUS ! KR.DGS
54 ; ------------------------------------------------
55 ; 56 ! DTE DIAG 3 ! KR.DG3
56 ; ------------------------------------------------
57 ; 60 . . KR.FNR
KLESUB - CREATE SNAPSHOT RECOR MACRO M1108 13-JAN-78 15:46 PAGE 19-1
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10
58 ; . .
59 ; . .
60 ; ! DATA FROM FR 100-177 !
61 ; . .
62 ; . .
63 ; . .
64 ; ------------------------------------------------
65 ; 660 ! KLERR RAD50 ERROR (IF ANY) ! KR.IPE
66 ; ------------------------------------------------
67 ; ! !
68 ; . RESERVED FOR EXPANSION BY DEC !
69 ; ! !
70 ; ------------------------------------------------
71 ; 676 ! CHECKSUM FOR ABOVE DATA ! KR.CHK
72 ; ------------------------------------------------
73 ;
74 ; [CURRENT END OF RECORD]
75 ;
76 ;
77 ; THE FOLLOWING DATA IS NOT CURRENTLY WRITTEN.
78 ; THE INTENT IS TO SOMEDAY SUPPLY DATA ON THE
79 ; BAD PARITY CRAM, DRAM, AND FM WORDS IF THEY
80 ; ARE DETECTED DURING A SWEEP.
81 ;
82 ; ------------------------------------------------
83 ; 1000 ! VARIABLE FORMAT DATA TYPE !
84 ; ------------------------------------------------
85 ; 1002 . .
86 ; . .
87 ; . VARIABLE FORMAT DATA .
88 ; . .
89 ; . .
90 ; ------------------------------------------------
91 ;-
KLESUB - CREATE SNAPSHOT RECOR MACRO M1108 13-JAN-78 15:46 PAGE 20
ROUTINE TO SETUP FIXED BLOCK
93 .SBTTL ROUTINE TO SETUP FIXED BLOCK
94
95 ;
96 ; THIS SETS UP A BLOCK AT (R0).
97 ; THE FORMAT IS AS ABOVE
98 ;
99 .MCALL GTIM$S
100 000000 .KLRSN:: ;SNAPSHOT KL10
101 000000 PUSH <R1,R2,R3> ;WORKING REGS
000000 010146 MOV R1,-(SP)
000002 010246 MOV R2,-(SP)
000004 010346 MOV R3,-(SP)
102 000006 010001 MOV R0,R1 ;PTR TO BLOCK
103 000010 012721 000001 MOV #1,(R1)+ ;0 - KLERR FILE VERSION
104 000014 012721 001000 MOV #1000,(R1)+ ;2 - FILE RECORD LENGTH
105 000020 PUSH R1 ;SAVE R1
000020 010146 MOV R1,-(SP)
106 000022 GTIM$S R1 ;4 - TIME OF UNIVERSE
000022 010146 MOV R1,-(SP)
000024 012746 MOV (PC)+,-(SP)
000026 073 002 .BYTE 59.,2
000030 104375 EMT 375
107 000032 POP R1 ;RESTORE R1
000032 012601 MOV (SP)+,R1
108 000034 062701 000020 ADD #20,R1 ;PAST TIME
109 000040 005021 CLR (R1)+ ;24 - KL10 SERIAL #
110 000042 005021 CLR (R1)+ ;26 - FE SERIAL #
111 000044 005021 CLR (R1)+ ;30 - MICRO CODE VERS #
112 000046 005021 CLR (R1)+ ;32 - KL10 PROG NAME
113 000050 005021 CLR (R1)+ ;34
114 000052 005021 CLR (R1)+ ;36
115 000054 005021 CLR (R1)+ ;40
116 000056 005021 CLR (R1)+ ;42 - RSX VERSION #
117 000060 005021 CLR (R1)+ ;44 - "
118 000062 CALL .RDIPE ;READ INTERNAL PARITY ERROR
000062 004737 004566' JSR PC,.RDIPE
119 000066 103442 BCS 7$ ; ERROR?
120 000070 010021 MOV R0,(R1)+ ;INTO BLOCK
121 000072 CALL .DTDW1 ;DIAG 1
000072 004737 000476' JSR PC,.DTDW1
122 000076 103436 BCS 7$
123 000100 010021 MOV R0,(R1)+ ;50
124 000102 CALL .DTDW2 ;DIAG 2
000102 004737 000504' JSR PC,.DTDW2
125 000106 103432 BCS 7$
126 000110 010021 MOV R0,(R1)+ ;52
127 000112 CALL .DTSTA ;STATUS
000112 004737 000514' JSR PC,.DTSTA
128 000116 103426 BCS 7$
129 000120 010021 MOV R0,(R1)+ ;54
130 000122 CALL .DTDW3 ;DIAG 3
000122 004737 000524' JSR PC,.DTDW3
131 000126 103422 BCS 7$
132 000130 010021 MOV R0,(R1)+ ;56
133 000132 010100 MOV R1,R0 ;POINT TO BLOCK
134 000134 CALL .RDALL ;60 - DO FR 100-177
000134 004737 003506' JSR PC,.RDALL
KLESUB - CREATE SNAPSHOT RECOR MACRO M1108 13-JAN-78 15:46 PAGE 20-1
ROUTINE TO SETUP FIXED BLOCK
135 000140 103415 BCS 7$
136 000142 062701 000600 ADD #600,R1 ;OFFSET
137 ;REST OF BLOCK IS BLANK,
138 ; SO IGNORE, EXCEPT THAT
139 ; WORD 676 IS CHECKSUM,
140 ; SO COMPUTE THAT
141 000146 062701 000016 ADD #16,R1 ;BRING US TO 676 WITH R1
142 000152 010100 MOV R1,R0 ;NOW GET FIRST ADDR
143 000154 162700 000676 SUB #676,R0 ;INTO R0
144 000160 005003 CLR R3 ;CHECKSUM CNTR
145 000162 6$:
146 000162 062003 ADD (R0)+,R3 ;DO THIS UNTIL
147 000164 020001 CMP R0,R1 ;THE LAST WORD REACHED
148 000166 001375 BNE 6$ ; WHEN DONE
149 000170 010311 MOV R3,(R1) ;STORE THE RESULT
150 000172 000241 CLC
151 000174 7$: POP <R3,R2,R1>
000174 012603 MOV (SP)+,R3
000176 012602 MOV (SP)+,R2
000200 012601 MOV (SP)+,R1
152 000202 RETURN
000202 000207 RTS PC
153
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 21
ROUTINE TO SETUP FIXED BLOCK
1 .TITLE COMSUB *KL10 COMMAND PARSER SUBROUTNES -- V. 75* R.A. BELANGER (RAB)/RAB/PAG
2 .SBTTL *LOCAL DEFINITIONS AND PARAMETERS* 7601.09
3
4 .IDENT /002000/
5
6
7 ; COPYRIGHT (C) 1975, 1978 BY
8 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
9 ;
10 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
11 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
12 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
13 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
14 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
15 ;
16 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
17 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
18 ; CORPORATION.
19 ;
20 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
21 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
22
23
24 ; VERSION: X01
25 ;
26 ; AUTHORS: R.A. BELANGER
27 ; P.A. GAGNER
28 ; T.C. PORCHER
29 ; R.C. BEAVEN
30 ;
31 ; DATE: 7601.09
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 22
*LOCAL DEFINITIONS AND PARAMETERS* 7601.09
33 ; AGMD
34
35 ;+
36 ; COMSUB -- KL10 COMMAND PARSER SUBROUTINES -- V. 75
37 ;
38 ; DATE NOTATION:
39 ;
40 ; DATES ARE OF THE FORMAT: "YYMM.DD", FOR THE YEAR, MONTH AND DATE.
41 ;
42 ; NAMING CONVENTIONS:
43 ;
44 ; .XXXXX -- INDICATES A GLOBAL SUBROUTINE OR VARIABLE NAME WITHIN
45 ; THE COMMAND PARSER SUBROUTINE MODULE. (COMSUB)
46 ;
47 ; ZXXXXX -- INDICATES A HIGHER LEVEL COMMAND ROUTINE IN THE COMMAND
48 ; PARSER MODULE. (PARISH)
49 ;
50 ; KLXXXX -- INDICATES A KL10 EMULATION ROUTINE IN THE KL10 EMULATOR
51 ; MODULE. (KLNUM).
52 ;
53 ; XX.YYY -- INDICATES A GLOBAL CONSTANT NAME IN THE COMMAND PARSER.
54 ;
55 ; CALL / RETURN CONVENTIONS:
56 ;
57 ; SUBROUTINES ARE CALLED VIA THE "JSR" INSTRUCTION, AND RETURN
58 ; VIA THE "RTS" INSTRUCTION. IN ALL CASES, SUBROUTINE FAILURE IS
59 ; INDICATED BY THE C-BIT IN THE PSW SET ON RETURN.
60 ;
61 ; REGISTER CONVENTIONS:
62 ;
63 ; R0 -- CONTAINS AN ARGUMENT, OR, LESS FREQUENTLY A POINTER TO ARGUMENTS
64 ; PASSED IN A SUBROOUTINE CALL. ON RETURN, R0 CONTAINS A RETURNED
65 ; ARGUMENT FROM THE SUBROUTINE OR AN ERROR CODE; R0 IS CONSIDERED
66 ; A VOLATILE REGISTER.
67 ;
68 ; R1 -- CONTAINS A POINTER TO ARGUMENTS PASSED IN A SUBROUTINE CALL;
69 ; R1 IS UNCHANGED ON RETURN AND IS SEMI-VOLATILE.
70 ;
71 ; R2 THRU R7 ARE NON VOLATILE REGISTERS.
72 ;
73 ; STACK DEPTH NOATATION:
74 ;
75 ; THE FIRST NON-BLANK CHARACTER IN THE COMMENT FIELD (AFTER THE
76 ; SEMI-COLON) INDICATES STACK DEPTH WITHIN THE SUBROUTINE. A
77 ; PERIOD, ".", IS USED AS THE STACK DEPTH INDICATOR; EACH PERIOD
78 ; IS ONE LOCATION ON THE STACK.
79 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 23
*COMSUB HISTORY OF EDITS* 7601.09
81 .SBTTL *COMSUB HISTORY OF EDITS* 7601.09
82
83 .MACRO VERC Q
84 VERSC = Q
85 .PSECT SYMTAA
86 .EVEN
87 VSUB:
88 .ASCII /Q/ ; ASCII FOR INIT MESSAGE
89 .EVEN
90 .PSECT
91 .ENDM VERC
92
93 000204 VERC 75 ; CURRENT VERSION
000000 067 065 .ASCII /75/ ; ASCII FOR INIT MESSAGE
94 ; 75 7601.09 (RAB)
95 ; MODIFIED ".KLFLG" MAINTENANCE IN ".CLRFF", ".STRUN", AND ".XFXCT".
96 ; MADE ".EXKLM", ".DPKLM", ".FREAD", ".FWRIT", AND ".FXCT" RUN AT PRI 7 WHILE TRANSFERRING DATA.
97 ; ADDED "MARK TIME" TO ".KLHLT", ".CLRFF", AND ".STPXC"..
98 ;
99
100 ; 74 7601.06 (RAB)
101 ; ADDED CHECK FOR "D1.RUN" + "D1.HLP" IN ".INIT".
102 ; MADE ".STCLK" CHECK FOR CLOCK ERROR STOP.
103 ;
104 ; 73 7601.05 (RAB)
105 ; CLEANED UP DOCUMENTATION.
106 ; ADDED CRAM DIAG ADDR CLEAR TO READ AND WRITE CRAM SUBROUTINES.
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 24
*COMSUB HISTORY OF EDITS* 7601.09
108
109 ; 72 7601.02 (RAB)
110 ; FIXED STACK MANAGEMENT BUG IN ".KLST".
111 ; MODIFIED ".BURST" SUBROUTINE.
112 ; MODIFIED ".LDBRG" SUBROUTINE.
113 ;
114 ; 71 7512.22 (RAB)
115 ; MODIFIED ".KLRST" TO BE COMPATIBLE WITH ".KLSTP".
116 ;
117 ; 70 7512.19 (RAB)
118 ; ADDED ".KLSTP" ROUTINE.
119 ;
120 ; 67 7512.17 (RAB)
121 ; CHANGED DECIMAL NOTATION FROM "[NUMBER]." TO "^D[NUMBER]".
122 ; MINOR BUG FIXES.
123 ;
124 ; 66 7512.15 (RAB)
125 ; FIXED BUG IN DTE20 WRITE SUBROUTINE.
126 ; REMOVED "DPBS" PSECT FOR "KLERR".
127 ; MODIFIED ".ABORT" SUBROUTINE.
128 ;
129 ; 65 7512.11 (RAB)
130 ; FIXED BUG IN DTE20 TRACK SUBROUTINE.
131 ;
132 ; 64 7512.10 (RAB)
133 ; ADDED DTE20 TRACK SUBROUTINE.
134 ;
135 ; 63 7512.09 (RAB)
136 ; FIXED LEADING ZEROES IN TRACK SUBROUTINES.
137 ;
138 ; 62 7512.08 (RAB)
139 ; FIXED C-BIT BUGS IN ".KLRST".
140 ; FIXED BUG IN ".INKLF"
141 ; FIXED STACK MAINTENANCE BUGS IN ".KLST", ".KLCON", ".KLRST",
142 ; AND ".KLSTN".
143 ;
144 ; 61 7512.05 (RAB)
145 ; FIXED BUG IN LOAD BURST COUNT SUBROUTINE.
146 ;
147 ; 60 7512.04 (RAB/PAG)
148 ; FIXED TYPOS IN DTE20 READ WRITE SUBROUTINE.
149 ; FIXED "$RAMSW" CONDITIONALS SO ".LDCRA" ASSEMBLES PROPERLY.
150 ; FIXED ".INKLF" TO FIND OUT IF DTE20 IS PRIVILEGED OR NOT.
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 25
*COMSUB HISTORY OF EDITS* 7601.09
152 ; 57 7512.03 (RAB)
153 ; MODIFIED ".KLCON" SUBROUTINE.
154 ; MODIFIED ".CESCK" SUBROUTINE.
155 ;
156 ; 56 7512.02 (RAB)
157 ; MODIFIED LOAD BURST COUNT SUBROUTINE.
158 ; ADDED NEW STYLE KL10 START SUBROUTINE.
159 ;
160 ; 55 7512.01 (RAB)
161 ; MODIFIED EBOX CLOCK SUBROUTINE.
162 ; MODIFIED LOAD BURST COUNTER SUBROUTINE.
163 ;
164 ; 54 7511.26 (RAB)
165 ; MODIFIED ".INKLF" TO SET "KF.CON" FLAG BIT.
166 ; ADDED KL10 PC FLAG BIT DEFINITIONS FROM "C.MAC" V. 1, EDIT 24.
167 ;
168 ; 53 7511.22 (RAB)
169 ; FIXED BUG IN CRAM DISPATCH READ.
170 ; FIXED BUG IN CRAM DECODE TABLE.
171 ;
172 ; 52 7511.21 (RAB)
173 ; FIXED BUG IN ".INIT".
174 ; FIXED C-BIT BUG IN ".KLCON".
175 ;
176 ; 51 7511.20 (RAB)
177 ; FIXED BUG IN CRAM READ SUBROUTINE.
178 ; FIXED BUG IN CRAM ENCODE DECODE TABLE.
179 ;
180 ; 50 7511.19 (RAB)
181 ; MODIFIED CRAM ADDRESS LOAD SUBROUTINE.
182 ; MODIFIED TRACK SUBROUTINES.
183 ; MODIFIED DEPOSIT SUBROUTINE.
184 ;
185 ; 47 7511.18 (RAB)
186 ; FIXED BUG IN RAM FIELD DECODE AND ENCODE SUBROUTINES.
187 ; FIXED BUG IN RESET CODE.
188 ;
189 ; 46 7511.17 (RAB)
190 ; MODIFIED LOAD KL10 BURST COUNT SUBROUTINE.
191 ; REMOVED ".SECFL" MAINTENANCE FROM FUNCTION EXECUTE PRIMITIVE.
192 ;
193 ; 45 7511.14 (RAB)
194 ; MODIFIED FAST MEMORY ADDRESS READ SUBROUTINE.
195 ;
196 ; 44 7511.13 (RAB)
197 ; FIXED BUG IN CRAM ADDRESS CHECK.
198 ; FIXED BUG IN EXAMINE DEPOSIT SUBROUTINE.
199 ; FIXED BUG IN READ PARITY ERROR SUBROUTINE.
200 ; MODIFIED EXAMINE DEPOSIT TRACK SUBROUTINE.
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 26
*COMSUB HISTORY OF EDITS* 7601.09
202 ; 43 7511.06 (RAB)
203 ; FIXED BUG IN LOAD DRAM ADDRESS SUBROUTINE.
204 ; ADDED CRAM AND DRAM OUTPUT READ SUBROUTINES.
205 ; ADDED "KF.CON" FLAG.
206 ;
207 ; 42 7511.05 (RAB)
208 ; FIXED BUG IN ".DRRAM".
209 ; FIXED BUG IN ".EDTRK".
210 ;
211 ; 41 7511.04 (RAB)
212 ; FIXED BUG IN EXAMINE DRAM.
213 ; FIXED BUG IN EXAMINE DEPOSIT MEMORY.
214 ;
215 ; 40 7510.30 (RAB)
216 ; ADDED RAM FIELD ENCODE AND DECODE SUBROUTINES.
217 ; FIXED BUG IN .KLRST.
218 ; CHANGED "KF.XCR" TO "KF.RUN".
219 ;
220 ; 37 7510.29 (RAB)
221 ; FIXED BUG IN DTE20 WRITE SUBROUTINES.
222 ;
223 ; 36 7510.24 (RAB)
224 ; FIXED BUG IN READ PC FLAGS SUBROUTINE.
225 ;
226 ; 35 7510.23 (RAB)
227 ; ADDED CRAM FIELD DECODE SUBROUTINE AND TABLES.
228 ;
229 ; 34 7510.21 (RAB)
230 ; FIXED BUG IN TEMP DTE20 RESET.
231 ; FIXED BUG IN VMA BOARD READS.
232 ;
233 ; 33 7510.20 (RAB)
234 ; ADDED KL10 RESTART SUBROUTINE.
235 ; MODIFIED INIT SUBROUTINE.
236 ;
237 ; 32 7510.17 (RAB)
238 ; MODIFIED CRAM READ AND WRITE SUBROUTINES.
239 ; MODIFIED DTE20 RESET SUBROUTINE.
240 ;
241 ; 31 7510.16 (RAB)
242 ; ADDED READ PI BOARD SUBROUTINE.
243 ;
244 ; 30 7510.15 (RAB)
245 ; ADDED READ CRAM DISP SUBROUTINE.
246 ;
247 ; 27 7510.10 (RAB)
248 ; ADDED FM ADDRESS READ SUBROUTINE.
249 ; ADDED PC FLAG READ SUBROUTINE.
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 27
*COMSUB HISTORY OF EDITS* 7601.09
251 ; 26 7510.09 (RAB)
252 ; MODIFIED CLOCK AND PARITY READ TABLES.
253 ; REMOVED DTE20 CLEAR SUBROUTINE.
254 ; MODIFIED EXAMINE / DEPOSIT SUBROUTINE.
255 ; MODIFIED INIT SUBROUTINE.
256 ;
257 ; 25 7510.08 (RAB/RCB)
258 ; FIXED BUG IN CLOCK AND PARITY READ TABLES.
259 ; MODIFIED LOAD BURST COUNT SUBROUTINE.
260 ; MODIFIED LOAD CRAM ADDRESS SUBROUTINE.
261 ; MODIFIED START SUBROUTINE.
262 ;
263 ; 24 7510.07 (RAB)
264 ; FIXED BUG IN TRACK SUBROUTINES.
265 ; FIXED BUG IN VMA READ SUBROUTINES.
266 ; FIXED BUG IN CLOCK SUBROUTINES.
267 ; MODIFIED INIT SUBROUTINE.
268 ;
269 ; 23 7510.06 (RAB)
270 ; ADDED TRACK SUBROUTINE FOR FUNCTION READ, WRITE AND EXECUTE.
271 ; MODIFIED FUNCTION READ, WRITE AND EXECUTE FOR TRACK FEATURE.
272 ;
273 ; 22 7510.02 (RAB)
274 ; MODIFIED ".RESET" SUBROUTINE.
275 ; MODIFIED ".MRCLR" SUBROUTINE.
276 ;
277 ; 21 7510.01 (RAB)
278 ; MODIFIED .MRCLR AND RESET SUBROUTINES.
279 ;
280 ; 20 7509.30 (RAB)
281 ; ADDED DTE20 RESET SUBROUTINE.
282 ; CONSOLIDATED ".CLOCK" AND ".PAREN" INTO ".LDCPC".
283 ;
284 ; 17 7509.29 (RAB)
285 ; MODIFIED ".LDCLK" AND ".LDPAR".
286 ;
287 ; 16 7509.26 (RAB)
288 ; RENAMED ".STRTX" TO ".KLST".
289 ; RENAMED ".HALTX" TO ".KLHLT".
290 ; RENAMED ".XXCT" TO ".KLXCT".
291 ; MODIFIED ".KLCON".
292 ; MODIFIED ".KLST" TO REENABLE PARITY STOPS.
293 ; MODIFIED ".INIT".
294 ; MODIFIED ".CESCK".
295 ;
296 ; 15 7509.25 (RAB)
297 ; FIXED BUG IN READ PARITY AND CLOCK SUBROUTINE.
298 ;
299 ; 14 7509.24 (RAB)
300 ; ADDED APR ERROR READ SUBROUTINE.
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 28
*COMSUB HISTORY OF EDITS* 7601.09
302 ; 13 7509.23 (RAB)
303 ; ADDED DATA PATH READS.
304 ; ADDED SMALL REGISTER READS.
305 ;
306 ; 12 7509.22 (RAB)
307 ; MODIFIED DTE20 CLEAR SUBROUTINE TO CYCLE THE DTE20 TO MAKE CLEAR
308 ; TAKE EFFECT.
309 ;
310 ; 11 7509.19 (RAB)
311 ; MODIFIED READ DTE20 REGISTER SUBROUTINE TO BE READ / WRITE.
312 ; ADDED DTE20 RESET SUBROUTINE.
313 ; REDEFINED PRIMARY PROTOCOL FLAG TO MEAN SECONDARY PROTOCOL MAY RUN.
314 ;
315 ; 10 7509.18 (RAB)
316 ; FIXED BUG IN EBOX CLOCK SUBROUTINE.
317 ;
318 ; 7 7509.17 (RAB)
319 ; CHANGED "IS.EBX" ERROR CODE TO "IE.EBX".
320 ;
321 ; 6 7509.16 (RAB)
322 ; FIXED BUG IN PARITY ERROR READ SUBROUTINE.
323 ; MODIFIED DTE20 REGISTER READ SUBROUTINES.
324 ; FIXED BUG IN FXCT SUBROUTINE.
325 ; MODIFIED FREAD, FWRITE, AND FXCT SUBROUTINES.
326 ; MODIFIED FXCT , FREAD, AND FWRITE RANGE CHECK SUBROUTINE.
327 ; FIXED BUG IN READ PARITY AND CLOCK ENABLE SUBROUTINE.
328 ; ADDED CLOCK ERROR STOP CLEAR SUBROUTINE.
329 ; MODIFIED PARITY ENABLE SUBROUTINE.
330 ; MODIFIED CLOCK ENABLE SUBROUTINE.
331 ;
332 ; 5 7509.15 (RAB)
333 ; MODIFIED EXAMINE / DEPOSIT ERROR SUBROUTINE.
334 ; ADDED READ PARITY ERROR SUBROUTINE.
335 ;
336 ; 4 7509.12 (RAB)
337 ; MODIFIED ".INIT" AND ".INKLF" SUBROUTINES.
338 ; MODIFIED ".FWRIT", ".FXCT", AND ".FREAD" FOR NEW RANGE CHECK.
339 ; ADDED NEW DIAGNOSTIC FUNCTION CODE RANGE CHECK SUBROUTINE.
340 ; MODIFIED CLOCK STOP AND START SUBROUTINES.
341 ; MODIFIED CONTINUE TO STOP CLOCK FIRST.
342 ; ADDED KL10 INTERNAL PARITY ERROR READ SUBROUTINE.
343 ;
344 ; 3 7509.11 (RAB)
345 ; MODIFIED ".FXCT" SUBROUTINE TO MAINTAIN CLOCK RUNNING
346 ; FLAG FOR FX.000 THRU FX.007.
347 ; MODIFIED ".INIT2 SUBROUTINE.
348 ;
349 ; 2 7509.10 (RAB)
350 ; REMOVED "CRE" ERROR CODE.
351 ;
352 ; 1 7509.10 (RAB)
353 ; REARRANGED AND MODIFIED START, CONTINUE AND XCT SUBROUTINES.
354 ; FIXED BUG IN RANGE CHECKING OF FR, FW AND FX CODES.
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 29
*COMSUB HISTORY OF EDITS* 7601.09
356 ; 0 7509.05 (RAB/PAG)
357 ; RESET VERSION TO 0 AND MADE ALL PREVIOUS VERSIONS NEGATIVE
358 ; BECAUSE OF MAJOR CHANGES--
359 ; STRIPPED 95% OF "DEFENSIVE LOGIC" FROM CLOCK CONTROL SUBROUTINES
360 ; THIS LOGIC WILL BE REPLACED IN THE MAIN PARSER. "COMSUB"
361 ; NOW MAINTAINS THE STATE OF THE KL10 AS A SECONDARY
362 ; FUNCTION AND LEAVES PRIMARY DECISIONS TO STOP OR START
363 ; THE KL10 CLOCK TO THE MAIN PARSER. THE CLOCK CONTROL
364 ; ROUTINES WILL BE CALLED FROM THE MAIN PARSER IN THE
365 ; FUTURE.
366 ; FIXED MINOR BUG IN ".KLST".
367 ; FIXED BUG IN EXAMINE / DEPOSIT KL10 MEMORY SUBROUTINE.
368 ;
369 ; -3 7509.04 (RAB)
370 ; MODIFIED VMA BOARD READ SUBROUTINE.
371 ; MODIFIED ".BURST" SUBROUTINE.
372 ; MODIFIED ".FREAD" SUBROUTINE.
373 ; MODIFIED .FWRIT SUBROUTINE
374 ; MODIFIED ".RESET" SUBROUTINE.
375 ; CLEANED UP DOCUMENTATION.
376 ; MODIFIED ".LDCRA" SUBROUTINE.
377 ;
378 ; -2 7509.03 (RAB/RCB)
379 ; MODIFIED CLOCK CONTROL SUBROUTINES TO BE NON DESTRUCTIVE TO R0.
380 ; ADDED AR WRITE SUBROUTINE.
381 ; FIXED BUG IN VMA BOARD READ SUBROUTINES.
382 ; CLEANED UP DOCUMENTATION.
383 ;
384 ; -1 START OF HISTORY.
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 30
*LOCAL DEFINITIONS* 7511.24
386 .SBTTL *LOCAL DEFINITIONS* 7511.24
387
388 ; LOCAL DEFINITIONS
389
390 000001 BIT00=BIT0 ; DEFINE LOW BITS FOR SYMMETRY
391 000002 BIT01=BIT1
392 000004 BIT02=BIT2
393 000010 BIT03=BIT3
394 000020 BIT04=BIT4
395 000040 BIT05=BIT5
396 000100 BIT06=BIT6
397 000200 BIT07=BIT7
398 000400 BIT08=BIT8
399 001000 BIT09=BIT9
400
401 ; DEFINE OFFSETS INTO DTE20 DIAG REGISTERS
402
403 000000 .DIAG1==0 ; DTE20 DIAG1 WORD
404 000002 .DIAG2==2 ; DTE20 DIAG2 WORD
405 000004 .DTSTW==4 ; DTE20 STATUS WORD
406 000006 .DIAG3==6 ; DTE20 DIAG3 WORD
407
408 ; DEFINE EXAMINE DEPOSIT MODE BYTES
409
410 000000 ED.EPT==0*40 ; EXEC PROCESS TABLE (RELATIVE)
411 000040 ED.EXV==1*40 ; EXEC VIRTUAL SPACE
412 000100 ED.UPT==2*40 ; USER PROCESS TABLE (RELATIVE)
413 000140 ED.USV==3*40 ; USER VIRTUAL SPACE
414 000200 ED.PHY==4*40 ; PHYSICAL ADDRESSES
415
416 ; DEFINE BITS IN ".PEWRD"
417
418 000001 PE.CES==1 ; CLOCK ERROR STOP
419 000002 PE.DRM==2 ; DRAM PARITY ERROR
420 000004 PE.CRM==4 ; CRAM PARITY ERROR
421 000010 PE.FMP==10 ; FAST MEMORY PARITY ERROR
422 000020 PE.FSS==20 ; FIELD SERVICE STOP
423 000037 PE.ALL==PE.CES!PE.DRM!PE.CRM!PE.FMP!PE.FSS
424
425 ; DEFINE BITS IN ".APRWD"
426
427 000001 AP.PWF==1 ; APR POWER FAIL
428 000002 AP.SAP==2 ; APR SBUS ADDRESS PARITY ERROR
429 000004 AP.CDP==4 ; APR CACHE DIRECTORY PARITY ERROR
430 000010 AP.MPE==10 ; APR MB (MEMORY) PARITY ERROR
431 000020 AP.IPF==20 ; APR I/O PAGE FAIL ERROR
432 000040 AP.NXM==40 ; APR NON-EX-MEM ERROR
433 000100 AP.SBE==100 ; APR SBUS ERROR
434 000177 AP.ALL==AP.PWF!AP.SAP!AP.CDP!AP.MPE!AP.IPF!AP.NXM!AP.SBE
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 31
*LOCAL DEFINITIONS* 7511.24
436 ; DEFINE DTE20 DIAG1 BITS
437
438 100000 D1.DS0==BIT15 ; DIAGNOSTIC SELECT CODE 00 [WRITE]
439 040000 D1.DS1==BIT14 ; " " " 01 "
440 020000 D1.DS2==BIT13 ; " " " 02 "
441 010000 D1.DS3==BIT12 ; " " " 03 "
442 004000 D1.DS4==BIT11 ; " " " 04 "
443 002000 D1.DS5==BIT10 ; " " " 05 "
444 001000 D1.DS6==BIT09 ; " " " 06 "
445 004000 D1.CES==BIT11 ; KL10 CLOCK ERROR STOP [READ]
446 002000 D1.RUN==BIT10 ; KL10 RUN FLAG [READ]
447 001000 D1.HLP==BIT09 ; KL10 IS IN HALT LOOP [READ]
448 000400 D1.DEX==BIT08 ; DTE20 IS IN DEPOSIT / EXAMINE STATE [READ]
449 000200 D1.T10==BIT07 ; DTE20 IS IN TO 10 STATE [READ]
450 000200 D1.LBK==BIT07 ; PUT DTE20 IN LOOPBACK MODE [WRITE]
451 000100 D1.T11==BIT06 ; DTE20 IS IN TO 11 STATE [READ]
452 000040 D1.DDT==BIT05 ; SET DTE20 DIAGNOSTIC MODE [WRITE]
453 ; DTE20 IS IN DIAGNOSTIC MODE [READ]
454 000020 D1.V04==BIT04 ; VECTOR INTERRUPT ADDRESS BIT 04 [READ]
455 000020 D1.PLS==BIT04 ; GENERATE A CLOCK CYCLE IF D1.DDT SET [WRITE]
456 000010 D1.DFM==BIT03 ; CHANGE EX / DEP TO DIAG FUNCTIONS IF PRIVILEGED [WRITE]
457 000004 D1.XFR==BIT02 ; SEND DATA TO 10 IF = 1 [READ]
458 ; RECEIVE DATA FROM 10 IF = 0 [READ]
459
460 ; BIT 01 IS UNUSED
461
462 000001 D1.DCS==BIT00 ; DIAG COMMAND IN PROGRESS [READ]
463 ; SET DIAGNOSTIC COMMAND START IF = 1 [WRITE]
464 ; CLEAR DIAGNOSTIC COMMAND START IF = 0 [WRITE]
465 000442 D1.MBZ==D1.DEX!D1.DDT!BIT01 ; MUST BE ZERO ON WRITE
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 32
*LOCAL DEFINITIONS* 7511.24
467 ; DEFINE DTE20 DIAG2 BITS
468
469 100000 D2.RA0==BIT15 ; RFM ADDRESS BIT 0 [READ]
470 040000 D2.RA1==BIT14 ; RFM ADDRESS BIT 1 [READ]
471 040000 D2.EBD==BIT14 ; SET EBUS DONE IF = 1 [WRITE]
472 ; CLEAR EBUS DONE IF = 0 [WRITE]
473 020000 D2.RA2==BIT13 ; RFM ADDRESS BIT 2 [READ]
474
475 ; BITS 11 THRU 7 ARE UNUSED
476
477 000100 D2.RST==BIT06 ; RESET THE DTE20 IF = 1 [WRITE]
478
479 ; BIT 5 IS UNUSED [MBZ]
480
481 000020 D2.MS8==BIT04 ; MINOR STATE COUNTER BIT 8 [WRITE]
482 000010 D2.MS4==BIT03 ; " " " " 4 "
483 000004 D2.MS2==BIT02 ; " " " " 2 "
484 000002 D2.MS1==BIT01 ; " " " " 1 "
485
486 ; BIT 0 IS UNUSED
487
488 177641 D2.MBZ==BIT15!BIT14!BIT13!BIT12!BIT11!BIT10!BIT09!BIT08!BIT07!BIT05!BIT00
489
490 ; DEFINE DTE20 DIAG3 BITS
491
492 100000 D3.SSL==BIT15 ; SWAP SELECT LEFT [READ]
493 040000 D3.PAR==BIT14 ; PARITY FLOP [READ]
494
495 ; BITS 13 THRU 08 ARE UNIBUS PARITY ERROR INFO [READ]
496
497 ; BITS 07 AND 06 ARE UNUSED [MBZ]
498
499 000040 D3.SCD==BIT05 ; SHIFT DATA IN 13-08 FOR NEXT READ [WRITE]
500 000020 D3.UPE==BIT04 ; DATO UNIBUS PARITY ERROR (DUPE) [READ]
501 000020 D3.CDD==BIT04 ; CLEAR DUPE AND DURE FLAGS
502 000010 D3.WEP==BIT03 ; WRITE EVEN UNIBUS PARITY FLOP [READ]
503 ; WRITE EVEN UNIBUS PARITY IF = 1 [WRITE]
504 ; WRITE ODD (GOOD) UNIBUS PARITY IF = 0 [WRITE]
505 000004 D3.URE==BIT02 ; DATO UNIBUS RECEIVE ERROR FLAG (DURE) [READ]
506 000002 D3.NPE==BIT01 ; NPR UNIBUS PARITY ERROR FLAG (NUPE) [READ]
507 ; CLEAR NUPE [WRITE]
508 000001 D3.TXB==BIT00 ; SET TO 10 BYTE TRANSFER MODE [WRITE]
509
510 177704 D3.MBZ==BIT15!BIT14!BIT13!BIT12!BIT11!BIT10!BIT09!BIT08!BIT07!BIT06!BIT02
511
512 000001 D3.RST==D3.TXB ; DIAG WORD 3 RESET BIT
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 33
*LOCAL DEFINITIONS* 7511.24
514 ; DEFINE DTE20 STATUS BITS
515
516 100000 ST.TXD==BIT15 ; TO 10 TRANSFER DONE FLAG [READ]
517 ; SET TO 10 TRANSFER DONE [WRITE]
518 040000 ST.CTD==BIT14 ; CLEAR TO 10 TRANSFER DONE FLAG [WRITE]
519 020000 ST.TXE==BIT13 ; TO 10 ERROR DONE FLAG [READ]
520 ; SET TO 10 ERROR DONE FLAG [WRITE]
521 010000 ST.RIZ==BIT12 ; DTE20 RAM LOCATION IS ZEROES [READ]
522 010000 ST.CTE==BIT12 ; CLEAR TO 10 ERROR DONE FLAG [WRITE]
523 004000 ST.EDB==BIT11 ; 11 DOORBELL FLAG [READ]
524 ; SET THE 11 DOORBELL FLAG [WRITE]
525 002000 ST.DW1==BIT10 ; YES, THIS BIT IS HERE
526 001000 ST.MPE==BIT09 ; 11 MEMORY PARITY ERROR DURING TO 10 XFER [READ]
527 ; CLEAR ST.MPE [WRITE]
528 000400 ST.XDB==BIT08 ; 10 DOORBELL FLAG [READ]
529 ; RING THE 10 DOORBELL [WRITE]
530 000200 ST.TED==BIT07 ; TO 11 TRANSFER DONE FLAG [READ]
531 ; SET ST.TED [WRITE]
532 000100 ST.EBS==BIT06 ; E BUFFER SELECT [READ]
533 000100 ST.CED==BIT06 ; CLEAR ST.TED [WRITE]
534 000040 ST.NST==BIT05 ; TO 11 XFER STOPPED BECAUSE STOP BIT WAS SET [READ]
535 000040 ST.IEN==BIT05 ; ENABLE DTE20 TO GENERATE BR REQUESTS IF = 1
536 000020 ST.EPE==BIT04 ; EBUS PARITY ERROR FLAG [READ]
537 ; CLEAR EBUS PARITY ERROR FLAG IF = 1 [WRITE]
538 000010 ST.MOD==BIT03 ; DTE20 IS PRIVILEGED IF = 0 [READ]
539 ; " " RESTRICTED " " 1 "
540 000010 ST.IDS==BIT03 ; DISABLE DTE20 BR REQUESTS [WRITE]
541 000004 ST.DXD==BIT02 ; DEPOSIT / EXAMINE DONE FLAG [READ]
542 000004 ST.SEP==BIT02 ; SET EBUS PARITY ERROR IF = 1 [WRITE]
543 000002 ST.TER==BIT01 ; TO 11 BYTE XFER ERROR FLAG [READ]
544 000002 ST.STE==BIT01 ; SET ST.TER IF = 1 [WRITE]
545 000001 ST.ION==BIT00 ; 11 CAN GENERATE BR REQUESTS [READ]
546 000001 ST.CLE==BIT00 ; CLEAR ST.TER IF = 1 [WRITE]
547
548 011121 ST.RST==ST.CTE!ST.MPE!ST.CED!ST.EPE!ST.CLE
549
550 000000 ST.MBZ==0 ; BIT MASK FOR WRITE
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 34
*LOCAL DEFINITIONS* 7511.24
552 ; DEFINE FLAG BITS IN ".KLFLG"
553
554 100000 KF.CLK==BIT15 ; KL10 CLOCK IS RUNNING IF .NE. 0
555 040000 KF.EMS==BIT14 ; EBOX AND MBOX ARE IN SYNCH IF .NE. 0
556 020000 KF.RUN==BIT13 ; KL10 RUN FLOP IS ON IF .NE. 0
557 010000 KF.MRS==BIT12 ; KL10 MASTER RESET FLOP IS ON IF .NE. 0
558 004000 KF.SIM==BIT11 ; KL10 IS IN SINGLE INSTRUCTION MODE IF .NE. 0
559 002000 KF.SMC==BIT10 ; KL10 IS IN SINGLE PULSE MBOX MODE IF .NE. 0
560 001000 KF.SPM==BIT09 ; " " " " " EBOX " " " "
561 000400 KF.BRM==BIT08 ; KL10 IS IN BURST MODE IF .NE. 0
562 000200 KF.UCS==BIT07 ; UCODE STARTED IF .NE. 0
563 000100 KF.KLO==BIT06 ; KL10 IS IN KL10 MODE IF .NE. 0
564 000040 KF.CES==BIT05 ; PROCESSING CLOCK ERROR STOP IF .NE. 0
565 000020 KF.CON==BIT04 ; KL10 IS CONTINUABLE IF .NE. 0
566 000001 KF.WRN==BIT00 ; SECONDARY PROTOCOL MAY RUN IF .NE. 0
567 000021 KF.DEF==KF.CON!KF.WRN ; DEFAULT FLAGS (SEE ".INKLF")
568
569 ; DEFINE BITS IN ".TRKWD"
570
571 000001 TR.FXC==BIT00 ; TRACK FUNCTION EXECUTES IF .NE. 0
572 000002 TR.FRD==BIT01 ; TRACK FUNCTION READS IF .NE. 0
573 000004 TR.FWR==BIT02 ; TRACK FUNCTION EXECUTES IF .NE. 0
574 000010 TR.EXM==BIT03 ; TRACK MEMORY EXAMINES IF .NE. 0
575 000020 TR.DEP==BIT04 ; TRACK MEMORY DEPOSITS IF .NE. 0
576 000040 TR.DTE==BIT05 ; TRACK DTE20 OPERATIONS IF .NE. 0
577 000077 TR.ALL==TR.FXC!TR.FRD!TR.FWR!TR.EXM!TR.DEP!TR.DTE
578
579 ; DEFINE KL10 PC FLAGS (FROM "C.MAC" V. 1, EDIT 24 7511.25)
580
581 010000 PC.OVF==BIT12 ; KL10 OVERFLOW FLAG (BIT 00)
582 004000 PC.CY0==BIT11 ; KL10 CARRY 0 FLAG (BIT 01)
583 002000 PC.CY1==BIT10 ; KL10 CARRY 1 FLAG (BIT 02)
584 001000 PC.FOV==BIT09 ; KL10 FLOATING OVERFLOW FLAG (BIT 03)
585 000400 PC.BIS==BIT08 ; KL10 BYTE INCREMENT SUPPRESSION FLAG (BIT 04)
586 000200 PC.USR==BIT07 ; KL10 USER MODE FLAG (BIT 05)
587 000100 PC.UIO==BIT06 ; KL10 USER IOT MODE FLAG (BIT 06)
588 000040 PC.LIP==BIT05 ; KL10 LAST INSTRUCTION PUBLIC FLAG (BIT 07)
589 000020 PC.AFI==BIT04 ; KL10 ADDRESS FAILURE INHIBIT FLAG (BIT 08)
590 000010 PC.AT1==BIT03 ; KL10 APR TRAP 1 FLAG (BIT 09)
591 000004 PC.AT0==BIT02 ; KL10 APR TRAP 0 FLAG (BIT 10)
592 000002 PC.FUF==BIT01 ; KL10 FLOATING UNDERFLOW FLAG (BIT 11)
593 000001 PC.NDV==BIT00 ; KL10 NO DIVIDE FLAG (BIT 12)
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 35
*LOCAL DEFINITIONS* 7511.24
595 ; DEFINE DIAGNOSTIC FUNCTION EXECUTE CODES
596
597 000000 FX.000==0
598 000000 FX.CSP==FX.000 ; STOP THE KL10 CLOCK
599 000002 FX.001==1*2
600 000002 FX.CST==FX.001 ; START THE KL10 CLOCK
601 000004 FX.002==2*2
602 000004 FX.MBC==FX.002 ; PULSE THE MBOX CLOCK
603 000006 FX.003==3*2
604 000006 FX.EBC==FX.003 ; PULSE THE EBOX CLOCK
605 000010 FX.004==4*2
606 000010 FX.SYC==FX.004 ; SYNCH THE EBOX CLOCK LOW
607 000012 FX.005==5*2
608 000012 FX.BMC==FX.005 ; BURST THE MBOX CLOCK
609 000014 FX.006==6*2
610 000014 FX.CMR==FX.006 ; CLEAR MASTER RESET STATE
611 000016 FX.007==7*2
612 000016 FX.SMR==FX.007 ; SET MASTER RESET STATE
613
614 000020 FX.010==10*2
615 000020 FX.CRF==FX.010 ; CLEAR THE KL10 RUN FLOP
616 000022 FX.011==11*2
617 000022 FX.SRF==FX.011 ; SET THE KL10 RUN FLOP
618 000024 FX.012==12*2
619 000024 FX.CON==FX.012 ; SET THE KL10 CONTINUE FLOP
620 000026 FX.013==13*2
621 000030 FX.014==14*2
622 000030 FX.UIR==FX.014 ; UNLATCH THE IR
623 000032 FX.015==15*2
624 000032 FX.UDR==FX.015 ; UNLATCH THE DRAM REGISTER
625 000034 FX.016==16*2
626 000036 FX.017==17*2
627
628 000040 FX.020==20*2
629 000042 FX.021==21*2
630 000044 FX.022==22*2
631 000046 FX.023==23*2
632 000050 FX.024==24*2
633 000052 FX.025==25*2
634 000054 FX.026==26*2
635 000056 FX.027==27*2
636
637 000060 FX.030==30*2
638 000062 FX.031==31*2
639 000064 FX.032==32*2
640 000066 FX.033==33*2
641 000070 FX.034==34*2
642 000072 FX.035==35*2
643 000074 FX.036==36*2
644 000076 FX.037==37*2
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 36
*LOCAL DEFINITIONS* 7511.24
646 ; DEFINE DIAGNOSTIC FUNCTION WRITE CODES
647
648 000100 FW.040==40*2
649 000102 FW.041==41*2
650 000104 FW.042==42*2
651 000104 FW.LBR==FW.042 ; LOAD BURST COUNTER RIGHT 4 BITS
652 000106 FW.043==43*2
653 000106 FW.LBL==FW.043 ; LOAD BURST COUNTER LEFT 4 BITS
654 000110 FW.044==44*2
655 000110 FW.CSR==FW.044 ; LOAD THE KL10 CLOCK SOURCE AND RATE
656
657 ; CLOCK SOURCE AND RATE CODES, EBUS 32-33 AND 34-35, RESPECTIVELY,
658 ; IN LOW BYTE OF CLOCK CONTROL WORD (".CLKWD").
659
660 000000 CS.NRM==0&14 ; KL10 NORMAL CLOCK SOURCE (EBUS 32-33)
661 000004 CS.CS1==4&14 ; KL10 CLOCK SOURCE 1
662 000010 CS.CS2==10&14 ; KL10 CLOCK SOURCE 2
663 000004 CS.FST==4&14 ; KL10 FAST CLOCK SOURCE
664 000004 CS.MGN==CS.FST ; KL10 MARGIN CLOCK SOURCE
665 000010 CS.EXT==10&14 ; KL10 EXTERNAL CLOCK SOURCE
666 000014 CS.UDF==14&14 ; UNDEFINED (DEFAULT TO FAST)
667
668 000000 CR.NRM==0&3 ; KL10 NORMAL CLOCK SOURCE (EBUS 34-35)
669 000001 CR.CR1==1&3 ; KL10 CLOCK RATE 1
670 000002 CR.CR2==2&3 ; KL10 CLOCK RATE 2
671 000000 CR.FUL==0&3 ; KL10 CLOCK FULL SPEED
672 000001 CR.HLF==1&3 ; " " HALF "
673 000002 CR.QTR==2&3 ; " " QRTR "
674 000003 CR.SLO==3&3 ; " " SLOW "
675
676 000112 FW.045==45*2
677 000112 FW.CDR==FW.045 ; LOAD THE KL10 CLOCK DISTRIBUTION REGISTER
678
679 ; CLOCK DISTRIBUTION DISABLE CODES, EBUS 33-35 TO KL10, ALSO IN
680 ; HIGH BYTE OF CLOCK CONTROL WORD (".CLKWD").
681
682 002000 CD.CRC==<4&7>*400 ; DISABLE CONTROL RAM CLOCKS
683 001000 CD.DPC==<2&7>*400 ; DISABLE DATA PATHS CLOCKS
684 000400 CD.CLC==<1&7>*400 ; DISABLE CONTROL LOGIC CLOCKS
685 000000 CD.NRM==<0&7>*400 ; NORMAL CLOCK ENABLES
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 37
*LOCAL DEFINITIONS* 7511.24
687 000114 FW.046==46*2
688 000114 FW.IPE==FW.046 ; LOAD INTERNAL PARITY ENABLES
689
690 ; INTERNAL KL10 PARITY ENABLE CODES, EBUS 32 - 35 TO KL10,
691 ; ALSO IN LOW BYTE OF PARITY STOP CONTROL WORD (".PSCWD").
692
693 000010 IP.FMP==10&17 ; FAST MEMORY PARITY STOP ENABLE
694 000004 IP.CRP==4&17 ; CRAM PARITY STOP ENABLE
695 000002 IP.DRP==2&17 ; DRAM PARITY STOP ENABLE
696 000001 IP.FSS==1&17 ; FIELD SERVICE STOP ENABLE
697 000016 IP.NRM==IP.FMP!IP.CRP!IP.DRP
698 000017 IP.ALL==IP.NRM!IP.FSS
699
700 000116 FW.047==47*2
701 000116 FW.APE==FW.047 ; LOAD AR/ARX PARITY ENABLES (ET AL.)
702
703 ; INTERNAL KL10 PARITY STOP CODES, EBUS 32 - 35 TO KL10,
704 ; AP.EIP MUST BE SET TO ALLOW IP.XXX CONDITIONS TO STOP KL10 CLOCK
705 ; MAINTAINED IN HIGH BYTE OF PARITY STOP CONTROL WORD (".PSCWD").
706
707 001000 AP.ARP==<2&17>*400 ; ALLOW AR/ARX PARITY TO CAUSE A
708 ; PAGE FAIL TRAP IN THE KL10
709 000400 AP.EIP==<1&17>*400 ; ENABLE INTERNAL PARITY ENABLES TO
710 ; STOP THE KL10 CLOCK
711 001400 AP.NRM==AP.EIP!AP.ARP ; NORMAL PARITY STOP ENABLES
712
713 000120 FW.050==50*2
714 000122 FW.051==51*2
715 000122 FW.CA1==FW.051 ; LOAD LOW CRAM ADDRESS
716 000124 FW.052==52*2
717 000124 FW.CA2==FW.052 ; LOAD HIGH CRAM ADDRESS
718 000126 FW.053==53*2
719 000126 FW.CRD==FW.053 ; LOAD CRAM DISPATCH
720 000130 FW.054==54*2
721 000130 FW.CR4==FW.054 ; LOAD CRAM BITS 60 THRU 78
722 000132 FW.055==55*2
723 000132 FW.CR3==FW.055 ; LOAD CRAM BITS 40 THRU 59
724 000134 FW.056==56*2
725 000134 FW.CR2==FW.056 ; LOAD CRAM BITS 20 THRU 39
726 000136 FW.057==57*2
727 000136 FW.CR1==FW.057 ; LOAD CRAM BITS 00 THRU 19
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 38
*LOCAL DEFINITIONS* 7511.24
729 000140 FW.060==60*2
730 000140 FW.DR1==FW.060 ; LOAD DRAM A AND B EVEN
731 000142 FW.061==61*2
732 000142 FW.DR2==FW.061 ; LOAD DRAM A AND B ODD
733 000144 FW.062==62*2
734 000144 FW.DR3==FW.062 ; LOAD DRAM J COMMON
735 000146 FW.063==63*2
736 000146 FW.DJE==FW.063 ; LOAD DRAM J EVEN
737 000150 FW.064==64*2
738 000150 FW.DJO==FW.064 ; LOAD DRAM J ODD
739 000152 FW.065==65*2
740 000152 FW.IOJ==FW.065 ; DISABLE SPECIAL DECODE OF I/O AND JRST
741 000154 FW.066==66*2
742 000154 FW.IAC==FW.066 ; DISABLE IR AC OUTPUTS
743 000156 FW.067==67*2
744 000156 FW.KLO==FW.067 ; ENABLE KL10 OPCODES AND ACS
745
746 000160 FW.070==70*2
747 000160 FW.CHN==FW.070 ; CHANNEL CONTROL FUNCTIONS
748 000162 FW.071==71*2
749 000162 FW.MBX==FW.071 ; MBOX CONTROL FUNCTIONS
750 000164 FW.072==72*2
751 000166 FW.073==73*2
752 000170 FW.074==74*2
753 000172 FW.075==75*2
754 000174 FW.076==76*2
755 000174 FW.EBL==FW.076 ; EBUS REGISTER LOAD FUNCTION
756 000174 FW.SBR==FW.076 ; SBUS RESET FUNCTION
757 000176 FW.077==77*2
758 000176 FW.LAR==FW.077 ; LOAD AR REGISTER
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 39
*LOCAL DEFINITIONS* 7511.24
760 ; DEFINE DIAGNOSTIC FUNCTION READ CODES
761
762 000200 FR.100==100*2
763 000200 FR.PI0=FR.100 ; PI BOARD READ 0
764 000202 FR.101==101*2
765 000202 FR.PI1=FR.101 ; PI BOARD READ 1
766 000204 FR.102==102*2
767 000206 FR.103==103*2
768 000210 FR.104==104*2
769 000212 FR.105==105*2
770 000214 FR.106==106*2
771 000216 FR.107==107*2
772
773 000220 FR.110==110*2
774 000220 FR.APR==FR.110 ; APR STATUS
775 000222 FR.111==111*2
776 000224 FR.112==112*2
777 000226 FR.113==113*2
778 000230 FR.114==114*2
779 000232 FR.115==115*2
780 000234 FR.116==116*2
781 000236 FR.117==117*2
782
783 000240 FR.120==120*2
784 000240 FR.RAR==FR.120 ; ARITHMETIC REGISTER [AR 00 - 35]
785 000242 FR.121==121*2
786 000242 FR.RBR==FR.121 ; BUFFER REGISTER [BR 00 - 35]
787 000244 FR.122==122*2
788 000244 FR.RMQ==FR.122 ; MQ REGISTER [MQ 00 - 35]
789 000246 FR.123==123*2
790 000246 FR.RFM==FR.123 ; FM REGISTER [FM 00 - 35]
791 000250 FR.124==124*2
792 000250 FR.BRX==FR.124 ; BR EXTENSION REGISTER [BRX 00 - 35]
793 000252 FR.125==125*2
794 000252 FR.ARX==FR.125 ; AR EXTENSION REGISTER [ARX 00 - 35]
795 000254 FR.126==126*2
796 000254 FR.ADX==FR.126 ; AD EXTENSION REGISTER [ADX 00 - 35]
797 000256 FR.127==127*2
798 000256 FR.RAD==FR.127 ; ADDER REGISTER [AD 00 - 35]
799
800 000260 FR.130==130*2
801 000260 FR.SC2==FR.130 ; SHIFT COUNT REGISTER 2
802 000260 FR.DA1==FR.130 ; DRAM ADDR 1
803 000262 FR.131==131*2
804 000262 FR.SC1==FR.131 ; SHIFT COUNT REGISTER 1
805 000262 FR.DA2==FR.131 ; DRAM ADDR 2
806 000264 FR.132==132*2
807 000264 FR.FE2==FR.132 ; FLOATING EXPONENT REGISTER 2
808 000266 FR.133==133*2
809 000266 FR.FE1==FR.133 ; FLOATING EXPONENT REGISTER 1
810 000270 FR.134==134*2
811 000272 FR.135==135*2
812 000274 FR.136==136*2
813 000276 FR.137==137*2
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 40
*LOCAL DEFINITIONS* 7511.24
815 000300 FR.140==140*2
816 000302 FR.141==141*2
817 000302 FR.CRD==FR.141 ; READ CRAM DISP FIELD
818 000304 FR.142==142*2
819 000304 FR.SR2==FR.142 ; CRAM SBR RET 2
820 000306 FR.143==143*2
821 000306 FR.SR1==FR.143 ; CRAM SBR RET 1
822 000310 FR.144==144*2
823 000310 FR.CA2==FR.144 ; READ CRAM ADDRESS LOW
824 000310 FR.CR4==FR.CA2 ; CRAM DATA 60 - 78
825 000312 FR.145==145*2
826 000312 FR.CA1==FR.145 ; READ CRAM ADDRESS HIGH
827 000312 FR.CR3==FR.CA1 ; CRAM DATA 40 - 59
828 000314 FR.146==146*2
829 000314 FR.CR2==FR.146 ; CRAM DATA 20 - 39
830 000314 FR.CL2==FR.CR2 ; CRAM LOC 05 - 10
831 000316 FR.147==147*2
832 000316 FR.CR1==FR.147 ; CRAM DATA 00 - 19
833 000316 FR.CL1==FR.CR1 ; CRAM LOC 00 - 04
834
835 000320 FR.150==150*2
836 000320 FR.VM0==FR.150 ; VMA REGISTER 0
837 000322 FR.151==151*2
838 000322 FR.VM1==FR.151 ; VMA REGISTER 1
839 000324 FR.152==152*2
840 000324 FR.VM2==FR.152 ; VMA REGISTER 2
841 000326 FR.153==153*2
842 000326 FR.VM3==FR.153 ; VMA REGISTER 3
843 000330 FR.154==154*2
844 000330 FR.VM4==FR.154 ; VMA REGISTER 4
845 000332 FR.155==155*2
846 000332 FR.VM5==FR.155 ; VMA REGISTER 5
847 000334 FR.156==156*2
848 000334 FR.VM6==FR.156 ; VMA REGISTER 6
849 000336 FR.157==157*2
850 000336 FR.VM7==FR.157 ; VMA REGISTER 7
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 41
*LOCAL DEFINITIONS* 7511.24
852 000340 FR.160==160*2
853 000342 FR.161==161*2
854 000344 FR.162==162*2
855 000346 FR.163==163*2
856 000350 FR.164==164*2
857 000352 FR.165==165*2
858 000354 FR.166==166*2
859 000356 FR.167==167*2
860 000356 FR.EBS==FR.167 ; [EBUS REG 00 THRU 35]
861
862 000360 FR.170==170*2
863 000362 FR.171==171*2
864 000364 FR.172==172*2
865 000366 FR.173==173*2
866 000370 FR.174==174*2
867 000372 FR.175==175*2
868 000374 FR.176==176*2
869 000376 FR.177==177*2
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 42
*LOCAL DEFINITIONS* 7511.24
871 ; DEFINE LOCAL MACROS
872
873 ; MACRO TO STOP THE KL10 CLOCK
874
875 .MACRO XCSTP$ ERROR
876 CALL .STPXC ; STOP THE KL10 CLOCK
877 .IF NB,ERROR
878 BCS ERROR ; GO TO ERROR IF C-BIT IS SET
879 .ENDC
880 .ENDM XCSTP$
881
882 ; MACRO TO START THE KL10 CLOCK
883
884 .MACRO XCSTA$ ERROR
885 CALL .STCLK ; START THE KL10 CLOCK
886 .IF NB,ERROR
887 BCS ERROR ; GO TO ERROR IF C-BIT IS SET
888 .ENDC
889 .ENDM XCSTA$
890
891 ; MACRO TO CLEAR THE KL10 RUN FLOP
892
893 .MACRO XRCLR$ ERROR
894 CALL .CLRFF ; CLEAR THE KL10 RUN FLOP
895 .IF NB,ERROR
896 BCS ERROR ; GO TO ERROR IF C-BIT IS SET
897 .ENDC
898 .ENDM XRCLR$
899
900 ; MACRO TO SET THE KL10 RUN FLOP
901
902 .MACRO XRSET$ ERROR
903 CALL .STRUN ; SET THE KL10 RUN FLOP
904 IF NB,ERROR
905 BCS ERROR ; GO TO ERROR IF C-BIT IS SET
906 .ENDC
907 .ENDM XRSET$
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 43
*ERROR CODE LIST* 7511.24
909 .SBTTL *ERROR CODE LIST* 7511.24
910
911 ;+
912 ; THE FOLLOWING IS A LIST OF THE .RAD50 ERROR CODES RETURNED
913 ; BY THE SUBROUTINES WITHIN COMSUB.
914 ;
915 ; ERROR CODE SUBROUTINE CAUSE
916 ;
917 ; BAE .BRMBC BURST ARGUMENT .GT. 255 DECIMAL.
918 ; BAE .BURST BURST ARGUMENT .GT. 255 DECIMAL.
919 ;
920 ; CAE .RDCRM CRAM ADDRESS ERROR.
921 ; CAE .STUCD CRAM ADDRESS ERROR.
922 ; CAE .WRCRM CRAM ADDRESS ERROR.
923 ; CCC .STPXC CAN'T CLEAR KL10 CLOCK.
924 ; CCR .CLRFF CAN'T CLEAR KL10 RUN FLOP.
925 ; CCS .STCLK CLOCK CAN'T START.
926 ; CES .CESCK KL10 CLOCK ERROR STOP.
927 ; CES .INIT KL10 CLOCK ERROR STOP.
928 ; CFH .KLHLT CAN'T FIND HALT LOOP.
929 ; CFH .KLSTP CAN'T FIND HALT LOOP.
930 ; CSC .SYNXC CAN'T SYNCH KL10 CLOCK.
931 ; CSR .STRUN CAN'T SET KL10 RUN FLOP.
932 ;
933 ; DAE .RDDRM DRAM ADDRESS ERROR.
934 ; DAE .WRDRM DRAM ADDRESS ERROR.
935 ; DSF .DTDW1 DTE20 STATUS FAILURE.
936 ; DSF .DTDW2 " " "
937 ; DSF .DTDW3 " " "
938 ; DSF .DTSTA " " "
939 ; DSF .DWDW1 " " "
940 ; DSF .DWDW2 " " "
941 ; DSF .DWSTA " " "
942 ; DSF .DWDW3 " " "
943 ; DTC .INKLF DTE20 CONFUSED.
944 ; DMF .DPKLM DEPOSIT KL10 MEMORY FAILED.
945 ;
946 ; ECT .EBCLK EBOX CLOCK TIMEOUT.
947 ; EMF .EXKLM EXAMINE KL10 MEMORY FAILED.
948 ; ESD .DPKLM EBOX STOPPED - DEPOSIT.
949 ; ESE .EXKLM EBOX STOPPED - EXAMINE.
950 ;
951 ; FRF .FREAD FUNCTION READ FAILED.
952 ; FWF .FWRIT FUNCTION WRITE FAILED.
953 ; FXF .FXCT FUNCTION EXECUTE FAILED.
954 ;
955 ; IFC .XFRED ILLEGAL FUNCTION CODE.
956 ; IFC .XFWRT ILLEGAL FUNCTION CODE.
957 ; IFC .XFXCT ILLEGAL FUNCTION CODE.
958 ; IPE .RDVAB NO BUFFER POINTER.
959 ; IPE .RDVMA NO BUFFER POINTER.
960 ; IPE .RDVMH NO BUFFER POINTER.
961 ; IPE .RDVPC NO BUFFER POINTER.
962 ;
963 ; MAE .EXKLM MODE ARGUMENT ERROR.
964 ; MAE .DPKLM MODE ARGUMENT ERROR.
965 ;
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 43-1
*ERROR CODE LIST* 7511.24
966 ; OFC .XFRED ODD FUNCTION CODE.
967 ; OFC .XFWRT ODD FUNCTION CODE.
968 ; OFC .XFXCT ODD FUNCTION CODE.
969 ;
970 ; UNL .STUCD MICROCODE NOT LOADED.
971 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 44
*.CPDST -- COMMAND PARSER SUBROUTINE DISPATCH TABLE* 7512.04
973 .SBTTL *.CPDST -- COMMAND PARSER SUBROUTINE DISPATCH TABLE* 7512.04
974 .IF NE $DISTB
975
976 ; COMMAND PARSER SUBROUTINE DISPATCH TABLE
977
978 .MACRO DISTAB
979 X .ABORT,IABORT
980 X .BRMBC,IBRMBC
981 X .BURST,IBURST
982 X .CESCK,ICESCK
983 X .CLDFB,ICLDFB
984 X .CLDFR,ICLDFR
985 X .CLDFW,ICLDFW
986 X .CLIPE,ICLIPE
987 X .CLRFF,ICLRFF
988 X .DPKLM,IDPKLM
989 X .DTDW1,IDTDW1
990 X .DTDW2,IDTDW2
991 X .DTDW3,IDTDW3
992 X .DTERD,IDTERD
993 X .DTEWR,IDTEWR
994 X .DTSTA,IDTSTA
995 X .DWDW1,IDWDW1
996 X .DWDW2,IDWDW2
997 X .DWDW3,IDWDW3
998 X .DWSTA,IDWSTA
999 X .EBCLK,IEBCLK
1000 X .EBPCK,IEBPCK
1001 X .EXKLM,IEXKLM
1002 X .FREAD,IFREAD
1003 X .FWRIT,IFWRIT
1004 X .FXCT,IFXCT
1005 X .INIT,IINIT
1006 X .INKLF,IINKLF
1007 X .KLCON,IKLCON
1008 X .KLGO,IKLGO
1009 X .KLHLT,IKLHLT
1010 X .KLRST,IKLRST
1011 X .KLST,IKLST
1012 X .KLSTN,IKLSTN
1013 X .KLSTP,IKLSTP
1014 X .KLXCT,IKLXCT
1015 X .LDBRC,ILDBRC
1016 X .LDBRG,ILDBRG
1017 X .LDCLK,ILDCLK
1018 X .LDCRA,ILDCRA
1019 X .LDPAR,ILDPAR
1020 X .LDRAD,ILDRAD
1021 X .MBPHS,IMBPHS
1022 X .MRCLR,IMRCLR
1023 X .RAMFD,IRAMFD
1024 X .RAMFE,IRAMFE
1025 X .RDADR,IRDADR
1026 X .RDADX,IRDADX
1027 X .RDALL,IRDALL
1028 X .RDAPR,IRDAPR
1029 X .RDARR,IRDARR
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 44-1
*.CPDST -- COMMAND PARSER SUBROUTINE DISPATCH TABLE* 7512.04
1030 X .RDARX,IRDARX
1031 X .RDBRR,IRDBRR
1032 X .RDBRX,IRDBRX
1033 X .RDCPP,IRDCPP
1034 X .RDCRA,IRDCRA
1035 X .RDCRD,IRDCRD
1036 X .RDCRL,IRDCRL
1037 X .RDCRM,IRDCRM
1038 X .RDCRO,IRDCRO
1039 X .RDCRR,IRDCRR
1040 X .RDDRA,IRDDRA
1041 X .RDDRM,IRDDRM
1042 X .RDDRO,IRDDRO
1043 X .RDDRR,IRDDRR
1044 X .RDEBS,IRDEBS
1045 X .RDFER,IRDFER
1046 X .RDFLG,IRDFLG
1047 X .RDFMA,IRDFMA
1048 X .RDFMO,IRDFMO
1049 X .RDFMR,IRDFMR
1050 X .RDIPE,IRDIPE
1051 X .RDIRR,IRDIRR
1052 X .RDMQR,IRDMQR
1053 X .RDPI,IRDPI
1054 X .RDSBR,IRDSBR
1055 X .RDSCR,IRDSCR
1056 X .RDVAB,IRDVAB
1057 X .RDVMA,IRDVMA
1058 X .RDVMH,IRDVMH
1059 X .RDVPC,IRDVPC
1060 X .RESET,IRESET
1061 X .RESTD,IRESTD
1062 X .RESTI,IRESTI
1063 X .RESTP,IRESTP
1064 X .SHIFT,ISHIFT
1065 X .STCLK,ISTCLK
1066 X .STPXC,ISTPXC
1067 X .STRUN,ISTRUN
1068 X .STUCD,ISTUCD
1069 X .SYNXC,ISYNXC
1070 X .WRCRM,IWRCRM
1071 X .WRTAR,IWRTAR
1072 X .XFRED,IXFRED
1073 X .XFWRT,IXFWRT
1074 X .XFXCT,IXFXCT
1075 .ENDM DISTAB
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 45
*.CPDST -- COMMAND PARSER SUBROUTINE DISPATCH TABLE* 7512.04
1077 $$$C=-2 ; INIT COUNTER
1078
1079 .MACRO X A,B
1080 .WORD A ; ENTRY POINT FOR SUBROUTINE A
1081 B==$$$C+2 ; DEFINE OFFSET FOR SUBROUTINE A
1082 $$$C=B
1083 .ENDM X
1084
1085 .CPSDT::
1086 DISTAB
1087 CPSDTL==.-.CPSDT ; DEFINE LENGTH OF DISPATCH TABLE
1088 .ENDC ; $DISTB
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 46
*.ABORT -- ABORT CURRENT OPERATION SUBROUTINE* 7601.05
1090 .SBTTL *.ABORT -- ABORT CURRENT OPERATION SUBROUTINE* 7601.05
1091
1092 ;+
1093 ; .ABORT -- SUBROUTINE TO ABORT THE CURRENT KL10 PROCESS
1094 ;
1095 ; THIS SUBROUTINE ABORTS THE CURRENT KL10 PROCESS AND RETURNS WITH
1096 ; THE KL10 CLOCK RUNNING IN THE HALT LOOP. IF THE "HALT" FAILS, THE
1097 ; KL10 MICROCODE IS RESTARTED. THE CONTINUEABILITY OF THE KL10 IS
1098 ; INDICATED BY THE STATE OF THE "KF.CON" FLAG BIT (Q.V.) IN ".KLFLG".
1099 ;
1100 ; SEQUENCE OF OPERATION:
1101 ;
1102 ; (A) THE KL10 IS HALTED,
1103 ; (B) IF THE HALT WINS GO TO (D), OTHERWISE GO TO (C),
1104 ; (C) THE MICRO CODE IS RESTARTED AT CRAM ADDRESS 0000,
1105 ; (D) EXIT.
1106 ;
1107 ; CALLING SEQUENCE IS:
1108 ;
1109 ; CALL .ABORT ; STOP THE KL10 (DAMMIT)
1110 ; BCS ERROR ; ERROR IF C-BIT IS SET
1111 ;
1112 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, IS UNCHANGED ON SUCCESS;
1113 ; NO OTHER REGISTERS ARE ALTERED BY THIS SUBROUTINE.
1114 ;
1115 ; NOTE:
1116 ;
1117 ; THE CONTINUEABILITY OF THE KL10 IS NOT GUARANTEED BY THIS
1118 ; SUBROUTINE.
1119 ;
1120 ; ERROR CODES RETURNED:
1121 ;
1122 ; CCR -- CAN'T CLEAR KL10 RUN FLOP.
1123 ; CFH -- CAN'T FIND KL10 HALT LOOP.
1124 ; FRF -- FUNCTION READ FAILED.
1125 ; FWF -- FUNCTION WRITE FAILED.
1126 ; FXF -- FUNCTION EXECUTE FAILED.
1127 ; UNL -- UCODE NOT LOADED.
1128 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 47
*.ABORT -- ABORT CURRENT OPERATION SUBROUTINE* 7601.05
1130 000204 .ABORT::
1131 000204 PUSH R0 ; SAVE R0 ON THE STACK
000204 010046 MOV R0,-(SP)
1132 000206 CALL .KLSTP ; .HALT THE KL10
000206 004737 002646' JSR PC,.KLSTP
1133 000212 103006 BCC ABORTX ; .AND EXIT IF C-BIT IS CLEAR
1134 000214 ABORT1:
1135 000214 005000 CLR R0 ; .CLEAR R0
1136 000216 000241 CLC ; .AND THE C-BIT
1137 000220 CALL .STUCD ; .(RE)START THE UCODE
000220 004737 006020' JSR PC,.STUCD
1138 000224 103001 BCC ABORTX ; .ALL OK IF C-BIT IS CLEAR
1139 000226 010016 MOV R0,(SP) ; .ERROR CODE TO CALLER'S R0
1140 000230 ABORTX:
1141 000230 POP R0 ; RESTORE R0
000230 012600 MOV (SP)+,R0
1142 000232 RETURN ; TO CALLER
000232 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 48
*.BURST -- MBOX CLOCK BURST SUBROUTINE* 7601.02
1144 .SBTTL *.BURST -- MBOX CLOCK BURST SUBROUTINE* 7601.02
1145
1146 ;+
1147 ; .BRMBC -- SUBROUTINE TO STOP THE KL10 CLOCK AND BURST THE MBOX
1148 ; CLOCK AS IN ".BURST".
1149 ; .BURST -- SUBROUTINE TO BURST THE KL10 MBOX CLOCK
1150 ; A MAXIMUM OF 255 DECIMAL TICKS PER CALL.
1151 ;
1152 ; THIS SUBROUTINE LOADS THE KL10 BURST COUNT REGISTER
1153 ; AND RUNS THE MBOX CLOCK FROM THE BURST COUNT REGISTER. IT WILL
1154 ; FAIL IF A BURST COUNT .GT. 255 DECIMAL IS REQUESTED IN ONE CALL.
1155 ;
1156 ; CALLING SEQUENCE IS:
1157 ;
1158 ; MOV #TICKS,R0 ; LOAD THE BURST COUNT
1159 ; CALL .BURST ; BURST THE MBOX CLOCK
1160 ; BCS ERROR ; ERROR IF C-BIT IS SET
1161 ;
1162 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE,
1163 ; ALL OTHER REGISTERS ARE PRESERVED.
1164 ;
1165 ; ERROR CODES RETURNED:
1166 ;
1167 ; BAE -- BURST ARGUMENT ERROR.
1168 ; CCC -- CAN'T CLEAR KL10 CLOCK.
1169 ; FWF -- FUNCTION WRITE FAILED.
1170 ; FXF -- FUNCTION EXECUTE FAILED.
1171 ;-
1172
1173 000234 .BRMBC::
1174 000234 CALL .STPXC ; STOP THE KL10 CLOCK
000234 004737 005734' JSR PC,.STPXC
1175 000240 103416 BCS BRSTXX ; ERROR IF C-BIT IS SET
1176 000242 .BURST::
1177 000242 022700 000377 CMP #^D255,R0 ; IS ARGUMENT .GT. 255 DECIMAL?
1178 000246 103410 BLO BCCTER ; YES, ERROR
1179 000250 CALL .LDBRG ; LOAD THE BURST COUNTER
000250 004737 002774' JSR PC,.LDBRG
1180 000254 103410 BCS BRSTXX ; ERROR IF C-BIT IS SET
1181 000256 012700 000012 MOV #FX.BMC,R0 ; SET UP TO BURST THE MBOX CLOCK
1182 000262 CALL .FXCT ; DO IT
000262 004737 006666' JSR PC,.FXCT
1183 000266 000403 BR BRSTXX ; AND EXIT
1184 000270 BCCTER:
1185 000270 ERROR$ BAE ; ARGUMENT OUT OF RANGE
000270 012700 MOV (PC)+,R0 ; MOVE .RAD50 ERROR CODE TO R0
000272 006255 .RAD50 /BAE/ ; "BAE" ERROR CODE IN .RAD50
1186 000274 000261 SEC ; SET THE C-BIT
1187 000276 BRSTXX:
1188 000276 RETURN ; LEAVE
000276 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 49
*.CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP* 7512.03
1190 .SBTTL *.CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP* 7512.03
1191
1192 ;+
1193 ; .CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP BY READING
1194 ; DTE20 DIAG WORD 1.
1195 ;
1196 ; THIS SUBROUTINE CHECKS FOR THE KL10 CLOCK ERROR STOP ("D1.CES") FLAG
1197 ; IN THE DTE20 DIAG1 REGISTER, AND WILL RETURN A .RAD50 "CES" ERROR
1198 ; CODE IN R0 IF THE CLOCK ERROR STOP FLAG IS ON.
1199 ;
1200 ; SEQUENCE OF OPERATION:
1201 ;
1202 ; (A) READ DTE20 DIAG WORD 1,
1203 ; (B) TEST THE CLOCK ERROR STOP FLAG FROM (A),
1204 ; (C) RETURN A .RAD50 "CES" ERROR CODE IF THE FLAG IS ON.
1205 ;
1206 ; ".RDIPE" (Q.V.) WILL RETURN THE INTERNAL ERROR STATUS IN ".PEWRD".
1207 ;
1208 ; CALLING SEQUENCE IS:
1209 ;
1210 ; CALL .CESCK ; LOOK FOR CLOCK ERROR STOP
1211 ; BCS ERROR ; MAYBE "CES" OR "DSF" ERROR IF C-BIT IS SET
1212 ;
1213 ; ON RETURN, R0 WILL CONTAIN A .RAD50 ERROR CODE IF D1.CES IS ON,
1214 ; OTHERWISE, R0 WILL CONTAIN A COPY OF DTE20 DIAG WORD 1.
1215 ;
1216 ; ERROR CODES RETURNED:
1217 ;
1218 ; CES -- KL10 CLOCK ERROR STOP.
1219 ; DSF -- DTE20 STATUS FAILURE.
1220 ;-
1221
1222 000300 .CESCK::
1223 000300 CALL .DTDW1 ; READ DIAG WORD 1
000300 004737 000476' JSR PC,.DTDW1
1224 000304 103411 BCS CESCKX ; ERROR IF C-BIT IS SET
1225 000306 032700 004000 BIT #D1.CES,R0 ; IS CLOCK ERROR STOP LIT?
1226 000312 001406 BEQ CESCKX ; NO, JUST GO AWAY
1227 000314 ERROR$ CES ; CLOCK ERROR STOP
000314 012700 MOV (PC)+,R0 ; MOVE .RAD50 ERROR CODE TO R0
000316 011633 .RAD50 /CES/ ; "CES" ERROR CODE IN .RAD50
1228 000320 000261 SEC ; SET THE C-BIT
1229 000322 042737 100020 000000G BIC #KF.CON!KF.CLK,.KLFLG
1230 ; CLEAR THE CLOCK AND CONTINUEABLE FLAGS
1231 000330 CESCKX:
1232 000330 RETURN ; TO CALLER
000330 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 50
*.CLIPE -- SUBROUTINE TO CLEAR INTERNAL PARITY STOP* 7510.24
1234 .SBTTL *.CLIPE -- SUBROUTINE TO CLEAR INTERNAL PARITY STOP* 7510.24
1235
1236 ;+
1237 ; .CLIPE -- SUBROUTINE TO CLEAR KL10 INTERNAL PARITY STOP.
1238 ;
1239 ; THIS SUBROUTINE CLEARS THE INTERNAL KL10 PARITY STOP ENABLE BIT.
1240 ;
1241 ; SEQUENCE OF OPERATION:
1242 ;
1243 ; (A) THE STATE OF THE KL10 PARITY ERROR FLAGS ARE READ,
1244 ; (B) THE PARITY STOP ENABLE IS CLEARED (CLEARS CLOCK ERROR STOP).
1245 ;
1246 ; CALLING SEQUENCE IS:
1247 ;
1248 ; CALL .CLIPE ; CLEAR CLOCK ERROR STOP
1249 ; BCS ERROR ; ERROR IF C-BIT IS SET
1250 ;
1251 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, R1 THRU R5 ARE PRESERVED.
1252 ; ".PSCWD" CONTAINS THE CURRENT PARITY ENABLES AND ".PEWRD" CONTAINS THE
1253 ; PARITY ERROR FLAGS FOUND BEFORE THEY WERE CLEARED.
1254 ;
1255 ; ERROR CODES RETURNED:
1256 ;
1257 ; FRF -- FUNCTION READ FAILED.
1258 ; FWF -- FUNCTION WRITE FAILED.
1259 ;-
1260
1261 000332 .CLIPE::
1262 000332 PUSH R1 ; SAVE R1
000332 010146 MOV R1,-(SP)
1263 000334 CALL .RDIPE ; .READ THE PARITY ERRORS
000334 004737 004566' JSR PC,.RDIPE
1264 000340 103410 BCS CLIPEX ; .ERROR IF C-BIT IS SET
1265 000342 012701 000212' MOV #CPTMP,R1 ; .SET UP POINTER
1266 000346 013711 000204' MOV .PSCWD,(R1) ; .MOVE CURRENT ENABLES THERE
1267 000352 042711 000400 BIC #AP.EIP,(R1) ; .WITHOUT THE ENABLE BIT
1268 000356 CALL .LDPAR ; .DISABLE THE ERROR STOPS
000356 004737 003112' JSR PC,.LDPAR
1269 000362 CLIPEX:
1270 000362 POP R1 ; RESTORE R1
000362 012601 MOV (SP)+,R1
1271 000364 RETURN ; TO CALLER
000364 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 51
*.CLRFF -- CLEAR KL10 RUN FLOP SUBROUTINE* 7601.09
1273 .SBTTL *.CLRFF -- CLEAR KL10 RUN FLOP SUBROUTINE* 7601.09
1274
1275 ;+
1276 ; .CLRFF -- SUBROUTINE TO CLEAR THE KL10 RUN FLOP.
1277 ;
1278 ; THIS SUBROUTINE CLEARS THE KL10 RUN FLOP.
1279 ;
1280 ; CALLING SEQUENCE IS:
1281 ;
1282 ; CALL .CLRFF ; CLEAR THE KL10 RUN FLOP
1283 ; BCS ERROR ; ERROR IF C-BIT IS SET
1284 ;
1285 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, ALL OTHER REGISTERS
1286 ; ARE PRESERVED ACROSS THE CALL.
1287 ;
1288 ; ERROR CODES RETURNED:
1289 ;
1290 ; CCR -- CAN'T CLEAR KL10 RUN FLOP.
1291 ;-
1292
1293 000366 .CLRFF::
1294 000366 000241 CLC ; CLEAR THE C-BIT
1295 000370 DIR$ #.MTDPB ; REQUEST MARK TIME (FOR ".KLHLT")
000370 012746 007346' MOV #.MTDPB,-(SP)
000374 104375 EMT 375
1296 000376 PUSH R0 ; SAVE R0
000376 010046 MOV R0,-(SP)
1297 000400 012700 000020 MOV #FX.CRF,R0 ; .SET UP TO CLEAR KL10 RUN FLOP
1298 000404 CALL .FXCT ; .DO IT
000404 004737 006666' JSR PC,.FXCT
1299 000410 103002 BCC CLRFEX ; .ALL OK IF C-BIT IS CLEAR
1300 000412 CLRFFX:
1301 000412 ERROR$ CCR,(SP) ; .CAN'T CLEAR RUN
000412 012716 MOV (PC)+,(SP) ; MOVE .RAD50 ERROR CODE TO (SP)
000414 011512 .RAD50 /CCR/ ; "CCR" ERROR CODE IN .RAD50
1302 000416 CLRFEX:
1303 000416 POP R0 ; RESTORE R0
000416 012600 MOV (SP)+,R0
1304 000420 CLRFXX:
1305 000420 RETURN
000420 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 52
*.DTERW -- DTE20 REGISTER READ / WRITE SUBROUTINES* 7601.09
1307 .SBTTL *.DTERW -- DTE20 REGISTER READ / WRITE SUBROUTINES* 7601.09
1308
1309 ;+
1310 ; .DTDW1 -- SUBROUTINE TO READ DTE20 DIAG WORD 1.
1311 ; .DTDW2 -- SUBROUTINE TO READ DTE20 DIAG WORD 2.
1312 ; .DTSTA -- SUBROUTINE TO READ DTE20 STATUS WORD.
1313 ; .DTDW3 -- SUBROUTINE TO READ DTE20 DIAG WORD 3.
1314 ; .DWDW1 -- SUBROUTINE TO WRITE DTE20 DIAG WORD 1.
1315 ; .DWDW2 -- SUBROUTINE TO WRITE DTE20 DIAG WORD 2.
1316 ; .DWSTA -- SUBROUTINE TO WRITE DTE20 STATUS WORD.
1317 ; .DWDW3 -- SUBROUTINE TO WRITE DTE20 DIAG WORD 3.
1318 ;
1319 ; THESE SUBROUTINES READ OR WRITE THE CONTENT OF THE SPECIFIED
1320 ; DTE20 REGISTER.
1321 ;
1322 ; THE CONTENT OF THE REGISTER TO BE WRITTEN IS PASSED IN R0.
1323 ; WHETHER A READ OR WRITE IS SPECIFIED, THE CONTENT OF THE REGISTER
1324 ; AFTER THE READ OR WRITE IS ALWAYS RETURNED IN R0 AND IN ".DREG".
1325 ;
1326 ; READ CALLING SEQUENCE IS:
1327 ;
1328 ; CALL .DTXXX ; READ THE DESIRED REGISTER
1329 ; BCS ERROR ; ERROR IF C-BIT IS SET
1330 ;
1331 ; WRITE CALLING SEQUENCE IS:
1332 ;
1333 ; MOV #PNTR,R0 ; DATA POINTER TO R0
1334 ; CALL .DWXXX ; WRITE THE DESIRED REGISTER
1335 ; BCS ERROR ; ERROR IF C-BIT IS SET
1336 ;
1337 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, AND THE CURRENT CONTENT
1338 ; OF THE REGISTER ON SUCCESS; NO OTHER REGISTERS ARE ALTERED.
1339 ;
1340 ; ERROR CODES RETURNED:
1341 ;
1342 ; DSF -- DTE20 STATUS FAILURE.
1343 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 53
*.DTERW -- DTE20 REGISTER READ / WRITE SUBROUTINES* 7601.09
1345 000422 .DWDW1:: ; DIAG WORD 1 WRITE ENTRY
1346 000422 105037 007313' CLRB .REGRW+3 ; SET DIAG1 OFFSET
1347 000426 000413 BR DTWRTC ; DO COMMON WRITE CODE
1348
1349 000430 .DWDW2:: ; DIAG WORD 2 WRITE ENTRY
1350 000430 112737 000002 007313' MOVB #.DIAG2,.REGRW+3; DIAG2 OFFSET
1351 000436 000407 BR DTWRTC ; DO COMMON WRITE CODE
1352
1353 000440 .DWSTA:: ; STATUS WRITE ENTRY
1354 000440 112737 000004 007313' MOVB #.DTSTW,.REGRW+3; OFFSET FOR STATUS
1355 000446 000403 BR DTWRTC ; DO COMMON WRITE CODE
1356
1357 000450 .DWDW3:: ; DIAG WORD 3 WRITE ENTRY
1358 000450 112737 000006 007313' MOVB #.DIAG3,.REGRW+3; SET DIAG WORD 3 OFFSET
1359 000456 DTWRTC: ; COMMON WRITE CODE
1360 000456 010037 007314' MOV R0,.REGRW+4 ; SET THE DATA POINTER IN THE DPB
1361 000462 113700 007313' MOVB .REGRW+3,R0 ; GET THE REGISTER OFFSET
1362 000466 046077 000602' 006620 BIC MBZTAB(R0),@.REGRW+4
1363 ; ZERO THE MBZ BITS
1364 000474 000420 BR .DTEWR ; WRITE IT
1365
1366 000476 .DTDW1:: ; DIAG WORD 1 READ ENTRY
1367 000476 105037 007313' CLRB .REGRW+3 ; DIAG WORD 1 OFFSET IS 0
1368 000502 000413 BR .DTERD ; GO READ IT
1369
1370 000504 .DTDW2:: ; DIAG WORD 2 READ ENTRY
1371 000504 112737 000002 007313' MOVB #.DIAG2,.REGRW+3; DIAG WORD 2 OFFSET IS 2
1372 000512 000407 BR .DTERD ; GO READ IT
1373
1374 000514 .DTSTA:: ; STATUS WORD READ ENTRY
1375 000514 112737 000004 007313' MOVB #.DTSTW,.REGRW+3; SET THE OFFSET FOR THE STATUS WORD
1376 000522 000403 BR .DTERD ; GO READ THE DTE20 STATUS REGISTER
1377
1378 000524 .DTDW3:: ; DIAG WORD 3 READ ENTRY
1379 000524 112737 000006 007313' MOVB #.DIAG3,.REGRW+3; SET THE OFFSET FOR DIAG WORD 3
1380 ; FALL INTO THE READ CODE
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 54
*.DTERW -- DTE20 REGISTER READ / WRITE SUBROUTINES* 7601.09
1382 ; THIS IS THE COMMON DTE20 REGISTER READ WRITE CODE
1383
1384 000532 .DTERD::
1385 000532 005037 007314' CLR .REGRW+4 ; THIS IS NOT A WRITE
1386 000536 .DTEWR:: ; DATA BUFFER ALREADY LOADED FOR WRITE
1387 000536 005037 000046' CLR .DREG ; CLEAR RETURNED DATA BUFFER
1388 000542 DIR$ #.REGRW ; READ OR WRITE THE REGISTER
000542 012746 007310' MOV #.REGRW,-(SP)
000546 104375 EMT 375
1389 000550 103411 BCS DTEREX ; ERROR IF C-BIT IS SET
1390 000552 013700 000046' MOV .DREG,R0 ; PUT A COPY IN R0
1391 000556 032737 000040 011706' BIT #TR.DTE,.TRKWD ; ARE WE TRACKING DTE20 OPS?
1392 000564 001405 BEQ DTERDX ; BRANCH IF NOT
1393 000566 CALL .DTTRK ; YES, TRACK IT
000566 004737 000612' JSR PC,.DTTRK
1394 000572 000402 BR DTERDX ; AND LEAVE
1395 000574 DTEREX:
1396 000574 ERROR$ DSF ; DTE20 REGISTER READ OR WRITE FAILED
000574 012700 MOV (PC)+,R0 ; MOVE .RAD50 ERROR CODE TO R0
000576 015776 .RAD50 /DSF/ ; "DSF" ERROR CODE IN .RAD50
1397 000600 DTERDX:
1398 000600 RETURN ; GO AWAY
000600 000207 RTS PC
1399
1400 ; TABLE TO CLEAR MBZ BITS ON REGISTER WRITE
1401
1402 000602 MBZTAB:
1403 000602 000442 .WORD D1.MBZ
1404 000604 177641 .WORD D2.MBZ
1405 000606 000000 .WORD ST.MBZ
1406 000610 177704 .WORD D3.MBZ
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 55
*.DTTRK -- SUBROUTINE TO TRACK DTE20 OPERATIONS* 7512.11
1408 .SBTTL *.DTTRK -- SUBROUTINE TO TRACK DTE20 OPERATIONS* 7512.11
1409
1410 ;+
1411 ; .DTTRK -- SUBROUTINE TO TRACK DTE20 OPERATIONS
1412 ;
1413 ; THIS SUBROUTINE WILL TRACK DTE20 OPERATIONS AND PRINT ALL DTE20
1414 ; REFERENCES BY THE COMMAND PARSER ON THE CONSOLE OUTPUT DEVICE.
1415 ; THIS SUBROUTINE IS CALLED INTERNALLY, DEPENDENT UPON THE STATE OF
1416 ; THE DTE20 TRACK FLAG ("TR.DTE") IN THE TRACK CONTROL WORD, ".TRKWD."
1417 ;
1418 ; CALLING SEQUENCE IS:
1419 ;
1420 ; CALL .DTTRK ; TRACK THE DTE20
1421 ; ; ONLY RETURN
1422 ;
1423 ; THE DTE20 REGISTER OPERATED UPON IS IDENTIFIED BY ONE OF THE FOLLOWING:
1424 ;
1425 ; (A) DW1 - DIAG WORD 1,
1426 ; (B) DW2 - DIAG WORD 2,
1427 ; (C) STA - STATUS WORD,
1428 ; (D) DW3 - DIAG WORD 3.
1429 ;
1430 ; A READ OPERATION IS IDENTIFIED BY "RD", AND A WRITE OPERATION BY "WR".
1431 ;
1432 ; NO REGISTERS ARE ALTERED BY THIS SUBROUTINE.
1433 ;
1434 ; ERROR CODES RETURNED:
1435 ;
1436 ; NONE.
1437 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 56
*.DTTRK -- SUBROUTINE TO TRACK DTE20 OPERATIONS* 7512.11
1439 000612 .DTTRK::
1440 000612 012737 177777 011706' MOV #-^D1,.LDZER ; PRINT LEADING ZEROES
1441 000620 PUSH R0 ; SAVE R0
000620 010046 MOV R0,-(SP)
1442 000622 012700 000732' MOV #DTRMSG,R0 ; .MESSAGE POINTER TO R0
1443 000626 CALL TYPASZ ; .PRINT IT
000626 004737 016540' JSR PC,TYPASZ
1444 000632 113700 007313' MOVB .REGRW+3,R0 ; .GET THE REGISTER OFFSET
1445 000636 016000 000722' MOV REGTAB(R0),R0 ; .REGISTER MESSAGE POINTER TO R0
1446 000642 CALL TYPASZ ; .TYPE IT
000642 004737 016540' JSR PC,TYPASZ
1447 000646 CALL TYPTAB ; .NOW A <TAB>
000646 004737 016516' JSR PC,TYPTAB
1448 000652 005737 007314' TST .REGRW+4 ; .READ OR WRITE?
1449 000656 001002 BNE DTTRK1 ; .BRANCH IF WRITE
1450 000660 011600 MOV (SP),R0 ; .DATA TO R0
1451 000662 000402 BR DTTRK2 ; .GO PRINT IT
1452 000664 DTTRK1:
1453 000664 017700 006424 MOV @.REGRW+4,R0 ; .GET WRITTEN DATA
1454 000670 DTTRK2:
1455 000670 CALL EVTYP ; .PRINT THE DATA
000670 004737 016540' JSR PC,EVTYP
1456 000674 012700 000776' MOV #DRDMSG,R0 ; .READ MESSAGE POINTER TO R0
1457 000700 005737 007314' TST .REGRW+4 ; .WAS IT A WRITE?
1458 000704 001402 BEQ DTTRK3 ; .BRANCH IF SO
1459 000706 012700 001002' MOV #DWRMSG,R0 ; .WRITE MESSAGE POINTER TO R0
1460 000712 DTTRK3:
1461 000712 CALL TYPLIN ; .PRINT IT AND A <CRLF>
000712 004737 016540' JSR PC,TYPLIN
1462 000716 POP R0 ; RESTORE R0
000716 012600 MOV (SP)+,R0
1463 000720 RETURN ; TO CALLER
000720 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 57
*.DTTRK -- SUBROUTINE TO TRACK DTE20 OPERATIONS* 7512.11
1465 000722 REGTAB:
1466 000722 000752' .WORD DW1MSG ; MESSAGE POINTERS
1467 000724 000757' .WORD DW2MSG
1468 000726 000764' .WORD STAMSG
1469 000730 000771' .WORD DW3MSG
1470
1471 000732 DTRMSG:
1472 000732 011 124 122 .ASCIZ % TRACK > DTE20 %
000735 101 103 113
000740 040 076 040
000743 104 124 105
000746 062 060 040
000751 000
1473
1474 000752 DW1MSG:
1475 000752 104 127 061 .ASCIZ %DW1/%
000755 057 000
1476 000757 DW2MSG:
1477 000757 104 127 062 .ASCIZ %DW2/%
000762 057 000
1478 000764 STAMSG:
1479 000764 123 124 101 .ASCIZ %STA/%
000767 057 000
1480 000771 DW3MSG:
1481 000771 104 127 063 .ASCIZ %DW3/%
000774 057 000
1482
1483 000776 DRDMSG:
1484 000776 040 122 104 .ASCIZ % RD%
001001 000
1485 001002 DWRMSG:
1486 001002 040 127 122 .ASCIZ % WR%
001005 000
1487 .EVEN
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 58
*.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK* 7512.01
1489 .SBTTL *.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK* 7512.01
1490
1491 ;+
1492 ; .EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK VIA MBOX CLOCKS
1493 ;
1494 ; THIS SUBROUTINE WILL SIMULATE AN EBOX CLOCK WITH MBOX CLOCKS.
1495 ; DOING THIS PREVENTS THE EBOX AND MBOX FROM BECOMING UNSYNCHRONIZED.
1496 ; THE EBOX CLOCK IS SYNCHED LOW ON EXIT.
1497 ;
1498 ; SEQUENCE OF OPERATION:
1499 ;
1500 ; (A) AN MBOX CLOCK IS ISSUED (FX.002),
1501 ; (B) THE STATE OF [CLK EBOX SRC H] IS TESTED:
1502 ; (1) IF FALSE GO TO (A),
1503 ; (2) IF TRUE GO TO (C),
1504 ; (C) THE EBOX CLOCK IS SYNCHED LOW.
1505 ;
1506 ; CALLING SEQUENCE IS:
1507 ;
1508 ; CALL .EBCLK ; DO AN "EBOX" CLOCK
1509 ; BCS ERROR ; ERROR IF C-BIT IS SET
1510 ;
1511 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE
1512 ; ALL REGISTERS ARE PRESERVED BY THIS SUBROUTINE.
1513 ;
1514 ; ERROR CODES RETURNED:
1515 ;
1516 ; CES -- CLOCK ERROR STOP.
1517 ; CSC -- CAN'T SYNCH KL10 CLOCK.
1518 ; DSF -- DTE20 STATUS FAILURE.
1519 ; ECT -- EBOX CLOCK TIMEOUT.
1520 ; FRF -- FUNCTION READ FAILED.
1521 ; FXF -- FUNCTION EXECUTE FAILED.
1522 ;
1523 ; NOTE:
1524 ;
1525 ; THIS SUBROUTINE ASSUMES THAT THE KL10 CLOCK IS OFF.
1526 ;
1527 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 59
*.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK* 7512.01
1529 001006 .EBCLK::
1530 001006 PUSH <R2,R1,R0> ; SAVE CALLER'S REGISTERS
001006 010246 MOV R2,-(SP)
001010 010146 MOV R1,-(SP)
001012 010046 MOV R0,-(SP)
1531 001014 CALL .CESCK ; ...SEE IF CLOCK ERROR STOP IS UP
001014 004737 000300' JSR PC,.CESCK
1532 001020 103427 BCS EBCLKE ; ...BRANCH IF SO OR OTHER ERROR
1533 001022 012702 000310 MOV #^D200,R2 ; ...TIMEOUT COUNT TO R2
1534 001026 EBCLK1:
1535 001026 005001 CLR R1 ; ...CLEAR R1
1536 001030 012700 000004 MOV #FX.MBC,R0 ; ...DO ONE MBOX CLOCK
1537 001034 CALL .FXCT ; ...DO IT
001034 004737 006666' JSR PC,.FXCT
1538 001040 103417 BCS EBCLKE ; ...ERROR IF C-BIT IS SET
1539 001042 012700 000210 MOV #FR.104,R0 ; ...READ STATE OF [CLK EBX SRC H]
1540 001046 CALL .FREAD ; ...DO IT
001046 004737 006472' JSR PC,.FREAD
1541 001052 103412 BCS EBCLKE ; ...ERROR IF C-BIT IS SET
1542 001054 032710 000004 BIT #BIT02,(R0) ; ...IS IT THERE?
1543 001060 001002 BNE EBCLK2 ; ...YES, SYNCH THE CLOCK AND EXIT
1544 001062 SOB R2,EBCLK1 ; ...LOOP TILL COUNT EXHAUSTED
001062 005302 DEC R2
001064 001360 BNE EBCLK1
1545 001066 EBCLK2:
1546 001066 005702 TST R2 ; ...WHAT'S IN R2?
1547 001070 003405 BLE EBCTOE ; ...TIMED OUT IF .LE. 0
1548 001072 CALL .SYNXC ; ...FORCE SYNCH THE CLOCK
001072 004737 006156' JSR PC,.SYNXC
1549 001076 103005 BCC EBCLKX ; ...ALL OK IF C-BIT IS CLEAR
1550 001100 EBCLKE:
1551 001100 010016 MOV R0,(SP) ; ...PUT R0 IN CALLER'S R0
1552 001102 000403 BR EBCLKX ; ...AND EXIT
1553 001104 EBCTOE:
1554 001104 ERROR$ ECT,(SP) ; ...EBOX CLOCK TIME OUT
001104 012716 MOV (PC)+,(SP) ; MOVE .RAD50 ERROR CODE TO (SP)
001106 017714 .RAD50 /ECT/ ; "ECT" ERROR CODE IN .RAD50
1555 001110 000261 SEC ; ...SET THE ERROR BIT
1556 001112 EBCLKX:
1557 001112 POP <R0,R1,R2> ; RESTORE CALLER'S REGISTERS
001112 012600 MOV (SP)+,R0
001114 012601 MOV (SP)+,R1
001116 012602 MOV (SP)+,R2
1558 001120 RETURN ; AND RETURN TO CALLER
001120 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 60
*.EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR* 7512.03
1560 .SBTTL *.EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR* 7512.03
1561
1562 ;+
1563 ; .EBPCK -- SUBROUTINE TO CHECK FOR EBUS PARITY ERRORS
1564 ;
1565 ; THIS SUBROUTINE WILL RETURN AN ERROR CODE IN R0 IF THE EBUS PARITY
1566 ; ERROR FLAG IS TRUE.
1567 ;
1568 ; CALLING SEQUENCE IS:
1569 ;
1570 ; CALL .EBPCK ; CHECK FOR EBUS PARITY ERROR
1571 ; BCS ERROR ; ERROR IF C-BIT IS SET
1572 ;
1573 ; R0 WILL CONTAIN A .RAD50 ERROR CODE IF THE SUBROUTINE FAILS, OR
1574 ; IF THE EBUS PARITY ERROR FLAG IS SET, OTHERWISE R0 CONTAINS A COPY
1575 ; OF THE DTE20 STATUS REGISTER. NO OTHER REGISTERS ARE ALTERED BY
1576 ; THIS SUBROUTINE.
1577 ;
1578 ; ERROR CODES RETURNED:
1579 ;
1580 ; DSF -- DTE20 STATUS FAILURE.
1581 ; EPE -- EBUS PARITY ERROR.
1582 ;-
1583
1584 001122 .EBPCK::
1585 001122 CALL .DTSTA ; READ DTE20 STATUS WORD
001122 004737 000514' JSR PC,.DTSTA
1586 001126 103406 BCS EBPCKX ; ERROR IF C-BIT IS SET
1587 001130 032700 000020 BIT #ST.EPE,R0 ; EBUS PARITY ERROR?
1588 001134 001403 BEQ EBPCKX ; BRANCH IF NOT
1589 001136 ERROR$ EPE ; EBUS PARITY ERROR
001136 012700 MOV (PC)+,R0 ; MOVE .RAD50 ERROR CODE TO R0
001140 020705 .RAD50 /EPE/ ; "EPE" ERROR CODE IN .RAD50
1590 001142 000261 SEC ; SET THE C-BIT
1591 001144 EBPCKX:
1592 001144 RETURN ; TO CALLER
001144 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 61
*.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE* 7512.09
1594 .SBTTL *.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE* 7512.09
1595
1596 ;+
1597 ; .EXTRK -- SUBROUTINE TO TRACK A KL10 EXAMINE.
1598 ; .DPTRK -- SUBROUTINE TO TRACK A KL10 DEPOSIT.
1599 ;
1600 ; THESE SUBROUTINES WILL TRACK A KL10 EXAMINE OR DEPOSIT BY
1601 ; DISPLAYING THE ADDRESS, DATA, AND REFERENCE TYPE OF THE EXAMINE
1602 ; OR DEPOSIT ON THE CONSOLE DEVICE AS IT IS EXECUTED.
1603 ;
1604 ; THESE SUBROUTINES ARE CALLED INTERNALLY DEPENDENT ON THE STATE OF
1605 ; THE TRACK CONTROL WORD ".TRKWD".
1606 ;
1607 ; THE SWITCHES IN ".TRKWD" ARE TURNED ON OR OFF BY THE "SET" AND
1608 ; "CLEAR TRACK" COMMANDS, RESPECTIVELY.
1609 ;
1610 ; NO REGISTERS ARE ALTERED BY THESE SUBROUTINES.
1611 ;
1612 ; ERROR CODES RETURNED:
1613 ;
1614 ; NONE.
1615 ;-
1616
1617 001146 .EXTRK::
1618 001146 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
001146 004537 007214' JSR R5,REGSAV
1619 001152 012705 001400' MOV #EXTMSG,R5 ; PREAMBLE TO TYPE
1620 001156 000404 BR .EDTRK ; DO COMMON CODE
1621 001160 .DPTRK::
1622 001160 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
001160 004537 007214' JSR R5,REGSAV
1623 001164 012705 001415' MOV #DPTMSG,R5 ; PREAMBLE TO TYPE
1624 ; AND FALL INTO COMMON CODE
1625
1626 ; [CONTINUED ON NEXT PAGE]
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 62
*.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE* 7512.09
1628 ; [HERE FROM PREVIOUS PAGE]
1629
1630 001170 .EDTRK::
1631 001170 PUSH R0 ; SAVE R0 ON THE STACK
001170 010046 MOV R0,-(SP)
1632 001172 011100 MOV (R1),R0 ; .GET ADDRESS POINTER
1633 001174 012702 001326' MOV #TRADDR,R2 ; .POINT TO OUR BLOCK
1634 001200 012022 MOV (R0)+,(R2)+ ; .AND LOAD IT
1635 001202 012022 MOV (R0)+,(R2)+ ; .
1636 001204 005012 CLR (R2) ; .ZERO THE LAST WORD
1637 001206 016100 000002 MOV 2(R1),R0 ; .GET DATA POINTER
1638 001212 012702 001334' MOV #TRDATA,R2 ; .POINT TO OUR BLOCK
1639 001216 012022 MOV (R0)+,(R2)+ ; .AND LOAD IT
1640 001220 012022 MOV (R0)+,(R2)+ ; .
1641 001222 011012 MOV (R0),(R2) ; .
1642 001224 010500 MOV R5,R0 ; .PREAMBLE POINTER TO R0
1643 001226 CALL TYPASZ ; .PRINT IT
001226 004737 016540' JSR PC,TYPASZ
1644 001232 005037 011706' CLR .LDZER ; .MAKE IT SAY NO LEADING ZEROS
1645 001236 012700 001326' MOV #TRADDR,R0 ; .POINT TO ADDRESS
1646 001242 CALL KLNTYP ; .PRINT IT
001242 004737 016540' JSR PC,KLNTYP
1647 001246 CALL TYPSLS ; .TYPE A SLASH
001246 004737 016524' JSR PC,TYPSLS
1648 001252 CALL TYPTAB ; .AND A <TAB>
001252 004737 016516' JSR PC,TYPTAB
1649 001256 012737 177777 011706' MOV #-^D1,.LDZER ; .PRINT LEADING ZEROES
1650 001264 012700 001334' MOV #TRDATA,R0 ; .POINT TO DATA
1651 001270 CALL KLNTYP ; .PRINT IT
001270 004737 016540' JSR PC,KLNTYP
1652 001274 CALL TYPTAB ; .AND A <TAB>
001274 004737 016516' JSR PC,TYPTAB
1653 001300 011600 MOV (SP),R0 ; .GET TYPE
1654 001302 006200 ASR R0 ; .DIVIDE BY 16
1655 001304 006200 ASR R0 ; .
1656 001306 006200 ASR R0 ; .
1657 001310 006200 ASR R0 ; .
1658 001312 016000 001342' MOV EDTYTB(R0),R0 ; .GET TYPE POINTER
1659 001316 CALL TYPLIN ; .PRINT IT AND A <CRLF>
001316 004737 016540' JSR PC,TYPLIN
1660 001322 POP R0 ; .AND R0
001322 012600 MOV (SP)+,R0
1661 001324 RETURN ; TO CALLER
001324 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 63
*.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE* 7512.09
1663 001326 TRADDR:
1664 001326 000000 000000 000000 .WORD 0,0,0 ; SPACE FOR ADDRESS
1665 001334 TRDATA:
1666 001334 000000 000000 000000 .WORD 0,0,0 ; SPACE FOR DATA
1667 001342 EDTYTB: ; POINTERS FOR TYPE MESSAGES
1668 001342 001354' .WORD EDEPT ; EPT SPACE
1669 001344 001360' .WORD EDEXV ; EXEC VIRTUAL SPACE
1670 001346 001364' .WORD EDUPT ; UPT SPACE
1671 001350 001370' .WORD EDUSV ; USER VIRTUAL
1672 001352 001374' .WORD EDPHY ; PHYSICAL SPACE
1673 001354 EDEPT:
1674 001354 105 120 124 .ASCIZ %EPT%
001357 000
1675 001360 EDEXV:
1676 001360 105 126 123 .ASCIZ %EVS%
001363 000
1677 001364 EDUPT:
1678 001364 125 120 124 .ASCIZ %UPT%
001367 000
1679 001370 EDUSV:
1680 001370 125 126 123 .ASCIZ %UVS%
001373 000
1681 001374 EDPHY:
1682 001374 120 110 131 .ASCIZ %PHY%
001377 000
1683 001400 EXTMSG:
1684 001400 011 124 122 .ASCIZ % TRACK > EX %
001403 101 103 113
001406 040 076 040
001411 105 130 040
001414 000
1685 001415 DPTMSG:
1686 001415 011 124 122 .ASCIZ % TRACK > DP %
001420 101 103 113
001423 040 076 040
001426 104 120 040
001431 000
1687 .EVEN
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 64
*.EXDPM -- KL10 MEMORY EXAMINE / DEPOSIT SUBROUTINE* 7601.09
1689 .SBTTL *.EXDPM -- KL10 MEMORY EXAMINE / DEPOSIT SUBROUTINE* 7601.09
1690
1691 ;+
1692 ; .EXKLM -- SUBROUTINE TO EXAMINE KL10 MEMORY.
1693 ; .DPKLM -- SUBROUTINE TO DEPOSIT KL10 MEMORY.
1694 ;
1695 ; THIS SUBROUTINE EXAMINES OR DEPOSITS ONE LOCATION OF KL10 MEMORY.
1696 ;
1697 ; CALLING SEQUENCE IS:
1698 ;
1699 ; MOV #TYPE,R0 ; ADDRESS SPACE CODE
1700 ; MOV #PNTR,R1 ; POINTER TO USER DATA BLOCK
1701 ; CALL .EXKLM (.DPKLM) ; EXAMINE (DEPOSIT) KL10 MEMORY
1702 ; BCS ERROR ; ERROR IF C-BIT IS SET
1703 ;
1704 ; R0 MUST CONTAIN ONE OF THE FOLLOWING ADDRESS SPACE CODES:
1705 ;
1706 ; (A) ED.EPT (000) EXEC PROCESS TABLE (RELATIVE),
1707 ; (B) ED.EXV (040) EXEC VIRTUAL ADDRESS SPACE,
1708 ; (C) ED.UPT (100) USER PROCESS TABLE (RELATIVE),
1709 ; (D) ED.USV (140) USER VIRTUAL ADDRESS SPACE,
1710 ; (E) ED.PHY (200) PHYSICAL ADDRESS SPACE.
1711 ;
1712 ; THERE ARE NO DEFAULTS
1713 ;
1714 ; R1 MUST CONTAIN A POINTER TO A TWO WORD POINTER BLOCK OF THE FORM:
1715 ;
1716 ; !===================================!
1717 ; 00 ! POINTER TO KL10 ADDRESS !
1718 ; !-----------------------------------!
1719 ; 02 ! POINTER TO KL10 DATA !
1720 ; !===================================!
1721 ;
1722 ; THE KL10 ADDRESS POINTER MUST POINT TO A TWO WORD BLOCK OF THE FORM:
1723 ;
1724 ; !===================================!
1725 ; 00 ! KL10 ADDRESS 20 - 35 !
1726 ; !-----------------------------------!
1727 ; 02 ! KL10 ADDRESS 19 - 14 !
1728 ; !===================================!
1729 ;
1730 ; THE KL10 DATA POINTER POINTS TO A TRIPLET IN DEXWORD FORMAT.
1731 ;
1732 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, AND IS UNDEFINED
1733 ; ON SUCCESS, ALL OTHER REGISTERS UNALTERED.
1734 ;
1735 ; ERROR CODES RETURNED:
1736 ;
1737 ; ESD -- EBOX STOPPED - DEPOSIT.
1738 ; ESE -- EBOX STOPPED - EXAMINE.
1739 ; EMF -- EXAMINE KL10 MEMORY FAILED.
1740 ; DMF -- DEPOSIT KL10 MEMORY FAILED.
1741 ; MAE -- MODE ARGUMENT ERROR.
1742 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 65
*.EXDPM -- KL10 MEMORY EXAMINE / DEPOSIT SUBROUTINE* 7601.09
1744 001432 .EXKLM::
1745 001432 PUSH <R2,R3> ; SAVE R2 AND R3 ON THE STACK
001432 010246 MOV R2,-(SP)
001434 010346 MOV R3,-(SP)
1746 001436 012702 001646' MOV #.ETAB,R2 ; ..POINTER TO EXAMINE TABLE
1747 001442 CALL .EXDPM ; ..GO DO EXAMINE
001442 004737 001524' JSR PC,.EXDPM
1748 001446 103423 BCS EDKLMX ; ..ERROR IF C-BIT IS SET
1749 001450 032737 000010 011706' BIT #TR.EXM,.TRKWD ; ..ARE WE TRACKING EXAMINES?
1750 001456 001417 BEQ EDKLMX ; ..NO
1751 001460 CALL .EXTRK ; ..YES, TRACK IT
001460 004737 001146' JSR PC,.EXTRK
1752 001464 000414 BR EDKLMX ; ..AND GO AWAY
1753 001466 .DPKLM::
1754 001466 032737 000020 011706' BIT #TR.DEP,.TRKWD ; ARE WE TRACKING DEPOSITS?
1755 001474 001402 BEQ DPKLM1 ; NO
1756 001476 CALL .DPTRK ; TRACK THE DEPOSIT
001476 004737 001160' JSR PC,.DPTRK
1757 001502 DPKLM1:
1758 001502 PUSH <R2,R3> ; SAVE R2 AND R3 ON THE STACK
001502 010246 MOV R2,-(SP)
001504 010346 MOV R3,-(SP)
1759 001506 012702 001656' MOV #.DTAB,R2 ; ..POINTER TO DEPOSIT TABLE
1760 001512 CALL .EXDPM ; ..DO THE DEPOSIT
001512 004737 001524' JSR PC,.EXDPM
1761 001516 EDKLMX:
1762 001516 POP <R3,R2> ; RESTORE R2 AND R3
001516 012603 MOV (SP)+,R3
001520 012602 MOV (SP)+,R2
1763 001522 RETURN ; RETURN TO CALLER
001522 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 66
*.EXDPM -- KL10 MEMORY EXAMINE / DEPOSIT SUBROUTINE* 7601.09
1765 ; THIS IS THE COMMON DEPOSIT / EXAMINE CODE
1766
1767 001524 .EXDPM::
1768 001524 000241 CLC ; CLEAR THE C-BIT
1769 001526 012203 MOV (R2)+,R3 ; GET THE DPB POINTER INTO R3
1770 001530 CALL .CKEDM ; CHECK THE MODE OUT
001530 004737 001622' JSR PC,.CKEDM
1771 001534 103431 BCS EDKLMY ; MODE ERROR IF C-BIT IS SET
1772 001536 110023 MOVB R0,(R3)+ ; PUT THE MODE INTO THE DPB
1773 001540 011123 MOV (R1),(R3)+ ; PUT THE POINTER TO THE KL10 ADDRESS IN THE DPB
1774 001542 016113 000002 MOV 2(R1),(R3) ; AND DESTINATION POINTER TOO
1775 001546 011303 MOV (R3),R3 ; GET ADDRESS OF CALLER'S DATA BLOCK
1776 001550 042763 177760 000004 BIC #177760,4(R3) ; CLEAR EXTRANEOUS BITS
1777 001556 DIR$ (R2)+ ; DO THE EXAMINE OR DEPOSIT
001556 012246 MOV (R2)+,-(SP)
001560 104375 EMT 375
1778 001562 103016 BCC EDKLMY ; ALL'S WELL IF C-BIT IS CLEAR
1779 001564 022737 177776 000000G CMP #IE.EBX,$DSW ; IS THE EBOX STOPPED?
1780 001572 001401 BEQ EXDPM1 ; YES, EBOX IS STOPPED
1781 001574 005722 TST (R2)+ ; NO, OTHER ERROR
1782 001576 EXDPM1:
1783 001576 CALL .CESCK ; SEE IF CLOCK ERROR STOP IS UP
001576 004737 000300' JSR PC,.CESCK
1784 001602 103406 BCS EDKLMY ; C-BIT IS SET IF SO OR OTHER ERROR
1785 001604 000241 CLC ; CLEAR THE C-BIT
1786 001606 CALL .RESTD ; RESET THE DTE20 SINCE IT MAY BE CONFUSED
001606 004737 005650' JSR PC,.RESTD
1787 001612 103401 BCS EXDPM2 ; ERROR IF C-BIT IS SET
1788 001614 011200 MOV (R2),R0 ; PUT THE ERROR CODE IN R0
1789 001616 EXDPM2:
1790 001616 000261 SEC ; SET THE C-BIT
1791 001620 EDKLMY:
1792 001620 RETURN ; AND GO AWAY
001620 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 67
*.EXDPM -- KL10 MEMORY EXAMINE / DEPOSIT SUBROUTINE* 7601.09
1794 ; HERE TO CHECK THE VALIDITY OF THE EXAMINE / DEPOSIT MODE IN R0
1795
1796 001622 .CKEDM:
1797 001622 032700 177437 BIT #177437,R0 ; ANY EXTRANEOUS BITS ON?
1798 001626 001003 BNE CKEDME ; YES, DON'T DO IT
1799 001630 022700 000200 CMP #ED.PHY,R0 ; IS IT IN RANGE?
1800 001634 103003 BHIS CKEDMX ; YES, LEAVE
1801 001636 CKEDME:
1802 001636 ERROR$ MAE ; MODE ARGUMENT ERROR
001636 012700 MOV (PC)+,R0 ; MOVE .RAD50 ERROR CODE TO R0
001640 050555 .RAD50 /MAE/ ; "MAE" ERROR CODE IN .RAD50
1803 001642 000261 SEC ; SET THE C-BIT
1804 001644 CKEDMX:
1805 001644 RETURN ; TO CALLER
001644 000207 RTS PC
1806
1807 ; TABLES FOR EXAMINE / DEPOSIT KL10 MEMORY
1808
1809 001646 .ETAB:
1810 001646 007325' .WORD .EXDPB+3 ; POINTER FOR EXAMINE MODE IN DPB
1811 001650 007322' .WORD .EXDPB ; EXAMINE DPB POINTER
1812 001652 021075 .RAD50 /ESE/ ; EBOX STOPPED - EXAMINE
1813 001654 020516 .RAD50 /EMF/ ; EXAMINE KL10 FAILED
1814 .EVEN
1815
1816 001656 .DTAB:
1817 001656 007337' .WORD .DPDPB+3 ; POINTER FOR DEPOSIT MODE IN DPB
1818 001660 007334' .WORD .DPDPB ; DEPOSIT DPB POINTER
1819 001662 021074 .RAD50 /ESD/ ; EBOX STOPPED - DEPOSIT
1820 001664 015416 .RAD50 /DMF/ ; DEPOSIT KL10 FAILED
1821 .EVEN
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 68
*.INIT -- INITIALIZATION SUBROUTINE* 7509.26
1823 .SBTTL *.INIT -- INITIALIZATION SUBROUTINE* 7509.26
1824
1825 ;+
1826 ; .INIT -- SUBROUTINE TO INITIALIZE THE COMMAND PARSER.
1827 ;
1828 ; THIS SUBROUTINE CLEARS INTERNAL BUFFERS AND INITIALIZES
1829 ; THE FOLLOWING REGISTERS:
1830 ;
1831 ; (A) ".KLFLG" -- THE KL10 STATUS FLAG WORD,
1832 ; (B) ".CLKWD" -- THE KL10 CLOCK STATUS WORD,
1833 ; (C) ".PSCWD" -- THE KL10 PARITY CONTROL WORD.
1834 ;
1835 ; CALLING SEQUENCE IS:
1836 ;
1837 ; CALL .INIT ; INIT THE COMMAND PARSER
1838 ; BCS ERROR ; ERROR IF C-BIT IS SET
1839 ;
1840 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE
1841 ; ALL REGISTERS ARE PRESERVED ACROSS THE CALL.
1842 ;
1843 ; ERROR CODES RETURNED:
1844 ;
1845 ; CCC -- CAN'T CLEAR KL10 CLOCK.
1846 ; CCR -- CAN'T CLEAR KL10 RUN FLOP.
1847 ; CCS -- KL10 CLOCK CAN'T START.
1848 ; CES -- KL10 CLOCK ERROR STOP.
1849 ; CFH -- CAN'T FIND KL10 HALT LOOP.
1850 ; CSC -- CAN'T SYNCH KL10 CLOCK.
1851 ; CSR -- CAN'T SET KL10 RUN FLOP.
1852 ; DSF -- DTE20 STATUS FAILURE.
1853 ; FRF -- FUNCTION READ FAILED.
1854 ; FWF -- FUNCTION WRITE FAILED.
1855 ;-
1856
1857 001666 .INIT::
1858 001666 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
001666 004537 007214' JSR R5,REGSAV
1859 001672 PUSH R0 ; R0 TOO
001672 010046 MOV R0,-(SP)
1860 001674 000257 CCC ; .CLEAR N, Z, V, C BITS
1861 001676 012702 000032' MOV #.DFBLK,R2 ; .CLEAR THE DF BUFFERS
1862 001702 INITL1:
1863 001702 005022 CLR (R2)+ ; .CLEAR A WORD
1864 001704 020227 000176' CMP R2,#DFBEND ; .ARE WE DONE?
1865 001710 103774 BLO INITL1 ; .BRANCH IF NOT
1866 001712 012737 000021 000000G MOV #KF.DEF,.KLFLG ; .INIT ".KLFLG"
1867 001720 000410 BR INKLF1 ; .GO AROUND REGISTER SAVE IN ".INKLF"
1868
1869 ; [CONTINUED ON FOLLOWING PAGES]
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 69
*.INKLF -- SUBROUTINE TO SET UP KL10 STATE WORD* 7601.09
1871 .SBTTL *.INKLF -- SUBROUTINE TO SET UP KL10 STATE WORD* 7601.09
1872
1873 ;+
1874 ; .INKLF -- SUBROUTINE TO SET UP THE KL10 STATE FLAG WORD, ".KLFLG".
1875 ;
1876 ; THIS SUBROUTINE SETS UP THE STATE OF THE FOLLOWING
1877 ; FLAG BITS IN THE KL10 STATE FLAG WORD, ".KLFLG":
1878 ;
1879 ; (A) "KF.CLK" -- KL10 CLOCK RUNNING FLAG,
1880 ; (B) "KF.RUN" -- KL10 RUN FLOP SET FLAG,
1881 ; (C) "KF.KLO" -- KL10 OPCODE ENABLED FLAG.
1882 ;
1883 ; .INKLF MAY BE CALLED DIRECTLY AS DESCRIBED IN THE CALLING SEQUENCE,
1884 ; OR BY ".INIT" WHICH FALLS INTO ".INKLF".
1885 ;
1886 ; CALLING SEQUENCE IS:
1887 ;
1888 ; CALL .INKLF ; SET UP ".KLFLG"
1889 ; BCS ERROR ; ERROR IF C-BIT IS SET
1890 ;
1891 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE NO REGISTERS
1892 ; ARE ALTERED BY THIS SUBROUTINE.
1893 ;
1894 ; ERROR CODES RETURNED:
1895 ;
1896 ; CCC -- CAN'T CLEAR KL10 CLOCK.
1897 ; CCR -- CAN'T CLEAR KL10 RUN FLOP.
1898 ; CCS -- KL10 CLOCK CAN'T START.
1899 ; CES -- KL10 CLOCK ERROR STOP.
1900 ; CFH -- CAN'T FIND KL10 HALT LOOP.
1901 ; CSC -- CAN'T SYNCH KL10 CLOCK.
1902 ; CSR -- CAN'T SET KL10 RUN FLOP.
1903 ; DSF -- DTE20 STATUS FAILURE.
1904 ; DTC -- DTE20 CONFUSED.
1905 ; FRF -- FUNCTION READ FAILED.
1906 ; FWF -- FUNCTION WRITE FAILED.
1907 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 70
*.INKLF -- SUBROUTINE TO SET UP KL10 STATE WORD* 7601.09
1909 001722 .INKLF::
1910 001722 SETF$S #CF.HTO ; SET THE HALT TIMEOUT EVENT FLAG
001722 012746 000001 MOV #CF.HTO,-(SP)
001726 012746 MOV (PC)+,-(SP)
001730 041 002 .BYTE 33.,2
001732 104375 EMT 375
1911 001734 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
001734 004537 007214' JSR R5,REGSAV
1912 001740 PUSH R0 ; R0 TOO
001740 010046 MOV R0,-(SP)
1913 001742 INKLF1: ; .GET HERE FROM .INIT AS WELL
1914 001742 005037 007332' CLR EXDTEN ; .CLEAR OUT THE DTE20 POINTERS IN DPBS
1915 001746 005037 007344' CLR DPDTEN ; .
1916 001752 005037 007274' CLR FRDTEN ; .
1917 001756 005037 007306' CLR FWDTEN ; .
1918 001762 005037 007262' CLR FXDTEN ; .
1919 001766 005037 007320' CLR RGDTEN ; .
1920 001772 CALL .DTSTA ; .READ THE DTE20 STATUS REGISTER
001772 004737 000514' JSR PC,.DTSTA
1921 001776 103450 BCS INITEX ; .ERROR IF C-BIT IS SET
1922 002000 032700 000010 BIT #ST.MOD,R0 ; .IS THE DTE20 PRIVILEGED??
1923 002004 001047 BNE INITDX ; .UGH, BLETCH -- NO
1924 002006 CALL .CESCK ; .SEE IF CLOCK ERROR STOP IS UP
002006 004737 000300' JSR PC,.CESCK
1925 002012 103442 BCS INITEX ; .C-BIT IS SET IF SO OR OTHER ERROR
1926 002014 012705 000000G MOV #.KLFLG,R5 ; .FLAG POINTER TO R5
1927 002020 042715 120000 BIC #KF.CLK!KF.RUN,(R5)
1928 ; .CLEAR THE CLOCK AND RUNNING FLAGS
1929 002024 012700 000200 MOV #ED.PHY,R0 ; .PHYSICAL REFERENCE
1930 002030 012701 002142' MOV #.INEXT,R1 ; .POINT TO DATA BLOCK
1931 002034 CALL .EXKLM ; .EXAMINE KL10 MEMORY
002034 004737 001432' JSR PC,.EXKLM
1932 002040 012700 000200 MOV #ED.PHY,R0 ; .IGNORE ERROR AND TRY AGAIN
1933 002044 CALL .EXKLM ; .SO
002044 004737 001432' JSR PC,.EXKLM
1934 002050 103402 BCS INKLFA ; .IGNORE EXAMINE FAILURE
1935 002052 052715 100000 BIS #KF.CLK,(R5) ; .SET THE CLOCK RUNNING FLAG
1936 002056 INKLFA:
1937 002056 000241 CLC ; .CLEAR THE C-BIT
1938 002060 012703 000144 MOV #^D100,R3 ; .LOOP COUNT TO R3
1939 002064 INKLF2:
1940 002064 CALL .DTDW1 ; .READ DIAG WORD 1
002064 004737 000476' JSR PC,.DTDW1
1941 002070 103413 BCS INITEX ; .ERROR IF C-BIT IS SET
1942 002072 032700 002000 BIT #D1.RUN,R0 ; .IS RUN ON?
1943 002076 001003 BNE INKLF3 ; .BRANCH IF YES
1944 002100 SOB R3,INKLF2 ; .LOOP TILL COUNT EXHAUSTED
002100 005303 DEC R3
002102 001370 BNE INKLF2
1945 002104 000405 BR INITEX ; .CAN'T FIND IT, GIVE UP
1946
1947 ; [CONTINUED ON NEXT PAGE]
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 71
*.INKLF -- SUBROUTINE TO SET UP KL10 STATE WORD* 7601.09
1949 ; [HERE FROM PREVIOUS PAGE TO RESTART THE KL10]
1950
1951 002106 INKLF3:
1952 002106 032700 001000 BIT #D1.HLP,R0 ; .IS THE HALT LOOP THERE TOO?
1953 002112 001010 BNE INITDT ; .BRANCH IF SO
1954 002114 052715 020000 BIS #KF.RUN,(R5) ; .FOUND IT OK, SET THE FLAG
1955 002120 INITEX:
1956 002120 005226 INC (SP)+ ; CLEAR THE STACK (SAVE THE ERROR CODE)
1957 002122 RETURN ; AND GO AWAY
002122 000207 RTS PC
1958
1959 002124 INITDX:
1960 002124 ERROR$ DNP ; .DTE-20 NOT PRIVILEGED
002124 012700 MOV (PC)+,R0 ; MOVE .RAD50 ERROR CODE TO R0
002126 015500 .RAD50 /DNP/ ; "DNP" ERROR CODE IN .RAD50
1961 002130 INITER:
1962 002130 000261 SEC ; .SET THE C-BIT
1963 002132 000772 BR INITEX ; .AND GO AWAY
1964
1965 002134 INITDT:
1966 002134 ERROR$ DTC ; .DTE20 CONFUSED
002134 012700 MOV (PC)+,R0 ; MOVE .RAD50 ERROR CODE TO R0
002136 016043 .RAD50 /DTC/ ; "DTC" ERROR CODE IN .RAD50
1967 002140 000773 BR INITER ; .EXIT
1968
1969 002142 .INEXT:
1970 002142 000136' .WORD .EXADR ; ADDRESS 0
1971 002144 000142' .WORD .EXBFR ; PLACE FOR DATA
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 72
*.KLHLT -- SUBROUTINE TO STOP THE KL10 IN THE HALT LOOP* 7601.
1973 .SBTTL *.KLHLT -- SUBROUTINE TO STOP THE KL10 IN THE HALT LOOP* 7601.09
1974
1975 ;+
1976 ; .KLHLT -- SUBROUTINE TO STOP THE KL10 IN THE HALT LOOP
1977 ; AND SYNCH THE EBOX CLOCK LOW.
1978 ;
1979 ; THIS SUBROUTINE CLEARS THE KL10 RUN FLOP, GETS THE KL10 INTO
1980 ; THE MICROCODE HALT LOOP, AND TURNS THE KL10 CLOCK OFF.
1981 ;
1982 ; SEQUENCE OF OPERATION:
1983 ;
1984 ; (A) THE KL10 RUN FLOP IS TURNED OFF,
1985 ; (B) THE KL10 IS MOVED INTO THE UCODE HALT LOOP,
1986 ; (C) A SMALL WAIT IS TIMED OUT (TO LET KL10 I/O SETTLE)
1987 ; (D) THE KL10 CLOCK IS TURNED OFF,
1988 ; (E) THE KL10 CLOCK IS SYNCHED LOW.
1989 ;
1990 ; CALLING SEQUENCE IS:
1991 ;
1992 ; CALL .KLHLT ; STOP AND SYNCH EBOX CLOCK LOW
1993 ; BCS ERROR ; ERROR IF C-BIT IS SET
1994 ;
1995 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE.
1996 ; ALL OTHER REGISTERS ARE PRESERVED.
1997 ;
1998 ; ERROR CODES RETURNED:
1999 ;
2000 ; CCC -- CAN'T CLEAR KL10 CLOCK.
2001 ; CCR -- CAN'T CLEAR KL10 RUN FLOP.
2002 ; CFH -- CAN'T FIND KL10 HALT LOOP.
2003 ; CSC -- CAN'T SYNCH KL10 CLOCK.
2004 ; DSF -- DTE20 STATUS FAILURE.
2005 ; FWF -- FUNCTION WRITE FAILED.
2006 ;
2007 ; NOTE:
2008 ;
2009 ; THIS SUBROUTINE EXITS WITH THE KL10 CLOCK OFF.
2010 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 73
*.KLHLT -- SUBROUTINE TO STOP THE KL10 IN THE HALT LOOP* 7601.
2012 002146 .KLHLT::
2013 002146 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
002146 004537 007214' JSR R5,REGSAV
2014 002152 CALL .CLRFF ; CLEAR THE RUN FLOP
002152 004737 000366' JSR PC,.CLRFF
2015 002156 103447 BCS KLHLTX ; ERROR IF C-BIT IS SET
2016 002160 012701 000024 MOV #^D20,R1 ; SET UP WAIT COUNT
2017 002164 KLHLT1:
2018 002164 CALL .DTDW1 ; READ THE DTE20 DIAG WORD 1
002164 004737 000476' JSR PC,.DTDW1
2019 002170 103442 BCS KLHLTX ; ERROR IF C-BIT IS SET
2020 002172 032700 001000 BIT #D1.HLP,R0 ; IN THE HALT LOOP YET?
2021 002176 001002 BNE KLHLT2 ; YES
2022 002200 SOB R1,KLHLT1 ; NO, TRY TILL COUNT EXHAUSTED
002200 005301 DEC R1
002202 001370 BNE KLHLT1
2023 002204 KLHLT2:
2024 002204 005701 TST R1 ; IS R1 .GT. 0 ?
2025 002206 003406 BLE KLHLT5 ; NO, GO MOVE THE CLOCK MANUALLY
2026 002210 KLHLT3:
2027 002210 CALL .STPXC ; STOP THE KL10 CLOCK
002210 004737 005734' JSR PC,.STPXC
2028 002214 103430 BCS KLHLTX ; ERROR IF C-BIT IS SET
2029 002216 KLHLT4:
2030 002216 CALL .SYNXC ; SYNCH THE EBOX CLOCK LOW
002216 004737 006156' JSR PC,.SYNXC
2031 ; ERROR IF C-BIT IS SET
2032 002222 000425 BR KLHLTX ; DONE
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 74
*.KLHLT -- SUBROUTINE TO STOP THE KL10 IN THE HALT LOOP* 7601.
2034 ; GET HERE IF WE CAN'T GET INTO HALT LOOP NORMALLY.
2035 ; THIS MEANS THAT:
2036 ;
2037 ; (A) MICROCODE WASN'T RUNNING, OR
2038 ; (B) MICROCODE WASN'T LOADED.
2039 ;
2040 ; THIS SUBROUTINE MOVES THE MBOX CLOCK IN AN ATTEMPT TO GET THE
2041 ; KL10 INTO THE HALT LOOP MANUALLY.
2042
2043 002224 KLHLT5:
2044 002224 CALL .STPXC ; MAKE SURE THE CLOCK IS OFF
002224 004737 005734' JSR PC,.STPXC
2045 002230 103422 BCS KLHLTX ; ERROR IF C-BIT IS SET
2046 002232 012705 000012 MOV #^D10,R5 ; ITERATION COUNT TO R5
2047 002236 KLHLT6:
2048 002236 012700 000310 MOV #^D200,R0 ; 200 (DECIMAL) CLOCKS PER PASS
2049 002242 CALL .BURST ; BURST THE CLOCK
002242 004737 000242' JSR PC,.BURST
2050 002246 103413 BCS KLHLTX ; ERROR IF C-BIT IS SET
2051 002250 CALL .DTDW1 ; READ DTE20 DIAG WORD 1
002250 004737 000476' JSR PC,.DTDW1
2052 002254 103410 BCS KLHLTX ; ERROR IF C-BIT IS SET
2053 002256 032700 001000 BIT #D1.HLP,R0 ; ARE WE IN HALT LOOP NOW?
2054 002262 001352 BNE KLHLT3 ; YES, GO STOP AND SYNCH THE CLOCK
2055 002264 SOB R5,KLHLT6 ; LOOP TILL COUNT EXHAUSTED
002264 005305 DEC R5
002266 001363 BNE KLHLT6
2056 002270 KLHCFH:
2057 002270 ERROR$ CFH ; CAN'T FIND HALT LOOP
002270 012700 MOV (PC)+,R0 ; MOVE .RAD50 ERROR CODE TO R0
002272 011670 .RAD50 /CFH/ ; "CFH" ERROR CODE IN .RAD50
2058 002274 000261 SEC ; SET THE C-BIT
2059 002276 KLHLTX:
2060 002276 RETURN ; RESTORE REGISTERS AND RETURN
002276 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 75
*.KLRST -- SUBROUTINE TO RESTART THE KL10* 7512.22
2062 .SBTTL *.KLRST -- SUBROUTINE TO RESTART THE KL10* 7512.22
2063
2064 ;+
2065 ; .KLRST -- SUBROUTINE TO RESTART THE KL10.
2066 ;
2067 ; THIS SUBROUTINE WILL RESTART THE KL10 AS DIRECTED BY ".OKLF",
2068 ; THE OLD KL10 FLAG WORD.
2069 ;
2070 ; CALLING SEQUENCE IS:
2071 ;
2072 ; CALL .KLRST ; RESTART THE KL10
2073 ; BCS ERROR ; ERROR IF C-BIT IS SET
2074 ;
2075 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE NO
2076 ; REGISTERS ARE ALTERED.
2077 ;
2078 ; ERROR CODES RETURNED:
2079 ;
2080 ; CCC -- CAN'T CLEAR KL10 CLOCK.
2081 ; CCR -- CAN'T CLEAR KL10 RUN FLOP.
2082 ; CFH -- CAN'T FIND KL10 HALT LOOP.
2083 ; CSC -- CAN'T SYNCH KL10 CLOCK.
2084 ; DSF -- DTE20 STATUS FAILURE.
2085 ; FRF -- FUNCTION READ FAILED.
2086 ; FWF -- FUNCTION WRITE FAILED.
2087 ; FXF -- FUNCTION EXECUTE FAILED.
2088 ;
2089 ; NOTE:
2090 ;
2091 ; THIS SUBROUTINE IS USED WITH MICROCODE EALIER THAN
2092 ; VERSION 122.
2093 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 76
*.KLRST -- SUBROUTINE TO RESTART THE KL10* 7512.22
2095 002300 .KLRST::
2096 002300 PUSH <R1,R0> ; SAVE R0 AND R1
002300 010146 MOV R1,-(SP)
002302 010046 MOV R0,-(SP)
2097 002304 013701 011706' MOV .OKLF,R1 ; ..GET COPY OF OLD FLAGS
2098 002310 032701 005400 BIT #KF.SPM!KF.SIM!KF.BRM,R1
2099 002314 001022 BNE KLRST2 ; ..BRANCH IF BURST, SINGLE INSTRUCTION OR PULSE MODE
2100 002316 005101 COM R1 ; ..INVERT R1
2101 002320 000241 CLC ; ..CLEAR THE C-BIT
2102 002322 032701 120000 BIT #KF.RUN!KF.CLK,R1
2103 002326 001013 BNE KLRST1 ; ..BRANCH IF NOT RUNNING
2104 002330 CALL .STRUN ; ..SET THE RUN FLOP
002330 004737 005772' JSR PC,.STRUN
2105 002334 103432 BCS KLRSTE ; ..ERROR IF C-BIT IS SET
2106 002336 012700 000024 MOV #FX.CON,R0 ; ..NOW DO THE CONTINUE BUTTON
2107 002342 CALL .FXCT ; ..SO
002342 004737 006666' JSR PC,.FXCT
2108 002346 103425 BCS KLRSTE ; ..ERROR IF C-BIT SET
2109 002350 013701 011706' MOV .OKLF,R1 ; ..ELSE GET THE WORD AGAIN
2110 002354 000410 BR KLRST3 ; ..AND GO AWAY
2111 002356 KLRST1:
2112 002356 005101 COM R1 ; ..STRAIGHTEN R1 OUT
2113 002360 000241 CLC ; ..CLEAR THE C-BIT
2114 002362 KLRST2:
2115 002362 032701 020000 BIT #KF.RUN,R1 ; ..WAS RUN FLOP SET?
2116 002366 001403 BEQ KLRST3 ; ..BRANCH IF NOT
2117 002370 CALL .STRUN ; ..SET THE RUN FLOP
002370 004737 005772' JSR PC,.STRUN
2118 002374 103412 BCS KLRSTE ; ..ERROR IF C-BIT IS SET
2119 002376 KLRST3:
2120 002376 032701 100000 BIT #KF.CLK,R1 ; ..WAS CLOCK RUNNING?
2121 002402 001411 BEQ KLRSTX ; ..BRANCH IF NOT
2122 002404 032737 100000 000000G BIT #KF.CLK,.KLFLG ; ..IS THE CLOCK ALREADY ON?
2123 002412 001005 BNE KLRSTX ; ..BRANCH IF SO
2124 002414 CALL .STCLK ; ..START THE CLOCK
002414 004737 005700' JSR PC,.STCLK
2125 002420 103002 BCC KLRSTX ; ..ALL OK IF BIT CLEAR
2126 002422 KLRSTE:
2127 002422 005226 INC (SP)+ ; .RESET THE STACK
2128 002424 000401 BR KLRSXX ; .GIVE ERROR RETURN
2129 002426 KLRSTX:
2130 002426 POP R0 ; RESTORE R0
002426 012600 MOV (SP)+,R0
2131 002430 KLRSXX:
2132 002430 POP R1 ; RESTORE R1
002430 012601 MOV (SP)+,R1
2133 002432 RETURN ; AND EXIT
002432 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 78
*.KLST -- START KL10 SUBROUTINE* 7601.02
2136 .SBTTL *.KLST -- START KL10 SUBROUTINE* 7601.02
2137
2138 ;+
2139 ; .KLST -- SUBROUTINE TO START THE KL10 AT THE ADDRESS
2140 ; SPECIFIED IN THE 36 BIT PC WORD POINTED TO BY R1.
2141 ;
2142 ; THIS SUBROUTINE LOADS A KL10 PC WORD INTO THE AR REGISTER
2143 ; AND STARTS THE KL10 CRAM AT ADDRESS 0000.
2144 ;
2145 ; SEQUENCE OF OPERATION:
2146 ;
2147 ; (A) THE KL10 IS STOPPED,
2148 ; (B) THE CRAM ADDRESS REGISTER LOADED WITH ADDRESS 0,
2149 ; (C) A 36 BIT KL10 PC WORD IS LOADED INTO THE AR REGISTER,
2150 ; (D) THE KL10 IS ALLOWED TO RUN THRU ".KLCON".
2151 ;
2152 ; CALLING SEQUENCE IS:
2153 ;
2154 ; MOV #BUFADR,R1 ; POINTER TO PC WORD
2155 ; CALL .KLST ; START THE KL10
2156 ; BCS ERROR ; ERROR IF C-BIT IS SET
2157 ;
2158 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE
2159 ; R0 IS CLOBBERED, ALL OTHER REGISTERS ARE PRESERVED.
2160 ;
2161 ; ERROR CODES RETURNED:
2162 ;
2163 ; CCC -- CAN'T CLEAR KL10 CLOCK.
2164 ; CCR -- CAN'T CLEAR KL10 RUN FLOP.
2165 ; CFH -- CAN'T FIND KL10 HALT LOOP.
2166 ; CSC -- CAN'T SYNCH KL10 CLOCK.
2167 ; DSF -- DTE20 STATUS FAILURE.
2168 ; FRF -- FUNCTION READ FAILED.
2169 ; FWF -- FUNCTION WRITE FAILED.
2170 ; FXF -- FUNCTION EXECUTE FAILED.
2171 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 79
*.KLST -- START KL10 SUBROUTINE* 7601.02
2173 002434 .KLST::
2174 002434 005737 000206' TST .STFLG ; IS THIS START ALLOWED?
2175 002440 001020 BNE .KLSTN ; NO, DO OTHER START
2176 002442 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
002442 004537 007214' JSR R5,REGSAV
2177 002446 CALL .KLHLT ; STOP THE KL10
002446 004737 002146' JSR PC,.KLHLT
2178 002452 103412 BCS KLSTXX ; ERROR IF C-BIT IS SET
2179 002454 CALL .RESTP ; RESET THE KL10
002454 004737 005554' JSR PC,.RESTP
2180 ; LOAD CRAM DIAG ADDR WITH 0
2181 ; SAVE AND RESTORE CLOCK AND PARITY CONTROLS
2182 002460 103407 BCS KLSTXX ; ERROR IF C-BIT IS SET
2183 002462 016601 000002 MOV 2(SP),R1 ; GET POINTER TO PC WORD OFF THE STACK
2184 002466 CALL .WRTAR ; WRITE THE PC WORD IN THE AR
002466 004737 006436' JSR PC,.WRTAR
2185 002472 103402 BCS KLSTXX ; ERROR IF C-BIT IS SET
2186 002474 PUSH R1 ; SAVE R1 ON THE STACK
002474 010146 MOV R1,-(SP)
2187 002476 000416 BR KLSTN1 ; .SET UP ".KLFLG" AND FINISH START
2188 002500 KLSTXX:
2189 002500 RETURN ; TO CALLER
002500 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 80
*.KLSTN -- SUBROUTINE TO START THE KL10* 7512.08
2191 .SBTTL *.KLSTN -- SUBROUTINE TO START THE KL10* 7512.08
2192
2193 ; .KLSTN -- SUBROUTINE TO START THE KL10.
2194 ;
2195 ; THIS SUBROUTINE STARTS THE KL10 FROM THE HALT LOOP AT THE ADDRESS
2196 ; POINTED T0 BY R1 IN THE CALL.
2197 ;
2198 ; SEQUENCE OF OPERATION:
2199 ;
2200 ; (A) THE KL10 IS STOPPED IN THE HALT LOOP,
2201 ; (B) THE PC WORD IS LOADED INTO THE AR REGISTER,
2202 ; (C) THE KL10 IS ALLOWED TO RUN THRU ".KLCON".
2203 ;
2204 ; CALLING SEQUENCE IS:
2205 ;
2206 ; MOV #BUFADR,R1 ; POINTER TO PC WORD TO R1
2207 ; CALL .KLSTN ; START THE KL10
2208 ; BCS ERROR ; ERROR IF C-BIT IS SET
2209 ;
2210 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, AND IS UNDEFINED
2211 ; ON SUCCESS. ALL OTHER REGISTERS ARE PRESERVED.
2212 ;
2213 ; ERROR CODES RETURNED:
2214 ;
2215 ; CCC -- CAN'T CLEAR KL10 CLOCK.
2216 ; CCR -- CAN'T CLEAR KL10 RUN FLOP.
2217 ; CFH -- CAN'T FIND KL10 HALT LOOP.
2218 ; DSF -- DTE20 STATUS FAILURE.
2219 ; FRF -- FUNCTION READ FAILED.
2220 ; FWF -- FUNCTION WRITE FAILED.
2221 ; FXF -- FUNCTION EXECUTE FAILED.
2222 ;
2223 ; NOTE:
2224 ;
2225 ; THIS SUBROUTINE IS DEPENDENT UPON MICROCODE VERSION 122.
2226 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 81
*.KLSTN -- SUBROUTINE TO START THE KL10* 7512.08
2228 002502 .KLSTN::
2229 002502 005737 000206' TST .STFLG ; IS THIS START ALLOWED?
2230 002506 001752 BEQ .KLST ; NO, DO THE OTHER START
2231 002510 PUSH R1 ; SAVE POINTER ON THE STACK
002510 010146 MOV R1,-(SP)
2232 002512 CALL .KLHLT ; .HALT THE KL10
002512 004737 002146' JSR PC,.KLHLT
2233 002516 103451 BCS KLGOXX ; .ERROR IF C-BIT IS SET
2234 002520 011601 MOV (SP),R1 ; .GET THE POINTER
2235 002522 012700 000176 MOV #FW.LAR,R0 ; .LOAD THE AR REGISTER
2236 002526 CALL .FWRIT ; .DO IT
002526 004737 006566' JSR PC,.FWRIT
2237 002532 103443 BCS KLGOXX ; .ERROR IF C-BIT IS SET
2238 002534 KLSTN1:
2239 002534 012701 000000G MOV #.KLFLG,R1 ; .POINT TO ".KLFLG"
2240 002540 000403 BR .KLGO ; .AND FINISH THE START
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 82
*.KLCON -- KL10 CONTINUE SUBROUTINE* 7512.10
2242 .SBTTL *.KLCON -- KL10 CONTINUE SUBROUTINE* 7512.10
2243
2244 ;+
2245 ; .KLCON -- SUBROUTINE TO CONTINUE THE KL10.
2246 ; .KLGO -- SUBROUTINE TO FINISH STARTING THE KL10.
2247 ;
2248 ; THIS SUBROUTINE STARTS THE KL10 CLOCK AND SETS THE KL10
2249 ; RUN FLOP ".KLCON" SETS THE CONTINUE FLOP PRIOR TO THIS.
2250 ;
2251 ; SEQUENCE OF OPERATION:
2252 ;
2253 ; .KLCON:
2254 ;
2255 ; (A) THE KL10 CONTINUE FLOP IS SET,
2256 ;
2257 ; .KLGO:
2258 ;
2259 ; (A) THE KL10 CLOCK IS STARTED IF NOT IN SINGLE PULSE MODE,
2260 ; (B) THE KL10 RUN FLOP IS SET IF NOT IN SINGLE INSTRUCTION MODE
2261 ; OR SINGLE PULSE MODE.
2262 ;
2263 ; CALLING SEQUENCE IS:
2264 ;
2265 ; CALL .KLCON ; CONTINUE THE KL10
2266 ; BCS ERROR ; ERROR IF C-BIT IS SET
2267 ;
2268 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE; OTHERWISE NO
2269 ; REGISTERS ARE ALTERED BY THIS SUBROUTINE.
2270 ;
2271 ; ERROR CODES RETURNED:
2272 ;
2273 ; CCC -- CAN'T CLEAR KL10 CLOCK.
2274 ; CCR -- CAN'T CLEAR KL10 RUN FLOP.
2275 ; CFH -- CAN'T FIND KL10 HALT LOOP.
2276 ; CSC -- CAN'T SYNCH KL10 CLOCK.
2277 ; DSF -- DTE20 STATUS FAILURE.
2278 ; FRF -- FUNCTION READ FAILED.
2279 ; FWF -- FUNCTION WRITE FAILED.
2280 ; FXF -- FUNCTION EXECUTE FAILED.
2281 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 83
*.KLCON -- KL10 CONTINUE SUBROUTINE* 7512.10
2283 002542 .KLCON::
2284 002542 PUSH R1 ; SAVE R1 ON THE STACK
002542 010146 MOV R1,-(SP)
2285 002544 012701 000000G MOV #.KLFLG,R1 ; .FLAG WORD POINTER TO R1
2286 002550 .KLGO::
2287 002550 032711 001000 BIT #KF.SPM,(R1) ; .SINGLE PULSE MODE?
2288 002554 001032 BNE KLGOXX ; .BRANCH IF YES
2289 002556 032711 004000 BIT #KF.SIM,(R1) ; .SINGLE INSTRUCTION MODE?
2290 002562 001003 BNE KLGO1 ; .BRANCH IF YES
2291 002564 CALL .STRUN ; .SET THE KL10 RUN FLOP
002564 004737 005772' JSR PC,.STRUN
2292 002570 103424 BCS KLGOXX ; .ERROR IF C-BIT IS SET
2293 002572 KLGO1:
2294 002572 012700 000024 MOV #FX.CON,R0 ; .SET THE CONTINUE BUTTON
2295 002576 CALL .FXCT ; .DO IT
002576 004737 006666' JSR PC,.FXCT
2296 002602 103417 BCS KLGOXX ; .ERROR IF C-BIT IS SET
2297 002604 032711 100000 BIT #KF.CLK,(R1) ; .IS THE CLOCK RUNNING?
2298 002610 001014 BNE KLGOXX ; .YES, EXIT
2299 002612 CALL .STCLK ; .START THE KL10 CLOCK
002612 004737 005700' JSR PC,.STCLK
2300 002616 103411 BCS KLGOXX ; .ERROR IF C-BIT IS SET
2301 002620 KLGO2:
2302 002620 011101 MOV (R1),R1 ; .GET ".KLFLG" INTO R1
2303 002622 005101 COM R1 ; .INVERT IT
2304 002624 000241 CLC ; .CLEAR THE C-BIT
2305 002626 032701 120000 BIT #KF.CLK!KF.RUN,R1
2306 ; .ARE CLOCK AND RUN ON?
2307 002632 001003 BNE KLGOXX ; .BRANCH IF NOT
2308 002634 052737 000020 000000G BIS #KF.CON,.KLFLG ; KL10 IS NOW CONTINUEABLE
2309 002642 KLGOXX:
2310 002642 POP R1 ; RESTORE R1
002642 012601 MOV (SP)+,R1
2311 002644 RETURN ; EXIT
002644 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 84
*.KLSTP -- SUBROUTINE TO GET THE KL10 INTO THE HALT LOOP* 7512
2313 .SBTTL *.KLSTP -- SUBROUTINE TO GET THE KL10 INTO THE HALT LOOP* 7512.19
2314
2315 ;+
2316 ; .KLSTP -- SUBROUTINE TO PUT THE KL10 INTO THE HALT LOOP.
2317 ;
2318 ; THIS SUBROUTINE WILL PUT THE KL10 INTO THE MICROCODE HALT LOOP
2319 ; AND EXIT WITH THE KL10 CLOCK RUNNING.
2320 ;
2321 ; CALLING SEQUENCE IS:
2322 ;
2323 ; CALL .KLSTP ; STOP THE KL10
2324 ; BCS ERROR ; ERROR IF C-BIT IS SET
2325 ;
2326 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE NO
2327 ; REGISTERS ARE ALTERED BY THIS SUBROUTINE.
2328 ;
2329 ; ERROR CODES RETURNED:
2330 ;
2331 ; CCR -- CAN'T CLEAR RUN FLOP.
2332 ; CFH -- CAN'T FIND HALT LOOP.
2333 ; DSF -- DTE20 STATUS FAILURE.
2334 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 86
*.KLSTP -- SUBROUTINE TO GET THE KL10 INTO THE HALT LOOP* 7512
2337 002646 .KLSTP::
2338 002646 032737 100000 000000G BIT #KF.CLK,.KLFLG ; IS THE CLOCK OFF?
2339 002654 001002 BNE KLSTP0 ; BRANCH IF NOT
2340 002656 000137 002146' JMP .KLHLT ; HALT THE KL10
2341 002662 KLSTP0:
2342 002662 PUSH R1 ; SAVE R1 ON THE STACK
002662 010146 MOV R1,-(SP)
2343 002664 012701 000144 MOV #^D100,R1 ; .SETUP WAIT COUNT
2344 002670 CALL .CLRFF ; .CLEAR THE RUN FLOP
002670 004737 000366' JSR PC,.CLRFF
2345 002674 103415 BCS KLSTPX ; .ERROR IF C-BIT SET
2346 002676 KLSTP1:
2347 002676 CALL .DTDW1 ; .READ DIAG WORD 1
002676 004737 000476' JSR PC,.DTDW1
2348 002702 103412 BCS KLSTPX ; .ERROR IF C-BIT SET
2349 002704 032700 001000 BIT #D1.HLP,R0 ; .ARE WE IN THE HALT LOOP?
2350 002710 001002 BNE KLSTP2 ; .BRANCH IF SO
2351 002712 SOB R1,KLSTP1 ; .ELSE KEEP GOING
002712 005301 DEC R1
002714 001370 BNE KLSTP1
2352 002716 KLSTP2:
2353 002716 005701 TST R1 ; .IS R1 .GT. 0?
2354 002720 003003 BGT KLSTPX ; .YES, ALL OK
2355 002722 ERROR$ CFH ; .CAN'T FIND HALT LOOP
002722 012700 MOV (PC)+,R0 ; MOVE .RAD50 ERROR CODE TO R0
002724 011670 .RAD50 /CFH/ ; "CFH" ERROR CODE IN .RAD50
2356 002726 000261 SEC ; .SET THE C-BIT
2357 002730 KLSTPX:
2358 002730 POP R1 ; RESTORE R1
002730 012601 MOV (SP)+,R1
2359 002732 RETURN ; TO CALLER
002732 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 87
*.KLXCT -- KL10 INSTRUCTION EXECUTE SUBROUTINE* 7509.10
2361 .SBTTL *.KLXCT -- KL10 INSTRUCTION EXECUTE SUBROUTINE* 7509.10
2362
2363 ;+
2364 ; .KLXCT -- SUBROUTINE TO EXECUTE A KL10 INSTRUCTION.
2365 ;
2366 ; THIS SUBROUTINE LOADS A KL10 INSTRUCTION INTO THE AR REGISTER
2367 ; AND CAUSES THAT INSTRUCTION TO BE EXECUTED.
2368 ;
2369 ; SEQUENCE OF OPERATION:
2370 ;
2371 ; (A) THE KL10 IS STOPPED IN THE HALT LOOP WITH THE CLOCK OFF,
2372 ; (B) INSTRUCTION TO BE EXECUTED IS LOADED INTO THE AR,
2373 ; (C) THE KL10 CONTINUE FLOP IS SET.
2374 ;
2375 ; CALLING SEQUENCE IS:
2376 ;
2377 ; MOV #BUFADR,R1 ; INSTRUCTION POINTER TO R1
2378 ; CALL .KLXCT ; EXECUTE THE INSTRUCTION
2379 ; BCS ERROR ; ERROR IF C-BIT IS SET
2380 ;
2381 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE
2382 ; R0 AND R1 ARE CLOBBERED.
2383 ;
2384 ; ERROR CODES RETURNED:
2385 ;
2386 ; CCC -- CAN'T CLEAR KL10 CLOCK.
2387 ; CCR -- CAN'T CLEAR KL10 RUN FLOP.
2388 ; CFH -- CAN'T FIND KL10 HALT LOOP.
2389 ; CSC -- CAN'T SYNCH KL10 CLOCK.
2390 ; DSF -- DTE20 STATUS FAILURE.
2391 ; FRF -- FUNCTION READ FAILED.
2392 ; FWF -- FUNCTION WRITE FAILED.
2393 ; FXF -- FUNCTION EXECUTE FAILED.
2394 ;-
2395
2396 002734 .KLXCT::
2397 002734 CALL .KLHLT ; STOP THE KL10 IN THE HALT LOOP
002734 004737 002146' JSR PC,.KLHLT
2398 002740 103411 BCS KLXCTX ; ERROR IF C-BIT IS SET
2399 002742 012700 000176 MOV #FW.LAR,R0 ; LOAD THE AR REGISTER
2400 002746 CALL .FWRIT ; DO IT
002746 004737 006566' JSR PC,.FWRIT
2401 002752 103404 BCS KLXCTX ; ERROR IF C-BIT IS SET
2402 002754 012700 000024 MOV #FX.CON,R0 ; SET THE "CONTINUE BUTTON"
2403 002760 CALL .FXCT ; DO IT
002760 004737 006666' JSR PC,.FXCT
2404 002764 KLXCTX:
2405 002764 RETURN ; TO CALLER
002764 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 88
*.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE* 7601.02
2407 .SBTTL *.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE* 7601.02
2408
2409 ;+
2410 ; .LDBRC -- SUBROUTINE TO STOP THE KL10 CLOCK AND LOAD THE
2411 ; MBOX BURST COUNT REGISTER AS IN ".LDBRG".
2412 ; .LDBRG -- SUBROUTINE TO LOAD THE MBOX CLOCK BURST COUNTER.
2413 ;
2414 ; THIS SUBROUTINE LOADS THE KL10 MBOX BURST COUNT REGISTER
2415 ; WITH THE COUNT PASSED TO IT IN R0.
2416 ;
2417 ; CALLING SEQUENCE IS:
2418 ;
2419 ; MOV #TICKS,R0 ; TICK COUNT TO R0
2420 ; CALL .LDBRG ; LOAD IT
2421 ; BCS ERROR ; ERROR IF C-BIT IS SET
2422 ;
2423 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE,
2424 ; ALL OTHER REGISTERS ARE PRESERVED.
2425 ;
2426 ; ERROR CODES RETURNED:
2427 ;
2428 ; CCC -- CAN'T CLEAR KL10 CLOCK.
2429 ; FWF -- FUNCTION WRITE FAILED.
2430 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 89
*.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE* 7601.02
2432 002766 .LDBRC::
2433 002766 CALL .STPXC ; STOP THE KL10 CLOCK
002766 004737 005734' JSR PC,.STPXC
2434 002772 103437 BCS LDBREX ; ERROR IF C-BIT IS SET
2435 002774 .LDBRG::
2436 002774 PUSH <R1,R0> ; SAVE R1 AND R0 ON THE STACK
002774 010146 MOV R1,-(SP)
002776 010046 MOV R0,-(SP)
2437 003000 CALL .CLDFB ; ..CLEAR THE DFW BUFFERS
003000 004737 007130' JSR PC,.CLDFB
2438 003004 011600 MOV (SP),R0 ; ..GET THE BURST COUNT FROM THE STACK
2439 003006 042700 177760 BIC #177760,R0 ; ..CLEAR UNUSED BITS
2440 003012 010037 000032' MOV R0,.DFWB ; ..SET RIGHT COUNT IN THE BUFFER
2441 003016 012700 000104 MOV #FW.LBR,R0 ; ..SET UP TO LOAD THE RIGHT HALF
2442 003022 005001 CLR R1 ; ..CLEAR R1
2443 003024 CALL .FWRIT ; ..DO IT
003024 004737 006566' JSR PC,.FWRIT
2444 003030 103416 BCS LDBRXX ; ..ERROR IF C-BIT IS SET
2445 003032 011600 MOV (SP),R0 ; ..GET THE ORIGINAL COUNT FROM THE STACK
2446 003034 012701 177774 MOV #-^D4,R1 ; ..SHIFT COUNT TO R1
2447 003040 CALL .SHIFT ; ..SHIFT IT RIGHT 4 PLACES
003040 004737 007162' JSR PC,.SHIFT
2448 003044 042700 177760 BIC #177760,R0 ; ..CLEAR UNUSED BITS
2449 003050 010037 000032' MOV R0,.DFWB ; ..PUT THE HIGH COUNT IN THE WRITE BUFFER
2450 003054 005001 CLR R1 ; ..CLEAR R1
2451 003056 012700 000106 MOV #FW.LBL,R0 ; ..SET UP TO LOAD THE LEFT HALF
2452 003062 CALL .FWRIT ; ..DO IT
003062 004737 006566' JSR PC,.FWRIT
2453 003066 LDBRXX:
2454 003066 005226 INC (SP)+ ; .CLEAR THE STACK
2455 003070 POP R1 ; RESTORE R1
003070 012601 MOV (SP)+,R1
2456 003072 LDBREX:
2457 003072 RETURN ; AND LEAVE
003072 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 90
*.LDCPC -- KL10 CLOCK AND PARITY LOAD SUBROUTINES* 7509.30
2459 .SBTTL *.LDCPC -- KL10 CLOCK AND PARITY LOAD SUBROUTINES* 7509.30
2460
2461 ;+
2462 ; .LDCLK -- SUBROUTINE TO LOAD THE KL10 CLOCK CONTROL REGISTERS.
2463 ; .LDPAR -- SUBROUTINE TO LOAD THE KL10 PARITY CONTROL REGISTERS.
2464 ;
2465 ; THESE SUBROUTINES SET UP THE KL10 CLOCK SOURCE, RATE, AND
2466 ; DISTRIBUTION REGISTERS OR THE PARITY CONTROL REGISTERS.
2467 ;
2468 ; SEQUENCE OF OPERATION:
2469 ;
2470 ; .LDCLK:
2471 ;
2472 ; (A) THE KL10 CLOCK SOURCE, RATE, AND DISTRIBUTION
2473 ; PARAMETERS ARE SET IN THE CLOCK CONTROL REGISTERS,
2474 ; (B) THE PARAMETERS WRITTEN IN (A) ARE SAVED IN THE
2475 ; CLOCK STATUS WORD (".CLKWD").
2476 ;
2477 ; .LDPAR:
2478 ;
2479 ; (A) THE KL10 INTERNAL PARITY CONTROL BITS ARE WRITTEN INTO THE
2480 ; PARITY CONTROL REGISTER,
2481 ; (B) THE CONTROL BITS WITTEN IN (A) ARE SAVED IN THE PARITY
2482 ; CONTROL WORD (".PSCWD").
2483 ;
2484 ; NOTE: AR/ARX PARITY ERRORS MUST BE HANDLED INTERNALLY BY THE KL10.
2485 ;
2486 ; CALLING SEQUENCE IS:
2487 ;
2488 ; MOV #PNTR,R1 ; PARAMETER POINTER TO R1
2489 ; CALL .LDCLK ; SET THE KL10 CLOCK UP
2490 ; BCS ERROR ; ERROR IF C-BIT IS SET
2491 ;
2492 ; THE CLOCK PARAMETER POINTER POINTS TO A WORD WITH FORMAT:
2493 ;
2494 ; !========================================!
2495 ; ! DISTRIBUTION ! SOURCE AND RATE !
2496 ; !========================================!
2497 ;
2498 ; THE PARITY PARAMETER POINTER POINTS TO A WORD WITH FORMAT:
2499 ;
2500 ; !========================================!
2501 ; ! CONTROL BITS ! CLOCK STOP BITS !
2502 ; !========================================!
2503 ;
2504 ; R0 CONTAINS A COPY OF ".CLKWD" OR ".PSCWD" UPON SUCCESS, AND A
2505 ; .RAD50 ERROR CODE ON FAILURE, ALL OTHER REGISTERS ARE PRESERVED.
2506 ;
2507 ; ERROR CODES RETURNED:
2508 ;
2509 ; FWF -- FUNCTION WRITE FAILED.
2510 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 91
*.LDCPC -- KL10 CLOCK AND PARITY LOAD SUBROUTINES* 7509.30
2512 003074 .LDCLK::
2513 003074 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
003074 004537 007214' JSR R5,REGSAV
2514 003100 012703 000200' MOV #.CLKWD,R3 ; CONTROL WORD POINTER TO R3
2515 003104 012704 000110 MOV #FW.CSR,R4 ; BASE CLOCK WRITE TO R4
2516 003110 000406 BR .LDCPC ; DO COMMON CODE
2517 003112 .LDPAR::
2518 003112 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
003112 004537 007214' JSR R5,REGSAV
2519 003116 012703 000204' MOV #.PSCWD,R3 ; CONTROL WORD POINTER TO R3
2520 003122 012704 000114 MOV #FW.IPE,R4 ; BASE PARITY WRITE TO R4
2521 ; FALL INTO COMMON CODE
2522 003126 .LDCPC::
2523 003126 010102 MOV R1,R2 ; CALLER'S PARAMETER POINTER TO R2
2524 003130 CALL .CLDFW ; CLEAR THE WRITE BUFFER
003130 004737 007144' JSR PC,.CLDFW
2525 003134 005001 CLR R1 ; CLEAR R1
2526 003136 111237 000032' MOVB (R2),.DFWB ; SET LOW BYTE PARAMETER
2527 003142 010400 MOV R4,R0 ; DFW CODE TO R0
2528 003144 CALL .FWRIT ; DO IT
003144 004737 006566' JSR PC,.FWRIT
2529 003150 103412 BCS LDCPCX ; ERROR IF C-BIT IS SET
2530 003152 112223 MOVB (R2)+,(R3)+ ; MARK THE NEW LOW BYTE CODE
2531 003154 005724 TST (R4)+ ; NEXT WRITE CODE
2532 003156 111237 000032' MOVB (R2),.DFWB ; SET THE HIGH BYTE PARAMETERS
2533 003162 010400 MOV R4,R0 ; DFW CODE TO R0
2534 003164 CALL .FWRIT ; DO IT
003164 004737 006566' JSR PC,.FWRIT
2535 003170 103402 BCS LDCPCX ; ERROR IF C-BIT IS SET
2536 003172 111223 MOVB (R2),(R3)+ ; MARK THE NEW HIGH BYTE CODE
2537 003174 014300 MOV -(R3),R0 ; PUT A COPY IN R0
2538 003176 LDCPCX:
2539 003176 RETURN ; EXIT
003176 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 92
*.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE* 7511.19
2541 .SBTTL *.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE* 7511.19
2542
2543 ;+
2544 ; .LDCRA -- SUBROUTINE TO LOAD A 12 BIT ADDRESS INTO THE
2545 ; KL10 CRAM ADDRESS REGISTER.
2546 ;
2547 ; THIS SUBROUTINE LOADS A 12 BIT CRAM ADDRESS INTO THE
2548 ; KL10 CRAM ADDRESS REGISTER.
2549 ;
2550 ; SEQUENCE OF OPERATION:
2551 ;
2552 ; (A) THE KL10 CLOCK IS TURNED OFF (BY (B)),
2553 ; (B) THE KL10 CRAM ADDRESS IS CLEARED BY ".RESET",
2554 ; (C) THE ADDRESS IS LOADED INTO CRAM DIAG ADDR.
2555 ;
2556 ; CALLING SEQUENCE IS:
2557 ;
2558 ; MOV #CRADR,R0 ; CRAM ADDRESS TO R0
2559 ; CALL .LDCRA ; WRITE THE ADDRESS
2560 ; BCS ERROR ; ERROR IF C-BIT IS SET
2561 ;
2562 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, ALL OTHER REGISTERS ARE PRESERVED.
2563 ;
2564 ; NOTE:
2565 ;
2566 ; THIS SUBROUTINE EXITS WITH THE KL10 CLOCK OFF.
2567 ;
2568 ; ERROR CODES RETURNED:
2569 ;
2570 ; FWF -- FUNCTION WRITE FAILED.
2571 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 93
*.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE* 7511.19
2573 003200 .LDCRA::
2574 003200 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
003200 004537 007214' JSR R5,REGSAV
2575 003204 042700 170000 BIC #170000,R0 ; CLEAR UNUSED BITS
2576 003210 PUSH R0 ; PUT R0 ON THE STACK
003210 010046 MOV R0,-(SP)
2577 003212 CALL .RESTP ; .CLEAR CRAM DIAG ADDR AND CRAM ADDR
003212 004737 005554' JSR PC,.RESTP
2578 ; .ALSO RETAIN CLOCK AND PARITY CONTROL
2579 003216 103436 BCS LDCRAX ; .ERROR IF C-BIT IS SET
2580 003220 CALL .CLDFW ; .CLEAR THE FW BUFFER
003220 004737 007144' JSR PC,.CLDFW
2581 003224 012700 000032' MOV #.DFWB,R0 ; .SET UP THE BUFFER ADDRESS
2582 003230 011610 MOV (SP),(R0) ; .LOAD THE ADDRESS FROM THE STACK
2583 003232 001430 BEQ LDCRAX ; .LEAVE NOW IF ZERO
2584 003234 042710 174077 BIC #174077,(R0) ; .CLEAR UNWANTED BITS
2585 003240 012701 000030 MOV #^D24,R1 ; .SHIFT COUNT TO R1
2586 003244 CALL KLLSHI ; .SHIFT IT OVER
003244 004737 007760' JSR PC,KLLSHI
2587 003250 005001 CLR R1 ; .CLEAR R1
2588 003252 012700 000124 MOV #FW.CA2,R0 ; .SET UP TO WRITE IT
2589 003256 CALL .FWRIT ; .DO IT
003256 004737 006566' JSR PC,.FWRIT
2590 003262 103414 BCS LDCRAX ; .ERROR IF C-BIT IS SET
2591 003264 011610 MOV (SP),(R0) ; .GET ADDRESS FROM THE STACK AGAIN
2592 003266 042710 177700 BIC #177700,(R0) ; .CLEAR UNWANTED BITS
2593 003272 012701 000036 MOV #^D30,R1 ; .SHIFT COUNT TO R1
2594 003276 CALL KLLSHI ; .SHIFT THAT OVER
003276 004737 007760' JSR PC,KLLSHI
2595 003302 005001 CLR R1 ; .CLEAR R1
2596 003304 012700 000122 MOV #FW.CA1,R0 ; .SET UP TO WRITE IT
2597 003310 CALL .FWRIT ; .DO IT
003310 004737 006566' JSR PC,.FWRIT
2598 003314 LDCRAX:
2599 003314 005226 INC (SP)+ ; .CLEAR THE STACK (NO EFFECT ON C-BIT)
2600 003316 RETURN ; EXIT TO CALLER
003316 000207 RTS PC
2601
2602 .IF NE $RAMSW
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 94
*.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE* 7511.19
2604 .SBTTL *.LDRAD -- SUBROUTINE TO LOAD THE KL10 DISPATCH RAM ADDRESS* 7511.06
2605
2606 ;+
2607 ; .LDRAD -- SUBROUTINE TO LOAD THE KL10 DISPATCH RAM ADDRESS REGISTER.
2608 ;
2609 ; THIS SUBROUTINE LOADS THE DISPATCH RAM ADDRESS REGISTER WITH THE
2610 ; DISPATCH RAM ADDRESS SUPPLIED TO IT IN R0.
2611 ;
2612 ; SEQUENCE OF OPERATION:
2613 ;
2614 ; (A) THE KL10 IS RESET TO CLEAR THE RAM REGISTERS,
2615 ; (B) KL10 DECODING OF I/O AND JRST INSTRUCTIONS IS DISABLED,
2616 ; (C) THE IR (DRAM) ADDRESS IS LOADED AND LATCHED,
2617 ; (D) THE SUBROUTINE EXITS WITH KL10 DECODING OF I/O AND
2618 ; JRST INSTRUCTIONS DISABLED
2619 ;
2620 ; CALLING SEQUENCE IS:
2621 ;
2622 ; MOV #ADDR,R0 ; DRAM ADDRESS TO R0
2623 ; CALL .LDRAD ; LOAD IT
2624 ; BCS ERROR ; ERROR IF C-BIT IS SET
2625 ;
2626 ; R0 CONTAINS A .RAD50 ERROR ON FAILURE; OTHERWISE R0 IS CLOBBERED
2627 ; AND ALL OTHER REGISTERS ARE UNALTERED.
2628 ;
2629 ; ERROR CODES RETURNED:
2630 ;
2631 ; FRF -- FUNCTION READ FAILED.
2632 ; FWF -- FUNCTION WRITE FAILED.
2633 ; FXF -- FUNCTION EXECUTE FAILED.
2634 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 95
*.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE* 7511.19
2636 .LDRAD::
2637 CALL R5,REGSAV ; SAVE R1 - R5 ON THE STACK
2638 PUSH R0 ; SAVE THE DRAM ADDRESS TOO
2639 CALL .RESET ; .RESET THE KL10
2640 BCS LDRADE ; .ERROR IF C-BIT IS SET
2641 CALL .CLDFB ; .CLEAR THE DIAG FUNCTION BUFFERS
2642 CLR R1 ; .CLEAR R1
2643 MOV #FW.IOJ,R0 ; .DISABLE DECODE OF I/O AND JRST
2644 CALL .FWRIT ; .DO IT
2645 BCS LDRADE ; .ERROR IF C-BIT IS SET
2646 BIC #KF.KLO,.KLFLG ; .KL10 I/O AND JRST OPCODES ARE NOT DECODED
2647 MOV #.DFWB,R0 ; .MAKE R0 POINT TO BUFFER
2648 MOV (SP),(R0) ; .PUT THE DATA IN THE BUFFER
2649 MOV #^D27,R1 ; .SHIFT COUNT TO R1
2650 CALL KLLSHI ; .POSITION THE ADDRESS AS AN OPCODE
2651 CLR R1 ; .CLEAR R1
2652 CALL .WRAR1 ; .LOAD THE OPCODE ADDRESS INTO THE AR
2653 BCS LDRADE ; .ERROR IF C-BIT IS SET
2654 MOV #FX.UIR,R0 ; .LOAD THE IR FROM THE AR THRU THE AD
2655 CALL .FXCT ; .DO IT
2656 BCC LDRADX ; .ALL OK IF C-BIT IS CLEAR
2657 LDRADE:
2658 MOV R0,(SP) ; .PUT ERROR CODE IN CALLER'S REGISTER
2659 LDRADX:
2660 POP R0 ; RESTORE R0
2661 RETURN ; TO CALLER --
2662 ; WITH DECODE OF I/O AND JRST DISABLED
2663
2664 .ENDC ; $RAMSW
2665
2666 .IF NE $MBPSW
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 96
*.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE* 7511.19
2668 .SBTTL *.MBPHS -- MBOX PHASE SUBROUTINE* 7509.08
2669
2670 ;+
2671 ; .MBPHS -- SUBROUTINE TO GET THE EBOX IN PHASE WITH THE MBOX.
2672 ;
2673 ; THIS SUBROUTINE SYNCHS THE KL10 EBOX IN THE HALT LOOP AS SPECIFIED
2674 ; BY AN ARGUMENT PASSED TO IT IN R0.
2675 ;
2676 ; THIS SUBROUTINE ASSUMES THAT:
2677 ;
2678 ; (A) THE KL10 HALT LOOP HAS TWO INSTRUCTIONS,
2679 ; (B) THE FIRST INSTRUCTION IS AT AN EVEN ADDRESS; HAS TIME .EQ. 2,
2680 ; (C) THE SECOND INSTRUCTION IS AT AN ODD ADDRESS; HAS TIME .EQ. 3.
2681 ;
2682 ; THIS SUBROUTINE SYNCHS THE EBOX ON:
2683 ;
2684 ; (A) EVEN CRAM ADDRESS,
2685 ; (B) [PHASE CHANGE COMING] TRUE,
2686 ; (C) THE SELECTED PHASE [A OR B CHANGE COMING].
2687 ;
2688 ; THE SUBROUTINE IS DIRECTED WHERE TO SYNCH THE EBOX BY AN ARGUMENT
2689 ; PASSED TO IT IN R0 OF THE FORM:
2690 ;
2691 ; !============================================!
2692 ; ! POSITION ! PHASE !
2693 ; !============================================!
2694 ;
2695 ; WHERE:
2696 ;
2697 ; POSITION IS INDICATED BY THE CONTENT OF THE HIGH BYTE;
2698 ; IF THE POSITION BYTE IS .EQ. 2 THE EBOX WILL BE SYNCHED
2699 ; JUST AFTER THE SPECIFIED PHASE; IF .EQ. 0, IT WILL BE SYNCHED ON
2700 ; THE SPECIFIED PHASE.
2701 ;
2702 ; PHASE IS INDICATED BY THE CONTENT OF THE LOW BYTE; IF THE PHASE
2703 ; BYTE IS .EQ. 0, A PHASE IS DESIRED, IF .EQ. 1, B PHASE IS DESIRED.
2704 ;
2705 ; CALLING SEQUENCE IS:
2706 ;
2707 ; MOV #ARG,R0 ; SET UP ARGUMENT ADDRESS
2708 ; CALL .MBPHS ; PHASE THE MBOX
2709 ; BCS ERROR ; ERROR IF CARRY SET
2710 ;
2711 ; R0 CONTAINS A .RAD50 ERROR CODE UPON FAILURE.
2712 ;
2713 ; ERROR CODES RETURNED:
2714 ;
2715 ; FRF -- FUNCTION READ FAILED.
2716 ; FWF -- FUNCTION WRITE FAILED.
2717 ; FXF -- FUNCTION EXECUTE FAILED.
2718 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 97
*.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE* 7511.19
2720 .MBPHS::
2721 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
2722 MOVB (R0)+,R5 ; PUT PHASE INDICATOR IN R5
2723 MOVB (R0),R4 ; PUT POSITION INDICATOR IN R4
2724 MOV #^D20,R2 ; SET UP TIMEOUT COUNT
2725 MBPHS1:
2726 MOV #^D1,R3 ; SET UP CLOCK COUNT
2727 MOV #FR.102,R0 ; SET UP TO READ [CLK SYNCH H]
2728 CALL .FREAD ; GO DO READ
2729 BCS MBPEXX ; ERROR IF C-BIT IS SET
2730 BIT #BIT02,.DFRB ; IS IT TRUE?
2731 BEQ MBPHS6 ; NO, TRY ONE CLOCK
2732 MOV #FR.CA2,R0 ; SET UP TO READ [CRA ADR 10 H]
2733 CALL .FREAD ; READ IT
2734 BCS MBPEXX ; ERROR IF C-BIT IS SET
2735 BIT #BIT14,.DFRB+4 ; IS IT EVEN?
2736 BNE MBPHS5 ; NO, TRY TWO CLOCKS
2737 MOV #FR.164,R0 ; SET UP TO READ [PHASE CHANGE COMING L]
2738 CALL .FREAD ; READ IT
2739 BCS MBPEXX ; ERROR IF C-BIT IS SET
2740 BIT #BIT05,.DFRB ; IS IT FALSE?
2741 BNE MBPHS4 ; NO, TRY FIVE CLOCKS
2742 MOVB PHDFR(R5),R0 ; SET UP TO READ [X PHASE CHANGE COMING]
2743 CALL .FREAD ; READ IT
2744 BCS MBPEXX ; ERROR IF C-BIT IS SET
2745 BIT PHTST(R5),.DFRB ; IS IT SET?
2746 BNE MBPHS2 ; YES
2747 MOV #^D10,R3 ; NEED 10 CLOCKS
2748 MBPHS2:
2749 BIT #BIT01,R4 ; ON EVEN PHASE?
2750 BEQ MBPHS3 ; NO
2751 ADD #^D5,R3 ; YES, ADD FIVE MORE CLOCKS
2752 MBPHS3:
2753 MOV R3,R0 ; SET UP ARGUMENT FOR BURST SUBROUTINE
2754 CALL .BURST ; BURST IT
2755 ; ERROR IF C-BIT IS SET
2756 BR MBPEXX ; LEAVE
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 98
*.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE* 7511.19
2758 MBPHS4: ; HERE TO SET UP THE BURST COUNT
2759 ADD #^D3,R3 ; MAKE IT FOUR CLOCKS
2760 MBPHS5:
2761 INC R3 ; ADD ONE MORE
2762 MBPHS6:
2763 MOV R3,R0 ; PUT COUNT IN R0
2764 CALL .BURST ; BURST IT
2765 BCS MBPEXX ; ERROR IF C-BIT IS SET
2766 SOB R2,MBPHS1 ; EXHAUSTED THE ERROR COUNT?
2767 MBPEXX:
2768 RETURN ; EXIT
2769
2770 PHTST:
2771 .WORD BIT03 ; DFR 162, BIT 32
2772 .WORD BIT08 ; DFR 163, BIT 27
2773
2774 PHDFR:
2775 .BYTE FR.163,FR.162 ; FUNCTION READ CODES FOR [X PHASE CHANGE COMING]
2776
2777 .ENDC ; $MBPSW
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 99
*.MRCLR -- KL10 MASTER RESET SUBROUTINE* 7511.06
2779 .SBTTL *.MRCLR -- KL10 MASTER RESET SUBROUTINE* 7511.06
2780
2781 ;+
2782 ; .MRCLR -- SUBROUTINE TO CLEAR THE KL10 IN THE MASTER RESET STATE.
2783 ;
2784 ; THIS SUBROUTINE SETS THE KL10 MASTER RESET FLOP AND ALLOWS THE
2785 ; KL10 CLOCK TO RUN, CLEARING THE KL10.
2786 ;
2787 ; SEQUENCE OF OPERATION:
2788 ;
2789 ; (A) THE MASTER RESET FLOP IS SET,
2790 ; (B) THE KL10 CLOCK IS ALLOWED TO RUN FOR A SHORT TIME,
2791 ; (C) THE NXM TIMERS ARE RESYNCHRONIZED,
2792 ; (D) THE KL10 CLOCK IS STOPPED AND SYNCHED,
2793 ; (E) THE MASTER RESET FLOP IS CLEARED.
2794 ;
2795 ; CALLING SEQUENCE IS:
2796 ;
2797 ; CALL .MRCLR ; CALL MASTER RESET SUBROUTINE
2798 ; BCS ERROR ; ERROR IF C-BIT IS SET
2799 ;
2800 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE
2801 ; ALL OTHER REGISTERS ARE PRESERVED
2802 ;
2803 ; NOTE:
2804 ;
2805 ; THIS SUBROUTINE ASSUMES THAT THE KL10 CLOCK IS OFF UPON ENTRY.
2806 ; THIS SUBROUTINE EXITS WITH THE KL10 CLOCK OFF.
2807 ;
2808 ; ERROR CODES RETURNED:
2809 ;
2810 ; CCC -- CAN'T CLEAR KL10 CLOCK.
2811 ; CSC -- CAN'T SYNCH KL10 CLOCK.
2812 ; FRF -- FUNCTION READ FAILED.
2813 ; FWF -- FUNCTION WRITE FAILED.
2814 ; FXF -- FUNCTION EXECUTE FAILED.
2815 ;-
2816
2817 003320 .MRCLR::
2818 003320 PUSH <R1,R2> ; SAVE R1 AND R2
003320 010146 MOV R1,-(SP)
003322 010246 MOV R2,-(SP)
2819 003324 012700 000016 MOV #FX.SMR,R0 ; ..SET MASTER RESET FLOP
2820 003330 CALL .FXCT ; ..DO IT
003330 004737 006666' JSR PC,.FXCT
2821 003334 103461 BCS MRCLRX ; ..ERROR IF C-BIT IS SET
2822 003336 052737 010000 000000G BIS #KF.MRS,.KLFLG ; ..SET THE FLAG
2823 003344 CALL .STCLK ; ..FORCE START THE KL10 CLOCK
003344 004737 005700' JSR PC,.STCLK
2824 003350 103453 BCS MRCLRX ; ..ERROR IF C-BIT IS SET
2825 003352 012701 000764 MOV #^D500,R1 ; ..SET UP WAIT COUNT
2826
2827 ; [CONTINUED ON NEXT PAGE]
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 100
*.MRCLR -- KL10 MASTER RESET SUBROUTINE* 7511.06
2829 ; HERE FROM PREVIOUS PAGE
2830
2831 003356 MRCLR1:
2832 003356 SOB R1,MRCLR1 ; ..STALL A WHILE
003356 005301 DEC R1
003360 001376 BNE MRCLR1
2833 003362 CALL .STPXC ; ..STOP THE KL10 CLOCK
003362 004737 005734' JSR PC,.STPXC
2834 003366 103444 BCS MRCLRX ; ..ERROR IF C-BIT IS SET
2835 003370 CALL .CLDFB ; ..CLEAR THE FUNCTION BUFFERS
003370 004737 007130' JSR PC,.CLDFB
2836 003374 012700 000160 MOV #FW.CHN,R0 ; ..CLEAR THE CHANNELS
2837 003400 CALL .FWRIT ; ..DO IT
003400 004737 006566' JSR PC,.FWRIT
2838 003404 103435 BCS MRCLRX ; ..ERROR IF C-BIT IS SET
2839 003406 012702 000003 MOV #^D3,R2 ; ..LOOP COUNT TO R2
2840 003412 MRCLR2: ; ..HERE TO RESYNCH THE NXM TIMERS
2841 003412 005001 CLR R1 ; ..CLEAR R1
2842 003414 012700 000344 MOV #FR.162,R0 ; ..LOOK FOR [A CHANGE COMING L]
2843 003420 CALL .FREAD ; ..DO THE READ
003420 004737 006472' JSR PC,.FREAD
2844 003424 103425 BCS MRCLRX ; ..ERROR IF C-BIT IS SET
2845 003426 032710 000010 BIT #BIT03,(R0) ; ..IS IT THERE?
2846 003432 001407 BEQ MRCLR3 ; ..BRANCH IF YES
2847 003434 012700 000004 MOV #FX.MBC,R0 ; ..NOT THERE, STEP THE CLOCK
2848 003440 CALL .FXCT ; ..DO IT
003440 004737 006666' JSR PC,.FXCT
2849 003444 103415 BCS MRCLRX ; ..ERROR IF C-BIT IS SET
2850 003446 SOB R2,MRCLR2 ; ..LOOP THREE TIMES MAX
003446 005302 DEC R2
003450 001360 BNE MRCLR2
2851 003452 MRCLR3:
2852 003452 CALL .SYNXC ; ..SYNCH THE CLOCK
003452 004737 006156' JSR PC,.SYNXC
2853 003456 103410 BCS MRCLRX ; ..ERROR IF C-BIT IS SET
2854 003460 012700 000014 MOV #FX.CMR,R0 ; ..CLEAR MASTER RESET FLOP
2855 003464 CALL .FXCT ; ..DO IT
003464 004737 006666' JSR PC,.FXCT
2856 003470 103403 BCS MRCLRX ; ..ERROR IF C-BIT IS SET
2857 003472 042737 010020 000000G BIC #KF.MRS!KF.CON,.KLFLG
2858 ; ..CLEAR THE FLAGS
2859 003500 MRCLRX:
2860 003500 POP <R2,R1> ; RESTORE R1 AND R2
003500 012602 MOV (SP)+,R2
003502 012601 MOV (SP)+,R1
2861 003504 RETURN ; EXIT TO CALLER
003504 000207 RTS PC
2862
2863 .IF NE $RAMSW
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 101
*.MRCLR -- KL10 MASTER RESET SUBROUTINE* 7511.06
2865 .SBTTL *.RAMFD -- KL10 RAM FIELD DECODER SUBROUTINE* 7511.18
2866
2867 ;+
2868 ; .RAMFD -- KL10 RAM FIELD DECODER SUBROUTINE.
2869 ;
2870 ; THIS SUBROUTINE DECODES A CRAM OR DRAM WORD IN EBUS FORMAT
2871 ; INTO THE RESPECTIVE LOGICAL CRAM OR DRAM FIELDS.
2872 ;
2873 ; THE TABLES "CRAMFT" AND "DRAMFT" ARE CREATED VIA THE "CRMFD$"
2874 ; AND "DRMFD$" MACROS (Q.V.) AND CONSIST OF A THREE WORD ENTRY
2875 ; FOR EACH BYTE IN THE RAM WORD:
2876 ;
2877 ; !=======================================!
2878 ; 00 ! RAM SUBFIELD BIT MASK !
2879 ; !---------------------------------------!
2880 ; 02 ! WORD INDEX ! SHIFT COUNT !
2881 ; !---------------------------------------!
2882 ; 04 ! DESTINATION POINTER !
2883 ; !=======================================!
2884 ;
2885 ; CALLING SEQUENCE IS:
2886 ;
2887 ; MOV #PNTRA,R0 ; POINTER TO DECODE TABLE
2888 ; MOV #PNTRB,R1 ; POINTER TO READ BLOCK
2889 ; CALL .RAMFD ; DECODE THE RAM WORD
2890 ; ; ONLY RETURN
2891 ;
2892 ; R0 CONTAINS A POINTER TO THE TOP OF THE DECODED CRAM WORD BLOCK
2893 ; ON RETURN; ALL OTHER REGISTERS ARE PRESERVED.
2894 ;
2895 ; ERROR CODES RETURNED:
2896 ;
2897 ; NONE.
2898 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 102
*.MRCLR -- KL10 MASTER RESET SUBROUTINE* 7511.06
2900 .RAMFD::
2901 CALL R5,REGSAV ; SAVE R1 THRU R5 ON THE STACK
2902 MOV R1,R2 ; SOURCE POINTER TO R1
2903 MOV R0,R5 ; TABLE POINTER TO R5
2904 RAMFD1:
2905 MOV (R5)+,R4 ; BIT MASK TO R4
2906 BEQ RAMFDX ; DONE IF BIT MASK .EQ. 0
2907 BIT #BIT15,R4 ; IS THIS A NEW FIELD?
2908 BEQ RAMFD2 ; BRANCH IF NOT
2909 CLR @2(R5) ; YES, CLEAR THE FIELD WORD
2910 BIC #BIT15,R4 ; CLEAR THE NEW FIELD INDICATOR
2911 RAMFD2:
2912 MOVB (R5)+,R1 ; SHIFT COUNT TO R1
2913 MOVB (R5)+,R3 ; WORD INDEX TO R3
2914 ADD R2,R3 ; CREATE A POINTER IN R3
2915 MOV (R3),R0 ; GET THE WORD FROM THE READ BLOCK
2916 CALL .SHIFT ; SHIFT IT
2917 BIC R4,@(R5) ; CLEAR THE SUBFIELD
2918 COM R4 ; INVERT THE MASK
2919 BIC R4,R0 ; MASK IT
2920 BIS R0,@(R5)+ ; SET THE SUBFIELD
2921 BR RAMFD1 ; AND KEEP GOING
2922 RAMFDX:
2923 MOV (R5),R0 ; POINT TO OUR BLOCK
2924 RETURN ; AND GO AWAY
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 103
*.MRCLR -- KL10 MASTER RESET SUBROUTINE* 7511.06
2926 .SBTTL *.RAMFE -- KL10 RAM FIELD ENCODER SUBROUTINE* 7511.18
2927
2928 ;+
2929 ; .RAMFE -- KL10 RAM FIELD ENCODER SUBROUTINE.
2930 ;
2931 ; THIS SUBROUTINE WILL CONVERT A FIELD ENCODED RAM WORD INTO EBUS FORMAT.
2932 ; IT USES TABLES GENERATED BY THE "CRMFD$" AND "DRMFD$" MACROS (Q.V.).
2933 ;
2934 ; THE ENCODING TABLE HAS THE FOLLOWING ENTRIES FOR EACH FIELD:
2935 ;
2936 ; !=======================================!
2937 ; 00 ! SUBFIELD BIT MASK !
2938 ; !---------------------------------------!
2939 ; 02 ! WORD INDEX ! - SHIFT COUNT !
2940 ; !---------------------------------------!
2941 ; 04 ! SOURCE POINTER !
2942 ; !=======================================!
2943 ;
2944 ; CALLING SEQUENCE:
2945 ;
2946 ; MOV #PNTRA,R0 ; ENCODE TABLE POINTER TO R0
2947 ; MOV #PNTRB,R1 ; DESTINATION POINTER TO R1
2948 ; CALL .RAMFE ; ENCODE THE RAM WORD
2949 ; ; ONLY RETURN
2950 ;
2951 ; NO REGISTERS ARE ALTERED BY THIS SUBROUTINE.
2952 ;
2953 ; ERROR CODES RETURNED:
2954 ;
2955 ; NONE.
2956 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 104
*.MRCLR -- KL10 MASTER RESET SUBROUTINE* 7511.06
2958 .RAMFE::
2959 CALL R5,REGSAV ; SAVE R1 - R5 ON THE STACK
2960 MOV R1,R2 ; DESTINATION POINTER TO R2
2961 MOV R0,R5 ; TABLE POINTER TO R5
2962 RAMFE1:
2963 MOV (R5)+,R0 ; BIT MASK TO R0
2964 BEQ RAMFEX ; ALL DONE IF .EQ. 0
2965 BIT #BIT15,R0 ; IS THIS A NEW FIELD?
2966 BEQ RAMFE2 ; BRANCH IF NOT
2967 CLR @2(R5) ; YES, CLEAR THE RAM FIELD WORD
2968 BIC #BIT15,R0 ; CLEAR THE NEW FIELD INDICATOR
2969 RAMFE2:
2970 MOVB (R5)+,R1 ; SHIFT COUNT TO R1
2971 NEG R1 ; NEGATE THE SHIFT COUNT
2972 CALL .SHIFT ; SHIFT IT
2973 MOV R0,R4 ; SHIFTED BIT MASK TO R4
2974 MOVB (R5)+,R3 ; WORD INDEX TO R3
2975 ADD R2,R3 ; CREATE A DESTINATION POINTER IN R3
2976 MOV @(R5)+,R0 ; GET THE SOURCE BYTE IN R0
2977 CALL .SHIFT ; SHIFT IT OVER
2978 BIC R4,(R3) ; CLEAR THE DESTINATION BYTE
2979 COM R4 ; INVERT THE MASK
2980 BIC R4,R0 ; MASK THE BYTE
2981 BIS R0,(R3) ; SET IT IN DESTINATION BLOCK
2982 BR RAMFE1 ; AND GO AGAIN
2983 RAMFEX:
2984 MOV (R5),R0 ; POINT TO TOP OF OUR BLOCK
2985 RETURN ; TO CALLER
2986
2987 .ENDC ; $RAMSW
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 105
*.RDALL -- SUBROUTINE TO EXECUTE 100 FUNCTION READS* 7511.24
2989 .SBTTL *.RDALL -- SUBROUTINE TO EXECUTE 100 FUNCTION READS* 7511.24
2990
2991 ;+
2992 ; .RDALL -- SUBROUTINE TO EXECUTE 100 FUNCTION READS (FOR "KLERR")
2993 ;
2994 ; THIS SUBROUTINE WILL EXECUTE 100 FUNCTION READS AND LOAD A 300
2995 ; WORD BLOCK POINTED TO BY R0 WITH THE RESULT.
2996 ;
2997 ; CALLING SEQUENCE IS:
2998 ;
2999 ; MOV #BUFADR,R0 ; BUFFER ADDRESS TO R0
3000 ; CALL .RDALL ; DO THE FUNCTION READS
3001 ; BCS ERROR ; ERROR IF C-BIT IS SET
3002 ;
3003 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE NO REGISTERS ARE
3004 ; ALTERED BY THIS SUBROUTINE.
3005 ;
3006 ; ERROR CODES RETURNED:
3007 ;
3008 ; FRF -- FUNCTION READ FAILED.
3009 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 106
*.RDALL -- SUBROUTINE TO EXECUTE 100 FUNCTION READS* 7511.24
3011 003506 .RDALL:
3012 003506 PUSH <R1,R2,R3,R4> ; SAVE CALLER'S REGISTERS
003506 010146 MOV R1,-(SP)
003510 010246 MOV R2,-(SP)
003512 010346 MOV R3,-(SP)
003514 010446 MOV R4,-(SP)
3013 003516 PUSH R0 ; ....AND CALLER'S POINTER
003516 010046 MOV R0,-(SP)
3014 003520 012703 000100 MOV #^D64,R3 ; .....SET UP ITERATION COUNT
3015 003524 012702 000200 MOV #FR.100,R2 ; .....BASE READ CODE TO R2
3016 003530 010004 MOV R0,R4 ; .....CALLER'S POINTER TO R4
3017 003532 RDALL1:
3018 003532 010200 MOV R2,R0 ; .....READ CODE TO R0
3019 003534 005001 CLR R1 ; .....CLEAR R1
3020 003536 CALL .FREAD ; .....DO THE READ
003536 004737 006472' JSR PC,.FREAD
3021 003542 103411 BCS RDALLE ; .....ERROR IF C-BIT IS SET
3022 003544 012024 MOV (R0)+,(R4)+ ; .....LOAD CALLER'S BUFFER FROM OURS
3023 003546 012024 MOV (R0)+,(R4)+ ; .....
3024 003550 011024 MOV (R0),(R4)+ ; .....
3025 003552 062702 000002 ADD #^D2,R2 ; .....INCREMEMENT THE FREAD CODE
3026 003556 SOB R3,RDALL1 ; .....LOOP TILL DONE
003556 005303 DEC R3
003560 001364 BNE RDALL1
3027 003562 POP R0 ; .....RESTORE R0
003562 012600 MOV (SP)+,R0
3028 003564 000401 BR RDALLX ; ....AND LEAVE
3029 003566 RDALLE:
3030 003566 005226 INC (SP)+ ; .....GET RID OF R0
3031 003570 RDALLX:
3032 003570 POP <R4,R3,R2,R1> ; ....RESTORE CALLER'S REGISTERS
003570 012604 MOV (SP)+,R4
003572 012603 MOV (SP)+,R3
003574 012602 MOV (SP)+,R2
003576 012601 MOV (SP)+,R1
3033 003600 RETURN ; AND EXIT
003600 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 107
*.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL10 APR* 7509.
3035 .SBTTL *.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL10 APR* 7509.24
3036
3037 ;+
3038 ; .RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL10 APR.
3039 ;
3040 ; THIS SUBROUTINE READS THE ERROR STATE OF THE KL10 APR AND RETURNS
3041 ; THAT ERROR STATE IN R0 AND ".APRWD".
3042 ;
3043 ; THE FORMAT OF THE DATA RETURNED IS:
3044 ;
3045 ; AP.PWF -- BIT00 -- [APR PWR FAIL IN H] -- POWER FAIL
3046 ; AP.SAP -- BIT01 -- [APR S ADR P ERR IN H] -- SBUS ADR PARITY ERROR
3047 ; AP.CDP -- BIT02 -- [APR C DIR P ERR IN H] -- CACHE DIR PARITY ERROR
3048 ; AP.MPE -- BIT03 -- [APR MB PAR ERR IN H] -- MB PARITY ERROR
3049 ; AP.IPF -- BIT04 -- [APR I/O PF ERR IN H] -- I/O PAGE FAIL ERROR
3050 ; AP.NXM -- BIT05 -- [APR NXM ERR IN H] -- NON-EX-MEMORY ERROR
3051 ; AP.SBE -- BIT06 -- [APR SBUS ERR IN H] -- SBUS ERROR
3052 ;
3053 ; CALLING SEQUENCE IS:
3054 ;
3055 ; CALL .RDAPR ; READ APR ERRORS
3056 ; BCS ERROR ; ERROR IF C-BIT IS SET
3057 ;
3058 ; R0 WILL CONTAIN A COPY OF THE KL10 APR ERROR STATUS IN ".APRWD"
3059 ; ON SUCCESS OR A .RAD50 ERROR CODE ON FAILURE; NO OTHER REGISTERS
3060 ; ARE ALTERED.
3061 ;
3062 ; ERROR CODES RETURNED:
3063 ;
3064 ; FRF -- FUNCTION READ FAILED.
3065 ;-
3066
3067 003602 .RDAPR::
3068 003602 PUSH R1 ; SAVE R1 ON THE STACK
003602 010146 MOV R1,-(SP)
3069 003604 005001 CLR R1 ; .CLEAR R1
3070 003606 012700 000220 MOV #FR.APR,R0 ; .FR TO READ APR ERRORS
3071 003612 CALL .FREAD ; .READ APR ERRORS
003612 004737 006472' JSR PC,.FREAD
3072 003616 103411 BCS RDAPRX ; .ERROR IF C-BIT IS SET
3073 003620 012701 177751 MOV #-^D23,R1 ; .SHIFT COUNT TO R1
3074 003624 CALL KLLSHI ; .SHIFT ERROR BITS INTO POSITION
003624 004737 007760' JSR PC,KLLSHI
3075 003630 042710 177600 BIC #177600,(R0) ; .FLUSH UNWANTED BITS
3076 003634 011037 000176' MOV (R0),.APRWD ; .SAVE THE WORD
3077 003640 011000 MOV (R0),R0 ; .PUT A COPY IN R0
3078 003642 RDAPRX:
3079 003642 POP R1 ; RESTORE R1
003642 012601 MOV (SP)+,R1
3080 003644 RETURN ; AND GO AWAY
003644 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 108
*.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES
3082 .SBTTL *.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES* 7510.09
3083
3084 ;+
3085 ; .RDCPP -- SUBROUTINE TO READ THE KL10 CLOCK AND INTERNAL PARITY
3086 ; CHECKING PARAMETERS.
3087 ;
3088 ; THIS SUBROUTINE READS THE KL10 CLOCK SOURCE, RATE AND DISTRIBUTION
3089 ; ENABLES AS WELL AS THE KL10 INTERNAL PARITY ENABLES AND MAINTAINS
3090 ; THEM IN ".CLKWD" AND ".PSCWD", RESPECTIVELY.
3091 ;
3092 ; CALLING SEQUENCE IS:
3093 ;
3094 ; CALL .RDCPP ; READ CLOCK AND PARITY ENABLES
3095 ; BCS ERROR ; ERROR IF C-BIT IS SET
3096 ;
3097 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE NO REGISTERS
3098 ; ARE ALTERED BY THIS SUBROUTINE.
3099 ;
3100 ; ERROR CODES RETURNED:
3101 ;
3102 ; FRF -- FUNCTION READ FAILED.
3103 ;-
3104
3105 003646 .RDCPP::
3106 003646 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
003646 004537 007214' JSR R5,REGSAV
3107 003652 PUSH R0 ; R0 TOO
003652 010046 MOV R0,-(SP)
3108 003654 012704 000004 MOV #^D4,R4 ; .USE R4 AS A COUNTER
3109 003660 012703 004010' MOV #RDCPT1,R3 ; .BIT TEST TABLE POINTER TO R3
3110 003664 012705 000000' MOV #RDCPT3,R5 ; .SAVE AREA POINTER TO R5
3111 003670 RDCPP0:
3112 003670 112300 MOVB (R3)+,R0 ; .FR CODE TO R0
3113 003672 005001 CLR R1 ; .CLEAR R1
3114 003674 CALL .FREAD ; .READ A WORD
003674 004737 006472' JSR PC,.FREAD
3115 003700 103440 BCS RDCPEX ; .ERROR IF C-BIT IS SET
3116 003702 011025 MOV (R0),(R5)+ ; .SAVE BITS 20 THRU 35 IN TABLE
3117 003704 SOB R4,RDCPP0 ; .READ ALL FOUR OF THEM
003704 005304 DEC R4
003706 001370 BNE RDCPP0
3118 ; .NOW FALL INTO TEST ROUTINE
3119
3120 ; [CONTINUED ON NEXT PAGE]
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 109
*.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES
3122 ; .HERE FROM PREVIOUS PAGE
3123 003710 012700 000004 MOV #^D4,R0 ; .DO OUTER LOOP 4 TIMES
3124 003714 012705 000000' MOV #RDCPT3,R5 ; .KL10 SAVE AREA POINTER TO R5
3125 003720 RDCPP1:
3126 003720 012704 000004 MOV #^D4,R4 ; .DO INNER LOOP 4 TIMES
3127 003724 012702 004054' MOV #RDCPT2,R2 ; .KL10 MASK POINTER TO R2
3128 003730 RDCPP2:
3129 003730 012701 000200' MOV #.CLKWD,R1 ; .CLOCK WORD POINTER TO R1
3130 003734 020427 000002 CMP R4,#^D2 ; .IS INNER LOOP COUNT .GT. 2?
3131 003740 101004 BHI RDCPP3 ; .BRANCH IF YES
3132 003742 001001 BNE RDCPPA ; .BRANCH IF .LT. 2
3133 003744 005115 COM (R5) ; .INVERT THE WORD SO REST OF CODE WORKS
3134 003746 RDCPPA:
3135 003746 012701 000204' MOV #.PSCWD,R1 ; .DO PARITY WORD
3136 003752 RDCPP3:
3137 003752 041311 BIC (R3),(R1) ; .FLUSH THE BIT IN THE FLAG WORD
3138 003754 031215 BIT (R2),(R5) ; .TEST THE BIT WE READ IN THIS WORD
3139 003756 001401 BEQ RDCPP4 ; .BRANCH IF BIT IS OFF
3140 003760 051311 BIS (R3),(R1) ; .TURN THE BIT ON IN THE FLAG WORD
3141 003762 RDCPP4:
3142 003762 022322 CMP (R3)+,(R2)+ ; .ADVANCE THE MASK POINTERS
3143 003764 SOB R4,RDCPP2 ; .DO INNER LOOP 4 TIMES
003764 005304 DEC R4
003766 001360 BNE RDCPP2
3144 003770 005125 COM (R5)+ ; .ADVANCE THE SAVE AREA POINTER
3145 ; .AND STRAIGHTEN THE WORD OUT
3146 003772 SOB R0,RDCPP1 ; .DO OUTER LOOP 4 TIMES
003772 005300 DEC R0
003774 001351 BNE RDCPP1
3147 003776 000241 CLC ; .CLEAR THE C-BIT
3148 004000 000401 BR RDCPXX ; .AND EXIT
3149 004002 RDCPEX:
3150 004002 010016 MOV R0,(SP) ; .PUT ERROR CODE IN CALLER'S R0
3151 004004 RDCPXX:
3152 004004 POP R0 ; GIVE R0 BACK
004004 012600 MOV (SP)+,R0
3153 004006 RETURN ; AND GO AWAY
004006 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 110
*.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES
3155 ; TABLES USED TO READ AND SET CLOCK AND PARITY ENABLES
3156
3157 ; THE FIRST FOUR BYTES IN THIS TABLE ARE THE FUNCTION READ CODES
3158 ; TO BE EXECUTED, THE REMAINING WORDS ARE USED TO SET OR CLEAR
3159 ; THE APPROPRIATE BITS IN ".CLKWD" AND ".PSCWD"
3160
3161 004010 RDCPT1:
3162 004010 210 .BYTE FR.104
3163 004011 212 .BYTE FR.105
3164 004012 214 .BYTE FR.106
3165 004013 216 .BYTE FR.107
3166 004014 000010 .WORD CS.CS2 ; CLK SOURCE 2 H [FR.104 - BIT 32]
3167 ; [FW 44 - BIT 32]
3168 004016 000000 .WORD 0 ; BLANK [FR.104 - BIT 33]
3169 004020 000010 .WORD IP.FMP ; FM PAR EN L [FR.104 - BIT 34]
3170 ; [FW 46 - BIT 32]
3171 004022 000000 .WORD 0 ; BLANK [FR.104 - BIT 35]
3172 004024 000004 .WORD CS.CS1 ; CLK SOURCE 1 H [FR.105 - BIT 32]
3173 ; [FW 44 - BIT 33]
3174 004026 002000 .WORD CD.CRC ; CLK CRAM DIS H [FR.105 - BIT 33]
3175 ; [FW 45 - BIT 33]
3176 004030 000004 .WORD IP.CRP ; CRAM PAR EN L [FR.105 - BIT 34]
3177 ; [FW 46 - BIT 33]
3178 004032 000000 .WORD 0 ; BLANK [FR.105 BIT - 35]
3179 004034 000002 .WORD CR.CR2 ; CLK RATE 2 H [FR.106 - BIT 32]
3180 ; [FW 44 - BIT 34]
3181 004036 001000 .WORD CD.DPC ; CLK EDP DIS H [FR.106 - BIT 33]
3182 ; [FW 45 - BIT 34]
3183 004040 000002 .WORD IP.DRP ; DRAM PAR EN L [FR.106 - BIT 34]
3184 ; [FW 46 - BIT 34]
3185 004042 001000 .WORD AP.ARP ; AR/ARX PAR EN L [FR.106 - BIT 35]
3186 ; [FW 47 - BIT 34]
3187 004044 000001 .WORD CR.CR1 ; CLK RATE 1 H [FR.107 - BIT 32]
3188 ; [FW 44 - BIT 35]
3189 004046 000400 .WORD CD.CLC ; CLK CTL DIS H [FR.107 - BIT 33]
3190 ; [FW 45 - BIT 35]
3191 004050 000001 .WORD IP.FSS ; FS STOP EN L [FR.107 -BIT 34]
3192 ; [FW 46 - BIT 35]
3193 004052 000400 .WORD AP.EIP ; CLK ERR STOP EN L [FR.107 - BIT 35]
3194 ; [FW 47 - BIT 35]
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 111
*.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES
3196 ; THESE BITS ARE USED TO MASK THE DATA FROM THE FUNCTION READS
3197
3198 004054 RDCPT2:
3199 004054 000010 .WORD BIT03 ; KL10 BIT 32
3200 004056 000004 .WORD BIT02 ; KL10 BIT 33
3201 004060 000002 .WORD BIT01 ; KL10 BIT 34
3202 004062 000001 .WORD BIT00 ; KL10 BIT 35
3203
3204 ; THE DATA FROM THE FUNCTION READS ARE STORED IN THIS TABLE
3205
3206 000000 .PSECT TABLES
3207
3208 000000 RDCPT3:
3209 000000 000000 .WORD 0 ; FR.104 BITS 20 - 35
3210 000002 000000 .WORD 0 ; FR.105 BITS 20 - 35
3211 000004 000000 .WORD 0 ; FR.106 BITS 20 - 35
3212 000006 000000 .WORD 0 ; FR.107 BITS 20 - 35
3213
3214 004064 .PSECT
3215
3216 .IF NE $RAMSW
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 112
*.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES
3218 .SBTTL *.RDCRD -- SUBROUTINE TO READ THE KL10 CRAM DISP FIELD* 7511.22
3219
3220 ;+
3221 ; .RDCRD -- SUBROUTINE TO READ THE KL10 CRAM DISP FIELD.
3222 ;
3223 ; THIS SUBROUTINE READS AND RETURNS THE CONTENT OF THE CRAM DISP FIELD
3224 ; IN R0.
3225 ;
3226 ; CALLING SEQUENCE IS:
3227 ;
3228 ; CALL .RDCRD ; READ CRAM DISP FIELD
3229 ; BCS ERROR ; ERROR IF C-BIT IS SET
3230 ;
3231 ; R0 CONTAINS A .RAD50 ERROR CODE ON ERROR, THE CONTENT OF CRAM DISP
3232 ; ON SUCCESS, NO OTHER REGISTERS ALTERED BY THIS SUBROUTINE.
3233 ;
3234 ; ERROR CODES RETURNED:
3235 ;
3236 ; FRF -- FUNCTION READ FAILED.
3237 ;-
3238
3239 .RDCRD::
3240 PUSH R1 ; SAVE R1 ON THE STACK
3241 CLR R1 ; .CLEAR R1
3242 MOV #FR.CRD,R0 ; .FR CODE TO R0
3243 CALL .FREAD ; .READ IT
3244 BCS RDCRDX ; .ERROR IF C-BIT IS SET
3245 MOV #-^D30,R1 ; .SHIFT COUNT TO R1
3246 CALL KLLSHI ; .SHIFT IT
3247 BIC #177740,(R0) ; .MASK UNWANTED BITS
3248 MOV (R0),R0 ; .COPY TO R0
3249 RDCRDX:
3250 POP R1 ; .RESTORE R1
3251 RETURN ; AND GO AWAY
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 113
*.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES
3253 .SBTTL *.RDCRM -- KL10 CONTROL RAM READ SUBROUTINE* 7511.19
3254
3255 ;+
3256 ; .RDCRM -- SUBROUTINE TO READ A LOCATION IN THE KL10 CONTROL RAM.
3257 ; .RDCRR -- SUBROUTINE TO READ THE OUTPUT OF THE CRAM REGISTER.
3258 ;
3259 ; THIS SUBROUTINE WILL READ ONE LOCATION IN THE KL10 CONTROL RAM.
3260 ;
3261 ; SEQUENCE OF OPERATION:
3262 ;
3263 ; .RDCRM:
3264 ;
3265 ; (A) THE KL10 IS HALTED IN THE HALT LOOP,
3266 ; (B) THE CONTROL RAM ADDRESS IS LOADED,
3267 ;
3268 ; .RDCRR:
3269 ;
3270 ; (C) THE CONTENT OF THE CURRENT CRAM ADDRESS IS READ.
3271 ;
3272 ; CALLING SEQUENCE IS:
3273 ;
3274 ; MOV #ADDR,R0 ; CRAM ADDRESS TO R0
3275 ; CALL .RDCRM ; READ THE CRAM
3276 ; BCS ERROR ; ERROR IF C-BIT IS SET
3277 ; -OR-
3278 ; CALL .RDCRR ; READ THE CRAM REGISTER
3279 ; BCS ERROR ; ERROR IF C-BIT IS SET
3280 ;
3281 ; R0 MUST CONTAIN THE CRAM ADDRESS TO BE READ IN THE CALL TO ".RDCRM".
3282 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, AND A POINTER TO
3283 ; THE RAM DATA ON SUCCESS. OTHERWISE NO REGISTERS ARE ALTERED
3284 ; BY THIS SUBROUTINE.
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 114
*.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES
3286 ; THE FOLLOWING IS A PICTURE OF THRE DATA RETURNED BY THIS SUBROUTINE:
3287 ;
3288 ; WORD CRAM DATA
3289 ; ---- ---------
3290 ; !==================================!
3291 ; 00 ! CRAM BITS 68 THRU 78 !
3292 ; !----------------------------------!
3293 ; 01 ! CRAM BITS 60 THRU 66 !
3294 ; !----------------------------------!
3295 ; 02 ! CRAM BITS 48 THRU 59 !
3296 ; !----------------------------------!
3297 ; 03 ! CRAM BITS 40 THRU 47 !
3298 ; !----------------------------------!
3299 ; 04 ! CRAM BITS 28 THRU 39 !
3300 ; !----------------------------------!
3301 ; 05 ! CRAM BITS 20 THRU 27 !
3302 ; !----------------------------------!
3303 ; 06 ! CRAM BITS 08 THRU 19 !
3304 ; !----------------------------------!
3305 ; 07 ! CRAM BITS 00 THRU 07 !
3306 ; !----------------------------------!
3307 ; 08 ! CRAM DISP BITS 00 THRU 04 !
3308 ; !==================================!
3309 ;
3310 ; ERROR CODES RETURNED:
3311 ;
3312 ; CAE -- CRAM ADDRESS ERROR.
3313 ; FRF -- FUNCTION READ FAILED.
3314 ; FWF -- FUNCTION WRITE FAILED.
3315 ; FXF -- FUNCTION EXECUTE FAILED.
3316 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 115
*.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES
3318 .RDCRM::
3319 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
3320 CMP R0,#2377 ; IS THE ADDRESS IN RANGE?
3321 BHI RDCRME ; BRANCH IF NOT
3322 CALL .LDCRA ; LOAD THE CRAM ADDRESS
3323 BCS RDCRMX ; ERROR IF C-BIT IS SET
3324 MOV #FX.EBC,R0 ; NOW CLOCK THE DATA OUT OF THE RAM
3325 CALL .FXCT ; DO IT
3326 BCS RDCRMX ; ERROR IF C-BIT IS SET
3327 .RDCRR:: ; HERE TO READ THE CRAM REGISTER
3328 MOV #.CRAMR,R2 ; SAVE AREA POINTER TO R2
3329 MOV #FR.CR4,R5 ; BASE READ TO R5
3330 MOV #^D4,R3 ; USE R3 AS A COUNTER
3331 RDCRM1:
3332 CLR R1 ; CLEAR R1
3333 MOV R5,R0 ; PASS THE FREAD CODE
3334 CALL .FREAD ; DO IT
3335 BCS RDCRMX ; ERROR IF C-BIT IS SET
3336 MOV (R0)+,(R2)+ ; LOAD CALLER'S BUFFER FROM OURS
3337 MOV (R0)+,(R2)+ ;
3338 TST (R5)+ ; INCREMENT THE FREAD CODE
3339 SOB R3,RDCRM1 ; LOOP TILL DONE
3340 CALL .RDCRD ; READ THE DISPATCH FIELD
3341 BCS RDCRDX ; ERROR IF C-BIT IS SET
3342 MOV R0,(R2) ; PUT IT IN THE DATA BLOCK
3343 CALL .CLDFW ; CLEAR THE FUNCTION WRITE BUFFER
3344 CLR R1 ; CLEAR R1
3345 MOV #FW.CA1,R0 ; CLEAR CRAM DIAG ADDR
3346 CALL .FWRIT ; SO
3347 BCS RDCRMX ; ERROR IF C-BIT IS SET
3348 MOV #FW.CA2,R0 ; NOW THE OTHER HALF
3349 CALL .FWRIT ; SO
3350 BCS RDCRMX ; ERROR IF C-BIT IS SET
3351 MOV #.CRAMR,R0 ; POINT TO SAVE AREA
3352 RDCRMX:
3353 RETURN ; TO CALLER
3354 .IFTF
3355 004064 RDCRME:
3356 004064 ERROR$ CAE ; CRAM ADDRESS ERROR
004064 012700 MOV (PC)+,R0 ; MOVE .RAD50 ERROR CODE TO R0
004066 011355 .RAD50 /CAE/ ; "CAE" ERROR CODE IN .RAD50
3357 004070 000261 SEC ; SET THE ERROR FLAG
3358 004072 RETURN ; TO CALLER
004072 000207 RTS PC
3359 .IFT
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 116
*.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES
3361 .SBTTL *.RDCRO -- SUBROUTINE TO READ THE KL10 CRAM OUTPUT* 7511.05
3362
3363 ;+
3364 ; .RDCRO -- SUBROUTINE TO READ THE KL10 CRAM OUTPUT.
3365 ;
3366 ; THIS SUBROUTINE WILL READ THE CURRENT OUTPUT OF THE KL10 CRAM
3367 ; AND IS USEFUL ON CLOCK ERROR STOPS (Q.V.) WHICH ARE CAUSED BY
3368 ; CRAM PARITY ERRORS.
3369 ;
3370 ; CALLING SEQUENCE IS:
3371 ;
3372 ; CALL .RDCRO ; READ THE CRAM OUTPUT
3373 ; BCS ERROR ; ERROR IF C-BIT IS SET
3374 ;
3375 ; R0 CONTAINS A POINTER TO A TEN WORD BLOCK WHICH CONTAINS THE
3376 ; CURRENT CRAM ADDRESS FOLLOWED BY THE CURRENT CRAM ADDRESS CONTENTS
3377 ; ON SUCCESS. ON FAILURE, R0 CONTAINS A .RAD50 ERROR CODE. NO OTHER
3378 ; REGISTERS ARE ALTERED BY THIS SUBROUTINE.
3379 ;
3380 ; ERROR CODES RETURNED:
3381 ;
3382 ; CAE -- CRAM ADDRESS ERROR.
3383 ; FRF -- FUNCTION READ FAILED.
3384 ; FWF -- FUNCTION WRITE FAILED.
3385 ; FXF -- FUNCTION EXECUTE FAILED.
3386 ;-
3387
3388 .RDCRO:
3389 CALL .RDCRA ; READ THE CRAM ADDRESS
3390 BCS RDCROX ; ERROR IF C-BIT IS SET
3391 MOV R0,.CRAMA ; SAVE THE ADDRESS
3392 CALL .RDCRR ; READ THE CRAM DATA
3393 BCS RDCROX ; ERROR IF C-BIT IS SET
3394 TST -(R0) ; RETURN POINTER
3395 RDCROX:
3396 RETURN ; TO CALLER
3397
3398 .ENDC ; $RAMSW
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 117
*.RDDPB -- SUBROUTINES TO READ THE KL10 DATA PATH BOARDS* 7509
3400 .SBTTL *.RDDPB -- SUBROUTINES TO READ THE KL10 DATA PATH BOARDS* 7509.23
3401
3402 ;+
3403 ; .RDADR -- SUBROUTINE TO READ THE KL10 ADDER REGISTER.
3404 ; .RDADX -- SUBROUTINE TO READ THE KL10 ADDER EXTENSION REGISTER.
3405 ; .RDARR -- SUBROUTINE TO READ THE KL10 ARITHMETIC REGISTER.
3406 ; .RDARX -- SUBROUTINE TO READ THE KL10 ARITHMETIC REGISTER EXTENSION.
3407 ; .RDBRR -- SUBROUTINE TO READ THE KL10 BUFFER REGISTER.
3408 ; .RDBRX -- SUBROUTINE TO READ THE KL10 BUFFER REGISTER EXTENSION.
3409 ; .RDEBS -- SUBROUTINE TO READ THE KL10 EBUS REGISTER.
3410 ; .RDFMR -- SUBROUTINE TO READ THE KL10 FAST MEMORY REGISTER.
3411 ; .RDMQR -- SUBROUTINE TO READ THE KL10 MULTIPLIER QUOTIENT REGISTER.
3412 ;
3413 ; THESE SUBROUTINES READ AND RETURN THE CONTENT OF THE SPECIFIED KL10
3414 ; DATA PATH REGISTER IN A TRIPLET POINTED TO BY R1 IN THE CALL.
3415 ;
3416 ; CALLING SEQUENCE IS:
3417 ;
3418 ; MOV #BUFADR,R1 ; BUFFER ADDRESS TO R1
3419 ; CALL .RDADR ; READ THE KL10 ADDER
3420 ; BCS ERROR ; ERROR IF C-BIT IS SET
3421 ;
3422 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE AND POINTS TO THE TOP
3423 ; OF THE READ BLOCK ON SUCCESS; OTHERWISE NO REGISTERS ARE ALTERED
3424 ; BY THESE SUBROUTINES.
3425 ;
3426 ; ERROR CODES RETURNED:
3427 ;
3428 ; FRF -- FUNCTION READ FAILED.
3429 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 118
*.RDDPB -- SUBROUTINES TO READ THE KL10 DATA PATH BOARDS* 7509
3431 004074 .RDADR::
3432 004074 012700 000256 MOV #FR.RAD,R0 ; READ THE KL10 ADDER
3433 004100 000427 BR .RDDPB ; COMMON CODE
3434 004102 .RDADX::
3435 004102 012700 000254 MOV #FR.ADX,R0 ; READ THE KL10 ADDER EXTENSION
3436 004106 000424 BR .RDDPB ; COMMON CODE
3437 004110 .RDARR::
3438 004110 012700 000240 MOV #FR.RAR,R0 ; READ THE KL10 ARITHMETIC REGISTER
3439 004114 000421 BR .RDDPB ; COMMON CODE
3440 004116 .RDARX::
3441 004116 012700 000252 MOV #FR.ARX,R0 ; READ THE KL10 AR EXTENSION REGISTER
3442 004122 000416 BR .RDDPB ; COMMON CODE
3443 004124 .RDBRR::
3444 004124 012700 000242 MOV #FR.RBR,R0 ; READ THE KL10 BUFFER REGISTER
3445 004130 000413 BR .RDDPB ; COMMON CODE
3446 004132 .RDBRX::
3447 004132 012700 000250 MOV #FR.BRX,R0 ; READ THE KL10 BR EXTENSION REGISTER
3448 004136 000410 BR .RDDPB ; COMMON CODE
3449 004140 .RDEBS::
3450 004140 012700 000356 MOV #FR.EBS,R0 ; READ THE KL10 EBUS REGISTER
3451 004144 000405 BR .RDDPB ; COMMON CODE
3452 004146 .RDFMR::
3453 004146 012700 000246 MOV #FR.RFM,R0 ; READ THE KL10 FAST MEMORY REGISTER
3454 004152 000402 BR .RDDPB ; COMMON CODE
3455 004154 .RDMQR::
3456 004154 012700 000244 MOV #FR.RMQ,R0 ; READ THE KL10 MULTIPLIER QUOTIENT REGISTER
3457 ; FALL INTO COMMON CODE
3458 004160 .RDDPB::
3459 004160 CALL .FREAD ; READ IT
004160 004737 006472' JSR PC,.FREAD
3460 004164 RETURN ; AND JUST GO AWAY
004164 000207 RTS PC
3461
3462 .IF NE $RAMSW
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 119
*.RDDPB -- SUBROUTINES TO READ THE KL10 DATA PATH BOARDS* 7509
3464 .SBTTL *.RDDRM -- SUBROUTINE TO READ THE KL10 DISPATCH RAM* 7511.05
3465
3466 ;+
3467 ; .RDDRM -- SUBROUTINE TO READ THE KL10 DISPATCH RAM.
3468 ; .RDDRR -- SUBROUTINE TO READ THE OUTPUT OF THE DRAM REGISTER.
3469 ;
3470 ; THE ".RDDRM" SUBROUTINE WILL READ A PAIR OF LOCATIONS IN THE KL10 DRAM,
3471 ; BEGINNING WITH THE EVEN DRAM ADDRESS SPECIFIED IN R0.
3472 ;
3473 ; THE ".RDDRR" SUBROUTINE WILL READ THE DRAM REGISTER OUTPUT.
3474 ;
3475 ; SEQUENCE OF OPERATION:
3476 ;
3477 ; .RDDRM:
3478 ;
3479 ; (A) THE FIRST (EVEN) DRAM ADDRESS IS LOADED,
3480 ; (B) THE DATA FROM THE EVEN ADDRESS IS READ,
3481 ; (C) THE SECOND (ODD) DRAM ADDRESS IS LOADED,
3482 ; (D) THE DATA FROM THE ODD ADDRESS IS READ,
3483 ; (E) KL10 OPCODES ARE REENABLED (TURNED OFF BY ADDRESS LOAD),
3484 ;
3485 ; .RDDRR:
3486 ;
3487 ; (A) THE CURRENT OUTPUT OF THE DRAM REGISTER IS READ.
3488 ;
3489 ; CALLING SEQUENCE IS:
3490 ;
3491 ; MOV #ADR,R0 ; DRAM ADDRESS TO R0
3492 ; CALL .RDDRM ; READ THE DRAM PAIR
3493 ; BCS ERROR ; ERROR IF C-BIT IS SET
3494 ; -OR-
3495 ; CALL .RDRR ; READ THE DRAM REGISTER
3496 ; BCS ERROR ; ERROR IF C-BIT IS SET
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 120
*.RDDPB -- SUBROUTINES TO READ THE KL10 DATA PATH BOARDS* 7509
3498 ; R0 CONTAINS A POINTER TO A 6 BYTE BLOCK WHICH CONTAINS THE DRAM
3499 ; DATA ON SUCCESS AND A .RAD50 ERROR CODE ON FAILURE. THE FORMAT
3500 ; OF THE DATA BLOCK IS:
3501 ;
3502 ; !===============================!
3503 ; 00 ! DRAM A + B EVEN !
3504 ; !-------------------------------!
3505 ; 01 ! DRAM J 1 - 4 EVEN !
3506 ; !-------------------------------!
3507 ; 02 ! DRAM J 7 - 10 + PAR EVEN !
3508 ; !-------------------------------!
3509 ; 03 ! DRAM A + B ODD !
3510 ; !-------------------------------!
3511 ; 04 ! DRAM J 1 - 4 ODD !
3512 ; !-------------------------------!
3513 ; 05 ! DRAM J 7 - 10 + PAR ODD !
3514 ; !===============================!
3515 ;
3516 ; THESE BYTES ARE RIGHT JUSTIFIED.
3517 ;
3518 ; NO OTHER REGISTERS ARE ALTERED BY THIS SUBROUTINE.
3519 ;
3520 ; ERROR CODES RETURNED:
3521 ;
3522 ; CCC -- CAN'T CLEAR KL10 CLOCK.
3523 ; DAE -- KL10 DRAM ADDRESS ERROR.
3524 ; FRF -- FUNCTION READ FAILED.
3525 ; FWF -- FUNCTION WRITE FAILED.
3526 ; FXF -- FUNCTION EXECUTE FAILED.
3527 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 121
*.RDDPB -- SUBROUTINES TO READ THE KL10 DATA PATH BOARDS* 7509
3529 .RDDRR::
3530 CALL R5,REGSAV ; SAVE R1 - R5 ON THE STACK
3531 PUSH #^D1 ; FAKE THE EXIT OUT
3532 MOV #.DRAMR,R3 ; .SAVE AREA POINTER TO R3
3533 BR RDRAMA ; .DO THE READ
3534 .RDDRM::
3535 CALL R5,REGSAV ; SAVE R1 - R5 ON THE STACK
3536 PUSH R0 ; AND R0, TOO
3537 BIT #177001,R0 ; .IS THE ADDRESS OK?
3538 BNE RDRAER ; .ERROR -- OUT OF RANGE OR ODD
3539 MOV #.DRAMR,R3 ; .SAVE AREA POINTER TO R3
3540 RDDRM1:
3541 CALL .LDRAD ; .LOAD THE ADDRESS
3542 BCS RDDRME ; .ERROR IF C-BIT IS SET
3543 MOV #FX.UDR,R0 ; .GET THE DATA FROM THE RAM
3544 CALL .FXCT ; .DO IT
3545 BCS RDDRME ; .ERROR IF C-BIT IS SET
3546 RDRAMA:
3547 MOV #DRAMT,R5 ; .MASK TABLE POINTER
3548 MOV #FR.133,R4 ; .BASE READ TO R4
3549 RDDRM2:
3550 MOV R4,R0 ; .GET THE READ CODE
3551 CLR R1 ; .CLEAR R1
3552 CALL .FREAD ; .DO IT
3553 BCS RDDRME ; .ERROR IF C-BIT IS SET
3554 MOVB 2(R0),(R3) ; .PICK UP THIS BYTE
3555 ASRB (R3) ; .DATA NEEDS TWO SHIFTS
3556 ASRB (R3) ; .SO
3557 BICB (R5)+,(R3)+ ; .MASK IT OFF
3558 CMP #FR.135,R4 ; .ARE WE DONE THIS SET OF READS?
3559 BEQ RDDRM3 ; .BRANCH IF SO
3560 CLC ; .CLEAR THE C-BIT
3561 TST (R4)+ ; .NEXT READ
3562 BR RDDRM2 ; .DO IT
3563 RDDRM3:
3564 BIT #BIT00,(SP) ; .ARE WE ALL THROUGH READING?
3565 BNE RDDRMX ; .BRANCH IF SO
3566 INC (SP) ; .MAKE THE ADDRESS ODD
3567 MOV (SP),R0 ; .PUT IT IN R0
3568 BR RDDRM1 ; .AND DO ODD READ
3569
3570 ; [FALL THROUGH TO NEXT PAGE IF DONE READS]
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 122
*.RDDPB -- SUBROUTINES TO READ THE KL10 DATA PATH BOARDS* 7509
3572 RDDRMX:
3573 CLC ; .CLEAR THE C-BIT
3574 MOV #FW.KLO,R0 ; .REENABLE KL10 OPCODES
3575 CALL .FWRIT ; .DO IT
3576 BCS RDDRME ; .ERROR IF C-BIT IS SET
3577 BIS #KF.KLO,.KLFLG ; .SET THE FLAG BIT
3578 MOV #.DRAMR,R0 ; .POINT TO THE READ DATA
3579 RDDRME:
3580 INC (SP)+ ; CLEAR THE STACK
3581 RETURN ; TO CALLER
3582 RDRAER:
3583 ERROR$ DAE ; .DRAM ADDRESSING ERROR
3584 SEC ; .SET ERROR FLAG
3585 BR RDDRME ; .GIVE ERROR RETURN
3586
3587 ; TABLE USED BY DRAM READ
3588
3589 DRAMT:
3590 .BYTE 300 ; BIT MASKS
3591 .BYTE 360
3592 .BYTE 300
3593 .EVEN
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 123
*.RDDPB -- SUBROUTINES TO READ THE KL10 DATA PATH BOARDS* 7509
3595 .SBTTL *.RDDRO -- SUBROUTINE TO READ THE KL10 DRAM OUTPUT* 7511.05
3596
3597 ;+
3598 ; .RDDRO -- SUBROUTINE TO READ THE KL10 DRAM OUTPUT.
3599 ;
3600 ; THIS SUBROUTINE WILL READ THE CURRENT OUTPUT OF THE KL10 DRAM
3601 ; AND IS USEFUL ON CLOCK ERROR STOPS (Q.V.) WHICH ARE CAUSED BY
3602 ; DRAM PARITY ERRORS.
3603 ;
3604 ; CALLING SEQUENCE IS:
3605 ;
3606 ; CALL .RDDRO ; READ THE DRAM OUTPUT
3607 ; BCS ERROR ; ERROR IF C-BIT IS SET
3608 ;
3609 ; R0 CONTAINS A POINTER TO A FOUR WORD BLOCK WHICH CONTAINS THE
3610 ; CURRENT DRAM ADDRESS FOLLOWED BY THE CURRENT DRAM ADDRESS CONTENTS
3611 ; ON SUCCESS. ON FAILURE, R0 CONTAINS A .RAD50 ERROR CODE. NO OTHER
3612 ; REGISTERS ARE ALTERED BY THIS SUBROUTINE.
3613 ;
3614 ; ERROR CODES RETURNED:
3615 ;
3616 ; CCC -- CAN'T CLEAR KL10 CLOCK.
3617 ; DAE -- KL10 DRAM ADDRESS ERROR.
3618 ; FRF -- FUNCTION READ FAILED.
3619 ; FWF -- FUNCTION WRITE FAILED.
3620 ; FXF -- FUNCTION EXECUTE FAILED.
3621 ;-
3622
3623 .RDDRO::
3624 CALL .RDDRA ; READ THE DRAM ADDRESS
3625 BCS RDDROX ; ERROR IF C-BIT IS SET
3626 MOV R0,.DRAMA ; SAVE THE DRAM ADDRESS
3627 CALL .RDDRR ; READ THE DRAM REGISTER
3628 BCS RDDROX ; ERROR IF C-BIT IS SET
3629 TST -(R0) ; RETURN POINTER
3630 RDDROX:
3631 RETURN ; TO CALLER
3632
3633 .ENDC ; $RAMSW
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 124
*.RDFLG -- SUBROUTINE TO READ THE KL10 PC FLAGS* 7511.24
3635 .SBTTL *.RDFLG -- SUBROUTINE TO READ THE KL10 PC FLAGS* 7511.24
3636
3637 ;+
3638 ; .RDFLG -- SUBROUTINE TO READ THE KL10 PC FLAGS.
3639 ;
3640 ; THIS SUBROUTINE READS AND RETURNS THE STATE OF THE KL10 PC FLAGS IN R0.
3641 ;
3642 ; CALLING SEQUENCE IS:
3643 ;
3644 ; CALL .RDFLG ; READ THE FLAGS
3645 ; BCS ERROR ; ERROR IF C-BIT IS SET
3646 ;
3647 ; R0 CONTAINS THE PC FLAGS ON SUCCESS, AND A .RAD50 ERROR CODE
3648 ; ON FAILURE, NO OTHER REGISTERS ARE ALTERED.
3649 ;
3650 ; THE FOLLOWING IS A LIST OF THE KL10 FLAGS RETURNED IN R0:
3651 ;
3652 ; BIT # PC FLAG BIT AND MEANING KL10 BIT
3653 ;
3654 ; ----- ---------------------------- --------
3655 ;
3656 ; 12 PC.OVF -- KL10 OVERFLOW FLAG -- 00
3657 ; 11 PC.CY0 -- KL10 CARRY 0 FLAG -- 01
3658 ; 10 PC.CY1 -- KL10 CARRY 1 FLAG -- 02
3659 ; 09 PC.FOV -- KL10 FLOATING OVERFLOW FLAG -- 03
3660 ; 08 PC.BIS -- KL10 BYTE INCREMENT SUPPRESSION FLAG -- 04
3661 ; 07 PC.USR -- KL10 USER MODE FLAG -- 05
3662 ; 06 PC.UIO -- KL10 USER IOT MODE FLAG -- 06
3663 ; 05 PC.LIP -- KL10 LAST INSTRUCTION PUBLIC FLAG -- 07
3664 ; 04 PC.AFI -- KL10 ADDRESS FAILURE INHIBIT FLAG -- 08
3665 ; 03 PC.AT1 -- KL10 APR TRAP 1 FLAG -- 09
3666 ; 02 PC.AT0 -- KL10 APR TRAP 0 FLAG -- 10
3667 ; 01 PC.FUF -- KL10 FLOATING UNDERFLOW FLAG -- 11
3668 ; 00 PC.NDV -- KL10 NO DIVIDE FLAG -- 12
3669 ;
3670 ; NOTE:
3671 ;
3672 ; THE KL10 MUST BE IN THE HALT LOOP BEFORE THIS SUBROUTINE IS CALLED.
3673 ;
3674 ; ERROR CODES RETURNED:
3675 ;
3676 ; FRF -- FUNCTION READ FAILED.
3677 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 125
*.RDFLG -- SUBROUTINE TO READ THE KL10 PC FLAGS* 7511.24
3679 004166 .RDFLG::
3680 004166 PUSH <R1,R2> ; SAVE R1 AND R2 ON THE STACK
004166 010146 MOV R1,-(SP)
004170 010246 MOV R2,-(SP)
3681 004172 005001 CLR R1 ; ..CLEAR R1
3682 004174 005002 CLR R2 ; ..AND R2
3683 004176 012700 000202 MOV #FR.101,R0 ; ..FR CODE FOR LOW FLAGS
3684 004202 CALL .FREAD ; ..READ THEM
004202 004737 006472' JSR PC,.FREAD
3685 004206 103441 BCS RDFLGX ; ..ERROR IF C-BIT IS SET
3686 004210 012701 177764 MOV #-^D12,R1 ; ..SHIFT COUNT TO R1
3687 004214 CALL KLLSHI ; ..SHIFT OUR WORD
004214 004737 007760' JSR PC,KLLSHI
3688 004220 042710 177700 BIC #177700,(R0) ; ..MASK OUT FLAG BITS
3689 004224 051002 BIS (R0),R2 ; ..PUT THE LOW FLAGS IN R2
3690 004226 005001 CLR R1 ; ..AGAIN
3691 004230 012700 000200 MOV #FR.100,R0 ; ..FR CODE FOR MOST OF THE FLAGS
3692 004234 CALL .FREAD ; ..READ THEM
004234 004737 006472' JSR PC,.FREAD
3693 004240 103424 BCS RDFLGX ; ..ERROR IF C-BIT IS SET
3694 004242 012701 177772 MOV #-^D6,R1 ; ..SHIFT COUNT TO R1
3695 004246 CALL KLLSHI ; ..SHIFT THE DATA
004246 004737 007760' JSR PC,KLLSHI
3696 004252 042710 170077 BIC #170077,(R0) ; ..JUST THE BITS WE WANT
3697 004256 051002 BIS (R0),R2 ; ..SAVE THE HIGH FLAGS IN R2
3698 004260 005001 CLR R1 ; ..CLEAR R1 AGAIN
3699 004262 012700 000264 MOV #FR.132,R0 ; ..FR CODE FOR LAST FLAG BIT
3700 004266 CALL .FREAD ; ..READ IT
004266 004737 006472' JSR PC,.FREAD
3701 004272 103407 BCS RDFLGX ; ..ERROR IF C-BIT IS SET
3702 004274 032760 000001 000004 BIT #BIT00,4(R0) ; ..IS IT ON?
3703 004302 001402 BEQ RDFLG1 ; ..BRANCH IF NOT
3704 004304 052702 010000 BIS #PC.OVF,R2 ; ..IT IS, SET IT IN OUR WORD
3705 004310 RDFLG1:
3706 004310 010200 MOV R2,R0 ; ..PUT A COPY IN R0
3707 004312 RDFLGX:
3708 004312 POP <R2,R1> ; RESTORE REGISTERS
004312 012602 MOV (SP)+,R2
004314 012601 MOV (SP)+,R1
3709 004316 RETURN ; TO CALLER
004316 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 126
*.RDFMA -- SUBROUTINE TO READ THE KL10 FM ADDRESS* 7511.14
3711 .SBTTL *.RDFMA -- SUBROUTINE TO READ THE KL10 FM ADDRESS* 7511.14
3712
3713 ;+
3714 ; .RDFMA -- SUBROUTINE TO READ THE KL10 FAST MEMORY ADDRESS REGISTER.
3715 ;
3716 ; THIS SUBROUTINE WILL READ AND RETURN THE KL10 FAST MEMORY ADDRESS
3717 ; A LOCATION POINTED TO BY R1 IN THE CALL. IF R1 IS ZERO, THE DATA
3718 ; IS RETURNED ONLY IN R0.
3719 ;
3720 ; THE FORMAT OF THE DATA RETURNED IS:
3721 ;
3722 ; !===============================================!
3723 ; ! FM BLOCK ! FM ADDRESS !
3724 ; !===============================================!
3725 ;
3726 ; CALLING SEQUENCE IS:
3727 ;
3728 ; MOV #BUFADR,R1 ; BUFFER POINTER TO R1
3729 ; CALL .RDFMA ; READ THE FAST MEMORY ADDRESS
3730 ; BCS ERROR ; ERROR IF C-BIT IS SET
3731 ;
3732 ; R0 WILL CONTAIN A RAD50 ERROR CODE IF THE SUBROUTINE FAILS,
3733 ; OTHERWISE NO REGISTERS ARE ALTERED BY THIS SUBROUTINE.
3734 ;
3735 ; ERROR CODES RETURNED:
3736 ;
3737 ; FRF -- FUNCTION READ FAILED.
3738 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 127
*.RDFMA -- SUBROUTINE TO READ THE KL10 FM ADDRESS* 7511.14
3740 004320 .RDFMA::
3741 004320 PUSH R1 ; SAVE R1 ON THE STACK
004320 010146 MOV R1,-(SP)
3742 004322 005001 CLR R1 ; .CLEAR R1
3743 004324 012700 000230 MOV #FR.114,R0 ; .FR CODE TO READ FM ADDRESS
3744 004330 CALL .FREAD ; .READ IT
004330 004737 006472' JSR PC,.FREAD
3745 004334 103423 BCS RDFMAX ; .ERROR IF C-BIT IS SET
3746 004336 012701 177753 MOV #-^D21,R1 ; .SHIFT COUNT TO R1
3747 004342 CALL KLLSHI ; .SHIFT IT
004342 004737 007760' JSR PC,KLLSHI
3748 004346 PUSH (R0) ; .SAVE THE WORD ON THE STACK
004346 011046 MOV (R0),-(SP)
3749 004350 042716 177760 BIC #177760,(SP) ; ..MASK FM ADDRESS
3750 004354 042710 176017 BIC #176017,(R0) ; ..MASK OUT THE FM BLOCK NUMBER
3751 004360 012701 000004 MOV #^D4,R1 ; ..SHIFT IT INTO THE HIGH BYTE
3752 004364 CALL KLLSHI ; ..SO
004364 004737 007760' JSR PC,KLLSHI
3753 004370 052610 BIS (SP)+,(R0) ; ..SET IN THE FAST MEMORY ADDRESS
3754 004372 011000 MOV (R0),R0 ; .GET IT INTO R0
3755 004374 005716 TST (SP) ; .DO WE HAVE A POINTER?
3756 004376 001402 BEQ RDFMAX ; .BRANCH IF NOT
3757 004400 010076 000000 MOV R0,@(SP) ; .PUT IT WHERE HE WANTS IT
3758 004404 RDFMAX:
3759 004404 POP R1 ; RESTORE R1
004404 012601 MOV (SP)+,R1
3760 004406 RETURN ; AND LEAVE
004406 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 128
*.RDFMO -- SUBROUTINE TO READ KL10 FAST MEMORY OUTPUT* 7511.06
3762 .SBTTL *.RDFMO -- SUBROUTINE TO READ KL10 FAST MEMORY OUTPUT* 7511.06
3763
3764 ;+
3765 ; .RDFMO -- SUBROUTINE TO READ THE KL10 FAST MEMORY REGISTERS
3766 ;
3767 ; THIS SUBROUTINE WILL READ AND STORE THE FAST MEMORY ADDRESS AND
3768 ; OUTPUT IN A FOUR WORD BLOCK STARTING AT ".FMADR", AND IS USEFUL
3769 ; FOR GATHERING DATA ON FAST MEMORY PARITY ERRORS.
3770 ;
3771 ; CALLING SEQUENCE IS:
3772 ;
3773 ; CALL .RDFMO ; READ FAST MEMORRY REGISTERS
3774 ; BCS ERROR ; ERROR IF C-BIT IS SET
3775 ;
3776 ; R0 CONTAINS A POINTER TO THE FOUR WORD BLOCK ON SUCCESS, OR
3777 ; A .RAD50 ERROR CODE ON FAILURE. NO OTHER REGISTERS ARE
3778 ; ALTERED BY THIS ROUTINE.
3779 ;
3780 ; ERROR CODES RETURNED:
3781 ;
3782 ; FRF -- FUNCTION READ FAILED.
3783 ;-
3784
3785 004410 .RDFMO::
3786 004410 PUSH R1 ; SAVE R1 ON THE STACK
004410 010146 MOV R1,-(SP)
3787 004412 005001 CLR R1 ; .CLEAR R1
3788 004414 CALL .RDFMA ; .READ THE FAST MEMORY ADDRESS
004414 004737 004320' JSR PC,.RDFMA
3789 004420 103410 BCS RDFMOX ; .ERROR IF C-BIT IS SET
3790 004422 012701 000166' MOV #.FMADR,R1 ; .SET UP POINTER
3791 004426 010021 MOV R0,(R1)+ ; .SAVE FM ADDRESS
3792 004430 CALL .RDFMR ; .READ THE FAST MEMORY REGISTER
004430 004737 004146' JSR PC,.RDFMR
3793 004434 103402 BCS RDFMOX ; .ERROR IF C-BIT IS SET
3794 004436 012700 000166' MOV #.FMADR,R0 ; .RETURN POINTER
3795 004442 RDFMOX:
3796 004442 POP R1 ; RESTORE R1
004442 012601 MOV (SP)+,R1
3797 004444 RETURN ; TO CALLER
004444 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 129
*.RDIRR -- SUNROUTINE TO READ THE KL10 IR REGISTER* 7510.04
3799 .SBTTL *.RDIRR -- SUNROUTINE TO READ THE KL10 IR REGISTER* 7510.04
3800
3801 ;+
3802 ; .RDIRR -- SUBROUTINE TO READ THE KL10 INSTRUCTION REGISTER.
3803 ;
3804 ; THIS SUBROUTINE WILL READ THE CONTENT OF THE KL10 INSTRUCTION REGISTER
3805 ; AND RETURN IT IN R0. IN THE CASE OF A "JRST", "JFCL", OR I/O OPCODE,
3806 ; 13 BITS OF DATA ARE RETURNED, LEFT JUSTIFIED ON BIT 15 (OPCODE + IR AC
3807 ; FIELD). ALL OTHER OPCODES RETURN 9 BITS OF DATA, RIGHT JUSTIFIED ON
3808 ; BIT 00.
3809 ;
3810 ; CALLING SEQUENCE IS:
3811 ;
3812 ; CALL .RDIRR ; READ THE KL10 IR
3813 ; BCS ERROR ; ERROR IF C-BIT IS SET
3814 ;
3815 ; R0 CONTAINS THE CURRENT KL10 OPCODE ON SUCCESS, OR A .RAD50 ERROR
3816 ; CODE ON FAILURE; NO OTHER REGISTERS ARE ALTERED BY THIS SUBROUTINE.
3817 ;
3818 ; ERROR CODES RETURNED:
3819 ;
3820 ; FRF -- FUNCTION READ FAILED.
3821 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 130
*.RDIRR -- SUNROUTINE TO READ THE KL10 IR REGISTER* 7510.04
3823 004446 .RDIRR::
3824 004446 PUSH R1 ; SAVE R1 ON THE STACK
004446 010146 MOV R1,-(SP)
3825 004450 CALL .RDDRA ; .READ THE DRAM ADDRESS (OPCODE)
004450 004737 004752' JSR PC,.RDDRA
3826 004454 103442 BCS RDIRRX ; .ERROR IF C-BIT IS SET
3827 004456 022700 000254 CMP #JRST,R0 ; .IS IT A "JRST"?
3828 004462 001406 BEQ RDIRR1 ; .BRANCH IF SO
3829 004464 022700 000255 CMP #JFCL,R0 ; .IS IT A "JFCL"?
3830 004470 001403 BEQ RDIRR1 ; .BRANCH IF SO
3831 004472 022700 000700 CMP #KLIOT,R0 ; .IS IT AN I/O OPCODE
3832 004476 002430 BLT RDIRR3 ; .BRANCH IF NOT
3833 004500 RDIRR1:
3834 004500 012701 000004 MOV #^D4,R1 ; .SHIFT THE OPCODE OVER
3835 004504 CALL .SHIFT ; .SO
004504 004737 007162' JSR PC,.SHIFT
3836 004510 PUSH R0 ; .SAVE R0 ON THE STACK
004510 010046 MOV R0,-(SP)
3837 004512 012700 000264 MOV #FR.132,R0 ; ..SET UP TO READ AC FIELD
3838 004516 005001 CLR R1 ; ..CLEAR R1
3839 004520 CALL .FREAD ; ..READ IT
004520 004737 006472' JSR PC,.FREAD
3840 004524 103414 BCS RDIRR2 ; ..ERROR IF C-BIT IS SET
3841 004526 012701 177756 MOV #-^D18,R1 ; ..SHIFT THE AC FIELD OVER
3842 004532 CALL KLLSHI ; ..SO
004532 004737 007760' JSR PC,KLLSHI
3843 004536 042710 177760 BIC #177760,(R0) ; ..CLEAR OUT UNWANTED BITS
3844 004542 051610 BIS (SP),(R0) ; ..MAKE THE WHOLE OPCODE
3845 004544 011000 MOV (R0),R0 ; ..AND GET IT INTO R0
3846 004546 012701 000002 MOV #^D2,R1 ; ..LEFT JUSTIFY IT
3847 004552 CALL .SHIFT ; ..SO
004552 004737 007162' JSR PC,.SHIFT
3848 004556 RDIRR2:
3849 004556 005226 INC (SP)+ ; .CLEAR THE STACK
3850 004560 RDIRR3:
3851 004560 000241 CLC ; .CLEAR THE C-BIT
3852 004562 RDIRRX:
3853 004562 POP R1 ; .RESTORE R1
004562 012601 MOV (SP)+,R1
3854 004564 RETURN ; TO CALLER
004564 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 131
*.RDIPE -- READ KL10 PARITY ERROR FLAGS* 7511.13
3856 .SBTTL *.RDIPE -- READ KL10 PARITY ERROR FLAGS* 7511.13
3857
3858 ;+
3859 ; .RDIPE -- SUBROUTINE TO READ THE KL10 INTERNAL PARITY ERROR FLAGS.
3860 ;
3861 ; THIS SUBROUTINE READS THE INTERNAL KL10 PARITY ERROR FLAGS AND
3862 ; STORES THEM IN ".PEWRD" IN THE FOLLOWING FORMAT:
3863 ;
3864 ; (A) BIT00 ("PE.CES") [CLK ERROR STOP H],
3865 ; (B) BIT01 ("PE.DRM") [CLK DRAM PAR ERR H],
3866 ; (C) BIT02 ("PE.CRM") [CLK CRAM PAR ERR H],
3867 ; (D) BIT03 ("PE.FMP") [CLK FM PAR ERR H],
3868 ; (E) BIT04 ("PE.FSS") [CLK FS ERROR H].
3869 ;
3870 ; CALLING SEQUENCE IS:
3871 ;
3872 ; CALL .RDIPE ; READ THE KL10 PARITY ERRORS
3873 ; BCS ERROR ; ERROR IF C-BIT IS SET
3874 ;
3875 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE R0
3876 ; CONTAINS A COPY OF THE FLAGS IN ".PEWRD".
3877 ; ALL OTHER REGISTERS ARE PRESERVED.
3878 ;
3879 ; ERROR CODES RETURNED:
3880 ;
3881 ; FRF -- FUNCTION READ FAILED.
3882 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 132
*.RDIPE -- READ KL10 PARITY ERROR FLAGS* 7511.13
3884 004566 .RDIPE::
3885 004566 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
004566 004537 007214' JSR R5,REGSAV
3886 004572 012702 000204 MOV #FR.102,R2 ; BASE FUNCTION READ TO R2
3887 004576 012703 000040 MOV #BIT05,R3 ; MASK BIT TO R3
3888 004602 012704 000202' MOV #.PEWRD,R4 ; WORD POINTER TO R4
3889 004606 005014 CLR (R4) ; CLEAR THE WORD
3890 004610 012705 000001 MOV #BIT00,R5 ; BASE WORD MASK TO R5
3891 004614 005001 CLR R1 ; CLEAR R1
3892 004616 RDIPE1:
3893 004616 010200 MOV R2,R0 ; GET THE FR NUMBER
3894 004620 CALL .FREAD ; DO THE READ
004620 004737 006472' JSR PC,.FREAD
3895 004624 103412 BCS RDIPEX ; ERROR IF C-BIT IS SET
3896 004626 030310 BIT R3,(R0) ; IS THE BIT ON?
3897 004630 001401 BEQ RDIPE2 ; BRANCH IF NOT
3898 004632 050514 BIS R5,(R4) ; SET THE BIT IN THE WORD
3899 004634 RDIPE2:
3900 004634 062702 000002 ADD #^D2,R2 ; NEXT FUNCTION READ
3901 004640 006305 ASL R5 ; SHIFT THE WORD MASK
3902 004642 020503 CMP R5,R3 ; ARE WE DONE?
3903 004644 001364 BNE RDIPE1 ; NO, KEEP GOING
3904 004646 000241 CLC ; JUST IN CASE
3905 004650 011400 MOV (R4),R0 ; PUT THE WORD IN R0
3906 004652 RDIPEX:
3907 004652 RETURN ; AND GO AWAY
004652 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 133
*.RDPI -- SUBROUTINE TO READ THE PI BOARDS* 7510.16
3909 .SBTTL *.RDPI -- SUBROUTINE TO READ THE PI BOARDS* 7510.16
3910
3911 ;+
3912 ; .RDPI -- SUBROUTINE TO READ THE KL10 PI BOARDS.
3913 ;
3914 ; THIS SUBROUTINE READS THE KL10 PI BOARDS AND STORES THE STATUS IN
3915 ; A TWO WORD TABLE, ".PITAB", WHICH IS POINTED TO BY R0 ON SUCCESSFUL
3916 ; RETURN.
3917 ;
3918 ; WORD 0 OF ".PITAB" CONTAINS:
3919 ;
3920 ; (A) PIH 1 THRU PIH 7 (BITS 14 THRU 08),
3921 ; (B) PI ACTIVE (BIT 07),
3922 ; (C) PI ON 1 THRU PI ON 7 (BITS 06 THRU 00).
3923 ;
3924 ; WORD 2 OF ".PITAB" CONTAINS:
3925 ;
3926 ; (A) PI GEN 1 THRU PI GEN 7 (BITS 06 THRU 00).
3927 ;
3928 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, NO OTHER REGISTERS
3929 ; ARE ALTERED BY THIS SUBROUTINE.
3930 ;
3931 ; ERROR CODES RETURNED:
3932 ;
3933 ; FRF -- FUNCTION READ FAILED.
3934 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 134
*.RDPI -- SUBROUTINE TO READ THE PI BOARDS* 7510.16
3936 004654 .RDPI::
3937 004654 PUSH <R1,R2,R3> ; SAVE REGISTERS
004654 010146 MOV R1,-(SP)
004656 010246 MOV R2,-(SP)
004660 010346 MOV R3,-(SP)
3938 004662 012703 000014' MOV #RDPITB,R3 ; ...TABLE POINTER TO R3
3939 004666 012702 000010' MOV #.PITAB,R2 ; ...SAVE AREA POINTER TO R2
3940 004672 RDPI1:
3941 004672 005001 CLR R1 ; ...CLEAR R1
3942 004674 012300 MOV (R3)+,R0 ; ...FR CODE TO R0
3943 004676 CALL .FREAD ; ...READ IT
004676 004737 006472' JSR PC,.FREAD
3944 004702 103411 BCS RDPIX ; ...ERROR IF C-BIT IS SET
3945 004704 012301 MOV (R3)+,R1 ; ...SHIFT COUNT TO R1
3946 004706 CALL KLLSHI ; ...SHIFT IT
004706 004737 007760' JSR PC,KLLSHI
3947 004712 042310 BIC (R3)+,(R0) ; ...CLEAR UNWANTED BIT(S)
3948 004714 011022 MOV (R0),(R2)+ ; ...PUT IT IN SAVE AREA
3949 004716 022703 000030' CMP #RDPITE,R3 ; ...ARE WE AT END OF TABLE?
3950 004722 001363 BNE RDPI1 ; ...BRANCH IF NOT
3951 004724 011300 MOV (R3),R0 ; ...POINT TO SAVE AREA
3952 004726 RDPIX:
3953 004726 POP <R3,R2,R1> ; RESTORE REGISTERS
004726 012603 MOV (SP)+,R3
004730 012602 MOV (SP)+,R2
004732 012601 MOV (SP)+,R1
3954 004734 RETURN ; TO CALLER
004734 000207 RTS PC
3955
3956 000010 .PSECT TABLES
3957
3958 000010 .PITAB::
3959 000010 000000 000000 .WORD 0,0 ; 2 WORDS TO SAVE
3960
3961 000014 RDPITB:
3962 000014 000200 .WORD FR.PI0 ; FIRST READ CODE
3963 000016 177756 .WORD -^D18 ; SHIFT COUNT
3964 000020 100000 .WORD BIT15 ; MASK
3965 000022 000202 .WORD FR.PI1 ; SECOND READ CODE
3966 000024 177756 .WORD -^D18 ; SHIFT COUNT
3967 000026 177600 .WORD 177600 ; MASK
3968 000030' RDPITE=.
3969 000030 000010' .WORD .PITAB ; POINTER TO SAVE AREA
3970
3971 004736 .PSECT ; COMPRS
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 135
*.RDSMR -- SUBROUTINE TO READ SMALL KL10 REGISTERS 7511.05
3973 .SBTTL *.RDSMR -- SUBROUTINE TO READ SMALL KL10 REGISTERS 7511.05
3974
3975 ;+
3976 ; .RDCRA -- SUBROUTINE TO READ THE KL10 CRAM ADDR REGISTER.
3977 ; .RDCRL -- SUBROUTINE TO READ THE KL10 CRAM LOC REGISTER.
3978 ; .RDDRA -- SUBROUTINE TO READ THE KL10 DRAM ADDR REGISTER.
3979 ; .RDFER -- SUBROUTINE TO READ THE KL10 FLOATING EXPONENT REGISTER.
3980 ; .RDSCR -- SUBROUTINE TO READ THE KL10 SHIFT COUNT REGISTER.
3981 ; .RDSBR -- SUBROUTINE TO READ THE KL10 CRAM SUBROUTINE RETURN REGISTER.
3982 ;
3983 ; THESE SUBROUTINES READ THE CONTENT OF THE SPECIFIED REGISTER
3984 ; AND RETURN IT IN R0. NOTE THAT THE CONTENT OF EACH REGISTER IS LESS
3985 ; THAN 16 BITS AND MUST BE READ USING TWO FUNCTION READS.
3986 ;
3987 ; CALLING SEQUENCE IS:
3988 ;
3989 ; CALL .RDCRL ; READ CR LOC REGISTER
3990 ; BCS ERROR ; ERROR IF C-BIT IS SET
3991 ;
3992 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE OR THE CONTENT OF THE
3993 ; SPECIFIED REGISTER ON SUCCESS; OTHERWISE NO REGISTERS ARE ALTERED.
3994 ;
3995 ; ERROR CODES RETURNED:
3996 ;
3997 ; FRF -- FUNCTION READ FAILED.
3998 ;-
3999
4000 004736 .RDCRA::
4001 004736 012700 005062' MOV #CRATAB,R0 ; POINT TO CRAM ADDRESS TABLE
4002 004742 000416 BR .RDSMR ; DO COMMON CODE
4003 004744 .RDCRL::
4004 004744 012700 005076' MOV #CRLTAB,R0 ; POINT TO CR LOC TABLE
4005 004750 000413 BR .RDSMR ; DO COMMON CODE
4006 004752 .RDDRA::
4007 004752 012700 005112' MOV #DRATAB,R0 ; POINT TO DRAM ADDR TABLE
4008 004756 000410 BR .RDSMR ; DO COMMON CODE
4009 004760 .RDFER::
4010 004760 012700 005126' MOV #FERTAB,R0 ; POINT TO FE TABLE
4011 004764 000405 BR .RDSMR ; DO COMMON CODE
4012 004766 .RDSBR::
4013 004766 012700 005142' MOV #SBRTAB,R0 ; POINT TO CRAM SBR RET TABLE
4014 004772 000402 BR .RDSMR ; DO COMMON CODE
4015 004774 .RDSCR::
4016 004774 012700 005156' MOV #SCRTAB,R0 ; POINT TO SHIFT COUNT TABLE
4017 ; FALL INTO COMMON CODE
4018
4019 ; [CONTINUED ON NEXT PAGE]
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 136
*.RDSMR -- SUBROUTINE TO READ SMALL KL10 REGISTERS 7511.05
4021 005000 .RDSMR:: ; HERE FROM PREVIOUS PAGE
4022 005000 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
005000 004537 007214' JSR R5,REGSAV
4023 005004 010005 MOV R0,R5 ; POINTER TO R5
4024 005006 005001 CLR R1 ; CLEAR R1
4025 005010 012500 MOV (R5)+,R0 ; READ THE HIGH ORDER BITS
4026 005012 CALL .FREAD ; DO IT
005012 004737 006472' JSR PC,.FREAD
4027 005016 103420 BCS RDSMRX ; ERROR IF C-BIT IS SET
4028 005020 012501 MOV (R5)+,R1 ; SHIFT COUNT TO R1
4029 005022 CALL KLLSHI ; SHIFT IT
005022 004737 007760' JSR PC,KLLSHI
4030 005026 042510 BIC (R5)+,(R0) ; MASK OUT UNWANTED BITS
4031 005030 PUSH (R0) ; SAVE THE BITS
005030 011046 MOV (R0),-(SP)
4032 005032 012500 MOV (R5)+,R0 ; .READ THE LOW ORDER BITS
4033 005034 CALL .FREAD ; .DO IT
005034 004737 006472' JSR PC,.FREAD
4034 005040 103406 BCS RDSMRE ; .ERROR IF C-BIT IS SET
4035 005042 012501 MOV (R5)+,R1 ; .SHIFT COUNT TO R1
4036 005044 CALL KLLSHI ; .SHIFT IT
005044 004737 007760' JSR PC,KLLSHI
4037 005050 042510 BIC (R5)+,(R0) ; .MASK OUT UNWANTED BITS
4038 005052 051610 BIS (SP),(R0) ; .SET IN THE HIGH ORDER BITS
4039 005054 011000 MOV (R0),R0 ; .PUT IT IN R0
4040 005056 RDSMRE:
4041 005056 005226 INC (SP)+ ; CLEAR THE STACK
4042 005060 RDSMRX:
4043 005060 RETURN ; TO CALLER
005060 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 137
*.RDSMR -- SUBROUTINE TO READ SMALL KL10 REGISTERS 7511.05
4045 ; TABLES FOR SMALL REGISTER READS
4046
4047 005062 CRATAB:
4048 005062 000312 .WORD FR.CA1 ; FR FOR CRAM ADDR HIGH BITS
4049 005064 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
4050 005066 174077 .WORD 174077 ; BIT MASK FOR SAME
4051 005070 000310 .WORD FR.CA2 ; FR FOR CRAM ADDR LOW BITS
4052 005072 177742 .WORD -^D30 ; SHIFT COUNT FOR SAME
4053 005074 177700 .WORD 177700 ; BIT MASK FOR SAME
4054
4055 005076 CRLTAB:
4056 005076 000316 .WORD FR.CL1 ; FR FOR CRAM LOC HIGH BITS
4057 005100 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
4058 005102 174077 .WORD 174077 ; BIT MASK FOR SAME
4059 005104 000314 .WORD FR.CL2 ; FR FOR CRAM LOC LOW BITS
4060 005106 177742 .WORD -^D30 ; SHIFT COUNT FOR SAME
4061 005110 177700 .WORD 177700 ; BIT MASK FOR SAME
4062
4063 005112 DRATAB:
4064 005112 000260 .WORD FR.DA1 ; FR FOR DRAM ADDR HIGH BITS
4065 005114 177764 .WORD -^D12 ; SHIFT COUNT FOR SAME
4066 005116 177077 .WORD 177077 ; BIT MASK FOR SAME
4067 005120 000262 .WORD FR.DA2 ; FR FOR DRAM ADDR LOW BITS
4068 005122 177756 .WORD -^D18 ; SHIFT COUNT FOR SAME
4069 005124 177700 .WORD 177700 ; BIT MASK FOR SAME
4070
4071 005126 FERTAB:
4072 005126 000266 .WORD FR.FE1 ; FR FOR FE HIGH BITS
4073 005130 177755 .WORD -^D19 ; SHIFT COUNT FOR SAME
4074 005132 176037 .WORD 176037 ; BIT MASK FOR SAME
4075 005134 000264 .WORD FR.FE2 ; FR FOR FE LOW BITS
4076 005136 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
4077 005140 177740 .WORD 177740 ; BIT MASK FOR SAME
4078
4079 005142 SBRTAB:
4080 005142 000306 .WORD FR.SR1 ; FR FOR SBR RET HIGH BITS
4081 005144 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
4082 005146 174077 .WORD 174077 ; BIT MASK FOR SAME
4083 005150 000304 .WORD FR.SR2 ; FR FOR SBR RET LOW BITS
4084 005152 177742 .WORD -^D30 ; SHIFT COUNT FOR SAME
4085 005154 177700 .WORD 177700 ; BIT MASK FOR SAME
4086
4087 005156 SCRTAB:
4088 005156 000262 .WORD FR.SC1 ; FR FOR SHIFT COUNT HIGH BITS
4089 005160 177755 .WORD -^D19 ; SHIFT COUNT FOR SAME
4090 005162 177417 .WORD 177417 ; BIT MASK FOR SAME
4091 005164 000260 .WORD FR.SC2 ; FR FOR SHIFT COUNT LOW BITS
4092 005166 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
4093 005170 177760 .WORD 177760 ; BIT MASK FOR SAME
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 138
*.RDVXX -- KL10 VMA BOARD READ SUBROUTINES* 7510.21
4095 .SBTTL *.RDVXX -- KL10 VMA BOARD READ SUBROUTINES* 7510.21
4096
4097 ;+
4098 ; .RDVPC -- SUBROUTINE TO READ THE KL10 PROGRAM COUNTER REGISTER
4099 ; .RDVAB -- SUBROUTINE TO READ THE KL10 ADDRESS BREAK REGISTER.
4100 ; .RDVMA -- SUBROUTINE TO READ THE KL10 VMA REGISTER.
4101 ; .RDVMH -- SUBROUTINE TO READ THE KL10 VMAH REGISTER.
4102 ;
4103 ; THESE SUBROUTINES READ AND ASSEMBLE THE DESIRED VMA BOARD REGISTER
4104 ; INTO A THREE WORD BLOCK POINTED TO BY R1 IN THE CALL.
4105 ;
4106 ; CALLING SEQUENCE IS:
4107 ;
4108 ; MOV #BUFADR,R1 ; BUFFER ADDRESS FOR RETURNED REGISTER
4109 ; CALL .RDVXX ; READ THE REGISTER
4110 ; BCS ERROR ; ERROR IF C-BIT IS SET
4111 ;
4112 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, ALL OTHER REGISTERS
4113 ; ARE PRESERVED ACROSS THE CALL.
4114 ;
4115 ; NOTE:
4116 ;
4117 ; THE CALLING ROUTINE MUST STOP THE KL10 CLOCK TO READ THE VMA
4118 ; REGISTERS. -------------------
4119 ;
4120 ; ERROR CODES RETURNED:
4121 ;
4122 ; IPE -- INTERNAL PROGRAM ERROR - NO BUFFER POINTER.
4123 ; FRF -- FUNCTION READ FAILED.
4124 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 139
*.RDVXX -- KL10 VMA BOARD READ SUBROUTINES* 7510.21
4126 005172 .RDVPC::
4127 005172 012700 005344' MOV #PCTAB,R0 ; POINTER TO PC TABLE
4128 005176 000410 BR .RDVMR
4129 005200 .RDVAB::
4130 005200 012700 005352' MOV #ABTAB,R0 ; POINTER TO ADDRESS BREAK TABLE
4131 005204 000405 BR .RDVMR
4132 005206 .RDVMA::
4133 005206 012700 005360' MOV #VMATB,R0 ; POINTER TO VMA TABLE
4134 005212 000402 BR .RDVMR
4135 005214 .RDVMH::
4136 005214 012700 005366' MOV #VMHTB,R0 ; POINTER TO VMAH TABLE
4137 005220 .RDVMR::
4138 005220 005701 TST R1 ; DID CALLER GIVE US AN ADDRESS?
4139 005222 001444 BEQ RDVMRE ; NO (BARF) COMPLAIN
4140 005224 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
005224 004537 007214' JSR R5,REGSAV
4141 005230 010005 MOV R0,R5 ; TABLE POINTER TO R5
4142 005232 012704 000004 MOV #^D4,R4 ; ITERATION COUNT TO R4
4143 005236 010103 MOV R1,R3 ; USER BUFFER ADDRESS TO R3
4144 005240 012502 MOV (R5)+,R2 ; FUNCTION READ BASE TO R2
4145 005242 PUSH (R5)+ ; MASK WORD TO TOP OF THE STACK
005242 012546 MOV (R5)+,-(SP)
4146 005244 011505 MOV (R5),R5 ; .SHIFT BASE TO R5
4147 005246 010100 MOV R1,R0 ; .CLEAR CALLER'S AREA
4148 005250 CALL KLCLR ; .SO
005250 004737 010220' JSR PC,KLCLR
4149
4150 ; [CONTINUED ON NEXT PAGE]
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 140
*.RDVXX -- KL10 VMA BOARD READ SUBROUTINES* 7510.21
4152 005254 RVMRL1: ; .GET HERE FROM .RDVXX, ABOVE
4153 005254 010200 MOV R2,R0 ; .SET THE FUNCTION READ NUMBER
4154 005256 006300 ASL R0 ; .TIMES 2
4155 005260 005001 CLR R1 ; .CLEAR R1
4156 005262 CALL .FREAD ; .READ IT
005262 004737 006472' JSR PC,.FREAD
4157 005266 103420 BCS RDVMRX ; .ERROR IF C-BIT IS SET
4158 005270 041620 BIC (SP),(R0)+ ; .SP POINTS TO BIT MASK
4159 005272 041610 BIC (SP),(R0) ; .R0 POINTS TO READ BLOCK
4160 005274 005740 TST -(R0) ; .NOW BACK THE POINTER UP
4161 005276 010501 MOV R5,R1 ; .GET THE SHIFT COUNT INTO R1
4162 005300 CALL KLLSHI ; .AND SHIFT IT
005300 004737 007760' JSR PC,KLLSHI
4163 005304 052023 BIS (R0)+,(R3)+ ; .SET THE BITS IN THE USER BUFFER
4164 005306 051013 BIS (R0),(R3) ; .SO
4165 005310 005743 TST -(R3) ; .BACK CALLER'S POINTER UP
4166 005312 122225 CMPB (R2)+,(R5)+ ; .INCREMENT READ NUMBER AND SHIFT COUNT
4167 005314 SOB R4,RVMRL1 ; .DO THIS FOUR TIMES
005314 005304 DEC R4
005316 001356 BNE RVMRL1
4168 005320 042763 177600 000002 BIC #177600,2(R3) ; .GET RID OF BITS HIGHER THAN 13
4169 005326 000241 CLC ; .CLEAR THE C-BIT
4170 005330 RDVMRX:
4171 005330 005226 INC (SP)+ ; CLEAR THE STACK
4172 005332 RETURN ; RETURN TO CALLER
005332 000207 RTS PC
4173 005334 RDVMRE:
4174 005334 ERROR$ IPE ; NO BUFFER ADDRESS
005334 012700 MOV (PC)+,R0 ; MOVE .RAD50 ERROR CODE TO R0
005336 035305 .RAD50 /IPE/ ; "IPE" ERROR CODE IN .RAD50
4175 005340 000261 SEC ; SET THE C-BIT
4176 005342 RETURN ; TO CALLER
005342 000207 RTS PC
4177
4178 ; TABLES FOR VMA BOARD READS
4179
4180 005344 PCTAB:
4181 005344 000150 .WORD FR.150/2 ; BASE READ FOR PC REGISTER
4182 005346 135673 .WORD 135673 ; BIT MASK " " "
4183 005350 177776 .WORD -^D2 ; SHIFT CNT " " "
4184 005352 ABTAB:
4185 005352 000150 .WORD FR.150/2 ; BASE READ FOR ADDRESS BREAK REGISTER
4186 005354 167356 .WORD 167356 ; BIT MASK " " " "
4187 005356 000000 .WORD 0 ; SHIFT CNT " " " "
4188 005360 VMATB:
4189 005360 000154 .WORD FR.154/2 ; BASE READ FOR VMA REGISTER
4190 005362 135673 .WORD 135673 ; BIT MASK " " "
4191 005364 177776 .WORD -^D2 ; SHIFT CNT " " "
4192 005366 VMHTB:
4193 005366 000154 .WORD FR.154/2 ; BASE READ FOR VMAH REGISTER
4194 005370 167356 .WORD 167356 ; BIT MASK " " "
4195 005372 000000 .WORD 0 ; SHIFT CNT " " "
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 141
*.RESET -- KL10 RESET SUBROUTINES* 7511.18
4197 .SBTTL *.RESET -- KL10 RESET SUBROUTINES* 7511.18
4198
4199 ;+
4200 ; .RESET -- SUBROUTINE TO RESET THE KL10.
4201 ; .RESTD -- SUBROUTINE TO RESET THE DTE20.
4202 ; .RESTI -- SUBROUTINE TO RESET THE KL10 AND SET UP NORMAL
4203 ; KL10 CLOCK ENABLES AND PARITY STOPS.
4204 ; .RESTP -- SUBROUTINE TO RESET THE KL10 AND RESTORE THE
4205 ; PREVIOUS KL10 PARITY STOPS.
4206 ;
4207 ; THESE SUBROUTINES PERFORM ALL DIAGNOSTIC FUNCTIONS REQUIRED TO RESET
4208 ; THE KL10 MICROPROCESSOR AND SET UP CLOCK ENABLES AND PARITY STOPS
4209 ; AS WELL AS ALL FUNCTIONS REQUIRED TO RESET THE DTE20.
4210 ;
4211 ; SEQUENCE OF OPERATION:
4212 ;
4213 ; .RESTI:
4214 ;
4215 ; (A) ".RESET" IS INVOKED,
4216 ; (B) NORMAL KL10 CLOCKS ARE ENABLED,
4217 ; (C) NORMAL KL10 PARITY STOPS ARE ENABLED.
4218 ;
4219 ; .RESTP:
4220 ;
4221 ; (A) ".RESET" IS INVOKED.
4222 ;
4223 ; .RESET:
4224 ;
4225 ; (A) THE DTE20 IS CLEARED,
4226 ; (B) THE MASTER RESET SUBROUTINE IS INVOKED,
4227 ; (C) THE MAJOR KL10 CONTROL REGISTERS ARE CLEARED
4228 ; (THIS IS A FULL KL10 MASTER RESET).
4229 ;
4230 ; .RESTD:
4231 ;
4232 ; (A) THE DTE20 IS CLEARED.
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 142
*.RESET -- KL10 RESET SUBROUTINES* 7511.18
4234 ; CALLING SEQUENCE IS:
4235 ;
4236 ; CALL .RESET ; RESET THE KL10
4237 ; BCS ERROR ; ERROR IF C-BIT IS SET
4238 ;
4239 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE,
4240 ; ALL OTHER REGISTERS ARE PRESERVED.
4241 ;
4242 ;
4243 ; ERROR CODES RETURNED:
4244 ;
4245 ; CCC -- CAN'T CLEAR KL10 CLOCK.
4246 ; CCS -- KL10 CLOCK CAN'T START.
4247 ; CSC -- CAN'T SYNCH KL10 CLOCK.
4248 ; DSF -- DTE20 STATUS FAILURE.
4249 ; FRF -- FUNCTION READ FAILED.
4250 ; FWF -- FUNCTION WRITE FAILED.
4251 ; FXF -- FUNCTION EXECUTE FAILED.
4252 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 143
*.RESET -- KL10 RESET SUBROUTINES* 7511.18
4254 005374 .RESET::
4255 005374 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
005374 004537 007214' JSR R5,REGSAV
4256 005400 CALL .RESTD ; RESET THE DTE20
005400 004737 005650' JSR PC,.RESTD
4257 005404 103437 BCS RESETX ; ERROR IF C-BIT IS SET
4258 005406 012705 005506' MOV #RESETT,R5 ; FUNCTION TABLE POINTER TO R5
4259 005412 CALL .STPXC ; STOP THE KL10 CLOCK
005412 004737 005734' JSR PC,.STPXC
4260 005416 103432 BCS RESETX ; ERROR IF C-BIT IS SET
4261 005420 012701 000212' MOV #CPTMP,R1 ; POINT TO TEMP BUFFER
4262 005424 005011 CLR (R1) ; CLEAR IT
4263 005426 CALL .LDCLK ; CLEAR THE CLOCKS OUT
005426 004737 003074' JSR PC,.LDCLK
4264 005432 103424 BCS RESETX ; ERROR IF C-BIT IS SET
4265 005434 CALL .LDPAR ; RESET THE PARITY REGISTERS
005434 004737 003112' JSR PC,.LDPAR
4266 005440 103421 BCS RESETX ; ERROR IF C-BIT IS SET
4267 005442 CALL .MRCLR ; DO MASTER RESET STUFF
005442 004737 003320' JSR PC,.MRCLR
4268 005446 103416 BCS RESETX ; ERROR IF C-BIT IS SET
4269 005450 CALL .CLDFB ; CLEAR THE FUNCTION BUFFERS
005450 004737 007130' JSR PC,.CLDFB
4270 005454 RESET1:
4271 005454 005001 CLR R1 ; CLEAR R1
4272 005456 112500 MOVB (R5)+,R0 ; FUNCTION WRITE CODE TO R0
4273 005460 CALL .FWRIT ; DO THE WRITE
005460 004737 006566' JSR PC,.FWRIT
4274 005464 103407 BCS RESETX ; ERROR IF C-BIT IS SET
4275 005466 022705 005514' CMP #RSTEND,R5 ; ARE WE CLOSE TO END?
4276 005472 101370 BHI RESET1 ; NOT YET
4277 005474 112510 MOVB (R5)+,(R0) ; DATA
4278 005476 111500 MOVB (R5),R0 ; FOR LAST WRITE
4279 005500 CALL .FWRIT ; DO IT
005500 004737 006566' JSR PC,.FWRIT
4280 005504 RESETX:
4281 005504 RETURN ; TO CALLER
005504 000207 RTS PC
4282
4283 ; TABLE OF FUNCTION WRITE CODES FOR RESET
4284
4285 005506 RESETT:
4286 005506 104 .BYTE FW.LBR ; CLEAR BURST COUNTER - RIGHT
4287 005507 106 .BYTE FW.LBL ; CLEAR BURST COUNTER - LEFT
4288 005510 124 .BYTE FW.CA2 ; CLEAR CRAM DIAG ADDR - LEFT
4289 005511 122 .BYTE FW.CA1 ; CLEAR CRAM DIAG ADDR - RIGHT
4290 005512 156 .BYTE FW.KLO ; ENABLE KL10 OPCODES
4291 005513 174 .BYTE FW.EBL ; EBUS LOAD
4292 005514' RSTEND=.
4293 005514 012 .BYTE 12 ; DATA FOR
4294 005515 162 .BYTE FW.MBX ; MBOX CONTROL
4295 .EVEN
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 144
*.RSETI -- RESET KL10 AND ENABLE NORMAL CLOCK AND PARITY* 7511
4297 .SBTTL *.RSETI -- RESET KL10 AND ENABLE NORMAL CLOCK AND PARITY* 7511.19
4298
4299 ; HERE TO RESET THE KL10 AND SET UP NORMAL CLOCKS AND PARITY STOPS
4300
4301 005516 .RESTI::
4302 005516 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
005516 004537 007214' JSR R5,REGSAV
4303 005522 CALL .RESET ; RESET THE KL10
005522 004737 005374' JSR PC,.RESET
4304 005526 103411 BCS RESTIX ; ERROR IF C-BIT IS SET
4305 005530 012701 000210' MOV #CLKNRM,R1 ; POINT TO NORMAL CLOCK ENABLES
4306 005534 CALL .LDCLK ; SET THEM
005534 004737 003074' JSR PC,.LDCLK
4307 005540 103404 BCS RESTIX ; ERROR IF C-BIT IS SET
4308 005542 012701 000216' MOV #PARNRM,R1 ; POINT TO NORMAL PARITY ENABLES
4309 005546 CALL .LDPAR ; SET THEM
005546 004737 003112' JSR PC,.LDPAR
4310 005552 RESTIX:
4311 005552 RETURN ; TO CALLER
005552 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 145
*.RESTP -- RESET KL10 AND SAVE CURRENT CLOCK AND PARITY* 7511.
4313 .SBTTL *.RESTP -- RESET KL10 AND SAVE CURRENT CLOCK AND PARITY* 7511.19
4314
4315 ; HERE TO RESET THE KL10 AND RESTORE CURRENT PARITY STOPS
4316
4317 005554 .RESTP::
4318 005554 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
005554 004537 007214' JSR R5,REGSAV
4319 005560 CALL .STPXC ; STOP THE KL10 CLOCK
005560 004737 005734' JSR PC,.STPXC
4320 005564 103430 BCS RESTPE ; ERROR IF C-BIT IS SET
4321 005566 CALL .RDCPP ; READ CURRENT CLOCK AND PARITY ENABLES
005566 004737 003646' JSR PC,.RDCPP
4322 005572 103425 BCS RESTPE ; ERROR IF C-BIT IS SET
4323 005574 PUSH <.PSCWD,.CLKWD> ; SAVE CURRENT CLOCK AND PARITY CONTROL
005574 013746 000204' MOV .PSCWD,-(SP)
005600 013746 000200' MOV .CLKWD,-(SP)
4324 005604 CALL .RESET ; ..DO A MASTER RESET
005604 004737 005374' JSR PC,.RESET
4325 005610 103414 BCS RESTPX ; ..ERROR IF C-BIT IS SET
4326 005612 012701 000212' MOV #CPTMP,R1 ; ..POINT TO CLOCK AND PARITY WORD
4327 005616 011637 000212' MOV (SP),CPTMP ; ..GET THE CLOCK WORD OFF THE STACK
4328 005622 CALL .LDCLK ; ..RELOAD THE CLOCK REGISTERS
005622 004737 003074' JSR PC,.LDCLK
4329 005626 103405 BCS RESTPX ; ..ERROR IF C-BIT IS SET
4330 005630 016637 000002 000212' MOV 2(SP),CPTMP ; ..NOW THE PARITY WORD
4331 005636 CALL .LDPAR ; ..RELOAD THE PARITY ENABLES
005636 004737 003112' JSR PC,.LDPAR
4332 005642 RESTPX:
4333 005642 005226 INC (SP)+ ; .FIX UP THE STACK
4334 005644 005226 INC (SP)+ ; FOR THE RETURN
4335 005646 RESTPE:
4336 005646 RETURN ; AND GO AWAY
005646 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 146
*.RESTD -- RESET THE DTE-20* 7511.19
4338 .SBTTL *.RESTD -- RESET THE DTE-20* 7511.19
4339
4340 ; HERE TO RESET THE DTE20
4341
4342 005650 .RESTD::
4343 .IF EQ $RSXSW
4344 MOV D2RST,@#174432
4345 ; MOV STRST,@#174434
4346 MOV D3RST,@#174436
4347 .IFF
4348 005650 012700 005674' MOV #D2RST,R0 ; DIAG WORD 2 RESET
4349 005654 CALL .DWDW2 ; WRITE IT
005654 004737 000430' JSR PC,.DWDW2
4350 005660 103404 BCS RESTDX ; ERROR IF C-BIT IS SET
4351 ; MOV #STRST,R0 ; CLEAR THE STATUS WORD
4352 ; CALL .DWSTA ; DO IT
4353 ; BCS RESTDX ; ERROR IF C-BIT IS SET
4354 005662 012700 005676' MOV #D3RST,R0 ; DIAG WORD 3 RESET
4355 005666 CALL .DWDW3 ; WRITE IT
005666 004737 000450' JSR PC,.DWDW3
4356 .IFTF
4357 005672 RESTDX:
4358 005672 RETURN ; TO CALLER
005672 000207 RTS PC
4359 005674 D2RST:
4360 005674 000100 .WORD D2.RST ; DIAG WORD 2 RESET
4361 ;STRST:
4362 ; .WORD ST.RST ; STATUS RESET
4363 005676 D3RST:
4364 005676 000001 .WORD D3.RST ; DIAG WORD 3 RESET
4365
4366 .ENDC ; ON $RSXSW
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 147
*.STCLK -- START KL10 CLOCK SUBROUTINE* 7509.12
4368 .SBTTL *.STCLK -- START KL10 CLOCK SUBROUTINE* 7509.12
4369
4370 ;+
4371 ; .STCLK -- SUBROUTINE TO START THE KL10 CLOCK.
4372 ;
4373 ; THIS SUBROUTINE WILL START THE KL10 CLOCK.
4374 ;
4375 ; CALLING SEQUENCE IS:
4376 ;
4377 ; CALL .STCLK ; START THE KL10 CLOCK
4378 ; BCS ERROR ; ERROR IF C-BIT IS SET
4379 ;
4380 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, ALL OTHER REGISTERS
4381 ; ARE PRESERVED ACROSS THE CALL.
4382 ;
4383 ; ERROR CODES RETURNED:
4384 ;
4385 ; CES -- CLOCK ERROR STOP.
4386 ; CCS -- KL10 CLOCK CAN'T START.
4387 ;-
4388
4389 005700 .STCLK::
4390 005700 000241 CLC ; CLEAR THE C-BIT
4391 005702 CALL .CESCK ; CHECK FOR CLOCK ERROR STOP
005702 004737 000300' JSR PC,.CESCK
4392 005706 103411 BCS STRCEX ; ERROR IF C-BIT SET
4393 005710 PUSH R0 ; SAVE R0
005710 010046 MOV R0,-(SP)
4394 005712 012700 000002 MOV #FX.CST,R0 ; .SET UP TO START THE KL10 CLOCK
4395 005716 CALL .FXCT ; .DO IT
005716 004737 006666' JSR PC,.FXCT
4396 005722 103002 BCC STRCXX ; .ALL OK IF C-BIT IS CLEAR
4397 005724 ERROR$ CCS,(SP) ; .CLOCK CAN'T START
005724 012716 MOV (PC)+,(SP) ; MOVE .RAD50 ERROR CODE TO (SP)
005726 011513 .RAD50 /CCS/ ; "CCS" ERROR CODE IN .RAD50
4398 005730 STRCXX:
4399 005730 POP R0 ; RESTORE R0
005730 012600 MOV (SP)+,R0
4400 005732 STRCEX:
4401 005732 RETURN ; RETURN TO CALLER
005732 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 148
*.STPXC -- STOP KL10 CLOCK SUBROUTINE* 7601.09
4403 .SBTTL *.STPXC -- STOP KL10 CLOCK SUBROUTINE* 7601.09
4404
4405 ;+
4406 ; .STPXC -- SUBROUTINE TO STOP THE KL10 CLOCK.
4407 ;
4408 ; THIS SUBROUTINE STOPS THE KL10 CLOCK.
4409 ;
4410 ; CALLING SEQUENCE IS:
4411 ;
4412 ; CALL .SPTXC ; STOP THE KL10 CLOCK
4413 ; BCS ERROR ; ERROR IF C-BIT IS SET
4414 ;
4415 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, ALL OTHER REGISTERS
4416 ; ARE PRESERVED ACCROSS THE CALL.
4417 ;
4418 ; ERROR CODES RETURNED:
4419 ;
4420 ; CCC -- CAN'T CLEAR KL10 CLOCK.
4421 ;-
4422
4423 005734 .STPXC::
4424 005734 000241 CLC ; CLEAR THE C-BIT
4425 005736 WTSE$S #CF.HTO ; WAIT FOR KL10 I/O TO SETTLE FROM ".CLRFF"
005736 012746 000001 MOV #CF.HTO,-(SP)
005742 012746 MOV (PC)+,-(SP)
005744 051 002 .BYTE 41.,2
005746 104375 EMT 375
4426 005750 PUSH R0 ; SAVE R0
005750 010046 MOV R0,-(SP)
4427 005752 005000 CLR R0 ; .SET UP TO STOP THE KL10 CLOCK
4428 ; .FUNCTION CODE IS ZERO
4429 005754 CALL .FXCT ; .DO IT
005754 004737 006666' JSR PC,.FXCT
4430 005760 103002 BCC STPCXX ; .ALL OK IF C-BIT IS CLEAR
4431 005762 STPXCX:
4432 005762 ERROR$ CCC,(SP) ; .CAN'T CLEAR CLOCK
005762 012716 MOV (PC)+,(SP) ; MOVE .RAD50 ERROR CODE TO (SP)
005764 011473 .RAD50 /CCC/ ; "CCC" ERROR CODE IN .RAD50
4433 005766 STPCXX:
4434 005766 POP R0 ; RESTORE R0
005766 012600 MOV (SP)+,R0
4435 005770 RETURN ; AND GO AWAY
005770 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 149
*.STRUN -- SET KL10 RUN FLOP SUBROUTINE* 7601.09
4437 .SBTTL *.STRUN -- SET KL10 RUN FLOP SUBROUTINE* 7601.09
4438
4439 ;+
4440 ; .STRUN -- SUBROUTINE TO SET THE KL10 RUN FLOP.
4441 ;
4442 ; THIS SUBROUTINE SETS THE KL10 RUN FLOP.
4443 ;
4444 ; CALLING SEQUENCE IS:
4445 ;
4446 ; CALL .STRUN ; SET THE KL10 RUN FLOP
4447 ; BCS ERROR ; ERROR IF C-BIT IS SET
4448 ;
4449 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, ALL OTHER REGISTERS
4450 ; ARE PRESERVED ACROSS THE CALL.
4451 ;
4452 ; ERROR CODES RETURNED:
4453 ;
4454 ; CSR -- CAN'T SET KL10 RUN FLOP.
4455 ;-
4456
4457 005772 .STRUN::
4458 005772 000241 CLC ; CLEAR THE C-BIT
4459 005774 PUSH R0 ; SAVE R0
005774 010046 MOV R0,-(SP)
4460 005776 012700 000022 MOV #FX.SRF,R0 ; .SET UP TO SET KL10 RUN FLOP
4461 006002 CALL .FXCT ; .DO IT
006002 004737 006666' JSR PC,.FXCT
4462 006006 103002 BCC STRFEX ; .ALL OK IF C-BIT IS CLEAR
4463 006010 STRUNX:
4464 006010 ERROR$ CSR,(SP) ; .CAN'T SET RUN
006010 012716 MOV (PC)+,(SP) ; MOVE .RAD50 ERROR CODE TO (SP)
006012 012712 .RAD50 /CSR/ ; "CSR" ERROR CODE IN .RAD50
4465 006014 STRFEX:
4466 006014 POP R0 ; RESTORE R0
006014 012600 MOV (SP)+,R0
4467 006016 RETURN
006016 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 150
*.STUCD -- START KL10 MICROCODE SUBROUTINE* 7511.22
4469 .SBTTL *.STUCD -- START KL10 MICROCODE SUBROUTINE* 7511.22
4470
4471 ;+
4472 ; .STUCD -- SUBROUTINE TO START THE KL10 MICROCODE AT THE
4473 ; ADDRESS SPECIFIED IN R0.
4474 ;
4475 ; SEQUENCE OF OPERATION:
4476 ;
4477 ; (A) THE KL10 RUN FLOP IS CLEARED,
4478 ; (B) THE KL10 RUN FLOP IS TURNED OFF,
4479 ; (C) THE KL10 IS CLEARED,
4480 ; (D) THE CRAM ADDRESS IS LOADED,
4481 ; (E) THE KL10 CLOCK IS RESTARTED.
4482 ;
4483 ; THE SUBROUTINE EXITS WHEN THE KL10 HAS FOUND THE HALT LOOP.
4484 ; IF THE HALT LOOP IS NOT FOUND, AN ERROR RETURN IS GIVEN.
4485 ;
4486 ; CALLING SEQUENCE IS:
4487 ;
4488 ; MOV #ADDR,R0 ; CRAM ADDRESS TO R0
4489 ; CALL .STUCD ; START THE MICROCODE AT ADDRESS
4490 ; BCS ERROR ; ERROR IF C-BIT IS SET
4491 ;
4492 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE R0 IS
4493 ; CLOBBERED AND ALL OTHER REGISTERS UNCHANGED.
4494 ;
4495 ; ERROR CODES RETURNED:
4496 ;
4497 ; CAE -- CRAM ADDRESS ERROR.
4498 ; CCR -- CAN'T CLEAR KL10 RUN FLOP.
4499 ; CSR -- CAN'T SET KL10 RUN FLOP.
4500 ; FRF -- FUNCTION READ FAILED.
4501 ; FWF -- FUNCTION WRITE FAILED.
4502 ; FXF -- FUNCTION EXECUTE FAILED
4503 ; UNL -- UCODE NOT LOADED.
4504 ;
4505 ; NOTE:
4506 ;
4507 ; THE NORMAL CRAM STARTING ADDRESS IS 0. ATTEMPTING TO
4508 ; START THE CONTROL RAM AT AN ADDRESS OTHER THAN 0 CAN
4509 ; PRODUCE STRANGE RESULTS. CAVEAT PROGRAMMATOR (OPERATOR).
4510 ; CONSIDER YOURSELF WARNED.
4511 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 151
*.STUCD -- START KL10 MICROCODE SUBROUTINE* 7511.22
4513 006020 .STUCD::
4514 006020 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
006020 004537 007214' JSR R5,REGSAV
4515 006024 020027 002377 CMP R0,#2377 ; IS IT IN RANGE?
4516 006030 101050 BHI STUCAE ; BRANCH IF NOT
4517 006032 PUSH R0 ; SAVE THE ADDRESS ON THE STACK
006032 010046 MOV R0,-(SP)
4518 006034 042737 000200 000000G BIC #KF.UCS,.KLFLG ; .CLEAR THE UCODE STARTED FLAG
4519 006042 CALL .CLRFF ; .CLEAR THE KL10 RUN FLOP
006042 004737 000366' JSR PC,.CLRFF
4520 006046 103437 BCS STUCDX ; .ERROR IF C-BIT IS SET
4521 006050 CALL .STPXC ; .STOP THE KL10 CLOCK
006050 004737 005734' JSR PC,.STPXC
4522 006054 103434 BCS STUCDX ; .ERROR IF C-BIT IS SET
4523 006056 011600 MOV (SP),R0 ; .CRAM ADDRESS TO R0
4524 006060 CALL .LDCRA ; .LOAD IT
006060 004737 003200' JSR PC,.LDCRA
4525 006064 103430 BCS STUCDX ; .ERROR IF C-BIT IS SET
4526 006066 CALL .STCLK ; .START THE KL10 CLOCK
006066 004737 005700' JSR PC,.STCLK
4527 006072 103425 BCS STUCDX ; .ERROR IF C-BIT IS SET
4528 006074 012701 000310 MOV #^D200,R1 ; .SETUP WAIT LOOP
4529 006100 STUCD1:
4530 006100 CALL .DTDW1 ; .READ DTE20 DIAG WORD 1
006100 004737 000476' JSR PC,.DTDW1
4531 006104 103002 BCC STUCD3 ; .ALL OK IF C-BIT IS CLEAR
4532 006106 010016 MOV R0,(SP) ; .ERROR CODE TO CALLER'S R0
4533 006110 000416 BR STUCDX ; .LEAVE
4534 006112 STUCD3:
4535 006112 032700 001000 BIT #D1.HLP,R0 ; .ARE WE IN THE HALT LOOP?
4536 006116 001002 BNE STUCD2 ; .YES, EXIT
4537 006120 SOB R1,STUCD1 ; .NO TRY TILL COUNT EXHAUSTED
006120 005301 DEC R1
006122 001366 BNE STUCD1
4538 006124 STUCD2:
4539 006124 005701 TST R1 ; .DID COUNT GET EXHAUSTED?
4540 006126 101004 BHI STUCEX ; .NO, WE WON
4541 006130 ERROR$ UNL,(SP) ; .UCODE NOT LOADED
006130 012716 MOV (PC)+,(SP) ; MOVE .RAD50 ERROR CODE TO (SP)
006132 102574 .RAD50 /UNL/ ; "UNL" ERROR CODE IN .RAD50
4542 006134 000261 SEC ; .SET THE C-BIT
4543 006136 000403 BR STUCDX ; .LEAVE
4544 006140 STUCEX:
4545 006140 052737 000200 000000G BIS #KF.UCS,.KLFLG ; .SET THE UCODE STARTED FLAG
4546 006146 STUCDX:
4547 006146 POP R0 ; RESTORE R0
006146 012600 MOV (SP)+,R0
4548 006150 RETURN ; TO CALLER
006150 000207 RTS PC
4549 006152 STUCAE:
4550 006152 000137 004064' JMP RDCRME ; LET THE READ ROUTINE HANDLE ERROR
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 152
*.SYNXC -- SYNCH EBOX CLOCK SUBROUTINE* 7509.03
4552 .SBTTL *.SYNXC -- SYNCH EBOX CLOCK SUBROUTINE* 7509.03
4553
4554 ;+
4555 ; .SYNXC -- SUBROUTINE TO SYNCH THE EBOX CLOCK LOW.
4556 ;
4557 ; THIS SUBROUTINE SYNCHS THE KL10 EBOX CLOCK LOW AND MAINTAINS
4558 ; THE CLOCK SYNCHED FLAG ("KF.EMS") IN ".KLFLG".
4559 ;
4560 ; CALLING SEQUENCE IS:
4561 ;
4562 ; CALL .SYNXC ; SYNCH THE EBOX CLOCK
4563 ; BCS ERROR ; ERROR IF C-BIT IS SET
4564 ;
4565 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, ALL OTHER REGISTERS
4566 ; ARE PRESERVED ACROSS THE CALL.
4567 ;
4568 ; ERROR CODES RETURNED:
4569 ;
4570 ; CSC -- CAN'T SYNCH KL10 CLOCK.
4571 ;-
4572
4573 006156 .SYNXC::
4574 006156 000241 CLC ; CLEAR THE C-BIT
4575 006160 PUSH R0 ; SAVE R0
006160 010046 MOV R0,-(SP)
4576 006162 012700 000010 MOV #FX.SYC,R0 ; .SET UP TO SYNCH EBOX CLOCK
4577 006166 CALL .FXCT ; .DO IT
006166 004737 006666' JSR PC,.FXCT
4578 006172 103404 BCS SYNXCX ; .ERROR IF C-BIT IS SET
4579 006174 052737 040000 000000G BIS #KF.EMS,.KLFLG ; .SET THE FLAG
4580 006202 000402 BR SYNCEX ; .AND EXIT
4581 006204 SYNXCX:
4582 006204 ERROR$ CSC,(SP) ; .CAN'T SYNCH CLOCK
006204 012716 MOV (PC)+,(SP) ; MOVE .RAD50 ERROR CODE TO (SP)
006206 012673 .RAD50 /CSC/ ; "CSC" ERROR CODE IN .RAD50
4583 006210 SYNCEX:
4584 006210 POP R0 ; RESTORE R0
006210 012600 MOV (SP)+,R0
4585 006212 SYNCXX:
4586 006212 RETURN
006212 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 153
*.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE* 7512.09
4588 .SBTTL *.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE* 7512.09
4589
4590 ;+
4591 ; .FRTRK -- SUBROUTINE TO TRACK A FUNCTION READ.
4592 ; .FWTRK -- SUBROUTINE TO TRACK A FUNCTION WRITE.
4593 ; .FXTRK -- SUBROUTINE TO TRACK A FUNCTION EXECUTE.
4594 ;
4595 ; THESE SUBROUTINES TRACK A FUNCTION READ, WRITE, OR EXECUTE
4596 ; BY DISPLAYING THE FUNCTION CODE AND THE CONTENT OF THE BUFFER
4597 ; ON THE FRONT END OUTPUT DEVICE.
4598 ;
4599 ; THESE SUBROUTINES ARE CALLED INTERNALLY AND ARE DEPENDENT UPON THE
4600 ; STATE OF THE SWITCHES IN ".TRKWD".
4601 ;
4602 ; THE ".TRKWD" SWITCHES ARE TURNED ON OR OFF BY THE "SET" AND
4603 ; "CLEAR TRACK" COMMANDS, RESPECTIVELY.
4604 ;
4605 ; NO REGISTERS ARE ALTERED BY THESE SUBROUTINES.
4606 ;
4607 ; ERROR CODES RETURNED:
4608 ;
4609 ; KLN -- KL10 NUMBER OUT OF RANGE.
4610 ;-
4611
4612 006214 .FRTRK::
4613 006214 PUSH R0 ; SAVE R0 ON THE STACK
006214 010046 MOV R0,-(SP)
4614 006216 PUSH .KLDFR+2 ; .SAVE THE FR CODE TOO
006216 013746 007266' MOV .KLDFR+2,-(SP)
4615 006222 PUSH #.DFRB ; ..AND THE BUFFER ADDRESS
006222 012746 000040' MOV #.DFRB,-(SP)
4616 006226 012700 006366' MOV #TFRMSG,R0 ; ...MESSAGE POINTER TO R0
4617 006232 000416 BR .TRACK ; ...DO THE TRACKING
4618 006234 .FWTRK::
4619 006234 PUSH R0 ; SAVE R0 ON THE STACK
006234 010046 MOV R0,-(SP)
4620 006236 PUSH .KLDFW+2 ; .SAVE THE FW CODE
006236 013746 007300' MOV .KLDFW+2,-(SP)
4621 006242 PUSH #.DFWB ; ..AND THE BUFFER ADDRESS
006242 012746 000032' MOV #.DFWB,-(SP)
4622 006246 012700 006403' MOV #TFWMSG,R0 ; ...MESSAGE POINTER TO R0
4623 006252 000406 BR .TRACK ; ...GO TRACK IT
4624 006254 .FXTRK::
4625 006254 PUSH R0 ; SAVE R0 ON THE STACK
006254 010046 MOV R0,-(SP)
4626 006256 PUSH .KLDFX+2 ; .SAVE THE FX CODE
006256 013746 007254' MOV .KLDFX+2,-(SP)
4627 006262 005046 CLR -(SP) ; ..NO BUFFER ADDRESS
4628 006264 012700 006420' MOV #TFXMSG,R0 ; ...MESSAGE POINTER TO R0
4629 ; ...AND FALL INTO COMMON CODE
4630
4631 ; [CONTINUED ON NEXT PAGE]
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 154
*.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE* 7512.09
4633 ; THIS IS THE COMMON TRACKING CODE CONTINUED FROM PREVIOUS PAGE
4634
4635 006270 .TRACK::
4636 006270 012737 177777 011706' MOV #-^D1,.LDZER ; ...PRINT LEADING ZEROES
4637 006276 CALL TYPASZ ; ...PRINT THE MESSAGE
006276 004737 016540' JSR PC,TYPASZ
4638 006302 016600 000002 MOV 2(SP),R0 ; ...GET THE FUNCTION CODE
4639 006306 000300 SWAB R0 ; ...SWAP THE BYTES
4640 006310 042700 177400 BIC #177400,R0 ; ...FLUSH JUNK FROM HIGH BYTE
4641 006314 006200 ASR R0 ; ...DIVIDE IT BY 2
4642 006316 CALL TY3D ; ...TYPE THAT
006316 004737 015626' JSR PC,TY3D
4643 006322 011600 MOV (SP),R0 ; ...BUFFER ADDRESS?
4644 006324 001407 BEQ TRACKX ; ...BRANCH IF NOT
4645 006326 CALL TYPSLS ; ...ELSE TYPE A SLASH AND
006326 004737 016524' JSR PC,TYPSLS
4646 006332 CALL TYPTAB ; ...TYPE A <TAB> AND
006332 004737 016516' JSR PC,TYPTAB
4647 006336 CALL KLNTYP ; ...TYPE ITS CONTENT
006336 004737 016540' JSR PC,KLNTYP
4648 006342 103406 BCS TRACKQ ; ...ERROR IF C-BIT IS SET
4649 006344 TRACKX:
4650 006344 CALL TYCRLF ; ...NOW A <CRLF>
006344 004737 016500' JSR PC,TYCRLF
4651 006350 022626 CMP (SP)+,(SP)+ ; .GET RID OF BUFFER POINTER AND CODE
4652 006352 POP R0 ; RESTORE R0
006352 012600 MOV (SP)+,R0
4653 006354 000241 CLC ; CLEAR THE C-BIT
4654 006356 RETURN ; AND GO AWAY
006356 000207 RTS PC
4655 006360 TRACKQ:
4656 006360 022626 CMP (SP)+,(SP)+ ; .GET RID OF BUFFER POINTER AND CODE
4657 006362 POP R0 ; RESTORE R0
006362 012600 MOV (SP)+,R0
4658 006364 RETURN ; AND GO AWAY
006364 000207 RTS PC
4659 006366 TFRMSG:
4660 006366 011 124 122 .ASCIZ % TRACK > FR %
006371 101 103 113
006374 040 076 040
006377 106 122 040
006402 000
4661 006403 TFWMSG:
4662 006403 011 124 122 .ASCIZ % TRACK > FW %
006406 101 103 113
006411 040 076 040
006414 106 127 040
006417 000
4663 006420 TFXMSG:
4664 006420 011 124 122 .ASCIZ % TRACK > FX %
006423 101 103 113
006426 040 076 040
006431 106 130 040
006434 000
4665 .EVEN
4666
4667 .IF NE $RAMSW
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 155
*.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE* 7512.09
4669 .SBTTL *.WRCRM -- WRITE CONTROL RAM SUBROUTINE* 7511.03
4670
4671 ;+
4672 ; .WRCRM -- SUBROUTINE TO WRITE A LOCATION IN THE KL10 CONTROL RAM.
4673 ;
4674 ; THIS SUBROUTINE WILL WRITE ONE LOCATION IN THE KL10 CONTROL RAM.
4675 ; THE CRAM ADDRESS TO BE WRITTEN IS SPECIFIED IN R0.
4676 ;
4677 ; SEQUENCE OF OPERATION:
4678 ;
4679 ; (A) THE KL10 IS HALTED IN THE HALT LOOP,
4680 ; (B) THE CONTROL RAM ADDRESS IS LOADED,
4681 ; (C) THE CONTENT OF THAT CRAM ADDRESS IS WRITTEN.
4682 ;
4683 ; CALLING SEQUENCE IS:
4684 ;
4685 ; MOV #ADDR,R0 ; CRAM ADDRESS TO R0
4686 ; MOV #BUFADR,R1 ; BUFFER ADDRESS TO R1
4687 ; CALL .WRCRM ; WRITE THE CRAM
4688 ; BCS ERROR ; ERROR IF C-BIT IS SET
4689 ;
4690 ; R0 MUST CONTAIN THE CRAM ADDRESS TO BE WRITTEN.
4691 ; R1 MUST POINT TO A NINE WORD BLOCK TO BE WRITTEN.
4692 ;
4693 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, ALL OTHER
4694 ; REGISTERS ARE UNCHANGED.
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 156
*.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE* 7512.09
4696 ; THE FOLLOWING IS A PICTURE OF THRE DATA WRITTEN BY THIS SUBROUTINE:
4697 ;
4698 ; WORD CRAM DATA
4699 ; ---- ---------
4700 ; !==================================!
4701 ; 00 ! CRAM BITS 68 THRU 78 !
4702 ; !----------------------------------!
4703 ; 01 ! CRAM BITS 60 THRU 66 !
4704 ; !----------------------------------!
4705 ; 02 ! CRAM BITS 48 THRU 59 !
4706 ; !----------------------------------!
4707 ; 03 ! CRAM BITS 40 THRU 47 !
4708 ; !----------------------------------!
4709 ; 04 ! CRAM BITS 28 THRU 39 !
4710 ; !----------------------------------!
4711 ; 05 ! CRAM BITS 20 THRU 27 !
4712 ; !----------------------------------!
4713 ; 06 ! CRAM BITS 08 THRU 19 !
4714 ; !----------------------------------!
4715 ; 07 ! CRAM BITS 00 THRU 07 !
4716 ; !----------------------------------!
4717 ; 08 ! CRAM DISP BITS 00 THRU 04 !
4718 ; !==================================!
4719 ;
4720 ; ERROR CODES RETURNED:
4721 ;
4722 ; CAE -- CRAM ADDRESS ERROR.
4723 ; CCC -- CAN'T CLEAR KL10 CLOCK.
4724 ; CCR -- CAN'T CLEAR KL10 RUN FLOP.
4725 ; CSC -- CAN'T SYNCH KL10 CLOCK.
4726 ; FRF -- FUNCTION READ FAILED.
4727 ; FWF -- FUNCTION WRITE FAILED.
4728 ; FXF -- FUNCTION EXECUTE FAILED.
4729 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 157
*.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE* 7512.09
4731 .WRCRM::
4732 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
4733 CMP R0,#2377 ; IS THE ADDRESS IN RANGE?
4734 BHI WRCRME ; BRANCH IF NOT
4735 PUSH R0 ; R0 TOO
4736 MOV R1,R2 ; .CALLER'S POINTER TO R2
4737 MOV #FW.CR4,R5 ; .BASE WRITE TO R5
4738 MOV (SP),R0 ; .GET CRAM ADDRESS FROM THE STACK
4739 CALL .LDCRA ; .LOAD IT
4740 BCS WRCRMX ; .ERROR IF C-BIT IS SET
4741 MOV #^D4,R3 ; .USE R3 AS A COUNTER
4742 MOV #.DFWB,R0 ; .POINT TO THE WRITE BUFFER
4743 CALL KLCLR ; .CLEAR THE WRITE BUFFER
4744 WRCRM1:
4745 MOV (R2)+,(R0)+ ; .LOAD OUR BUFFER FROM CALLER'S
4746 MOV (R2)+,(R0)+ ; .
4747 CLR (R0) ; .
4748 CLR R1 ; .CLEAR R1
4749 MOV R5,R0 ; .PASS THE FWRITE CODE
4750 CALL .FWRIT ; .DO IT
4751 BCS WRCRMX ; .ERROR IF C-BIT IS SET
4752 TST (R5)+ ; .INCREMENT THE FWRITE CODE
4753 SOB R3,WRCRM1 ; .LOOP TILL DONE
4754 MOV (R2),(R0) ; .LOAD THE CRAM DISP BITS
4755 MOV #^D30,R1 ; .SHIFT COUNT
4756 CALL KLLSHI ; .SHIFT IT
4757 CLR R1 ; .CLEAR R1
4758 MOV #FW.CRD,R0 ; .WRITE CODE
4759 CALL .FWRIT ; .WRITE IT
4760 CALL .CLDFW ; .CLEAR THE FUNCTION WRITE BUFFER
4761 CLR R1 ; .CLEAR R1
4762 MOV #FW.CA1,R0 ; .CLEAR CRAM DIAG ADDR
4763 CALL .FWRIT ; .SO
4764 BCS WRCRMX ; .ERROR IF C-BIT SET
4765 MOV #FW.CA2,R0 ; .NOW FOR THE OTHER HALF
4766 CALL .FWRIT ; .SO
4767 WRCRMX:
4768 INC (SP)+ ; CLEAR THE STACK
4769 RETURN ; TO CALLER
4770 WRCRME:
4771 JMP RDCRME ; LET THE READ ROUTINE HANDLE THE ERROR
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 158
*.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE* 7512.09
4773 .SBTTL *.WRDRM -- SUBROUTINE TO WRITE THE KL10 DISPATCH RAM* 7510.31
4774
4775 ;+
4776 ; .WRDRM -- SUBROUTINE TO WRITE THE KL10 DISPATCH RAM.
4777 ;
4778 ; THIS SUBROUTINE WILL WRITE A PAIR OF LOCATIONS IN THE KL10 DRAM.
4779 ;
4780 ; SEQUENCE OF OPERATION:
4781 ;
4782 ; (A) THE (EVEN) DISPATCH RAM ADDRESS IS LOADED,
4783 ; (B) THE DATA IS WRITTEN INTO THE DRAM,
4784 ; (C) KL10 OPCODES ARE REENABLED (TURNED OFF BY ADDRESS LOAD).
4785 ;
4786 ; CALLING SEQUENCE IS:
4787 ;
4788 ; MOV #ADR,R0 ; DRAM ADDRESS TO R0
4789 ; MOV #PNTR,R1 ; DATA POINTER TO R1
4790 ; CALL .WRDRM ; WRITE IT
4791 ; BCS ERROR ; ERROR IF C-BIT IS SET
4792 ;
4793 ; R1 MUST POINT TO A SIX BYTE DATA BLOCK OF THIS FORMAT:
4794 ;
4795 ; !===============================!
4796 ; 00 ! DRAM A + B EVEN !
4797 ; !-------------------------------!
4798 ; 01 ! DRAM J 1 - 4 EVEN !
4799 ; !-------------------------------!
4800 ; 02 ! DRAM J 7 - 10 + PAR EVEN !
4801 ; !-------------------------------!
4802 ; 03 ! DRAM A + B ODD !
4803 ; !-------------------------------!
4804 ; 04 ! DRAM J 1 - 4 ODD !
4805 ; !-------------------------------!
4806 ; 05 ! DRAM J 7 - 10 + PAR ODD !
4807 ; !===============================!
4808 ;
4809 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE, NO
4810 ; REGISTERS ARE ALTERED BY THIS SUBROUTINE.
4811 ;
4812 ; ERROR CODES RETURNED:
4813 ;
4814 ; CCC -- CAN'T CLEAR KL10 CLOCK.
4815 ; CCR -- CAN'T CLEAR KL10 RUN FLOP.
4816 ; CSC -- CAN'T SYNCH KL10 CLOCK.
4817 ; DAE -- KL10 DRAM ADDRESS ERROR.
4818 ; FRF -- FUNCTION READ FAILED.
4819 ; FWF -- FUNCTION WRITE FAILED.
4820 ; FXF -- FUNCTION EXECUTE FAILED.
4821 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 159
*.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE* 7512.09
4823 .WRDRM::
4824 CALL R5,REGSAV ; SAVE R1 - R5 ON THE STACK
4825 PUSH R0 ; SAVE THE ADDRESS ON THE STACK
4826 BIT #177001,R0 ; .IS THE ADDRESS OK??
4827 BNE WDRAMA ; .BRANCH IF NOT SO
4828 MOV R1,R2 ; .CALLER'S POINTER TO R2
4829 MOV #WRDRMT,R3 ; .TABLE POINTER TO R3
4830 CALL .LDRAD ; .LOAD THE DRAM ADDRESS
4831 BCS WRDRMX ; .ERROR IF C-BIT IS SET
4832 MOV #.DFWB,R0 ; .CLEAR THE BUFFER
4833 CALL KLCLR ; .DO IT
4834 WRDRM1:
4835 MOVB (R3)+,R4 ; .GET WORD OFFSET INTO R4
4836 ADD R2,R4 ; .CREATE A POINTER IN R4
4837 MOVB (R4),R1 ; .GET THE BYTE IN R1
4838 ASLB R1 ; .TIMES 4
4839 ASLB R1 ; .
4840 MOV R1,2(R0) ; .PUT IT INTO WRITE BUFFER
4841 CLR R1 ; .CLEAR R1
4842 MOVB (R3)+,R0 ; .WRITE CODE TO R0
4843 CALL .FWRIT ; .WRITE IT
4844 BCS WRDRMX ; .ERROR IF C-BIT IS SET
4845 CMP #WDRMTE,R3 ; .ARE WE DONE??
4846 BNE WRDRM1 ; .BRANCH IF NOT
4847 CLR 2(R0) ; .CLEAR THE BUFFER WORD
4848 MOV #FW.KLO,R0 ; .REENABLE KL10 OPCODES
4849 CALL .FWRIT ; .DO IT
4850 BCS WRDRMX ; .ERROR IF C-BIT IS SET
4851 BIS #KF.KLO,.KLFLG ; .SET THE FLAG BIT
4852 MOV (SP),R0 ; .RESTORE R0
4853 WRDRMX:
4854 INC (SP)+ ; CLEAR THE STACK
4855 RETURN ; TO CALLER
4856 WDRAMA:
4857 JMP RDRAER ; .LET READ SUBROUTINE HANDLE ERROR
4858
4859 WRDRMT: ; TABLE OF OFFSETS AND WRITE CODES
4860 .BYTE 0,FW.DR1 ; DRAM A + B EVEN
4861 .BYTE 2,FW.DJE ; DRAM J 8 - 10 EVEN + PARITY EVEN
4862 .BYTE 3,FW.DR2 ; DRAM A + B ODD
4863 .BYTE 5,FW.DJO ; DRAM J 7 CMN + J 8 - 10 ODD + PARITY ODD
4864 .BYTE 4,FW.DR3 ; DRAM J 1 - 4 COMMON
4865 WDRMTE=.
4866 .EVEN
4867 .ENDC ; $RAMSW
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 160
*.WRTAR -- SUBROUTINE TO WRITE THE KL10 AR REGISTER 7511.05
4869 .SBTTL *.WRTAR -- SUBROUTINE TO WRITE THE KL10 AR REGISTER 7511.05
4870
4871 ;+
4872 ; .WRTAR -- SUBROUTINE TO WRITE THE KL10 AR REGISTER.
4873 ; .WRAR1 -- SUBROUTINE TO WRITE THE KL10 AR REGISTER WITHOUT
4874 ; STOPPING THE KL10 CLOCK.
4875 ;
4876 ; THIS SUBROUTINE WILL WRITE A 36 BIT WORD TO THE KL10 AR REGISTER.
4877 ;
4878 ; SEQUENCE OF OPERATION:
4879 ;
4880 ; .WRTAR:
4881 ;
4882 ; (A) THE KL10 CLOCK IS STOPPED,
4883 ;
4884 ; .WRAR1:
4885 ;
4886 ; (B) THE EBOX CLOCK IS SYNCHED LOW,
4887 ; (C) THE DATA IS WRITTEN INTO THE KL10 AR REGISTER.
4888 ;
4889 ; CALLING SEQUENCE IS:
4890 ;
4891 ; MOV #BUFADR,R1 ; ADDRESS OF DATA TO BE WRITTEN
4892 ; CALL .WRTAR ; WRITE THE AR
4893 ; BCS ERROR ; ERROR IF C-BIT IS SET
4894 ;
4895 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE
4896 ; R0 AND R1 ARE CLOBBERED BY THIS SUBROUTINE.
4897 ;
4898 ; ERROR CODES RETURNED:
4899 ;
4900 ; CCC -- CAN'T CLEAR KL10 CLOCK.
4901 ; CSC -- CAN'T SYNCH KL10 CLOCK.
4902 ; FWF -- FUNCTION WRITE FAILED.
4903 ;-
4904
4905 006436 .WRTAR::
4906 006436 CALL .STPXC ; STOP THE KL10 CLOCK
006436 004737 005734' JSR PC,.STPXC
4907 006442 103407 BCS WRTARX ; ERROR IF C-BIT IS SET
4908 006444 .WRAR1::
4909 006444 CALL .SYNXC ; FORCE THE EBOX CLOCK LOW
006444 004737 006156' JSR PC,.SYNXC
4910 006450 103404 BCS WRTARX ; ERROR IF C-BIT IS SET
4911 006452 012700 000176 MOV #FW.LAR,R0 ; FUNCTION WRITE CODE TO R0
4912 006456 CALL .FWRIT ; LOAD THE AR
006456 004737 006566' JSR PC,.FWRIT
4913 006462 WRTARX:
4914 006462 RETURN ; RETURN TO CALLER
006462 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 161
*.XFRED -- DIAGNOSTIC FUNCTION READ SUBROUTINE* 7511.19
4916 .SBTTL *.XFRED -- DIAGNOSTIC FUNCTION READ SUBROUTINE* 7511.19
4917
4918 ;+
4919 ; .FREAD -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION READ.
4920 ; .XFRED -- SUBROUTINE TO EXECUTE A DFR AFTER RANGE CHECKING THE FUNCTION CODE.
4921 ;
4922 ; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION READ.
4923 ;
4924 ; SEQUENCE OF OPERATION:
4925 ;
4926 ; .XFRED:
4927 ;
4928 ; (A) THE DFR CODE IN R0 IS CHECKED FOR LEGALITY,
4929 ;
4930 ; .FREAD:
4931 ;
4932 ; (B) THE DFR IS EXECUTED AND DATA LOADED THRU R1 IF R1 .NE. 0,
4933 ; IF R1 IS .EQ. 0 THE DATA IS NOT MOVED FROM ".DFRB".
4934 ;
4935 ; CALLING SEQUENCE IS:
4936 ;
4937 ; MOV #BUFADR,R1 ; BUFFER ADDRESS TO R1
4938 ; MOVB #DFRN,R0 ; FUNCTION READ # TO R0
4939 ; CALL .FREAD ; DO THE READ
4940 ; BCS ERROR ; ERROR IF C-BIT IS SET
4941 ;
4942 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE
4943 ; R0 AND R1 POINT TO TOP OF READ BLOCKS ON EXIT.
4944 ;
4945 ; ERROR CODES RETURNED:
4946 ;
4947 ; FRF -- FUNCTION READ FAILED.
4948 ; IFC -- ILLEGAL FINCTION CODE.
4949 ; KLN -- KL10 NUMBER OUT OF RANGE.
4950 ; OFC -- ODD FUNCTION CODE.
4951 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 162
*.XFRED -- DIAGNOSTIC FUNCTION READ SUBROUTINE* 7511.19
4953 006464 .XFRED:: ; HERE TO RANGE CHECK DFR #
4954 006464 CALL .XFRCK ; SEE IF ARGUMENT IS IN RANGE
006464 004737 007036' JSR PC,.XFRCK
4955 006470 103432 BCS FRDXXX ; ERROR IF C-BIT IS SET
4956 006472 .FREAD::
4957 006472 110037 007267' MOVB R0,.KLDFR+3 ; SET THE DFR# IN THE DPB
4958 006476 DIR$ #.KLDFR ; CALL RSX20F TO DO THE READ
006476 012746 007264' MOV #.KLDFR,-(SP)
006502 104375 EMT 375
4959 006504 103422 BCS FRDERR ; ERROR IF C-BIT IS SET
4960 006506 012700 000040' MOV #.DFRB,R0 ; POINT TO TOP OF READ BLOCK
4961 006512 005701 TST R1 ; TEST R1
4962 006514 001405 BEQ FREAD1 ; EXIT IF R1 .EQ. 0
4963 006516 012021 MOV (R0)+,(R1)+ ; LOAD HIS BUFFER FROM OURS
4964 006520 012021 MOV (R0)+,(R1)+
4965 006522 011011 MOV (R0),(R1)
4966 006524 024040 CMP -(R0),-(R0) ; BACK THE POINTERS UP
4967 006526 024141 CMP -(R1),-(R1)
4968 006530 FREAD1:
4969 006530 032737 000002 011706' BIT #TR.FRD,.TRKWD ; ARE WE TRACKING FUNCTION READS?
4970 006536 001403 BEQ FREAD2 ; NO, JUST EXIT
4971 006540 CALL .FRTRK ; YES, DO IT
006540 004737 006214' JSR PC,.FRTRK
4972 006544 103404 BCS FRDXXX ; ERROR IF C-BIT IS SET
4973 006546 FREAD2:
4974 006546 000241 CLC ; JUST IN CASE
4975 006550 000402 BR FRDXXX ; EXIT
4976 006552 FRDERR:
4977 006552 ERROR$ FRF ; FUNCTION READ FAILED
006552 012700 MOV (PC)+,R0 ; MOVE .RAD50 ERROR CODE TO R0
006554 024126 .RAD50 /FRF/ ; "FRF" ERROR CODE IN .RAD50
4978 006556 FRDXXX:
4979 006556 RETURN ; RETURN
006556 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 163
*.XFWRT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE* 7511.19
4981 .SBTTL *.XFWRT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE* 7511.19
4982
4983 ;+
4984 ; .FWRIT -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION WRITE.
4985 ; .XFWRT -- SUBROUTINE TO EXECUTE A DFW AFTER RANGE CHECKING THE FUNCTION CODE.
4986 ;
4987 ; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION WRITE.
4988 ;
4989 ; SEQUENCE OF OPERATION:
4990 ;
4991 ; .XFWRT:
4992 ;
4993 ; (A) THE DFW CODE IN R0 IS CHECKED FOR LEGALITY,
4994 ;
4995 ; .FWRIT:
4996 ;
4997 ; (B) THE DATA IS LOADED THRU R1 IF R1 .NE. 0,
4998 ; IF R1 IS .EQ. 0 THE DATA IS ASSUMED TO BE IN ".DFWB",
4999 ; (C) THE FUNCTION WRITE IS EXECUTED.
5000 ;
5001 ; CALLLING SEQUENCE IS:
5002 ;
5003 ; MOV #BUFADR,R1 ; BUFFER ADDRESS TO R1
5004 ; MOVB #DFWN,R0 ; FUNCTION WRITE # TO R0
5005 ; CALL .FWRIT ; DO THE WRITE
5006 ; BCS ERROR ; ERROR IF C-BIT IS SET
5007 ;
5008 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE
5009 ; R0 AND R1 POINT TO THE TOP OF THE WRITE BLOCKS ON EXIT.
5010 ;
5011 ; ERROR CODES RETURNED:
5012 ;
5013 ; FWF -- FUNCTION WRITE FAILED.
5014 ; IFC -- ILLEGAL FUNCTION CODE.
5015 ; KLN -- KL10 NUMBER OUT OF RANGE.
5016 ; OFC -- ODD FUNCTION CODE.
5017 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 164
*.XFWRT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE* 7511.19
5019 006560 .XFWRT::
5020 006560 CALL .XFWCK ; CHECK IF ARGUMENT IS IN RANGE
006560 004737 007054' JSR PC,.XFWCK
5021 006564 103434 BCS FWRTXX ; ERROR IF C-BIT IS SET
5022 006566 .FWRIT::
5023 006566 110037 007301' MOVB R0,.KLDFW+3 ; SET THE DFW# IN THE DPB
5024 006572 012700 000032' MOV #.DFWB,R0 ; POINT TO TOP OF WRITE BLOCK
5025 006576 005701 TST R1 ; TEST R1
5026 006600 001406 BEQ FWRTGO ; ALREADY IN ".DFWB" IF R1 .EQ. 0
5027 006602 012120 MOV (R1)+,(R0)+ ; LOAD THE DATA BLOCK
5028 006604 012120 MOV (R1)+,(R0)+
5029 006606 011110 MOV (R1),(R0)
5030 006610 024040 CMP -(R0),-(R0) ; BACK THE POINTERS UP
5031 006612 024141 CMP -(R1),-(R1)
5032 006614 000241 CLC ; CLEAR THE C-BIT JUST IN CASE
5033 006616 FWRTGO:
5034 006616 042760 177760 000004 BIC #177760,4(R0) ; FLUSH EXTRANEOUS BITS
5035 006624 032737 000004 011706' BIT #TR.FWR,.TRKWD ; ARE WE TRACKING FUNCTION WRITES?
5036 006632 001403 BEQ FWRIT1 ; NO
5037 006634 CALL .FWTRK ; LEAVE TRACKS ON CONSOLE
006634 004737 006234' JSR PC,.FWTRK
5038 006640 103406 BCS FWRTXX ; ERROR IF C-BIT IS SET
5039 006642 FWRIT1:
5040 006642 DIR$ #.KLDFW ; CALL RSX20F TO DO THE WRITE
006642 012746 007276' MOV #.KLDFW,-(SP)
006646 104375 EMT 375
5041 006650 103002 BCC FWRTXX ; OK IF C-BIT IS CLEAR
5042 006652 ERROR$ FWF ; FUNCTION WRITE FAILED
006652 012700 MOV (PC)+,R0 ; MOVE .RAD50 ERROR CODE TO R0
006654 024436 .RAD50 /FWF/ ; "FWF" ERROR CODE IN .RAD50
5043 006656 FWRTXX:
5044 006656 RETURN ; TO CALLER
006656 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 165
*.XFXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE* 7601.09
5046 .SBTTL *.XFXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE* 7601.09
5047
5048 ;+
5049 ; .FXCT -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION EXECUTE.
5050 ; .XFXCT -- SUBROUTINE TO EXECUTE A DFX AFTER RANGE CHECKING THE DFX CODE.
5051 ;
5052 ; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION EXECUTE AND MAINTAIN
5053 ; THE STATE OF THE KL10 CLOCK ("KF.CLK") AND RUN FLOP ("KF.RUN") FLAGS
5054 ; IN THE KL10 STATE FLAG WORD, ".KLFLG".
5055 ;
5056 ; SEQUENCE OF OPERATION:
5057 ;
5058 ; .XFXCT:
5059 ;
5060 ; (A) THE ARGUMENT IS RANGE CHECKED,
5061 ;
5062 ; .FXCT:
5063 ;
5064 ; (B) THE DFX IS SIMPLY EXECUTED.
5065 ;
5066 ; CALLING SEQUENCE IS:
5067 ;
5068 ; MOVB #DFXN,R0 ; FUNCTION EXECUTE # TO R0
5069 ; CALL .FXCT ; DO THE EXECUTE
5070 ; BCS ERROR ; ERROR IF C-BIT IS SET
5071 ;
5072 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE R0 IS
5073 ; CLOBBERED ON EXIT.
5074 ;
5075 ; ERROR CODES RETURNED:
5076 ;
5077 ; FXF -- FUNCTION EXECUTE FAILED.
5078 ; IFC -- ILLEGAL FUNCTION CODE.
5079 ; OFC -- ODD FUNCTION CODE.
5080 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 166
*.XFXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE* 7601.09
5082 006660 .XFXCT::
5083 006660 CALL .XFXCK ; SEE IF ARGUMENT IS IN RANGE
006660 004737 007072' JSR PC,.XFXCK
5084 006664 103460 BCS FXCTEX ; ERROR IF C-BIT IS SET
5085 006666 .FXCT::
5086 006666 PUSH R0 ; SAVE R0 ON THE STACK
006666 010046 MOV R0,-(SP)
5087 006670 110037 007255' MOVB R0,.KLDFX+3 ; .SET THE DFX CODE IN THE DPB
5088 006674 DIR$ #.KLDFX ; .CALL RSX20F TO DO THE DFX
006674 012746 007252' MOV #.KLDFX,-(SP)
006700 104375 EMT 375
5089 006702 103452 BCS FXCTXF ; .ERROR IF C-BIT IS SET
5090 006704 012700 100000 MOV #KF.CLK,R0 ; .FLAG BIT TO R0
5091 006710 021627 000002 CMP (SP),#FX.CST ; .IS DFX CODE .EQ. 1?
5092 006714 001411 BEQ FXCT1 ; .YES, DO CLOCK STARTED STUFF
5093 006716 021627 000016 CMP (SP),#FX.SMR ; .IS DFX CODE .GT. 7?
5094 006722 101014 BHI FXCT2 ; .YES, LEAVE NOW
5095 006724 030037 000000G BIT R0,.KLFLG ; .IS THE FLAG OFF ALREADY?
5096 006730 001426 BEQ FXCTCX ; .YES, LEAVE NOW
5097 006732 040037 000000G BIC R0,.KLFLG ; .NO, TURN IF OFF
5098 006736 000423 BR FXCTCX ; .AND GO AWAY
5099 006740 FXCT1:
5100 006740 030037 000000G BIT R0,.KLFLG ; .IS THE FLAG ON ALREADY?
5101 006744 001020 BNE FXCTCX ; .YES, LEAVE NOW
5102 006746 050037 000000G BIS R0,.KLFLG ; .LIGHT IT UP
5103 006752 000415 BR FXCTCX ; .AND EXIT
5104 006754 FXCT2:
5105 006754 012700 020000 MOV #KF.RUN,R0 ; .DO RUN FLAG STUFF
5106 006760 021627 000022 CMP (SP),#FX.SRF ; .SET THE RUN FLOP?
5107 006764 001003 BNE FXCT3 ; .BRANCH IF NOT
5108 006766 050037 000000G BIS R0,.KLFLG ; .YES, SET THE FLAG
5109 006772 000405 BR FXCTCX ; .AND GO AWAY
5110 006774 FXCT3:
5111 006774 021627 000020 CMP (SP),#FX.CRF ; .CLEAR RUN FLOP?
5112 007000 001002 BNE FXCTCX ; .NO, JUST GO AWAY
5113 007002 040037 000000G BIC R0,.KLFLG ; .YES, CLEAR THE FLAG
5114
5115 ; [CONTINUED ON NEXT PAGE]
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 167
*.XFXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE* 7601.09
5117 ; [HERE FROM PREVIOUS PAGE]
5118
5119 007006 FXCTCX:
5120 007006 000241 CLC ; .JUST IN CASE
5121 007010 032737 000001 011706' BIT #TR.FXC,.TRKWD ; .ARE WE TRACKING FUNCTION EXECUTES?
5122 007016 001402 BEQ FXCTXX ; .BRANCH IF NOT
5123 007020 CALL .FXTRK ; .DO IT IF WE ARE
007020 004737 006254' JSR PC,.FXTRK
5124 007024 FXCTXX:
5125 007024 POP R0 ; RESTORE R0
007024 012600 MOV (SP)+,R0
5126 007026 FXCTEX:
5127 007026 RETURN ; TO CALLER
007026 000207 RTS PC
5128 007030 FXCTXF:
5129 007030 ERROR$ FXF,(SP) ; .FUNCTION EXECUTE FAILED
007030 012716 MOV (PC)+,(SP) ; MOVE .RAD50 ERROR CODE TO (SP)
007032 024506 .RAD50 /FXF/ ; "FXF" ERROR CODE IN .RAD50
5130 007034 000773 BR FXCTXX ; .RETURN WITH ERROR CODE IN R0
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 168
*.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS* 7509.26
5132 .SBTTL *.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS* 7509.26
5133
5134 ;+
5135 ; .XFRCK -- SUBROUTINE TO RANGE CHECK FUNCTION READ CODES.
5136 ; .XFWCK -- SUBROUTINE TO RANGE CHECK FUNCTION WRITE CODES.
5137 ; .XFXCK -- SUBROUTINE TO RANGE CHECK FUNCTION EXECUTE CODES.
5138 ;
5139 ; THESE SUBROUTINES RANGE CHECK THE ARGUMENT CODES FOR THE FUNCTION
5140 ; READ, WRITE AND EXECUTE SUBROUTINES.
5141 ;
5142 ; CALLING SEQUENCE IS:
5143 ;
5144 ; CALL .XFXCK ; CHECK FUNCTION CODE IN R0
5145 ; BCS ERROR ; ERROR IF C-BIT IS SET
5146 ;
5147 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE; UNCHANGED IF OK.
5148 ;
5149 ; ERROR CODES RETURNED:
5150 ;
5151 ; IFC -- ILLEGAL FUNCTION CODE.
5152 ; OFC -- ODD FUNCTION CODE.
5153 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 169
*.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS* 7509.26
5155 007036 .XFRCK:: ; HERE TO CHECK FUNCTION READ CODE
5156 007036 020027 000200 CMP R0,#FR.100 ; IS IT .LT. FR.100?
5157 007042 103423 BLO FNCIFC ; NO, ERROR
5158 007044 020027 000376 CMP R0,#FR.177 ; IS IT .GT. FR.177
5159 007050 101020 BHI FNCIFC ; YES, ERROR
5160 007052 000412 BR FNCODD ; NO, SEE IF IT'S ODD
5161
5162 007054 .XFWCK:: ; HERE TO CHECK FUNCTION WRITE CODE
5163 007054 020027 000100 CMP R0,#FW.040 ; IS IT .LT. FW.040?
5164 007060 103414 BLO FNCIFC ; NO, ERROR
5165 007062 020027 000176 CMP R0,#FW.LAR ; IS IT .GT. FW.077?
5166 007066 101011 BHI FNCIFC ; YES, ERROR
5167 007070 000403 BR FNCODD ; NO, SEE IF IT'S ODD
5168
5169 007072 .XFXCK:: ; HERE TO CHECK FUNCTION EXECUTE CODE
5170 007072 020027 000076 CMP R0,#FX.037 ; IS IT .GT. FX.037?
5171 007076 101005 BHI FNCIFC ; YES, ERROR
5172 007100 FNCODD:
5173 007100 000241 CLC ; CLEAR THE C-BIT
5174 007102 032700 000001 BIT #BIT00,R0 ; IS IT ODD?
5175 007106 001004 BNE FNCOFC ; YES, ERROR
5176 007110 RETURN ; ALL OK, RETURN TO CALLER
007110 000207 RTS PC
5177 007112 FNCIFC:
5178 007112 ERROR$ IFC ; ILLEGAL FUNCTION CODE
007112 012700 MOV (PC)+,R0 ; MOVE .RAD50 ERROR CODE TO R0
007114 034463 .RAD50 /IFC/ ; "IFC" ERROR CODE IN .RAD50
5179 007116 000402 BR FNCOCX ; EXIT
5180 007120 FNCOFC:
5181 007120 ERROR$ OFC ; ODD FUNCTION CODE
007120 012700 MOV (PC)+,R0 ; MOVE .RAD50 ERROR CODE TO R0
007122 057263 .RAD50 /OFC/ ; "OFC" ERROR CODE IN .RAD50
5182 007124 FNCOCX:
5183 007124 000261 SEC ; SET THE C-BIT
5184 007126 RETURN ; TO NEXT HIGHER LEVEL
007126 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 170
*GENERAL SUPPORT SUBROUTINES* 7508.26
5186 .SBTTL *GENERAL SUPPORT SUBROUTINES* 7508.26
5187
5188 ; HERE TO CLEAR THE INTERNAL BUFFERS.
5189
5190 007130 .CLDFB::
5191 007130 CALL .CLDFW ; CLEAR THE WRITE HALF OF THE BUFFER
007130 004737 007144' JSR PC,.CLDFW
5192 007134 .CLDFR::
5193 007134 PUSH R0 ; SAVE R0
007134 010046 MOV R0,-(SP)
5194 007136 012700 000040' MOV #.DFRB,R0 ; .CLEAR THE FUNCTION READ BUFFER
5195 007142 000403 BR CLRGO ; .
5196 007144 .CLDFW::
5197 007144 PUSH R0 ; SAVE R0
007144 010046 MOV R0,-(SP)
5198 007146 012700 000032' MOV #.DFWB,R0 ; .CLEAR THE FUNCTION WRITE BUFFER
5199 007152 CLRGO:
5200 007152 CALL KLCLR ; .CLEAR THE BUFFER
007152 004737 010220' JSR PC,KLCLR
5201 007156 CLRXXX:
5202 007156 POP R0 ; RESTORE R0
007156 012600 MOV (SP)+,R0
5203 007160 RETURN
007160 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 171
*GENERAL SUPPORT SUBROUTINES* 7508.26
5205 ; SHIFT THE 16 BIT INTEGER IN R0 BY THE 16 BIT INTEGER IN R1.
5206
5207 007162 .SHIFT::
5208 007162 PUSH R1 ; SAVE R1 ON THE STACK
007162 010146 MOV R1,-(SP)
5209 007164 001410 BEQ SHFTXX ; .EXIT IF .EQ. 0
5210 007166 002404 BLT SHIFTR ; .SHIFT RIGHT IF NEGATIVE
5211 007170 SHIFTL:
5212 007170 006300 ASL R0 ; .SHIFT IT LEFT
5213 007172 SOB R1,SHIFTL ; .TILL COUNT IS EXHAUSTED
007172 005301 DEC R1
007174 001375 BNE SHIFTL
5214 007176 000403 BR SHFTXX ; .EXIT
5215 007200 SHIFTR:
5216 007200 006200 ASR R0 ; .SHIFT IT RIGHT
5217 007202 005201 INC R1 ; .COUNT THE SHIFT
5218 007204 001375 BNE SHIFTR ; .TILL COUNT EXHAUSTED
5219 007206 SHFTXX:
5220 007206 POP R1 ; RESTORE R1 FROM THE STACK
007206 012601 MOV (SP)+,R1
5221 007210 000241 CLC ; CLEAR THE C-BIT
5222 007212 RETURN ; RETURN
007212 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 172
*REGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE* 7509.16
5224 .SBTTL *REGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE* 7509.16
5225
5226 ;+
5227 ; REGSAV -- SUBROUTINE TO SAVE AND RESTORE R5 - R1 ON THE STACK.
5228 ;
5229 ; R1 - R5 ARE SAVED ON THE STACK, AND MAY BE RESTORED BY EITHER:
5230 ;
5231 ; RETURN ; RETURNS TO HIGHER LEVEL
5232 ; -OR-
5233 ; CALL @(SP)+ ; RETURNS TO SAME LEVEL
5234 ;
5235 ; NO REGISTERS ARE DESTROYED BY THIS SUBROUTINE, AND SUBSEQUENT CALLS
5236 ; WILL NEST.
5237 ;
5238 ; CALLING SEQUENCE IS:
5239 ;
5240 ; CALL R5,REGSAV
5241 ; ONLY RETURN
5242 ;-
5243
5244 007214 REGSAV:: ; DEFINE AS GLOBAL
5245 007214 PUSH <R4,R3,R2,R1,R5>
007214 010446 MOV R4,-(SP)
007216 010346 MOV R3,-(SP)
007220 010246 MOV R2,-(SP)
007222 010146 MOV R1,-(SP)
007224 010546 MOV R5,-(SP)
5246 007226 016605 000012 MOV 12(SP),R5 ; .....RESTORE R5
5247 007232 000241 CLC ; .....CLEAR THE C-BIT
5248 007234 CALL @(SP)+ ; .....RETURN WITH RESTORE ADDRESS ON THE STACK
007234 004736 JSR PC,@(SP)+
5249
5250 ; HERE TO RESTORE R1 - R5 AND RETURN
5251
5252 007236 POP <R1,R2,R3,R4,R5>
007236 012601 MOV (SP)+,R1
007240 012602 MOV (SP)+,R2
007242 012603 MOV (SP)+,R3
007244 012604 MOV (SP)+,R4
007246 012605 MOV (SP)+,R5
5253 007250 RETURN ; RETURN
007250 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 173
*DIRECTIVE PARAMETER BLOCKS* 7508.20
5255 .SBTTL *DIRECTIVE PARAMETER BLOCKS* 7508.20
5256
5257 ; DIRECTIVE PARAMETER BLOCK DIAGNOSTIC FUNCTION EXECUTE
5258
5259 ; !===============================================!
5260 ; 00 ! DPB SIZE ! DIC !
5261 ; !-----------------------------------------------!
5262 ; 02 ! DFX OPCODE ! DFX CODE !
5263 ; !-----------------------------------------------!
5264 ; 04 ! TRANSFER BUFFER ADDRESS !
5265 ; !-----------------------------------------------!
5266 ; 06 ! DIAGNOSTIC REGISTER BUFFER ADDRESS !
5267 ; !-----------------------------------------------!
5268 ; 10 ! DTE20 NUMBER !
5269 ; !===============================================!
5270
5271
5272 007252 .KLDFX::
5273 007252 KLDX$ FX.000,.DFBLK,.DREG,0
007252 002411 .WORD 400*5.+DR.DTE
007254 014 000 .BYTE DF.KLX,FX.000/400
007256 000032' .WORD .DFBLK
007260 000046' .WORD .DREG
007262 000000 .WORD 0
5274 007262' FXDTEN=.-2
5275
5276 ; DPB FOR DIAGNOSTIC FUNCTION READ
5277
5278 ; !===============================================!
5279 ; 00 ! DPB SIZE ! DIC !
5280 ; !-----------------------------------------------!
5281 ; 02 ! DFR OPCODE ! DFR CODE !
5282 ; !-----------------------------------------------!
5283 ; 04 ! TRANSFER BUFFER ADDRESS !
5284 ; !-----------------------------------------------!
5285 ; 06 ! DIAGNOSTIC REGISTER BUFFER ADDRESS !
5286 ; !-----------------------------------------------!
5287 ; 10 ! DTE20 NUMBER !
5288 ; !===============================================!
5289
5290 007264 .KLDFR::
5291 007264 KLDR$ FR.100,.DFBLK,.DREG,0
007264 002411 .WORD 400*5.+DR.DTE
007266 012 000 .BYTE DF.KLR,FR.100/400
007270 000032' .WORD .DFBLK
007272 000046' .WORD .DREG
007274 000000 .WORD 0
5292 007274' FRDTEN=.-2
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 174
*DIRECTIVE PARAMETER BLOCKS* 7508.20
5294 ; DPB FOR DIAGNOSTIC FUNCTION WRITE
5295
5296 ; !===============================================!
5297 ; 00 ! DPB SIZE ! DIC !
5298 ; !-----------------------------------------------!
5299 ; 02 ! DFW OPCODE ! DFW CODE !
5300 ; !-----------------------------------------------!
5301 ; 04 ! TRANSFER BUFFER ADDRESS !
5302 ; !-----------------------------------------------!
5303 ; 06 ! DIAGNOSTIC REGISTER BUFFER ADDRESS !
5304 ; !-----------------------------------------------!
5305 ; 10 ! DTE20 NUMBER !
5306 ; !===============================================!
5307
5308 007276 .KLDFW::
5309 007276 KLDW$ FW.040,.DFBLK,.DREG,0
007276 002411 .WORD 400*5.+DR.DTE
007300 013 000 .BYTE DF.KLW,FW.040/400
007302 000032' .WORD .DFBLK
007304 000046' .WORD .DREG
007306 000000 .WORD 0
5310 007306' FWDTEN=.-2
5311
5312 ; DPB TO READ OR WRITE THE DTE20 REGISTERS
5313
5314 ; !===============================================!
5315 ; 00 ! DPB SIZE ! DIC !
5316 ; !-----------------------------------------------!
5317 ; 02 ! REGISTER OFFSET ! DIRECTIVE CODE !
5318 ; !-----------------------------------------------!
5319 ; 04 ! POINTER TO DATA TO BE WRITTEN !
5320 ; !-----------------------------------------------!
5321 ; 06 ! DESTINATION ADDRESS FOR DATA READ !
5322 ; !-----------------------------------------------!
5323 ; 10 ! DTE20 NUMBER !
5324 ; !===============================================!
5325
5326 007310 .REGRW::
5327 007310 002411 .WORD 2411
5328 007312 017 000 .BYTE 17,0
5329 007314 000000 .WORD 0
5330 007316 000046' .WORD .DREG
5331 007320 000000 .WORD 0
5332 007320' RGDTEN=.-2
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 175
*DIRECTIVE PARAMETER BLOCKS* 7508.20
5334 ; DPB FOR PRIVILEGED EXAMINE
5335
5336 ; !===============================================!
5337 ; 00 ! DPB SIZE ! DIC !
5338 ; !-----------------------------------------------!
5339 ; 02 ! EXAMINE TYPE ! DIRECTIVE CODE !
5340 ; !-----------------------------------------------!
5341 ; 04 ! KL10 ADDRESS WORD POINTER !
5342 ; !-----------------------------------------------!
5343 ; 06 ! DATA DESTINATION POINTER !
5344 ; !-----------------------------------------------!
5345 ; 10 ! DTE20 NUMBER !
5346 ; !===============================================!
5347
5348 007322 .EXDPB::
5349 007322 002411 .WORD 2411
5350 007324 015 200 .BYTE DF.PEX,ED.PHY
5351 007326 000136' .WORD .EXADR
5352 007330 000142' .WORD .EXBFR
5353 007332 000000 .WORD 0
5354 007332' EXDTEN=.-2
5355
5356 ; DPB FOR PRIVILEGED DEPOSIT
5357
5358 ; !===============================================!
5359 ; 00 ! DPB SIZE ! DIC !
5360 ; !-----------------------------------------------!
5361 ; 02 ! DEPOSIT TYPE ! DIRECTIVE CODE !
5362 ; !-----------------------------------------------!
5363 ; 04 ! KL10 DEPOSIT ADDRESS POINTER !
5364 ; !-----------------------------------------------!
5365 ; 06 ! KL10 DEPOSIT DATA POINTER !
5366 ; !-----------------------------------------------!
5367 ; 10 ! DTE20 NUMBER !
5368 ; !===============================================!
5369
5370 007334 .DPDPB::
5371 007334 002411 .WORD 2411
5372 007336 016 200 .BYTE DF.PDP,ED.PHY
5373 007340 000124' .WORD .DPADR
5374 007342 000130' .WORD .DPBFR
5375 007344 000000 .WORD 0
5376 007344' DPDTEN=.-2
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 176
*DIRECTIVE PARAMETER BLOCKS* 7508.20
5378 ; DPB FOR MARK TIME DIRECTIVE
5379
5380 ; !===============================================!
5381 ; 00 ! DPB SIZE ! DIC !
5382 ; !-----------------------------------------------!
5383 ; 02 ! EVENT FLAG !
5384 ; !-----------------------------------------------!
5385 ; 04 ! TIME INTERVAL IN CLOCK TICKS !
5386 ; !-----------------------------------------------!
5387 ; 06 ! RESCHEDULE INTERVAL IN CLOCK TICKS !
5388 ; !-----------------------------------------------!
5389 ; 10 ! AST HANDLER ENTRY POINT !
5390 ; !===============================================!
5391
5392 007346 .MTDPB:
5393 007346 MRKT$ CF.HTO,30.,0,0
007346 027 005 .BYTE 23.,5
007350 000001 .WORD CF.HTO
007352 000036 .WORD 30.
007354 000000 .WORD 0
007356 000000 .WORD 0
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 177
*PROGRAM STORAGE* 7508.20
5395 .SBTTL *PROGRAM STORAGE* 7508.20
5396
5397 ; BUFFERS FOR DIAGNOSTIC FUNCTION READ AND WRITE
5398
5399 000032 .PSECT TABLES
5400
5401 000032 .DFBLK::
5402 000032 .DFWB::
5403 000032 000000 000000 000000 .WORD 0,0,0 ; DEXWDS TO BE WRITTEN TO EBUS GO HERE
5404
5405 000006 .EBUSR==.-.DFWB ; OFFSET TO GET AT READ DATA FROM TOP OF BLOCK
5406
5407 000040 .DFRB::
5408 000040 000000 000000 000000 .WORD 0,0,0 ; DEXWDS READ FROM EBUS GO HERE
5409
5410 000014 .DREGS==.-.DFWB ; OFFSET TO GET TO DIAG REGS
5411
5412 000046 .DREG::
5413 000046 .DTDI1::
5414 000046 000000 .WORD 0 ; DTE20 DIAG1 WORD STORED HERE
5415 000050 .DTDI2::
5416 000050 000000 .WORD 0 ; DTE20 DIAG2 WORD STORED HERE
5417 000052 .DTSTS::
5418 000052 000000 .WORD 0 ; DTE20 STATUS WORD STORED HERE
5419 000054 .DTDI3::
5420 000054 000000 .WORD 0 ; DTE20 DIAG3 WORD STORED HERE
5421 .EVEN
5422 000024 BUFLEN=.-.DFWB
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 178
*PROGRAM STORAGE* 7508.20
5424 000056 .CRAMA::
5425 000056 000000 .WORD 0 ; CRAM ADDRESS
5426
5427 000060 .CRAMR:: ; BLOCK FOR CRAM READ
5428 000060 000000 000000 000000 .WORD 0,0,0
5429 000066 000000 000000 000000 .WORD 0,0,0
5430 000074 000000 000000 000000 .WORD 0,0,0
5431
5432 000102 .CRAMW:: ; BLOCK FOR CRAM WRITE
5433 000102 000000 000000 000000 .WORD 0,0,0
5434 000110 000000 000000 000000 .WORD 0,0,0
5435 000116 000000 000000 000000 .WORD 0,0,0
5436
5437 000124 .DPADR::
5438 000124 000000 000000 .WORD 0,0 ; KL10 DEPOSIT ADDRESS
5439
5440 000130 .DPBFR::
5441 000130 000000 000000 000000 .WORD 0,0,0 ; KL10 DEPOSIT DATA
5442
5443 000136 .EXADR::
5444 000136 000000 000000 .WORD 0,0 ; KL10 EXAMINE ADDRESS
5445
5446 000142 .EXBFR::
5447 000142 000000 000000 000000 .WORD 0,0,0 ; KL10 EXAMINE DATA
5448
5449 000150 .DRAMA:
5450 000150 000000 .WORD 0 ; DRAM ADDRESS
5451
5452 000152 .DRAMR:
5453 000152 000000 000000 000000 .WORD 0,0,0 ; BLOCK FOR DRAM READ
5454
5455 000160 .DRAMW::
5456 000160 000000 000000 000000 .WORD 0,0,0 ; BLOCK FOR DRAM WRITE
5457
5458 000166 .FMADR::
5459 000166 000000 .WORD 0 ; FAST MEMORY ADDRESS
5460
5461 000170 .FMDAT::
5462 000170 000000 000000 000000 .WORD 0,0,0 ; FAST MEMORY DATA
5463 000176' DFBEND=.
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 179
*PROGRAM STORAGE* 7508.20
5465 000176 .APRWD::
5466 000176 000000 .WORD 0 ; APR ERROR STATUS
5467
5468 000200 .CLKWD::
5469 000200 000000 .WORD 0 ; SYSTEM CLOCK PARAMETER WORD
5470
5471 000202 .PEWRD::
5472 000202 000000 .WORD 0 ; PARITY ERROR FLAGS
5473
5474 000204 .PSCWD::
5475 000204 000000 .WORD 0 ; SYSTEM PARITY CONTROL WORD
5476
5477 000206 .STFLG::
5478 000206 177777 .WORD -1 ; START MODE FLAG
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 180
*PROGRAM STORAGE* 7508.20
5480 000210 CLKNRM::
5481 000210 000000 .WORD CS.NRM!CR.NRM!CD.NRM ; NORMAL CLOCK PARAMETER WORD
5482
5483 000212 CPTMP:
5484 000212 000000 .WORD 0 ; TEMP STORAGE FOR CLOCK AND PARITY PARAMS
5485
5486 000214 PARTMP:
5487 000214 000000 .WORD 0 ; MORE OF THE SAME
5488
5489 000216 PARNRM::
5490 000216 001416 .WORD IP.NRM!AP.NRM ; NORMAL PARITY CONTROL WORD
5491
5492 007360 .PSECT
5493 .IF NE $RAMSW
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 181
*PROGRAM STORAGE* 7508.20
5495 .SBTTL *CRAMFT -- KL10 CRAM FIELD DECODE TABLES AND STORAGE* 7511.20
5496
5497 ;+
5498 ; CRAMFT -- KL10 FIELD DECODE TABLES AND STORAGE.
5499 ;
5500 ; THE KL10 CRAM FIELD DECODE TABLE IS BUILT BY THE "CRMFD$" MACRO
5501 ; AND THE DRAM FIELD DECODE TABLE IS BUILT BY THE "DRMFD$" MACRO.
5502 ; THESE MACROS CREATE A TABLE FOR ASSEMBLY AND DISASSEMBLY OF RAM
5503 ; BITS FROM THE EBUS. EACH TABLE ENTRY HAS THE FORMAT:
5504 ;
5505 ; !=======================================!
5506 ; 00 ! BIT MASK !
5507 ; !---------------------------------------!
5508 ; 02 ! WORD INDEX ! SHIFT COUNT !
5509 ; !---------------------------------------!
5510 ; 04 ! DESTINATION POINTER !
5511 ; !=======================================!
5512 ;
5513 ; MASK IS THE MASK ON PDP11 WORD
5514 ; WORD INDEX IS THE LOCATION OF BYTE IN THE READ BLOCK
5515 ; SHIFT COUNT IS THE NUMBER OF BITS TO SHIFT TO GET
5516 ; A PDP11 WORD POSITION
5517 ;
5518 ; THE IDEA IS TO GO THROUGH AND ASSEMBLE A PDP11 WORD BYTE BY BYTE
5519 ; UNTIL FINSIHED. EACH NEW TABLE ENTRY IS MARKED BY A SIGN BIT IN
5520 ; THE MASK WORD (NOTE THAT THE LARGEST CRAM FIELD IS 11 BITS WIDE),
5521 ; PUTTING EACH FIELD IN A DISTINCT PDP11 WORD.
5522 ;
5523 ; TO CALL THE MACRO:
5524 ;
5525 ; CRMFD$ <FIELD NAME>,<BITS IN EBUS BYTE>,<SHF CNT>,<IDX>
5526 ;
5527 ; THIS IS A PICTURE OF THE EXPANDED BUFFER FOR THE CRAM.
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 182
*PROGRAM STORAGE* 7508.20
5529 ; WORD CONTENTS
5530 ; ---- --------
5531 ;
5532 ; !===============================!
5533 ; 00 ! SCAD A ENABLE (1 BIT) !
5534 ; !-------------------------------!
5535 ; 02 ! SCAD ENABLE (3 BITS) !
5536 ; !-------------------------------!
5537 ; 04 ! FE ENABLE (1 BIT) !
5538 ; !-------------------------------!
5539 ; 06 ! J 00 - 10 (11 BITS) !
5540 ; !-------------------------------!
5541 ; 08 ! MQ ENABLE (1 BIT) !
5542 ; !-------------------------------!
5543 ; 10 ! COND FIELD (6 BITS) !
5544 ; !-------------------------------!
5545 ; 12 ! AD SELECT (4 BITS) !
5546 ; !-------------------------------!
5547 ; 14 ! AD BOOLE (1 BIT) !
5548 ; !-------------------------------!
5549 ; 16 ! ADA DISABLE (1 BIT) !
5550 ; !-------------------------------!
5551 ; 18 ! ADA SELECT (2 BITS) !
5552 ; !-------------------------------!
5553 ; 20 ! ADB SELECT (2 BITS) !
5554 ; !-------------------------------!
5555 ; 22 ! MAGIC # FIELD (9 BITS) !
5556 ; !-------------------------------!
5557 ; 24 ! ARXM SELECT (3 BITS) !
5558 ; !-------------------------------!
5559 ; 26 ! SCADA SELECT (2 BITS) !
5560 ; !-------------------------------!
5561 ; 28 ! SCADB SELECT (2 BITS) !
5562 ; !-------------------------------!
5563 ; 30 ! MARK (1 BIT) !
5564 ; !-------------------------------!
5565 ; 32 ! VMA SELECT (2 BITS) !
5566 ; !-------------------------------!
5567 ; 34 ! ARM SELECT (3 BITS) !
5568 ; !-------------------------------!
5569 ; 36 ! SH-ARMM SELECT (2 BITS) !
5570 ; !-------------------------------!
5571 ; 38 ! MEM FIELD (4 BITS) !
5572 ; !-------------------------------!
5573 ; 40 ! BR LOAD (1 BIT) !
5574 ; !-------------------------------!
5575 ; 42 ! BRX LOAD (1 BIT) !
5576 ; !-------------------------------!
5577 ; 44 ! FM ADDRESS (3 BITS) !
5578 ; !-------------------------------!
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 183
*PROGRAM STORAGE* 7508.20
5580 ; !-------------------------------!
5581 ; 46 ! SCM FIELD (1 BIT) !
5582 ; !-------------------------------!
5583 ; 48 ! AD CRY (1 BIT) !
5584 ; !-------------------------------!
5585 ; 50 ! TIME (2 BITS) !
5586 ; !-------------------------------!
5587 ; 52 ! SPEC/DISP (5 BITS) !
5588 ; !===============================!
5589 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 184
*PROGRAM STORAGE* 7508.20
5591 ; DEFINE THE CRAM FIELD DECODE TABLE MACRO.
5592
5593 .MACRO CRMFD$ ..DEST,..BITS,..SHF,..IDX
5594 .IF DF ..DEST
5595 .IF NE <..ODST-..DEST>
5596 ..MSK=0
5597 ..OMSK=0
5598 ..ODST= ..DEST
5599 .ENDC ; IF NE
5600 .IFF
5601 .PSECT CRDF
5602 ..DEST::
5603 .WORD 0
5604 .PSECT
5605 .ENDC ; IF DF
5606 ..OMSK=..MSK!..OMSK
5607 ..MSK=..OMSK+1
5608 .REPT ..BITS
5609 ..MSK=..MSK*2
5610 .ENDR
5611 ..MSK=..MSK-..OMSK-1
5612 .IF EQ ..OMSK
5613 .WORD 100000!..MSK
5614 .IFF
5615 .WORD ..MSK
5616 .ENDC ; IF EQ
5617 .BYTE ..SHF,..IDX
5618 .WORD ..DEST
5619 .IF EQ ..OMSK
5620 .PSECT CRMASZ
5621 .ASCIZ %..DEST%
5622 .PSECT
5623 .ENDC
5624 .ENDM CRMFD$
5625
5626 .PSECT CRDF
5627 CRAMFT:: ; CRAM FIELD STORAGE STARTS HERE
5628 ..ODST= .+4 ; INIT ODST TO NOT START OF PSECT
5629 .PSECT CRMASZ
5630 CRMATB::
5631 .PSECT
5632
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 185
*PROGRAM STORAGE* 7508.20
5634 CRMFDT:: ; CRAM DECODE TABLE STARTS HERE
5635 CRMFD$ SCDAEN,1,-^D11,16 ; CRAM SCADA EN
5636
5637 CRMFD$ SCAD,3,-^D8,16 ; CRAM SCAD
5638
5639 CRMFD$ FELOAD,1,-^D5,16 ; CRAM FE
5640
5641 CRMFD$ J,4,-^D6,14 ; CRAM J 07 - 10
5642 CRMFD$ J,4,-^D8,14 ; CRAM J 03 - 06
5643 CRMFD$ J,3,^D6,16 ; CRAM J 00 - 02
5644
5645 CRMFD$ MQEN,1,-^D3,14 ; CRAM MQ
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 186
*PROGRAM STORAGE* 7508.20
5647 CRMFD$ COND,1,0,4 ; CRAM COND 05
5648 CRMFD$ COND,1,-^D5,4 ; CRAM COND 04
5649 CRMFD$ COND,1,-^D6,4 ; CRAM COND 03
5650 CRMFD$ COND,3,^D3,14 ; CRAM COND 00 - 02
5651
5652 CRMFD$ ADSEL,4,-^D8,12 ; CRAM AD SEL
5653
5654 CRMFD$ ADBOOL,1,-^D5,12 ; CRAM AD BOOLE
5655
5656 CRMFD$ ADADIS,1,-^D4,12 ; CRAM ADA DIS
5657
5658 CRMFD$ ADASEL,2,-^D2,12 ; CRAM ADA SEL
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 187
*PROGRAM STORAGE* 7508.20
5660 CRMFD$ ADBSEL,1,-^D15,10 ; CRAM ADB SEL 2
5661 CRMFD$ ADBSEL,1,-^D8,10 ; CRAM ADB SEL 1
5662
5663 CRMFD$ MAGIC,3,0,10 ; CRAM MAGIC # 06 - 08
5664 CRMFD$ MAGIC,3,-^D3,10 ; CRAM MAGIC # 03 - 05
5665 CRMFD$ MAGIC,3,-^D6,10 ; CRAM MAGIC # 00 - 02
5666
5667 CRMFD$ ARXMSL,1,-^D1,10 ; CRAM ARXM SEL 4
5668 CRMFD$ ARXMSL,1,-^D14,0 ; CRAM ARXM SEL 2
5669 CRMFD$ ARXMSL,1,-^D13,0 ; CRAM ARXM SEL 1
5670
5671 CRMFD$ SCADA,2,-^D10,6 ; CRAM SCADA
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 188
*PROGRAM STORAGE* 7508.20
5673 CRMFD$ SCADB,1,-^D8,6 ; CRAM SCADB SEL 2
5674 CRMFD$ SCADB,1,-^D11,2 ; CRAM SCADB SEL 1
5675
5676 CRMFD$ MARK,1,-^D8,6 ; CRAM MARK
5677
5678 CRMFD$ VMASEL,1,-^D4,6 ; CRAM VMA SEL 2
5679 CRMFD$ VMASEL,1,-^D9,0 ; CRAM VMA SEL 1
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 189
*PROGRAM STORAGE* 7508.20
5681 CRMFD$ ARMSEL,1,-^D2,6 ; CRAM ARM SEL 4
5682 CRMFD$ ARMSEL,1,-^D4,2 ; CRAM ARM SEL 2
5683 CRMFD$ ARMSEL,1,-^D3,2 ; CRAM ARM SEL 1
5684
5685 CRMFD$ SHARMM,2,-^D2,6 ; CRAM SH-ARMM
5686
5687 CRMFD$ MEM,4,-^D12,4 ; CRAM MEM
5688
5689 CRMFD$ BRLOAD,1,-^D9,4 ; CRAM BR LOAD
5690
5691 CRMFD$ BRXLOD,1,-^D7,4 ; CRAM BRX LOAD
5692
5693 CRMFD$ FMADR,3,-^D1,4 ; CRAM FM ADR
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 190
*PROGRAM STORAGE* 7508.20
5695 CRMFD$ SCM,1,-^D9,2 ; CRAM SCM
5696 CRMFD$ ADCRY,1,-^D7,0 ; CRAM AD CRY
5697
5698 CRMFD$ T,1,-^D1,0 ; CRAM T01
5699 CRMFD$ T,1,-^D2,0 ; CRAM T00
5700
5701 CRMFD$ DISP,5,0,20 ; CRAM DISP
5702 .WORD 0 ; END-OF-TABLE MARKER
5703 .WORD CRMFDT ; POINTER TO TOP OF BLOCK
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 191
*PROGRAM STORAGE* 7508.20
5705 .SBTTL *CRAMDT -- KL10 CRAM LOGICAL FIELD DECODE TABLES AND STORAGE* 7512.03
5706
5707 ;+
5708 ; THIS IS A PICTURE OF THE CRAM LOGICAL FIELD TABLE:
5709 ;
5710 ; WORD CONTENTS
5711 ; ---- --------
5712 ; !===============================!
5713 ; 00 ! LOGICAL WORD 0 (11 BITS) !
5714 ; !-------------------------------!
5715 ; 02 ! LOGICAL WORD 1 (9 BITS) !
5716 ; !-------------------------------!
5717 ; 04 ! LOGICAL WORD 2 (12 BITS) !
5718 ; !-------------------------------!
5719 ; 06 ! LOGICAL WORD 3 (10 BITS) !
5720 ; !-------------------------------!
5721 ; 10 ! LOGICAL WORD 4 (10 BITS) !
5722 ; !-------------------------------!
5723 ; 12 ! LOGICAL WORD 5 (11 BITS) !
5724 ; !-------------------------------!
5725 ; 14 ! LOGICAL WORD 6 (10 BITS) !
5726 ; !===============================!
5727 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 192
*PROGRAM STORAGE* 7508.20
5729 ; DEFINE THE CRAM LOGICAL FIELD DECODE TABLE MACRO.
5730
5731 .MACRO CRMLD$ ..DEST,..BITS,..SHF,..IDX
5732 .IF DF ..DEST
5733 .IF NE <..ODST-..DEST>
5734 ..MSK=0
5735 ..OMSK=0
5736 ..ODST= ..DEST
5737 .ENDC ; IF NE
5738 .IFF
5739 .PSECT CRDF
5740 ..DEST::
5741 .WORD 0
5742 .PSECT
5743 .ENDC ; IF DF
5744 ..OMSK=..MSK!..OMSK
5745 ..MSK=..OMSK+1
5746 .REPT ..BITS
5747 ..MSK=..MSK*2
5748 .ENDR
5749 ..MSK=..MSK-..OMSK-1
5750 .IF EQ ..OMSK
5751 .WORD 100000!..MSK
5752 .IFF
5753 .WORD ..MSK
5754 .ENDC ; IF EQ
5755 .BYTE ..SHF,..IDX
5756 .WORD ..DEST
5757 .ENDM CRMLD$
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 193
*PROGRAM STORAGE* 7508.20
5759 ; THIS TABLE DECODES THE CRAM DATA INTO THE SAME FORMAT AS IN THE
5760 ; CRAM LISTING (Q.V.). THE LOGICAL WORDS ARE BUILT FROM TOP TO BOTTOM,
5761 ; AND THE LOCAL COMMENTS INDICATE WHICH FIELDS MAKE UP THOSE WORDS.
5762
5763 ; WORD 0 IS THE "J" FIELD
5764
5765 CRMLDT:
5766
5767 CRMLD$ CRMLF0,4,-^D6,14 ; J FIELD 07 - 10
5768 CRMLD$ CRMLF0,4,-^D8,14 ; J FIELD 03 - 06
5769 CRMLD$ CRMLF0,3,^D6,16 ; J FIELD 00 - 02
5770
5771 ; LOGICAL WORD 1 CONTAINS THE AD/ADX CONTROLS
5772
5773 CRMLD$ CRMLF1,1,-^D9,10 ; ADB SEL
5774 CRMLD$ CRMLF1,2,-^D1,12 ; ADA SEL
5775 CRMLD$ CRMLF1,4,-^D6,12 ; AD SEL
5776 CRMLD$ CRMLF1,1,^D2,12 ; AD BOOLE
5777 CRMLD$ CRMLF1,1,^D1,0 ; AD CRY
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 194
*PROGRAM STORAGE* 7508.20
5779 ; LOGICAL WORD 2 CONTAINS THE AR, ARX, BR, BRX, MQ, AND FM ADR CONTROLS
5780
5781 CRMLD$ CRMLF2,3,-^D1,4 ; FM ADR
5782 CRMLD$ CRMLF2,1,0,14 ; MQ SEL
5783 CRMLD$ CRMLF2,1,-^D3,4 ; BRX LOAD
5784 CRMLD$ CRMLF2,1,-^D4,4 ; BR LOAD
5785 CRMLD$ CRMLF2,1,-^D7,0 ; ARXM SEL 1
5786 CRMLD$ CRMLF2,1,-^D8,0 ; ARXM SEL 2
5787 CRMLD$ CRMLF2,1,^D5,10 ; ARXM SEL 4
5788 CRMLD$ CRMLF2,1,^D6,2 ; ARM SEL 1
5789 CRMLD$ CRMLF2,1,^D5,2 ; ARM SEL 2
5790 CRMLD$ CRMLF2,1,^D7,10 ; ARM SEL 4
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 195
*PROGRAM STORAGE* 7508.20
5792 ; LOGICAL WORD 3 CONTAINS THE SCAD, FE, AND SHIFTER CONTROLS
5793
5794 CRMLD$ CRMLF3,1,-^D9,2 ; SCM
5795 CRMLD$ CRMLF3,1,-^D5,16 ; FE LOAD
5796 CRMLD$ CRMLF3,1,-^D9,2 ; SCADB SEL 1
5797 CRMLD$ CRMLF3,1,-^D6,6 ; SCADB SEL 2
5798 CRMLD$ CRMLF3,2,-^D6,6 ; SCADA SEL 1 & 2
5799 CRMLD$ CRMLF3,1,-^D5,16 ; SCADA EN
5800 CRMLD$ CRMLF3,3,-^D1,16 ; SCAD SEL
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 196
*PROGRAM STORAGE* 7508.20
5802 ; LOGICAL WORD 4 HAS THE MEM, TIME AND VMA CONTROLS
5803
5804 CRMLD$ CRMLF4,4,-^D2,4 ; MEM
5805 CRMLD$ CRMLF4,1,^D3,0 ; T01
5806 CRMLD$ CRMLF4,1,^D2,0 ; T00
5807 CRMLD$ CRMLF4,1,-^D3,0 ; VMA SEL 1
5808 CRMLD$ CRMLF4,1,^D2,6 ; VMA SEL 2
5809 CRMLD$ CRMLF4,2,^D6,6 ; SH/ARMM
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 197
*PROGRAM STORAGE* 7508.20
5811 ; LOGICAL WORD 5 HAS THE DISP/SPEC AND COND FIELDS
5812
5813 CRMLD$ CRMLF5,5,0,20 ; DISP/SPEC
5814 CRMLD$ CRMLF5,1,^D5,4 ; COND 05
5815 CRMLD$ CRMLF5,1,^D6,4 ; COND 04
5816 CRMLD$ CRMLF5,1,-^D1,4 ; COND 03
5817 CRMLD$ CRMLF5,3,^D8,14 ; COND 00 - 02
5818
5819 ; LOGICAL WORD 6 HAS THE MAGIC # AND MARK FIELDS
5820
5821 CRMLD$ CRMLF6,3,0,10 ; MAGIC # 06 - 08
5822 CRMLD$ CRMLF6,3,-^D3,10 ; MAGIC # 03 - 05
5823 CRMLD$ CRMLF6,3,-^D6,10 ; MAGIC # 00 - 02
5824 CRMLD$ CRMLF6,1,^D1,6 ; MARK
5825 .WORD 0 ; END-OF-TABLE MARKER
5826 .WORD CRMLDT ; POINTER TO TOP OF BLOCK
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 198
*PROGRAM STORAGE* 7508.20
5828 .SBTTL *DRAMFT -- KL10 DRAM FIELD DECODE TABLES AND STORAGE* 7510.30
5829
5830 ;+
5831 ; DRAMFT -- KL10 DRAM FIELD DECODE TABLES AND STORAGE.
5832 ;
5833 ; FOR INFORMATION ABOUT THIS MACRO, SEE "CRAMFT".
5834 ;
5835 ; THIS IS A PICTURE OF THE DRAM FIELD STORAGE BLOCK.
5836 ; NOTE THAT THE DRAM FIELDS ARE STORED IN WORDS, RATHER THAN
5837 ; IN BYTES AS IN THE MAIN LINE CODE!
5838 ;
5839 ; WORD CONTENTS
5840 ; ---- --------
5841 ;
5842 ; !===============================!
5843 ; 00 ! A EVEN (3 BITS) !
5844 ; !-------------------------------!
5845 ; 02 ! B EVEN (3 BITS) !
5846 ; !-------------------------------!
5847 ; 04 ! J 01 - 04 EVEN (4 BITS) !
5848 ; !-------------------------------!
5849 ; 06 ! J 07 - 10 EVEN (4 BITS) !
5850 ; !-------------------------------!
5851 ; 08 ! PARITY EVEN (1 BIT) !
5852 ; !-------------------------------!
5853 ; 10 ! A ODD (3 BITS) !
5854 ; !-------------------------------!
5855 ; 12 ! B ODD (3 BITS) !
5856 ; !-------------------------------!
5857 ; 14 ! J 01 - 04 ODD (4 BITS) !
5858 ; !-------------------------------!
5859 ; 16 ! J 07 - 10 ODD (4 BITS) !
5860 ; !-------------------------------!
5861 ; 18 ! PARITY ODD (1 BIT) !
5862 ; !===============================!
5863 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 199
*PROGRAM STORAGE* 7508.20
5865 ; DEFINE THE DRAM FEILD DECODE TABLE MACRO
5866
5867 .MACRO DRMFD$ ..DEST,..BITS,..SHF,..IDX
5868 .IF DF ..DEST
5869 .IF NE <..ODST-..DEST>
5870 ..MSK=0
5871 ..OMSK=0
5872 ..ODST= ..DEST
5873 .ENDC ; IF NE
5874 .IFF
5875 .PSECT DRDF
5876 ..DEST::
5877 .WORD 0
5878 .PSECT
5879 .ENDC ; IF DF
5880 ..OMSK=..MSK!..OMSK
5881 ..MSK=..OMSK+1
5882 .REPT ..BITS
5883 ..MSK=..MSK*2
5884 .ENDR
5885 ..MSK=..MSK-..OMSK-1
5886 .IF EQ ..OMSK
5887 .WORD 100000!..MSK
5888 .IFF
5889 .WORD ..MSK
5890 .ENDC ; IF EQ
5891 .BYTE ..SHF,..IDX
5892 .WORD ..DEST
5893 .ENDM DRMFD$
5894
5895 .PSECT DRDF
5896 DRAMFT:: ; DRAM FIELD STORAGE STARTS HERE
5897 ..ODST=.+4 ; INIT ODST TO NOT START OF PSECT
5898 .PSECT
COMSUB *KL10 COMMAND PARSER SU MACRO M1108 13-JAN-78 15:46 PAGE 200
*PROGRAM STORAGE* 7508.20
5900 DRMFDT:: ; DRAM DECODE TABLE STARTS HERE
5901 DRMFD$ AE,3,-^D3,0 ; DRAM A EVEN
5902
5903 DRMFD$ BE,3,0,0 ; DRAM B EVEN
5904
5905 DRMFD$ J1.4E,4,-^D8,0 ; DRAM J1 - J4 EVEN
5906
5907 DRMFD$ J7.10E,4,0,2 ; DRAM J7 - J10 EVEN
5908
5909 DRMFD$ PE,1,-^D5,2 ; DRAM PARITY EVEN
5910
5911 DRMFD$ AO,3,-^D11,2 ; DRAM A ODD
5912
5913 DRMFD$ BO,3,-^D8,2 ; DRAM B ODD
5914
5915 DRMFD$ J1.4O,4,0,4 ; DRAM J1 - J4 ODD
5916
5917 DRMFD$ J7.10O,4,-^D8,4 ; DRAM J7 - J10 ODD
5918
5919 DRMFD$ PO,1,-^D13,4 ; DRAM PARITY ODD
5920 .WORD 0 ; END-OF-TABLE MARKER
5921 .WORD AE ; POINTER TO TOP OF BLOCK
5922 .ENDC ; $RAMSW
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1108 13-JAN-78 15:46 PAGE 202
*PROGRAM STORAGE* 7508.20
1 .TITLE KLNUM KL-10 ARITHMETIC SIMULATION ROUTINES (PAG)/RAB/TCP
2 .SBTTL KLNUM -- TITLE PAGE
3
4 .IDENT /002000/
5
6 ; COPYRIGHT (C) 1975, 1978 BY
7 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
8 ;
9 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
10 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
11 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
12 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
13 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
14 ;
15 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
16 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
17 ; CORPORATION.
18 ;
19 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
20 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
21
22
23
24 ;
25 ; VERSION: 02-00
26 ;
27 ; AUTHORS: R.A. BELANGER
28 ; P.A. GAGNER
29 ; T.C. PORCHER
30 ; R.C. BEAVEN
31 ;
32 ; DATE: 7601.09
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1108 13-JAN-78 15:46 PAGE 203
KLNUM -- TITLE PAGE
34
35 ; KL10 FORMAT NUMBERS ARE REPRESENTED IN PDP11
36 ; MEMORY IN THE FOLLOWING FORMAT:
37 ;
38
39 ; -------------------------------------------------
40 ; L: :20:21:22:23:24:25:26:27:28:29:30:31:32:33:34:35:
41 ; -------------------------------------------------
42 ; L+2: : 4: 5: 6: 7: 8: 9:10:11:12:13:14:15:16:17:18:19:
43 ; -------------------------------------------------
44 ; L+4: : : : : : : : : : : : : : 0: 1: 2: 3:
45 ; -------------------------------------------------
46 ;
47 ; (NOTE - BLANK BITS ARE ALWAYS ZERO. BIT 0 IS THE
48 ; KL10 SIGN BIT. THIS IS THE FORMAT USED BY
49 ; THE DTE-20.)
50 ;
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1108 13-JAN-78 15:46 PAGE 204
EDIT HISTORY/RAB 7511.14
52 .SBTTL EDIT HISTORY/RAB 7511.14
53
54 000007 VERSN==7
55
56 ; 7 (RAB/PAG) FIXED BUG IN KLINC AND KLDEC
57 ; 6 (PAG) FIXED BUG IN KLLSH
58 ; 5 (RAB) FIXED BUG IN KLCMP
59 ; 4 (PAG) MULTIPLY BUG FIXED
60 ; 3 (PAG) FIX BUG IN KLTST WHICH DESTROYED R0
61 ; 2 (PAG) FIX SHIFT LEFT AND RIGHT
62 ; 1 START OF HISTORY
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1108 13-JAN-78 15:46 PAGE 205
KLADD ADD TWO KL NUMBERS
64 .SBTTL KLADD ADD TWO KL NUMBERS
65
66 ;
67 ;INPUT ARGUMENTS
68 ;
69 ; R0 CONTAINS A POINTER TO THE FIRST
70 ; R1 CONTAINS A POINTER TO THE SECOND
71 ;
72 ;OUTPUT ARGUMENTS
73 ;
74 ; R0 POINTS TO THE SUM ON RETURN, WHICH IS THE
75 ; FIRST NUMBER.
76 ;
77 ;CALLED BY:
78 ;
79 ; CALL KLADD
80 ;
81 ;
82 007360 KLADD::
83 007360 062120 ADD (R1)+,(R0)+ ;ADD LOW ORDER PARTS
84 007362 005510 ADC (R0) ;CARRY ANY OVERFLOW
85 007364 062120 ADD (R1)+,(R0)+
86 007366 005510 ADC (R0) ;FIX CARRIES
87 007370 061110 ADD (R1),(R0) ;ADD HIGH ORDER PARTS
88 007372 000137 007440' JMP KLADJ1 ;AND SIGN EXTEND
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1108 13-JAN-78 15:46 PAGE 206
KLSUB SUBTRACT ROUTINES
90 .SBTTL KLSUB SUBTRACT ROUTINES
91
92 007376 KLSUB::
93 ;
94 ;INPUT ARGUMENTS
95 ;
96 ; R0 POINTS TO THE NUMBER FROM WHICH TO SUBTRACT
97 ; R1 POINTS TO THE NUMBER TO SUBTRACT
98 ;
99 ;OUTPUT ARGUMENTS
100 ;
101 ; R0 RETURNS POINTING TO THE ANSWER
102 ;
103
104 007376 PUSH R0 ;SAVE VALUE
007376 010046 MOV R0,-(SP)
105 007400 010100 MOV R1,R0 ;.NEGATE SECOND AND THEN
106 007402 CALL KLNEG ;.NEGATE IT
007402 004737 010150' JSR PC,KLNEG
107 007406 011600 MOV (SP),R0 ;.GET OLD ADDRESS
108 007410 CALL KLADD ;AND JUST ADD THEM
007410 004737 007360' JSR PC,KLADD
109 007414 010100 MOV R1,R0 ;.FIX ARG AGAIN
110 007416 CALL KLNEG
007416 004737 010150' JSR PC,KLNEG
111 007422 POP R0 ;RESTORE R0
007422 012600 MOV (SP)+,R0
112 007424 RETURN
007424 000207 RTS PC
113
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1108 13-JAN-78 15:46 PAGE 207
VARIOUS UTILITY ROUTINES/RAB 7509.05
115 .SBTTL VARIOUS UTILITY ROUTINES/RAB 7509.05
116
117 007426 KLXTN::
118 ; THIS ROUTINE CLEARS THE UNUSED BITS IN THE TRIPLET
119 ; REPRESENTING A KL10 WORD
120 ;
121 007426 042760 177760 000004 BIC #177760,4(R0) ;CLEAR GARBAGE
122 007434 000241 CLC ;CLEAR LEFTOVER CARRIES
123 007436 KLXTX:
124 007436 RETURN
007436 000207 RTS PC
125
126 007440 KLADJ1:: ;ADJUST R0 & R1
127 007440 024141 CMP -(R1),-(R1)
128 007442 KLADJ:: ;ADJUST ONLY R0
129 007442 024040 CMP -(R0),-(R0)
130 007444 000770 BR KLXTN ;AND EXTEND IT
131
132 007446 KLTST:: ;TEST KL NUMBER FOR ZERO
133 007446 005710 TST (R0) ;TEST FIRST WORD
134 007450 001010 BNE KLTST2 ; NON ZERO?
135 007452 005760 000002 TST 2(R0) ;TEST SECOND WORD
136 007456 001005 BNE KLTST2 ; NON ZERO?
137 007460 005760 000004 TST 4(R0) ;TEST THIRD WORD
138 007464 001002 BNE KLTST2 ; NON ZERO?
139 007466 KLTST1: ;HERE IF KL ZERO
140 007466 000241 CLC ;CLEAR C BIT
141 007470 000401 BR KLTST3 ;AND GO AWAY
142
143 007472 KLTST2:
144 007472 000261 SEC ;SET C BIT IF NON-ZERO
145 007474 KLTST3:
146 007474 RETURN ; TO CALLER
007474 000207 RTS PC
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1108 13-JAN-78 15:46 PAGE 208
VARIOUS UTILITY ROUTINES/RAB 7509.05
148 007476 KLCMPR:: ;COMPARE TWO KL10 NUMBERS
149 007476 PUSH <(R0)+,(R0)+,(R0),R0>
007476 012046 MOV (R0)+,-(SP)
007500 012046 MOV (R0)+,-(SP)
007502 011046 MOV (R0),-(SP)
007504 010046 MOV R0,-(SP)
150 007506 CALL KLADJ ; ....RESET POINTERS
007506 004737 007442' JSR PC,KLADJ
151 007512 CALL KLSUB ; ....SUBTRACT NUMBERS
007512 004737 007376' JSR PC,KLSUB
152 007516 CALL KLTST ; ....IS EQUAL TO ZERO?
007516 004737 007446' JSR PC,KLTST
153 007522 POP <R0,(R0),-(R0),-(R0)>
007522 012600 MOV (SP)+,R0
007524 012610 MOV (SP)+,(R0)
007526 012640 MOV (SP)+,-(R0)
007530 012640 MOV (SP)+,-(R0)
154 007532 103007 BCC 1$ ; YES, DONE
155 007534 032760 000010 000004 BIT #10,4(R0) ; LESS THAN ZERO?
156 007542 001401 BEQ 2$ ; NO, POSITIVE
157 007544 000270 SEN ; YES -- NEGATIVE
158 007546 2$:
159 007546 000244 CLZ
160 007550 000241 CLC ; NON-ZERO
161 007552 1$:
162 007552 RETURN ;AND RETURN TO USER
007552 000207 RTS PC
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1108 13-JAN-78 15:46 PAGE 209
16 & 36 BIT MANIPULATION ROUTINES
164 .SBTTL 16 & 36 BIT MANIPULATION ROUTINES
165
166 ; KLADDI - ADD 16 BITS TO 36 BITS
167
168 ;
169 ; THIS ROUTINE ADDS A 16 BIT QUANTITY TO A 36 BIT Q
170 ;
171 ;INPUT ARGUMENTS
172 ;
173 ; R0 POINTS TO THE 36 BIT QUANTITY
174 ; R1 CONTAINS THE 16 BIT QUANTITY
175 ;
176 ;OUTPUT ARGUMENTS
177 ;
178 ; R0 POINTS TO THE 36 BIT ANSWER
179
180 007554 KLADDI::
181 007554 005701 TST R1 ;CHECK SIGN OF R1
182 007556 002405 BLT ADSBI ;REALLY SUBTRACTION
183 007560 060120 ADD R1,(R0)+ ;ADD LOWER PARTS
184 007562 005520 ADC (R0)+ ;MIGHT GET A CARRY
185 007564 005510 ADC (R0) ;AND EVEN HERE WE MIGHT
186 007566 KLADIX:
187 007566 000137 007442' JMP KLADJ ;AND ADJUST R0 BACK
188
189 007572 ADSBI:
190 007572 005401 NEG R1 ;TAKE THE NEGAVITE
191 ; [FALLS THROUGH INTO KLSUBI]
192
193 ; KLSUBI - SUBTRACT 16 BITS FROM 36 BITS
194 ;
195 007574 KLSUBI::
196 007574 005701 TST R1 ;CHECK SIGN OF R1
197 007576 003404 BLE SBADI ; REALLY WANTS TO ADD
198 007600 160120 SUB R1,(R0)+ ;SUBTRACT LOW ORDER PARTS
199 007602 005620 SBC (R0)+ ;FIX ALL THE CARRIES
200 007604 005610 SBC (R0)
201 007606 000767 BR KLADIX ;AND GO AWAY
202
203 007610 SBADI:
204 007610 005401 NEG R1 ;MAKE SUB INTO ADD
205 007612 000760 BR KLADDI ;AND JUST ADD TOGETHER
206
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1108 13-JAN-78 15:46 PAGE 210
KLMULI - MULTIPLY 36 BITS BY 16 BITS
208 .SBTTL KLMULI - MULTIPLY 36 BITS BY 16 BITS
209
210 ; THIS ROUTINE MULTIPLIES
211 ;
212 ;INPUT & OUTPUT ARGUMENTS
213 ; ARE AS IN KLADDI
214 ;
215 007614 KLMULI::
216 007614 PUSH <R0,R1,R2,R3> ;SAVE A FEW REGS
007614 010046 MOV R0,-(SP)
007616 010146 MOV R1,-(SP)
007620 010246 MOV R2,-(SP)
007622 010346 MOV R3,-(SP)
217 007624 010002 MOV R0,R2 ;SAVE FROM $MUL
218 007626 010103 MOV R1,R3 ; " " "
219 007630 011200 MOV (R2),R0 ;GET LOW ORDER PART
220 007632 CALL $MUL ;MULTIPLY LOW ORDER PART
007632 004737 000000G JSR PC,$MUL
221 007636 010112 MOV R1,(R2) ;STORE LOW ORDER ANSWER
222 007640 PUSH R0 ;SAVE HIGH ORDER ANSWER
007640 010046 MOV R0,-(SP)
223 007642 016200 000002 MOV 2(R2),R0 ;GET MIDDLE ORDER PART
224 007646 010301 MOV R3,R1 ;GET BACK MULTIPLIER
225 007650 CALL $MUL ;DO MIDDLE PART MULTIPLY
007650 004737 000000G JSR PC,$MUL
226 007654 010162 000002 MOV R1,2(R2) ;SAVE MIDDLE LOW
227 007660 PUSH R0 ;SAVE MIDDLE HIGH FOR LATER
007660 010046 MOV R0,-(SP)
228 007662 016200 000004 MOV 4(R2),R0 ;GET HIGH PART
229 007666 010301 MOV R3,R1 ;GET BACK MULTIPLIER
230 007670 CALL $MUL ;AND MULTIPLY
007670 004737 000000G JSR PC,$MUL
231 007674 010162 000004 MOV R1,4(R2) ;STORE HIGH PART, DISCARD EXCESS
232 007700 POP R1 ;2ND WORD CARRY OVER
007700 012601 MOV (SP)+,R1
233 007702 POP R0 ;LOW WORD CARRY OVER
007702 012600 MOV (SP)+,R0
234 007704 060062 000002 ADD R0,2(R2) ;SO ADD IN
235 007710 005562 000004 ADC 4(R2) ;ADD IN ARITHMETIC CARRY
236 007714 060162 000004 ADD R1,4(R2) ;ADD IN HIGH PART
237 007720 POP <R3,R2,R1,R0>
007720 012603 MOV (SP)+,R3
007722 012602 MOV (SP)+,R2
007724 012601 MOV (SP)+,R1
007726 012600 MOV (SP)+,R0
238 007730 000137 007426' JMP KLXTN ;AND EXTEND ANSWER
239
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1108 13-JAN-78 15:46 PAGE 211
KLDIVI - DIVIDE 36 BITS BY 16 BITS
241 .SBTTL KLDIVI - DIVIDE 36 BITS BY 16 BITS
242
243 007734 KLDIVI::
244 007734 PUSH R0
007734 010046 MOV R0,-(SP)
245 007736 PUSH R1
007736 010146 MOV R1,-(SP)
246 007740 012701 000003 MOV #3,R1
247 007744 CALL KLLSHI ;PRETEND ALWAYS 8
007744 004737 007760' JSR PC,KLLSHI
248 007750 POP R1
007750 012601 MOV (SP)+,R1
249 007752 POP R0
007752 012600 MOV (SP)+,R0
250 007754 RETURN
007754 000207 RTS PC
251
252
253 007756 RETURN
007756 000207 RTS PC
254
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1108 13-JAN-78 15:46 PAGE 212
MORE 16 & 36 BIT MANIPULATION
256 .SBTTL MORE 16 & 36 BIT MANIPULATION
257
258 ;
259 ; SHIFTS A 36 BIT QUANTITY BY A 16 BIT QUANTITY
260 ;
261 ;INPUT ARGUMENTS
262 ;
263 ; R0 POINTS TO THE 36 BIT QUANTITY
264 ; R1 CONTAINS THE 16 BIT QUANTITY
265 ;
266 ;OUTPUT ARGUMENTS
267 ;
268 ; R0 POINTS TO THE 36 BIT ANSWER
269 ;
270 007760 KLLSHI::
271 007760 PUSH R1 ;SAVE FROM ROUTINE
007760 010146 MOV R1,-(SP)
272 007762 005701 TST R1 ;TEST SIGN OF SHIFTER
273 007764 002002 BGE KLLI0 ;REALLY MEANS LEFT
274 007766 005401 NEG R1 ;MEANS RIGHT, SO NEGATE
275 007770 000420 BR KLRI0 ;AND GO RIGHT
276
277 007772 KLLI0:
278 007772 001406 BEQ KLLI1 ;ON ZERO DO NOTHING
279 007774 006320 ASL (R0)+ ;CLEAR C BIT AND SHIFT
280 007776 006120 ROL (R0)+ ;USE C BIT AND SHIFT
281 010000 006110 ROL (R0)
282 010002 024040 CMP -(R0),-(R0) ;POINT BACK TO BEGINNING
283 010004 SOB R1,KLLI0 ;AND LOOP 'TILL DONE
010004 005301 DEC R1
010006 001371 BNE KLLI0
284 010010 KLLI1:
285 010010 POP R1 ;RESTORE R1
010010 012601 MOV (SP)+,R1
286 010012 000137 007426' JMP KLXTN ;FIX EXTRA BITS AND RETURN
287
288 ;
289 ; THIS ROUTINE IS EXACTLY LIKE KLLSHI,
290 ; EXCEPT IT SHIFTS RIGHT.
291
292 010016 KLRSHI::
293 010016 PUSH R1
010016 010146 MOV R1,-(SP)
294 010020 005701 TST R1 ;TEST SIGN OF SHIFTER
295 010022 001772 BEQ KLLI1 ;DO NOTHING FOR ZERO
296 010024 002002 BGE KLRI0
297 010026 005401 NEG R1 ;REALLY MEANT LEFT SHIFT
298 010030 000760 BR KLLI0 ; SO DO IT
299
300 010032 KLRI0:
301 010032 022020 CMP (R0)+,(R0)+ ;FIX PTR TO POINT TO HIGH PART
302 010034 006210 ASR (R0) ;SHIFT HIGH PART
303 010036 006040 ROR -(R0) ;THEN MIDDLE PART
304 010040 006040 ROR -(R0) ;THEN LOW PART
305 010042 SOB R1,KLRI0 ;UNTIL DONE
010042 005301 DEC R1
010044 001372 BNE KLRI0
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1108 13-JAN-78 15:46 PAGE 212-1
MORE 16 & 36 BIT MANIPULATION
306 010046 000760 BR KLLI1
307
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1108 13-JAN-78 15:46 PAGE 214
KL10 LOGICAL OPERATOR SIMULATIONS
310 .SBTTL KL10 LOGICAL OPERATOR SIMULATIONS
311
312 010050 KLIOR::
313 ;
314 ; THIS FUNCTION PERFORMS THE LOGICAL OR OF TWO
315 ; 36 BIT NUMBERS
316 ;
317 ;INPUT ARGUMENTS
318 ;
319 ; R0 POINTS TO ONE 36 BIT QUANTITY
320 ; R1 POINTS TO THE OTHER
321 ;
322 ;OUTPUT ARGUMENTS
323 ;
324 ; R0 POINTS TO THE ANSWER
325 ;
326
327 010050 052120 BIS (R1)+,(R0)+ ;FIRST WORD
328 010052 052120 BIS (R1)+,(R0)+ ;SECOND WORD
329 010054 051110 BIS (R1),(R0) ;LAST WORD
330 010056 KLIORX:
331 010056 000137 007440' JMP KLADJ1 ;AND ADJUST POINTERS
332
333 010062 KLAND::
334 ; THIS PERFORMS LOGICAL AND
335 ; ARGUMENTS ARE EXACTLY AS FOR KLIOR
336 ;
337 010062 CALL KLCMP ;PDP-11 LACKS AND
010062 004737 010136' JSR PC,KLCMP
338 010066 042120 BIC (R1)+,(R0)+ ;SO DO -(-A)+B
339 010070 042120 BIC (R1)+,(R0)+ ;FOR ALL THE WORDS
340 010072 041110 BIC (R1),(R0)
341 010074 000770 BR KLIORX ;TO SAVE THE JUMP WORD
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1108 13-JAN-78 15:46 PAGE 215
MORE KL10 LOGICAL OPERATORS
343 .SBTTL MORE KL10 LOGICAL OPERATORS
344
345 ;
346 ; THIS ROUTINE INCREMENTS A 36 BIT QUANTITY
347 ;
348 ;INPUT ARGUMENTS
349 ;
350 ; R0 POINTS TO THE NUMBER TO BE INCREMENTED
351 ;
352 ;OUTPUT ARGUMENTS
353 ;
354 ; THE NUMBER POINTED TO IS INCREMENTED
355 ;
356
357 010076 KLINC::
358 010076 062720 000001 ADD #1,(R0)+ ;DO THE INCREMENT
359 010102 005520 ADC (R0)+ ;AND CARRY THE CARRIES
360 010104 005510 ADC (R0)
361 010106 KLINCX:
362 010106 000137 007442' JMP KLADJ ;AND READJUST POINTERS
363
364 ;
365 ; THIS ROUTINE DECREMENTS A 36 BIT QUANTITY. ARGUMENTS
366 ; ARE AS FOR KLINC.
367 ;
368
369 010112 KLDEC::
370 010112 162720 000001 SUB #1,(R0)+ ;DO THE DECREMENT
371 010116 005620 SBC (R0)+ ;AND STRAIGHTEN OUT THE CARRIES
372 010120 005610 SBC (R0)
373 010122 000771 BR KLINCX ;TO SAVE THE JUMP WORD
374
375
376 ;
377 ; THIS ROUTINE SETS A 36 BIT QUANTITY TO MINUS ONE.
378 ; ARGUMENTS ARE AS FOR "KLINC" AND "KLDEC".
379 ;
380
381 010124 KLSETO::
382 010124 CALL KLCLR ; MAKE IT ZERO
010124 004737 010220' JSR PC,KLCLR
383 010130 CALL KLCMP ; NOW MAKE IT -1
010130 004737 010136' JSR PC,KLCMP
384 010134 RETURN ; AND GO AWAY
010134 000207 RTS PC
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1108 13-JAN-78 15:46 PAGE 216
MORE MISC KL FUNCTIONS/RAB 7509.19
386 .SBTTL MORE MISC KL FUNCTIONS/RAB 7509.19
387
388 010136 KLCMP::
389 ;
390 ; THIS ROUTINE COMPLEMENTS (2) THE 36 BIT
391 ; QUANTITY
392 ;
393 ;INPUT ARGUMENTS
394 ;
395 ; R0 POINTS TO THE QUANTITY
396 ;
397 ;OUTPUT ARGUMENTS
398 ;
399 ; R0 POINTS TO THE ANSWER
400 ;
401 010136 005120 COM (R0)+ ;DO IT ONCE
402 010140 005120 COM (R0)+ ;FOR EACH
403 010142 005110 COM (R0) ; *OF THE WORDS AND THEN
404 010144 KLCMPX:
405 010144 000137 007442' JMP KLADJ ;SIGN EXTEND
406
407 010150 KLNEG::
408 ; THIS ROUTINE NEGATES A 36 BIT QUANTITY
409 ;
410 ;INPUT ARGUMENTS
411 ;
412 ; R0 POINTS TO THE QUANTITY
413 ;;
414 ;OUTPUT ARGUMENTS
415 ;
416 ; R0 POINTS TO THE ANSWER
417 ;
418 010150 CALL KLCMP ;FIRST COMPLEMENT
010150 004737 010136' JSR PC,KLCMP
419 010154 CALL KLINC ;-0 + NOT(0)+1
010154 004737 010076' JSR PC,KLINC
420 010160 RETURN ;TO CALLER
010160 000207 RTS PC
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1108 13-JAN-78 15:46 PAGE 217
KLLSH - SHIFT A KL NUMBER
422 .SBTTL KLLSH - SHIFT A KL NUMBER
423
424 ; THIS ROUTINE SHIFTS ONE KL FORMAT
425 ; NUMBER BY ANOTHER
426 ;
427 ;INPUT ARGUMENTS
428 ;
429 ; R0 POINTS TO THE NUMBER TO BE SHIFTED
430 ; R1 POINTS TO THE NUMBER WHICH INDICATES
431 ; THE NUMBER OF POSITIONS TO SHIFT
432 ;
433 ; OUTPUT ARGUMENTS
434 ;
435 ; R0 STILL POINTS TO THE NUMBER, BUT SHIFTED
436 ;
437 010162 KLLSH::
438 010162 PUSH R1 ;SAVE FROM BELOW
010162 010146 MOV R1,-(SP)
439 010164 032761 000010 000004 BIT #10,4(R1) ;TEST SIGN BIT
440 010172 001004 BNE KLLSHR ;IF NON-ZERO, NEGATIVE
441 010174 011101 MOV (R1),R1 ;PICK UP LOW PART
442 010176 CALL KLLSHI ;DO THE SHIFT
010176 004737 007760' JSR PC,KLLSHI
443 010202 000404 BR KLLSHX ;AND RETURN
444
445 010204 KLLSHR: ;LEFT SHIFT, BUT RIGHT?
446 010204 011101 MOV (R1),R1 ;PICK UP LOW PART
447 010206 005401 NEG R1 ; NEGATE IT
448 010210 CALL KLRSHI ;SHIFT RIGHT
010210 004737 010016' JSR PC,KLRSHI
449 010214 KLLSHX:
450 010214 POP R1 ;RESTORE R1
010214 012601 MOV (SP)+,R1
451 010216 RETURN ;AND RETURN
010216 000207 RTS PC
452
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1108 13-JAN-78 15:46 PAGE 218
KLCLR - CLEAR A KL FORMAT NUMBER
454 .SBTTL KLCLR - CLEAR A KL FORMAT NUMBER
455
456 ;
457 ;INPUT ARGUMENTS
458 ;
459 ; R0 POINTS TO THE KL NUMBER
460 ;
461 ;OUTPUT ARGUMENTS
462 ;
463 ; THE NUMBER POINTED TO IS CLEARED
464 ;
465
466 010220 KLCLR::
467 010220 005020 CLR (R0)+
468 010222 005020 CLR (R0)+
469 010224 005010 CLR (R0)
470 010226 000137 007442' JMP KLADJ ;AND RETURN
471
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1108 13-JAN-78 15:46 PAGE 219
KLRSH SHIFT A NUMBER RIGHT
473 .SBTTL KLRSH SHIFT A NUMBER RIGHT
474
475 ;
476 ;INPUT AND OUTPUT ARGS ARE SAME AS KLLSH
477 ;
478
479 010232 KLRSH::
480 010232 005401 NEG R1
481 010234 CALL KLLSH ;HACK HACK
010234 004737 010162' JSR PC,KLLSH
482 010240 005401 NEG R1
483 010242 RETURN
010242 000207 RTS PC
484
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1108 13-JAN-78 15:46 PAGE 220
KLRSH SHIFT A NUMBER RIGHT
486 ; [THE END OF THE ARITHMETIC FUNCTIONS]
KLPERR KL10 FRONT END ERROR DE MACRO M1108 13-JAN-78 15:46 PAGE 222
KLRSH SHIFT A NUMBER RIGHT
1 .TITLE KLPERR KL10 FRONT END ERROR DECODER (PAG)/RAB 7509.08
2 .SBTTL KLPERR -- TITLE PAGE
3
4 .IDENT /002000/
5
6 ; COPYRIGHT (C) 1975, 1978 BY
7 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
8 ;
9 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
10 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
11 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
12 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
13 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
14 ;
15 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
16 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
17 ; CORPORATION.
18 ;
19 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
20 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
21
22
23
24 ; VERSION: 02-00
25 ;
26 ; AUTHORS: R.A. BELANGER
27 ; P.A. GAGNER
28 ; T.C. PORCHER
29 ; R.C. BEAVEN
30 ;
31 ; DATE: 7601.09
KLPERR KL10 FRONT END ERROR DE MACRO M1108 13-JAN-78 15:46 PAGE 223
*ERROR SEVERITY RANGES* 7509.08
33 .SBTTL *ERROR SEVERITY RANGES* 7509.08
34
35 ; THE FOLLOWING ARE SUGGESTED "SEVERITY RANGES"
36 ;
37 ; 00-07 ERROR NOT VERY SEVERE, WARNING
38 ; 00 IS USUALLY DIAGNOSTIC WARNING MSG
39 ; 10-17 TRUE ERROR, BUT NOT FATAL
40 ; 20-27 ERROR WHICH WILL NOT PERFORM FUNCTION
41 ; 30-37 ERROR WHICH WILL AFFECT SOMETHING ELSE
42 ; OR INVALIDATE STATE OF MACHINE
43 ; 40-47 ERROR WHICH WILL NOT LET KL10 RUN
44 ; 50-77 FATAL ERROR, PDP-11 PROBABLY DEAD, OR
45 ; PDP-11 PROGRAM FATAL FLAW
KLPERR KL10 FRONT END ERROR DE MACRO M1108 13-JAN-78 15:46 PAGE 224
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509
47 .SBTTL ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509.08
48
49 000000 .PSECT SYMTBS
50
51 000000 ERRTBL::
52 000000 CPERR APC,30,<CACHE DIRECTORY PARITY ERROR>
000002 101 120 103 .ASCIZ %APC - CACHE DIRECTORY PARITY ERROR%
000005 040 055 040
000010 103 101 103
000013 110 105 040
000016 104 111 122
000021 105 103 124
000024 117 122 131
000027 040 120 101
000032 122 111 124
000035 131 040 105
000040 122 122 117
000043 122 000
000000 004303 .RAD50 /APC/ ; APC ERROR
000002 000030 .WORD 30 ; SEVERITY WORD
000004 000002' .WORD SYMA ; LOCATION OF ASCII STRNG
53 000006 CPERR APM,30,<MEMORY BUS PARITY ERROR>
000045 101 120 115 .ASCIZ %APM - MEMORY BUS PARITY ERROR%
000050 040 055 040
000053 115 105 115
000056 117 122 131
000061 040 102 125
000064 123 040 120
000067 101 122 111
000072 124 131 040
000075 105 122 122
000100 117 122 000
000006 004315 .RAD50 /APM/ ; APM ERROR
000010 000030 .WORD 30 ; SEVERITY WORD
000012 000045' .WORD SYMA ; LOCATION OF ASCII STRNG
54 000014 CPERR APN,30,<KL10 NON EX MEMORY ERROR>
000103 101 120 116 .ASCIZ %APN - KL10 NON EX MEMORY ERROR%
000106 040 055 040
000111 113 114 061
000114 060 040 116
000117 117 116 040
000122 105 130 040
000125 115 105 115
000130 117 122 131
000133 040 105 122
000136 122 117 122
000141 000
000014 004316 .RAD50 /APN/ ; APN ERROR
000016 000030 .WORD 30 ; SEVERITY WORD
000020 000103' .WORD SYMA ; LOCATION OF ASCII STRNG
55 000022 CPERR APP,30,<KL10 PAGE FAILURE>
000142 101 120 120 .ASCIZ %APP - KL10 PAGE FAILURE%
000145 040 055 040
000150 113 114 061
000153 060 040 120
000156 101 107 105
000161 040 106 101
KLPERR KL10 FRONT END ERROR DE MACRO M1108 13-JAN-78 15:46 PAGE 224-1
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509
000164 111 114 125
000167 122 105 000
000022 004320 .RAD50 /APP/ ; APP ERROR
000024 000030 .WORD 30 ; SEVERITY WORD
000026 000142' .WORD SYMA ; LOCATION OF ASCII STRNG
56 000030 CPERR APR,30,<KL10 APR ERROR>
000172 101 120 122 .ASCIZ %APR - KL10 APR ERROR%
000175 040 055 040
000200 113 114 061
000203 060 040 101
000206 120 122 040
000211 105 122 122
000214 117 122 000
000030 004322 .RAD50 /APR/ ; APR ERROR
000032 000030 .WORD 30 ; SEVERITY WORD
000034 000172' .WORD SYMA ; LOCATION OF ASCII STRNG
57 000036 CPERR APS,30,<KL10 S-BUS ERROR>
000217 101 120 123 .ASCIZ %APS - KL10 S-BUS ERROR%
000222 040 055 040
000225 113 114 061
000230 060 040 123
000233 055 102 125
000236 123 040 105
000241 122 122 117
000244 122 000
000036 004323 .RAD50 /APS/ ; APS ERROR
000040 000030 .WORD 30 ; SEVERITY WORD
000042 000217' .WORD SYMA ; LOCATION OF ASCII STRNG
58
59 000044 CPERR BAE,10,<ARGUMENT OUT OF RANGE (.GT. 255.)>
000246 102 101 105 .ASCIZ %BAE - ARGUMENT OUT OF RANGE (.GT. 255.)%
000251 040 055 040
000254 101 122 107
000257 125 115 105
000262 116 124 040
000265 117 125 124
000270 040 117 106
000273 040 122 101
000276 116 107 105
000301 040 050 056
000304 107 124 056
000307 040 062 065
000312 065 056 051
000315 000
000044 006255 .RAD50 /BAE/ ; BAE ERROR
000046 000010 .WORD 10 ; SEVERITY WORD
000050 000246' .WORD SYMA ; LOCATION OF ASCII STRNG
60 000052 CPERR BAS,10,<THIS COMMAND IS NOT AVAILABLE>
000316 102 101 123 .ASCIZ %BAS - THIS COMMAND IS NOT AVAILABLE%
000321 040 055 040
000324 124 110 111
000327 123 040 103
000332 117 115 115
000335 101 116 104
000340 040 111 123
000343 040 116 117
000346 124 040 101
KLPERR KL10 FRONT END ERROR DE MACRO M1108 13-JAN-78 15:46 PAGE 224-2
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509
000351 126 101 111
000354 114 101 102
000357 114 105 000
000052 006273 .RAD50 /BAS/ ; BAS ERROR
000054 000010 .WORD 10 ; SEVERITY WORD
000056 000316' .WORD SYMA ; LOCATION OF ASCII STRNG
61
62 000060 CPERR CAE,40,<KL10 CRAM ADDRESS ERROR>
000362 103 101 105 .ASCIZ %CAE - KL10 CRAM ADDRESS ERROR%
000365 040 055 040
000370 113 114 061
000373 060 040 103
000376 122 101 115
000401 040 101 104
000404 104 122 105
000407 123 123 040
000412 105 122 122
000415 117 122 000
000060 011355 .RAD50 /CAE/ ; CAE ERROR
000062 000040 .WORD 40 ; SEVERITY WORD
000064 000362' .WORD SYMA ; LOCATION OF ASCII STRNG
63 000066 CPERR CCC,30,<CANT CLEAR KL10 CLOCK>
000420 103 103 103 .ASCIZ %CCC - CANT CLEAR KL10 CLOCK%
000423 040 055 040
000426 103 101 116
000431 124 040 103
000434 114 105 101
000437 122 040 113
000442 114 061 060
000445 040 103 114
000450 117 103 113
000453 000
000066 011473 .RAD50 /CCC/ ; CCC ERROR
000070 000030 .WORD 30 ; SEVERITY WORD
000072 000420' .WORD SYMA ; LOCATION OF ASCII STRNG
64 000074 CPERR CCR,30,<CANT CLEAR KL10 RUN FLOP>
000454 103 103 122 .ASCIZ %CCR - CANT CLEAR KL10 RUN FLOP%
000457 040 055 040
000462 103 101 116
000465 124 040 103
000470 114 105 101
000473 122 040 113
000476 114 061 060
000501 040 122 125
000504 116 040 106
000507 114 117 120
000512 000
000074 011512 .RAD50 /CCR/ ; CCR ERROR
000076 000030 .WORD 30 ; SEVERITY WORD
000100 000454' .WORD SYMA ; LOCATION OF ASCII STRNG
65 000102 CPERR CCS,30,<CANT START KL10 CLOCK>
000513 103 103 123 .ASCIZ %CCS - CANT START KL10 CLOCK%
000516 040 055 040
000521 103 101 116
000524 124 040 123
000527 124 101 122
000532 124 040 113
KLPERR KL10 FRONT END ERROR DE MACRO M1108 13-JAN-78 15:46 PAGE 224-3
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509
000535 114 061 060
000540 040 103 114
000543 117 103 113
000546 000
000102 011513 .RAD50 /CCS/ ; CCS ERROR
000104 000030 .WORD 30 ; SEVERITY WORD
000106 000513' .WORD SYMA ; LOCATION OF ASCII STRNG
66 000110 CPERR CCT,0,<CONTROL-C TYPED>
000547 103 103 124 .ASCIZ %CCT - CONTROL-C TYPED%
000552 040 055 040
000555 103 117 116
000560 124 122 117
000563 114 055 103
000566 040 124 131
000571 120 105 104
000574 000
000110 011514 .RAD50 /CCT/ ; CCT ERROR
000112 000000 .WORD 0 ; SEVERITY WORD
000114 000547' .WORD SYMA ; LOCATION OF ASCII STRNG
67 000116 CPERR CES,47,<KL10 CLOCK ERROR STOP>
000575 103 105 123 .ASCIZ %CES - KL10 CLOCK ERROR STOP%
000600 040 055 040
000603 113 114 061
000606 060 040 103
000611 114 117 103
000614 113 040 105
000617 122 122 117
000622 122 040 123
000625 124 117 120
000630 000
000116 011633 .RAD50 /CES/ ; CES ERROR
000120 000047 .WORD 47 ; SEVERITY WORD
000122 000575' .WORD SYMA ; LOCATION OF ASCII STRNG
68 000124 CPERR CFH,20,<CANT FIND KL10 HALT LOOP>
000631 103 106 110 .ASCIZ %CFH - CANT FIND KL10 HALT LOOP%
000634 040 055 040
000637 103 101 116
000642 124 040 106
000645 111 116 104
000650 040 113 114
000653 061 060 040
000656 110 101 114
000661 124 040 114
000664 117 117 120
000667 000
000124 011670 .RAD50 /CFH/ ; CFH ERROR
000126 000020 .WORD 20 ; SEVERITY WORD
000130 000631' .WORD SYMA ; LOCATION OF ASCII STRNG
69 000132 CPERR CSC,20,<CANT SYNC KL10 CLOCK>
000670 103 123 103 .ASCIZ %CSC - CANT SYNC KL10 CLOCK%
000673 040 055 040
000676 103 101 116
000701 124 040 123
000704 131 116 103
000707 040 113 114
000712 061 060 040
000715 103 114 117
KLPERR KL10 FRONT END ERROR DE MACRO M1108 13-JAN-78 15:46 PAGE 224-4
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509
000720 103 113 000
000132 012673 .RAD50 /CSC/ ; CSC ERROR
000134 000020 .WORD 20 ; SEVERITY WORD
000136 000670' .WORD SYMA ; LOCATION OF ASCII STRNG
70 000140 CPERR CSR,20,<CANT SET KL10 RUN FLOP>
000723 103 123 122 .ASCIZ %CSR - CANT SET KL10 RUN FLOP%
000726 040 055 040
000731 103 101 116
000734 124 040 123
000737 105 124 040
000742 113 114 061
000745 060 040 122
000750 125 116 040
000753 106 114 117
000756 120 000
000140 012712 .RAD50 /CSR/ ; CSR ERROR
000142 000020 .WORD 20 ; SEVERITY WORD
000144 000723' .WORD SYMA ; LOCATION OF ASCII STRNG
71
72 000146 CPERR DAE,37,<KL10 DRAM ADDRESS ERROR>
000760 104 101 105 .ASCIZ %DAE - KL10 DRAM ADDRESS ERROR%
000763 040 055 040
000766 113 114 061
000771 060 040 104
000774 122 101 115
000777 040 101 104
001002 104 122 105
001005 123 123 040
001010 105 122 122
001013 117 122 000
000146 014455 .RAD50 /DAE/ ; DAE ERROR
000150 000037 .WORD 37 ; SEVERITY WORD
000152 000760' .WORD SYMA ; LOCATION OF ASCII STRNG
73 000154 CPERR DMF,47,<DEPOSIT KL10 MEMORY FAILED>
001016 104 115 106 .ASCIZ %DMF - DEPOSIT KL10 MEMORY FAILED%
001021 040 055 040
001024 104 105 120
001027 117 123 111
001032 124 040 113
001035 114 061 060
001040 040 115 105
001043 115 117 122
001046 131 040 106
001051 101 111 114
001054 105 104 000
000154 015416 .RAD50 /DMF/ ; DMF ERROR
000156 000047 .WORD 47 ; SEVERITY WORD
000160 001016' .WORD SYMA ; LOCATION OF ASCII STRNG
74 000162 CPERR DNP,77,<DTE-20 NOT PRIVILEDGED, NO KL10 OPERATIONS ARE LEGAL>
001057 104 116 120 .ASCIZ %DNP - DTE-20 NOT PRIVILEDGED, NO KL10 OPERATIONS ARE LEGAL%
001062 040 055 040
001065 104 124 105
001070 055 062 060
001073 040 116 117
001076 124 040 120
001101 122 111 126
001104 111 114 105
KLPERR KL10 FRONT END ERROR DE MACRO M1108 13-JAN-78 15:46 PAGE 224-5
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509
001107 104 107 105
001112 104 054 040
001115 116 117 040
001120 113 114 061
001123 060 040 117
001126 120 105 122
001131 101 124 111
001134 117 116 123
001137 040 101 122
001142 105 040 114
001145 105 107 101
001150 114 000
000162 015500 .RAD50 /DNP/ ; DNP ERROR
000164 000077 .WORD 77 ; SEVERITY WORD
000166 001057' .WORD SYMA ; LOCATION OF ASCII STRNG
75 000170 CPERR DSF,50,<DTE-20 STATUS FAILURE>
001152 104 123 106 .ASCIZ %DSF - DTE-20 STATUS FAILURE%
001155 040 055 040
001160 104 124 105
001163 055 062 060
001166 040 123 124
001171 101 124 125
001174 123 040 106
001177 101 111 114
001202 125 122 105
001205 000
000170 015776 .RAD50 /DSF/ ; DSF ERROR
000172 000050 .WORD 50 ; SEVERITY WORD
000174 001152' .WORD SYMA ; LOCATION OF ASCII STRNG
76 000176 CPERR DTC,77,<RUN AND HALT LOOP BOTH ON>
001206 104 124 103 .ASCIZ %DTC - RUN AND HALT LOOP BOTH ON%
001211 040 055 040
001214 122 125 116
001217 040 101 116
001222 104 040 110
001225 101 114 124
001230 040 114 117
001233 117 120 040
001236 102 117 124
001241 110 040 117
001244 116 000
000176 016043 .RAD50 /DTC/ ; DTC ERROR
000200 000077 .WORD 77 ; SEVERITY WORD
000202 001206' .WORD SYMA ; LOCATION OF ASCII STRNG
77
78 000204 CPERR ECT,77,<EBOX CLOCK TIMEOUT>
001246 105 103 124 .ASCIZ %ECT - EBOX CLOCK TIMEOUT%
001251 040 055 040
001254 105 102 117
001257 130 040 103
001262 114 117 103
001265 113 040 124
001270 111 115 105
001273 117 125 124
001276 000
000204 017714 .RAD50 /ECT/ ; ECT ERROR
000206 000077 .WORD 77 ; SEVERITY WORD
KLPERR KL10 FRONT END ERROR DE MACRO M1108 13-JAN-78 15:46 PAGE 224-6
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509
000210 001246' .WORD SYMA ; LOCATION OF ASCII STRNG
79 000212 CPERR EOA,10,<PDP-11 ODD ADDRESS ILLEGAL>
001277 105 117 101 .ASCIZ %EOA - PDP-11 ODD ADDRESS ILLEGAL%
001302 040 055 040
001305 120 104 120
001310 055 061 061
001313 040 117 104
001316 104 040 101
001321 104 104 122
001324 105 123 123
001327 040 111 114
001332 114 105 107
001335 101 114 000
000212 020631 .RAD50 /EOA/ ; EOA ERROR
000214 000010 .WORD 10 ; SEVERITY WORD
000216 001277' .WORD SYMA ; LOCATION OF ASCII STRNG
80 000220 CPERR ESD,47,<EBOX STOPPED - DEPOSIT>
001340 105 123 104 .ASCIZ %ESD - EBOX STOPPED - DEPOSIT%
001343 040 055 040
001346 105 102 117
001351 130 040 123
001354 124 117 120
001357 120 105 104
001362 040 055 040
001365 104 105 120
001370 117 123 111
001373 124 000
000220 021074 .RAD50 /ESD/ ; ESD ERROR
000222 000047 .WORD 47 ; SEVERITY WORD
000224 001340' .WORD SYMA ; LOCATION OF ASCII STRNG
81 000226 CPERR EMF,47,<EXAMINE KL10 MEMORY FAILED>
001375 105 115 106 .ASCIZ %EMF - EXAMINE KL10 MEMORY FAILED%
001400 040 055 040
001403 105 130 101
001406 115 111 116
001411 105 040 113
001414 114 061 060
001417 040 115 105
001422 115 117 122
001425 131 040 106
001430 101 111 114
001433 105 104 000
000226 020516 .RAD50 /EMF/ ; EMF ERROR
000230 000047 .WORD 47 ; SEVERITY WORD
000232 001375' .WORD SYMA ; LOCATION OF ASCII STRNG
82 000234 CPERR EPE,77,<EBUS PARITY ERROR>
001436 105 120 105 .ASCIZ %EPE - EBUS PARITY ERROR%
001441 040 055 040
001444 105 102 125
001447 123 040 120
001452 101 122 111
001455 124 131 040
001460 105 122 122
001463 117 122 000
000234 020705 .RAD50 /EPE/ ; EPE ERROR
000236 000077 .WORD 77 ; SEVERITY WORD
000240 001436' .WORD SYMA ; LOCATION OF ASCII STRNG
KLPERR KL10 FRONT END ERROR DE MACRO M1108 13-JAN-78 15:46 PAGE 224-7
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509
83 000242 CPERR ESE,47,<EBOX STOPPED - EXAMINE>
001466 105 123 105 .ASCIZ %ESE - EBOX STOPPED - EXAMINE%
001471 040 055 040
001474 105 102 117
001477 130 040 123
001502 124 117 120
001505 120 105 104
001510 040 055 040
001513 105 130 101
001516 115 111 116
001521 105 000
000242 021075 .RAD50 /ESE/ ; ESE ERROR
000244 000047 .WORD 47 ; SEVERITY WORD
000246 001466' .WORD SYMA ; LOCATION OF ASCII STRNG
84 000250 CPERR EVN,30,<PDP-11 NUMBER ERROR>
001523 105 126 116 .ASCIZ %EVN - PDP-11 NUMBER ERROR%
001526 040 055 040
001531 120 104 120
001534 055 061 061
001537 040 116 125
001542 115 102 105
001545 122 040 105
001550 122 122 117
001553 122 000
000250 021276 .RAD50 /EVN/ ; EVN ERROR
000252 000030 .WORD 30 ; SEVERITY WORD
000254 001523' .WORD SYMA ; LOCATION OF ASCII STRNG
85
86 000256 CPERR FRF,20,<FUNCTION READ FAILED>
001555 106 122 106 .ASCIZ %FRF - FUNCTION READ FAILED%
001560 040 055 040
001563 106 125 116
001566 103 124 111
001571 117 116 040
001574 122 105 101
001577 104 040 106
001602 101 111 114
001605 105 104 000
000256 024126 .RAD50 /FRF/ ; FRF ERROR
000260 000020 .WORD 20 ; SEVERITY WORD
000262 001555' .WORD SYMA ; LOCATION OF ASCII STRNG
87 000264 CPERR FWF,20,<FUNCTION WRITE FAILED>
001610 106 127 106 .ASCIZ %FWF - FUNCTION WRITE FAILED%
001613 040 055 040
001616 106 125 116
001621 103 124 111
001624 117 116 040
001627 127 122 111
001632 124 105 040
001635 106 101 111
001640 114 105 104
001643 000
000264 024436 .RAD50 /FWF/ ; FWF ERROR
000266 000020 .WORD 20 ; SEVERITY WORD
000270 001610' .WORD SYMA ; LOCATION OF ASCII STRNG
88 000272 CPERR FXF,20,<FUNCTION XCT FAILED>
001644 106 130 106 .ASCIZ %FXF - FUNCTION XCT FAILED%
KLPERR KL10 FRONT END ERROR DE MACRO M1108 13-JAN-78 15:46 PAGE 224-8
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509
001647 040 055 040
001652 106 125 116
001655 103 124 111
001660 117 116 040
001663 130 103 124
001666 040 106 101
001671 111 114 105
001674 104 000
000272 024506 .RAD50 /FXF/ ; FXF ERROR
000274 000020 .WORD 20 ; SEVERITY WORD
000276 001644' .WORD SYMA ; LOCATION OF ASCII STRNG
89
90 000300 CPERR IAS,10,<ILLEGAL ARGUMENT FOR SET/CLEAR COMMAND>
001676 111 101 123 .ASCIZ %IAS - ILLEGAL ARGUMENT FOR SET/CLEAR COMMAND%
001701 040 055 040
001704 111 114 114
001707 105 107 101
001712 114 040 101
001715 122 107 125
001720 115 105 116
001723 124 040 106
001726 117 122 040
001731 123 105 124
001734 057 103 114
001737 105 101 122
001742 040 103 117
001745 115 115 101
001750 116 104 000
000300 034173 .RAD50 /IAS/ ; IAS ERROR
000302 000010 .WORD 10 ; SEVERITY WORD
000304 001676' .WORD SYMA ; LOCATION OF ASCII STRNG
91 000306 CPERR IFC,10,<ILLEGAL FUNCTION CODE>
001753 111 106 103 .ASCIZ %IFC - ILLEGAL FUNCTION CODE%
001756 040 055 040
001761 111 114 114
001764 105 107 101
001767 114 040 106
001772 125 116 103
001775 124 111 117
002000 116 040 103
002003 117 104 105
002006 000
000306 034463 .RAD50 /IFC/ ; IFC ERROR
000310 000010 .WORD 10 ; SEVERITY WORD
000312 001753' .WORD SYMA ; LOCATION OF ASCII STRNG
92 000314 CPERR ILA,10,<ILLEGAL ARGUMENT FOR COMMAND>
002007 111 114 101 .ASCIZ %ILA - ILLEGAL ARGUMENT FOR COMMAND%
002012 040 055 040
002015 111 114 114
002020 105 107 101
002023 114 040 101
002026 122 107 125
002031 115 105 116
002034 124 040 106
002037 117 122 040
002042 103 117 115
002045 115 101 116
KLPERR KL10 FRONT END ERROR DE MACRO M1108 13-JAN-78 15:46 PAGE 224-9
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509
002050 104 000
000314 035041 .RAD50 /ILA/ ; ILA ERROR
000316 000010 .WORD 10 ; SEVERITY WORD
000320 002007' .WORD SYMA ; LOCATION OF ASCII STRNG
93 000322 CPERR ILC,10,<ILLEGAL CHARACTER IN STRING>
002052 111 114 103 .ASCIZ %ILC - ILLEGAL CHARACTER IN STRING%
002055 040 055 040
002060 111 114 114
002063 105 107 101
002066 114 040 103
002071 110 101 122
002074 101 103 124
002077 105 122 040
002102 111 116 040
002105 123 124 122
002110 111 116 107
002113 000
000322 035043 .RAD50 /ILC/ ; ILC ERROR
000324 000010 .WORD 10 ; SEVERITY WORD
000326 002052' .WORD SYMA ; LOCATION OF ASCII STRNG
94 000330 CPERR ILL,10,<ILLEGAL LINE TO COMMAND PARSER>
002114 111 114 114 .ASCIZ %ILL - ILLEGAL LINE TO COMMAND PARSER%
002117 040 055 040
002122 111 114 114
002125 105 107 101
002130 114 040 114
002133 111 116 105
002136 040 124 117
002141 040 103 117
002144 115 115 101
002147 116 104 040
002152 120 101 122
002155 123 105 122
002160 000
000330 035054 .RAD50 /ILL/ ; ILL ERROR
000332 000010 .WORD 10 ; SEVERITY WORD
000334 002114' .WORD SYMA ; LOCATION OF ASCII STRNG
95 000336 CPERR ILP,10,<CLEAR CLOCK/PARITY ARGUMENTS REQUIRED>
002161 111 114 120 .ASCIZ %ILP - CLEAR CLOCK/PARITY ARGUMENTS REQUIRED%
002164 040 055 040
002167 103 114 105
002172 101 122 040
002175 103 114 117
002200 103 113 057
002203 120 101 122
002206 111 124 131
002211 040 101 122
002214 107 125 115
002217 105 116 124
002222 123 040 122
002225 105 121 125
002230 111 122 105
002233 104 000
000336 035060 .RAD50 /ILP/ ; ILP ERROR
000340 000010 .WORD 10 ; SEVERITY WORD
000342 002161' .WORD SYMA ; LOCATION OF ASCII STRNG
96 000344 CPERR ILS,10,<ILLEGAL SEPARATOR CHARACTER>
KLPERR KL10 FRONT END ERROR DE MACRO M1108 13-JAN-78 15:46 PAGE 224-10
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509
002235 111 114 123 .ASCIZ %ILS - ILLEGAL SEPARATOR CHARACTER%
002240 040 055 040
002243 111 114 114
002246 105 107 101
002251 114 040 123
002254 105 120 101
002257 122 101 124
002262 117 122 040
002265 103 110 101
002270 122 101 103
002273 124 105 122
002276 000
000344 035063 .RAD50 /ILS/ ; ILS ERROR
000346 000010 .WORD 10 ; SEVERITY WORD
000350 002235' .WORD SYMA ; LOCATION OF ASCII STRNG
97 000352 CPERR IOC,10,<ILLEGAL KL10 OPCODE>
002277 111 117 103 .ASCIZ %IOC - ILLEGAL KL10 OPCODE%
002302 040 055 040
002305 111 114 114
002310 105 107 101
002313 114 040 113
002316 114 061 060
002321 040 117 120
002324 103 117 104
002327 105 000
000352 035233 .RAD50 /IOC/ ; IOC ERROR
000354 000010 .WORD 10 ; SEVERITY WORD
000356 002277' .WORD SYMA ; LOCATION OF ASCII STRNG
98 000360 CPERR IPE,77,<INTERNAL PROGRAMMING ERROR>
002331 111 120 105 .ASCIZ %IPE - INTERNAL PROGRAMMING ERROR%
002334 040 055 040
002337 111 116 124
002342 105 122 116
002345 101 114 040
002350 120 122 117
002353 107 122 101
002356 115 115 111
002361 116 107 040
002364 105 122 122
002367 117 122 000
000360 035305 .RAD50 /IPE/ ; IPE ERROR
000362 000077 .WORD 77 ; SEVERITY WORD
000364 002331' .WORD SYMA ; LOCATION OF ASCII STRNG
99
100 000366 CPERR KLA,20,<KL10 ILLEGAL ADDRESS>
002372 113 114 101 .ASCIZ %KLA - KL10 ILLEGAL ADDRESS%
002375 040 055 040
002400 113 114 061
002403 060 040 111
002406 114 114 105
002411 107 101 114
002414 040 101 104
002417 104 122 105
002422 123 123 000
000366 043241 .RAD50 /KLA/ ; KLA ERROR
000370 000020 .WORD 20 ; SEVERITY WORD
000372 002372' .WORD SYMA ; LOCATION OF ASCII STRNG
KLPERR KL10 FRONT END ERROR DE MACRO M1108 13-JAN-78 15:46 PAGE 224-11
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509
101 000374 CPERR KLC,50,<KL10 CLOCK NOT RUNNING>
002425 113 114 103 .ASCIZ %KLC - KL10 CLOCK NOT RUNNING%
002430 040 055 040
002433 113 114 061
002436 060 040 103
002441 114 117 103
002444 113 040 116
002447 117 124 040
002452 122 125 116
002455 116 111 116
002460 107 000
000374 043243 .RAD50 /KLC/ ; KLC ERROR
000376 000050 .WORD 50 ; SEVERITY WORD
000400 002425' .WORD SYMA ; LOCATION OF ASCII STRNG
102 000402 CPERR KLN,50,<KL10 NUMBER OUT OF RANGE>
002462 113 114 116 .ASCIZ %KLN - KL10 NUMBER OUT OF RANGE%
002465 040 055 040
002470 113 114 061
002473 060 040 116
002476 125 115 102
002501 105 122 040
002504 117 125 124
002507 040 117 106
002512 040 122 101
002515 116 107 105
002520 000
000402 043256 .RAD50 /KLN/ ; KLN ERROR
000404 000050 .WORD 50 ; SEVERITY WORD
000406 002462' .WORD SYMA ; LOCATION OF ASCII STRNG
103 000410 CPERR KLR,20,<ILLEGAL WHILE KL10 RUNNING>
002521 113 114 122 .ASCIZ %KLR - ILLEGAL WHILE KL10 RUNNING%
002524 040 055 040
002527 111 114 114
002532 105 107 101
002535 114 040 127
002540 110 111 114
002543 105 040 113
002546 114 061 060
002551 040 122 125
002554 116 116 111
002557 116 107 000
000410 043262 .RAD50 /KLR/ ; KLR ERROR
000412 000020 .WORD 20 ; SEVERITY WORD
000414 002521' .WORD SYMA ; LOCATION OF ASCII STRNG
104 000416 CPERR KLU,20,<KL10 MICROCODE NOT RUNNING>
002562 113 114 125 .ASCIZ %KLU - KL10 MICROCODE NOT RUNNING%
002565 040 055 040
002570 113 114 061
002573 060 040 115
002576 111 103 122
002601 117 103 117
002604 104 105 040
002607 116 117 124
002612 040 122 125
002615 116 116 111
002620 116 107 000
000416 043265 .RAD50 /KLU/ ; KLU ERROR
KLPERR KL10 FRONT END ERROR DE MACRO M1108 13-JAN-78 15:46 PAGE 224-12
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509
000420 000020 .WORD 20 ; SEVERITY WORD
000422 002562' .WORD SYMA ; LOCATION OF ASCII STRNG
105 000424 CPERR KNC,40,<KL10 CAN'T BE CONTINUED>
002623 113 116 103 .ASCIZ %KNC - KL10 CAN'T BE CONTINUED%
002626 040 055 040
002631 113 114 061
002634 060 040 103
002637 101 116 047
002642 124 040 102
002645 105 040 103
002650 117 116 124
002653 111 116 125
002656 105 104 000
000424 043363 .RAD50 /KNC/ ; KNC ERROR
000426 000040 .WORD 40 ; SEVERITY WORD
000430 002623' .WORD SYMA ; LOCATION OF ASCII STRNG
106
107 000432 CPERR MAE,10,<EXAMINE DEPOSIT MODE ILLEGAL>
002661 115 101 105 .ASCIZ %MAE - EXAMINE DEPOSIT MODE ILLEGAL%
002664 040 055 040
002667 105 130 101
002672 115 111 116
002675 105 040 104
002700 105 120 117
002703 123 111 124
002706 040 115 117
002711 104 105 040
002714 111 114 114
002717 105 107 101
002722 114 000
000432 050555 .RAD50 /MAE/ ; MAE ERROR
000434 000010 .WORD 10 ; SEVERITY WORD
000436 002661' .WORD SYMA ; LOCATION OF ASCII STRNG
108 000440 CPERR MUL,10,<AMBIGUOUS COMMAND>
002724 115 125 114 .ASCIZ %MUL - AMBIGUOUS COMMAND%
002727 040 055 040
002732 101 115 102
002735 111 107 125
002740 117 125 123
002743 040 103 117
002746 115 115 101
002751 116 104 000
000440 052224 .RAD50 /MUL/ ; MUL ERROR
000442 000010 .WORD 10 ; SEVERITY WORD
000444 002724' .WORD SYMA ; LOCATION OF ASCII STRNG
109
110 000446 CPERR NSC,10,<NO SUCH COMMAND>
002754 116 123 103 .ASCIZ %NSC - NO SUCH COMMAND%
002757 040 055 040
002762 116 117 040
002765 123 125 103
002770 110 040 103
002773 117 115 115
002776 101 116 104
003001 000
000446 055173 .RAD50 /NSC/ ; NSC ERROR
000450 000010 .WORD 10 ; SEVERITY WORD
KLPERR KL10 FRONT END ERROR DE MACRO M1108 13-JAN-78 15:46 PAGE 224-13
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509
000452 002754' .WORD SYMA ; LOCATION OF ASCII STRNG
111
112 000454 CPERR OFC,50,<ODD FUNCTION CODE>
003002 117 106 103 .ASCIZ %OFC - ODD FUNCTION CODE%
003005 040 055 040
003010 117 104 104
003013 040 106 125
003016 116 103 124
003021 111 117 116
003024 040 103 117
003027 104 105 000
000454 057263 .RAD50 /OFC/ ; OFC ERROR
000456 000050 .WORD 50 ; SEVERITY WORD
000460 003002' .WORD SYMA ; LOCATION OF ASCII STRNG
113
114 000462 CPERR RDI,40,<REGISTER DEPOSIT ILLEGAL>
003032 122 104 111 .ASCIZ %RDI - REGISTER DEPOSIT ILLEGAL%
003035 040 055 040
003040 122 105 107
003043 111 123 124
003046 105 122 040
003051 104 105 120
003054 117 123 111
003057 124 040 111
003062 114 114 105
003065 107 101 114
003070 000
000462 070451 .RAD50 /RDI/ ; RDI ERROR
000464 000040 .WORD 40 ; SEVERITY WORD
000466 003032' .WORD SYMA ; LOCATION OF ASCII STRNG
115 000470 CPERR RPT,0,<REPEAT COUNT CHANGED>
003071 122 120 124 .ASCIZ %RPT - REPEAT COUNT CHANGED%
003074 040 055 040
003077 122 105 120
003102 105 101 124
003105 040 103 117
003110 125 116 124
003113 040 103 110
003116 101 116 107
003121 105 104 000
000470 071424 .RAD50 /RPT/ ; RPT ERROR
000472 000000 .WORD 0 ; SEVERITY WORD
000474 003071' .WORD SYMA ; LOCATION OF ASCII STRNG
116 000476 CPERR RSX,77,<IMPOSSIBLE ERROR FROM RSX>
003124 122 123 130 .ASCIZ %RSX - IMPOSSIBLE ERROR FROM RSX%
003127 040 055 040
003132 111 115 120
003135 117 123 123
003140 111 102 114
003143 105 040 105
003146 122 122 117
003151 122 040 106
003154 122 117 115
003157 040 122 123
003162 130 000
000476 071620 .RAD50 /RSX/ ; RSX ERROR
000500 000077 .WORD 77 ; SEVERITY WORD
KLPERR KL10 FRONT END ERROR DE MACRO M1108 13-JAN-78 15:46 PAGE 224-14
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509
000502 003124' .WORD SYMA ; LOCATION OF ASCII STRNG
117
118 000504 CPERR SAZ,10,<STARTING ADDRESS OF ZERO ILLEGAL>
003164 123 101 132 .ASCIZ %SAZ - STARTING ADDRESS OF ZERO ILLEGAL%
003167 040 055 040
003172 123 124 101
003175 122 124 111
003200 116 107 040
003203 101 104 104
003206 122 105 123
003211 123 040 117
003214 106 040 132
003217 105 122 117
003222 040 111 114
003225 114 105 107
003230 101 114 000
000504 073402 .RAD50 /SAZ/ ; SAZ ERROR
000506 000010 .WORD 10 ; SEVERITY WORD
000510 003164' .WORD SYMA ; LOCATION OF ASCII STRNG
119
120 000512 CPERR TAA,47,<TASK ALREADY ACTIVE>
003233 124 101 101 .ASCIZ %TAA - TASK ALREADY ACTIVE%
003236 040 055 040
003241 124 101 123
003244 113 040 101
003247 114 122 105
003252 101 104 131
003255 040 101 103
003260 124 111 126
003263 105 000
000512 076451 .RAD50 /TAA/ ; TAA ERROR
000514 000047 .WORD 47 ; SEVERITY WORD
000516 003233' .WORD SYMA ; LOCATION OF ASCII STRNG
121 000520 CPERR TIN,47,<ILLEGAL NAME FOR TASK>
003265 124 111 116 .ASCIZ %TIN - ILLEGAL NAME FOR TASK%
003270 040 055 040
003273 111 114 114
003276 105 107 101
003301 114 040 116
003304 101 115 105
003307 040 106 117
003312 122 040 124
003315 101 123 113
003320 000
000520 077166 .RAD50 /TIN/ ; TIN ERROR
000522 000047 .WORD 47 ; SEVERITY WORD
000524 003265' .WORD SYMA ; LOCATION OF ASCII STRNG
122 000526 CPERR TNS,47,<NO SUCH TASK>
003321 124 116 123 .ASCIZ %TNS - NO SUCH TASK%
003324 040 055 040
003327 116 117 040
003332 123 125 103
003335 110 040 124
003340 101 123 113
003343 000
000526 077503 .RAD50 /TNS/ ; TNS ERROR
000530 000047 .WORD 47 ; SEVERITY WORD
KLPERR KL10 FRONT END ERROR DE MACRO M1108 13-JAN-78 15:46 PAGE 224-15
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509
000532 003321' .WORD SYMA ; LOCATION OF ASCII STRNG
123
124 000534 CPERR UNL,47,<MICROCODE NOT LOADED>
003344 125 116 114 .ASCIZ %UNL - MICROCODE NOT LOADED%
003347 040 055 040
003352 115 111 103
003355 122 117 103
003360 117 104 105
003363 040 116 117
003366 124 040 114
003371 117 101 104
003374 105 104 000
000534 102574 .RAD50 /UNL/ ; UNL ERROR
000536 000047 .WORD 47 ; SEVERITY WORD
000540 003344' .WORD SYMA ; LOCATION OF ASCII STRNG
125
126 000542 CPERR VFY,37,<VERIFY CYCLE FAILED>
003377 126 106 131 .ASCIZ %VFY - VERIFY CYCLE FAILED%
003402 040 055 040
003405 126 105 122
003410 111 106 131
003413 040 103 131
003416 103 114 105
003421 040 106 101
003424 111 114 105
003427 104 000
000542 105211 .RAD50 /VFY/ ; VFY ERROR
000544 000037 .WORD 37 ; SEVERITY WORD
000546 003377' .WORD SYMA ; LOCATION OF ASCII STRNG
127
128 000550 CPERR WRM,10,<COMMAND NOT AVAILABLE IN THIS CONSOLE MODE>
003431 127 122 115 .ASCIZ %WRM - COMMAND NOT AVAILABLE IN THIS CONSOLE MODE%
003434 040 055 040
003437 103 117 115
003442 115 101 116
003445 104 040 116
003450 117 124 040
003453 101 126 101
003456 111 114 101
003461 102 114 105
003464 040 111 116
003467 040 124 110
003472 111 123 040
003475 103 117 116
003500 123 117 114
003503 105 040 115
003506 117 104 105
003511 000
000550 111235 .RAD50 /WRM/ ; WRM ERROR
000552 000010 .WORD 10 ; SEVERITY WORD
000554 003431' .WORD SYMA ; LOCATION OF ASCII STRNG
129
130 000556 CPERR XCR,10,<KL10 DID NOT RETURN TO HALT LOOP>
003512 130 103 122 .ASCIZ %XCR - KL10 DID NOT RETURN TO HALT LOOP%
003515 040 055 040
003520 113 114 061
003523 060 040 104
KLPERR KL10 FRONT END ERROR DE MACRO M1108 13-JAN-78 15:46 PAGE 224-16
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509
003526 111 104 040
003531 116 117 124
003534 040 122 105
003537 124 125 122
003542 116 040 124
003545 117 040 110
003550 101 114 124
003553 040 114 117
003556 117 120 000
000556 113212 .RAD50 /XCR/ ; XCR ERROR
000560 000010 .WORD 10 ; SEVERITY WORD
000562 003512' .WORD SYMA ; LOCATION OF ASCII STRNG
131
132 000564 .PSECT SYMTBS ;JUST IN CASE
133 000564 000000 000000 000000 .WORD 0,0,0 ;ZERO ENTRY AT END
134
135 000572 PRTNER:
136 000572 102515 .RAD50 /UME/ ;UNMATCHED ERROR?
137 000574 000077 .WORD 77 ;VERY SERIOUS ERROR
138 000576 003561' .WORD PRTNEA ;ASCIZ STRING
139 003561 .PSECT SYMTAA
140 003561 PRTNEA:
141 003561 125 115 105 .ASCII "UME - UNMATCHED ERROR CODE - "
003564 040 055 040
003567 125 116 115
003572 101 124 103
003575 110 105 104
003600 040 105 122
003603 122 117 122
003606 040 103 117
003611 104 105 040
003614 055 040
142 003616 PRTNEX:
143 003616 000 000 000 .BYTE 0,0,0,0 ;ASCIZ ERROR CODE GOES HERE
003621 000
KLPERR KL10 FRONT END ERROR DE MACRO M1108 13-JAN-78 15:46 PAGE 225
PRTERR -- COMMAND PARSER ERROR DECODER
145 .SBTTL PRTERR -- COMMAND PARSER ERROR DECODER
146
147 010244 .PSECT ;COMPRS
148
149 ; THIS ROUTINE RETURNS THE ASCIZ STRING
150 ; ASSOCIATED WITH A RAD50 ERROR CODE.
151 ;
152 ; INPUT ARGUMENTS:
153 ;
154 ; R0 HAS THE RAD50 CODE
155 ;
156 ; OUTPUT ARGUMENTS:
157 ;
158 ; R0 POINTS TO THE ERROR SEVERITY.
159 ; THE NEXT WORD IS THE ERROR ASCIZ STRING
160 ;
161 ; RAD50 CODE
162 ; R0 / SEVERITY
163 ; PTR TO STRING / STRING
164 ;
165 ; TYPICAL CALL (ERROR CODE IN R0)
166 ;
167 ; CALL PRTERR
168 ; CMP (R0)+,.ERLVL ; IS ERROR IN RANGE?
169 ; BGE NOT ; NO, NOT SERIOUS
170 ; MOV (R0),R0 ; GET ADDRESS
171 ; CALL TYPLIN ; AND TYPE STRING
172
173 010244 PRTERR::
174 010244 PUSH R2 ; SAVE REG
010244 010246 MOV R2,-(SP)
175 010246 012702 000000' MOV #ERRTBL,R2 ; .TABLE OF CODES
176 010252 PRTER0: ; .TRY THIS ENTRY
177 010252 005712 TST (R2) ; .IF ENTRY IS ZERO
178 010254 001407 BEQ PRTER7 ; .THEN NO MATCHES FOUND
179 010256 022200 CMP (R2)+,R0 ; .SEE IF SAME AS R0
180 010260 001402 BEQ PRTER1 ; .IF SO, GO AWAY
181 010262 022222 CMP (R2)+,(R2)+ ; .POINT TO NEXT ENTRY
182 010264 000772 BR PRTER0 ; .AND TRY AGAIN
183 010266 PRTER1: ; .HERE IF MATCH
184 010266 010200 MOV R2,R0 ; .ERROR RETURN IN R0
185 010270 POP R2 ; .RESTORE USER REG
010270 012602 MOV (SP)+,R2
186 010272 RETURN ; AND RETURN
010272 000207 RTS PC
187 010274 PRTER7: ; .NO MATCH
188 010274 010001 MOV R0,R1 ; GET RAD50 CODE
189 010276 012700 003616' MOV #PRTNEX,R0 ; ADDRESS
190 010302 CALL .C5TA ; STICK IN ERROR CODE
010302 004737 015232' JSR PC,.C5TA
191 010306 012702 000574' MOV #PRTNER+2,R2 ; HORRIBLE, NO MATCH
192 010312 000765 BR PRTER1 ; AND GO AWAY
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 228
PRTERR -- COMMAND PARSER ERROR DECODER
1 .TITLE KLERR - KL10 SYSTEM ERROR RECORDING PROGRAM
2 .IDENT /002020/
3
4 ; COPYRIGHT (C) 1975, 1978 BY
5 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
6 ;
7 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
8 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
9 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
10 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
11 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
12 ;
13 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
14 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
15 ; CORPORATION.
16 ;
17 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
18 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
19 ;
20 ;
21 ;
22 ; DATE: NOVEMBER 17, 1975
23 ;
24 ; BY: JULIAN C. SHIH
25 ;
26 ; THIS PROGRAM IS CALLED BY RSX20F MONITOR TO RECORD KL10 ERROR
27 ; CONDITIONS WHICH STOP THE CLOCK AND THUS CANNOT BE HANDLED BY
28 ; THE KL10 ITSELF. KLERR WILL RECORD INFORMATION ON FIVE
29 ; TYPES OF ERRORS, NAMELY;
30 ;
31 ; 1. FAST MEMORY PARITY CLOCK ERROR STOP
32 ; 2. C-RAM PARITY CLOCK ERROR STOP
33 ; 3. D-RAM PARITY CLOCK ERROR STOP
34 ; 4. FIELD SERVICE CLOCK ERROR STOP
35 ; 5. OTHERS
36 ;
37
38 .MACRO KLEVR$ KEY,FRM,VER,EDT,NUM
39 .IF B,NUM
40 .IF NB,FRM
41 KLEVR$ \KEY,\FRM,\VER,\EDT,0
42 .IFF
43 KLEVR$ \KEY,200,\VER,\EDT,0
44 .ENDC
45 .MEXIT
46 .IFF
47 .IF GE,VER-10
48 .IF GE,EDT-10
49 .ASCII \VERSION \<KEY><FRM>\'VER'-'EDT'\<200>\ RUNNING\
50 .IFF
51 .ASCII \VERSION \<KEY><FRM>\'VER'-0'EDT'\<200>\ RUNNING\
52 .ENDC
53 .IFF
54 .IF GE,EDT-10
55 .ASCII \VERSION \<KEY><FRM>\0'VER'-'EDT'\<200>\ RUNNING\
56 .IFF
57 .ASCII \VERSION \<KEY><FRM>\0'VER'-0'EDT'\<200>\ RUNNING\
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 228-1
PRTERR -- COMMAND PARSER ERROR DECODER
58 .ENDC
59 .ENDC
60 .ENDC
61 .ENDM KLEVR$
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229
PRTERR -- COMMAND PARSER ERROR DECODER
63 ;
64 ; DEFINE SYSTEM MACROS
65 ;
66 .MCALL QIOSY$,GTIM$S,ALUN$,QIOW$,CALL,RETURN,POP,PUSH
67 .MCALL EXIT$S,DIR$,QIOW$S,$DEF,WTSE$S,$IO10,$I10
68 ;
69 010314 $DEF
70 010314 QIOSY$
71 ;
72 ; EQUATED SYMBLOS
73 ;
74 000015 CR=15 ;CARRIAGE RETURN
75 000012 LF=12 ;LINE FEED
76 000011 TAB=11 ;TAB
77 000057 SLS=57 ;SLASH
78 000040 SPC=40 ;SPACE
79 000001 PRI1=1 ;PRIORITY 1
80 000001 LUN1=1 ;CTY LOGICAL UNIT
81 000002 LUN2=2 ;FE DEVICE LOGICAL UNIT
82 000011 EFN1=11 ;EVENT FLAG 1
83 000012 EFN2=12 ;EVENT FLAG 2
84 ;
85 ;
86 ; EXTEND CONTROL BITS, I.EXTD+1 IN I/O PACKET
87 ;
88 000001 EX.AC1=1 ;SET IF ALLOCATING CONTIGUOUS CHUNK
89 000002 EX.AC2=2 ;SET IF SUPPOSED TO ALLOCATE LARGEST AVAILABLE
90 ;CONTIG CHUNK, IF CAN'T ALLOCATE DESIRED AMOUNT
91 000004 EX.FCO=4 ;SET IF FILE IS TO BE CONTIGUOUS
92 000010 EX.ADF=10 ;SET IF ALLOCATING DEFAULT NUMBER OF BLOCKS
93 000200 EX.ENA=200 ;SET IF EXTEND IS ENABLED
94 ;
95 .SBTTL DIRECTORY FILE NAME BLOCK
96 ;
97 010314 000000 000000 000000 DIRFNB:: .WORD 0,0,0 ;N.FID
98 010322 140123 .RAD50 /005/
99 010324 140123 .RAD50 /005/
100 010326 000000 .WORD 0 ;N.FNAM
101 010330 015172 .RAD50 /DIR/ ;N.FTYP
102 010332 000000 .WORD 0 ;N.FVER
103 010334 000000 .WORD 0 ;N.STAT
104 010336 000000 .WORD 0 ;N.NEXT
105 010340 177777 .WORD -1 ;FILE ID
106 010342 177777 .WORD -1 ;FILE SEQ
107 010344 005 005 .BYTE 5,5 ;OWNER
108 ;
109 .SBTTL KLERRO.SNP FILE NAME BLOCK
110 ;
111 010346 FILFNB: .BLKB 32
112 000032 FNBSIZ=.-FILFNB
113 ;
114 .SBTTL FILE ID BLOCK
115 ;
116 010400 000000 000000 FILFID: .WORD 0,0 ;FILE ID BLOCK
117 ;
118 .SBTTL FILE ATTRIBUTE CONTROL BLOCK
119 ;
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229-1
FILE ATTRIBUTE CONTROL BLOCK
120 010404 005 FILACB: .BYTE 5 ;FUNCTION (WRITE FILE NAME)
121 010405 012 .BYTE 12 ;FILE NAME SIZE
122 010406 010472' .WORD FILNAM ;ADDR OF FILE NAME
123 010410 004 .BYTE 4 ;FUNCTION (FIXED LENGTH RECORD)
124 010411 014 .BYTE 14 ;SIZE
125 010412 010420' .WORD ATTBLK ;ADDR OF ATTRIBUTES
126 010414 000000 000000 .WORD 0,0 ;LAST ENTRY
127 010420 000001 001000 000000 ATTBLK: .WORD 1,1000,0,0,0,0
010426 000000 000000 000000
128 ;
129 .SBTTL START UP KLINIT
130 ;
131 010434 ...KLI: RQST$ ...KLI
010434 013 007 .BYTE 11.,7
010436 131574 043251 .RAD50 /...KLI/
010442 000000 000000 .WORD 0,0
010446 000000 .WORD
010450 000 000 .BYTE ,
132 ;
133 .SBTTL ASSIGN LUN1 TO CTY #0
134 ;
135 010452 ALUNTT: ALUN$ LUN1,TT,0
010452 007 004 .BYTE 7,4
010454 000001 .WORD LUN1
010456 124 .ASCII /T/
010457 124 .ASCII /T/
010460 000000 .WORD 0
136 ;
137 .SBTTL ASSIGN LUN2 TO SY #0
138 ;
139 010462 ALUNSY: ALUN$ LUN2,SY,0
010462 007 004 .BYTE 7,4
010464 000002 .WORD LUN2
010466 123 .ASCII /S/
010467 131 .ASCII /Y/
010470 000000 .WORD 0
140 ;
141 ;
142 010472 043245 071537 FILNAM: .RAD50 /KLERRO/ ;FILE NAME FOR KLERROR FILE
143 010476 000000 .WORD 0
144 010500 074400 SNP: .RAD50 /SNP/ ;FILE EXT
145 010502 000000 .WORD 0 ;VERSION #
146 ;
147 .SBTTL DPB FOR READ/WRITE VIRTUAL BLOCK FROM/TO FE DEVICE
148 ;
149 .EVEN
150 010504 KLDPB:: QIOW$ IO.WVB,LUN2,EFN2,,IOSTA,,<,,,,,>
010504 003 014 .BYTE 3,$$$ARG
010506 011000 .WORD IO.WVB
010510 000002 .WORD LUN2
010512 012 000 .BYTE EFN2,
010514 010564' .WORD IOSTA
010516 000000 .WORD
010520 000000 .WORD
010522 000000 .WORD
010524 000000 .WORD
010526 000000 .WORD
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229-2
DPB FOR READ/WRITE VIRTUAL BLOCK FROM/TO FE DEVICE
010530 000000 .WORD
010532 000000 .WORD
151 ;
152 .SBTTL DPB FOR READ/WRITE MESSAGE FROM/TO CTY0
153 ;
154 .EVEN
155 010534 TTDPB:: QIOW$ IO.WLB,LUN1,EFN1,,IOTTY,,<,,,,,>
010534 003 014 .BYTE 3,$$$ARG
010536 000400 .WORD IO.WLB
010540 000001 .WORD LUN1
010542 011 000 .BYTE EFN1,
010544 010570' .WORD IOTTY
010546 000000 .WORD
010550 000000 .WORD
010552 000000 .WORD
010554 000000 .WORD
010556 000000 .WORD
010560 000000 .WORD
010562 000000 .WORD
156 ;
157 ; WORK AND STORAGE AREA
158 ;
159 010564 000000 000000 IOSTA: .WORD 0,0 ;I/O STATUS AREA FOR FE DEVCIE
160 010570 000000 000000 IOTTY: .WORD 0,0 ;I/O STATUS AREA FOR CTY
161 010574 TTYIPT: .BLKW 40 ;CTY INPUT BUFFER
162 000100 TTYL=.-TTYIPT
163 010674 BUFFER: .BLKW 256. ;FILE BUFFER
164 001000 BUFSIZ=.-BUFFER
165 011674 000000 RECORD: .WORD 0 ;RECORD COUNT
166 011676 000000 PRINTT: .WORD 0 ;RECORD PRINT CONTROL SW
167 011700 000000 FSWTCH: .WORD 0 ;FIELD SERVICE STOP SW
168 011702 000000 TRACE: .WORD 0 ;TRACE SWITCH
169 011704 000000 CRESW: .WORD 0 ;CREATE FILE SW
170 ;
171 ; THE FOLLOWING 3 TAGS ARE NOT USED IN THIS PROGRAM BUT
172 ; REQUIRED WHEN LINKED WITH OTHER MODULES (KLPERR.M11, ETC.)
173 ;
174 011706 .OKLF::
175 011706 .LDZER::
176 011706 000000 .TRKWD:: .WORD 0 ;TRACK WORD
177 ;
178 .SBTTL INFORMATIONAL MESSAGES OUTPUT BY KLERR
179 ;
180 .EVEN
181 011710 124 122 101 CKMSG: .ASCII /TRACE # /
011713 103 105 040
011716 043 040
182 011720 000000 POINT: .WORD 0
183 011722 015 012 .ASCII <CR><LF>
184 000014 CKMSGL=.-CKMSG
185 .EVEN
186 011724 123 105 124 TRMSG: .ASCII /SET TRACE [Y OR N]?/<CR><LF>
011727 040 124 122
011732 101 103 105
011735 040 133 131
011740 040 117 122
011743 040 116 135
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229-3
INFORMATIONAL MESSAGES OUTPUT BY KLERR
011746 077 015 012
187 000025 TRMSGL=.-TRMSG
188 .EVEN
189 011752 105 130 111 LTMSG: .ASCII /EXIT FROM KLERR/<CR><LF>
011755 124 040 106
011760 122 117 115
011763 040 113 114
011766 105 122 122
011771 015 012
190 000021 LTMSGL=.-LTMSG
191 .EVEN
192 011774 113 114 105 READP: .ASCII /KLERR>/
011777 122 122 076
193 000006 READPL=.-READP
194 .EVEN
195 012002 113 114 105 WRITP: .ASCII /KLERR -- /
012005 122 122 040
012010 055 055 040
196 000011 WRITPL=.-WRITP
197 012013 KLEVR$ KLE$$K,,KLE$$V,KLE$$E
012013 126 105 122 .ASCII \VERSION \<126><200>\02-02\<200>\ RUNNING\
012016 123 111 117
012021 116 040 126
012024 200 060 062
012027 055 060 062
012032 200 040 122
012035 125 116 116
012040 111 116 107
198 012043 015 012 CRLF: .ASCII <CR><LF>
199 000043 RUINGL=.-WRITP
200 .EVEN
201 012046 011 TABB: .ASCII <TAB>
202 012047 057 SLASH: .ASCII <SLS>
203 012050 117 116 ON: .ASCII /ON/
204 012052 117 106 106 OFF: .ASCII /OFF/
205 .EVEN
206 012056 113 114 040 HTMG1: .ASCII /KL IN HALT LOOP/<CR><LF>
012061 111 116 040
012064 110 101 114
012067 124 040 114
012072 117 117 120
012075 015 012
207 000021 HTMG1L=.-HTMG1
208 .EVEN
209 012100 113 114 040 HTMG2: .ASCII /KL NOT IN HALT LOOP/<CR><LF>
012103 116 117 124
012106 040 111 116
012111 040 110 101
012114 114 124 040
012117 114 117 117
012122 120 015 012
210 000025 HTMG2L=.-HTMG2
211 .EVEN
212 012126 113 114 040 PCMSG: .ASCII /KL VMA: /
012131 126 115 101
012134 072 040
213 012136 VMA: .BLKB 13. ;AREA CONTAINING VMA
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229-4
INFORMATIONAL MESSAGES OUTPUT BY KLERR
214 012153 040 040 040 .ASCII / PC: /
012156 040 120 103
012161 072 040
215 012163 PCC: .BLKB 13. ;AREA CONTAINING PC
216 012200 015 012 .ASCII <CR><LF>
217 000054 PCMSGL=.-PCMSG
218 .EVEN
219 012202 120 111 040 PIMSG: .ASCII /PI STATE: /
012205 123 124 101
012210 124 105 072
012213 040
220 012214 040 040 040 PI0: .BYTE SPC,SPC,SPC,SPC ;AREA TO CONTAIN PI STATE
012217 040
221 012220 054 040 120 .ASCII /, PI ON: /
012223 111 040 117
012226 116 072 040
222 012231 040 040 040 PI1: .BYTE SPC,SPC,SPC,SPC
012234 040
223 012235 054 040 120 .ASCII /, PI HLD: /
012240 111 040 110
012243 114 104 072
012246 040
224 012247 040 040 040 PI2: .BYTE SPC,SPC,SPC,SPC
012252 040
225 012253 054 040 120 .ASCII /, PI GEN: /
012256 111 040 107
012261 105 116 072
012264 040
226 012265 040 040 040 PI3: .BYTE SPC,SPC,SPC,SPC
012270 040
227 012271 015 012 .ASCII <CR><LF>
228 000071 PIMSGL=.-PIMSG
229 .EVEN
230 012274 040 040 040 ERCODE: .BYTE SPC,SPC,SPC,SPC ;AREA TO CONTAIN ERROR CODE
012277 040
231 .BLKW 40
232 000104 ERCODL=.-ERCODE
233 ;
234 ;
235 ;
236 .EVEN
237 012400 113 114 040 NOCLK: .ASCII /KL ERROR OTHER THAN CLOCK ERROR STOP/<CR><LF>
012403 105 122 122
012406 117 122 040
012411 117 124 110
012414 105 122 040
012417 124 110 101
012422 116 040 103
012425 114 117 103
012430 113 040 105
012433 122 122 117
012436 122 040 123
012441 124 117 120
012444 015 012
238 000046 NOCLKL=.-NOCLK
239 .EVEN
240 012446 103 114 117 STOP: .ASCII /CLOCK ERROR STOP/<CR><LF>
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229-5
INFORMATIONAL MESSAGES OUTPUT BY KLERR
012451 103 113 040
012454 105 122 122
012457 117 122 040
012462 123 124 117
012465 120 015 012
241 000022 STOPL=.-STOP
242 .EVEN
243 012470 104 122 101 DRAM: .ASCII /DRAM PARITY/<CR><LF>
012473 115 040 120
012476 101 122 111
012501 124 131 015
012504 012
244 000015 DRAML=.-DRAM
245 .EVEN
246 012506 103 122 101 CRAM: .ASCII /CRAM PARITY/<CR><LF>
012511 115 040 120
012514 101 122 111
012517 124 131 015
012522 012
247 000015 CRAML=.-CRAM
248 .EVEN
249 012524 106 115 040 FM: .ASCII /FM PARITY - /
012527 120 101 122
012532 111 124 131
012535 040 055 040
250 012540 102 114 113 .ASCII /BLK: /
012543 072 040
251 012545 FMB: .BLKB 3
252 012550 040 101 104 .ASCII / ADDR: /
012553 104 122 072
012556 040
253 012557 FMA: .BLKB 3
254 012562 040 104 101 .ASCII / DATA: /
012565 124 101 072
012570 040
255 012571 FMD: .BLKB 13.
256 012606 015 012 .ASCII <CR><LF>
257 000064 FML=.-FM
258 .EVEN
259 012610 106 123 040 FS: .ASCII /FS STOP/<CR><LF>
012613 123 124 117
012616 120 015 012
260 000011 FSL=.-FS
261 ;
262 .SBTTL ERROR MESSAGES OUTPUT BY KLERR
263 ;
264 .EVEN
265 012622 077 104 111 ERMG1: .ASCII /?DIRECTORY FILE NOT FOUND/<CR><LF>
012625 122 105 103
012630 124 117 122
012633 131 040 106
012636 111 114 105
012641 040 116 117
012644 124 040 106
012647 117 125 116
012652 104 015 012
266 000033 ERMG1L=.-ERMG1
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229-6
ERROR MESSAGES OUTPUT BY KLERR
267 .EVEN
268 012656 077 113 114 ERMG2: .ASCII /?KLERRO.SNP FILE CREATION FAILED/<CR><LF>
012661 105 122 122
012664 117 056 123
012667 116 120 040
012672 106 111 114
012675 105 040 103
012700 122 105 101
012703 124 111 117
012706 116 040 106
012711 101 111 114
012714 105 104 015
012717 012
269 000042 ERMG2L=.-ERMG2
270 .EVEN
271 012720 077 125 116 ERMG3: .ASCII /?UNABLE TO ENTER KLERRO.SNP INTO DIRECTORY/<CR><LF>
012723 101 102 114
012726 105 040 124
012731 117 040 105
012734 116 124 105
012737 122 040 113
012742 114 105 122
012745 122 117 056
012750 123 116 120
012753 040 111 116
012756 124 117 040
012761 104 111 122
012764 105 103 124
012767 117 122 131
012772 015 012
272 000054 ERMG3L=.-ERMG3
273 .EVEN
274 012774 077 125 116 ERMG4: .ASCII /?UNABLE TO ACCESS FOR EXTENDING KLERRO.SNP FILE/<CR><LF>
012777 101 102 114
013002 105 040 124
013005 117 040 101
013010 103 103 105
013013 123 123 040
013016 106 117 122
013021 040 105 130
013024 124 105 116
013027 104 111 116
013032 107 040 113
013035 114 105 122
013040 122 117 056
013043 123 116 120
013046 040 106 111
013051 114 105 015
013054 012
275 000061 ERMG4L=.-ERMG4
276 .EVEN
277 013056 077 125 116 ERMG5: .ASCII /?UNABLE TO EXTEND KLERRO.SNP FILE/<CR><LF>
013061 101 102 114
013064 105 040 124
013067 117 040 105
013072 130 124 105
013075 116 104 040
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229-7
ERROR MESSAGES OUTPUT BY KLERR
013100 113 114 105
013103 122 122 117
013106 056 123 116
013111 120 040 106
013114 111 114 105
013117 015 012
278 000043 ERMG5L=.-ERMG5
279 .EVEN
280 013122 077 125 116 ERMG6: .ASCII /?UNABLE TO WRITE KLERRO.SNP FILE/<CR><LF>
013125 101 102 114
013130 105 040 124
013133 117 040 127
013136 122 111 124
013141 105 040 113
013144 114 105 122
013147 122 117 056
013152 123 116 120
013155 040 106 111
013160 114 105 015
013163 012
281 000042 ERMG6L=.-ERMG6
282 .EVEN
283 ;
284 .SBTTL ASSIGN LOGICAL UNIT NUMBER (LUN) TO SYS DEVICE
285 ;
286 013164 005737 000000G START:: TST .KLRLD ;IF RELOADING IS ALLOWED
287 013170 001006 BNE 1$ ;AND
288 013172 005737 000000G TST .KLIWD ;KLINIT IS REQUESTED
289 013176 001403 BEQ 1$ ;THEN SCHEDULE HIM
290 013200 DIR$ #...KLI ;TO RUN AFTER US.
013200 012746 010434' MOV #...KLI,-(SP)
013204 104375 EMT 375
291 013206 012737 000401 000000G 1$: MOV #401,.NOERR ;NO INTERRUPTIONS, PLEASE
292 013214 CALL .INIT
013214 004737 001666' JSR PC,.INIT
293 013220 005037 011702' CLR TRACE ;INIT TRACE SW
294 013224 005037 011674' CLR RECORD ;INIT RECORD COUNT
295 013230 DIR$ #ALUNTT ;SET CTY 0 AS LUN1
013230 012746 010452' MOV #ALUNTT,-(SP)
013234 104375 EMT 375
296 013236 DIR$ #ALUNSY ;SET SY 0 AS LUN2
013236 012746 010462' MOV #ALUNSY,-(SP)
013242 104375 EMT 375
297 ;
298 .SBTTL OUTPUT KLERR RUNNING MSG
299 ;
300 013244 012700 012002' MOV #WRITP,R0
301 013250 012701 000043 MOV #RUINGL,R1
302 013254 CALL TTCOMX ;SEND MSG TO CTY
013254 004737 016372' JSR PC,TTCOMX
303 013260 CALL .DTDW1 ;READ DIAG WORD 1
013260 004737 000476' JSR PC,.DTDW1
304 013264 103416 BCS TENFUN ;ERROR, FORGET IT
305 013266 032700 001000 BIT #D1.HLP,R0 ;IS KL IN A HALT LOOP ?
306 013272 001405 BEQ 2$ ;NO
307 013274 012700 012056' MOV #HTMG1,R0
308 013300 012701 000021 MOV #HTMG1L,R1
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229-8
OUTPUT KLERR RUNNING MSG
309 013304 000404 BR 3$ ;INDICATE -10 IN HALT LOOP
310 013306 012700 012100' 2$: MOV #HTMG2,R0
311 013312 012701 000025 MOV #HTMG2L,R1
312 013316 3$: CALL TTWRIT ;INDICATE -10 NOT IN HALT LOOP
013316 004737 016352' JSR PC,TTWRIT
313 ;
314 .SBTTL HALT -10, GET PC, PI, AND ERROR CODE
315 ;
316 013322 012700 011724' TENFUN: MOV #TRMSG,R0
317 013326 000426 BR 12$
318 013330 012701 000025 MOV #TRMSGL,R1
319 013334 CALL TTWRIT ;ASK IF TRACE SHOULD BE SET ?
013334 004737 016352' JSR PC,TTWRIT
320 013340 CALL TTREAD ;READ ANSWER
013340 004737 016306' JSR PC,TTREAD
321 013344 105737 010574' TSTB TTYIPT ;[CR]?
322 013350 001410 BEQ 10$ ;TREAT AS [Y]
323 013352 122737 000116 010574' CMPB #'N,TTYIPT ;[N]?
324 013360 001407 BEQ 11$ ;YES
325 013362 122737 000131 010574' CMPB #'Y,TTYIPT ;[Y]?
326 013370 001354 BNE TENFUN ;ASK IT AGAIN
327 013372 005237 011702' 10$: INC TRACE ;TURN ON TRACE SW
328 013376 000402 BR 12$
329 013400 005037 011702' 11$: CLR TRACE ;TURN OFF TRACE SW
330 013404 012737 030060 011720' 12$: MOV #"00,POINT
331 013412 CALL CKPNT ;TRACE 0
013412 004737 016252' JSR PC,CKPNT
332 013416 CALL .CESCK ;STOP CLOCK
013416 004737 000300' JSR PC,.CESCK
333 013422 103005 BCC 1$ ;OK, WE MAY HALT -10
334 013424 022700 CMP (PC)+,R0 ;CHECK FOR CLOCK ERROR STOP
335 013426 011633 .RAD50 /CES/ ;CLOCK ERROR STOP ERROR
336 013430 001407 BEQ 2$ ;YES, IT IS STOPPED
337 013432 CALL EREXIT ;NO, FIND OUT WHY
013432 004737 013636' JSR PC,EREXIT
338 013436 1$: CALL .KLHLT ;HALT THE -10
013436 004737 002146' JSR PC,.KLHLT
339 013442 103002 BCC 2$
340 013444 CALL EREXIT ;FIND OUT WHY
013444 004737 013636' JSR PC,EREXIT
341 013450 2$: CALL CLRTTY ;ZERO TTYIPT & USE IT FOR INPUT
013450 004737 016206' JSR PC,CLRTTY
342 013454 012701 010574' MOV #TTYIPT,R1 ;PASS POINTER TO .RDVMA
343 013460 CALL .RDVMA ;GET VMA
013460 004737 005206' JSR PC,.RDVMA
344 013464 103002 BCC 5$
345 013466 CALL EREXIT
013466 004737 013636' JSR PC,EREXIT
346 013472 012700 012136' 5$: MOV #VMA,R0
347 013476 CALL SETPC ;SET VMA
013476 004737 015342' JSR PC,SETPC
348 013502 012701 010574' MOV #TTYIPT,R1 ;PASS POINTER TO .RDVPC
349 013506 CALL .RDVPC ;GET PC
013506 004737 005172' JSR PC,.RDVPC
350 013512 103002 BCC 3$
351 013514 CALL EREXIT
013514 004737 013636' JSR PC,EREXIT
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229-9
HALT -10, GET PC, PI, AND ERROR CODE
352 013520 012700 012163' 3$: MOV #PCC,R0
353 013524 CALL SETPC ;SET PC
013524 004737 015342' JSR PC,SETPC
354 013530 CALL .RDPI ;GET PI
013530 004737 004654' JSR PC,.RDPI
355 013534 103002 BCC 4$
356 013536 CALL EREXIT
013536 004737 013636' JSR PC,EREXIT
357 013542 4$: CALL SETPI ;SET PI
013542 004737 015500' JSR PC,SETPI
358 013546 CALL .RDFMO ; READ FAST MEMORY REGISTERS
013546 004737 004410' JSR PC,.RDFMO
359 013552 103002 BCC 6$ ; ALL OK IF CC-C IS CLEAR
360 013554 CALL EREXIT ; ELSE COMPLAIN
013554 004737 013636' JSR PC,EREXIT
361 013560 6$: CALL .RDIPE ;GET ERROR CODE
013560 004737 004566' JSR PC,.RDIPE
362 013564 103402 BCS 15$
363 013566 CALL FNHALT ;FIND REASON WHY HALT
013566 004737 014642' JSR PC,FNHALT
364 013572 012700 012126' 15$: MOV #PCMSG,R0
365 013576 012701 000054 MOV #PCMSGL,R1
366 013602 CALL TTWRIT ;OUTPUT KL HALT MSG
013602 004737 016352' JSR PC,TTWRIT
367 013606 012700 012202' MOV #PIMSG,R0
368 013612 012701 000071 MOV #PIMSGL,R1
369 013616 CALL TTWRIT ;OUTPUT KL HALT MSG
013616 004737 016352' JSR PC,TTWRIT
370 013622 005737 011700' TST FSWTCH ;FIELD SERVICE STOP ENABLED ?
371 013626 001001 BNE 20$ ;YES
372 013630 000421 BR DOMAS ;FIND DIR FILE FROM MFD
373 013632 000137 016546' 20$: JMP EXIT1 ;EXIT WITHOUT WRITING FILES
374 013636 012737 030062 011720' EREXIT: MOV #"20,POINT
375 013644 CALL CKPNT ;TRACE 20
013644 004737 016252' JSR PC,CKPNT
376 013650 CALL SETEC ;GET ERROR CODE
013650 004737 015130' JSR PC,SETEC
377 013654 012700 012274' MOV #ERCODE,R0
378 013660 010301 MOV R3,R1 ;ACTUAL BYTE COUNT IN R1
379 013662 CALL TTWRIT ;INDICATE SOMETHING WRONG WITH -10
013662 004737 016352' JSR PC,TTWRIT
380 013666 CALL TYCRLF ;PROMPT WITH CR,LF
013666 004737 016500' JSR PC,TYCRLF
381 013672 RETURN
013672 000207 RTS PC
382 ;
383 ; AFTER PRINTING -10 HALT MSG, THIS ROUTINE PROCEEDS TO
384 ; FIND DIRECTORY FILE FROM MASTER FILE DIRECTORY, THEN TRY
385 ; TO FIND FILE ID FOR KLERRO.SNP FILE. IF ID IS FOUND
386 ; IT WILL TRY TO MAKE IT ACCESSIBLE FOR EXTEND.
387 ; IF FILE ID IS NOT FOUND, IT ATTEMPTS TO CREATE KLERRO.SNP
388 ; AND PROCEEDS TO WRITE THE FIRST RECORD....
389 ;
390 ;
391 .SBTTL FIND DIRECTORY FILE FROM MASTER FILE DIRECTORY
392 ;
393 013674 012737 030460 011720' DOMAS:: MOV #"01,POINT
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229-10
FIND DIRECTORY FILE FROM MASTER FILE DIRECTORY
394 013702 CALL CKPNT ;TRACE 1
013702 004737 016252' JSR PC,CKPNT
395 013706 CALL CLRDPB ;ZERO PARAMETER WORDS IN KLDPB
013706 004737 016166' JSR PC,CLRDPB
396 013712 012737 010314' 010532' MOV #DIRFNB,KLDPB+Q.IOPL+12 ;ADR OF DIRFNB IN DPB
397 013720 CALL KLFNA ;FIND DIRECTORY FILE
013720 004737 015766' JSR PC,KLFNA
398 013724 103010 BCC DODIR ;FOUND IT
399 013726 012700 012622' MOV #ERMG1,R0
400 013732 012701 000033 MOV #ERMG1L,R1
401 013736 CALL TTWRIT ;INDICATE DIR FILE NOT FOUND
013736 004737 016352' JSR PC,TTWRIT
402 013742 000137 016542' JMP EXIT ;EXIT FROM KLERR
403 ;
404 .SBTTL ROUTINE TO FIND FILE ID FOR KLERRO.SNP FILE
405 ;
406 013746 012737 031060 011720' DODIR:: MOV #"02,POINT
407 013754 CALL CKPNT ;TRACE 2
013754 004737 016252' JSR PC,CKPNT
408 013760 CALL MVNAME ;MOVE FILE NAME INTO FILFNB
013760 004737 015710' JSR PC,MVNAME
409 013764 013737 010314' 010372' MOV DIRFNB,FILFNB+24 ;FILE ID OF DIR FILE
410 013772 013737 010316' 010374' MOV DIRFNB+2,FILFNB+26 ;FILE SQE OF DIR FILE
411 014000 013737 010320' 010376' MOV DIRFNB+4,FILFNB+30 ;AND OWNER
412 014006 012737 010346' 010532' MOV #FILFNB,KLDPB+Q.IOPL+12
413 014014 CALL KLFNA ;FIND KLERRO.SNP FROM DIR FILE
014014 004737 015766' JSR PC,KLFNA
414 014020 103110 BCC DOACE ;ACCESS FOR EXTEND IF FILE ID FOUND
415 014022 123727 010564' 177746 CMPB IOSTA+0,#IE.NSF ;NO SUCH FILE ?
416 014030 001406 BEQ DOCRE ;YES
417 014032 012737 054130 011720' MOV #"XX,POINT
418 014040 CALL CKPNT ;TO MAKE A POINT
014040 004737 016252' JSR PC,CKPNT
419 014044 000422 BR MSG2 ;PRINT ERROR MSG 2
420 ;
421 .SBTTL ROUTINE TO CREATE KLERRO.SNP FILE
422 ;
423 014046 005237 011704' DOCRE:: INC CRESW ;SET FILE CREATE SW
424 014052 012737 031460 011720' MOV #"03,POINT
425 014060 CALL CKPNT ;TRACE 3
014060 004737 016252' JSR PC,CKPNT
426 014064 CALL CLRDPB ;CLEAR PARAMETER WORDS
014064 004737 016166' JSR PC,CLRDPB
427 014070 012737 010400' 010520' MOV #FILFID,KLDPB+Q.IOPL ;ADDR OF FILE ID BLOCK
428 014076 012737 010404' 010522' MOV #FILACB,KLDPB+Q.IOPL+2 ;ADDR OF ATTRIBUTE BLOCK
429 014104 CALL KLCRE ;CREATE KLERRO.SNP FILE
014104 004737 016110' JSR PC,KLCRE
430 014110 103010 BCC DOENA ;ENTER ITS NAME INTO DIR FILE
431 014112 012700 012656' MSG2: MOV #ERMG2,R0
432 014116 012701 000042 MOV #ERMG2L,R1
433 014122 CALL TTWRIT ;INDICATE CREATION FAILURE
014122 004737 016352' JSR PC,TTWRIT
434 014126 000137 016542' JMP EXIT ;EXIT FROM KLERR
435 ;
436 .SBTTL ROUTINE TO ENTER FILE NAME INTO DIRECTORY
437 ;
438 014132 012737 032060 011720' DOENA:: MOV #"04,POINT
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229-11
ROUTINE TO ENTER FILE NAME INTO DIRECTORY
439 014140 CALL CKPNT ;TRACE 4
014140 004737 016252' JSR PC,CKPNT
440 014144 CALL MVNAME ;MOVE FILE NAME INTO FILFNB
014144 004737 015710' JSR PC,MVNAME
441 014150 013737 010400' 010346' MOV FILFID,FILFNB ;FILE ID FROM FILFID BLOCK
442 014156 013737 010402' 010350' MOV FILFID+2,FILFNB+2 ;AND FILE SQE
443 014164 013737 010314' 010372' MOV DIRFNB,FILFNB+24 ;FILE ID FOR DIR FILE
444 014172 013737 010316' 010374' MOV DIRFNB+2,FILFNB+26 ;FILE SQE OF DIR FILE
445 014200 013737 010320' 010376' MOV DIRFNB+4,FILFNB+30 ;AND OWNER
446 014206 012737 010346' 010532' MOV #FILFNB,KLDPB+Q.IOPL+12
447 014214 CALL KLENA ;ENTER FILE NAME INTO DIR FILE
014214 004737 016136' JSR PC,KLENA
448 014220 103010 BCC DOACE ;DO ACCESS FOR EXTEND
449 014222 012700 012720' MOV #ERMG3,R0
450 014226 012701 000054 MOV #ERMG3L,R1
451 014232 CALL TTWRIT ;INDICATE FILENAME ENTERING FAILED
014232 004737 016352' JSR PC,TTWRIT
452 014236 000137 016542' JMP EXIT
453 ;
454 .SBTTL ROUTINE TO ACCESS FOR EXTEND FOR KLERRO.SNP
455 ;
456 014242 012737 032460 011720' DOACE:: MOV #"05,POINT
457 014250 CALL CKPNT ;TRACE 5
014250 004737 016252' JSR PC,CKPNT
458 014254 012737 010346' 010520' MOV #FILFNB,KLDPB+Q.IOPL ;MAKE FID OF FILFNB AS FILFID
459 014262 005037 010532' CLR KLDPB+Q.IOPL+12 ;CLEAR FILE NAME BLOCK ADDR
460 014266 CALL KLACE ;ACCESS FOR EXTEND
014266 004737 016120' JSR PC,KLACE
461 014272 103037 BCC DOWRT ;GO WRITE A RECORD
462 014274 012700 012774' MOV #ERMG4,R0
463 014300 012701 000061 MOV #ERMG4L,R1
464 014304 CALL TTWRIT ;INDICATE IO.ACE FAILED
014304 004737 016352' JSR PC,TTWRIT
465 014310 000137 016542' JMP EXIT
466 ;
467 .SBTTL ROUTINE TO EXTEND KLERRO.SNP FILE
468 ;
469 014314 012737 033060 011720' DOEXT:: MOV #"06,POINT
470 014322 CALL CKPNT ;TRACE 6
014322 004737 016252' JSR PC,CKPNT
471 014326 CALL CLRDPB ;CLEAR DPB PARAMETER WORDS
014326 004737 016166' JSR PC,CLRDPB
472 014332 152737 000200 010525' BISB #EX.ENA,KLDPB+Q.IOPL+5 ;ENTER
473 014340 005237 010526' INC KLDPB+Q.IOPL+6 ;ENTER ONE BLOCK AT A TIME
474 014344 CALL KLEXT
014344 004737 016146' JSR PC,KLEXT
475 014350 103026 BCC WRITE ;WRITE THE RECORD
476 014352 012700 013056' MOV #ERMG5,R0
477 014356 012701 000043 MOV #ERMG5L,R1
478 014362 CALL TTWRIT ;INDICATE IO.EXT FAILED
014362 004737 016352' JSR PC,TTWRIT
479 014366 000137 016542' JMP EXIT
480 ;
481 .SBTTL ROUTINE TO WRITE A RECORD
482 ;
483 014372 012737 033460 011720' DOWRT:: MOV #"07,POINT
484 014400 CALL CKPNT ;TRACE 7
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229-12
ROUTINE TO WRITE A RECORD
014400 004737 016252' JSR PC,CKPNT
485 014404 005037 011676' CLR PRINTT ;INIT PRINT COUNT
486 014410 005237 011674' INC RECORD ;START FROM RECORD #1
487 014414 005737 011704' TST CRESW ;FILE JUST CREATED ?
488 014420 001002 BNE WRITE ;YES
489 014422 005237 011674' INC RECORD ;START FROM RECORD #2
490 014426 WRITE: CALL CLRDPB ;CLEAR DPB
014426 004737 016166' JSR PC,CLRDPB
491 014432 013737 011674' 010530' MOV RECORD,KLDPB+Q.IOPL+10 ;RECORD # IN DPB
492 014440 CALL INITBF ;ZERO BUFFER
014440 004737 016226' JSR PC,INITBF
493 014444 012700 010674' MOV #BUFFER,R0 ;BUFFER ADR IN R0
494 014450 CALL .KLRSN ;GET INFORMATION INTO BUFFER
014450 004737 000000' JSR PC,.KLRSN
495 014454 103002 BCC 7$ ;OK
496 014456 CALL EREXIT ;FIND OUT WHY
014456 004737 013636' JSR PC,EREXIT
497 014462 7$: CALL KLWVB
014462 004737 016100' JSR PC,KLWVB
498 014466 103005 BCC 1$ ;WRITE OK
499 014470 123727 010564' 177766 CMPB IOSTA,#IE.EOF ;EOF ?
500 014476 001043 BNE 2$ ;NO, IT IS AN ERROR
501 014500 000705 BR DOEXT ;TO EXTEND KLERRO.SNP FILE
502 014502 005737 011702' 1$: TST TRACE ;TRACE SET ?
503 014506 001445 BEQ 3$ ;NO
504 014510 CALL CLRTTY ;CLEAR PRINT BUFFER
014510 004737 016206' JSR PC,CLRTTY
505 014514 012703 010674' MOV #BUFFER,R3 ;INPUT BUFFER
506 014520 012704 010574' 5$: MOV #TTYIPT,R4 ;OUTPUT BUFFER
507 014524 012705 000100 MOV #TTYL,R5 ;BYTE COUNT
508 014530 112302 4$: MOVB (R3)+,R2 ;GET ONE BYTE
509 014532 042702 177770 BIC #-10,R2 ;SAVE ONLY BITS 0-2
510 014536 052702 000060 BIS #'0,R2 ;CONVERT IT TO ASCII
511 014542 110224 MOVB R2,(R4)+ ;MOVE IT INTO PRINT BUFFER
512 014544 SOB R5,4$
014544 005305 DEC R5
014546 001370 BNE 4$
513 014550 012700 010574' MOV #TTYIPT,R0 ;PRINT BUFFER ADDRESS
514 014554 012701 000100 MOV #TTYL,R1 ;LENGTH
515 014560 CALL TTCOMX ;SEE WHAT WE HAVE IN BUFFER
014560 004737 016372' JSR PC,TTCOMX
516 014564 CALL TYCRLF ;ALSO PRINT CR,LF
014564 004737 016500' JSR PC,TYCRLF
517 014570 005237 011676' INC PRINTT ;ADD 1 TO PRINT COUNT
518 014574 022737 000010 011676' CMP #BUFSIZ/TTYL,PRINTT ;ALL PRINTED ?
519 014602 001407 BEQ 3$ ;YES
520 014604 000745 BR 5$ ;NOT YET
521 014606 012700 013122' 2$: MOV #ERMG6,R0
522 014612 012701 000042 MOV #ERMG6L,R1
523 014616 CALL TTWRIT ;INDICATE WRITE ERROR
014616 004737 016352' JSR PC,TTWRIT
524 014622 012700 011752' 3$: MOV #LTMSG,R0
525 014626 012701 000021 MOV #LTMSGL,R1
526 014632 CALL TTWRIT
014632 004737 016352' JSR PC,TTWRIT
527 014636 000137 016542' JMP EXIT ;EXIT FROM KLERR***********
528 ;
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229-13
SUBROUTINE TO PRINT ERROR HALT MSG
529 .SBTTL SUBROUTINE TO PRINT ERROR HALT MSG
530 ;
531 014642 012737 030061 011720' FNHALT: MOV #"10,POINT
532 014650 CALL CKPNT ;TRACE 10
014650 004737 016252' JSR PC,CKPNT
533 014654 005037 011700' CLR FSWTCH ;INIT FS STOP SW
534 014660 010005 MOV R0,R5 ;SAVE ERROR INDICATOR
535 014662 032705 000001 BIT #BIT0,R5 ;CLK ERR STOP ?
536 014666 001427 BEQ 111$ ;NO
537 014670 CALL 1$ ;SEND CLOCK ERR STOP MSG
014670 004737 014764' JSR PC,1$
538 014674 032705 000002 10$: BIT #BIT1,R5 ;DRAM PARITY ERR ?
539 014700 001402 BEQ 11$ ;NO
540 014702 CALL 2$ ;SEND DRAM PARITY MSG
014702 004737 014776' JSR PC,2$
541 014706 032705 000004 11$: BIT #BIT2,R5 ;CRAM PARITY ERR ?
542 014712 001402 BEQ 12$ ;NO
543 014714 CALL 3$ ;SEND CRAM PARITY MSG
014714 004737 015010' JSR PC,3$
544 014720 032705 000010 12$: BIT #BIT3,R5 ;FM PARITY ERR ?
545 014724 001402 BEQ 13$ ;NO
546 014726 CALL 4$ ;SEND FM PARITY MSG
014726 004737 015022' JSR PC,4$
547 014732 032705 000020 13$: BIT #BIT4,R5 ;FS ERR ?
548 014736 001402 BEQ 14$ ;NO
549 014740 CALL 5$ ;SEND FS ERROR MSG
014740 004737 015106' JSR PC,5$
550 014744 14$: RETURN
014744 000207 RTS PC
551 014746 012700 012400' 111$: MOV #NOCLK,R0
552 014752 012701 000046 MOV #NOCLKL,R1
553 014756 CALL COMMON ;INDICATE UNABLE TO FIND CLK ERR STOP
014756 004737 015122' JSR PC,COMMON
554 014762 000744 BR 10$ ;CONTINUE
555 014764 012700 012446' 1$: MOV #STOP,R0
556 014770 012701 000022 MOV #STOPL,R1
557 014774 000452 BR COMMON ;IT IS CLOCK ERROR STOP
558 014776 012700 012470' 2$: MOV #DRAM,R0
559 015002 012701 000015 MOV #DRAML,R1
560 015006 000445 BR COMMON ;IT IS DRAM PARITY
561 015010 012700 012506' 3$: MOV #CRAM,R0
562 015014 012701 000015 MOV #CRAML,R1
563 015020 000440 BR COMMON ;IT IS CRAM PARITY
564 015022 4$:
565 015022 012702 012557' MOV #FMA,R2 ; POINT TO ADDRESS BUFFER
566 015026 012701 000166' MOV #.FMADR,R1 ; POINT TO FM ERROR DATA
567 015032 112100 MOVB (R1)+,R0 ; EXTRACT THE ADDRESS
568 015034 CALL TY3D ; PRINT IT
015034 004737 015626' JSR PC,TY3D
569 015040 012702 012545' MOV #FMB,R2 ; POINT TO BLOCK BUFFER
570 015044 112100 MOVB (R1)+,R0 ; EXTRACT THE ADDRESS
571 015046 CALL TY3D ; PRINT THAT
015046 004737 015626' JSR PC,TY3D
572 015052 012700 010574' MOV #TTYIPT,R0 ; PUT DATA WHERE SETPC EXPECTS IT
573 015056 012120 MOV (R1)+,(R0)+ ; SO
574 015060 012120 MOV (R1)+,(R0)+
575 015062 011110 MOV (R1),(R0)
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229-14
SUBROUTINE TO PRINT ERROR HALT MSG
576 015064 012700 012571' MOV #FMD,R0 ; POINT TO WHERE WE WANT IT
577 015070 CALL SETPC ; AND SET IT
015070 004737 015342' JSR PC,SETPC
578 015074 012700 012524' MOV #FM,R0
579 015100 012701 000064 MOV #FML,R1
580 015104 000406 BR COMMON ;IT IS FM PARITY
581 015106 012700 012610' 5$: MOV #FS,R0
582 015112 012701 000011 MOV #FSL,R1
583 015116 005237 011700' INC FSWTCH ;TURN ON FS STOP SWITCH
584 015122 COMMON: CALL TTWRIT
015122 004737 016352' JSR PC,TTWRIT
585 015126 RETURN
015126 000207 RTS PC
586 ;
587 .SBTTL SUBROUTINE TO SET UP ERROR CODE
588 ;
589 015130 012737 030461 011720' SETEC:: MOV #"11,POINT
590 015136 CALL CKPNT ;TRACE 11
015136 004737 016252' JSR PC,CKPNT
591 015142 012704 012274' MOV #ERCODE,R4
592 015146 012705 000104 MOV #ERCODL,R5
593 015152 112724 000040 3$: MOVB #SPC,(R4)+ ;BLANK WHOLE AREA
594 015156 SOB R5,3$ ;CONTINUE UNTIL DONE
015156 005305 DEC R5
015160 001374 BNE 3$
595 015162 CALL PRTERR ;GET ASCII REPRESENTATION
015162 004737 010244' JSR PC,PRTERR
596 015166 012702 012274' MOV #ERCODE,R2 ;WHERE THE ASCII REP. GO
597 015172 005720 TST (R0)+ ;BYPASS SEVERITY CODE
598 015174 011000 MOV @R0,R0 ;GET ACTUAL MSG
599 015176 005003 CLR R3 ;INIT COUNTER
600 015200 112001 1$: MOVB (R0)+,R1 ;GET ONE CHAR
601 015202 001412 BEQ 2$ ;BR IF NULL CHAR
602 015204 042701 177600 BIC #177600,R1 ;MASK OUT HIGH BYTE
603 015210 105701 TSTB R1 ;TEST BYTE
604 015212 001406 BEQ 2$ ;BR IF NULL
605 015214 110122 MOVB R1,(R2)+ ;SAVE BYTE IN MSG
606 015216 005203 INC R3
607 015220 022703 000104 CMP #ERCODL,R3
608 015224 001401 BEQ 2$ ;QUIT IF BUFFER FULL
609 015226 000764 BR 1$ ;GET NEXT BYTE
610 015230 2$: RETURN
015230 000207 RTS PC
611 ;
612 .SBTTL CONVERT RAD50 TO ASCII
613 ;
614 015232 .C5TA:: PUSH R0 ;SAVE R0
015232 010046 MOV R0,-(SP)
615 015234 CALL CVTC ;CONVERT 1ST
015234 004737 015266' JSR PC,CVTC
616 015240 PUSH R0 ;STORE
015240 010046 MOV R0,-(SP)
617 015242 CALL CVTC ;CONVERT 2ND
015242 004737 015266' JSR PC,CVTC
618 015246 PUSH R0 ;STORE
015246 010046 MOV R0,-(SP)
619 015250 CALL CVTC ;CONVERT 3RD
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229-15
CONVERT RAD50 TO ASCII
015250 004737 015266' JSR PC,CVTC
620 015254 110022 MOVB R0,(R2)+ ;STORE 1ST
621 015256 112622 MOVB (SP)+,(R2)+ ;STORE 2ND
622 015260 112622 MOVB (SP)+,(R2)+ ;STORE 3RD
623 015262 POP R0 ;RESTORE R0
015262 012600 MOV (SP)+,R0
624 015264 RETURN ;AND RETURN
015264 000207 RTS PC
625 ;
626 ; CONVERT RAD50 CHARACTER
627 ;
628 015266 010100 CVTC: MOV R1,R0 ;DIVIDEND
629 015270 012701 000050 MOV #50,R1 ;DIVISOR
630 015274 CALL $DIV ;DO DIVISION
015274 004737 000000G JSR PC,$DIV
631 015300 010146 MOV R1,-(SP) ;SAVE REMAINDER
632 015302 010001 MOV R0,R1 ;QUOTIENT
633 015304 012600 MOV (SP)+,R0 ;RESTORE REMAINDER
634 015306 001412 BEQ 3$ ;BR IF NO REMAINDER
635 015310 020027 000033 CMP R0,#33 ;TEST MIDDLE
636 015314 002405 BLT 2$ ;ALPHA IF LT
637 015316 001402 BEQ 1$ ;DOLLAR IF EQ
638 015320 062700 000011 ADD #22-11,R0
639 015324 062700 177711 1$: ADD #11-100,R0
640 015330 062700 000040 2$: ADD #100-40,R0
641 015334 062700 000040 3$: ADD #40,R0
642 015340 RETURN
015340 000207 RTS PC
643 ;
644 .SBTTL SUBROUTINE TO SET UP PC
645 ;
646 015342 012737 031061 011720' SETPC:: MOV #"12,POINT
647 015350 CALL CKPNT ;TRACE 12
015350 004737 016252' JSR PC,CKPNT
648 015354 012705 010574' MOV #TTYIPT,R5 ;ADDRESS CONTAINING PC
649 015360 010002 MOV R0,R2 ;ADDRESS CONTAINING PC IN MSG
650 015362 016500 000004 MOV 4(R5),R0 ;GET 1ST DIGIT
651 015366 006200 ASR R0 ;ONLY 3 BITS FOR 1 DIGIT
652 015370 CALL BNRASC ;CONVERT TO ASCII & MOVE INTO BUFFER
015370 004737 015464' JSR PC,BNRASC
653 015374 CALL 10$ ;GET THE REST OF HALFWORD
015374 004737 015416' JSR PC,10$
654 015400 112722 000040 MOVB #SPC,(R2)+ ;INSERT SPACE
655 015404 CALL 2$ ;NEXT 2 DIGITS
015404 004737 015424' JSR PC,2$
656 015410 CALL 1$ ;LAST 4 DIGITS
015410 004737 015422' JSR PC,1$
657 015414 RETURN
015414 000207 RTS PC
658 015416 10$: CALL 3$ ;GET 5 DIGIT
015416 004737 015426' JSR PC,3$
659 015422 1$: CALL @PC ;GET 4 DIGITS
015422 004717 JSR PC,@PC
660 015424 2$: CALL @PC ;GET 2 DIGITS
015424 004717 JSR PC,@PC
661 015426 012701 000002 3$: MOV #2,R1 ;AMOUNT TO SHIFT
662 015432 010500 MOV R5,R0 ;LOCATION OF NUMBER
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229-16
SUBROUTINE TO SET UP PC
663 015434 CALL KLLSHI ;DO SHIFT
015434 004737 007760' JSR PC,KLLSHI
664 015440 016500 000004 MOV 4(R5),R0 ;GET LOW PART
665 015444 CALL BNRASC ;CONVERT TO ASCII & MOVE INTO BUFFER
015444 004737 015464' JSR PC,BNRASC
666 015450 010500 MOV R5,R0 ;NUMBER LOCATION
667 015452 012701 000001 MOV #1,R1 ;SET UP FOR NEXT
668 015456 CALL KLLSHI
015456 004737 007760' JSR PC,KLLSHI
669 015462 RETURN
015462 000207 RTS PC
670 015464 042700 177770 BNRASC: BIC #-10,R0 ;SAVE BITS 0-2
671 015470 052700 000060 BIS #'0,R0 ;ADD 60 TO IT
672 015474 110022 MOVB R0,(R2)+ ;MOVE CHARACTER INTO MSG
673 015476 RETURN
015476 000207 RTS PC
674 ;
675 .SBTTL SUBROUTINE TO SET UP PI
676 ;
677 015500 012737 031461 011720' SETPI:: MOV #"13,POINT
678 015506 CALL CKPNT ;TRACE 13
015506 004737 016252' JSR PC,CKPNT
679 015512 010004 MOV R0,R4 ;POINTS TO PI DATA
680 015514 112403 MOVB (R4)+,R3
681 015516 012702 012214' MOV #PI0,R2 ;R2 POINTS TO PI STATE AREA
682 015522 032703 000200 BIT #BIT7,R3 ;TEST PI ACTIVE
683 015526 001006 BNE 1$ ;ON
684 015530 012701 012052' MOV #OFF,R1 ;GET OFF MSG
685 015534 112122 MOVB (R1)+,(R2)+
686 015536 112122 3$: MOVB (R1)+,(R2)+
687 015540 112122 MOVB (R1)+,(R2)+
688 015542 000403 BR 2$
689 015544 012701 012050' 1$: MOV #ON,R1 ;GET ON MSG
690 015550 000772 BR 3$
691 015552 010300 2$: MOV R3,R0 ;GET PI
692 015554 042700 000600 BIC #BIT8+BIT7,R0 ;FLUSH ACTIVE BIT
693 015560 012702 012231' MOV #PI1,R2
694 015564 CALL TY3D ;GET 3 DIGIT NUMBER
015564 004737 015626' JSR PC,TY3D
695 015570 112400 MOVB (R4)+,R0 ;PI HOLD
696 015572 042700 000600 BIC #BIT8+BIT7,R0
697 015576 012702 012247' MOV #PI2,R2
698 015602 CALL TY3D ;ANOTHER 3 DIGIT NUMBER
015602 004737 015626' JSR PC,TY3D
699 015606 011400 MOV (R4),R0 ;PI GEN
700 015610 042700 000600 BIC #BIT8+BIT7,R0 ;FLUSH GARBAGE
701 015614 012702 012265' MOV #PI3,R2
702 015620 CALL TY3D ;ANOTHER 3 DIGIT NUMBER
015620 004737 015626' JSR PC,TY3D
703 015624 RETURN
015624 000207 RTS PC
704 015626 TY3D::
705 015626 PUSH <R0,R1>
015626 010046 MOV R0,-(SP)
015630 010146 MOV R1,-(SP)
706 015632 012701 000007 MOV #7,R1 ;SHIFT R0 7 PLACES
707 015636 CALL .SHIFT
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229-17
SUBROUTINE TO SET UP PI
015636 004737 007162' JSR PC,.SHIFT
708 015642 010001 MOV R0,R1 ;NUMBER IN R1
709 015644 005000 CLR R0
710 015646 CALL 4$ ;GET HIGH DIGIT
015646 004737 015666' JSR PC,4$
711 015652 CALL 3$ ;THEN 2 LOWER ONES
015652 004737 015664' JSR PC,3$
712 015656 POP <R1,R0>
015656 012601 MOV (SP)+,R1
015660 012600 MOV (SP)+,R0
713 015662 RETURN
015662 000207 RTS PC
714 015664 3$: CALL @PC
015664 004717 JSR PC,@PC
715 015666 006101 4$: ROL R1
716 015670 006100 ROL R0
717 015672 006101 ROL R1
718 015674 006100 ROL R0
719 015676 006101 ROL R1
720 015700 006100 ROL R0
721 015702 CALL BNRASC ;CONVERT TO ASCII & MOVE INTO BUFFER
015702 004737 015464' JSR PC,BNRASC
722 015706 RETURN
015706 000207 RTS PC
723 ;
724 .SBTTL SUBROUTINE TO SET UP FILE NAME
725 ;
726 015710 MVNAME: CALL CLRDPB ;CLEAR PARAMETER AREA
015710 004737 016166' JSR PC,CLRDPB
727 015714 CALL CLRFNB ;CLEAR FILFNB
015714 004737 016240' JSR PC,CLRFNB
728 015720 012700 010472' MOV #FILNAM,R0 ;GET FILE NAME
729 015724 012037 010354' MOV (R0)+,FILFNB+6 ;FILE NAME BODY
730 015730 021037 010500' CMP @R0,SNP ;FILE EXT ?
731 015734 001407 BEQ 1$ ;BR IF FILENAME =/< 3 CHAR
732 015736 012037 010356' MOV (R0)+,FILFNB+10
733 015742 021037 010500' CMP @R0,SNP
734 015746 001402 BEQ 1$ ;BR IF FILENAME =/< 6 CHAR
735 015750 012037 010360' MOV (R0)+,FILFNB+12
736 015754 011037 010362' 1$: MOV @R0,FILFNB+14 ;MOVE FILE EXT
737 015760 005037 010364' CLR FILFNB+16 ;ZERO VERSION #
738 015764 RETURN
015764 000207 RTS PC
739 ;
740 .SBTTL ROUTINE TO HANDLE QIO READ AND FILE PRIMITIVES
741 ;
742 ;++++++ ROUTINE TO READ A VIRTUAL BLOCK
743 ;
744 ; ENTRY:
745 ;
746 ; CALL KLRVB
747 ;
748 ;++++++ ROUTINE TO FIND FILE NAME IN DIRECTORY
749 ;
750 ; ENTRY:
751 ;
752 ; CALL KLFNA
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229-18
ROUTINE TO HANDLE QIO READ AND FILE PRIMITIVES
753 ;
754 ;++++++ ROUTINE TO DO ACCESS FOR READ
755 ;
756 ; ENTRY:
757 ;
758 ; CALL KLACR
759 ;
760 ;++++++ ROUTINE TO DO DE-ACCESS OF FILE
761 ;
762 ; ENTRY:
763 ;
764 ; CALL KLDAC
765 ;
766 ; COMMON RETURN:
767 ;
768 ; C-BIT CLEAR - SUCCESSFUL RETURN
769 ; SET - ERROR RETURN
770 ;
771 .EVEN
772 015766 012737 004400 010506' KLFNA:: MOV #IO.FNA,KLDPB+Q.IOFN ;FIND FILE NAME IN DIR
773 015774 000426 BR KLCOMM ;GO TO COMMON CODE
774 015776 012737 006400 010506' KLACR:: MOV #IO.ACR,KLDPB+Q.IOFN ;DO ACCESS FOR READ
775 016004 052737 100000 010530' BIS #BIT15,KLDPB+Q.IOPL+10 ;SET ACCESS ENABLE BIT
776 016012 000417 BR KLCOMM ;USE COMMON CODE
777 016014 KLDAC:: CALL CLRDPB ;ZERO PARAMETER WORDS
016014 004737 016166' JSR PC,CLRDPB
778 016020 012737 010000 010506' MOV #IO.DAC,KLDPB+Q.IOFN ;DE-ACCESS FILE
779 016026 000411 BR KLCOMM ;USE COMMON CODE
780 016030 012737 010400 010506' KLRVB:: MOV #IO.RVB,KLDPB+Q.IOFN ;READ VIRTUAL BLOCK
781 016036 012737 010674' 010520' KLIORW: MOV #BUFFER,KLDPB+Q.IOPL ;BUFFER ADDRESS
782 016044 012737 001000 010522' MOV #BUFSIZ,KLDPB+Q.IOPL+2 ;BUFFER SIZE
783 016052 KLCOMM: DIR$ #KLDPB ;PERFORM GIVEN FUNCTION
016052 012746 010504' MOV #KLDPB,-(SP)
016056 104375 EMT 375
784 016060 103405 BCS 20$ ;FAILED
785 016062 105737 010564' TSTB IOSTA ;CHECK I/O STATUS
786 016066 002402 BLT 20$ ;AN ERROR
787 016070 000241 CLC ;NO ERROR
788 016072 RETURN
016072 000207 RTS PC
789 016074 000261 20$: SEC ;SET C-BIT
790 016076 RETURN
016076 000207 RTS PC
791 ;
792 .SBTTL ROUTINE TO HANDLE QIO WRITE AND FILE PRIMITIVES
793 ;
794 ;++++++ ROUTINE TO WRITE A VIRTUAL BLOCK
795 ;
796 ; ENTRY:
797 ;
798 ; CALL KLWVB
799 ;
800 ;++++++ ROUTINE TO GET FILE ID FOR A NEW FILE
801 ;
802 ; ENTRY:
803 ;
804 ; CALL KLCRE
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229-19
ROUTINE TO HANDLE QIO WRITE AND FILE PRIMITIVES
805 ;
806 ;++++++ ROUTINE TO DO ACCESS FOR EXTEND
807 ;
808 ; ENTRY:
809 ;
810 ; CALL KLACE
811 ;
812 ;++++++ ROUTINE TO EXTEND FILE
813 ;
814 ; ENTRY:
815 ;
816 ; CALL KLEXT
817 ;
818 ;++++++ ROUTINE TO READ STATISTICS BLOCK
819 ;
820 ; ENTRY:
821 ;
822 ; CALL KLRAT
823 ;
824 ;ALL RETURN:
825 ;
826 ; C-BIT CLEAR - SUCCESSFUL RETURN
827 ; SET - ERROR RETURN
828 ;
829 016100 012737 011000 010506' KLWVB:: MOV #IO.WVB,KLDPB+Q.IOFN ;WRITE VIRTUAL BLOCK
830 016106 000753 BR KLIORW ;GO DO I/O
831 016110 012737 012000 010506' KLCRE:: MOV #IO.CRE,KLDPB+Q.IOFN ;GET FILE ID FOR NEW FILE
832 016116 000755 BR KLCOMM
833 016120 012737 007400 010506' KLACE: MOV #IO.ACE,KLDPB+Q.IOFN ;ACCESS FOR EXTEND
834 016126 052737 100000 010530' BIS #BIT15,KLDPB+Q.IOPL+10 ;SET ACCESS ENABLE BIT
835 016134 000746 BR KLCOMM
836 016136 012737 006000 010506' KLENA:: MOV #IO.ENA,KLDPB+Q.IOFN ;ENABLE FOR ENTER NAME IN DIR
837 016144 000742 BR KLCOMM
838 016146 012737 011400 010506' KLEXT:: MOV #IO.EXT,KLDPB+Q.IOFN ;EXTEND FILE
839 016154 000736 BR KLCOMM
840 016156 012737 013000 010506' KLRAT:: MOV #IO.RAT,KLDPB+Q.IOFN ;READ STATISTICS BLOCK
841 016164 000732 BR KLCOMM
842 ;
843 ; CLEAR PARAMETER WORDS IN KLDPB
844 ;
845 016166 012700 010520' CLRDPB: MOV #KLDPB+Q.IOPL,R0
846 016172 012701 000006 MOV #6,R1
847 016176 005020 1$: CLR (R0)+
848 016200 SOB R1,1$
016200 005301 DEC R1
016202 001375 BNE 1$
849 016204 RETURN
016204 000207 RTS PC
850 ;
851 ; CLEAR TTY INPUT BUFFER
852 ;
853 016206 012700 010574' CLRTTY: MOV #TTYIPT,R0 ;ADDRESS
854 016212 012701 000100 MOV #TTYL,R1 ;LENGTH
855 016216 105020 LOOP: CLRB (R0)+
856 016220 SOB R1,LOOP
016220 005301 DEC R1
016222 001375 BNE LOOP
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229-20
ROUTINE TO HANDLE QIO WRITE AND FILE PRIMITIVES
857 016224 RETURN
016224 000207 RTS PC
858 ;
859 ; CLEAR DISK BUFFER
860 ;
861 016226 012700 010674' INITBF: MOV #BUFFER,R0
862 016232 012701 001000 MOV #BUFSIZ,R1 ;SIZE
863 016236 000767 BR LOOP ;GO CLEAR BUFFER
864 ;
865 ; CLEAR FNB FOR REGULAR FILE
866 ;
867 016240 012700 010346' CLRFNB: MOV #FILFNB,R0 ;FNB ADDRESS
868 016244 012701 000032 MOV #FNBSIZ,R1 ;SIZE
869 016250 000762 BR LOOP
870 ;
871 ; PRINT OUT TRACE MSG
872 ;
873 016252 005737 011702' CKPNT: TST TRACE ;TRACE SET ?
874 016256 001412 BEQ 1$ ;NO
875 016260 PUSH <R0,R1>
016260 010046 MOV R0,-(SP)
016262 010146 MOV R1,-(SP)
876 016264 012700 011710' MOV #CKMSG,R0
877 016270 012701 000014 MOV #CKMSGL,R1
878 016274 CALL TTWRIT
016274 004737 016352' JSR PC,TTWRIT
879 016300 POP <R1,R0>
016300 012601 MOV (SP)+,R1
016302 012600 MOV (SP)+,R0
880 016304 1$: RETURN
016304 000207 RTS PC
881 ;
882 .SBTTL ROUTINE TO READ/WRITE FROM/TO CTY 0
883 ;
884 ;
885 ;++++++ ROUTINE TO READ INPUT FROM CTY 0
886 ;
887 ; ENTRY:
888 ;
889 ; CALL TTREAD
890 ;
891 ;++++++ ROUTINE TO WRITE OUTPUT TO CTY 0
892 ;
893 ; ENTRY:
894 ;
895 ; CALL TTWRIT
896 ;
897 ; COMMON RETURN:
898 ;
899 ; EITHER NSI OR EXIT$S
900 ;
901 .EVEN
902 016306 012700 011774' TTREAD:: MOV #READP,R0
903 016312 012701 000006 MOV #READPL,R1
904 016316 CALL TTCOMX ;PROMPT WITH ERR>
016316 004737 016372' JSR PC,TTCOMX
905 016322 CALL CLRTTY ;ZERO TTYIPT
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229-21
ROUTINE TO READ/WRITE FROM/TO CTY 0
016322 004737 016206' JSR PC,CLRTTY
906 016326 012737 001000 010536' MOV #IO.RLB,TTDPB+Q.IOFN ;READ LINE BLOCK
907 016334 012737 010574' 010550' MOV #TTYIPT,TTDPB+Q.IOPL ;TTYIPT BUFFER ADR
908 016342 012737 000100 010552' MOV #TTYL,TTDPB+Q.IOPL+2 ;BUFFER LENGTH
909 016350 000417 BR TTCOMR ;GO READ
910 016352 012737 012002' 010550' TTWRIT:: MOV #WRITP,TTDPB+Q.IOPL
911 016360 012737 000011 010552' MOV #WRITPL,TTDPB+Q.IOPL+2
912 016366 CALL TTCOMW ;PROMPT WITH ERR --
016366 004737 016402' JSR PC,TTCOMW
913 016372 010037 010550' TTCOMX:: MOV R0,TTDPB+Q.IOPL ;BUFFER ADR
914 016376 010137 010552' MOV R1,TTDPB+Q.IOPL+2 ;LENGTH
915 016402 012737 000400 010536' TTCOMW: MOV #IO.WLB,TTDPB+Q.IOFN ;WRITE LINE BLOCK
916 016410 TTCOMR: DIR$ #TTDPB ;PERFORM GIVEN FUNCTION
016410 012746 010534' MOV #TTDPB,-(SP)
016414 104375 EMT 375
917 016416 103411 BCS TTERRO ;FAILED
918 016420 WTSE$S #EFN1 ;WAIT FOR COMPLETION
016420 012746 000011 MOV #EFN1,-(SP)
016424 012746 MOV (PC)+,-(SP)
016426 051 002 .BYTE 41.,2
016430 104375 EMT 375
919 016432 022737 000400 010536' CMP #IO.WLB,TTDPB+Q.IOFN
920 016440 001425 BEQ TTEXIT ;EXIT IF WRITE FUNCTION
921 016442 012700 010574' TTERRO: MOV #TTYIPT,R0 ;TTY INPUT BUFFER ADDRESS
922 016446 063700 010572' ADD IOTTY+2,R0 ;BYPASS VALID BYTES
923 016452 105020 1$: CLRB (R0)+ ;ZERO REST OF BUFFER
924 016454 120027 010674' CMPB R0,#BUFFER ;WHOLE AREA CLEARED ?
925 016460 001374 BNE 1$ ;NOT YET
926 016462 105737 010570' TSTB IOTTY ;ERROR ?
927 016466 002425 BLT EXIT ;YES, EXIT
928 016470 122737 000003 010571' CMPB #'C-100,IOTTY+1 ;CONTROL-C ?
929 016476 001421 BEQ EXIT ;YES, EXIT
930 016500 012700 012043' TYCRLF:: MOV #CRLF,R0
931 016504 012701 000002 MOV #2,R1
932 016510 CALL TTCOMX ;PROMPT WITH CR, LF
016510 004737 016372' JSR PC,TTCOMX
933 016514 TTEXIT: RETURN
016514 000207 RTS PC
934 016516 012700 012046' TYPTAB:: MOV #TABB,R0 ;OUTPUT TAB
935 016522 000402 BR LENGTH
936 016524 012700 012047' TYPSLS:: MOV #SLASH,R0 ;OUTPUT SLASH
937 016530 012701 000001 LENGTH: MOV #1,R1
938 016534 CALL TTCOMX
016534 004737 016372' JSR PC,TTCOMX
939 016540 EVTYP::
940 016540 TYPLIN::
941 016540 TYPASZ::
942 016540 KLNTYP:: RETURN
016540 000207 RTS PC
943 ;
944 .SBTTL COMMON ERROR AND EXIT ROUTINE
945 ;
946 016542 EXIT:: CALL KLDAC ;DE-ACCESS KLERRO.SNP FILE
016542 004737 016014' JSR PC,KLDAC
947 016546 EXIT1: EXIT$S ;EXIT FROM KLERR TASK
016546 012746 MOV (PC)+,-(SP)
016550 063 001 .BYTE 51.,1
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229-22
COMMON ERROR AND EXIT ROUTINE
016552 104375 EMT 375
948 013164' .END START
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229-23
SYMBOL TABLE
ABORTX 000230R ASHC = 000244 CAMLE = 000313 CS.CS2= 000010 G DOENA 014132RG
ABORT1 000214R ATTBLK 010420R CAMN = 000316 CS.EXP= 177670 DOEXT 014314RG
ABTAB 005352R A.LULU= 000002 CCA = 000014 CS.EXT= 000010 G DOMAS 013674RG
ADD = 000270 A.LUNA= 000004 CDD = 000020 CS.FST= 000004 G DON10C= 040000
ADDB = 000273 A.LUNU= 000006 CD.CLC= 000400 G CS.MGN= 000004 G DON10S= 100000
ADDI = 000271 BCCTER 000270R CD.CRC= 002000 G CS.NRM= 000000 G DON11C= 000100
ADDM = 000272 BIT0 = 000001 CD.DPC= 001000 G CS.UDF= 000014 G DON11S= 000200
ADSBI 007572R BIT00 = 000001 CD.NRM= 000000 G CVTC 015266R DOWRT 014372RG
ALUNSY 010462R BIT01 = 000002 CESCKX 000330R CYCLS = 000002 DPB = 000137
ALUNTT 010452R BIT02 = 000004 CF.CTC= 000100 G DATAI = 000001 DPDTEN= 007344R
AND = 000404 BIT03 = 000010 CF.HTO= 000001 G DATAO = 000003 DPKLM1 001502R
ANDB = 000407 BIT04 = 000020 CF.LOD= 000004 G DATE = 000004 DPS4 = 040000
ANDCA = 000410 BIT05 = 000040 CF.TID= 000002 G DCOMST= 000001 DPTMSG 001415R
ANDCAB= 000413 BIT06 = 000100 CF.TOD= 000003 G DEP = 010000 DRAM 012470R
ANDCAI= 000411 BIT07 = 000200 CHNPNT= 000001 DEX = 000400 DRAML = 000015
ANDCAM= 000412 BIT08 = 000400 CKEDME 001636R DEXDON= 000004 DRATAB 005112R
ANDCB = 000440 BIT09 = 001000 CKEDMX 001644R DEXWD1= 174406 DRDMSG 000776R
ANDCBB= 000443 BIT1 = 000002 CKMSG 011710R DEXWD2= 174404 DRESET= 000100
ANDCBI= 000441 BIT10 = 002000 CKMSGL= 000014 DEXWD3= 174402 DR.DTE= 000011
ANDCBM= 000442 BIT11 = 004000 CKPNT 016252R DFAD = 000110 DSEND = 000004
ANDCM = 000420 BIT12 = 010000 CLEAR = 000400 DFBEND= 000176R 003 DS04 = 004000
ANDCMB= 000423 BIT13 = 020000 CLEARB= 000403 DFDV = 000113 DS05 = 002000
ANDCMI= 000421 BIT14 = 040000 CLEARI= 000401 DFMP = 000112 DS06 = 001000
ANDCMM= 000422 BIT15 = 100000 CLEARM= 000402 DFN = 000131 DTECMD= 000451
ANDI = 000405 BIT2 = 000004 CLIPEX 000362R DFSB = 000111 DTEFLG= 000444
ANDM = 000406 BIT3 = 000010 CLKNRM 000210RG 003 DFUNC = 000200 DTEF11= 000450
AOBJN = 000253 BIT4 = 000020 CLOSE = 000070 DF.DMG= 000004 DTEMTD= 000455
AOBJP = 000252 BIT5 = 000040 CLRDPB 016166R DF.DMN= 000007 DTEMTI= 000456
AOJ = 000340 BIT6 = 000100 CLRFEX 000416R DF.DOR= 000001 DTERDX 000600R
AOJA = 000344 BIT7 = 000200 CLRFFX 000412R DF.EHG= 000010 DTEREX 000574R
AOJE = 000342 BIT8 = 000400 CLRFNB 016240R DF.EHM= 000011 DTRMSG 000732R
AOJG = 000347 BIT9 = 001000 CLRFXX 000420R DF.EMG= 000005 DTTRK1 000664R
AOJGE = 000345 BLKI = 000000 CLRGO 007152R DF.EMN= 000006 DTTRK2 000670R
AOJL = 000341 BLKO = 000002 CLRTTY 016206R DF.KLR= 000012 DTTRK3 000712R
AOJLE = 000343 BLT = 000251 CLRXXX 007156R DF.KLW= 000013 DTWRTC 000456R
AOJN = 000346 BNRASC 015464R CNUPE = 000002 DF.KLX= 000014 DUPE = 000020
AOS = 000350 BPARER= 000020 COMMON 015122R DF.OFF= 000002 DURE = 000004
AOSA = 000354 BRSTXX 000276R CONI = 000005 DF.ON = 000003 DWRMSG 001002R
AOSE = 000352 BUFFER 010674R CONO = 000004 DF.PDP= 000016 DW1MSG 000752R
AOSG = 000357 BUFLEN= 000024 CONSO = 000007 DF.PEX= 000015 DW2MSG 000757R
AOSGE = 000355 BUFSIZ= 001000 CONSZ = 000006 DIAG1 = 174430 DW3MSG 000771R
AOSL = 000351 CAI = 000300 CPTMP 000212R 003 DIAG2 = 174432 DXWRD1= 002000
AOSLE = 000353 CAIA = 000304 CR = 000015 DIAG3 = 174436 D1.CES= 004000 G
AOSN = 000356 CAIE = 000302 CRAM 012506R DIKL10= 000010 D1.DCS= 000001 G
APR = 000000 CAIG = 000307 CRAML = 000015 DIRFNB 010314RG D1.DDT= 000040 G
AP.ALL= 000177 G CAIGE = 000305 CRATAB 005062R DIV = 000234 D1.DEX= 000400 G
AP.ARP= 001000 G CAIL = 000301 CRESW 011704R DIVB = 000237 D1.DFM= 000010 G
AP.CDP= 000004 G CAILE = 000303 CRLF 012043R DIVI = 000235 D1.DS0= 100000 G
AP.EIP= 000400 G CAIN = 000306 CRLTAB 005076R DIVM = 000236 D1.DS1= 040000 G
AP.IPF= 000020 G CALL = 000040 CR.CR1= 000001 G DLYCNT= 174400 D1.DS2= 020000 G
AP.MPE= 000010 G CALLI = 000047 CR.CR2= 000002 G DMOVE = 000120 D1.DS3= 010000 G
AP.NRM= 001400 G CAM = 000310 CR.FUL= 000000 G DMOVEM= 000124 D1.DS4= 004000 G
AP.NXM= 000040 G CAMA = 000314 CR.HLF= 000001 G DMOVN = 000121 D1.DS5= 002000 G
AP.PWF= 000001 G CAME = 000312 CR.NRM= 000000 G DMOVNM= 000125 D1.DS6= 001000 G
AP.SAP= 000002 G CAMG = 000317 CR.QTR= 000002 G DOACE 014242RG D1.HLP= 001000 G
AP.SBE= 000100 G CAMGE = 000315 CR.SLO= 000003 G DOCRE 014046RG D1.LBK= 000200 G
ASH = 000240 CAML = 000311 CS.CS1= 000004 G DODIR 013746RG D1.MBZ= 000442 G
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229-24
SYMBOL TABLE
D1.PLS= 000020 G EQV = 000444 EX.ENA= 000200 FR.CL1= 000316 G FR.132= 000264 G
D1.RUN= 002000 G EQVB = 000447 EX.FCO= 000004 FR.CL2= 000314 G FR.133= 000266 G
D1.T10= 000200 G EQVI = 000445 FAD = 000140 FR.CRD= 000302 G FR.134= 000270 G
D1.T11= 000100 G EQVM = 000446 FADB = 000143 FR.CR1= 000316 G FR.135= 000272 G
D1.V04= 000020 G ERCODE 012274R FADL = 000141 FR.CR2= 000314 G FR.136= 000274 G
D1.XFR= 000004 G ERCODL= 000104 FADM = 000142 FR.CR3= 000312 G FR.137= 000276 G
D1011 = 000040 EREXIT 013636R FADR = 000144 FR.CR4= 000310 G FR.140= 000300 G
D2RST 005674R ERMG1 012622R FADRB = 000147 FR.DA1= 000260 G FR.141= 000302 G
D2.EBD= 040000 G ERMG1L= 000033 FADRI = 000145 FR.DA2= 000262 G FR.142= 000304 G
D2.MBZ= 177641 G ERMG2 012656R FADRM = 000146 FR.EBS= 000356 G FR.143= 000306 G
D2.MS1= 000002 G ERMG2L= 000042 FDV = 000170 FR.FE1= 000266 G FR.144= 000310 G
D2.MS2= 000004 G ERMG3 012720R FDVB = 000173 FR.FE2= 000264 G FR.145= 000312 G
D2.MS4= 000010 G ERMG3L= 000054 FDVL = 000171 FR.PI0= 000200 FR.146= 000314 G
D2.MS8= 000020 G ERMG4 012774R FDVM = 000172 FR.PI1= 000202 FR.147= 000316 G
D2.RA0= 100000 G ERMG4L= 000061 FDVR = 000174 FR.RAD= 000256 G FR.150= 000320 G
D2.RA1= 040000 G ERMG5 013056R FDVRB = 000177 FR.RAR= 000240 G FR.151= 000322 G
D2.RA2= 020000 G ERMG5L= 000043 FDVRI = 000175 FR.RBR= 000242 G FR.152= 000324 G
D2.RST= 000100 G ERMG6 013122R FDVRM = 000176 FR.RFM= 000246 G FR.153= 000326 G
D3RST 005676R ERMG6L= 000042 FERTAB 005126R FR.RMQ= 000244 G FR.154= 000330 G
D3.CDD= 000020 G ERRTBL 000000RG 004 FILACB 010404R FR.SC1= 000262 G FR.155= 000332 G
D3.MBZ= 177704 G ERR10C= 010000 FILFID 010400R FR.SC2= 000260 G FR.156= 000334 G
D3.NPE= 000002 G ERR10S= 020000 FILFNB 010346R FR.SR1= 000306 G FR.157= 000336 G
D3.PAR= 040000 G ERR11C= 000001 FILNAM 010472R FR.SR2= 000304 G FR.160= 000340 G
D3.RST= 000001 G ERR11S= 000002 FIX = 000122 FR.VM0= 000320 G FR.161= 000342 G
D3.SCD= 000040 G ER$BAE= 000270R FIXR = 000126 FR.VM1= 000322 G FR.162= 000344 G
D3.SSL= 100000 G ER$CAE= 004064R FLTR = 000127 FR.VM2= 000324 G FR.163= 000346 G
D3.TXB= 000001 G ER$CCC= 005762R FM 012524R FR.VM3= 000326 G FR.164= 000350 G
D3.UPE= 000020 G ER$CCR= 000412R FMA 012557R FR.VM4= 000330 G FR.165= 000352 G
D3.URE= 000004 G ER$CCS= 005724R FMB 012545R FR.VM5= 000332 G FR.166= 000354 G
D3.WEP= 000010 G ER$CES= 000314R FMD 012571R FR.VM6= 000334 G FR.167= 000356 G
EBCLKE 001100R ER$CFH= 002722R FML = 000064 FR.VM7= 000336 G FR.170= 000360 G
EBCLKX 001112R ER$CSC= 006204R FMP = 000160 FR.100= 000200 G FR.171= 000362 G
EBCLK1 001026R ER$CSR= 006010R FMPB = 000163 FR.101= 000202 G FR.172= 000364 G
EBCLK2 001066R ER$DNP= 002124R FMPL = 000161 FR.102= 000204 G FR.173= 000366 G
EBCTOE 001104R ER$DSF= 000574R FMPM = 000162 FR.103= 000206 G FR.174= 000370 G
EBPCKX 001144R ER$DTC= 002134R FMPR = 000164 FR.104= 000210 G FR.175= 000372 G
EBSEL = 000100 ER$ECT= 001104R FMPRB = 000167 FR.105= 000212 G FR.176= 000374 G
EBUSPC= 000020 ER$EPE= 001136R FMPRI = 000165 FR.106= 000214 G FR.177= 000376 G
EBUSPS= 000004 ER$FRF= 006552R FMPRM = 000166 FR.107= 000216 G FS 012610R
EDEPT 001354R ER$FWF= 006652R FNBSIZ= 000032 FR.110= 000220 G FSB = 000150
EDEXV 001360R ER$FXF= 007030R FNCIFC 007112R FR.111= 000222 G FSBB = 000153
EDKLMX 001516R ER$IFC= 007112R FNCOCX 007124R FR.112= 000224 G FSBL = 000151
EDKLMY 001620R ER$IPE= 005334R FNCODD 007100R FR.113= 000226 G FSBM = 000152
EDONES= 040000 ER$MAE= 001636R FNCOFC 007120R FR.114= 000230 G FSBR = 000154
EDPHY 001374R ER$OFC= 007120R FNHALT 014642R FR.115= 000232 G FSBRB = 000157
EDTYTB 001342R ER$UNL= 006130R FORPRO= 000020 FR.116= 000234 G FSBRI = 000155
EDUPT 001364R EVTYP 016540RG FRDERR 006552R FR.117= 000236 G FSBRM = 000156
EDUSV 001370R EXCH = 000250 FRDTEN= 007274R FR.120= 000240 G FSC = 000132
ED.EPT= 000000 G EXDPM1 001576R FRDXXX 006556R FR.121= 000242 G FSL = 000011
ED.EXV= 000040 G EXDPM2 001616R FREAD1 006530R FR.122= 000244 G FSWTCH 011700R
ED.PHY= 000200 G EXDTEN= 007332R FREAD2 006546R FR.123= 000246 G FWDTEN= 007306R
ED.UPT= 000100 G EXIT 016542RG FR.ADX= 000254 G FR.124= 000250 G FWRIT1 006642R
ED.USV= 000140 G EXIT1 016546R FR.APR= 000220 G FR.125= 000252 G FWRTGO 006616R
EFN1 = 000011 EXTMSG 001400R FR.ARX= 000252 G FR.126= 000254 G FWRTXX 006656R
EFN2 = 000012 EX.AC1= 000001 FR.BRX= 000250 G FR.127= 000256 G FW.APE= 000116 G
ENTER = 000077 EX.AC2= 000002 FR.CA1= 000312 G FR.130= 000260 G FW.CA1= 000122 G
EPTR = 000000 EX.ADF= 000010 FR.CA2= 000310 G FR.131= 000262 G FW.CA2= 000124 G
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229-25
SYMBOL TABLE
FW.CDR= 000112 G FXCTXF 007030R G.TIMO= 000002 HRRO = 000560 IE.IDU= 177644
FW.CHN= 000160 G FXCTXX 007024R G.TISC= 000012 HRROI = 000561 IE.IEF= 177637
FW.CRD= 000126 G FXCT1 006740R G.TIYR= 000000 HRROM = 000562 IE.IFC= 177776
FW.CR1= 000136 G FXCT2 006754R HIBYTE= 177400 HRROS = 000563 IE.IFU= 177747
FW.CR2= 000134 G FXCT3 006774R HLL = 000500 HRRS = 000543 IE.ILL= 177726
FW.CR3= 000132 G FXDTEN= 007262R HLLE = 000530 HRRZ = 000550 IE.ILU= 177640
FW.CR4= 000130 G FX.BMC= 000012 G HLLEI = 000531 HRRZI = 000551 IE.INS= 177776
FW.CSR= 000110 G FX.CMR= 000014 G HLLEM = 000532 HRRZM = 000552 IE.IPR= 177641
FW.DJE= 000146 G FX.CON= 000024 G HLLES = 000533 HRRZS = 000553 IE.ISQ= 177703
FW.DJO= 000150 G FX.CRF= 000020 G HLLI = 000501 HTMG1 012056R IE.ITI= 177643
FW.DR1= 000140 G FX.CSP= 000000 G HLLM = 000502 HTMG1L= 000021 IE.ITS= 177770
FW.DR2= 000142 G FX.CST= 000002 G HLLO = 000520 HTMG2 012100R IE.LCK= 177745
FW.DR3= 000144 G FX.EBC= 000006 G HLLOI = 000521 HTMG2L= 000025 IE.LNL= 177646
FW.EBL= 000174 G FX.MBC= 000004 G HLLOM = 000522 IBP = 000133 IE.MBK= 177721
FW.IAC= 000154 G FX.SMR= 000016 G HLLOS = 000523 IDIV = 000230 IE.MOD= 177753
FW.IOJ= 000152 G FX.SRF= 000022 G HLLS = 000503 IDIVB = 000233 IE.NBF= 177731
FW.IPE= 000114 G FX.SYC= 000010 G HLLZ = 000510 IDIVI = 000231 IE.NBK= 177727
FW.KLO= 000156 G FX.UDR= 000032 G HLLZI = 000511 IDIVM = 000232 IE.NFI= 177704
FW.LAR= 000176 G FX.UIR= 000030 G HLLZM = 000512 IDPB = 000136 IE.NLN= 177733
FW.LBL= 000106 G FX.000= 000000 G HLLZS = 000513 IE.ABO= 177761 IE.NNC= 177674
FW.LBR= 000104 G FX.001= 000002 G HLR = 000544 IE.ACT= 177771 IE.NOD= 177751
FW.MBX= 000162 G FX.002= 000004 G HLRE = 000574 IE.ADP= 177636 IE.NSF= 177746
FW.SBR= 000174 G FX.003= 000006 G HLREI = 000575 IE.ALN= 177736 IE.OFL= 177677
FW.040= 000100 G FX.004= 000010 G HLREM = 000576 IE.AST= 177660 IE.ONP= 177773
FW.041= 000102 G FX.005= 000012 G HLRES = 000577 IE.BAD= 177777 IE.OVR= 177756
FW.042= 000104 G FX.006= 000014 G HLRO = 000564 IE.BBE= 177710 IE.PRI= 177760
FW.043= 000106 G FX.007= 000016 G HLROI = 000565 IE.BDI= 177714 IE.RAC= 177724
FW.044= 000110 G FX.010= 000020 G HLROM = 000566 IE.BDR= 177716 IE.RAT= 177723
FW.045= 000112 G FX.011= 000022 G HLROS = 000567 IE.BDV= 177711 IE.RBG= 177730
FW.046= 000114 G FX.012= 000024 G HLRS = 000547 IE.BHD= 177700 IE.RCN= 177722
FW.047= 000116 G FX.013= 000026 G HLRZ = 000554 IE.BLK= 177754 IE.RER= 177740
FW.050= 000120 G FX.014= 000030 G HLRZI = 000555 IE.BNM= 177712 IE.RNM= 177715
FW.051= 000122 G FX.015= 000032 G HLRZM = 000556 IE.BTF= 177675 IE.RSU= 177757
FW.052= 000124 G FX.016= 000034 G HLRZS = 000557 IE.BTP= 177725 IE.SDP= 177635
FW.053= 000126 G FX.017= 000036 G HRL = 000504 IE.BVR= 177701 IE.SNC= 177735
FW.054= 000130 G FX.020= 000040 G HRLE = 000534 IE.BYT= 177755 IE.SPC= 177772
FW.055= 000132 G FX.021= 000042 G HRLEI = 000535 IE.CKP= 177766 IE.SQC= 177734
FW.056= 000134 G FX.022= 000044 G HRLEM = 000536 IE.CKS= 177742 IE.SRE= 177762
FW.057= 000136 G FX.023= 000046 G HRLES = 000537 IE.CLO= 177732 IE.STK= 177706
FW.060= 000140 G FX.024= 000050 G HRLI = 000505 IE.CON= 177752 IE.ULN= 177773
FW.061= 000142 G FX.025= 000052 G HRLM = 000506 IE.DAA= 177770 IE.UPN= 177777
FW.062= 000144 G FX.026= 000054 G HRLO = 000564 IE.DAO= 177763 IE.VER= 177774
FW.063= 000146 G FX.027= 000056 G HRLOI = 000565 IE.DFU= 177750 IE.WAC= 177743
FW.064= 000150 G FX.030= 000060 G HRLOM = 000566 IE.DNA= 177771 IE.WAT= 177741
FW.065= 000152 G FX.031= 000062 G HRLOS = 000567 IE.DNR= 177775 IE.WER= 177737
FW.066= 000154 G FX.032= 000064 G HRLS = 000507 IE.DUN= 177767 IE.WLK= 177764
FW.067= 000156 G FX.033= 000066 G HRLZ = 000514 IE.DUP= 177707 IE.2DV= 177720
FW.070= 000160 G FX.034= 000070 G HRLZI = 000515 IE.EBX= 177776 IFLOP = 100000
FW.071= 000162 G FX.035= 000072 G HRLZM = 000516 IE.EOF= 177766 ILDB = 000134
FW.072= 000164 G FX.036= 000074 G HRLZS = 000517 IE.EOT= 177702 IMUL = 000220
FW.073= 000166 G FX.037= 000076 G HRR = 000540 IE.EOV= 177765 IMULB = 000223
FW.074= 000170 G GETSTS= 000062 HRRE = 000570 IE.EXP= 177676 IMULI = 000221
FW.075= 000172 G G.TICP= 000016 HRREI = 000571 IE.FEX= 177717 IMULM = 000222
FW.076= 000174 G G.TICT= 000014 HRREM = 000572 IE.FHE= 177705 IN = 000056
FW.077= 000176 G G.TIDA= 000004 HRRES = 000573 IE.FOP= 177713 INBUF = 000064
FXCTCX 007006R G.TIHR= 000006 HRRI = 000541 IE.HFU= 177744 INIT = 000041
FXCTEX 007026R G.TIMI= 000010 HRRM = 000542 IE.HWR= 177772 INITBF 016226R
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229-26
SYMBOL TABLE
INITDT 002134R IO.LTK= 000050 IP.DRP= 000002 G KLDAC 016014RG KLTST 007446RG
INITDX 002124R IO.MCS= 013400 IP.FMP= 000010 G KLDEC 010112RG KLTST1 007466R
INITER 002130R IO.MDA= 016000 IP.FSS= 000001 G KLDIVI 007734RG KLTST2 007472R
INITEX 002120R IO.MDI= 014400 IP.NRM= 000016 G KLDPB 010504RG KLTST3 007474R
INITL1 001702R IO.MDO= 015400 IQ.Q = 000002 KLENA 016136RG KLWVB 016100RG
INKLFA 002056R IO.MLO= 006000 IQ.X = 000001 KLEXT 016146RG KLXCTX 002764R
INKLF1 001742R IO.MOD= 003000 IS.BV = 000005 KLE$$E= 000002 KLXTN 007426RG
INKLF2 002064R IO.MSO= 005000 IS.CLR= 000000 KLE$$K= 000126 KLXTX 007436R
INKLF3 002106R IO.RAL= 001010 IS.CR = 006401 KLE$$V= 000002 LDB = 000135
INPUT = 000066 IO.RAT= 013000 IS.ESC= 015401 KLFNA 015766RG LDBREX 003072R
INTROF= 000010 IO.RBC= 003000 IS.PND= 000000 KLGOXX 002642R LDBRXX 003066R
INTRON= 000040 IO.RCI= 015000 IS.RDD= 000002 KLGO1 002572R LDCPCX 003176R
INTSON= 000001 IO.RCV= 015000 IS.SET= 000002 KLGO2 002620R LDCRAX 003314R
INT10S= 000400 IO.RDB= 001200 IS.SUC= 000001 KLHCFH 002270R LENGTH 016530R
INT11C= 002000 IO.RDN= 000022 JFCL = 000255 KLHLTX 002276R LF = 000012
INT11S= 004000 IO.REL= 013400 JFFO = 000243 KLHLT1 002164R LOAD11= 000004
IOR = 000434 IO.RHD= 001010 JRA = 000267 KLHLT2 002204R LOOKUP= 000076
IORB = 000437 IO.RLB= 001000 JRST = 000254 KLHLT3 002210R LOOP 016216R
IORI = 000435 IO.RLV= 001100 JSA = 000266 KLHLT4 002216R LSH = 000242
IORM = 000436 IO.RNA= 005400 JSP = 000265 KLHLT5 002224R LSHC = 000246
IOSTA 010564R IO.RNC= 001004 JSR = 000264 KLHLT6 002236R LTMSG 011752R
IOTTY 010570R IO.RNE= 001020 JUMP = 000320 KLINC 010076RG LTMSGL= 000021
IO.ACE= 007400 IO.RTC= 003400 JUMPA = 000324 KLINCX 010106R LUN1 = 000001
IO.ACR= 006400 IO.RTI= 016400 JUMPE = 000322 KLIOR 010050RG LUN2 = 000002
IO.ACW= 007000 IO.RTK= 000060 JUMPG = 000327 KLIORW 016036R MAP = 000257
IO.ADS= 014000 IO.RVB= 010400 JUMPGE= 000325 KLIORX 010056R MBZTAB 000602R
IO.APC= 014000 IO.RWD= 002400 JUMPL = 000321 KLIOT = 000700 MOVE = 000200
IO.APV= 014010 IO.RWU= 002540 JUMPLE= 000323 KLLI0 007772R MOVEI = 000201
IO.ATT= 001400 IO.R1C= 002400 JUMPN = 000326 KLLI1 010010R MOVEM = 000202
IO.CCI= 014000 IO.SAO= 004000 KF.BRM= 000400 G KLLSH 010162RG MOVES = 000203
IO.CCT= 002460 IO.SCS= 013000 KF.CES= 000040 G KLLSHI 007760RG MOVM = 000214
IO.CLN= 003400 IO.SDI= 013000 KF.CLK= 100000 G KLLSHR 010204R MOVMI = 000215
IO.CON= 015400 IO.SDO= 012400 KF.CON= 000020 G KLLSHX 010214R MOVMM = 000216
IO.CRC= 001020 IO.SEC= 002520 KF.DEF= 000021 G KLMULI 007614RG MOVMS = 000217
IO.CRE= 012000 IO.SEM= 002440 KF.EMS= 040000 G KLNEG 010150RG MOVN = 000210
IO.CTI= 015400 IO.SHT= 002410 KF.KLO= 000100 G KLNTYP 016540RG MOVNI = 000211
IO.CTL= 016400 IO.SLO= 005400 KF.MRS= 010000 G KLPWRF= 000010 MOVNM = 000212
IO.DAC= 010000 IO.SMO= 002560 KF.RUN= 020000 G KLRAT 016156RG MOVNS = 000213
IO.DCI= 014400 IO.SNM= 002450 KF.SIM= 004000 G KLRI0 010032R MOVS = 000204
IO.DCT= 002470 IO.SPB= 002420 KF.SMC= 002000 G KLRSH 010232RG MOVSI = 000205
IO.DEL= 012400 IO.SPF= 002440 KF.SPM= 001000 G KLRSHI 010016RG MOVSM = 000206
IO.DET= 002000 IO.SSO= 004400 KF.UCS= 000200 G KLRSTE 002422R MOVSS = 000207
IO.DIS= 016000 IO.SST= 002430 KF.WRN= 000001 G KLRSTX 002426R MPE11 = 001000
IO.DTI= 016000 IO.STC= 002500 KLACE 016120R KLRST1 002356R MRCLRX 003500R
IO.ENA= 006000 IO.STP= 016400 KLACR 015776RG KLRST2 002362R MRCLR1 003356R
IO.EOF= 003000 IO.SYN= 003040 KLADD 007360RG KLRST3 002376R MRCLR2 003412R
IO.ESA= 002500 IO.TRM= 002410 KLADDI 007554RG KLRSXX 002430R MRCLR3 003452R
IO.EXT= 011400 IO.UNL= 000042 KLADIX 007566R KLRVB 016030RG MSG2 014112R
IO.FDX= 003020 IO.WAT= 013400 KLADJ 007442RG KLSETO 010124RG MUL = 000224
IO.FNA= 004400 IO.WLB= 000400 KLADJ1 007440RG KLSTN1 002534R MULB = 000227
IO.HDX= 003010 IO.WLS= 000410 KLAND 010062RG KLSTPX 002730R MULI = 000225
IO.HIS= 015000 IO.WLV= 000500 KLCLR 010220RG KLSTP0 002662R MULM = 000226
IO.INL= 002400 IO.WVB= 011000 KLCMP 010136RG KLSTP1 002676R MVNAME 015710R
IO.ITI= 017000 IO.XMT= 014400 KLCMPR 007476RG KLSTP2 002716R M.KTAE= 000010
IO.KIL= 000012 IO.XNA= 014410 KLCMPX 010144R KLSTXX 002500R M.KTEF= 000002
IO.LED= 012000 IP.ALL= 000017 G KLCOMM 016052R KLSUB 007376RG M.KTMG= 000004
IO.LOV= 001010 IP.CRP= 000004 G KLCRE 016110RG KLSUBI 007574RG M.KTUN= 000006
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229-27
SYMBOL TABLE
NOCLK 012400R PIMSGL= 000071 RDCPPA 003746R R.QSPN= 000006 SOS = 000370
NOCLKL= 000046 PI0 012214R RDCPP0 003670R R.QSPR= 000012 SOSA = 000374
NULSTP= 000040 PI1 012231R RDCPP1 003720R R.QSTN= 000002 SOSE = 000372
NUPE = 000002 PI2 012247R RDCPP2 003730R SBADI 007610R SOSG = 000377
OFF 012052R PI3 012265R RDCPP3 003752R SBRTAB 005142R SOSGE = 000375
ON 012050R POINT 011720R RDCPP4 003762R SCD = 000040 SOSL = 000371
OPEN = 000050 POP = 000262 RDCPT1 004010R SCRTAB 005156R SOSLE = 000373
OR = 000434 POPJ = 000263 RDCPT2 004054R SETA = 000424 SOSN = 000376
ORB = 000437 PRINTT 011676R RDCPT3 000000R 003 SETAB = 000427 SPC = 000040
ORCA = 000454 PRI1 = 000001 RDCPXX 004004R SETAI = 000425 STAMSG 000764R
ORCAB = 000457 PRI7 = 000340 RDCRME 004064R SETAM = 000426 START 013164RG
ORCAI = 000455 PROPNT= 000021 RDFLGX 004312R SETCA = 000450 STAT = 174434
ORCAM = 000456 PRTERR 010244RG RDFLG1 004310R SETCAB= 000453 STATO = 000061
ORCB = 000470 PRTER0 010252R RDFMAX 004404R SETCAI= 000451 STATUS= 000022
ORCBB = 000473 PRTER1 010266R RDFMOX 004442R SETCAM= 000452 STATZ = 000063
ORCBI = 000471 PRTER7 010274R RDIPEX 004652R SETCM = 000460 STOP 012446R
ORCBM = 000472 PRTNEA 003561R 002 RDIPE1 004616R SETCMB= 000463 STOPL = 000022
ORCM = 000464 PRTNER 000572R 004 RDIPE2 004634R SETCMI= 000461 STPCXX 005766R
ORCMB = 000467 PRTNEX 003616R 002 RDIRRX 004562R SETCMM= 000462 STPXCX 005762R
ORCMI = 000465 PRTOFF= 004000 RDIRR1 004500R SETEC 015130RG STRCEX 005732R
ORCMM = 000466 PR0 = 000000 RDIRR2 004556R SETM = 000414 STRCXX 005730R
ORI = 000435 PR1 = 000040 RDIRR3 004560R SETMB = 000417 STRFEX 006014R
ORM = 000436 PR2 = 000100 RDPITB 000014R 003 SETMI = 000415 STRUNX 006010R
OUT = 000057 PR3 = 000140 RDPITE= 000030R 003 SETMM = 000416 STUCAE 006152R
OUTBUF= 000065 PR4 = 000200 RDPIX 004726R SETO = 000474 STUCDX 006146R
OUTPUT= 000067 PR5 = 000240 RDPI1 004672R SETOB = 000477 STUCD1 006100R
PAG = 000010 PR6 = 000300 RDSMRE 005056R SETOI = 000475 STUCD2 006124R
PARNRM 000216RG 003 PR7 = 000340 RDSMRX 005060R SETOM = 000476 STUCD3 006112R
PARTMP 000214R 003 PS = 177776 RDVMRE 005334R SETPC 015342RG STUCEX 006140R
PCC 012163R PSWW1 = 000005 RDVMRX 005330R SETPI 015500RG ST.CED= 000100 G
PCMSG 012126R PSWW10= 000014 READP 011774R SETSTS= 000060 ST.CLE= 000001 G
PCMSGL= 000054 PSWW11= 000015 READPL= 000006 SETZ = 000400 ST.CTD= 040000 G
PCTAB 005344R PSWW12= 000016 RECORD 011674R SETZB = 000403 ST.CTE= 010000 G
PC.AFI= 000020 G PSWW13= 000017 REGSAV 007214RG SETZI = 000401 ST.DW1= 002000 G
PC.AT0= 000004 G PSWW2 = 000006 REGTAB 000722R SETZM = 000402 ST.DXD= 000004 G
PC.AT1= 000010 G PSWW3 = 000007 RELEAS= 000071 SHFTXX 007206R ST.EBS= 000100 G
PC.BIS= 000400 G PSWW4 = 000010 RENAME= 000055 SHIFTL 007170R ST.EDB= 004000 G
PC.CY0= 004000 G PSWW5 = 000011 RESETT 005506R SHIFTR 007200R ST.EPE= 000020 G
PC.CY1= 002000 G PSWW6 = 000012 RESETX 005504R SKIP = 000330 ST.IDS= 000010 G
PC.FOV= 001000 G PSWW7 = 000013 RESET1 005454R SKIPA = 000334 ST.IEN= 000040 G
PC.FUF= 000002 G PULSE = 000020 RESTDX 005672R SKIPE = 000332 ST.ION= 000001 G
PC.LIP= 000040 G PUSH = 000261 RESTIX 005552R SKIPG = 000337 ST.MBZ= 000000 G
PC.NDV= 000001 G PUSHJ = 000260 RESTPE 005646R SKIPGE= 000335 ST.MOD= 000010 G
PC.OVF= 010000 G QSIZE = 000023 RESTPX 005642R SKIPL = 000331 ST.MPE= 001000 G
PC.UIO= 000100 G Q.IOAE= 000012 RFMAD0= 100000 SKIPLE= 000333 ST.NST= 000040 G
PC.USR= 000200 G Q.IOEF= 000006 RFMAD1= 040000 SKIPN = 000336 ST.RIZ= 010000 G
PERCLR= 001000 Q.IOFN= 000002 RFMAD2= 020000 SLASH 012047R ST.RST= 011121 G
PE.ALL= 000037 G Q.IOLU= 000004 RFMAD3= 010000 SLS = 000057 ST.SEP= 000004 G
PE.CES= 000001 G Q.IOPL= 000014 RGDTEN= 007320R SNP 010500R ST.STE= 000002 G
PE.CRM= 000004 G Q.IOPR= 000007 RM = 000010 SOJ = 000360 ST.TED= 000200 G
PE.DRM= 000002 G Q.IOSB= 000010 ROT = 000241 SOJA = 000364 ST.TER= 000002 G
PE.FMP= 000010 G RAMIS0= 010000 ROTC = 000245 SOJE = 000362 ST.TXD= 100000 G
PE.FSS= 000020 G RDALLE 003566R RSTEND= 005514R SOJG = 000367 ST.TXE= 020000 G
PHYS = 100000 RDALLX 003570R RUINGL= 000043 SOJGE = 000365 ST.XDB= 000400 G
PI = 000004 RDALL1 003532R RVMRL1 005254R SOJL = 000361 SUB = 000274
PIDENT= 000000 RDAPRX 003642R R.QSGC= 000015 SOJLE = 000363 SUBB = 000277
PIMSG 012202R RDCPEX 004002R R.QSPC= 000014 SOJN = 000366 SUBI = 000275
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229-28
SYMBOL TABLE
SUBM = 000276 TO10DT= 174424 TTCOMR 016410R $TKBSW= 000001 G .DTERD 000532RG
SWR = 177570 TO10ER= 020000 TTCOMW 016402R $TRKSW= 000001 G .DTEWR 000536RG
SWSLLT= 100000 TO11 = 000100 TTCOMX 016372RG $TRPSW= 000000 G .DTSTA 000514RG
SYMA = 003512RG 002 TO11AD= 174422 TTDPB 010534RG $T04SW= 000000 G .DTSTS 000052RG 003
SYNCEX 006210R TO11BC= 174416 TTERRO 016442R $$ = 000037 .DTSTW= 000004 G
SYNCXX 006212R TO11BM= 020000 TTEXIT 016514R $$MSG = 000000 .DTTRK 000612RG
SYNXCX 006204R TO11DB= 004000 TTREAD 016306RG $$$ARG= 000014 .DWDW1 000422RG
TAB = 000011 TO11DN= 000200 TTWRIT 016352RG $$$OST= 000014 .DWDW2 000430RG
TABB 012046R TO11DT= 174426 TTYIPT 010574R $$$T1 = 000002 .DWDW3 000450RG
TDC = 000650 TO11ER= 000002 TTYL = 000100 .ABORT 000204RG .DWSTA 000440RG
TDCA = 000654 TRACE 011702R TYCRLF 016500RG .APRWD 000176RG 003 .EBCLK 001006RG
TDCE = 000652 TRACKQ 006360R TYPASZ 016540RG .BRCLK= 005000 .EBPCK 001122RG
TDCN = 000656 TRACKX 006344R TYPLIN 016540RG .BRMBC 000234RG .EBUSR= 000006 G
TDN = 000610 TRADDR 001326R TYPSLS 016524RG .BURST 000242RG .EDTRK 001170RG
TDNA = 000614 TRC = 000640 TYPTAB 016516RG .CECLK= 004000 .EIOJA= 067000
TDNE = 000612 TRCA = 000644 TY3D 015626RG .CESCK 000300RG .ETAB 001646R
TDNN = 000616 TRCE = 000642 UGETF = 000073 .CKEDM 001622R .EXADR 000136RG 003
TDO = 000670 TRCN = 000646 UJEN = 000100 .CLDFB 007130RG .EXBFR 000142RG 003
TDOA = 000674 TRDATA 001334R UNASG1= 000032 .CLDFR 007134RG .EXDPB 007322RG
TDOE = 000672 TRMSG 011724R UNASG2= 000033 .CLDFW 007144RG .EXDPM 001524RG
TDON = 000676 TRMSGL= 000025 UNASG3= 000034 .CLIPE 000332RG .EXKLM 001432RG
TDZ = 000630 TRN = 000600 UNASG4= 000035 .CLKWD 000200RG 003 .EXTRK 001146RG
TDZA = 000634 TRNA = 000604 UNASG5= 000036 .CLRFF 000366RG .FMADR 000166RG 003
TDZE = 000632 TRNE = 000602 UNASG6= 000037 .CLRMR= 006000 .FMDAT 000170RG 003
TDZN = 000636 TRNN = 000606 USETI = 000074 .CLRUN= 010000 .FREAD 006472RG
TENAD1= 174410 TRO = 000660 USETO = 000075 .CONBT= 012000 .FRTRK 006214RG
TENAD2= 174412 TROA = 000664 VERSC = 000075 .CRAMA 000056RG 003 .FWRIT 006566RG
TENFUN 013322R TROE = 000662 VERSN = 000007 G .CRAMR 000060RG 003 .FWTRK 006234RG
TFRMSG 006366R TRON = 000666 VMA 012136R .CRAMW 000102RG 003 .FXCT 006666RG
TFWMSG 006403R TRZ = 000620 VMATB 005360R .CSHRG= 164000 .FXTRK 006254RG
TFXMSG 006420R TRZA = 000624 VMHTB 005366R .C5TA 015232RG .GFNR = 102000
TLC = 000641 TRZE = 000622 VSUB 000000R 002 .DFBLK 000032RG 003 .INEXT 002142R
TLCA = 000645 TRZN = 000626 WEP = 000010 .DFRB 000040RG 003 .INICL= 070000
TLCE = 000643 TR.ALL= 000077 G WRITE 014426R .DFWB 000032RG 003 .INIT 001666RG
TLCN = 000647 TR.DEP= 000020 G WRITP 012002R .DIAG1= 000000 G .INKLF 001722RG
TLN = 000601 TR.DTE= 000040 G WRITPL= 000011 .DIAG2= 000002 G .IRLTC= 014000
TLNA = 000605 TR.EXM= 000010 G WRTARX 006462R .DIAG3= 000006 G .KLCON 002542RG
TLNE = 000603 TR.FRD= 000002 G XCT = 000256 .DPADR 000124RG 003 .KLDFR 007264RG
TLNN = 000607 TR.FWR= 000004 G XOR = 000430 .DPBFR 000130RG 003 .KLDFW 007276RG
TLO = 000661 TR.FXC= 000001 G XORB = 000433 .DPDPB 007334RG .KLDFX 007252RG
TLOA = 000665 TSC = 000651 XORI = 000431 .DPKLM 001466RG .KLFLG= ****** GX
TLOE = 000663 TSCA = 000655 XORM = 000432 .DPTRK 001160RG .KLGO 002550RG
TLON = 000667 TSCE = 000653 ZSTOP = 040000 .DRAMA 000150R 003 .KLHLT 002146RG
TLZ = 000621 TSCN = 000657 $AGAIN= 000001 G .DRAMR 000152R 003 .KLIWD= ****** GX
TLZA = 000625 TSN = 000611 $AUTO = 000001 G .DRAMW 000160RG 003 .KLRLD= ****** GX
TLZE = 000623 TSNA = 000615 $DISTB= 000000 G .DREG 000046RG 003 .KLRSN 000000RG
TLZN = 000627 TSNE = 000613 $DIV = ****** GX .DREGS= 000014 G .KLRST 002300RG
TOBM = 000004 TSNN = 000617 $DSW = ****** GX .DRLTC= 015000 .KLST 002434RG
TOD = 000003 TSO = 000671 $HLPSW= 000000 G .DSACF= 066000 .KLSTN 002502RG
TOIP = 000002 TSOA = 000675 $LPTSW= 000001 G .DSIOJ= 065000 .KLSTP 002646RG
TOIT = 000001 TSOE = 000673 $MBPSW= 000000 G .DTAB 001656R .KLXCT 002734RG
TO10 = 000200 TSON = 000677 $MCRSW= 000001 G .DTDI1 000046RG 003 .LCRDL= 052000
TO10AD= 174420 TSZ = 000631 $MUL = ****** GX .DTDI2 000050RG 003 .LCRDR= 051000
TO10BC= 174414 TSZA = 000635 $RAMSW= 000000 G .DTDI3 000054RG 003 .LCRM1= 057000
TO10BM= 000001 TSZE = 000633 $RSXSW= 000001 G .DTDW1 000476RG .LCRM2= 056000
TO10DB= 000400 TSZN = 000637 $SCLCK= 000001 G .DTDW2 000504RG .LCRM3= 055000
TO10DN= 100000 TTCALL= 000051 $SPRSW= 000001 G .DTDW3 000524RG .LCRM4= 054000
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1108 13-JAN-78 15:46 PAGE 229-29
SYMBOL TABLE
.LCRM5= 053000 .MRCLR 003320RG .RDARX 004116RG .RDPI 004654RG .STFLG 000206RG 003
.LDAR = 077000 .MTDPB 007346R .RDBRR 004124RG .RDSBR 004766RG .STPCL= 000000
.LDBRC 002766RG .NOERR= ****** GX .RDBRX 004132RG .RDSCR 004774RG .STPXC 005734RG
.LDBRG 002774RG .OKLF 011706RG .RDCPP 003646RG .RDSMR 005000RG .STRCL= 001000
.LDBRL= 043000 .PCAB1= 150000 .RDCRA 004736RG .RDVAB 005200RG .STRUN 005772RG
.LDBRR= 042000 .PCAB2= 151000 .RDCRL 004744RG .RDVMA 005206RG .STUCD 006020RG
.LDCK1= 046000 .PCAB3= 152000 .RDDPB 004160RG .RDVMH 005214RG .SYNXC 006156RG
.LDCK2= 047000 .PCAB4= 153000 .RDDRA 004752RG .RDVMR 005220RG .TRACK 006270RG
.LDCLK 003074RG .PEWRD 000202RG 003 .RDEBS 004140RG .RDVPC 005172RG .TRKWD 011706RG
.LDCPC 003126RG .PITAB 000010RG 003 .RDFER 004760RG .REGRW 007310RG .WRAR1 006444RG
.LDCRA 003200RG .PSCWD 000204RG 003 .RDFLG 004166RG .RESET 005374RG .WRMBX= 071000
.LDDIS= 045000 .RCRM1= 147000 .RDFMA 004320RG .RESTD 005650RG .WRTAR 006436RG
.LDPAR 003112RG .RCRM2= 146000 .RDFMO 004410RG .RESTI 005516RG .XFRCK 007036RG
.LDRJD= 064000 .RCRM3= 145000 .RDFMR 004146RG .RESTP 005554RG .XFRED 006464RG
.LDRJV= 063000 .RCRM4= 144000 .RDIPE 004566RG .SECLK= 003000 .XFWCK 007054RG
.LDRM1= 060000 .RCSPF= 141000 .RDIRR 004446RG .SETMR= 007000 .XFWRT 006560RG
.LDRM2= 061000 .RDADR 004074RG .RDJ14= 134000 .SETRN= 011000 .XFXCK 007072RG
.LDRM3= 062000 .RDADX 004102RG .RDJ71= 135000 .SHIFT 007162RG .XFXCT 006660RG
.LDSEL= 044000 .RDALL 003506R .RDMAB= 133000 .SSCLK= 002000 ...GBL= 000000
.LDZER 011706RG .RDAPR 003602RG .RDMQR 004154RG .STCLK 005700RG ...KLI 010434R
.MEMRS= 076000 .RDARR 004110RG
. ABS. 000000 000
016554 001
SYMTAA 003622 002
TABLES 000220 003
SYMTBS 000600 004
ERRORS DETECTED: 0
VIRTUAL MEMORY USED: 16173 WORDS ( 64 PAGES)
DYNAMIC MEMORY: 17888 WORDS ( 68 PAGES)
ELAPSED TIME: 00:15:56
,[57,20]KLERR.LIS/-SP/CRF=[57,30]SWITCH,KLESUB,COMSUB,KLNUM,KLPERR,KLERR
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 1
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
ABORTX 000230 R 47-1133 47-1138 #47-1140
ABORT1 000214 R #47-1134
ABTAB 005352 R 139-4130 #140-4184
ADD = 000270 #5-113
ADDB = 000273 #5-114
ADDI = 000271 #5-115
ADDM = 000272 #5-116
ADSBI 007572 R 209-182 #209-189
ALUNSY 010462 R #229-139 229-296
ALUNTT 010452 R #229-135 229-295
AND = 000404 #5-118
ANDB = 000407 #5-119
ANDCA = 000410 #5-120
ANDCAB = 000413 #5-121
ANDCAI = 000411 #5-122
ANDCAM = 000412 #5-123
ANDCB = 000440 #5-124
ANDCBB = 000443 #5-125
ANDCBI = 000441 #5-126
ANDCBM = 000442 #5-127
ANDCM = 000420 #5-128
ANDCMB = 000423 #5-129
ANDCMI = 000421 #5-130
ANDCMM = 000422 #5-131
ANDI = 000405 #5-132
ANDM = 000406 #5-133
AOBJN = 000253 #5-135
AOBJP = 000252 #5-136
AOJ = 000340 #5-138
AOJA = 000344 #5-139
AOJE = 000342 #5-140
AOJG = 000347 #5-141
AOJGE = 000345 #5-142
AOJL = 000341 #5-143
AOJLE = 000343 #5-144
AOJN = 000346 #5-145
AOS = 000350 #5-147
AOSA = 000354 #5-148
AOSE = 000352 #5-149
AOSG = 000357 #5-150
AOSGE = 000355 #5-151
AOSL = 000351 #5-152
AOSLE = 000353 #5-153
AOSN = 000356 #5-154
APR = 000000 #16-661
AP.ALL = 000177 G #30-434
AP.ARP = 001000 G #37-707 37-711 110-3185
AP.CDP = 000004 G #30-429 30-434
AP.EIP = 000400 G #37-709 37-711 50-1267 110-3193
AP.IPF = 000020 G #30-431 30-434
AP.MPE = 000010 G #30-430 30-434
AP.NRM = 001400 G #37-711 180-5490
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 2
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
AP.NXM = 000040 G #30-432 30-434
AP.PWF = 000001 G #30-427 30-434
AP.SAP = 000002 G #30-428 30-434
AP.SBE = 000100 G #30-433 30-434
ASH = 000240 #5-156
ASHC = 000244 #5-157
ATTBLK 010420 R 229-125 #229-127
A.LULU = 000002 #229-135 #229-139
A.LUNA = 000004 #229-135 #229-139
A.LUNU = 000006 #229-135 #229-139
BCCTER 000270 R 48-1178 #48-1184
BIT0 = 000001 #3-68 30-390 #229-69 229-535
BIT00 = 000001 #30-390 31-462 32-488 32-508 33-545 33-546 34-566 34-571 34-593
111-3202 125-3702 132-3890 169-5174
BIT01 = 000002 #30-391 31-465 32-484 32-506 33-543 33-544 34-572 34-592 111-3201
BIT02 = 000004 #30-392 31-457 32-483 32-505 32-510 33-541 33-542 34-573 34-591
59-1542 111-3200
BIT03 = 000010 #30-393 31-456 32-482 32-502 33-538 33-540 34-574 34-590 100-2845
111-3199
BIT04 = 000020 #30-394 31-454 31-455 32-481 32-500 32-501 33-536 34-565 34-575
34-589
BIT05 = 000040 #30-395 31-452 32-488 32-499 33-534 33-535 34-564 34-576 34-588
132-3887
BIT06 = 000100 #30-396 31-451 32-477 32-510 33-532 33-533 34-563 34-587
BIT07 = 000200 #30-397 31-449 31-450 32-488 32-510 33-530 34-562 34-586
BIT08 = 000400 #30-398 31-448 32-488 32-510 33-528 34-561 34-585
BIT09 = 001000 #30-399 31-444 31-447 32-488 32-510 33-526 34-560 34-584
BIT1 = 000002 #3-68 30-391 #229-69 229-538
BIT10 = 002000 #3-68 31-443 31-446 32-488 32-510 33-525 34-559 34-583 #229-69
BIT11 = 004000 #3-68 31-442 31-445 32-488 32-510 33-523 34-558 34-582 #229-69
BIT12 = 010000 #3-68 31-441 32-488 32-510 33-521 33-522 34-557 34-581 #229-69
BIT13 = 020000 #3-68 31-440 32-473 32-488 32-510 33-519 34-556 #229-69
BIT14 = 040000 #3-68 31-439 32-470 32-471 32-488 32-493 32-510 33-518 34-555
#229-69
BIT15 = 100000 #3-68 31-438 32-469 32-488 32-492 32-510 33-516 34-554 134-3964
#229-69 229-775 229-834
BIT2 = 000004 #3-68 30-392 #229-69 229-541
BIT3 = 000010 #3-68 30-393 #229-69 229-544
BIT4 = 000020 #3-68 30-394 #229-69 229-547
BIT5 = 000040 #3-68 30-395 #229-69
BIT6 = 000100 #3-68 30-396 #229-69
BIT7 = 000200 #3-68 30-397 #229-69 229-682 229-692 229-696 229-700
BIT8 = 000400 #3-68 30-398 #229-69 229-692 229-696 229-700
BIT9 = 001000 #3-68 30-399 #229-69
BLKI = 000000 #16-650
BLKO = 000002 #16-652
BLT = 000251 #5-159
BNRASC 015464 R 229-652 229-652 229-665 229-665 #229-670 229-721 229-721
BPARER = 000020 #3-68 #229-69
BRSTXX 000276 R 48-1175 48-1180 48-1183 #48-1187
BUFFER 010674 R #229-163 229-164 229-493 229-505 229-781 229-861 229-924
BUFLEN = 000024 #177-5422
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 3
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
BUFSIZ = 001000 #229-164 229-518 229-782 229-862
CAI = 000300 #6-162
CAIA = 000304 #6-163
CAIE = 000302 #6-164
CAIG = 000307 #6-165
CAIGE = 000305 #6-166
CAIL = 000301 #6-167
CAILE = 000303 #6-168
CAIN = 000306 #6-169
CALL = 000040 #6-171
CALLI = 000047 #6-172
CAM = 000310 #6-174
CAMA = 000314 #6-175
CAME = 000312 #6-176
CAMG = 000317 #6-177
CAMGE = 000315 #6-178
CAML = 000311 #6-179
CAMLE = 000313 #6-180
CAMN = 000316 #6-181
CCA = 000014 #16-664
CDD = 000020 #3-68 #229-69
CD.CLC = 000400 G #36-684 110-3189
CD.CRC = 002000 G #36-682 110-3174
CD.DPC = 001000 G #36-683 110-3181
CD.NRM = 000000 G #36-685 180-5481
CESCKX 000330 R 49-1224 49-1226 #49-1231
CF.CTC = 000100 G #3-71
CF.HTO = 000001 G #3-72 70-1910 148-4425 176-5393
CF.LOD = 000004 G #3-75
CF.TID = 000002 G #3-73
CF.TOD = 000003 G #3-74
CHNPNT = 000001 #3-68 #229-69
CKEDME 001636 R 67-1798 #67-1801
CKEDMX 001644 R 67-1800 #67-1804
CKMSG 011710 R #229-181 229-184 229-876
CKMSGL = 000014 #229-184 229-877
CKPNT 016252 R 229-331 229-331 229-375 229-375 229-394 229-394 229-407 229-407 229-418
229-418 229-425 229-425 229-439 229-439 229-457 229-457 229-470 229-470
229-484 229-484 229-532 229-532 229-590 229-590 229-647 229-647 229-678
229-678 #229-873
CLEAR = 000400 #6-183
CLEARB = 000403 #6-184
CLEARI = 000401 #6-185
CLEARM = 000402 #6-186
CLIPEX 000362 R 50-1264 #50-1269
CLKNRM 000210 RG 144-4305 #180-5480
CLOSE = 000070 #6-188
CLRDPB 016166 R 229-395 229-395 229-426 229-426 229-471 229-471 229-490 229-490 229-726
229-726 229-777 229-777 #229-845
CLRFEX 000416 R 51-1299 #51-1302
CLRFFX 000412 R #51-1300
CLRFNB 016240 R 229-727 229-727 #229-867
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 4
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
CLRFXX 000420 R #51-1304
CLRGO 007152 R 170-5195 #170-5199
CLRTTY 016206 R 229-341 229-341 229-504 229-504 #229-853 229-905 229-905
CLRXXX 007156 R #170-5201
CNUPE = 000002 #3-68 #229-69
COMMON 015122 R 229-553 229-553 229-557 229-560 229-563 229-580 #229-584
CONI = 000005 #16-655
CONO = 000004 #16-654
CONSO = 000007 #16-657
CONSZ = 000006 #16-656
CPTMP 000212 R 50-1265 143-4261 145-4326 *145-4327 *145-4330 #180-5483
CR = 000015 #229-74 229-183 229-186 229-189 229-198 229-206 229-209 229-216 229-227
229-237 229-240 229-243 229-246 229-256 229-259 229-265 229-268 229-271
229-274 229-277 229-280
CRAM 012506 R #229-246 229-247 229-561
CRAML = 000015 #229-247 229-562
CRATAB 005062 R 135-4001 #137-4047
CRESW 011704 R #229-169 *229-423 229-487
CRLF 012043 R #229-198 229-930
CRLTAB 005076 R 135-4004 #137-4055
CR.CR1 = 000001 G #36-669 110-3187
CR.CR2 = 000002 G #36-670 110-3179
CR.FUL = 000000 G #36-671
CR.HLF = 000001 G #36-672
CR.NRM = 000000 G #36-668 180-5481
CR.QTR = 000002 G #36-673
CR.SLO = 000003 G #36-674
CS.CS1 = 000004 G #36-661 110-3172
CS.CS2 = 000010 G #36-662 110-3166
CS.EXP = 177670 #3-68 #229-69
CS.EXT = 000010 G #36-665
CS.FST = 000004 G #36-663 36-664
CS.MGN = 000004 G #36-664
CS.NRM = 000000 G #36-660 180-5481
CS.UDF = 000014 G #36-666
CVTC 015266 R 229-615 229-615 229-617 229-617 229-619 229-619 #229-628
CYCLS = 000002 #3-68 #229-69
DATAI = 000001 #16-651
DATAO = 000003 #16-653
DATE = 000004 #3-68 #229-69
DCOMST = 000001 #3-68 #229-69
DEP = 010000 #3-68 #229-69
DEX = 000400 #3-68 #229-69
DEXDON = 000004 #3-68 #229-69
DEXWD1 = 174406 #3-68 #229-69
DEXWD2 = 174404 #3-68 #229-69
DEXWD3 = 174402 #3-68 #229-69
DFAD = 000110 #6-190
DFBEND = 000176 R 68-1864 #178-5463
DFDV = 000113 #6-191
DFMP = 000112 #6-192
DFN = 000131 #6-193
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 5
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
DFSB = 000111 #6-194
DFUNC = 000200 #3-68 #229-69
DF.DMG = 000004 #3-68 #229-69
DF.DMN = 000007 #3-68 #229-69
DF.DOR = 000001 #3-68 #229-69
DF.EHG = 000010 #3-68 #229-69
DF.EHM = 000011 #3-68 #229-69
DF.EMG = 000005 #3-68 #229-69
DF.EMN = 000006 #3-68 #229-69
DF.KLR = 000012 #3-68 173-5291 #229-69
DF.KLW = 000013 #3-68 174-5309 #229-69
DF.KLX = 000014 #3-68 173-5273 #229-69
DF.OFF = 000002 #3-68 #229-69
DF.ON = 000003 #3-68 #229-69
DF.PDP = 000016 #3-68 175-5372 #229-69
DF.PEX = 000015 #3-68 175-5350 #229-69
DIAG1 = 174430 #3-68 #229-69
DIAG2 = 174432 #3-68 #229-69
DIAG3 = 174436 #3-68 #229-69
DIKL10 = 000010 #3-68 #229-69
DIRFNB 010314 RG #229-97 229-396 229-409 229-410 229-411 229-443 229-444 229-445
DIV = 000234 #6-196
DIVB = 000237 #6-197
DIVI = 000235 #6-198
DIVM = 000236 #6-199
DLYCNT = 174400 #3-68 #229-69
DMOVE = 000120 #6-201
DMOVEM = 000124 #6-202
DMOVN = 000121 #6-203
DMOVNM = 000125 #6-204
DOACE 014242 RG 229-414 229-448 #229-456
DOCRE 014046 RG 229-416 #229-423
DODIR 013746 RG 229-398 #229-406
DOENA 014132 RG 229-430 #229-438
DOEXT 014314 RG #229-469 229-501
DOMAS 013674 RG 229-372 #229-393
DON10C = 040000 #3-68 #229-69
DON10S = 100000 #3-68 #229-69
DON11C = 000100 #3-68 #229-69
DON11S = 000200 #3-68 #229-69
DOWRT 014372 RG 229-461 #229-483
DPB = 000137 #6-206
DPDTEN = 007344 R *70-1915 #175-5376
DPKLM1 001502 R 65-1755 #65-1757
DPS4 = 040000 #3-68 #229-69
DPTMSG 001415 R 61-1623 #63-1685
DRAM 012470 R #229-243 229-244 229-558
DRAML = 000015 #229-244 229-559
DRATAB 005112 R 135-4007 #137-4063
DRDMSG 000776 R 56-1456 #57-1483
DRESET = 000100 #3-68 #229-69
DR.DTE = 000011 #3-68 173-5273 173-5291 174-5309 #229-69
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 6
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
DSEND = 000004 #3-68 #229-69
DS04 = 004000 #3-68 #229-69
DS05 = 002000 #3-68 #229-69
DS06 = 001000 #3-68 #229-69
DTECMD = 000451 #3-68 #229-69
DTEFLG = 000444 #3-68 #229-69
DTEF11 = 000450 #3-68 #229-69
DTEMTD = 000455 #3-68 #229-69
DTEMTI = 000456 #3-68 #229-69
DTERDX 000600 R 54-1392 54-1394 #54-1397
DTEREX 000574 R 54-1389 #54-1395
DTRMSG 000732 R 56-1442 #57-1471
DTTRK1 000664 R 56-1449 #56-1452
DTTRK2 000670 R 56-1451 #56-1454
DTTRK3 000712 R 56-1458 #56-1460
DTWRTC 000456 R 53-1347 53-1351 53-1355 #53-1359
DUPE = 000020 #3-68 #229-69
DURE = 000004 #3-68 #229-69
DWRMSG 001002 R 56-1459 #57-1485
DW1MSG 000752 R 57-1466 #57-1474
DW2MSG 000757 R 57-1467 #57-1476
DW3MSG 000771 R 57-1469 #57-1480
DXWRD1 = 002000 #3-68 #229-69
D1.CES = 004000 G #31-445 49-1225
D1.DCS = 000001 G #31-462
D1.DDT = 000040 G #31-452 31-465
D1.DEX = 000400 G #31-448 31-465
D1.DFM = 000010 G #31-456
D1.DS0 = 100000 G #31-438
D1.DS1 = 040000 G #31-439
D1.DS2 = 020000 G #31-440
D1.DS3 = 010000 G #31-441
D1.DS4 = 004000 G #31-442
D1.DS5 = 002000 G #31-443
D1.DS6 = 001000 G #31-444
D1.HLP = 001000 G #31-447 71-1952 73-2020 74-2053 86-2349 151-4535 229-305
D1.LBK = 000200 G #31-450
D1.MBZ = 000442 G #31-465 54-1403
D1.PLS = 000020 G #31-455
D1.RUN = 002000 G #31-446 70-1942
D1.T10 = 000200 G #31-449
D1.T11 = 000100 G #31-451
D1.V04 = 000020 G #31-454
D1.XFR = 000004 G #31-457
D1011 = 000040 #3-68 #229-69
D2RST 005674 R 146-4348 #146-4359
D2.EBD = 040000 G #32-471
D2.MBZ = 177641 G #32-488 54-1404
D2.MS1 = 000002 G #32-484
D2.MS2 = 000004 G #32-483
D2.MS4 = 000010 G #32-482
D2.MS8 = 000020 G #32-481
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 7
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
D2.RA0 = 100000 G #32-469
D2.RA1 = 040000 G #32-470
D2.RA2 = 020000 G #32-473
D2.RST = 000100 G #32-477 146-4360
D3RST 005676 R 146-4354 #146-4363
D3.CDD = 000020 G #32-501
D3.MBZ = 177704 G #32-510 54-1406
D3.NPE = 000002 G #32-506
D3.PAR = 040000 G #32-493
D3.RST = 000001 G #32-512 146-4364
D3.SCD = 000040 G #32-499
D3.SSL = 100000 G #32-492
D3.TXB = 000001 G #32-508 32-512
D3.UPE = 000020 G #32-500
D3.URE = 000004 G #32-505
D3.WEP = 000010 G #32-502
EBCLKE 001100 R 59-1532 59-1538 59-1541 #59-1550
EBCLKX 001112 R 59-1549 59-1552 #59-1556
EBCLK1 001026 R #59-1534 59-1544
EBCLK2 001066 R 59-1543 #59-1545
EBCTOE 001104 R 59-1547 #59-1553
EBPCKX 001144 R 60-1586 60-1588 #60-1591
EBSEL = 000100 #3-68 #229-69
EBUSPC = 000020 #3-68 #229-69
EBUSPS = 000004 #3-68 #229-69
EDEPT 001354 R 63-1668 #63-1673
EDEXV 001360 R 63-1669 #63-1675
EDKLMX 001516 R 65-1748 65-1750 65-1752 #65-1761
EDKLMY 001620 R 66-1771 66-1778 66-1784 #66-1791
EDONES = 040000 #3-68 #229-69
EDPHY 001374 R 63-1672 #63-1681
EDTYTB 001342 R 62-1658 #63-1667
EDUPT 001364 R 63-1670 #63-1677
EDUSV 001370 R 63-1671 #63-1679
ED.EPT = 000000 G #30-410
ED.EXV = 000040 G #30-411
ED.PHY = 000200 G #30-414 67-1799 70-1929 70-1932 175-5350 175-5372
ED.UPT = 000100 G #30-412
ED.USV = 000140 G #30-413
EFN1 = 000011 #229-82 229-155 229-918
EFN2 = 000012 #229-83 229-150
ENTER = 000077 #7-209
EPTR = 000000 #3-68 #229-69
EQV = 000444 #7-211
EQVB = 000447 #7-212
EQVI = 000445 #7-213
EQVM = 000446 #7-214
ERCODE 012274 R #229-230 229-232 229-377 229-591 229-596
ERCODL = 000104 #229-232 229-592 229-607
EREXIT 013636 R 229-337 229-337 229-340 229-340 229-345 229-345 229-351 229-351 229-356
229-356 229-360 229-360 #229-374 229-496 229-496
ERMG1 012622 R #229-265 229-266 229-399
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 8
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
ERMG1L = 000033 #229-266 229-400
ERMG2 012656 R #229-268 229-269 229-431
ERMG2L = 000042 #229-269 229-432
ERMG3 012720 R #229-271 229-272 229-449
ERMG3L = 000054 #229-272 229-450
ERMG4 012774 R #229-274 229-275 229-462
ERMG4L = 000061 #229-275 229-463
ERMG5 013056 R #229-277 229-278 229-476
ERMG5L = 000043 #229-278 229-477
ERMG6 013122 R #229-280 229-281 229-521
ERMG6L = 000042 #229-281 229-522
ERRTBL 000000 RG #224-51 225-175
ERR10C = 010000 #3-68 #229-69
ERR10S = 020000 #3-68 #229-69
ERR11C = 000001 #3-68 #229-69
ERR11S = 000002 #3-68 #229-69
ER$BAE = 000270 R #48-1185
ER$CAE = 004064 R #115-3356
ER$CCC = 005762 R #148-4432
ER$CCR = 000412 R #51-1301
ER$CCS = 005724 R #147-4397
ER$CES = 000314 R #49-1227
ER$CFH = 002722 R #74-2057 #86-2355
ER$CSC = 006204 R #152-4582
ER$CSR = 006010 R #149-4464
ER$DNP = 002124 R #71-1960
ER$DSF = 000574 R #54-1396
ER$DTC = 002134 R #71-1966
ER$ECT = 001104 R #59-1554
ER$EPE = 001136 R #60-1589
ER$FRF = 006552 R #162-4977
ER$FWF = 006652 R #164-5042
ER$FXF = 007030 R #167-5129
ER$IFC = 007112 R #169-5178
ER$IPE = 005334 R #140-4174
ER$MAE = 001636 R #67-1802
ER$OFC = 007120 R #169-5181
ER$UNL = 006130 R #151-4541
EVTYP 016540 RG 56-1455 56-1455 #229-939
EXCH = 000250 #7-216
EXDPM1 001576 R 66-1780 #66-1782
EXDPM2 001616 R 66-1787 #66-1789
EXDTEN = 007332 R *70-1914 #175-5354
EXIT 016542 RG 229-402 229-434 229-452 229-465 229-479 229-527 229-927 229-929 #229-946
EXIT1 016546 R 229-373 #229-947
EXTMSG 001400 R 61-1619 #63-1683
EX.AC1 = 000001 #229-88
EX.AC2 = 000002 #229-89
EX.ADF = 000010 #229-92
EX.ENA = 000200 #229-93 229-472
EX.FCO = 000004 #229-91
FAD = 000140 #7-218
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 9
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FADB = 000143 #7-219
FADL = 000141 #7-220
FADM = 000142 #7-221
FADR = 000144 #7-223
FADRB = 000147 #7-224
FADRI = 000145 #7-225
FADRM = 000146 #7-226
FDV = 000170 #7-228
FDVB = 000173 #7-229
FDVL = 000171 #7-230
FDVM = 000172 #7-231
FDVR = 000174 #7-233
FDVRB = 000177 #7-234
FDVRI = 000175 #7-235
FDVRM = 000176 #7-236
FERTAB 005126 R 135-4010 #137-4071
FILACB 010404 R #229-120 229-428
FILFID 010400 R #229-116 229-427 229-441 229-442
FILFNB 010346 R #229-111 229-112 *229-409 *229-410 *229-411 229-412 *229-441 *229-442 *229-443
*229-444 *229-445 229-446 229-458 *229-729 *229-732 *229-735 *229-736 *229-737
229-867
FILNAM 010472 R 229-122 #229-142 229-728
FIX = 000122 #7-238
FIXR = 000126 #7-239
FLTR = 000127 #7-241
FM 012524 R #229-249 229-257 229-578
FMA 012557 R #229-253 229-565
FMB 012545 R #229-251 229-569
FMD 012571 R #229-255 229-576
FML = 000064 #229-257 229-579
FMP = 000160 #7-243
FMPB = 000163 #7-244
FMPL = 000161 #7-245
FMPM = 000162 #7-246
FMPR = 000164 #7-248
FMPRB = 000167 #7-249
FMPRI = 000165 #7-250
FMPRM = 000166 #7-251
FNBSIZ = 000032 #229-112 229-868
FNCIFC 007112 R 169-5157 169-5159 169-5164 169-5166 169-5171 #169-5177
FNCOCX 007124 R 169-5179 #169-5182
FNCODD 007100 R 169-5160 169-5167 #169-5172
FNCOFC 007120 R 169-5175 #169-5180
FNHALT 014642 R 229-363 229-363 #229-531
FORPRO = 000020 #3-68 #229-69
FRDERR 006552 R 162-4959 #162-4976
FRDTEN = 007274 R *70-1916 #173-5292
FRDXXX 006556 R 162-4955 162-4972 162-4975 #162-4978
FREAD1 006530 R 162-4962 #162-4968
FREAD2 006546 R 162-4970 #162-4973
FR.ADX = 000254 G #39-796 118-3435
FR.APR = 000220 G #39-774 107-3070
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 10
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FR.ARX = 000252 G #39-794 118-3441
FR.BRX = 000250 G #39-792 118-3447
FR.CA1 = 000312 G #40-826 40-827 137-4048
FR.CA2 = 000310 G #40-823 40-824 137-4051
FR.CL1 = 000316 G #40-833 137-4056
FR.CL2 = 000314 G #40-830 137-4059
FR.CRD = 000302 G #40-817
FR.CR1 = 000316 G #40-832 40-833
FR.CR2 = 000314 G #40-829 40-830
FR.CR3 = 000312 G #40-827
FR.CR4 = 000310 G #40-824
FR.DA1 = 000260 G #39-802 137-4064
FR.DA2 = 000262 G #39-805 137-4067
FR.EBS = 000356 G #41-860 118-3450
FR.FE1 = 000266 G #39-809 137-4072
FR.FE2 = 000264 G #39-807 137-4075
FR.PI0 = 000200 #39-763 134-3962
FR.PI1 = 000202 #39-765 134-3965
FR.RAD = 000256 G #39-798 118-3432
FR.RAR = 000240 G #39-784 118-3438
FR.RBR = 000242 G #39-786 118-3444
FR.RFM = 000246 G #39-790 118-3453
FR.RMQ = 000244 G #39-788 118-3456
FR.SC1 = 000262 G #39-804 137-4088
FR.SC2 = 000260 G #39-801 137-4091
FR.SR1 = 000306 G #40-821 137-4080
FR.SR2 = 000304 G #40-819 137-4083
FR.VM0 = 000320 G #40-836
FR.VM1 = 000322 G #40-838
FR.VM2 = 000324 G #40-840
FR.VM3 = 000326 G #40-842
FR.VM4 = 000330 G #40-844
FR.VM5 = 000332 G #40-846
FR.VM6 = 000334 G #40-848
FR.VM7 = 000336 G #40-850
FR.100 = 000200 G #39-762 39-763 106-3015 125-3691 169-5156 173-5291
FR.101 = 000202 G #39-764 39-765 125-3683
FR.102 = 000204 G #39-766 132-3886
FR.103 = 000206 G #39-767
FR.104 = 000210 G #39-768 59-1539 110-3162
FR.105 = 000212 G #39-769 110-3163
FR.106 = 000214 G #39-770 110-3164
FR.107 = 000216 G #39-771 110-3165
FR.110 = 000220 G #39-773 39-774
FR.111 = 000222 G #39-775
FR.112 = 000224 G #39-776
FR.113 = 000226 G #39-777
FR.114 = 000230 G #39-778 127-3743
FR.115 = 000232 G #39-779
FR.116 = 000234 G #39-780
FR.117 = 000236 G #39-781
FR.120 = 000240 G #39-783 39-784
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 11
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FR.121 = 000242 G #39-785 39-786
FR.122 = 000244 G #39-787 39-788
FR.123 = 000246 G #39-789 39-790
FR.124 = 000250 G #39-791 39-792
FR.125 = 000252 G #39-793 39-794
FR.126 = 000254 G #39-795 39-796
FR.127 = 000256 G #39-797 39-798
FR.130 = 000260 G #39-800 39-801 39-802
FR.131 = 000262 G #39-803 39-804 39-805
FR.132 = 000264 G #39-806 39-807 125-3699 130-3837
FR.133 = 000266 G #39-808 39-809
FR.134 = 000270 G #39-810
FR.135 = 000272 G #39-811
FR.136 = 000274 G #39-812
FR.137 = 000276 G #39-813
FR.140 = 000300 G #40-815
FR.141 = 000302 G #40-816 40-817
FR.142 = 000304 G #40-818 40-819
FR.143 = 000306 G #40-820 40-821
FR.144 = 000310 G #40-822 40-823
FR.145 = 000312 G #40-825 40-826
FR.146 = 000314 G #40-828 40-829
FR.147 = 000316 G #40-831 40-832
FR.150 = 000320 G #40-835 40-836 140-4181 140-4185
FR.151 = 000322 G #40-837 40-838
FR.152 = 000324 G #40-839 40-840
FR.153 = 000326 G #40-841 40-842
FR.154 = 000330 G #40-843 40-844 140-4189 140-4193
FR.155 = 000332 G #40-845 40-846
FR.156 = 000334 G #40-847 40-848
FR.157 = 000336 G #40-849 40-850
FR.160 = 000340 G #41-852
FR.161 = 000342 G #41-853
FR.162 = 000344 G #41-854 100-2842
FR.163 = 000346 G #41-855
FR.164 = 000350 G #41-856
FR.165 = 000352 G #41-857
FR.166 = 000354 G #41-858
FR.167 = 000356 G #41-859 41-860
FR.170 = 000360 G #41-862
FR.171 = 000362 G #41-863
FR.172 = 000364 G #41-864
FR.173 = 000366 G #41-865
FR.174 = 000370 G #41-866
FR.175 = 000372 G #41-867
FR.176 = 000374 G #41-868
FR.177 = 000376 G #41-869 169-5158
FS 012610 R #229-259 229-260 229-581
FSB = 000150 #7-253
FSBB = 000153 #7-254
FSBL = 000151 #7-255
FSBM = 000152 #7-256
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 12
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FSBR = 000154 #8-259
FSBRB = 000157 #8-260
FSBRI = 000155 #8-261
FSBRM = 000156 #8-262
FSC = 000132 #8-264
FSL = 000011 #229-260 229-582
FSWTCH 011700 R #229-167 229-370 *229-533 *229-583
FWDTEN = 007306 R *70-1917 #174-5310
FWRIT1 006642 R 164-5036 #164-5039
FWRTGO 006616 R 164-5026 #164-5033
FWRTXX 006656 R 164-5021 164-5038 164-5041 #164-5043
FW.APE = 000116 G #37-701
FW.CA1 = 000122 G #37-715 93-2596 143-4289
FW.CA2 = 000124 G #37-717 93-2588 143-4288
FW.CDR = 000112 G #36-677
FW.CHN = 000160 G #38-747 100-2836
FW.CRD = 000126 G #37-719
FW.CR1 = 000136 G #37-727
FW.CR2 = 000134 G #37-725
FW.CR3 = 000132 G #37-723
FW.CR4 = 000130 G #37-721
FW.CSR = 000110 G #36-655 91-2515
FW.DJE = 000146 G #38-736
FW.DJO = 000150 G #38-738
FW.DR1 = 000140 G #38-730
FW.DR2 = 000142 G #38-732
FW.DR3 = 000144 G #38-734
FW.EBL = 000174 G #38-755 143-4291
FW.IAC = 000154 G #38-742
FW.IOJ = 000152 G #38-740
FW.IPE = 000114 G #37-688 91-2520
FW.KLO = 000156 G #38-744 143-4290
FW.LAR = 000176 G #38-758 81-2235 87-2399 160-4911 169-5165
FW.LBL = 000106 G #36-653 89-2451 143-4287
FW.LBR = 000104 G #36-651 89-2441 143-4286
FW.MBX = 000162 G #38-749 143-4294
FW.SBR = 000174 G #38-756
FW.040 = 000100 G #36-648 169-5163 174-5309
FW.041 = 000102 G #36-649
FW.042 = 000104 G #36-650 36-651
FW.043 = 000106 G #36-652 36-653
FW.044 = 000110 G #36-654 36-655
FW.045 = 000112 G #36-676 36-677
FW.046 = 000114 G #37-687 37-688
FW.047 = 000116 G #37-700 37-701
FW.050 = 000120 G #37-713
FW.051 = 000122 G #37-714 37-715
FW.052 = 000124 G #37-716 37-717
FW.053 = 000126 G #37-718 37-719
FW.054 = 000130 G #37-720 37-721
FW.055 = 000132 G #37-722 37-723
FW.056 = 000134 G #37-724 37-725
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 13
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FW.057 = 000136 G #37-726 37-727
FW.060 = 000140 G #38-729 38-730
FW.061 = 000142 G #38-731 38-732
FW.062 = 000144 G #38-733 38-734
FW.063 = 000146 G #38-735 38-736
FW.064 = 000150 G #38-737 38-738
FW.065 = 000152 G #38-739 38-740
FW.066 = 000154 G #38-741 38-742
FW.067 = 000156 G #38-743 38-744
FW.070 = 000160 G #38-746 38-747
FW.071 = 000162 G #38-748 38-749
FW.072 = 000164 G #38-750
FW.073 = 000166 G #38-751
FW.074 = 000170 G #38-752
FW.075 = 000172 G #38-753
FW.076 = 000174 G #38-754 38-755 38-756
FW.077 = 000176 G #38-757 38-758
FXCTCX 007006 R 166-5096 166-5098 166-5101 166-5103 166-5109 166-5112 #167-5119
FXCTEX 007026 R 166-5084 #167-5126
FXCTXF 007030 R 166-5089 #167-5128
FXCTXX 007024 R 167-5122 #167-5124 167-5130
FXCT1 006740 R 166-5092 #166-5099
FXCT2 006754 R 166-5094 #166-5104
FXCT3 006774 R 166-5107 #166-5110
FXDTEN = 007262 R *70-1918 #173-5274
FX.BMC = 000012 G #35-608 48-1181
FX.CMR = 000014 G #35-610 100-2854
FX.CON = 000024 G #35-619 76-2106 83-2294 87-2402
FX.CRF = 000020 G #35-615 51-1297 166-5111
FX.CSP = 000000 G #35-598
FX.CST = 000002 G #35-600 147-4394 166-5091
FX.EBC = 000006 G #35-604
FX.MBC = 000004 G #35-602 59-1536 100-2847
FX.SMR = 000016 G #35-612 99-2819 166-5093
FX.SRF = 000022 G #35-617 149-4460 166-5106
FX.SYC = 000010 G #35-606 152-4576
FX.UDR = 000032 G #35-624
FX.UIR = 000030 G #35-622
FX.000 = 000000 G #35-597 35-598 173-5273
FX.001 = 000002 G #35-599 35-600
FX.002 = 000004 G #35-601 35-602
FX.003 = 000006 G #35-603 35-604
FX.004 = 000010 G #35-605 35-606
FX.005 = 000012 G #35-607 35-608
FX.006 = 000014 G #35-609 35-610
FX.007 = 000016 G #35-611 35-612
FX.010 = 000020 G #35-614 35-615
FX.011 = 000022 G #35-616 35-617
FX.012 = 000024 G #35-618 35-619
FX.013 = 000026 G #35-620
FX.014 = 000030 G #35-621 35-622
FX.015 = 000032 G #35-623 35-624
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 14
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FX.016 = 000034 G #35-625
FX.017 = 000036 G #35-626
FX.020 = 000040 G #35-628
FX.021 = 000042 G #35-629
FX.022 = 000044 G #35-630
FX.023 = 000046 G #35-631
FX.024 = 000050 G #35-632
FX.025 = 000052 G #35-633
FX.026 = 000054 G #35-634
FX.027 = 000056 G #35-635
FX.030 = 000060 G #35-637
FX.031 = 000062 G #35-638
FX.032 = 000064 G #35-639
FX.033 = 000066 G #35-640
FX.034 = 000070 G #35-641
FX.035 = 000072 G #35-642
FX.036 = 000074 G #35-643
FX.037 = 000076 G #35-644 169-5170
GETSTS = 000062 #8-266
G.TICP = 000016 #20-106
G.TICT = 000014 #20-106
G.TIDA = 000004 #20-106
G.TIHR = 000006 #20-106
G.TIMI = 000010 #20-106
G.TIMO = 000002 #20-106
G.TISC = 000012 #20-106
G.TIYR = 000000 #20-106
HIBYTE = 177400 #3-68 #229-69
HLL = 000500 #8-268
HLLE = 000530 #8-269
HLLEI = 000531 #8-270
HLLEM = 000532 #8-271
HLLES = 000533 #8-272
HLLI = 000501 #8-274
HLLM = 000502 #8-275
HLLO = 000520 #8-277
HLLOI = 000521 #8-278
HLLOM = 000522 #8-279
HLLOS = 000523 #8-280
HLLS = 000503 #8-282
HLLZ = 000510 #8-284
HLLZI = 000511 #8-285
HLLZM = 000512 #8-286
HLLZS = 000513 #8-287
HLR = 000544 #8-289
HLRE = 000574 #8-291
HLREI = 000575 #8-292
HLREM = 000576 #8-293
HLRES = 000577 #8-294
HLRO = 000564 #8-296
HLROI = 000565 #8-297
HLROM = 000566 #8-298
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 15
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
HLROS = 000567 #8-299
HLRS = 000547 #8-301
HLRZ = 000554 #8-303
HLRZI = 000555 #8-304
HLRZM = 000556 #8-305
HLRZS = 000557 #8-306
HRL = 000504 #9-309
HRLE = 000534 #9-311
HRLEI = 000535 #9-312
HRLEM = 000536 #9-313
HRLES = 000537 #9-314
HRLI = 000505 #9-316
HRLM = 000506 #9-317
HRLO = 000564 #9-319
HRLOI = 000565 #9-320
HRLOM = 000566 #9-321
HRLOS = 000567 #9-322
HRLS = 000507 #9-324
HRLZ = 000514 #9-326
HRLZI = 000515 #9-327
HRLZM = 000516 #9-328
HRLZS = 000517 #9-329
HRR = 000540 #9-331
HRRE = 000570 #9-333
HRREI = 000571 #9-334
HRREM = 000572 #9-335
HRRES = 000573 #9-336
HRRI = 000541 #9-338
HRRM = 000542 #9-339
HRRO = 000560 #9-341
HRROI = 000561 #9-342
HRROM = 000562 #9-343
HRROS = 000563 #9-344
HRRS = 000543 #9-346
HRRZ = 000550 #9-348
HRRZI = 000551 #9-349
HRRZM = 000552 #9-350
HRRZS = 000553 #9-351
HTMG1 012056 R #229-206 229-207 229-307
HTMG1L = 000021 #229-207 229-308
HTMG2 012100 R #229-209 229-210 229-310
HTMG2L = 000025 #229-210 229-311
IBP = 000133 #10-354
IDIV = 000230 #10-356
IDIVB = 000233 #10-357
IDIVI = 000231 #10-358
IDIVM = 000232 #10-359
IDPB = 000136 #10-361
IE.EBX = 177776 66-1779
IE.EOF = 177766 229-499
IE.NSF = 177746 229-415
IFLOP = 100000 #3-68 #229-69
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 16
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
ILDB = 000134 #10-363
IMUL = 000220 #10-365
IMULB = 000223 #10-366
IMULI = 000221 #10-367
IMULM = 000222 #10-368
IN = 000056 #10-370
INBUF = 000064 #10-371
INIT = 000041 #10-372
INITBF 016226 R 229-492 229-492 #229-861
INITDT 002134 R 71-1953 #71-1965
INITDX 002124 R 70-1923 #71-1959
INITER 002130 R #71-1961 71-1967
INITEX 002120 R 70-1921 70-1925 70-1941 70-1945 #71-1955 71-1963
INITL1 001702 R #68-1862 68-1865
INKLFA 002056 R 70-1934 #70-1936
INKLF1 001742 R 68-1867 #70-1913
INKLF2 002064 R #70-1939 70-1944
INKLF3 002106 R 70-1943 #71-1951
INPUT = 000066 #10-373
INTROF = 000010 #3-68 #229-69
INTRON = 000040 #3-68 #229-69
INTSON = 000001 #3-68 #229-69
INT10S = 000400 #3-68 #229-69
INT11C = 002000 #3-68 #229-69
INT11S = 004000 #3-68 #229-69
IOR = 000434 #10-375 11-442
IORB = 000437 #10-376 11-443
IORI = 000435 #10-377 12-461
IORM = 000436 #10-378 12-462
IOSTA 010564 R 229-150 #229-159 229-415 229-499 229-785
IOTTY 010570 R 229-155 #229-160 229-922 229-926 229-928
IO.ACE = 007400 229-833
IO.ACR = 006400 229-774
IO.CRE = 012000 229-831
IO.DAC = 010000 229-778
IO.ENA = 006000 229-836
IO.EXT = 011400 229-838
IO.FNA = 004400 229-772
IO.RAT = 013000 229-840
IO.RLB = 001000 229-906
IO.RVB = 010400 229-780
IO.WLB = 000400 229-155 229-915 229-919
IO.WVB = 011000 229-150 229-829
IP.ALL = 000017 G #37-698
IP.CRP = 000004 G #37-694 37-697 110-3176
IP.DRP = 000002 G #37-695 37-697 110-3183
IP.FMP = 000010 G #37-693 37-697 110-3169
IP.FSS = 000001 G #37-696 37-698 110-3191
IP.NRM = 000016 G #37-697 37-698 180-5490
JFCL = 000255 #10-380 130-3829
JFFO = 000243 #10-382
JRA = 000267 #10-384
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 17
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
JRST = 000254 #10-386 130-3827
JSA = 000266 #10-388
JSP = 000265 #10-390
JSR = 000264 #10-392
JUMP = 000320 #10-394
JUMPA = 000324 #10-395
JUMPE = 000322 #10-396
JUMPG = 000327 #10-397
JUMPGE = 000325 #10-398
JUMPL = 000321 #10-399
JUMPLE = 000323 #10-400
JUMPN = 000326 #10-401
KF.BRM = 000400 G #34-561 76-2098
KF.CES = 000040 G #34-564
KF.CLK = 100000 G #34-554 49-1229 70-1927 70-1935 76-2102 76-2120 76-2122 83-2297 83-2305
86-2338 166-5090
KF.CON = 000020 G #34-565 34-567 49-1229 83-2308 100-2857
KF.DEF = 000021 G #34-567 68-1866
KF.EMS = 040000 G #34-555 152-4579
KF.KLO = 000100 G #34-563
KF.MRS = 010000 G #34-557 99-2822 100-2857
KF.RUN = 020000 G #34-556 70-1927 71-1954 76-2102 76-2115 83-2305 166-5105
KF.SIM = 004000 G #34-558 76-2098 83-2289
KF.SMC = 002000 G #34-559
KF.SPM = 001000 G #34-560 76-2098 83-2287
KF.UCS = 000200 G #34-562 151-4518 151-4545
KF.WRN = 000001 G #34-566 34-567
KLACE 016120 R 229-460 229-460 #229-833
KLACR 015776 RG #229-774
KLADD 007360 RG #205-82 206-108 206-108
KLADDI 007554 RG #209-180 209-205
KLADIX 007566 R #209-186 209-201
KLADJ 007442 RG #207-128 208-150 208-150 209-187 215-362 216-405 218-470
KLADJ1 007440 RG 205-88 #207-126 214-331
KLAND 010062 RG #214-333
KLCLR 010220 RG 139-4148 139-4148 170-5200 170-5200 215-382 215-382 #218-466
KLCMP 010136 RG 214-337 214-337 215-383 215-383 #216-388 216-418 216-418
KLCMPR 007476 RG #208-148
KLCMPX 010144 R #216-404
KLCOMM 016052 R 229-773 229-776 229-779 #229-783 229-832 229-835 229-837 229-839 229-841
KLCRE 016110 RG 229-429 229-429 #229-831
KLDAC 016014 RG #229-777 229-946 229-946
KLDEC 010112 RG #215-369
KLDIVI 007734 RG #211-243
KLDPB 010504 RG #229-150 *229-396 *229-412 *229-427 *229-428 *229-446 *229-458 *229-459 *229-472
*229-473 *229-491 *229-772 *229-774 *229-775 *229-778 *229-780 *229-781 *229-782
229-783 *229-829 *229-831 *229-833 *229-834 *229-836 *229-838 *229-840 229-845
KLENA 016136 RG 229-447 229-447 #229-836
KLEXT 016146 RG 229-474 229-474 #229-838
KLE$$E = 000002 #1-33 229-197
KLE$$K = 000126 #1-37 229-197
KLE$$V = 000002 #1-32 229-197
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 18
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
KLFNA 015766 RG 229-397 229-397 229-413 229-413 #229-772
KLGOXX 002642 R 81-2233 81-2237 83-2288 83-2292 83-2296 83-2298 83-2300 83-2307 #83-2309
KLGO1 002572 R 83-2290 #83-2293
KLGO2 002620 R #83-2301
KLHCFH 002270 R #74-2056
KLHLTX 002276 R 73-2015 73-2019 73-2028 73-2032 74-2045 74-2050 74-2052 #74-2059
KLHLT1 002164 R #73-2017 73-2022
KLHLT2 002204 R 73-2021 #73-2023
KLHLT3 002210 R #73-2026 74-2054
KLHLT4 002216 R #73-2029
KLHLT5 002224 R 73-2025 #74-2043
KLHLT6 002236 R #74-2047 74-2055
KLINC 010076 RG #215-357 216-419 216-419
KLINCX 010106 R #215-361 215-373
KLIOR 010050 RG #214-312
KLIORW 016036 R #229-781 229-830
KLIORX 010056 R #214-330 214-341
KLIOT = 000700 #10-403 130-3831
KLLI0 007772 R 212-273 #212-277 212-283 212-298
KLLI1 010010 R 212-278 #212-284 212-295 212-306
KLLSH 010162 RG #217-437 219-481 219-481
KLLSHI 007760 RG 93-2586 93-2586 93-2594 93-2594 107-3074 107-3074 125-3687 125-3687 125-3695
125-3695 127-3747 127-3747 127-3752 127-3752 130-3842 130-3842 134-3946 134-3946
136-4029 136-4029 136-4036 136-4036 140-4162 140-4162 211-247 211-247 #212-270
217-442 217-442 229-663 229-663 229-668 229-668
KLLSHR 010204 R 217-440 #217-445
KLLSHX 010214 R 217-443 #217-449
KLMULI 007614 RG #210-215
KLNEG 010150 RG 206-106 206-106 206-110 206-110 #216-407
KLNTYP 016540 RG 62-1646 62-1646 62-1651 62-1651 154-4647 154-4647 #229-942
KLPWRF = 000010 #3-68 #229-69
KLRAT 016156 RG #229-840
KLRI0 010032 R 212-275 212-296 #212-300 212-305
KLRSH 010232 RG #219-479
KLRSHI 010016 RG #212-292 217-448 217-448
KLRSTE 002422 R 76-2105 76-2108 76-2118 #76-2126
KLRSTX 002426 R 76-2121 76-2123 76-2125 #76-2129
KLRST1 002356 R 76-2103 #76-2111
KLRST2 002362 R 76-2099 #76-2114
KLRST3 002376 R 76-2110 76-2116 #76-2119
KLRSXX 002430 R 76-2128 #76-2131
KLRVB 016030 RG #229-780
KLSETO 010124 RG #215-381
KLSTN1 002534 R 79-2187 #81-2238
KLSTPX 002730 R 86-2345 86-2348 86-2354 #86-2357
KLSTP0 002662 R 86-2339 #86-2341
KLSTP1 002676 R #86-2346 86-2351
KLSTP2 002716 R 86-2350 #86-2352
KLSTXX 002500 R 79-2178 79-2182 79-2185 #79-2188
KLSUB 007376 RG #206-92 208-151 208-151
KLSUBI 007574 RG #209-195
KLTST 007446 RG #207-132 208-152 208-152
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 19
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
KLTST1 007466 R #207-139
KLTST2 007472 R 207-134 207-136 207-138 #207-143
KLTST3 007474 R 207-141 #207-145
KLWVB 016100 RG 229-497 229-497 #229-829
KLXCTX 002764 R 87-2398 87-2401 #87-2404
KLXTN 007426 RG #207-117 207-130 210-238 212-286
KLXTX 007436 R #207-123
LDB = 000135 #11-406
LDBREX 003072 R 89-2434 #89-2456
LDBRXX 003066 R 89-2444 #89-2453
LDCPCX 003176 R 91-2529 91-2535 #91-2538
LDCRAX 003314 R 93-2579 93-2583 93-2590 #93-2598
LENGTH 016530 R 229-935 #229-937
LF = 000012 #229-75 229-183 229-186 229-189 229-198 229-206 229-209 229-216 229-227
229-237 229-240 229-243 229-246 229-256 229-259 229-265 229-268 229-271
229-274 229-277 229-280
LOAD11 = 000004 #3-68 #229-69
LOOKUP = 000076 #11-408
LOOP 016216 R #229-855 229-856 229-863 229-869
LSH = 000242 #11-410
LSHC = 000246 #11-411
LTMSG 011752 R #229-189 229-190 229-524
LTMSGL = 000021 #229-190 229-525
LUN1 = 000001 #229-80 229-135 229-155
LUN2 = 000002 #229-81 229-139 229-150
MAP = 000257 #11-413
MBZTAB 000602 R 53-1362 #54-1402
MOVE = 000200 #11-415
MOVEI = 000201 #11-416
MOVEM = 000202 #11-417
MOVES = 000203 #11-418
MOVM = 000214 #11-420
MOVMI = 000215 #11-421
MOVMM = 000216 #11-422
MOVMS = 000217 #11-423
MOVN = 000210 #11-425
MOVNI = 000211 #11-426
MOVNM = 000212 #11-427
MOVNS = 000213 #11-428
MOVS = 000204 #11-430
MOVSI = 000205 #11-431
MOVSM = 000206 #11-432
MOVSS = 000207 #11-433
MPE11 = 001000 #3-68 #229-69
MRCLRX 003500 R 99-2821 99-2824 100-2834 100-2838 100-2844 100-2849 100-2853 100-2856 #100-2859
MRCLR1 003356 R #100-2831 100-2832
MRCLR2 003412 R #100-2840 100-2850
MRCLR3 003452 R 100-2846 #100-2851
MSG2 014112 R 229-419 #229-431
MUL = 000224 #11-435
MULB = 000227 #11-436
MULI = 000225 #11-437
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 20
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
MULM = 000226 #11-438
MVNAME 015710 R 229-408 229-408 229-440 229-440 #229-726
M.KTAE = 000010 #176-5393
M.KTEF = 000002 #176-5393
M.KTMG = 000004 #176-5393
M.KTUN = 000006 #176-5393
NOCLK 012400 R #229-237 229-238 229-551
NOCLKL = 000046 #229-238 229-552
NULSTP = 000040 #3-68 #229-69
NUPE = 000002 #3-68 #229-69
OFF 012052 R #229-204 229-684
ON 012050 R #229-203 229-689
OPEN = 000050 #11-440
OR = 000434 #11-442
ORB = 000437 #11-443
ORCA = 000454 #11-445
ORCAB = 000457 #11-446
ORCAI = 000455 #11-447
ORCAM = 000456 #11-448
ORCB = 000470 #12-451
ORCBB = 000473 #12-452
ORCBI = 000471 #12-453
ORCBM = 000472 #12-454
ORCM = 000464 #12-456
ORCMB = 000467 #12-457
ORCMI = 000465 #12-458
ORCMM = 000466 #12-459
ORI = 000435 #12-461
ORM = 000436 #12-462
OUT = 000057 #12-464
OUTBUF = 000065 #12-465
OUTPUT = 000067 #12-466
PAG = 000010 #16-663
PARNRM 000216 RG 144-4308 #180-5489
PARTMP 000214 R #180-5486
PCC 012163 R #229-215 229-352
PCMSG 012126 R #229-212 229-217 229-364
PCMSGL = 000054 #229-217 229-365
PCTAB 005344 R 139-4127 #140-4180
PC.AFI = 000020 G #34-589
PC.AT0 = 000004 G #34-591
PC.AT1 = 000010 G #34-590
PC.BIS = 000400 G #34-585
PC.CY0 = 004000 G #34-582
PC.CY1 = 002000 G #34-583
PC.FOV = 001000 G #34-584
PC.FUF = 000002 G #34-592
PC.LIP = 000040 G #34-588
PC.NDV = 000001 G #34-593
PC.OVF = 010000 G #34-581 125-3704
PC.UIO = 000100 G #34-587
PC.USR = 000200 G #34-586
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 21
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
PERCLR = 001000 #3-68 #229-69
PE.ALL = 000037 G #30-423
PE.CES = 000001 G #30-418 30-423
PE.CRM = 000004 G #30-420 30-423
PE.DRM = 000002 G #30-419 30-423
PE.FMP = 000010 G #30-421 30-423
PE.FSS = 000020 G #30-422 30-423
PHYS = 100000 #3-68 #229-69
PI = 000004 #16-662
PIDENT = 000000 #3-68 #229-69
PIMSG 012202 R #229-219 229-228 229-367
PIMSGL = 000071 #229-228 229-368
PI0 012214 R #229-220 229-681
PI1 012231 R #229-222 229-693
PI2 012247 R #229-224 229-697
PI3 012265 R #229-226 229-701
POINT 011720 R #229-182 *229-330 *229-374 *229-393 *229-406 *229-417 *229-424 *229-438 *229-456
*229-469 *229-483 *229-531 *229-589 *229-646 *229-677
POP = 000262 #12-468
POPJ = 000263 #12-469
PRINTT 011676 R #229-166 *229-485 *229-517 229-518
PRI1 = 000001 #229-79
PRI7 = 000340 #3-68 #229-69
PROPNT = 000021 #3-68 #229-69
PRTERR 010244 RG #225-173 229-595 229-595
PRTER0 010252 R #225-176 225-182
PRTER1 010266 R 225-180 #225-183 225-192
PRTER7 010274 R 225-178 #225-187
PRTNEA 003561 R 224-138 #224-140
PRTNER 000572 R #224-135 225-191
PRTNEX 003616 R #224-142 225-189
PRTOFF = 004000 #3-68 #229-69
PR0 = 000000 #3-68 #229-69
PR1 = 000040 #3-68 #229-69
PR2 = 000100 #3-68 #229-69
PR3 = 000140 #3-68 #229-69
PR4 = 000200 #3-68 #229-69
PR5 = 000240 #3-68 #229-69
PR6 = 000300 #3-68 #229-69
PR7 = 000340 #3-68 #229-69
PS = 177776 #3-68 #229-69
PSWW1 = 000005 #3-68 #229-69
PSWW10 = 000014 #3-68 #229-69
PSWW11 = 000015 #3-68 #229-69
PSWW12 = 000016 #3-68 #229-69
PSWW13 = 000017 #3-68 #229-69
PSWW2 = 000006 #3-68 #229-69
PSWW3 = 000007 #3-68 #229-69
PSWW4 = 000010 #3-68 #229-69
PSWW5 = 000011 #3-68 #229-69
PSWW6 = 000012 #3-68 #229-69
PSWW7 = 000013 #3-68 #229-69
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 22
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
PULSE = 000020 #3-68 #229-69
PUSH = 000261 #12-471
PUSHJ = 000260 #12-472
QSIZE = 000023 #3-68 #229-69
Q.IOAE = 000012 #229-150 #229-155
Q.IOEF = 000006 #229-150 #229-155
Q.IOFN = 000002 #229-150 #229-155 *229-772 *229-774 *229-778 *229-780 *229-829 *229-831 *229-833
*229-836 *229-838 *229-840 *229-906 *229-915 229-919
Q.IOLU = 000004 #229-150 #229-155
Q.IOPL = 000014 #229-150 #229-155 *229-396 *229-412 *229-427 *229-428 *229-446 *229-458 *229-459
*229-472 *229-473 *229-491 *229-775 *229-781 *229-782 *229-834 229-845 *229-907
*229-908 *229-910 *229-911 *229-913 *229-914
Q.IOPR = 000007 #229-150 #229-155
Q.IOSB = 000010 #229-150 #229-155
RAMIS0 = 010000 #3-68 #229-69
RDALLE 003566 R 106-3021 #106-3029
RDALLX 003570 R 106-3028 #106-3031
RDALL1 003532 R #106-3017 106-3026
RDAPRX 003642 R 107-3072 #107-3078
RDCPEX 004002 R 108-3115 #109-3149
RDCPPA 003746 R 109-3132 #109-3134
RDCPP0 003670 R #108-3111 108-3117
RDCPP1 003720 R #109-3125 109-3146
RDCPP2 003730 R #109-3128 109-3143
RDCPP3 003752 R 109-3131 #109-3136
RDCPP4 003762 R 109-3139 #109-3141
RDCPT1 004010 R 108-3109 #110-3161
RDCPT2 004054 R 109-3127 #111-3198
RDCPT3 000000 R 108-3110 109-3124 #111-3208
RDCPXX 004004 R 109-3148 #109-3151
RDCRME 004064 R #115-3355 151-4550
RDFLGX 004312 R 125-3685 125-3693 125-3701 #125-3707
RDFLG1 004310 R 125-3703 #125-3705
RDFMAX 004404 R 127-3745 127-3756 #127-3758
RDFMOX 004442 R 128-3789 128-3793 #128-3795
RDIPEX 004652 R 132-3895 #132-3906
RDIPE1 004616 R #132-3892 132-3903
RDIPE2 004634 R 132-3897 #132-3899
RDIRRX 004562 R 130-3826 #130-3852
RDIRR1 004500 R 130-3828 130-3830 #130-3833
RDIRR2 004556 R 130-3840 #130-3848
RDIRR3 004560 R 130-3832 #130-3850
RDPITB 000014 R 134-3938 #134-3961
RDPITE = 000030 R 134-3949 #134-3968
RDPIX 004726 R 134-3944 #134-3952
RDPI1 004672 R #134-3940 134-3950
RDSMRE 005056 R 136-4034 #136-4040
RDSMRX 005060 R 136-4027 #136-4042
RDVMRE 005334 R 139-4139 #140-4173
RDVMRX 005330 R 140-4157 #140-4170
READP 011774 R #229-192 229-193 229-902
READPL = 000006 #229-193 229-903
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 23
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
RECORD 011674 R #229-165 *229-294 *229-486 *229-489 229-491
REGSAV 007214 RG 61-1618 61-1622 68-1858 70-1911 73-2013 79-2176 91-2513 91-2518 93-2574
108-3106 132-3885 136-4022 139-4140 143-4255 144-4302 145-4318 151-4514 #172-5244
REGTAB 000722 R 56-1445 #57-1465
RELEAS = 000071 #12-474
RENAME = 000055 #12-475
RESETT 005506 R 143-4258 #143-4285
RESETX 005504 R 143-4257 143-4260 143-4264 143-4266 143-4268 143-4274 #143-4280
RESET1 005454 R #143-4270 143-4276
RESTDX 005672 R 146-4350 #146-4357
RESTIX 005552 R 144-4304 144-4307 #144-4310
RESTPE 005646 R 145-4320 145-4322 #145-4335
RESTPX 005642 R 145-4325 145-4329 #145-4332
RFMAD0 = 100000 #3-68 #229-69
RFMAD1 = 040000 #3-68 #229-69
RFMAD2 = 020000 #3-68 #229-69
RFMAD3 = 010000 #3-68 #229-69
RGDTEN = 007320 R *70-1919 #174-5332
RM = 000010 #3-68 #229-69
ROT = 000241 #12-477
ROTC = 000245 #12-478
RSTEND = 005514 R 143-4275 #143-4292
RUINGL = 000043 #229-199 229-301
RVMRL1 005254 R #140-4152 140-4167
R.QSGC = 000015 #229-131
R.QSPC = 000014 #229-131
R.QSPN = 000006 #229-131
R.QSPR = 000012 #229-131
R.QSTN = 000002 #229-131
SBADI 007610 R 209-197 #209-203
SBRTAB 005142 R 135-4013 #137-4079
SCD = 000040 #3-68 #229-69
SCRTAB 005156 R 135-4016 #137-4087
SETA = 000424 #12-480
SETAB = 000427 #12-481
SETAI = 000425 #12-482
SETAM = 000426 #12-483
SETCA = 000450 #12-485
SETCAB = 000453 #12-486
SETCAI = 000451 #12-487
SETCAM = 000452 #12-488
SETCM = 000460 #12-490
SETCMB = 000463 #12-491
SETCMI = 000461 #12-492
SETCMM = 000462 #12-493
SETEC 015130 RG 229-376 229-376 #229-589
SETM = 000414 #13-496
SETMB = 000417 #13-497
SETMI = 000415 #13-498
SETMM = 000416 #13-499
SETO = 000474 #13-501
SETOB = 000477 #13-502
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 24
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
SETOI = 000475 #13-503
SETOM = 000476 #13-504
SETPC 015342 RG 229-347 229-347 229-353 229-353 229-577 229-577 #229-646
SETPI 015500 RG 229-357 229-357 #229-677
SETSTS = 000060 #13-506
SETZ = 000400 #13-508
SETZB = 000403 #13-509
SETZI = 000401 #13-510
SETZM = 000402 #13-511
SHFTXX 007206 R 171-5209 171-5214 #171-5219
SHIFTL 007170 R #171-5211 171-5213
SHIFTR 007200 R 171-5210 #171-5215 171-5218
SKIP = 000330 #13-513
SKIPA = 000334 #13-514
SKIPE = 000332 #13-515
SKIPG = 000337 #13-516
SKIPGE = 000335 #13-517
SKIPL = 000331 #13-518
SKIPLE = 000333 #13-519
SKIPN = 000336 #13-520
SLASH 012047 R #229-202 229-936
SLS = 000057 #229-77 229-202
SNP 010500 R #229-144 229-730 229-733
SOJ = 000360 #13-522
SOJA = 000364 #13-523
SOJE = 000362 #13-524
SOJG = 000367 #13-525
SOJGE = 000365 #13-526
SOJL = 000361 #13-527
SOJLE = 000363 #13-528
SOJN = 000366 #13-529
SOS = 000370 #13-531
SOSA = 000374 #13-532
SOSE = 000372 #13-533
SOSG = 000377 #13-534
SOSGE = 000375 #13-535
SOSL = 000371 #13-536
SOSLE = 000373 #13-537
SOSN = 000376 #13-538
SPC = 000040 #229-78 229-220 229-220 229-220 229-220 229-222 229-222 229-222 229-222
229-224 229-224 229-224 229-224 229-226 229-226 229-226 229-226 229-230
229-230 229-230 229-230 229-593 229-654
STAMSG 000764 R 57-1468 #57-1478
START 013164 RG #229-286 229-948
STAT = 174434 #3-68 #229-69
STATO = 000061 #13-540
STATUS = 000022 #3-68 #13-541 #229-69
STATZ = 000063 #13-542
STOP 012446 R #229-240 229-241 229-555
STOPL = 000022 #229-241 229-556
STPCXX 005766 R 148-4430 #148-4433
STPXCX 005762 R #148-4431
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 25
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
STRCEX 005732 R 147-4392 #147-4400
STRCXX 005730 R 147-4396 #147-4398
STRFEX 006014 R 149-4462 #149-4465
STRUNX 006010 R #149-4463
STUCAE 006152 R 151-4516 #151-4549
STUCDX 006146 R 151-4520 151-4522 151-4525 151-4527 151-4533 151-4543 #151-4546
STUCD1 006100 R #151-4529 151-4537
STUCD2 006124 R 151-4536 #151-4538
STUCD3 006112 R 151-4531 #151-4534
STUCEX 006140 R 151-4540 #151-4544
ST.CED = 000100 G #33-533 33-548
ST.CLE = 000001 G #33-546 33-548
ST.CTD = 040000 G #33-518
ST.CTE = 010000 G #33-522 33-548
ST.DW1 = 002000 G #33-525
ST.DXD = 000004 G #33-541
ST.EBS = 000100 G #33-532
ST.EDB = 004000 G #33-523
ST.EPE = 000020 G #33-536 33-548 60-1587
ST.IDS = 000010 G #33-540
ST.IEN = 000040 G #33-535
ST.ION = 000001 G #33-545
ST.MBZ = 000000 G #33-550 54-1405
ST.MOD = 000010 G #33-538 70-1922
ST.MPE = 001000 G #33-526 33-548
ST.NST = 000040 G #33-534
ST.RIZ = 010000 G #33-521
ST.RST = 011121 G #33-548
ST.SEP = 000004 G #33-542
ST.STE = 000002 G #33-544
ST.TED = 000200 G #33-530
ST.TER = 000002 G #33-543
ST.TXD = 100000 G #33-516
ST.TXE = 020000 G #33-519
ST.XDB = 000400 G #33-528
SUB = 000274 #14-545
SUBB = 000277 #14-546
SUBI = 000275 #14-547
SUBM = 000276 #14-548
SWR = 177570 #3-68 #229-69
SWSLLT = 100000 #3-68 #229-69
SYMA = 003512 RG #224-52 224-52 #224-53 224-53 #224-54 224-54 #224-55 224-55 #224-56
224-56 #224-57 224-57 #224-59 224-59 #224-60 224-60 #224-62 224-62
#224-63 224-63 #224-64 224-64 #224-65 224-65 #224-66 224-66 #224-67
224-67 #224-68 224-68 #224-69 224-69 #224-70 224-70 #224-72 224-72
#224-73 224-73 #224-74 224-74 #224-75 224-75 #224-76 224-76 #224-78
224-78 #224-79 224-79 #224-80 224-80 #224-81 224-81 #224-82 224-82
#224-83 224-83 #224-84 224-84 #224-86 224-86 #224-87 224-87 #224-88
224-88 #224-90 224-90 #224-91 224-91 #224-92 224-92 #224-93 224-93
#224-94 224-94 #224-95 224-95 #224-96 224-96 #224-97 224-97 #224-98
224-98 #224-100 224-100 #224-101 224-101 #224-102 224-102 #224-103 224-103
#224-104 224-104 #224-105 224-105 #224-107 224-107 #224-108 224-108 #224-110
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 26
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
224-110 #224-112 224-112 #224-114 224-114 #224-115 224-115 #224-116 224-116
#224-118 224-118 #224-120 224-120 #224-121 224-121 #224-122 224-122 #224-124
224-124 #224-126 224-126 #224-128 224-128 #224-130 224-130
SYNCEX 006210 R 152-4580 #152-4583
SYNCXX 006212 R #152-4585
SYNXCX 006204 R 152-4578 #152-4581
TAB = 000011 #229-76 229-201
TABB 012046 R #229-201 229-934
TDC = 000650 #14-550
TDCA = 000654 #14-551
TDCE = 000652 #14-552
TDCN = 000656 #14-553
TDN = 000610 #14-555
TDNA = 000614 #14-556
TDNE = 000612 #14-557
TDNN = 000616 #14-558
TDO = 000670 #14-560
TDOA = 000674 #14-561
TDOE = 000672 #14-562
TDON = 000676 #14-563
TDZ = 000630 #14-565
TDZA = 000634 #14-566
TDZE = 000632 #14-567
TDZN = 000636 #14-568
TENAD1 = 174410 #3-68 #229-69
TENAD2 = 174412 #3-68 #229-69
TENFUN 013322 R 229-304 #229-316 229-326
TFRMSG 006366 R 153-4616 #154-4659
TFWMSG 006403 R 153-4622 #154-4661
TFXMSG 006420 R 153-4628 #154-4663
TLC = 000641 #14-570
TLCA = 000645 #14-571
TLCE = 000643 #14-572
TLCN = 000647 #14-573
TLN = 000601 #14-575
TLNA = 000605 #14-576
TLNE = 000603 #14-577
TLNN = 000607 #14-578
TLO = 000661 #14-580
TLOA = 000665 #14-581
TLOE = 000663 #14-582
TLON = 000667 #14-583
TLZ = 000621 #14-585
TLZA = 000625 #14-586
TLZE = 000623 #14-587
TLZN = 000627 #14-588
TOBM = 000004 #3-68 #229-69
TOD = 000003 #3-68 #229-69
TOIP = 000002 #3-68 #229-69
TOIT = 000001 #3-68 #229-69
TO10 = 000200 #3-68 #229-69
TO10AD = 174420 #3-68 #229-69
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 27
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
TO10BC = 174414 #3-68 #229-69
TO10BM = 000001 #3-68 #229-69
TO10DB = 000400 #3-68 #229-69
TO10DN = 100000 #3-68 #229-69
TO10DT = 174424 #3-68 #229-69
TO10ER = 020000 #3-68 #229-69
TO11 = 000100 #3-68 #229-69
TO11AD = 174422 #3-68 #229-69
TO11BC = 174416 #3-68 #229-69
TO11BM = 020000 #3-68 #229-69
TO11DB = 004000 #3-68 #229-69
TO11DN = 000200 #3-68 #229-69
TO11DT = 174426 #3-68 #229-69
TO11ER = 000002 #3-68 #229-69
TRACE 011702 R #229-168 *229-293 *229-327 *229-329 229-502 229-873
TRACKQ 006360 R 154-4648 #154-4655
TRACKX 006344 R 154-4644 #154-4649
TRADDR 001326 R 62-1633 62-1645 #63-1663
TRC = 000640 #14-590
TRCA = 000644 #14-591
TRCE = 000642 #14-592
TRCN = 000646 #14-593
TRDATA 001334 R 62-1638 62-1650 #63-1665
TRMSG 011724 R #229-186 229-187 229-316
TRMSGL = 000025 #229-187 229-318
TRN = 000600 #14-595
TRNA = 000604 #14-596
TRNE = 000602 #14-597
TRNN = 000606 #14-598
TRO = 000660 #15-601
TROA = 000664 #15-602
TROE = 000662 #15-603
TRON = 000666 #15-604
TRZ = 000620 #15-606
TRZA = 000624 #15-607
TRZE = 000622 #15-608
TRZN = 000626 #15-609
TR.ALL = 000077 G #34-577
TR.DEP = 000020 G #34-575 34-577 65-1754
TR.DTE = 000040 G #34-576 34-577 54-1391
TR.EXM = 000010 G #34-574 34-577 65-1749
TR.FRD = 000002 G #34-572 34-577 162-4969
TR.FWR = 000004 G #34-573 34-577 164-5035
TR.FXC = 000001 G #34-571 34-577 167-5121
TSC = 000651 #15-611
TSCA = 000655 #15-612
TSCE = 000653 #15-613
TSCN = 000657 #15-614
TSN = 000611 #15-616
TSNA = 000615 #15-617
TSNE = 000613 #15-618
TSNN = 000617 #15-619
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 28
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
TSO = 000671 #15-621
TSOA = 000675 #15-622
TSOE = 000673 #15-623
TSON = 000677 #15-624
TSZ = 000631 #15-626
TSZA = 000635 #15-627
TSZE = 000633 #15-628
TSZN = 000637 #15-629
TTCALL = 000051 #15-631
TTCOMR 016410 R 229-909 #229-916
TTCOMW 016402 R 229-912 229-912 #229-915
TTCOMX 016372 RG 229-302 229-302 229-515 229-515 229-904 229-904 #229-913 229-932 229-932
229-938 229-938
TTDPB 010534 RG #229-155 *229-906 *229-907 *229-908 *229-910 *229-911 *229-913 *229-914 *229-915
229-916 229-919
TTERRO 016442 R 229-917 #229-921
TTEXIT 016514 R 229-920 #229-933
TTREAD 016306 RG 229-320 229-320 #229-902
TTWRIT 016352 RG 229-312 229-312 229-319 229-319 229-366 229-366 229-369 229-369 229-379
229-379 229-401 229-401 229-433 229-433 229-451 229-451 229-464 229-464
229-478 229-478 229-523 229-523 229-526 229-526 229-584 229-584 229-878
229-878 #229-910
TTYIPT 010574 R #229-161 229-162 229-321 229-323 229-325 229-342 229-348 229-506 229-513
229-572 229-648 229-853 229-907 229-921
TTYL = 000100 #229-162 229-507 229-514 229-518 229-854 229-908
TYCRLF 016500 RG 154-4650 154-4650 229-380 229-380 229-516 229-516 #229-930
TYPASZ 016540 RG 56-1443 56-1443 56-1446 56-1446 62-1643 62-1643 154-4637 154-4637 #229-941
TYPLIN 016540 RG 56-1461 56-1461 62-1659 62-1659 #229-940
TYPSLS 016524 RG 62-1647 62-1647 154-4645 154-4645 #229-936
TYPTAB 016516 RG 56-1447 56-1447 62-1648 62-1648 62-1652 62-1652 154-4646 154-4646 #229-934
TY3D 015626 RG 154-4642 154-4642 229-568 229-568 229-571 229-571 229-694 229-694 229-698
229-698 229-702 229-702 #229-704
UGETF = 000073 #15-633
UJEN = 000100 #15-635
UNASG1 = 000032 #3-68 #229-69
UNASG2 = 000033 #3-68 #229-69
UNASG3 = 000034 #3-68 #229-69
UNASG4 = 000035 #3-68 #229-69
UNASG5 = 000036 #3-68 #229-69
UNASG6 = 000037 #3-68 #229-69
USETI = 000074 #15-637
USETO = 000075 #15-638
VERSC = 000075 #23-93
VERSN = 000007 G #204-54
VMA 012136 R #229-213 229-346
VMATB 005360 R 139-4133 #140-4188
VMHTB 005366 R 139-4136 #140-4192
VSUB 000000 R #23-93
WEP = 000010 #3-68 #229-69
WRITE 014426 R 229-475 229-488 #229-490
WRITP 012002 R #229-195 229-196 229-199 229-300 229-910
WRITPL = 000011 #229-196 229-911
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 29
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
WRTARX 006462 R 160-4907 160-4910 #160-4913
XCT = 000256 #15-640
XOR = 000430 #15-642
XORB = 000433 #15-643
XORI = 000431 #15-644
XORM = 000432 #15-645
ZSTOP = 040000 #3-68 #229-69
$AGAIN = 000001 G #2-41
$AUTO = 000001 G #2-42
$DISTB = 000000 G #2-44 44-974
$DIV = ****** GX 229-630 229-630
$DSW = ****** GX 66-1779
$HLPSW = 000000 G #2-45
$LPTSW = 000001 G #2-46
$MBPSW = 000000 G #2-47 95-2666
$MCRSW = 000001 G #2-48
$MUL = ****** GX 210-220 210-220 210-225 210-225 210-230 210-230
$RAMSW = 000000 G #2-43 93-2602 100-2863 111-3216 118-3462 154-4667 180-5493
$RSXSW = 000001 G #2-49 146-4343
$SCLCK = 000001 G #2-50
$SPRSW = 000001 G #2-51
$TKBSW = 000001 G #2-55
$TRKSW = 000001 G #2-53
$TRPSW = 000000 G #2-54
$T04SW = 000000 G #2-52
$$ = 000037 #20-118 20-118 #20-121 20-121 #20-124 20-124 #20-127 20-127 #20-130
20-130 #20-134 20-134 #47-1132 47-1132 #47-1137 47-1137 #48-1174 48-1174
#48-1179 48-1179 #48-1182 48-1182 #49-1223 49-1223 #50-1263 50-1263 #50-1268
50-1268 #51-1298 51-1298 #54-1393 54-1393 #56-1443 56-1443 #56-1446 56-1446
#56-1447 56-1447 #56-1455 56-1455 #56-1461 56-1461 #59-1531 59-1531 #59-1537
59-1537 #59-1540 59-1540 #59-1548 59-1548 #60-1585 60-1585 #61-1618 61-1618
#61-1622 61-1622 #62-1643 62-1643 #62-1646 62-1646 #62-1647 62-1647 #62-1648
62-1648 #62-1651 62-1651 #62-1652 62-1652 #62-1659 62-1659 #65-1747 65-1747
#65-1751 65-1751 #65-1756 65-1756 #65-1760 65-1760 #66-1770 66-1770 #66-1783
66-1783 #66-1786 66-1786 #68-1858 68-1858 #70-1911 70-1911 #70-1920 70-1920
#70-1924 70-1924 #70-1931 70-1931 #70-1933 70-1933 #70-1940 70-1940 #73-2013
73-2013 #73-2014 73-2014 #73-2018 73-2018 #73-2027 73-2027 #73-2030 73-2030
#74-2044 74-2044 #74-2049 74-2049 #74-2051 74-2051 #76-2104 76-2104 #76-2107
76-2107 #76-2117 76-2117 #76-2124 76-2124 #79-2176 79-2176 #79-2177 79-2177
#79-2179 79-2179 #79-2184 79-2184 #81-2232 81-2232 #81-2236 81-2236 #83-2291
83-2291 #83-2295 83-2295 #83-2299 83-2299 #86-2344 86-2344 #86-2347 86-2347
#87-2397 87-2397 #87-2400 87-2400 #87-2403 87-2403 #89-2433 89-2433 #89-2437
89-2437 #89-2443 89-2443 #89-2447 89-2447 #89-2452 89-2452 #91-2513 91-2513
#91-2518 91-2518 #91-2524 91-2524 #91-2528 91-2528 #91-2534 91-2534 #93-2574
93-2574 #93-2577 93-2577 #93-2580 93-2580 #93-2586 93-2586 #93-2589 93-2589
#93-2594 93-2594 #93-2597 93-2597 #99-2820 99-2820 #99-2823 99-2823 #100-2833
100-2833 #100-2835 100-2835 #100-2837 100-2837 #100-2843 100-2843 #100-2848 100-2848
#100-2852 100-2852 #100-2855 100-2855 #106-3020 106-3020 #107-3071 107-3071 #107-3074
107-3074 #108-3106 108-3106 #108-3114 108-3114 #118-3459 118-3459 #125-3684 125-3684
#125-3687 125-3687 #125-3692 125-3692 #125-3695 125-3695 #125-3700 125-3700 #127-3744
127-3744 #127-3747 127-3747 #127-3752 127-3752 #128-3788 128-3788 #128-3792 128-3792
#130-3825 130-3825 #130-3835 130-3835 #130-3839 130-3839 #130-3842 130-3842 #130-3847
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 30
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
130-3847 #132-3885 132-3885 #132-3894 132-3894 #134-3943 134-3943 #134-3946 134-3946
#136-4022 136-4022 #136-4026 136-4026 #136-4029 136-4029 #136-4033 136-4033 #136-4036
136-4036 #139-4140 139-4140 #139-4148 139-4148 #140-4156 140-4156 #140-4162 140-4162
#143-4255 143-4255 #143-4256 143-4256 #143-4259 143-4259 #143-4263 143-4263 #143-4265
143-4265 #143-4267 143-4267 #143-4269 143-4269 #143-4273 143-4273 #143-4279 143-4279
#144-4302 144-4302 #144-4303 144-4303 #144-4306 144-4306 #144-4309 144-4309 #145-4318
145-4318 #145-4319 145-4319 #145-4321 145-4321 #145-4324 145-4324 #145-4328 145-4328
#145-4331 145-4331 #146-4349 146-4349 #146-4355 146-4355 #147-4391 147-4391 #147-4395
147-4395 #148-4429 148-4429 #149-4461 149-4461 #151-4514 151-4514 #151-4519 151-4519
#151-4521 151-4521 #151-4524 151-4524 #151-4526 151-4526 #151-4530 151-4530 #152-4577
152-4577 #154-4637 154-4637 #154-4642 154-4642 #154-4645 154-4645 #154-4646 154-4646
#154-4647 154-4647 #154-4650 154-4650 #160-4906 160-4906 #160-4909 160-4909 #160-4912
160-4912 #162-4954 162-4954 #162-4971 162-4971 #164-5020 164-5020 #164-5037 164-5037
#166-5083 166-5083 #167-5123 167-5123 #170-5191 170-5191 #170-5200 170-5200 #172-5248
172-5248 #206-106 206-106 #206-108 206-108 #206-110 206-110 #208-150 208-150
#208-151 208-151 #208-152 208-152 #210-220 210-220 #210-225 210-225 #210-230
210-230 #211-247 211-247 #214-337 214-337 #215-382 215-382 #215-383 215-383
#216-418 216-418 #216-419 216-419 #217-442 217-442 #217-448 217-448 #219-481
219-481 #225-190 225-190 #229-292 229-292 #229-302 229-302 #229-303 229-303
#229-312 229-312 #229-319 229-319 #229-320 229-320 #229-331 229-331 #229-332
229-332 #229-337 229-337 #229-338 229-338 #229-340 229-340 #229-341 229-341
#229-343 229-343 #229-345 229-345 #229-347 229-347 #229-349 229-349 #229-351
229-351 #229-353 229-353 #229-354 229-354 #229-356 229-356 #229-357 229-357
#229-358 229-358 #229-360 229-360 #229-361 229-361 #229-363 229-363 #229-366
229-366 #229-369 229-369 #229-375 229-375 #229-376 229-376 #229-379 229-379
#229-380 229-380 #229-394 229-394 #229-395 229-395 #229-397 229-397 #229-401
229-401 #229-407 229-407 #229-408 229-408 #229-413 229-413 #229-418 229-418
#229-425 229-425 #229-426 229-426 #229-429 229-429 #229-433 229-433 #229-439
229-439 #229-440 229-440 #229-447 229-447 #229-451 229-451 #229-457 229-457
#229-460 229-460 #229-464 229-464 #229-470 229-470 #229-471 229-471 #229-474
229-474 #229-478 229-478 #229-484 229-484 #229-490 229-490 #229-492 229-492
#229-494 229-494 #229-496 229-496 #229-497 229-497 #229-504 229-504 #229-515
229-515 #229-516 229-516 #229-523 229-523 #229-526 229-526 #229-532 229-532
#229-537 229-537 #229-540 229-540 #229-543 229-543 #229-546 229-546 #229-549
229-549 #229-553 229-553 #229-568 229-568 #229-571 229-571 #229-577 229-577
#229-584 229-584 #229-590 229-590 #229-595 229-595 #229-615 229-615 #229-617
229-617 #229-619 229-619 #229-630 229-630 #229-647 229-647 #229-652 229-652
#229-653 229-653 #229-655 229-655 #229-656 229-656 #229-658 229-658 #229-659
229-659 #229-660 229-660 #229-663 229-663 #229-665 229-665 #229-668 229-668
#229-678 229-678 #229-694 229-694 #229-698 229-698 #229-702 229-702 #229-707
229-707 #229-710 229-710 #229-711 229-711 #229-714 229-714 #229-721 229-721
#229-726 229-726 #229-727 229-727 #229-777 229-777 #229-878 229-878 #229-904
229-904 #229-905 229-905 #229-912 229-912 #229-932 229-932 #229-938 229-938
#229-946 229-946
$$$ARG = 000014 #229-135 229-135 #229-135 229-135 #229-135 229-135 #229-139 229-139 #229-139
229-139 #229-139 229-139 #229-150 229-150 #229-150 229-150 #229-150 229-150
#229-150 229-150 #229-150 229-150 #229-150 229-150 #229-150 229-150 #229-155
229-155 #229-155 229-155 #229-155 229-155 #229-155 229-155 #229-155 229-155
#229-155 229-155 #229-155 229-155
$$$GLB = ****** 20-106 20-106 20-106 20-106 20-106 20-106 20-106 20-106 176-5393
176-5393 176-5393 176-5393 176-5393 229-131 229-131 229-131 229-131 229-131
229-131 229-135 229-135 229-135 229-135 229-139 229-139 229-139 229-139
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 31
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
229-150 229-150 229-150 229-150 229-150 229-150 229-150 229-150 229-155
229-155 229-155 229-155 229-155 229-155 229-155 229-155
$$$OST = 000014 #20-106 20-106 20-106 #20-106 20-106 20-106 #20-106 20-106 20-106
#20-106 20-106 20-106 #20-106 20-106 20-106 #20-106 20-106 20-106
#20-106 20-106 20-106 #20-106 20-106 20-106 #20-106 #176-5393 176-5393
176-5393 #176-5393 176-5393 176-5393 #176-5393 176-5393 176-5393 #176-5393 176-5393
176-5393 #176-5393 #229-131 229-131 229-131 #229-131 229-131 229-131 #229-131
229-131 229-131 #229-131 229-131 229-131 #229-131 229-131 229-131 #229-131
#229-135 229-135 229-135 #229-135 229-135 229-135 #229-135 229-135 229-135
#229-135 #229-139 229-139 229-139 #229-139 229-139 229-139 #229-139 229-139
229-139 #229-139 #229-150 229-150 229-150 #229-150 229-150 229-150 #229-150
229-150 229-150 #229-150 229-150 229-150 #229-150 229-150 229-150 #229-150
229-150 229-150 #229-150 229-150 #229-155 229-155 229-155 #229-155 229-155
229-155 #229-155 229-155 229-155 #229-155 229-155 229-155 #229-155 229-155
229-155 #229-155 229-155 229-155 #229-155 229-155
$$$T1 = 000002 #229-131 229-131 229-131 229-131 #229-131 229-131 #229-135 229-135 229-135
#229-135 229-135 229-135 #229-135 229-135 229-135 #229-139 229-139 229-139
#229-139 229-139 229-139 #229-139 229-139 229-139
.ABORT 000204 RG #47-1130
.APRWD 000176 RG *107-3076 #179-5465
.BRCLK = 005000 #3-68 #229-69
.BRMBC 000234 RG #48-1173
.BURST 000242 RG #48-1176 74-2049 74-2049
.CECLK = 004000 #3-68 #229-69
.CESCK 000300 RG #49-1222 59-1531 59-1531 66-1783 66-1783 70-1924 70-1924 147-4391 147-4391
229-332 229-332
.CKEDM 001622 R 66-1770 66-1770 #67-1796
.CLDFB 007130 RG 89-2437 89-2437 100-2835 100-2835 143-4269 143-4269 #170-5190
.CLDFR 007134 RG #170-5192
.CLDFW 007144 RG 91-2524 91-2524 93-2580 93-2580 170-5191 170-5191 #170-5196
.CLIPE 000332 RG #50-1261
.CLKWD 000200 RG 91-2514 109-3129 145-4323 #179-5468
.CLRFF 000366 RG #51-1293 73-2014 73-2014 86-2344 86-2344 151-4519 151-4519
.CLRMR = 006000 #3-68 #229-69
.CLRUN = 010000 #3-68 #229-69
.CONBT = 012000 #3-68 #229-69
.CRAMA 000056 RG #178-5424
.CRAMR 000060 RG #178-5427
.CRAMW 000102 RG #178-5432
.CSHRG = 164000 #3-68 #229-69
.C5TA 015232 RG 225-190 225-190 #229-614
.DFBLK 000032 RG 68-1861 173-5273 173-5291 174-5309 #177-5401
.DFRB 000040 RG 153-4615 162-4960 170-5194 #177-5407
.DFWB 000032 RG *89-2440 *89-2449 *91-2526 *91-2532 93-2581 153-4621 164-5024 170-5198 #177-5402
177-5405 177-5410 177-5422
.DIAG1 = 000000 G #30-403
.DIAG2 = 000002 G #30-404 53-1350 53-1371
.DIAG3 = 000006 G #30-406 53-1358 53-1379
.DPADR 000124 RG 175-5373 #178-5437
.DPBFR 000130 RG 175-5374 #178-5440
.DPDPB 007334 RG 67-1817 67-1818 #175-5370
.DPKLM 001466 RG #65-1753
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 32
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.DPTRK 001160 RG #61-1621 65-1756 65-1756
.DRAMA 000150 R #178-5449
.DRAMR 000152 R #178-5452
.DRAMW 000160 RG #178-5455
.DREG 000046 RG *54-1387 54-1390 173-5273 173-5291 174-5309 174-5330 #177-5412
.DREGS = 000014 G #177-5410
.DRLTC = 015000 #3-68 #229-69
.DSACF = 066000 #3-68 #229-69
.DSIOJ = 065000 #3-68 #229-69
.DTAB 001656 R 65-1759 #67-1816
.DTDI1 000046 RG #177-5413
.DTDI2 000050 RG #177-5415
.DTDI3 000054 RG #177-5419
.DTDW1 000476 RG 20-121 20-121 49-1223 49-1223 #53-1366 70-1940 70-1940 73-2018 73-2018
74-2051 74-2051 86-2347 86-2347 151-4530 151-4530 229-303 229-303
.DTDW2 000504 RG 20-124 20-124 #53-1370
.DTDW3 000524 RG 20-130 20-130 #53-1378
.DTERD 000532 RG 53-1368 53-1372 53-1376 #54-1384
.DTEWR 000536 RG 53-1364 #54-1386
.DTSTA 000514 RG 20-127 20-127 #53-1374 60-1585 60-1585 70-1920 70-1920
.DTSTS 000052 RG #177-5417
.DTSTW = 000004 G #30-405 53-1354 53-1375
.DTTRK 000612 RG 54-1393 54-1393 #56-1439
.DWDW1 000422 RG #53-1345
.DWDW2 000430 RG #53-1349 146-4349 146-4349
.DWDW3 000450 RG #53-1357 146-4355 146-4355
.DWSTA 000440 RG #53-1353
.EBCLK 001006 RG #59-1529
.EBPCK 001122 RG #60-1584
.EBUSR = 000006 G #177-5405
.EDTRK 001170 RG 61-1620 #62-1630
.EIOJA = 067000 #3-68 #229-69
.ETAB 001646 R 65-1746 #67-1809
.EXADR 000136 RG 71-1970 175-5351 #178-5443
.EXBFR 000142 RG 71-1971 175-5352 #178-5446
.EXDPB 007322 RG 67-1810 67-1811 #175-5348
.EXDPM 001524 RG 65-1747 65-1747 65-1760 65-1760 #66-1767
.EXKLM 001432 RG #65-1744 70-1931 70-1931 70-1933 70-1933
.EXTRK 001146 RG #61-1617 65-1751 65-1751
.FMADR 000166 RG 128-3790 128-3794 #178-5458 229-566
.FMDAT 000170 RG #178-5461
.FREAD 006472 RG 59-1540 59-1540 100-2843 100-2843 106-3020 106-3020 107-3071 107-3071 108-3114
108-3114 118-3459 118-3459 125-3684 125-3684 125-3692 125-3692 125-3700 125-3700
127-3744 127-3744 130-3839 130-3839 132-3894 132-3894 134-3943 134-3943 136-4026
136-4026 136-4033 136-4033 140-4156 140-4156 #162-4956
.FRTRK 006214 RG #153-4612 162-4971 162-4971
.FWRIT 006566 RG 81-2236 81-2236 87-2400 87-2400 89-2443 89-2443 89-2452 89-2452 91-2528
91-2528 91-2534 91-2534 93-2589 93-2589 93-2597 93-2597 100-2837 100-2837
143-4273 143-4273 143-4279 143-4279 160-4912 160-4912 #164-5022
.FWTRK 006234 RG #153-4618 164-5037 164-5037
.FXCT 006666 RG 48-1182 48-1182 51-1298 51-1298 59-1537 59-1537 76-2107 76-2107 83-2295
83-2295 87-2403 87-2403 99-2820 99-2820 100-2848 100-2848 100-2855 100-2855
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 33
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
147-4395 147-4395 148-4429 148-4429 149-4461 149-4461 152-4577 152-4577 #166-5085
.FXTRK 006254 RG #153-4624 167-5123 167-5123
.GFNR = 102000 #3-68 #229-69
.INEXT 002142 R 70-1930 #71-1969
.INICL = 070000 #3-68 #229-69
.INIT 001666 RG #68-1857 229-292 229-292
.INKLF 001722 RG #70-1909
.IRLTC = 014000 #3-68 #229-69
.KLCON 002542 RG #83-2283
.KLDFR 007264 RG 153-4614 *162-4957 162-4958 #173-5290
.KLDFW 007276 RG 153-4620 *164-5023 164-5040 #174-5308
.KLDFX 007252 RG 153-4626 *166-5087 166-5088 #173-5272
.KLFLG = ****** GX *49-1229 *68-1866 70-1926 76-2122 81-2239 83-2285 *83-2308 86-2338 *99-2822
*100-2857 *151-4518 *151-4545 *152-4579 166-5095 *166-5097 166-5100 *166-5102 *166-5108
*166-5113
.KLGO 002550 RG 81-2240 #83-2286
.KLHLT 002146 RG #73-2012 79-2177 79-2177 81-2232 81-2232 86-2340 87-2397 87-2397 229-338
229-338
.KLIWD = ****** GX 229-288
.KLRLD = ****** GX 229-286
.KLRSN 000000 RG #20-100 229-494 229-494
.KLRST 002300 RG #76-2095
.KLST 002434 RG #79-2173 81-2230
.KLSTN 002502 RG 79-2175 #81-2228
.KLSTP 002646 RG 47-1132 47-1132 #86-2337
.KLXCT 002734 RG #87-2396
.LCRDL = 052000 #3-68 #229-69
.LCRDR = 051000 #3-68 #229-69
.LCRM1 = 057000 #3-68 #229-69
.LCRM2 = 056000 #3-68 #229-69
.LCRM3 = 055000 #3-68 #229-69
.LCRM4 = 054000 #3-68 #229-69
.LCRM5 = 053000 #3-68 #229-69
.LDAR = 077000 #3-68 #229-69
.LDBRC 002766 RG #89-2432
.LDBRG 002774 RG 48-1179 48-1179 #89-2435
.LDBRL = 043000 #3-68 #229-69
.LDBRR = 042000 #3-68 #229-69
.LDCK1 = 046000 #3-68 #229-69
.LDCK2 = 047000 #3-68 #229-69
.LDCLK 003074 RG #91-2512 143-4263 143-4263 144-4306 144-4306 145-4328 145-4328
.LDCPC 003126 RG 91-2516 #91-2522
.LDCRA 003200 RG #93-2573 151-4524 151-4524
.LDDIS = 045000 #3-68 #229-69
.LDPAR 003112 RG 50-1268 50-1268 #91-2517 143-4265 143-4265 144-4309 144-4309 145-4331 145-4331
.LDRJD = 064000 #3-68 #229-69
.LDRJV = 063000 #3-68 #229-69
.LDRM1 = 060000 #3-68 #229-69
.LDRM2 = 061000 #3-68 #229-69
.LDRM3 = 062000 #3-68 #229-69
.LDSEL = 044000 #3-68 #229-69
.LDZER 011706 RG *56-1440 *62-1644 *62-1649 *154-4636 #229-175
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 34
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.MEMRS = 076000 #3-68 #229-69
.MRCLR 003320 RG #99-2817 143-4267 143-4267
.MTDPB 007346 R 51-1295 #176-5392
.NOERR = ****** GX *229-291
.OKLF 011706 RG 76-2097 76-2109 #229-174
.PCAB1 = 150000 #3-68 #229-69
.PCAB2 = 151000 #3-68 #229-69
.PCAB3 = 152000 #3-68 #229-69
.PCAB4 = 153000 #3-68 #229-69
.PEWRD 000202 RG 132-3888 #179-5471
.PITAB 000010 RG 134-3939 #134-3958 134-3969
.PSCWD 000204 RG 50-1266 91-2519 109-3135 145-4323 #179-5474
.RCRM1 = 147000 #3-68 #229-69
.RCRM2 = 146000 #3-68 #229-69
.RCRM3 = 145000 #3-68 #229-69
.RCRM4 = 144000 #3-68 #229-69
.RCSPF = 141000 #3-68 #229-69
.RDADR 004074 RG #118-3431
.RDADX 004102 RG #118-3434
.RDALL 003506 R 20-134 20-134 #106-3011
.RDAPR 003602 RG #107-3067
.RDARR 004110 RG #118-3437
.RDARX 004116 RG #118-3440
.RDBRR 004124 RG #118-3443
.RDBRX 004132 RG #118-3446
.RDCPP 003646 RG #108-3105 145-4321 145-4321
.RDCRA 004736 RG #135-4000
.RDCRL 004744 RG #135-4003
.RDDPB 004160 RG 118-3433 118-3436 118-3439 118-3442 118-3445 118-3448 118-3451 118-3454 #118-3458
.RDDRA 004752 RG 130-3825 130-3825 #135-4006
.RDEBS 004140 RG #118-3449
.RDFER 004760 RG #135-4009
.RDFLG 004166 RG #125-3679
.RDFMA 004320 RG #127-3740 128-3788 128-3788
.RDFMO 004410 RG #128-3785 229-358 229-358
.RDFMR 004146 RG #118-3452 128-3792 128-3792
.RDIPE 004566 RG 20-118 20-118 50-1263 50-1263 #132-3884 229-361 229-361
.RDIRR 004446 RG #130-3823
.RDJ14 = 134000 #3-68 #229-69
.RDJ71 = 135000 #3-68 #229-69
.RDMAB = 133000 #3-68 #229-69
.RDMQR 004154 RG #118-3455
.RDPI 004654 RG #134-3936 229-354 229-354
.RDSBR 004766 RG #135-4012
.RDSCR 004774 RG #135-4015
.RDSMR 005000 RG 135-4002 135-4005 135-4008 135-4011 135-4014 #136-4021
.RDVAB 005200 RG #139-4129
.RDVMA 005206 RG #139-4132 229-343 229-343
.RDVMH 005214 RG #139-4135
.RDVMR 005220 RG 139-4128 139-4131 139-4134 #139-4137
.RDVPC 005172 RG #139-4126 229-349 229-349
.REGRW 007310 RG *53-1346 *53-1350 *53-1354 *53-1358 *53-1360 53-1361 53-1362 *53-1367 *53-1371
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 35
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
*53-1375 *53-1379 *54-1385 54-1388 56-1444 56-1448 56-1453 56-1457 #174-5326
.RESET 005374 RG #143-4254 144-4303 144-4303 145-4324 145-4324
.RESTD 005650 RG 66-1786 66-1786 143-4256 143-4256 #146-4342
.RESTI 005516 RG #144-4301
.RESTP 005554 RG 79-2179 79-2179 93-2577 93-2577 #145-4317
.SECLK = 003000 #3-68 #229-69
.SETMR = 007000 #3-68 #229-69
.SETRN = 011000 #3-68 #229-69
.SHIFT 007162 RG 89-2447 89-2447 130-3835 130-3835 130-3847 130-3847 #171-5207 229-707 229-707
.SSCLK = 002000 #3-68 #229-69
.STCLK 005700 RG 76-2124 76-2124 83-2299 83-2299 99-2823 99-2823 #147-4389 151-4526 151-4526
.STFLG 000206 RG 79-2174 81-2229 #179-5477
.STPCL = 000000 #3-68 #229-69
.STPXC 005734 RG 48-1174 48-1174 73-2027 73-2027 74-2044 74-2044 89-2433 89-2433 100-2833
100-2833 143-4259 143-4259 145-4319 145-4319 #148-4423 151-4521 151-4521 160-4906
160-4906
.STRCL = 001000 #3-68 #229-69
.STRUN 005772 RG 76-2104 76-2104 76-2117 76-2117 83-2291 83-2291 #149-4457
.STUCD 006020 RG 47-1137 47-1137 #151-4513
.SYNXC 006156 RG 59-1548 59-1548 73-2030 73-2030 100-2852 100-2852 #152-4573 160-4909 160-4909
.TRACK 006270 RG 153-4617 153-4623 #154-4635
.TRKWD 011706 RG 54-1391 65-1749 65-1754 162-4969 164-5035 167-5121 #229-176
.WRAR1 006444 RG #160-4908
.WRMBX = 071000 #3-68 #229-69
.WRTAR 006436 RG 79-2184 79-2184 #160-4905
.XFRCK 007036 RG 162-4954 162-4954 #169-5155
.XFRED 006464 RG #162-4953
.XFWCK 007054 RG 164-5020 164-5020 #169-5162
.XFWRT 006560 RG #164-5019
.XFXCK 007072 RG 166-5083 166-5083 #169-5169
.XFXCT 006660 RG #166-5082
...KLI 010434 R #229-131 229-290
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 36
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
ALUN$ #3-61 #229-66 #229-135 #229-139
CALL #3-65 20-118 20-121 20-124 20-127 20-130 20-134 47-1132 47-1137 48-1174
48-1179 48-1182 49-1223 50-1263 50-1268 51-1298 54-1393 56-1443 56-1446 56-1447
56-1455 56-1461 59-1531 59-1537 59-1540 59-1548 60-1585 61-1618 61-1622 62-1643
62-1646 62-1647 62-1648 62-1651 62-1652 62-1659 65-1747 65-1751 65-1756 65-1760
66-1770 66-1783 66-1786 68-1858 70-1911 70-1920 70-1924 70-1931 70-1933 70-1940
73-2013 73-2014 73-2018 73-2027 73-2030 74-2044 74-2049 74-2051 76-2104 76-2107
76-2117 76-2124 79-2176 79-2177 79-2179 79-2184 81-2232 81-2236 83-2291 83-2295
83-2299 86-2344 86-2347 87-2397 87-2400 87-2403 89-2433 89-2437 89-2443 89-2447
89-2452 91-2513 91-2518 91-2524 91-2528 91-2534 93-2574 93-2577 93-2580 93-2586
93-2589 93-2594 93-2597 99-2820 99-2823 100-2833 100-2835 100-2837 100-2843 100-2848
100-2852 100-2855 106-3020 107-3071 107-3074 108-3106 108-3114 118-3459 125-3684 125-3687
125-3692 125-3695 125-3700 127-3744 127-3747 127-3752 128-3788 128-3792 130-3825 130-3835
130-3839 130-3842 130-3847 132-3885 132-3894 134-3943 134-3946 136-4022 136-4026 136-4029
136-4033 136-4036 139-4140 139-4148 140-4156 140-4162 143-4255 143-4256 143-4259 143-4263
143-4265 143-4267 143-4269 143-4273 143-4279 144-4302 144-4303 144-4306 144-4309 145-4318
145-4319 145-4321 145-4324 145-4328 145-4331 146-4349 146-4355 147-4391 147-4395 148-4429
149-4461 151-4514 151-4519 151-4521 151-4524 151-4526 151-4530 152-4577 154-4637 154-4642
154-4645 154-4646 154-4647 154-4650 160-4906 160-4909 160-4912 162-4954 162-4971 164-5020
164-5037 166-5083 167-5123 170-5191 170-5200 172-5248 206-106 206-108 206-110 208-150
208-151 208-152 210-220 210-225 210-230 211-247 214-337 215-382 215-383 216-418
216-419 217-442 217-448 219-481 225-190 #229-66 229-292 229-302 229-303 229-312
229-319 229-320 229-331 229-332 229-337 229-338 229-340 229-341 229-343 229-345
229-347 229-349 229-351 229-353 229-354 229-356 229-357 229-358 229-360 229-361
229-363 229-366 229-369 229-375 229-376 229-379 229-380 229-394 229-395 229-397
229-401 229-407 229-408 229-413 229-418 229-425 229-426 229-429 229-433 229-439
229-440 229-447 229-451 229-457 229-460 229-464 229-470 229-471 229-474 229-478
229-484 229-490 229-492 229-494 229-496 229-497 229-504 229-515 229-516 229-523
229-526 229-532 229-537 229-540 229-543 229-546 229-549 229-553 229-568 229-571
229-577 229-584 229-590 229-595 229-615 229-617 229-619 229-630 229-647 229-652
229-653 229-655 229-656 229-658 229-659 229-660 229-663 229-665 229-668 229-678
229-694 229-698 229-702 229-707 229-710 229-711 229-714 229-721 229-726 229-727
229-777 229-878 229-904 229-905 229-912 229-932 229-938 229-946
CALLR #4-83
CLEF$S #3-63
CPERR #4-98 224-52 224-53 224-54 224-55 224-56 224-57 224-59 224-60 224-62
224-63 224-64 224-65 224-66 224-67 224-68 224-69 224-70 224-72 224-73
224-74 224-75 224-76 224-78 224-79 224-80 224-81 224-82 224-83 224-84
224-86 224-87 224-88 224-90 224-91 224-92 224-93 224-94 224-95 224-96
224-97 224-98 224-100 224-101 224-102 224-103 224-104 224-105 224-107 224-108
224-110 224-112 224-114 224-115 224-116 224-118 224-120 224-121 224-122 224-124
224-126 224-128 224-130
DIR$ #20-106 #20-106 #51-1295 #54-1388 #66-1777 #70-1910 #70-1910 #148-4425 #148-4425 #162-4958
#164-5040 #166-5088 #229-67 #229-290 #229-295 #229-296 #229-783 #229-916 #229-918 #229-918
#229-947 #229-947
ERROR$ #4-87 #48-1185 #49-1227 #51-1301 #54-1396 #59-1554 #60-1589 #67-1802 #71-1960 #71-1966
#74-2057 #86-2355 #115-3356 #140-4174 #147-4397 #148-4432 #149-4464 #151-4541 #152-4582 #162-4977
#164-5042 #167-5129 #169-5178 #169-5181
ERR$ #20-106 #51-1295 #54-1388 #66-1777 #70-1910 #148-4425 #162-4958 #164-5040 #166-5088 #229-290
#229-295 #229-296 #229-783 #229-916 #229-918 #229-947
EXIT$S #3-63 #229-67 229-947
GSSW$ #3-62
KLERR CREATED BY MACRO ON 13-JAN-78 AT 15:52 PAGE 37
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
GTIM$S #20-99 20-106 #229-66
IO10$ #17-697
I10$ #16-668
KLDR$ #3-64 173-5291
KLDW$ #3-64 174-5309
KLDX$ #3-64 #173-5273
KLEVR$ #228-38 229-197 229-197
MOV$ #20-106 20-106 #70-1910 70-1910 #148-4425 148-4425 #229-918 229-918
MRKT$ #3-66 176-5393
NBL$ #229-135 #229-135 #229-139 #229-139
OFF$ #20-106 20-106 20-106 20-106 20-106 20-106 20-106 20-106 20-106 #176-5393
176-5393 176-5393 176-5393 176-5393 176-5393 #229-131 229-131 229-131 229-131 229-131
229-131 229-131 #229-135 229-135 229-135 229-135 229-135 #229-139 229-139 229-139
229-139 229-139 #229-150 229-150 229-150 229-150 229-150 229-150 229-150 229-150
229-150 #229-155 229-155 229-155 229-155 229-155 229-155 229-155 229-155 229-155
POP #3-65 #20-107 #20-151 #47-1141 #50-1270 #51-1303 #56-1462 #59-1557 #62-1660 #65-1762
#76-2130 #76-2132 #83-2310 #86-2358 #89-2455 #100-2860 #106-3027 #106-3032 #107-3079 #109-3152
#125-3708 #127-3759 #128-3796 #130-3853 #134-3953 #147-4399 #148-4434 #149-4466 #151-4547 #152-4584
#154-4652 #154-4657 #167-5125 #170-5202 #171-5220 #172-5252 #206-111 #208-153 #210-232 #210-233
#210-237 #211-248 #211-249 #212-285 #217-450 #225-185 #229-66 #229-623 #229-712 #229-879
PRDP$ #3-64
PREX$ #3-64
PUSH #3-65 #20-101 #20-105 #47-1131 #50-1262 #51-1296 #56-1441 #59-1530 #62-1631 #65-1745
#65-1758 #68-1859 #70-1912 #76-2096 #79-2186 #81-2231 #83-2284 #86-2342 #89-2436 #93-2576
#99-2818 #106-3012 #106-3013 #107-3068 #108-3107 #125-3680 #127-3741 #127-3748 #128-3786 #130-3824
#130-3836 #134-3937 #136-4031 #139-4145 #145-4323 #147-4393 #148-4426 #149-4459 #151-4517 #152-4575
#153-4613 #153-4614 #153-4615 #153-4619 #153-4620 #153-4621 #153-4625 #153-4626 #166-5086 #170-5193