Trailing-Edge
-
PDP-10 Archives
-
BB-H311B-RM
-
rsx20f-swskit/listings/klerr.lis
There is 1 other file named klerr.lis in the archive. Click here to see a list.
KLERR - KL10 ERROR RECORDER MACRO M1110 26-JUL-79 09:22
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 .EXCTF -- FAST INTERNAL EXECUTE
65- 1750 *.EXDPM -- KL10 MEMORY EXAMINE / DEPOSIT SUBROUTINE* 7601.09
69- 1884 *.INIT -- INITIALIZATION SUBROUTINE* 7509.26
70- 1932 *.INKLF -- SUBROUTINE TO SET UP KL10 STATE WORD* 7601.09
73- 2034 *.KLHLT -- SUBROUTINE TO STOP THE KL10 IN THE HALT LOOP* 7601.09
76- 2123 *.KLRST -- SUBROUTINE TO RESTART THE KL10* 7512.22
79- 2197 *.KLST -- START KL10 SUBROUTINE* 7601.02
81- 2252 *.KLSTN -- SUBROUTINE TO START THE KL10* 7512.08
83- 2303 *.KLCON -- KL10 CONTINUE SUBROUTINE* 7512.10
85- 2374 *.KLSTP -- SUBROUTINE TO GET THE KL10 INTO THE HALT LOOP* 7512.19
88- 2422 *.KLXCT -- KL10 INSTRUCTION EXECUTE SUBROUTINE* 7509.10
89- 2468 *.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE* 7601.02
91- 2520 *.LDCPC -- KL10 CLOCK AND PARITY LOAD SUBROUTINES* 7509.30
93- 2602 *.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE* 7511.19
100- 2840 *.MRCLR -- KL10 MASTER RESET SUBROUTINE* 7511.06
106- 3050 *.RDALL -- SUBROUTINE TO EXECUTE 100 FUNCTION READS* 7511.24
108- 3096 *.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL10 APR* 7509.24
109- 3143 *.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES* 7510.09
118- 3461 *.RDDPB -- SUBROUTINES TO READ THE KL10 DATA PATH BOARDS* 7509.23
125- 3696 *.RDFLG -- SUBROUTINE TO READ THE KL10 PC FLAGS* 7511.24
127- 3772 *.RDFMA -- SUBROUTINE TO READ THE KL10 FM ADDRESS* 7511.14
129- 3823 *.RDFMO -- SUBROUTINE TO READ KL10 FAST MEMORY OUTPUT* 7511.06
130- 3860 .RDFMP -- READ FM PARITY ERROR BIT
131- 3899 *.RDIRR -- SUNROUTINE TO READ THE KL10 IR REGISTER* 7510.04
133- 3956 *.RDIPE -- READ KL10 PARITY ERROR FLAGS* 7511.13
135- 4009 *.RDPI -- SUBROUTINE TO READ THE PI BOARDS* 7510.16
137- 4073 *.RDSMR -- SUBROUTINE TO READ SMALL KL10 REGISTERS 7511.05
140- 4195 *.RDVXX -- KL10 VMA BOARD READ SUBROUTINES* 7510.21
143- 4297 *.RESET -- KL10 RESET SUBROUTINES* 7511.18
146- 4397 *.RSETI -- RESET KL10 AND ENABLE NORMAL CLOCK AND PARITY* 7511.19
147- 4413 *.RESTP -- RESET KL10 AND SAVE CURRENT CLOCK AND PARITY* 7511.19
148- 4438 *.RESTD -- RESET THE DTE-20* 7511.19
149- 4468 .RSSWP -- RESET PARITY STOPS FOR FM SWEEP
150- 4516 .SACBK -- SET AC BLOCK
151- 4584 *.STCLK -- START KL10 CLOCK SUBROUTINE* 7509.12
152- 4620 *.STPXC -- STOP KL10 CLOCK SUBROUTINE* 7601.09
153- 4654 *.STRUN -- SET KL10 RUN FLOP SUBROUTINE* 7601.09
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22
TABLE OF CONTENTS
154- 4686 *.STUCD -- START KL10 MICROCODE SUBROUTINE* 7511.22
156- 4769 .SWPAC -- SWEEP ALL AC BLOCKS FOR FM PARITY ERROR
157- 4875 *.SYNXC -- SYNCH EBOX CLOCK SUBROUTINE* 7509.03
158- 4911 *.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE* 7512.09
160- 4990 .TYACE -- TYPE AC ADDR AND CONTENTS
166- 5262 *.WRTAR -- SUBROUTINE TO WRITE THE KL10 AR REGISTER 7511.05
167- 5309 *.XFRED -- DIAGNOSTIC FUNCTION READ SUBROUTINE* 7511.19
169- 5374 *.XFWRT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE* 7511.19
171- 5439 *.XFXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE* 7601.09
174- 5525 *.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS* 7509.26
176- 5579 *GENERAL SUPPORT SUBROUTINES* 7508.26
178- 5617 *REGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE* 7509.16
179- 5648 *DIRECTIVE PARAMETER BLOCKS* 7508.20
183- 5788 *PROGRAM STORAGE* 7508.20
207- 2 KLNUM -- TITLE PAGE
209- 52 EDIT HISTORY/RAB 7511.14
210- 64 KLADD ADD TWO KL NUMBERS
211- 90 KLSUB SUBTRACT ROUTINES
212- 115 VARIOUS UTILITY ROUTINES/RAB 7509.05
214- 164 16 & 36 BIT MANIPULATION ROUTINES
215- 208 KLMULI - MULTIPLY 36 BITS BY 16 BITS
216- 241 KLDIVI - DIVIDE 36 BITS BY 16 BITS
217- 256 MORE 16 & 36 BIT MANIPULATION
219- 311 KL10 LOGICAL OPERATOR SIMULATIONS
220- 344 MORE KL10 LOGICAL OPERATORS
221- 387 MORE MISC KL FUNCTIONS/RAB 7509.19
222- 423 KLLSH - SHIFT A KL NUMBER
223- 455 KLCLR - CLEAR A KL FORMAT NUMBER
224- 474 KLRSH SHIFT A NUMBER RIGHT
226- 2 KLPERR -- TITLE PAGE
227- 33 *ERROR SEVERITY RANGES* 7509.08
228- 47 ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509.08
229- 147 PRTERR -- COMMAND PARSER ERROR DECODER
232- 106 DIRECTORY FILE NAME BLOCK
232- 120 KLERRO.SNP FILE NAME BLOCK
232- 125 FILE ID BLOCK
232- 129 FILE ATTRIBUTE CONTROL BLOCK
232- 140 START UP KLINIT
232- 144 ASSIGN LUN1 TO CTY #0
232- 148 ASSIGN LUN2 TO SY #0
232- 158 DPB FOR READ/WRITE VIRTUAL BLOCK FROM/TO FE DEVICE
232- 163 DPB FOR READ/WRITE MESSAGE FROM/TO CTY0
233- 191 INFORMATIONAL MESSAGES OUTPUT BY KLERR
233- 278 ERROR MESSAGES OUTPUT BY KLERR
234- 301 ASSIGN LOGICAL UNIT NUMBER (LUN) TO SYS DEVICE
234- 315 OUTPUT KLERR RUNNING MSG
234- 332 HALT -10, GET PC, PI, AND ERROR CODE
234- 409 FIND DIRECTORY FILE FROM MASTER FILE DIRECTORY
234- 422 ROUTINE TO FIND FILE ID FOR KLERRO.SNP FILE
234- 439 ROUTINE TO CREATE KLERRO.SNP FILE
234- 454 ROUTINE TO ENTER FILE NAME INTO DIRECTORY
234- 472 ROUTINE TO ACCESS FOR EXTEND FOR KLERRO.SNP
234- 485 ROUTINE TO EXTEND KLERRO.SNP FILE
234- 499 ROUTINE TO WRITE A RECORD
234- 550 SUBROUTINE TO PRINT ERROR HALT MSG
234- 609 SUBROUTINE TO SET UP ERROR CODE
234- 634 CONVERT RAD50 TO ASCII
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22
TABLE OF CONTENTS
234- 666 SUBROUTINE TO SET UP PC
234- 697 SUBROUTINE TO SET UP PI
234- 746 SUBROUTINE TO SET UP FILE NAME
235- 763 ROUTINE TO HANDLE QIO READ AND FILE PRIMITIVES
236- 816 ROUTINE TO HANDLE QIO WRITE AND FILE PRIMITIVES
237- 907 ROUTINE TO READ/WRITE FROM/TO CTY 0
237- 989 COMMON ERROR AND EXIT ROUTINE
238- 994 TYPE-OUT DTE REGISTERS
238- 1105 OCTAL FORMAT TYPE-OUT
238- 1130 CONVRT
238- 1159 COUNT LENGTH OF ASCII STRING
239- 1182 SYBOLIC STATUS TYPE-OUT
240- 1228 SYMBOLIC DEX WORD TYPE-OUT
240- 1265 KL NUMBER TYPE-OUT
241- 1300 SYMBOLIC TENAD TYPE-OUT
241- 1413 KL ADDR TYPE-OUT
242- 1440 SYMBOLIC DIAG1 TYPE-OUT
243- 1481 SYMBOLIC DIAG3 TYPE-OUT
KLERR - KL10 ERROR RECORDER MACRO M1110 26-JUL-79 09:22 PAGE 1
1 .TITLE KLERR - KL10 ERROR RECORDER
2 .IDENT /003000/
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: 03-00
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 000003 KLE$$V = 3 ; VERSION 3
33 000000 KLE$$E = 0 ; EDIT 0
34 ;
35 ; RELEASE VERSION
36 ;
37 000126 KLE$$K = 'V ; KEY FOR RELEASE
KLERR - KL10 ERROR RECORDER MACRO M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 PAGE 18
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10
719
KLESUB - CREATE SNAPSHOT RECOR MACRO M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 004734' 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 003620' JSR PC,.RDALL
KLESUB - CREATE SNAPSHOT RECOR MACRO M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 002760' 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 006314' 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 M1110 26-JUL-79 09:22 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 006230' 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 003106' 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 007606' 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 004734' 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 003224' 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 M1110 26-JUL-79 09:22 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 010266' 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 007606' 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 PAGE 53
*.DTERW -- DTE20 REGISTER READ / WRITE SUBROUTINES* 7601.09
1345 000422 .DWDW1:: ; DIAG WORD 1 WRITE ENTRY
1346 000422 105037 010233' 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 010233' 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 010233' 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 010233' MOVB #.DIAG3,.REGRW+3; SET DIAG WORD 3 OFFSET
1359 000456 DTWRTC: ; COMMON WRITE CODE
1360 000456 010037 010234' MOV R0,.REGRW+4 ; SET THE DATA POINTER IN THE DPB
1361 000462 113700 010233' MOVB .REGRW+3,R0 ; GET THE REGISTER OFFSET
1362 000466 046077 000602' 007540 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 010233' 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 010233' 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 010233' 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 010233' MOVB #.DIAG3,.REGRW+3; SET THE OFFSET FOR DIAG WORD 3
1380 ; FALL INTO THE READ CODE
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 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 010234' 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 010230' 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 012630' 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 PAGE 56
*.DTTRK -- SUBROUTINE TO TRACK DTE20 OPERATIONS* 7512.11
1439 000612 .DTTRK::
1440 000612 012737 177777 012630' 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 017530' JSR PC,TYPASZ
1444 000632 113700 010233' 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 017530' JSR PC,TYPASZ
1447 000646 CALL TYPTAB ; .NOW A <TAB>
000646 004737 017460' JSR PC,TYPTAB
1448 000652 005737 010234' 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 007344 MOV @.REGRW+4,R0 ; .GET WRITTEN DATA
1454 000670 DTTRK2:
1455 000670 CALL EVTYP ; .PRINT THE DATA
000670 004737 017530' JSR PC,EVTYP
1456 000674 012700 000776' MOV #DRDMSG,R0 ; .READ MESSAGE POINTER TO R0
1457 000700 005737 010234' 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 017530' 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 007606' 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 007412' 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 006732' 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 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 010134' 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 010134' 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 M1110 26-JUL-79 09:22 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 017530' JSR PC,TYPASZ
1644 001232 005037 012630' 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 017530' JSR PC,KLNTYP
1647 001246 CALL TYPSLS ; .TYPE A SLASH
001246 004737 017514' JSR PC,TYPSLS
1648 001252 CALL TYPTAB ; .AND A <TAB>
001252 004737 017460' JSR PC,TYPTAB
1649 001256 012737 177777 012630' MOV #-^D1,.LDZER ; .PRINT LEADING ZEROES
1650 001264 012700 001334' MOV #TRDATA,R0 ; .POINT TO DATA
1651 001270 CALL KLNTYP ; .PRINT IT
001270 004737 017530' JSR PC,KLNTYP
1652 001274 CALL TYPTAB ; .AND A <TAB>
001274 004737 017460' 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 017530' 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 M1110 26-JUL-79 09:22 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 M1110 26-JUL-79 09:22 PAGE 64
.EXCTF -- FAST INTERNAL EXECUTE
1689 .SBTTL .EXCTF -- FAST INTERNAL EXECUTE
1690
1691 ;+
1692 ; .EXCTF -- FST INTERNAL EXECUTE.
1693 ;
1694 ; THIS SUBROUTINE WILL EXECUTE A KL INSTRUCTION WITHOUT
1695 ; CLOCKING THE KL OUT THE HALT LOOP; THE KL IS SIMPLY
1696 ; CONTINUED
1697 ;
1698 ; INPUT ARGUMENTS:
1699 ;
1700 ; R0-PTR TO INSTR BUFFER
1701 ;
1702 ; OUTPUT ARGUMENTS:
1703 ;
1704 ; NONE.
1705 ;
1706 ; ERROR CODES RETURNED:
1707 ;
1708 ; CCC -- CAN'T CLEAR KL10 CLOCK
1709 ; CCR -- CAN'T CLEAR KL10 RUN FLOP
1710 ; CCS -- KL10 CLOCK CAN'T START
1711 ; CES -- CLOCK ERROR STOP
1712 ; CFH -- CAN'T FIND KL10 HALT LOOP
1713 ; CSC -- CAN'T SYNC KL10 CLOCK
1714 ; DSF -- DTE20 STATUS FAILURE
1715 ; ECT -- EBOX CLOCK TIME OUT
1716 ; FRF -- FUNCTION READ FAILED
1717 ; FWF -- FUNCTION WRITE FAILED
1718 ; FXF -- FUNCTION EXECUTE FAILED
1719 ; XTO -- EXECUTE TIMED OUT
1720 ;
1721 ;-
1722
1723 001432 .EXCTF::
1724
1725 001432 022020 CMP (R0)+,(R0)+ ; ADVANCE THE POINTER
1726 001434 PUSH <(R0),-(R0),-(R0)>
001434 011046 MOV (R0),-(SP)
001436 014046 MOV -(R0),-(SP)
001440 014046 MOV -(R0),-(SP)
1727 001442 010600 MOV SP,R0 ;POINT TO STACKED INSTRUCTION
1728 001444 010001 MOV R0,R1 ;POINTER TO R1
1729 001446 CALL .KLXCT ;START THE EXECUTE
001446 004737 003046' JSR PC,.KLXCT
1730 001452 103431 BCS 30$ ;ERROR
1731 001454 10$: CALL .EBCLK ;GIVE ONE EBOX CLOCK
001454 004737 001006' JSR PC,.EBCLK
1732 001460 103426 BCS 30$ ;ERROR
1733 001462 CALL .DTDW1 ;READ DTE-20 DIAG WORD 1
001462 004737 000476' JSR PC,.DTDW1
1734 001466 103423 BCS 30$ ;ERROR
1735 001470 032700 001000 BIT #D1.HLP,R0 ;IS THE HALT LOOP UP?
1736 001474 001367 BNE 10$ ;YES -- WAIT TILL IT ISN'T
1737 001476 CALL .STCLK ;OUT OF HALT LOOP -- START THE CLOCK
001476 004737 006174' JSR PC,.STCLK
1738 001502 103415 BCS 30$ ;ERROR
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 64-1
.EXCTF -- FAST INTERNAL EXECUTE
1739 001504 012701 005000 MOV #5000,R1 ;WAIT COUNT TO R1
1740 001510 20$: CALL .DTDW1 ;READ DTE-20 DIAG WORD 1
001510 004737 000476' JSR PC,.DTDW1
1741 001514 103410 BCS 30$ ;ERROR
1742 001516 032700 001000 BIT #D1.HLP,R0 ;LOOK FOR THE HALT LOOP AGAIN
1743 001522 001005 BNE 30$ ;IN THE HALT LOOP -- FINISH UP
1744 001524 SOB R1,20$ ;NOT YET -- TRY AGAIN
001524 005301 DEC R1
001526 001370 BNE 20$
1745 001530 ERROR$ XTO ;EXECUTE TIMED OUT
001530 012700 MOV (PC)+,R0 ; MOVE .RAD50 ERROR CODE TO R0
001532 114457 .RAD50 /XTO/ ; "XTO" ERROR CODE IN .RAD50
1746 001534 000261 SEC ;SET CARRY
1747 001536 062706 000006 30$: ADD #6,SP ;RESET THE STACK
1748 001542 RETURN
001542 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 65
*.EXDPM -- KL10 MEMORY EXAMINE / DEPOSIT SUBROUTINE* 7601.09
1750 .SBTTL *.EXDPM -- KL10 MEMORY EXAMINE / DEPOSIT SUBROUTINE* 7601.09
1751
1752 ;+
1753 ; .EXKLM -- SUBROUTINE TO EXAMINE KL10 MEMORY.
1754 ; .DPKLM -- SUBROUTINE TO DEPOSIT KL10 MEMORY.
1755 ;
1756 ; THIS SUBROUTINE EXAMINES OR DEPOSITS ONE LOCATION OF KL10 MEMORY.
1757 ;
1758 ; CALLING SEQUENCE IS:
1759 ;
1760 ; MOV #TYPE,R0 ; ADDRESS SPACE CODE
1761 ; MOV #PNTR,R1 ; POINTER TO USER DATA BLOCK
1762 ; CALL .EXKLM (.DPKLM) ; EXAMINE (DEPOSIT) KL10 MEMORY
1763 ; BCS ERROR ; ERROR IF C-BIT IS SET
1764 ;
1765 ; R0 MUST CONTAIN ONE OF THE FOLLOWING ADDRESS SPACE CODES:
1766 ;
1767 ; (A) ED.EPT (000) EXEC PROCESS TABLE (RELATIVE),
1768 ; (B) ED.EXV (040) EXEC VIRTUAL ADDRESS SPACE,
1769 ; (C) ED.UPT (100) USER PROCESS TABLE (RELATIVE),
1770 ; (D) ED.USV (140) USER VIRTUAL ADDRESS SPACE,
1771 ; (E) ED.PHY (200) PHYSICAL ADDRESS SPACE.
1772 ;
1773 ; THERE ARE NO DEFAULTS
1774 ;
1775 ; R1 MUST CONTAIN A POINTER TO A TWO WORD POINTER BLOCK OF THE FORM:
1776 ;
1777 ; !===================================!
1778 ; 00 ! POINTER TO KL10 ADDRESS !
1779 ; !-----------------------------------!
1780 ; 02 ! POINTER TO KL10 DATA !
1781 ; !===================================!
1782 ;
1783 ; THE KL10 ADDRESS POINTER MUST POINT TO A TWO WORD BLOCK OF THE FORM:
1784 ;
1785 ; !===================================!
1786 ; 00 ! KL10 ADDRESS 20 - 35 !
1787 ; !-----------------------------------!
1788 ; 02 ! KL10 ADDRESS 19 - 14 !
1789 ; !===================================!
1790 ;
1791 ; THE KL10 DATA POINTER POINTS TO A TRIPLET IN DEXWORD FORMAT.
1792 ;
1793 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, AND IS UNDEFINED
1794 ; ON SUCCESS, ALL OTHER REGISTERS UNALTERED.
1795 ;
1796 ; ERROR CODES RETURNED:
1797 ;
1798 ; ESD -- EBOX STOPPED - DEPOSIT.
1799 ; ESE -- EBOX STOPPED - EXAMINE.
1800 ; EMF -- EXAMINE KL10 MEMORY FAILED.
1801 ; DMF -- DEPOSIT KL10 MEMORY FAILED.
1802 ; MAE -- MODE ARGUMENT ERROR.
1803 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 66
*.EXDPM -- KL10 MEMORY EXAMINE / DEPOSIT SUBROUTINE* 7601.09
1805 001544 .EXKLM::
1806 001544 PUSH <R2,R3> ; SAVE R2 AND R3 ON THE STACK
001544 010246 MOV R2,-(SP)
001546 010346 MOV R3,-(SP)
1807 001550 012702 001760' MOV #.ETAB,R2 ; ..POINTER TO EXAMINE TABLE
1808 001554 CALL .EXDPM ; ..GO DO EXAMINE
001554 004737 001636' JSR PC,.EXDPM
1809 001560 103423 BCS EDKLMX ; ..ERROR IF C-BIT IS SET
1810 001562 032737 000010 012630' BIT #TR.EXM,.TRKWD ; ..ARE WE TRACKING EXAMINES?
1811 001570 001417 BEQ EDKLMX ; ..NO
1812 001572 CALL .EXTRK ; ..YES, TRACK IT
001572 004737 001146' JSR PC,.EXTRK
1813 001576 000414 BR EDKLMX ; ..AND GO AWAY
1814 001600 .DPKLM::
1815 001600 032737 000020 012630' BIT #TR.DEP,.TRKWD ; ARE WE TRACKING DEPOSITS?
1816 001606 001402 BEQ DPKLM1 ; NO
1817 001610 CALL .DPTRK ; TRACK THE DEPOSIT
001610 004737 001160' JSR PC,.DPTRK
1818 001614 DPKLM1:
1819 001614 PUSH <R2,R3> ; SAVE R2 AND R3 ON THE STACK
001614 010246 MOV R2,-(SP)
001616 010346 MOV R3,-(SP)
1820 001620 012702 001770' MOV #.DTAB,R2 ; ..POINTER TO DEPOSIT TABLE
1821 001624 CALL .EXDPM ; ..DO THE DEPOSIT
001624 004737 001636' JSR PC,.EXDPM
1822 001630 EDKLMX:
1823 001630 POP <R3,R2> ; RESTORE R2 AND R3
001630 012603 MOV (SP)+,R3
001632 012602 MOV (SP)+,R2
1824 001634 RETURN ; RETURN TO CALLER
001634 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 67
*.EXDPM -- KL10 MEMORY EXAMINE / DEPOSIT SUBROUTINE* 7601.09
1826 ; THIS IS THE COMMON DEPOSIT / EXAMINE CODE
1827
1828 001636 .EXDPM::
1829 001636 000241 CLC ; CLEAR THE C-BIT
1830 001640 012203 MOV (R2)+,R3 ; GET THE DPB POINTER INTO R3
1831 001642 CALL .CKEDM ; CHECK THE MODE OUT
001642 004737 001734' JSR PC,.CKEDM
1832 001646 103431 BCS EDKLMY ; MODE ERROR IF C-BIT IS SET
1833 001650 110023 MOVB R0,(R3)+ ; PUT THE MODE INTO THE DPB
1834 001652 011123 MOV (R1),(R3)+ ; PUT THE POINTER TO THE KL10 ADDRESS IN THE DPB
1835 001654 016113 000002 MOV 2(R1),(R3) ; AND DESTINATION POINTER TOO
1836 001660 011303 MOV (R3),R3 ; GET ADDRESS OF CALLER'S DATA BLOCK
1837 001662 042763 177760 000004 BIC #177760,4(R3) ; CLEAR EXTRANEOUS BITS
1838 001670 DIR$ (R2)+ ; DO THE EXAMINE OR DEPOSIT
001670 012246 MOV (R2)+,-(SP)
001672 104375 EMT 375
1839 001674 103016 BCC EDKLMY ; ALL'S WELL IF C-BIT IS CLEAR
1840 001676 022737 177776 000000G CMP #IE.EBX,$DSW ; IS THE EBOX STOPPED?
1841 001704 001401 BEQ EXDPM1 ; YES, EBOX IS STOPPED
1842 001706 005722 TST (R2)+ ; NO, OTHER ERROR
1843 001710 EXDPM1:
1844 001710 CALL .CESCK ; SEE IF CLOCK ERROR STOP IS UP
001710 004737 000300' JSR PC,.CESCK
1845 001714 103406 BCS EDKLMY ; C-BIT IS SET IF SO OR OTHER ERROR
1846 001716 000241 CLC ; CLEAR THE C-BIT
1847 001720 CALL .RESTD ; RESET THE DTE20 SINCE IT MAY BE CONFUSED
001720 004737 006016' JSR PC,.RESTD
1848 001724 103401 BCS EXDPM2 ; ERROR IF C-BIT IS SET
1849 001726 011200 MOV (R2),R0 ; PUT THE ERROR CODE IN R0
1850 001730 EXDPM2:
1851 001730 000261 SEC ; SET THE C-BIT
1852 001732 EDKLMY:
1853 001732 RETURN ; AND GO AWAY
001732 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 68
*.EXDPM -- KL10 MEMORY EXAMINE / DEPOSIT SUBROUTINE* 7601.09
1855 ; HERE TO CHECK THE VALIDITY OF THE EXAMINE / DEPOSIT MODE IN R0
1856
1857 001734 .CKEDM:
1858 001734 032700 177437 BIT #177437,R0 ; ANY EXTRANEOUS BITS ON?
1859 001740 001003 BNE CKEDME ; YES, DON'T DO IT
1860 001742 022700 000200 CMP #ED.PHY,R0 ; IS IT IN RANGE?
1861 001746 103003 BHIS CKEDMX ; YES, LEAVE
1862 001750 CKEDME:
1863 001750 ERROR$ MAE ; MODE ARGUMENT ERROR
001750 012700 MOV (PC)+,R0 ; MOVE .RAD50 ERROR CODE TO R0
001752 050555 .RAD50 /MAE/ ; "MAE" ERROR CODE IN .RAD50
1864 001754 000261 SEC ; SET THE C-BIT
1865 001756 CKEDMX:
1866 001756 RETURN ; TO CALLER
001756 000207 RTS PC
1867
1868 ; TABLES FOR EXAMINE / DEPOSIT KL10 MEMORY
1869
1870 001760 .ETAB:
1871 001760 010245' .WORD .EXDPB+3 ; POINTER FOR EXAMINE MODE IN DPB
1872 001762 010242' .WORD .EXDPB ; EXAMINE DPB POINTER
1873 001764 021075 .RAD50 /ESE/ ; EBOX STOPPED - EXAMINE
1874 001766 020516 .RAD50 /EMF/ ; EXAMINE KL10 FAILED
1875 .EVEN
1876
1877 001770 .DTAB:
1878 001770 010257' .WORD .DPDPB+3 ; POINTER FOR DEPOSIT MODE IN DPB
1879 001772 010254' .WORD .DPDPB ; DEPOSIT DPB POINTER
1880 001774 021074 .RAD50 /ESD/ ; EBOX STOPPED - DEPOSIT
1881 001776 015416 .RAD50 /DMF/ ; DEPOSIT KL10 FAILED
1882 .EVEN
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 69
*.INIT -- INITIALIZATION SUBROUTINE* 7509.26
1884 .SBTTL *.INIT -- INITIALIZATION SUBROUTINE* 7509.26
1885
1886 ;+
1887 ; .INIT -- SUBROUTINE TO INITIALIZE THE COMMAND PARSER.
1888 ;
1889 ; THIS SUBROUTINE CLEARS INTERNAL BUFFERS AND INITIALIZES
1890 ; THE FOLLOWING REGISTERS:
1891 ;
1892 ; (A) ".KLFLG" -- THE KL10 STATUS FLAG WORD,
1893 ; (B) ".CLKWD" -- THE KL10 CLOCK STATUS WORD,
1894 ; (C) ".PSCWD" -- THE KL10 PARITY CONTROL WORD.
1895 ;
1896 ; CALLING SEQUENCE IS:
1897 ;
1898 ; CALL .INIT ; INIT THE COMMAND PARSER
1899 ; BCS ERROR ; ERROR IF C-BIT IS SET
1900 ;
1901 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE
1902 ; ALL REGISTERS ARE PRESERVED ACROSS THE CALL.
1903 ;
1904 ; ERROR CODES RETURNED:
1905 ;
1906 ; CCC -- CAN'T CLEAR KL10 CLOCK.
1907 ; CCR -- CAN'T CLEAR KL10 RUN FLOP.
1908 ; CCS -- KL10 CLOCK CAN'T START.
1909 ; CES -- KL10 CLOCK ERROR STOP.
1910 ; CFH -- CAN'T FIND KL10 HALT LOOP.
1911 ; CSC -- CAN'T SYNCH KL10 CLOCK.
1912 ; CSR -- CAN'T SET KL10 RUN FLOP.
1913 ; DSF -- DTE20 STATUS FAILURE.
1914 ; FRF -- FUNCTION READ FAILED.
1915 ; FWF -- FUNCTION WRITE FAILED.
1916 ;-
1917
1918 002000 .INIT::
1919 002000 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
002000 004537 010134' JSR R5,REGSAV
1920 002004 PUSH R0 ; R0 TOO
002004 010046 MOV R0,-(SP)
1921 002006 000257 CCC ; .CLEAR N, Z, V, C BITS
1922 002010 012702 000032' MOV #.DFBLK,R2 ; .CLEAR THE DF BUFFERS
1923 002014 INITL1:
1924 002014 005022 CLR (R2)+ ; .CLEAR A WORD
1925 002016 020227 000176' CMP R2,#DFBEND ; .ARE WE DONE?
1926 002022 103774 BLO INITL1 ; .BRANCH IF NOT
1927 002024 012737 000021 000000G MOV #KF.DEF,.KLFLG ; .INIT ".KLFLG"
1928 002032 000410 BR INKLF1 ; .GO AROUND REGISTER SAVE IN ".INKLF"
1929
1930 ; [CONTINUED ON FOLLOWING PAGES]
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 70
*.INKLF -- SUBROUTINE TO SET UP KL10 STATE WORD* 7601.09
1932 .SBTTL *.INKLF -- SUBROUTINE TO SET UP KL10 STATE WORD* 7601.09
1933
1934 ;+
1935 ; .INKLF -- SUBROUTINE TO SET UP THE KL10 STATE FLAG WORD, ".KLFLG".
1936 ;
1937 ; THIS SUBROUTINE SETS UP THE STATE OF THE FOLLOWING
1938 ; FLAG BITS IN THE KL10 STATE FLAG WORD, ".KLFLG":
1939 ;
1940 ; (A) "KF.CLK" -- KL10 CLOCK RUNNING FLAG,
1941 ; (B) "KF.RUN" -- KL10 RUN FLOP SET FLAG,
1942 ; (C) "KF.KLO" -- KL10 OPCODE ENABLED FLAG.
1943 ;
1944 ; .INKLF MAY BE CALLED DIRECTLY AS DESCRIBED IN THE CALLING SEQUENCE,
1945 ; OR BY ".INIT" WHICH FALLS INTO ".INKLF".
1946 ;
1947 ; CALLING SEQUENCE IS:
1948 ;
1949 ; CALL .INKLF ; SET UP ".KLFLG"
1950 ; BCS ERROR ; ERROR IF C-BIT IS SET
1951 ;
1952 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE NO REGISTERS
1953 ; ARE ALTERED BY THIS SUBROUTINE.
1954 ;
1955 ; ERROR CODES RETURNED:
1956 ;
1957 ; CCC -- CAN'T CLEAR KL10 CLOCK.
1958 ; CCR -- CAN'T CLEAR KL10 RUN FLOP.
1959 ; CCS -- KL10 CLOCK CAN'T START.
1960 ; CES -- KL10 CLOCK ERROR STOP.
1961 ; CFH -- CAN'T FIND KL10 HALT LOOP.
1962 ; CSC -- CAN'T SYNCH KL10 CLOCK.
1963 ; CSR -- CAN'T SET KL10 RUN FLOP.
1964 ; DSF -- DTE20 STATUS FAILURE.
1965 ; DTC -- DTE20 CONFUSED.
1966 ; FRF -- FUNCTION READ FAILED.
1967 ; FWF -- FUNCTION WRITE FAILED.
1968 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 71
*.INKLF -- SUBROUTINE TO SET UP KL10 STATE WORD* 7601.09
1970 002034 .INKLF::
1971 002034 SETF$S #CF.HTO ; SET THE HALT TIMEOUT EVENT FLAG
002034 012746 000001 MOV #CF.HTO,-(SP)
002040 012746 MOV (PC)+,-(SP)
002042 041 002 .BYTE 33.,2
002044 104375 EMT 375
1972 002046 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
002046 004537 010134' JSR R5,REGSAV
1973 002052 PUSH R0 ; R0 TOO
002052 010046 MOV R0,-(SP)
1974 002054 INKLF1: ; .GET HERE FROM .INIT AS WELL
1975 002054 005037 010252' CLR EXDTEN ; .CLEAR OUT THE DTE20 POINTERS IN DPBS
1976 002060 005037 010264' CLR DPDTEN ; .
1977 002064 005037 010214' CLR FRDTEN ; .
1978 002070 005037 010226' CLR FWDTEN ; .
1979 002074 005037 010202' CLR FXDTEN ; .
1980 002100 005037 010240' CLR RGDTEN ; .
1981 002104 CALL .DTSTA ; .READ THE DTE20 STATUS REGISTER
002104 004737 000514' JSR PC,.DTSTA
1982 002110 103450 BCS INITEX ; .ERROR IF C-BIT IS SET
1983 002112 032700 000010 BIT #ST.MOD,R0 ; .IS THE DTE20 PRIVILEGED??
1984 002116 001047 BNE INITDX ; .UGH, BLETCH -- NO
1985 002120 CALL .CESCK ; .SEE IF CLOCK ERROR STOP IS UP
002120 004737 000300' JSR PC,.CESCK
1986 002124 103442 BCS INITEX ; .C-BIT IS SET IF SO OR OTHER ERROR
1987 002126 012705 000000G MOV #.KLFLG,R5 ; .FLAG POINTER TO R5
1988 002132 042715 120000 BIC #KF.CLK!KF.RUN,(R5)
1989 ; .CLEAR THE CLOCK AND RUNNING FLAGS
1990 002136 012700 000200 MOV #ED.PHY,R0 ; .PHYSICAL REFERENCE
1991 002142 012701 002254' MOV #.INEXT,R1 ; .POINT TO DATA BLOCK
1992 002146 CALL .EXKLM ; .EXAMINE KL10 MEMORY
002146 004737 001544' JSR PC,.EXKLM
1993 002152 012700 000200 MOV #ED.PHY,R0 ; .IGNORE ERROR AND TRY AGAIN
1994 002156 CALL .EXKLM ; .SO
002156 004737 001544' JSR PC,.EXKLM
1995 002162 103402 BCS INKLFA ; .IGNORE EXAMINE FAILURE
1996 002164 052715 100000 BIS #KF.CLK,(R5) ; .SET THE CLOCK RUNNING FLAG
1997 002170 INKLFA:
1998 002170 000241 CLC ; .CLEAR THE C-BIT
1999 002172 012703 000144 MOV #^D100,R3 ; .LOOP COUNT TO R3
2000 002176 INKLF2:
2001 002176 CALL .DTDW1 ; .READ DIAG WORD 1
002176 004737 000476' JSR PC,.DTDW1
2002 002202 103413 BCS INITEX ; .ERROR IF C-BIT IS SET
2003 002204 032700 002000 BIT #D1.RUN,R0 ; .IS RUN ON?
2004 002210 001003 BNE INKLF3 ; .BRANCH IF YES
2005 002212 SOB R3,INKLF2 ; .LOOP TILL COUNT EXHAUSTED
002212 005303 DEC R3
002214 001370 BNE INKLF2
2006 002216 000405 BR INITEX ; .CAN'T FIND IT, GIVE UP
2007
2008 ; [CONTINUED ON NEXT PAGE]
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 72
*.INKLF -- SUBROUTINE TO SET UP KL10 STATE WORD* 7601.09
2010 ; [HERE FROM PREVIOUS PAGE TO RESTART THE KL10]
2011
2012 002220 INKLF3:
2013 002220 032700 001000 BIT #D1.HLP,R0 ; .IS THE HALT LOOP THERE TOO?
2014 002224 001010 BNE INITDT ; .BRANCH IF SO
2015 002226 052715 020000 BIS #KF.RUN,(R5) ; .FOUND IT OK, SET THE FLAG
2016 002232 INITEX:
2017 002232 005226 INC (SP)+ ; CLEAR THE STACK (SAVE THE ERROR CODE)
2018 002234 RETURN ; AND GO AWAY
002234 000207 RTS PC
2019
2020 002236 INITDX:
2021 002236 ERROR$ DNP ; .DTE-20 NOT PRIVILEGED
002236 012700 MOV (PC)+,R0 ; MOVE .RAD50 ERROR CODE TO R0
002240 015500 .RAD50 /DNP/ ; "DNP" ERROR CODE IN .RAD50
2022 002242 INITER:
2023 002242 000261 SEC ; .SET THE C-BIT
2024 002244 000772 BR INITEX ; .AND GO AWAY
2025
2026 002246 INITDT:
2027 002246 ERROR$ DTC ; .DTE20 CONFUSED
002246 012700 MOV (PC)+,R0 ; MOVE .RAD50 ERROR CODE TO R0
002250 016043 .RAD50 /DTC/ ; "DTC" ERROR CODE IN .RAD50
2028 002252 000773 BR INITER ; .EXIT
2029
2030 002254 .INEXT:
2031 002254 000136' .WORD .EXADR ; ADDRESS 0
2032 002256 000142' .WORD .EXBFR ; PLACE FOR DATA
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 73
*.KLHLT -- SUBROUTINE TO STOP THE KL10 IN THE HALT LOOP* 7601.
2034 .SBTTL *.KLHLT -- SUBROUTINE TO STOP THE KL10 IN THE HALT LOOP* 7601.09
2035
2036 ;+
2037 ; .KLHLT -- SUBROUTINE TO STOP THE KL10 IN THE HALT LOOP
2038 ; AND SYNCH THE EBOX CLOCK LOW.
2039 ;
2040 ; THIS SUBROUTINE CLEARS THE KL10 RUN FLOP, GETS THE KL10 INTO
2041 ; THE MICROCODE HALT LOOP, AND TURNS THE KL10 CLOCK OFF.
2042 ;
2043 ; SEQUENCE OF OPERATION:
2044 ;
2045 ; (A) THE KL10 RUN FLOP IS TURNED OFF,
2046 ; (B) THE KL10 IS MOVED INTO THE UCODE HALT LOOP,
2047 ; (C) A SMALL WAIT IS TIMED OUT (TO LET KL10 I/O SETTLE)
2048 ; (D) THE KL10 CLOCK IS TURNED OFF,
2049 ; (E) THE KL10 CLOCK IS SYNCHED LOW.
2050 ;
2051 ; CALLING SEQUENCE IS:
2052 ;
2053 ; CALL .KLHLT ; STOP AND SYNCH EBOX CLOCK LOW
2054 ; BCS ERROR ; ERROR IF C-BIT IS SET
2055 ;
2056 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE.
2057 ; ALL OTHER REGISTERS ARE PRESERVED.
2058 ;
2059 ; ERROR CODES RETURNED:
2060 ;
2061 ; CCC -- CAN'T CLEAR KL10 CLOCK.
2062 ; CCR -- CAN'T CLEAR KL10 RUN FLOP.
2063 ; CFH -- CAN'T FIND KL10 HALT LOOP.
2064 ; CSC -- CAN'T SYNCH KL10 CLOCK.
2065 ; DSF -- DTE20 STATUS FAILURE.
2066 ; FWF -- FUNCTION WRITE FAILED.
2067 ;
2068 ; NOTE:
2069 ;
2070 ; THIS SUBROUTINE EXITS WITH THE KL10 CLOCK OFF.
2071 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 74
*.KLHLT -- SUBROUTINE TO STOP THE KL10 IN THE HALT LOOP* 7601.
2073 002260 .KLHLT::
2074 002260 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
002260 004537 010134' JSR R5,REGSAV
2075 002264 CALL .CLRFF ; CLEAR THE RUN FLOP
002264 004737 000366' JSR PC,.CLRFF
2076 002270 103447 BCS KLHLTX ; ERROR IF C-BIT IS SET
2077 002272 012701 000024 MOV #^D20,R1 ; SET UP WAIT COUNT
2078 002276 KLHLT1:
2079 002276 CALL .DTDW1 ; READ THE DTE20 DIAG WORD 1
002276 004737 000476' JSR PC,.DTDW1
2080 002302 103442 BCS KLHLTX ; ERROR IF C-BIT IS SET
2081 002304 032700 001000 BIT #D1.HLP,R0 ; IN THE HALT LOOP YET?
2082 002310 001002 BNE KLHLT2 ; YES
2083 002312 SOB R1,KLHLT1 ; NO, TRY TILL COUNT EXHAUSTED
002312 005301 DEC R1
002314 001370 BNE KLHLT1
2084 002316 KLHLT2:
2085 002316 005701 TST R1 ; IS R1 .GT. 0 ?
2086 002320 003406 BLE KLHLT5 ; NO, GO MOVE THE CLOCK MANUALLY
2087 002322 KLHLT3:
2088 002322 CALL .STPXC ; STOP THE KL10 CLOCK
002322 004737 006230' JSR PC,.STPXC
2089 002326 103430 BCS KLHLTX ; ERROR IF C-BIT IS SET
2090 002330 KLHLT4:
2091 002330 CALL .SYNXC ; SYNCH THE EBOX CLOCK LOW
002330 004737 006732' JSR PC,.SYNXC
2092 ; ERROR IF C-BIT IS SET
2093 002334 000425 BR KLHLTX ; DONE
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 75
*.KLHLT -- SUBROUTINE TO STOP THE KL10 IN THE HALT LOOP* 7601.
2095 ; GET HERE IF WE CAN'T GET INTO HALT LOOP NORMALLY.
2096 ; THIS MEANS THAT:
2097 ;
2098 ; (A) MICROCODE WASN'T RUNNING, OR
2099 ; (B) MICROCODE WASN'T LOADED.
2100 ;
2101 ; THIS SUBROUTINE MOVES THE MBOX CLOCK IN AN ATTEMPT TO GET THE
2102 ; KL10 INTO THE HALT LOOP MANUALLY.
2103
2104 002336 KLHLT5:
2105 002336 CALL .STPXC ; MAKE SURE THE CLOCK IS OFF
002336 004737 006230' JSR PC,.STPXC
2106 002342 103422 BCS KLHLTX ; ERROR IF C-BIT IS SET
2107 002344 012705 000012 MOV #^D10,R5 ; ITERATION COUNT TO R5
2108 002350 KLHLT6:
2109 002350 012700 000310 MOV #^D200,R0 ; 200 (DECIMAL) CLOCKS PER PASS
2110 002354 CALL .BURST ; BURST THE CLOCK
002354 004737 000242' JSR PC,.BURST
2111 002360 103413 BCS KLHLTX ; ERROR IF C-BIT IS SET
2112 002362 CALL .DTDW1 ; READ DTE20 DIAG WORD 1
002362 004737 000476' JSR PC,.DTDW1
2113 002366 103410 BCS KLHLTX ; ERROR IF C-BIT IS SET
2114 002370 032700 001000 BIT #D1.HLP,R0 ; ARE WE IN HALT LOOP NOW?
2115 002374 001352 BNE KLHLT3 ; YES, GO STOP AND SYNCH THE CLOCK
2116 002376 SOB R5,KLHLT6 ; LOOP TILL COUNT EXHAUSTED
002376 005305 DEC R5
002400 001363 BNE KLHLT6
2117 002402 KLHCFH:
2118 002402 ERROR$ CFH ; CAN'T FIND HALT LOOP
002402 012700 MOV (PC)+,R0 ; MOVE .RAD50 ERROR CODE TO R0
002404 011670 .RAD50 /CFH/ ; "CFH" ERROR CODE IN .RAD50
2119 002406 000261 SEC ; SET THE C-BIT
2120 002410 KLHLTX:
2121 002410 RETURN ; RESTORE REGISTERS AND RETURN
002410 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 76
*.KLRST -- SUBROUTINE TO RESTART THE KL10* 7512.22
2123 .SBTTL *.KLRST -- SUBROUTINE TO RESTART THE KL10* 7512.22
2124
2125 ;+
2126 ; .KLRST -- SUBROUTINE TO RESTART THE KL10.
2127 ;
2128 ; THIS SUBROUTINE WILL RESTART THE KL10 AS DIRECTED BY ".OKLF",
2129 ; THE OLD KL10 FLAG WORD.
2130 ;
2131 ; CALLING SEQUENCE IS:
2132 ;
2133 ; CALL .KLRST ; RESTART THE KL10
2134 ; BCS ERROR ; ERROR IF C-BIT IS SET
2135 ;
2136 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE NO
2137 ; REGISTERS ARE ALTERED.
2138 ;
2139 ; ERROR CODES RETURNED:
2140 ;
2141 ; CCC -- CAN'T CLEAR KL10 CLOCK.
2142 ; CCR -- CAN'T CLEAR KL10 RUN FLOP.
2143 ; CFH -- CAN'T FIND KL10 HALT LOOP.
2144 ; CSC -- CAN'T SYNCH KL10 CLOCK.
2145 ; DSF -- DTE20 STATUS FAILURE.
2146 ; FRF -- FUNCTION READ FAILED.
2147 ; FWF -- FUNCTION WRITE FAILED.
2148 ; FXF -- FUNCTION EXECUTE FAILED.
2149 ;
2150 ; NOTE:
2151 ;
2152 ; THIS SUBROUTINE IS USED WITH MICROCODE EALIER THAN
2153 ; VERSION 122.
2154 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 77
*.KLRST -- SUBROUTINE TO RESTART THE KL10* 7512.22
2156 002412 .KLRST::
2157 002412 PUSH <R1,R0> ; SAVE R0 AND R1
002412 010146 MOV R1,-(SP)
002414 010046 MOV R0,-(SP)
2158 002416 013701 012630' MOV .OKLF,R1 ; ..GET COPY OF OLD FLAGS
2159 002422 032701 005400 BIT #KF.SPM!KF.SIM!KF.BRM,R1
2160 002426 001022 BNE KLRST2 ; ..BRANCH IF BURST, SINGLE INSTRUCTION OR PULSE MODE
2161 002430 005101 COM R1 ; ..INVERT R1
2162 002432 000241 CLC ; ..CLEAR THE C-BIT
2163 002434 032701 120000 BIT #KF.RUN!KF.CLK,R1
2164 002440 001013 BNE KLRST1 ; ..BRANCH IF NOT RUNNING
2165 002442 CALL .STRUN ; ..SET THE RUN FLOP
002442 004737 006266' JSR PC,.STRUN
2166 002446 103432 BCS KLRSTE ; ..ERROR IF C-BIT IS SET
2167 002450 012700 000024 MOV #FX.CON,R0 ; ..NOW DO THE CONTINUE BUTTON
2168 002454 CALL .FXCT ; ..SO
002454 004737 007606' JSR PC,.FXCT
2169 002460 103425 BCS KLRSTE ; ..ERROR IF C-BIT SET
2170 002462 013701 012630' MOV .OKLF,R1 ; ..ELSE GET THE WORD AGAIN
2171 002466 000410 BR KLRST3 ; ..AND GO AWAY
2172 002470 KLRST1:
2173 002470 005101 COM R1 ; ..STRAIGHTEN R1 OUT
2174 002472 000241 CLC ; ..CLEAR THE C-BIT
2175 002474 KLRST2:
2176 002474 032701 020000 BIT #KF.RUN,R1 ; ..WAS RUN FLOP SET?
2177 002500 001403 BEQ KLRST3 ; ..BRANCH IF NOT
2178 002502 CALL .STRUN ; ..SET THE RUN FLOP
002502 004737 006266' JSR PC,.STRUN
2179 002506 103412 BCS KLRSTE ; ..ERROR IF C-BIT IS SET
2180 002510 KLRST3:
2181 002510 032701 100000 BIT #KF.CLK,R1 ; ..WAS CLOCK RUNNING?
2182 002514 001411 BEQ KLRSTX ; ..BRANCH IF NOT
2183 002516 032737 100000 000000G BIT #KF.CLK,.KLFLG ; ..IS THE CLOCK ALREADY ON?
2184 002524 001005 BNE KLRSTX ; ..BRANCH IF SO
2185 002526 CALL .STCLK ; ..START THE CLOCK
002526 004737 006174' JSR PC,.STCLK
2186 002532 103002 BCC KLRSTX ; ..ALL OK IF BIT CLEAR
2187 002534 KLRSTE:
2188 002534 005226 INC (SP)+ ; .RESET THE STACK
2189 002536 000401 BR KLRSXX ; .GIVE ERROR RETURN
2190 002540 KLRSTX:
2191 002540 POP R0 ; RESTORE R0
002540 012600 MOV (SP)+,R0
2192 002542 KLRSXX:
2193 002542 POP R1 ; RESTORE R1
002542 012601 MOV (SP)+,R1
2194 002544 RETURN ; AND EXIT
002544 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 79
*.KLST -- START KL10 SUBROUTINE* 7601.02
2197 .SBTTL *.KLST -- START KL10 SUBROUTINE* 7601.02
2198
2199 ;+
2200 ; .KLST -- SUBROUTINE TO START THE KL10 AT THE ADDRESS
2201 ; SPECIFIED IN THE 36 BIT PC WORD POINTED TO BY R1.
2202 ;
2203 ; THIS SUBROUTINE LOADS A KL10 PC WORD INTO THE AR REGISTER
2204 ; AND STARTS THE KL10 CRAM AT ADDRESS 0000.
2205 ;
2206 ; SEQUENCE OF OPERATION:
2207 ;
2208 ; (A) THE KL10 IS STOPPED,
2209 ; (B) THE CRAM ADDRESS REGISTER LOADED WITH ADDRESS 0,
2210 ; (C) A 36 BIT KL10 PC WORD IS LOADED INTO THE AR REGISTER,
2211 ; (D) THE KL10 IS ALLOWED TO RUN THRU ".KLCON".
2212 ;
2213 ; CALLING SEQUENCE IS:
2214 ;
2215 ; MOV #BUFADR,R1 ; POINTER TO PC WORD
2216 ; CALL .KLST ; START THE KL10
2217 ; BCS ERROR ; ERROR IF C-BIT IS SET
2218 ;
2219 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE
2220 ; R0 IS CLOBBERED, ALL OTHER REGISTERS ARE PRESERVED.
2221 ;
2222 ; ERROR CODES RETURNED:
2223 ;
2224 ; CCC -- CAN'T CLEAR KL10 CLOCK.
2225 ; CCR -- CAN'T CLEAR KL10 RUN FLOP.
2226 ; CFH -- CAN'T FIND KL10 HALT LOOP.
2227 ; CSC -- CAN'T SYNCH KL10 CLOCK.
2228 ; DSF -- DTE20 STATUS FAILURE.
2229 ; FRF -- FUNCTION READ FAILED.
2230 ; FWF -- FUNCTION WRITE FAILED.
2231 ; FXF -- FUNCTION EXECUTE FAILED.
2232 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 80
*.KLST -- START KL10 SUBROUTINE* 7601.02
2234 002546 .KLST::
2235 002546 005737 000206' TST .STFLG ; IS THIS START ALLOWED?
2236 002552 001020 BNE .KLSTN ; NO, DO OTHER START
2237 002554 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
002554 004537 010134' JSR R5,REGSAV
2238 002560 CALL .KLHLT ; STOP THE KL10
002560 004737 002260' JSR PC,.KLHLT
2239 002564 103412 BCS KLSTXX ; ERROR IF C-BIT IS SET
2240 002566 CALL .RESTP ; RESET THE KL10
002566 004737 005722' JSR PC,.RESTP
2241 ; LOAD CRAM DIAG ADDR WITH 0
2242 ; SAVE AND RESTORE CLOCK AND PARITY CONTROLS
2243 002572 103407 BCS KLSTXX ; ERROR IF C-BIT IS SET
2244 002574 016601 000002 MOV 2(SP),R1 ; GET POINTER TO PC WORD OFF THE STACK
2245 002600 CALL .WRTAR ; WRITE THE PC WORD IN THE AR
002600 004737 007356' JSR PC,.WRTAR
2246 002604 103402 BCS KLSTXX ; ERROR IF C-BIT IS SET
2247 002606 PUSH R1 ; SAVE R1 ON THE STACK
002606 010146 MOV R1,-(SP)
2248 002610 000416 BR KLSTN1 ; .SET UP ".KLFLG" AND FINISH START
2249 002612 KLSTXX:
2250 002612 RETURN ; TO CALLER
002612 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 81
*.KLSTN -- SUBROUTINE TO START THE KL10* 7512.08
2252 .SBTTL *.KLSTN -- SUBROUTINE TO START THE KL10* 7512.08
2253
2254 ; .KLSTN -- SUBROUTINE TO START THE KL10.
2255 ;
2256 ; THIS SUBROUTINE STARTS THE KL10 FROM THE HALT LOOP AT THE ADDRESS
2257 ; POINTED T0 BY R1 IN THE CALL.
2258 ;
2259 ; SEQUENCE OF OPERATION:
2260 ;
2261 ; (A) THE KL10 IS STOPPED IN THE HALT LOOP,
2262 ; (B) THE PC WORD IS LOADED INTO THE AR REGISTER,
2263 ; (C) THE KL10 IS ALLOWED TO RUN THRU ".KLCON".
2264 ;
2265 ; CALLING SEQUENCE IS:
2266 ;
2267 ; MOV #BUFADR,R1 ; POINTER TO PC WORD TO R1
2268 ; CALL .KLSTN ; START THE KL10
2269 ; BCS ERROR ; ERROR IF C-BIT IS SET
2270 ;
2271 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, AND IS UNDEFINED
2272 ; ON SUCCESS. ALL OTHER REGISTERS ARE PRESERVED.
2273 ;
2274 ; ERROR CODES RETURNED:
2275 ;
2276 ; CCC -- CAN'T CLEAR KL10 CLOCK.
2277 ; CCR -- CAN'T CLEAR KL10 RUN FLOP.
2278 ; CFH -- CAN'T FIND KL10 HALT LOOP.
2279 ; DSF -- DTE20 STATUS FAILURE.
2280 ; FRF -- FUNCTION READ FAILED.
2281 ; FWF -- FUNCTION WRITE FAILED.
2282 ; FXF -- FUNCTION EXECUTE FAILED.
2283 ;
2284 ; NOTE:
2285 ;
2286 ; THIS SUBROUTINE IS DEPENDENT UPON MICROCODE VERSION 122.
2287 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 82
*.KLSTN -- SUBROUTINE TO START THE KL10* 7512.08
2289 002614 .KLSTN::
2290 002614 005737 000206' TST .STFLG ; IS THIS START ALLOWED?
2291 002620 001752 BEQ .KLST ; NO, DO THE OTHER START
2292 002622 PUSH R1 ; SAVE POINTER ON THE STACK
002622 010146 MOV R1,-(SP)
2293 002624 CALL .KLHLT ; .HALT THE KL10
002624 004737 002260' JSR PC,.KLHLT
2294 002630 103451 BCS KLGOXX ; .ERROR IF C-BIT IS SET
2295 002632 011601 MOV (SP),R1 ; .GET THE POINTER
2296 002634 012700 000176 MOV #FW.LAR,R0 ; .LOAD THE AR REGISTER
2297 002640 CALL .FWRIT ; .DO IT
002640 004737 007506' JSR PC,.FWRIT
2298 002644 103443 BCS KLGOXX ; .ERROR IF C-BIT IS SET
2299 002646 KLSTN1:
2300 002646 012701 000000G MOV #.KLFLG,R1 ; .POINT TO ".KLFLG"
2301 002652 000403 BR .KLGO ; .AND FINISH THE START
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 83
*.KLCON -- KL10 CONTINUE SUBROUTINE* 7512.10
2303 .SBTTL *.KLCON -- KL10 CONTINUE SUBROUTINE* 7512.10
2304
2305 ;+
2306 ; .KLCON -- SUBROUTINE TO CONTINUE THE KL10.
2307 ; .KLGO -- SUBROUTINE TO FINISH STARTING THE KL10.
2308 ;
2309 ; THIS SUBROUTINE STARTS THE KL10 CLOCK AND SETS THE KL10
2310 ; RUN FLOP ".KLCON" SETS THE CONTINUE FLOP PRIOR TO THIS.
2311 ;
2312 ; SEQUENCE OF OPERATION:
2313 ;
2314 ; .KLCON:
2315 ;
2316 ; (A) THE KL10 CONTINUE FLOP IS SET,
2317 ;
2318 ; .KLGO:
2319 ;
2320 ; (A) THE KL10 CLOCK IS STARTED IF NOT IN SINGLE PULSE MODE,
2321 ; (B) THE KL10 RUN FLOP IS SET IF NOT IN SINGLE INSTRUCTION MODE
2322 ; OR SINGLE PULSE MODE.
2323 ;
2324 ; CALLING SEQUENCE IS:
2325 ;
2326 ; CALL .KLCON ; CONTINUE THE KL10
2327 ; BCS ERROR ; ERROR IF C-BIT IS SET
2328 ;
2329 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE; OTHERWISE NO
2330 ; REGISTERS ARE ALTERED BY THIS SUBROUTINE.
2331 ;
2332 ; ERROR CODES RETURNED:
2333 ;
2334 ; CCC -- CAN'T CLEAR KL10 CLOCK.
2335 ; CCR -- CAN'T CLEAR KL10 RUN FLOP.
2336 ; CFH -- CAN'T FIND KL10 HALT LOOP.
2337 ; CSC -- CAN'T SYNCH KL10 CLOCK.
2338 ; DSF -- DTE20 STATUS FAILURE.
2339 ; FRF -- FUNCTION READ FAILED.
2340 ; FWF -- FUNCTION WRITE FAILED.
2341 ; FXF -- FUNCTION EXECUTE FAILED.
2342 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 84
*.KLCON -- KL10 CONTINUE SUBROUTINE* 7512.10
2344 002654 .KLCON::
2345 002654 PUSH R1 ; SAVE R1 ON THE STACK
002654 010146 MOV R1,-(SP)
2346 002656 012701 000000G MOV #.KLFLG,R1 ; .FLAG WORD POINTER TO R1
2347 002662 .KLGO::
2348 002662 032711 001000 BIT #KF.SPM,(R1) ; .SINGLE PULSE MODE?
2349 002666 001032 BNE KLGOXX ; .BRANCH IF YES
2350 002670 032711 004000 BIT #KF.SIM,(R1) ; .SINGLE INSTRUCTION MODE?
2351 002674 001003 BNE KLGO1 ; .BRANCH IF YES
2352 002676 CALL .STRUN ; .SET THE KL10 RUN FLOP
002676 004737 006266' JSR PC,.STRUN
2353 002702 103424 BCS KLGOXX ; .ERROR IF C-BIT IS SET
2354 002704 KLGO1:
2355 002704 012700 000024 MOV #FX.CON,R0 ; .SET THE CONTINUE BUTTON
2356 002710 CALL .FXCT ; .DO IT
002710 004737 007606' JSR PC,.FXCT
2357 002714 103417 BCS KLGOXX ; .ERROR IF C-BIT IS SET
2358 002716 032711 100000 BIT #KF.CLK,(R1) ; .IS THE CLOCK RUNNING?
2359 002722 001014 BNE KLGOXX ; .YES, EXIT
2360 002724 CALL .STCLK ; .START THE KL10 CLOCK
002724 004737 006174' JSR PC,.STCLK
2361 002730 103411 BCS KLGOXX ; .ERROR IF C-BIT IS SET
2362 002732 KLGO2:
2363 002732 011101 MOV (R1),R1 ; .GET ".KLFLG" INTO R1
2364 002734 005101 COM R1 ; .INVERT IT
2365 002736 000241 CLC ; .CLEAR THE C-BIT
2366 002740 032701 120000 BIT #KF.CLK!KF.RUN,R1
2367 ; .ARE CLOCK AND RUN ON?
2368 002744 001003 BNE KLGOXX ; .BRANCH IF NOT
2369 002746 052737 000020 000000G BIS #KF.CON,.KLFLG ; KL10 IS NOW CONTINUEABLE
2370 002754 KLGOXX:
2371 002754 POP R1 ; RESTORE R1
002754 012601 MOV (SP)+,R1
2372 002756 RETURN ; EXIT
002756 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 85
*.KLSTP -- SUBROUTINE TO GET THE KL10 INTO THE HALT LOOP* 7512
2374 .SBTTL *.KLSTP -- SUBROUTINE TO GET THE KL10 INTO THE HALT LOOP* 7512.19
2375
2376 ;+
2377 ; .KLSTP -- SUBROUTINE TO PUT THE KL10 INTO THE HALT LOOP.
2378 ;
2379 ; THIS SUBROUTINE WILL PUT THE KL10 INTO THE MICROCODE HALT LOOP
2380 ; AND EXIT WITH THE KL10 CLOCK RUNNING.
2381 ;
2382 ; CALLING SEQUENCE IS:
2383 ;
2384 ; CALL .KLSTP ; STOP THE KL10
2385 ; BCS ERROR ; ERROR IF C-BIT IS SET
2386 ;
2387 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE NO
2388 ; REGISTERS ARE ALTERED BY THIS SUBROUTINE.
2389 ;
2390 ; ERROR CODES RETURNED:
2391 ;
2392 ; CCR -- CAN'T CLEAR RUN FLOP.
2393 ; CFH -- CAN'T FIND HALT LOOP.
2394 ; DSF -- DTE20 STATUS FAILURE.
2395 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 87
*.KLSTP -- SUBROUTINE TO GET THE KL10 INTO THE HALT LOOP* 7512
2398 002760 .KLSTP::
2399 002760 032737 100000 000000G BIT #KF.CLK,.KLFLG ; IS THE CLOCK OFF?
2400 002766 001002 BNE KLSTP0 ; BRANCH IF NOT
2401 002770 000137 002260' JMP .KLHLT ; HALT THE KL10
2402 002774 KLSTP0:
2403 002774 PUSH R1 ; SAVE R1 ON THE STACK
002774 010146 MOV R1,-(SP)
2404 002776 012701 000144 MOV #^D100,R1 ; .SETUP WAIT COUNT
2405 003002 CALL .CLRFF ; .CLEAR THE RUN FLOP
003002 004737 000366' JSR PC,.CLRFF
2406 003006 103415 BCS KLSTPX ; .ERROR IF C-BIT SET
2407 003010 KLSTP1:
2408 003010 CALL .DTDW1 ; .READ DIAG WORD 1
003010 004737 000476' JSR PC,.DTDW1
2409 003014 103412 BCS KLSTPX ; .ERROR IF C-BIT SET
2410 003016 032700 001000 BIT #D1.HLP,R0 ; .ARE WE IN THE HALT LOOP?
2411 003022 001002 BNE KLSTP2 ; .BRANCH IF SO
2412 003024 SOB R1,KLSTP1 ; .ELSE KEEP GOING
003024 005301 DEC R1
003026 001370 BNE KLSTP1
2413 003030 KLSTP2:
2414 003030 005701 TST R1 ; .IS R1 .GT. 0?
2415 003032 003003 BGT KLSTPX ; .YES, ALL OK
2416 003034 ERROR$ CFH ; .CAN'T FIND HALT LOOP
003034 012700 MOV (PC)+,R0 ; MOVE .RAD50 ERROR CODE TO R0
003036 011670 .RAD50 /CFH/ ; "CFH" ERROR CODE IN .RAD50
2417 003040 000261 SEC ; .SET THE C-BIT
2418 003042 KLSTPX:
2419 003042 POP R1 ; RESTORE R1
003042 012601 MOV (SP)+,R1
2420 003044 RETURN ; TO CALLER
003044 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 88
*.KLXCT -- KL10 INSTRUCTION EXECUTE SUBROUTINE* 7509.10
2422 .SBTTL *.KLXCT -- KL10 INSTRUCTION EXECUTE SUBROUTINE* 7509.10
2423
2424 ;+
2425 ; .KLXCT -- SUBROUTINE TO EXECUTE A KL10 INSTRUCTION.
2426 ;
2427 ; THIS SUBROUTINE LOADS A KL10 INSTRUCTION INTO THE AR REGISTER
2428 ; AND CAUSES THAT INSTRUCTION TO BE EXECUTED.
2429 ;
2430 ; SEQUENCE OF OPERATION:
2431 ;
2432 ; (A) THE KL10 IS STOPPED IN THE HALT LOOP WITH THE CLOCK OFF,
2433 ; (B) INSTRUCTION TO BE EXECUTED IS LOADED INTO THE AR,
2434 ; (C) THE KL10 CONTINUE FLOP IS SET.
2435 ;
2436 ; CALLING SEQUENCE IS:
2437 ;
2438 ; MOV #BUFADR,R1 ; INSTRUCTION POINTER TO R1
2439 ; CALL .KLXCT ; EXECUTE THE INSTRUCTION
2440 ; BCS ERROR ; ERROR IF C-BIT IS SET
2441 ;
2442 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE
2443 ; R0 AND R1 ARE CLOBBERED.
2444 ;
2445 ; ERROR CODES RETURNED:
2446 ;
2447 ; CCC -- CAN'T CLEAR KL10 CLOCK.
2448 ; CCR -- CAN'T CLEAR KL10 RUN FLOP.
2449 ; CFH -- CAN'T FIND KL10 HALT LOOP.
2450 ; CSC -- CAN'T SYNCH KL10 CLOCK.
2451 ; DSF -- DTE20 STATUS FAILURE.
2452 ; FRF -- FUNCTION READ FAILED.
2453 ; FWF -- FUNCTION WRITE FAILED.
2454 ; FXF -- FUNCTION EXECUTE FAILED.
2455 ;-
2456
2457 003046 .KLXCT::
2458 003046 CALL .KLHLT ; STOP THE KL10 IN THE HALT LOOP
003046 004737 002260' JSR PC,.KLHLT
2459 003052 103411 BCS KLXCTX ; ERROR IF C-BIT IS SET
2460 003054 012700 000176 MOV #FW.LAR,R0 ; LOAD THE AR REGISTER
2461 003060 CALL .FWRIT ; DO IT
003060 004737 007506' JSR PC,.FWRIT
2462 003064 103404 BCS KLXCTX ; ERROR IF C-BIT IS SET
2463 003066 012700 000024 MOV #FX.CON,R0 ; SET THE "CONTINUE BUTTON"
2464 003072 CALL .FXCT ; DO IT
003072 004737 007606' JSR PC,.FXCT
2465 003076 KLXCTX:
2466 003076 RETURN ; TO CALLER
003076 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 89
*.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE* 7601.02
2468 .SBTTL *.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE* 7601.02
2469
2470 ;+
2471 ; .LDBRC -- SUBROUTINE TO STOP THE KL10 CLOCK AND LOAD THE
2472 ; MBOX BURST COUNT REGISTER AS IN ".LDBRG".
2473 ; .LDBRG -- SUBROUTINE TO LOAD THE MBOX CLOCK BURST COUNTER.
2474 ;
2475 ; THIS SUBROUTINE LOADS THE KL10 MBOX BURST COUNT REGISTER
2476 ; WITH THE COUNT PASSED TO IT IN R0.
2477 ;
2478 ; CALLING SEQUENCE IS:
2479 ;
2480 ; MOV #TICKS,R0 ; TICK COUNT TO R0
2481 ; CALL .LDBRG ; LOAD IT
2482 ; BCS ERROR ; ERROR IF C-BIT IS SET
2483 ;
2484 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE,
2485 ; ALL OTHER REGISTERS ARE PRESERVED.
2486 ;
2487 ; ERROR CODES RETURNED:
2488 ;
2489 ; CCC -- CAN'T CLEAR KL10 CLOCK.
2490 ; FWF -- FUNCTION WRITE FAILED.
2491 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 90
*.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE* 7601.02
2493 003100 .LDBRC::
2494 003100 CALL .STPXC ; STOP THE KL10 CLOCK
003100 004737 006230' JSR PC,.STPXC
2495 003104 103437 BCS LDBREX ; ERROR IF C-BIT IS SET
2496 003106 .LDBRG::
2497 003106 PUSH <R1,R0> ; SAVE R1 AND R0 ON THE STACK
003106 010146 MOV R1,-(SP)
003110 010046 MOV R0,-(SP)
2498 003112 CALL .CLDFB ; ..CLEAR THE DFW BUFFERS
003112 004737 010050' JSR PC,.CLDFB
2499 003116 011600 MOV (SP),R0 ; ..GET THE BURST COUNT FROM THE STACK
2500 003120 042700 177760 BIC #177760,R0 ; ..CLEAR UNUSED BITS
2501 003124 010037 000032' MOV R0,.DFWB ; ..SET RIGHT COUNT IN THE BUFFER
2502 003130 012700 000104 MOV #FW.LBR,R0 ; ..SET UP TO LOAD THE RIGHT HALF
2503 003134 005001 CLR R1 ; ..CLEAR R1
2504 003136 CALL .FWRIT ; ..DO IT
003136 004737 007506' JSR PC,.FWRIT
2505 003142 103416 BCS LDBRXX ; ..ERROR IF C-BIT IS SET
2506 003144 011600 MOV (SP),R0 ; ..GET THE ORIGINAL COUNT FROM THE STACK
2507 003146 012701 177774 MOV #-^D4,R1 ; ..SHIFT COUNT TO R1
2508 003152 CALL .SHIFT ; ..SHIFT IT RIGHT 4 PLACES
003152 004737 010102' JSR PC,.SHIFT
2509 003156 042700 177760 BIC #177760,R0 ; ..CLEAR UNUSED BITS
2510 003162 010037 000032' MOV R0,.DFWB ; ..PUT THE HIGH COUNT IN THE WRITE BUFFER
2511 003166 005001 CLR R1 ; ..CLEAR R1
2512 003170 012700 000106 MOV #FW.LBL,R0 ; ..SET UP TO LOAD THE LEFT HALF
2513 003174 CALL .FWRIT ; ..DO IT
003174 004737 007506' JSR PC,.FWRIT
2514 003200 LDBRXX:
2515 003200 005226 INC (SP)+ ; .CLEAR THE STACK
2516 003202 POP R1 ; RESTORE R1
003202 012601 MOV (SP)+,R1
2517 003204 LDBREX:
2518 003204 RETURN ; AND LEAVE
003204 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 91
*.LDCPC -- KL10 CLOCK AND PARITY LOAD SUBROUTINES* 7509.30
2520 .SBTTL *.LDCPC -- KL10 CLOCK AND PARITY LOAD SUBROUTINES* 7509.30
2521
2522 ;+
2523 ; .LDCLK -- SUBROUTINE TO LOAD THE KL10 CLOCK CONTROL REGISTERS.
2524 ; .LDPAR -- SUBROUTINE TO LOAD THE KL10 PARITY CONTROL REGISTERS.
2525 ;
2526 ; THESE SUBROUTINES SET UP THE KL10 CLOCK SOURCE, RATE, AND
2527 ; DISTRIBUTION REGISTERS OR THE PARITY CONTROL REGISTERS.
2528 ;
2529 ; SEQUENCE OF OPERATION:
2530 ;
2531 ; .LDCLK:
2532 ;
2533 ; (A) THE KL10 CLOCK SOURCE, RATE, AND DISTRIBUTION
2534 ; PARAMETERS ARE SET IN THE CLOCK CONTROL REGISTERS,
2535 ; (B) THE PARAMETERS WRITTEN IN (A) ARE SAVED IN THE
2536 ; CLOCK STATUS WORD (".CLKWD").
2537 ;
2538 ; .LDPAR:
2539 ;
2540 ; (A) THE KL10 INTERNAL PARITY CONTROL BITS ARE WRITTEN INTO THE
2541 ; PARITY CONTROL REGISTER,
2542 ; (B) THE CONTROL BITS WITTEN IN (A) ARE SAVED IN THE PARITY
2543 ; CONTROL WORD (".PSCWD").
2544 ;
2545 ; NOTE: AR/ARX PARITY ERRORS MUST BE HANDLED INTERNALLY BY THE KL10.
2546 ;
2547 ; CALLING SEQUENCE IS:
2548 ;
2549 ; MOV #PNTR,R1 ; PARAMETER POINTER TO R1
2550 ; CALL .LDCLK ; SET THE KL10 CLOCK UP
2551 ; BCS ERROR ; ERROR IF C-BIT IS SET
2552 ;
2553 ; THE CLOCK PARAMETER POINTER POINTS TO A WORD WITH FORMAT:
2554 ;
2555 ; !========================================!
2556 ; ! DISTRIBUTION ! SOURCE AND RATE !
2557 ; !========================================!
2558 ;
2559 ; THE PARITY PARAMETER POINTER POINTS TO A WORD WITH FORMAT:
2560 ;
2561 ; !========================================!
2562 ; ! CONTROL BITS ! CLOCK STOP BITS !
2563 ; !========================================!
2564 ;
2565 ; R0 CONTAINS A COPY OF ".CLKWD" OR ".PSCWD" UPON SUCCESS, AND A
2566 ; .RAD50 ERROR CODE ON FAILURE, ALL OTHER REGISTERS ARE PRESERVED.
2567 ;
2568 ; ERROR CODES RETURNED:
2569 ;
2570 ; FWF -- FUNCTION WRITE FAILED.
2571 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 92
*.LDCPC -- KL10 CLOCK AND PARITY LOAD SUBROUTINES* 7509.30
2573 003206 .LDCLK::
2574 003206 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
003206 004537 010134' JSR R5,REGSAV
2575 003212 012703 000200' MOV #.CLKWD,R3 ; CONTROL WORD POINTER TO R3
2576 003216 012704 000110 MOV #FW.CSR,R4 ; BASE CLOCK WRITE TO R4
2577 003222 000406 BR .LDCPC ; DO COMMON CODE
2578 003224 .LDPAR::
2579 003224 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
003224 004537 010134' JSR R5,REGSAV
2580 003230 012703 000204' MOV #.PSCWD,R3 ; CONTROL WORD POINTER TO R3
2581 003234 012704 000114 MOV #FW.IPE,R4 ; BASE PARITY WRITE TO R4
2582 ; FALL INTO COMMON CODE
2583 003240 .LDCPC::
2584 003240 010102 MOV R1,R2 ; CALLER'S PARAMETER POINTER TO R2
2585 003242 CALL .CLDFW ; CLEAR THE WRITE BUFFER
003242 004737 010064' JSR PC,.CLDFW
2586 003246 005001 CLR R1 ; CLEAR R1
2587 003250 111237 000032' MOVB (R2),.DFWB ; SET LOW BYTE PARAMETER
2588 003254 010400 MOV R4,R0 ; DFW CODE TO R0
2589 003256 CALL .FWRIT ; DO IT
003256 004737 007506' JSR PC,.FWRIT
2590 003262 103412 BCS LDCPCX ; ERROR IF C-BIT IS SET
2591 003264 112223 MOVB (R2)+,(R3)+ ; MARK THE NEW LOW BYTE CODE
2592 003266 005724 TST (R4)+ ; NEXT WRITE CODE
2593 003270 111237 000032' MOVB (R2),.DFWB ; SET THE HIGH BYTE PARAMETERS
2594 003274 010400 MOV R4,R0 ; DFW CODE TO R0
2595 003276 CALL .FWRIT ; DO IT
003276 004737 007506' JSR PC,.FWRIT
2596 003302 103402 BCS LDCPCX ; ERROR IF C-BIT IS SET
2597 003304 111223 MOVB (R2),(R3)+ ; MARK THE NEW HIGH BYTE CODE
2598 003306 014300 MOV -(R3),R0 ; PUT A COPY IN R0
2599 003310 LDCPCX:
2600 003310 RETURN ; EXIT
003310 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 93
*.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE* 7511.19
2602 .SBTTL *.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE* 7511.19
2603
2604 ;+
2605 ; .LDCRA -- SUBROUTINE TO LOAD A 12 BIT ADDRESS INTO THE
2606 ; KL10 CRAM ADDRESS REGISTER.
2607 ;
2608 ; THIS SUBROUTINE LOADS A 12 BIT CRAM ADDRESS INTO THE
2609 ; KL10 CRAM ADDRESS REGISTER.
2610 ;
2611 ; SEQUENCE OF OPERATION:
2612 ;
2613 ; (A) THE KL10 CLOCK IS TURNED OFF (BY (B)),
2614 ; (B) THE KL10 CRAM ADDRESS IS CLEARED BY ".RESET",
2615 ; (C) THE ADDRESS IS LOADED INTO CRAM DIAG ADDR.
2616 ;
2617 ; CALLING SEQUENCE IS:
2618 ;
2619 ; MOV #CRADR,R0 ; CRAM ADDRESS TO R0
2620 ; CALL .LDCRA ; WRITE THE ADDRESS
2621 ; BCS ERROR ; ERROR IF C-BIT IS SET
2622 ;
2623 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, ALL OTHER REGISTERS ARE PRESERVED.
2624 ;
2625 ; NOTE:
2626 ;
2627 ; THIS SUBROUTINE EXITS WITH THE KL10 CLOCK OFF.
2628 ;
2629 ; ERROR CODES RETURNED:
2630 ;
2631 ; FWF -- FUNCTION WRITE FAILED.
2632 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 94
*.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE* 7511.19
2634 003312 .LDCRA::
2635 003312 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
003312 004537 010134' JSR R5,REGSAV
2636 003316 042700 170000 BIC #170000,R0 ; CLEAR UNUSED BITS
2637 003322 PUSH R0 ; PUT R0 ON THE STACK
003322 010046 MOV R0,-(SP)
2638 003324 CALL .RESTP ; .CLEAR CRAM DIAG ADDR AND CRAM ADDR
003324 004737 005722' JSR PC,.RESTP
2639 ; .ALSO RETAIN CLOCK AND PARITY CONTROL
2640 003330 103436 BCS LDCRAX ; .ERROR IF C-BIT IS SET
2641 003332 CALL .CLDFW ; .CLEAR THE FW BUFFER
003332 004737 010064' JSR PC,.CLDFW
2642 003336 012700 000032' MOV #.DFWB,R0 ; .SET UP THE BUFFER ADDRESS
2643 003342 011610 MOV (SP),(R0) ; .LOAD THE ADDRESS FROM THE STACK
2644 003344 001430 BEQ LDCRAX ; .LEAVE NOW IF ZERO
2645 003346 042710 174077 BIC #174077,(R0) ; .CLEAR UNWANTED BITS
2646 003352 012701 000030 MOV #^D24,R1 ; .SHIFT COUNT TO R1
2647 003356 CALL KLLSHI ; .SHIFT IT OVER
003356 004737 010700' JSR PC,KLLSHI
2648 003362 005001 CLR R1 ; .CLEAR R1
2649 003364 012700 000124 MOV #FW.CA2,R0 ; .SET UP TO WRITE IT
2650 003370 CALL .FWRIT ; .DO IT
003370 004737 007506' JSR PC,.FWRIT
2651 003374 103414 BCS LDCRAX ; .ERROR IF C-BIT IS SET
2652 003376 011610 MOV (SP),(R0) ; .GET ADDRESS FROM THE STACK AGAIN
2653 003400 042710 177700 BIC #177700,(R0) ; .CLEAR UNWANTED BITS
2654 003404 012701 000036 MOV #^D30,R1 ; .SHIFT COUNT TO R1
2655 003410 CALL KLLSHI ; .SHIFT THAT OVER
003410 004737 010700' JSR PC,KLLSHI
2656 003414 005001 CLR R1 ; .CLEAR R1
2657 003416 012700 000122 MOV #FW.CA1,R0 ; .SET UP TO WRITE IT
2658 003422 CALL .FWRIT ; .DO IT
003422 004737 007506' JSR PC,.FWRIT
2659 003426 LDCRAX:
2660 003426 005226 INC (SP)+ ; .CLEAR THE STACK (NO EFFECT ON C-BIT)
2661 003430 RETURN ; EXIT TO CALLER
003430 000207 RTS PC
2662
2663 .IF NE $RAMSW
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 95
*.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE* 7511.19
2665 .SBTTL *.LDRAD -- SUBROUTINE TO LOAD THE KL10 DISPATCH RAM ADDRESS* 7511.06
2666
2667 ;+
2668 ; .LDRAD -- SUBROUTINE TO LOAD THE KL10 DISPATCH RAM ADDRESS REGISTER.
2669 ;
2670 ; THIS SUBROUTINE LOADS THE DISPATCH RAM ADDRESS REGISTER WITH THE
2671 ; DISPATCH RAM ADDRESS SUPPLIED TO IT IN R0.
2672 ;
2673 ; SEQUENCE OF OPERATION:
2674 ;
2675 ; (A) THE KL10 IS RESET TO CLEAR THE RAM REGISTERS,
2676 ; (B) KL10 DECODING OF I/O AND JRST INSTRUCTIONS IS DISABLED,
2677 ; (C) THE IR (DRAM) ADDRESS IS LOADED AND LATCHED,
2678 ; (D) THE SUBROUTINE EXITS WITH KL10 DECODING OF I/O AND
2679 ; JRST INSTRUCTIONS DISABLED
2680 ;
2681 ; CALLING SEQUENCE IS:
2682 ;
2683 ; MOV #ADDR,R0 ; DRAM ADDRESS TO R0
2684 ; CALL .LDRAD ; LOAD IT
2685 ; BCS ERROR ; ERROR IF C-BIT IS SET
2686 ;
2687 ; R0 CONTAINS A .RAD50 ERROR ON FAILURE; OTHERWISE R0 IS CLOBBERED
2688 ; AND ALL OTHER REGISTERS ARE UNALTERED.
2689 ;
2690 ; ERROR CODES RETURNED:
2691 ;
2692 ; FRF -- FUNCTION READ FAILED.
2693 ; FWF -- FUNCTION WRITE FAILED.
2694 ; FXF -- FUNCTION EXECUTE FAILED.
2695 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 96
*.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE* 7511.19
2697 .LDRAD::
2698 CALL R5,REGSAV ; SAVE R1 - R5 ON THE STACK
2699 PUSH R0 ; SAVE THE DRAM ADDRESS TOO
2700 CALL .RESET ; .RESET THE KL10
2701 BCS LDRADE ; .ERROR IF C-BIT IS SET
2702 CALL .CLDFB ; .CLEAR THE DIAG FUNCTION BUFFERS
2703 CLR R1 ; .CLEAR R1
2704 MOV #FW.IOJ,R0 ; .DISABLE DECODE OF I/O AND JRST
2705 CALL .FWRIT ; .DO IT
2706 BCS LDRADE ; .ERROR IF C-BIT IS SET
2707 BIC #KF.KLO,.KLFLG ; .KL10 I/O AND JRST OPCODES ARE NOT DECODED
2708 MOV #.DFWB,R0 ; .MAKE R0 POINT TO BUFFER
2709 MOV (SP),(R0) ; .PUT THE DATA IN THE BUFFER
2710 MOV #^D27,R1 ; .SHIFT COUNT TO R1
2711 CALL KLLSHI ; .POSITION THE ADDRESS AS AN OPCODE
2712 CLR R1 ; .CLEAR R1
2713 CALL .WRAR1 ; .LOAD THE OPCODE ADDRESS INTO THE AR
2714 BCS LDRADE ; .ERROR IF C-BIT IS SET
2715 MOV #FX.UIR,R0 ; .LOAD THE IR FROM THE AR THRU THE AD
2716 CALL .FXCT ; .DO IT
2717 BCC LDRADX ; .ALL OK IF C-BIT IS CLEAR
2718 LDRADE:
2719 MOV R0,(SP) ; .PUT ERROR CODE IN CALLER'S REGISTER
2720 LDRADX:
2721 POP R0 ; RESTORE R0
2722 RETURN ; TO CALLER --
2723 ; WITH DECODE OF I/O AND JRST DISABLED
2724
2725 .ENDC ; $RAMSW
2726
2727 .IF NE $MBPSW
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 97
*.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE* 7511.19
2729 .SBTTL *.MBPHS -- MBOX PHASE SUBROUTINE* 7509.08
2730
2731 ;+
2732 ; .MBPHS -- SUBROUTINE TO GET THE EBOX IN PHASE WITH THE MBOX.
2733 ;
2734 ; THIS SUBROUTINE SYNCHS THE KL10 EBOX IN THE HALT LOOP AS SPECIFIED
2735 ; BY AN ARGUMENT PASSED TO IT IN R0.
2736 ;
2737 ; THIS SUBROUTINE ASSUMES THAT:
2738 ;
2739 ; (A) THE KL10 HALT LOOP HAS TWO INSTRUCTIONS,
2740 ; (B) THE FIRST INSTRUCTION IS AT AN EVEN ADDRESS; HAS TIME .EQ. 2,
2741 ; (C) THE SECOND INSTRUCTION IS AT AN ODD ADDRESS; HAS TIME .EQ. 3.
2742 ;
2743 ; THIS SUBROUTINE SYNCHS THE EBOX ON:
2744 ;
2745 ; (A) EVEN CRAM ADDRESS,
2746 ; (B) [PHASE CHANGE COMING] TRUE,
2747 ; (C) THE SELECTED PHASE [A OR B CHANGE COMING].
2748 ;
2749 ; THE SUBROUTINE IS DIRECTED WHERE TO SYNCH THE EBOX BY AN ARGUMENT
2750 ; PASSED TO IT IN R0 OF THE FORM:
2751 ;
2752 ; !============================================!
2753 ; ! POSITION ! PHASE !
2754 ; !============================================!
2755 ;
2756 ; WHERE:
2757 ;
2758 ; POSITION IS INDICATED BY THE CONTENT OF THE HIGH BYTE;
2759 ; IF THE POSITION BYTE IS .EQ. 2 THE EBOX WILL BE SYNCHED
2760 ; JUST AFTER THE SPECIFIED PHASE; IF .EQ. 0, IT WILL BE SYNCHED ON
2761 ; THE SPECIFIED PHASE.
2762 ;
2763 ; PHASE IS INDICATED BY THE CONTENT OF THE LOW BYTE; IF THE PHASE
2764 ; BYTE IS .EQ. 0, A PHASE IS DESIRED, IF .EQ. 1, B PHASE IS DESIRED.
2765 ;
2766 ; CALLING SEQUENCE IS:
2767 ;
2768 ; MOV #ARG,R0 ; SET UP ARGUMENT ADDRESS
2769 ; CALL .MBPHS ; PHASE THE MBOX
2770 ; BCS ERROR ; ERROR IF CARRY SET
2771 ;
2772 ; R0 CONTAINS A .RAD50 ERROR CODE UPON FAILURE.
2773 ;
2774 ; ERROR CODES RETURNED:
2775 ;
2776 ; FRF -- FUNCTION READ FAILED.
2777 ; FWF -- FUNCTION WRITE FAILED.
2778 ; FXF -- FUNCTION EXECUTE FAILED.
2779 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 98
*.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE* 7511.19
2781 .MBPHS::
2782 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
2783 MOVB (R0)+,R5 ; PUT PHASE INDICATOR IN R5
2784 MOVB (R0),R4 ; PUT POSITION INDICATOR IN R4
2785 MOV #^D20,R2 ; SET UP TIMEOUT COUNT
2786 MBPHS1:
2787 MOV #^D1,R3 ; SET UP CLOCK COUNT
2788 MOV #FR.102,R0 ; SET UP TO READ [CLK SYNCH H]
2789 CALL .FREAD ; GO DO READ
2790 BCS MBPEXX ; ERROR IF C-BIT IS SET
2791 BIT #BIT02,.DFRB ; IS IT TRUE?
2792 BEQ MBPHS6 ; NO, TRY ONE CLOCK
2793 MOV #FR.CA2,R0 ; SET UP TO READ [CRA ADR 10 H]
2794 CALL .FREAD ; READ IT
2795 BCS MBPEXX ; ERROR IF C-BIT IS SET
2796 BIT #BIT14,.DFRB+4 ; IS IT EVEN?
2797 BNE MBPHS5 ; NO, TRY TWO CLOCKS
2798 MOV #FR.164,R0 ; SET UP TO READ [PHASE CHANGE COMING L]
2799 CALL .FREAD ; READ IT
2800 BCS MBPEXX ; ERROR IF C-BIT IS SET
2801 BIT #BIT05,.DFRB ; IS IT FALSE?
2802 BNE MBPHS4 ; NO, TRY FIVE CLOCKS
2803 MOVB PHDFR(R5),R0 ; SET UP TO READ [X PHASE CHANGE COMING]
2804 CALL .FREAD ; READ IT
2805 BCS MBPEXX ; ERROR IF C-BIT IS SET
2806 BIT PHTST(R5),.DFRB ; IS IT SET?
2807 BNE MBPHS2 ; YES
2808 MOV #^D10,R3 ; NEED 10 CLOCKS
2809 MBPHS2:
2810 BIT #BIT01,R4 ; ON EVEN PHASE?
2811 BEQ MBPHS3 ; NO
2812 ADD #^D5,R3 ; YES, ADD FIVE MORE CLOCKS
2813 MBPHS3:
2814 MOV R3,R0 ; SET UP ARGUMENT FOR BURST SUBROUTINE
2815 CALL .BURST ; BURST IT
2816 ; ERROR IF C-BIT IS SET
2817 BR MBPEXX ; LEAVE
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 99
*.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE* 7511.19
2819 MBPHS4: ; HERE TO SET UP THE BURST COUNT
2820 ADD #^D3,R3 ; MAKE IT FOUR CLOCKS
2821 MBPHS5:
2822 INC R3 ; ADD ONE MORE
2823 MBPHS6:
2824 MOV R3,R0 ; PUT COUNT IN R0
2825 CALL .BURST ; BURST IT
2826 BCS MBPEXX ; ERROR IF C-BIT IS SET
2827 SOB R2,MBPHS1 ; EXHAUSTED THE ERROR COUNT?
2828 MBPEXX:
2829 RETURN ; EXIT
2830
2831 PHTST:
2832 .WORD BIT03 ; DFR 162, BIT 32
2833 .WORD BIT08 ; DFR 163, BIT 27
2834
2835 PHDFR:
2836 .BYTE FR.163,FR.162 ; FUNCTION READ CODES FOR [X PHASE CHANGE COMING]
2837
2838 .ENDC ; $MBPSW
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 100
*.MRCLR -- KL10 MASTER RESET SUBROUTINE* 7511.06
2840 .SBTTL *.MRCLR -- KL10 MASTER RESET SUBROUTINE* 7511.06
2841
2842 ;+
2843 ; .MRCLR -- SUBROUTINE TO CLEAR THE KL10 IN THE MASTER RESET STATE.
2844 ;
2845 ; THIS SUBROUTINE SETS THE KL10 MASTER RESET FLOP AND ALLOWS THE
2846 ; KL10 CLOCK TO RUN, CLEARING THE KL10.
2847 ;
2848 ; SEQUENCE OF OPERATION:
2849 ;
2850 ; (A) THE MASTER RESET FLOP IS SET,
2851 ; (B) THE KL10 CLOCK IS ALLOWED TO RUN FOR A SHORT TIME,
2852 ; (C) THE NXM TIMERS ARE RESYNCHRONIZED,
2853 ; (D) THE KL10 CLOCK IS STOPPED AND SYNCHED,
2854 ; (E) THE MASTER RESET FLOP IS CLEARED.
2855 ;
2856 ; CALLING SEQUENCE IS:
2857 ;
2858 ; CALL .MRCLR ; CALL MASTER RESET SUBROUTINE
2859 ; BCS ERROR ; ERROR IF C-BIT IS SET
2860 ;
2861 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE
2862 ; ALL OTHER REGISTERS ARE PRESERVED
2863 ;
2864 ; NOTE:
2865 ;
2866 ; THIS SUBROUTINE ASSUMES THAT THE KL10 CLOCK IS OFF UPON ENTRY.
2867 ; THIS SUBROUTINE EXITS WITH THE KL10 CLOCK OFF.
2868 ;
2869 ; ERROR CODES RETURNED:
2870 ;
2871 ; CCC -- CAN'T CLEAR KL10 CLOCK.
2872 ; CSC -- CAN'T SYNCH KL10 CLOCK.
2873 ; FRF -- FUNCTION READ FAILED.
2874 ; FWF -- FUNCTION WRITE FAILED.
2875 ; FXF -- FUNCTION EXECUTE FAILED.
2876 ;-
2877
2878 003432 .MRCLR::
2879 003432 PUSH <R1,R2> ; SAVE R1 AND R2
003432 010146 MOV R1,-(SP)
003434 010246 MOV R2,-(SP)
2880 003436 012700 000016 MOV #FX.SMR,R0 ; ..SET MASTER RESET FLOP
2881 003442 CALL .FXCT ; ..DO IT
003442 004737 007606' JSR PC,.FXCT
2882 003446 103461 BCS MRCLRX ; ..ERROR IF C-BIT IS SET
2883 003450 052737 010000 000000G BIS #KF.MRS,.KLFLG ; ..SET THE FLAG
2884 003456 CALL .STCLK ; ..FORCE START THE KL10 CLOCK
003456 004737 006174' JSR PC,.STCLK
2885 003462 103453 BCS MRCLRX ; ..ERROR IF C-BIT IS SET
2886 003464 012701 000764 MOV #^D500,R1 ; ..SET UP WAIT COUNT
2887
2888 ; [CONTINUED ON NEXT PAGE]
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 101
*.MRCLR -- KL10 MASTER RESET SUBROUTINE* 7511.06
2890 ; HERE FROM PREVIOUS PAGE
2891
2892 003470 MRCLR1:
2893 003470 SOB R1,MRCLR1 ; ..STALL A WHILE
003470 005301 DEC R1
003472 001376 BNE MRCLR1
2894 003474 CALL .STPXC ; ..STOP THE KL10 CLOCK
003474 004737 006230' JSR PC,.STPXC
2895 003500 103444 BCS MRCLRX ; ..ERROR IF C-BIT IS SET
2896 003502 CALL .CLDFB ; ..CLEAR THE FUNCTION BUFFERS
003502 004737 010050' JSR PC,.CLDFB
2897 003506 012700 000160 MOV #FW.CHN,R0 ; ..CLEAR THE CHANNELS
2898 003512 CALL .FWRIT ; ..DO IT
003512 004737 007506' JSR PC,.FWRIT
2899 003516 103435 BCS MRCLRX ; ..ERROR IF C-BIT IS SET
2900 003520 012702 000003 MOV #^D3,R2 ; ..LOOP COUNT TO R2
2901 003524 MRCLR2: ; ..HERE TO RESYNCH THE NXM TIMERS
2902 003524 005001 CLR R1 ; ..CLEAR R1
2903 003526 012700 000344 MOV #FR.162,R0 ; ..LOOK FOR [A CHANGE COMING L]
2904 003532 CALL .FREAD ; ..DO THE READ
003532 004737 007412' JSR PC,.FREAD
2905 003536 103425 BCS MRCLRX ; ..ERROR IF C-BIT IS SET
2906 003540 032710 000010 BIT #BIT03,(R0) ; ..IS IT THERE?
2907 003544 001407 BEQ MRCLR3 ; ..BRANCH IF YES
2908 003546 012700 000004 MOV #FX.MBC,R0 ; ..NOT THERE, STEP THE CLOCK
2909 003552 CALL .FXCT ; ..DO IT
003552 004737 007606' JSR PC,.FXCT
2910 003556 103415 BCS MRCLRX ; ..ERROR IF C-BIT IS SET
2911 003560 SOB R2,MRCLR2 ; ..LOOP THREE TIMES MAX
003560 005302 DEC R2
003562 001360 BNE MRCLR2
2912 003564 MRCLR3:
2913 003564 CALL .SYNXC ; ..SYNCH THE CLOCK
003564 004737 006732' JSR PC,.SYNXC
2914 003570 103410 BCS MRCLRX ; ..ERROR IF C-BIT IS SET
2915 003572 012700 000014 MOV #FX.CMR,R0 ; ..CLEAR MASTER RESET FLOP
2916 003576 CALL .FXCT ; ..DO IT
003576 004737 007606' JSR PC,.FXCT
2917 003602 103403 BCS MRCLRX ; ..ERROR IF C-BIT IS SET
2918 003604 042737 010020 000000G BIC #KF.MRS!KF.CON,.KLFLG
2919 ; ..CLEAR THE FLAGS
2920 003612 MRCLRX:
2921 003612 POP <R2,R1> ; RESTORE R1 AND R2
003612 012602 MOV (SP)+,R2
003614 012601 MOV (SP)+,R1
2922 003616 RETURN ; EXIT TO CALLER
003616 000207 RTS PC
2923
2924 .IF NE $RAMSW
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 102
*.MRCLR -- KL10 MASTER RESET SUBROUTINE* 7511.06
2926 .SBTTL *.RAMFD -- KL10 RAM FIELD DECODER SUBROUTINE* 7511.18
2927
2928 ;+
2929 ; .RAMFD -- KL10 RAM FIELD DECODER SUBROUTINE.
2930 ;
2931 ; THIS SUBROUTINE DECODES A CRAM OR DRAM WORD IN EBUS FORMAT
2932 ; INTO THE RESPECTIVE LOGICAL CRAM OR DRAM FIELDS.
2933 ;
2934 ; THE TABLES "CRAMFT" AND "DRAMFT" ARE CREATED VIA THE "CRMFD$"
2935 ; AND "DRMFD$" MACROS (Q.V.) AND CONSIST OF A THREE WORD ENTRY
2936 ; FOR EACH BYTE IN THE RAM WORD:
2937 ;
2938 ; !=======================================!
2939 ; 00 ! RAM SUBFIELD BIT MASK !
2940 ; !---------------------------------------!
2941 ; 02 ! WORD INDEX ! SHIFT COUNT !
2942 ; !---------------------------------------!
2943 ; 04 ! DESTINATION POINTER !
2944 ; !=======================================!
2945 ;
2946 ; CALLING SEQUENCE IS:
2947 ;
2948 ; MOV #PNTRA,R0 ; POINTER TO DECODE TABLE
2949 ; MOV #PNTRB,R1 ; POINTER TO READ BLOCK
2950 ; CALL .RAMFD ; DECODE THE RAM WORD
2951 ; ; ONLY RETURN
2952 ;
2953 ; R0 CONTAINS A POINTER TO THE TOP OF THE DECODED CRAM WORD BLOCK
2954 ; ON RETURN; ALL OTHER REGISTERS ARE PRESERVED.
2955 ;
2956 ; ERROR CODES RETURNED:
2957 ;
2958 ; NONE.
2959 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 103
*.MRCLR -- KL10 MASTER RESET SUBROUTINE* 7511.06
2961 .RAMFD::
2962 CALL R5,REGSAV ; SAVE R1 THRU R5 ON THE STACK
2963 MOV R1,R2 ; SOURCE POINTER TO R1
2964 MOV R0,R5 ; TABLE POINTER TO R5
2965 RAMFD1:
2966 MOV (R5)+,R4 ; BIT MASK TO R4
2967 BEQ RAMFDX ; DONE IF BIT MASK .EQ. 0
2968 BIT #BIT15,R4 ; IS THIS A NEW FIELD?
2969 BEQ RAMFD2 ; BRANCH IF NOT
2970 CLR @2(R5) ; YES, CLEAR THE FIELD WORD
2971 BIC #BIT15,R4 ; CLEAR THE NEW FIELD INDICATOR
2972 RAMFD2:
2973 MOVB (R5)+,R1 ; SHIFT COUNT TO R1
2974 MOVB (R5)+,R3 ; WORD INDEX TO R3
2975 ADD R2,R3 ; CREATE A POINTER IN R3
2976 MOV (R3),R0 ; GET THE WORD FROM THE READ BLOCK
2977 CALL .SHIFT ; SHIFT IT
2978 BIC R4,@(R5) ; CLEAR THE SUBFIELD
2979 COM R4 ; INVERT THE MASK
2980 BIC R4,R0 ; MASK IT
2981 BIS R0,@(R5)+ ; SET THE SUBFIELD
2982 BR RAMFD1 ; AND KEEP GOING
2983 RAMFDX:
2984 MOV (R5),R0 ; POINT TO OUR BLOCK
2985 RETURN ; AND GO AWAY
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 104
*.MRCLR -- KL10 MASTER RESET SUBROUTINE* 7511.06
2987 .SBTTL *.RAMFE -- KL10 RAM FIELD ENCODER SUBROUTINE* 7511.18
2988
2989 ;+
2990 ; .RAMFE -- KL10 RAM FIELD ENCODER SUBROUTINE.
2991 ;
2992 ; THIS SUBROUTINE WILL CONVERT A FIELD ENCODED RAM WORD INTO EBUS FORMAT.
2993 ; IT USES TABLES GENERATED BY THE "CRMFD$" AND "DRMFD$" MACROS (Q.V.).
2994 ;
2995 ; THE ENCODING TABLE HAS THE FOLLOWING ENTRIES FOR EACH FIELD:
2996 ;
2997 ; !=======================================!
2998 ; 00 ! SUBFIELD BIT MASK !
2999 ; !---------------------------------------!
3000 ; 02 ! WORD INDEX ! - SHIFT COUNT !
3001 ; !---------------------------------------!
3002 ; 04 ! SOURCE POINTER !
3003 ; !=======================================!
3004 ;
3005 ; CALLING SEQUENCE:
3006 ;
3007 ; MOV #PNTRA,R0 ; ENCODE TABLE POINTER TO R0
3008 ; MOV #PNTRB,R1 ; DESTINATION POINTER TO R1
3009 ; CALL .RAMFE ; ENCODE THE RAM WORD
3010 ; ; ONLY RETURN
3011 ;
3012 ; NO REGISTERS ARE ALTERED BY THIS SUBROUTINE.
3013 ;
3014 ; ERROR CODES RETURNED:
3015 ;
3016 ; NONE.
3017 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 105
*.MRCLR -- KL10 MASTER RESET SUBROUTINE* 7511.06
3019 .RAMFE::
3020 CALL R5,REGSAV ; SAVE R1 - R5 ON THE STACK
3021 MOV R1,R2 ; DESTINATION POINTER TO R2
3022 MOV R0,R5 ; TABLE POINTER TO R5
3023 RAMFE1:
3024 MOV (R5)+,R0 ; BIT MASK TO R0
3025 BEQ RAMFEX ; ALL DONE IF .EQ. 0
3026 BIT #BIT15,R0 ; IS THIS A NEW FIELD?
3027 BEQ RAMFE2 ; BRANCH IF NOT
3028 CLR @2(R5) ; YES, CLEAR THE RAM FIELD WORD
3029 BIC #BIT15,R0 ; CLEAR THE NEW FIELD INDICATOR
3030 RAMFE2:
3031 MOVB (R5)+,R1 ; SHIFT COUNT TO R1
3032 NEG R1 ; NEGATE THE SHIFT COUNT
3033 CALL .SHIFT ; SHIFT IT
3034 MOV R0,R4 ; SHIFTED BIT MASK TO R4
3035 MOVB (R5)+,R3 ; WORD INDEX TO R3
3036 ADD R2,R3 ; CREATE A DESTINATION POINTER IN R3
3037 MOV @(R5)+,R0 ; GET THE SOURCE BYTE IN R0
3038 CALL .SHIFT ; SHIFT IT OVER
3039 BIC R4,(R3) ; CLEAR THE DESTINATION BYTE
3040 COM R4 ; INVERT THE MASK
3041 BIC R4,R0 ; MASK THE BYTE
3042 BIS R0,(R3) ; SET IT IN DESTINATION BLOCK
3043 BR RAMFE1 ; AND GO AGAIN
3044 RAMFEX:
3045 MOV (R5),R0 ; POINT TO TOP OF OUR BLOCK
3046 RETURN ; TO CALLER
3047
3048 .ENDC ; $RAMSW
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 106
*.RDALL -- SUBROUTINE TO EXECUTE 100 FUNCTION READS* 7511.24
3050 .SBTTL *.RDALL -- SUBROUTINE TO EXECUTE 100 FUNCTION READS* 7511.24
3051
3052 ;+
3053 ; .RDALL -- SUBROUTINE TO EXECUTE 100 FUNCTION READS (FOR "KLERR")
3054 ;
3055 ; THIS SUBROUTINE WILL EXECUTE 100 FUNCTION READS AND LOAD A 300
3056 ; WORD BLOCK POINTED TO BY R0 WITH THE RESULT.
3057 ;
3058 ; CALLING SEQUENCE IS:
3059 ;
3060 ; MOV #BUFADR,R0 ; BUFFER ADDRESS TO R0
3061 ; CALL .RDALL ; DO THE FUNCTION READS
3062 ; BCS ERROR ; ERROR IF C-BIT IS SET
3063 ;
3064 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE NO REGISTERS ARE
3065 ; ALTERED BY THIS SUBROUTINE.
3066 ;
3067 ; ERROR CODES RETURNED:
3068 ;
3069 ; FRF -- FUNCTION READ FAILED.
3070 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 107
*.RDALL -- SUBROUTINE TO EXECUTE 100 FUNCTION READS* 7511.24
3072 003620 .RDALL:
3073 003620 PUSH <R1,R2,R3,R4> ; SAVE CALLER'S REGISTERS
003620 010146 MOV R1,-(SP)
003622 010246 MOV R2,-(SP)
003624 010346 MOV R3,-(SP)
003626 010446 MOV R4,-(SP)
3074 003630 PUSH R0 ; ....AND CALLER'S POINTER
003630 010046 MOV R0,-(SP)
3075 003632 012703 000100 MOV #^D64,R3 ; .....SET UP ITERATION COUNT
3076 003636 012702 000200 MOV #FR.100,R2 ; .....BASE READ CODE TO R2
3077 003642 010004 MOV R0,R4 ; .....CALLER'S POINTER TO R4
3078 003644 RDALL1:
3079 003644 010200 MOV R2,R0 ; .....READ CODE TO R0
3080 003646 005001 CLR R1 ; .....CLEAR R1
3081 003650 CALL .FREAD ; .....DO THE READ
003650 004737 007412' JSR PC,.FREAD
3082 003654 103411 BCS RDALLE ; .....ERROR IF C-BIT IS SET
3083 003656 012024 MOV (R0)+,(R4)+ ; .....LOAD CALLER'S BUFFER FROM OURS
3084 003660 012024 MOV (R0)+,(R4)+ ; .....
3085 003662 011024 MOV (R0),(R4)+ ; .....
3086 003664 062702 000002 ADD #^D2,R2 ; .....INCREMEMENT THE FREAD CODE
3087 003670 SOB R3,RDALL1 ; .....LOOP TILL DONE
003670 005303 DEC R3
003672 001364 BNE RDALL1
3088 003674 POP R0 ; .....RESTORE R0
003674 012600 MOV (SP)+,R0
3089 003676 000401 BR RDALLX ; ....AND LEAVE
3090 003700 RDALLE:
3091 003700 005226 INC (SP)+ ; .....GET RID OF R0
3092 003702 RDALLX:
3093 003702 POP <R4,R3,R2,R1> ; ....RESTORE CALLER'S REGISTERS
003702 012604 MOV (SP)+,R4
003704 012603 MOV (SP)+,R3
003706 012602 MOV (SP)+,R2
003710 012601 MOV (SP)+,R1
3094 003712 RETURN ; AND EXIT
003712 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 108
*.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL10 APR* 7509.
3096 .SBTTL *.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL10 APR* 7509.24
3097
3098 ;+
3099 ; .RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL10 APR.
3100 ;
3101 ; THIS SUBROUTINE READS THE ERROR STATE OF THE KL10 APR AND RETURNS
3102 ; THAT ERROR STATE IN R0 AND ".APRWD".
3103 ;
3104 ; THE FORMAT OF THE DATA RETURNED IS:
3105 ;
3106 ; AP.PWF -- BIT00 -- [APR PWR FAIL IN H] -- POWER FAIL
3107 ; AP.SAP -- BIT01 -- [APR S ADR P ERR IN H] -- SBUS ADR PARITY ERROR
3108 ; AP.CDP -- BIT02 -- [APR C DIR P ERR IN H] -- CACHE DIR PARITY ERROR
3109 ; AP.MPE -- BIT03 -- [APR MB PAR ERR IN H] -- MB PARITY ERROR
3110 ; AP.IPF -- BIT04 -- [APR I/O PF ERR IN H] -- I/O PAGE FAIL ERROR
3111 ; AP.NXM -- BIT05 -- [APR NXM ERR IN H] -- NON-EX-MEMORY ERROR
3112 ; AP.SBE -- BIT06 -- [APR SBUS ERR IN H] -- SBUS ERROR
3113 ;
3114 ; CALLING SEQUENCE IS:
3115 ;
3116 ; CALL .RDAPR ; READ APR ERRORS
3117 ; BCS ERROR ; ERROR IF C-BIT IS SET
3118 ;
3119 ; R0 WILL CONTAIN A COPY OF THE KL10 APR ERROR STATUS IN ".APRWD"
3120 ; ON SUCCESS OR A .RAD50 ERROR CODE ON FAILURE; NO OTHER REGISTERS
3121 ; ARE ALTERED.
3122 ;
3123 ; ERROR CODES RETURNED:
3124 ;
3125 ; FRF -- FUNCTION READ FAILED.
3126 ;-
3127
3128 003714 .RDAPR::
3129 003714 PUSH R1 ; SAVE R1 ON THE STACK
003714 010146 MOV R1,-(SP)
3130 003716 005001 CLR R1 ; .CLEAR R1
3131 003720 012700 000220 MOV #FR.APR,R0 ; .FR TO READ APR ERRORS
3132 003724 CALL .FREAD ; .READ APR ERRORS
003724 004737 007412' JSR PC,.FREAD
3133 003730 103411 BCS RDAPRX ; .ERROR IF C-BIT IS SET
3134 003732 012701 177751 MOV #-^D23,R1 ; .SHIFT COUNT TO R1
3135 003736 CALL KLLSHI ; .SHIFT ERROR BITS INTO POSITION
003736 004737 010700' JSR PC,KLLSHI
3136 003742 042710 177600 BIC #177600,(R0) ; .FLUSH UNWANTED BITS
3137 003746 011037 000176' MOV (R0),.APRWD ; .SAVE THE WORD
3138 003752 011000 MOV (R0),R0 ; .PUT A COPY IN R0
3139 003754 RDAPRX:
3140 003754 POP R1 ; RESTORE R1
003754 012601 MOV (SP)+,R1
3141 003756 RETURN ; AND GO AWAY
003756 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 109
*.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES
3143 .SBTTL *.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES* 7510.09
3144
3145 ;+
3146 ; .RDCPP -- SUBROUTINE TO READ THE KL10 CLOCK AND INTERNAL PARITY
3147 ; CHECKING PARAMETERS.
3148 ;
3149 ; THIS SUBROUTINE READS THE KL10 CLOCK SOURCE, RATE AND DISTRIBUTION
3150 ; ENABLES AS WELL AS THE KL10 INTERNAL PARITY ENABLES AND MAINTAINS
3151 ; THEM IN ".CLKWD" AND ".PSCWD", RESPECTIVELY.
3152 ;
3153 ; CALLING SEQUENCE IS:
3154 ;
3155 ; CALL .RDCPP ; READ CLOCK AND PARITY ENABLES
3156 ; BCS ERROR ; ERROR IF C-BIT IS SET
3157 ;
3158 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE NO REGISTERS
3159 ; ARE ALTERED BY THIS SUBROUTINE.
3160 ;
3161 ; ERROR CODES RETURNED:
3162 ;
3163 ; FRF -- FUNCTION READ FAILED.
3164 ;-
3165
3166 003760 .RDCPP::
3167 003760 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
003760 004537 010134' JSR R5,REGSAV
3168 003764 PUSH R0 ; R0 TOO
003764 010046 MOV R0,-(SP)
3169 003766 012704 000004 MOV #^D4,R4 ; .USE R4 AS A COUNTER
3170 003772 012703 004122' MOV #RDCPT1,R3 ; .BIT TEST TABLE POINTER TO R3
3171 003776 012705 000000' MOV #RDCPT3,R5 ; .SAVE AREA POINTER TO R5
3172 004002 RDCPP0:
3173 004002 112300 MOVB (R3)+,R0 ; .FR CODE TO R0
3174 004004 005001 CLR R1 ; .CLEAR R1
3175 004006 CALL .FREAD ; .READ A WORD
004006 004737 007412' JSR PC,.FREAD
3176 004012 103440 BCS RDCPEX ; .ERROR IF C-BIT IS SET
3177 004014 011025 MOV (R0),(R5)+ ; .SAVE BITS 20 THRU 35 IN TABLE
3178 004016 SOB R4,RDCPP0 ; .READ ALL FOUR OF THEM
004016 005304 DEC R4
004020 001370 BNE RDCPP0
3179 ; .NOW FALL INTO TEST ROUTINE
3180
3181 ; [CONTINUED ON NEXT PAGE]
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 110
*.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES
3183 ; .HERE FROM PREVIOUS PAGE
3184 004022 012700 000004 MOV #^D4,R0 ; .DO OUTER LOOP 4 TIMES
3185 004026 012705 000000' MOV #RDCPT3,R5 ; .KL10 SAVE AREA POINTER TO R5
3186 004032 RDCPP1:
3187 004032 012704 000004 MOV #^D4,R4 ; .DO INNER LOOP 4 TIMES
3188 004036 012702 004166' MOV #RDCPT2,R2 ; .KL10 MASK POINTER TO R2
3189 004042 RDCPP2:
3190 004042 012701 000200' MOV #.CLKWD,R1 ; .CLOCK WORD POINTER TO R1
3191 004046 020427 000002 CMP R4,#^D2 ; .IS INNER LOOP COUNT .GT. 2?
3192 004052 101004 BHI RDCPP3 ; .BRANCH IF YES
3193 004054 001001 BNE RDCPPA ; .BRANCH IF .LT. 2
3194 004056 005115 COM (R5) ; .INVERT THE WORD SO REST OF CODE WORKS
3195 004060 RDCPPA:
3196 004060 012701 000204' MOV #.PSCWD,R1 ; .DO PARITY WORD
3197 004064 RDCPP3:
3198 004064 041311 BIC (R3),(R1) ; .FLUSH THE BIT IN THE FLAG WORD
3199 004066 031215 BIT (R2),(R5) ; .TEST THE BIT WE READ IN THIS WORD
3200 004070 001401 BEQ RDCPP4 ; .BRANCH IF BIT IS OFF
3201 004072 051311 BIS (R3),(R1) ; .TURN THE BIT ON IN THE FLAG WORD
3202 004074 RDCPP4:
3203 004074 022322 CMP (R3)+,(R2)+ ; .ADVANCE THE MASK POINTERS
3204 004076 SOB R4,RDCPP2 ; .DO INNER LOOP 4 TIMES
004076 005304 DEC R4
004100 001360 BNE RDCPP2
3205 004102 005125 COM (R5)+ ; .ADVANCE THE SAVE AREA POINTER
3206 ; .AND STRAIGHTEN THE WORD OUT
3207 004104 SOB R0,RDCPP1 ; .DO OUTER LOOP 4 TIMES
004104 005300 DEC R0
004106 001351 BNE RDCPP1
3208 004110 000241 CLC ; .CLEAR THE C-BIT
3209 004112 000401 BR RDCPXX ; .AND EXIT
3210 004114 RDCPEX:
3211 004114 010016 MOV R0,(SP) ; .PUT ERROR CODE IN CALLER'S R0
3212 004116 RDCPXX:
3213 004116 POP R0 ; GIVE R0 BACK
004116 012600 MOV (SP)+,R0
3214 004120 RETURN ; AND GO AWAY
004120 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 111
*.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES
3216 ; TABLES USED TO READ AND SET CLOCK AND PARITY ENABLES
3217
3218 ; THE FIRST FOUR BYTES IN THIS TABLE ARE THE FUNCTION READ CODES
3219 ; TO BE EXECUTED, THE REMAINING WORDS ARE USED TO SET OR CLEAR
3220 ; THE APPROPRIATE BITS IN ".CLKWD" AND ".PSCWD"
3221
3222 004122 RDCPT1:
3223 004122 210 .BYTE FR.104
3224 004123 212 .BYTE FR.105
3225 004124 214 .BYTE FR.106
3226 004125 216 .BYTE FR.107
3227 004126 000010 .WORD CS.CS2 ; CLK SOURCE 2 H [FR.104 - BIT 32]
3228 ; [FW 44 - BIT 32]
3229 004130 000000 .WORD 0 ; BLANK [FR.104 - BIT 33]
3230 004132 000010 .WORD IP.FMP ; FM PAR EN L [FR.104 - BIT 34]
3231 ; [FW 46 - BIT 32]
3232 004134 000000 .WORD 0 ; BLANK [FR.104 - BIT 35]
3233 004136 000004 .WORD CS.CS1 ; CLK SOURCE 1 H [FR.105 - BIT 32]
3234 ; [FW 44 - BIT 33]
3235 004140 002000 .WORD CD.CRC ; CLK CRAM DIS H [FR.105 - BIT 33]
3236 ; [FW 45 - BIT 33]
3237 004142 000004 .WORD IP.CRP ; CRAM PAR EN L [FR.105 - BIT 34]
3238 ; [FW 46 - BIT 33]
3239 004144 000000 .WORD 0 ; BLANK [FR.105 BIT - 35]
3240 004146 000002 .WORD CR.CR2 ; CLK RATE 2 H [FR.106 - BIT 32]
3241 ; [FW 44 - BIT 34]
3242 004150 001000 .WORD CD.DPC ; CLK EDP DIS H [FR.106 - BIT 33]
3243 ; [FW 45 - BIT 34]
3244 004152 000002 .WORD IP.DRP ; DRAM PAR EN L [FR.106 - BIT 34]
3245 ; [FW 46 - BIT 34]
3246 004154 001000 .WORD AP.ARP ; AR/ARX PAR EN L [FR.106 - BIT 35]
3247 ; [FW 47 - BIT 34]
3248 004156 000001 .WORD CR.CR1 ; CLK RATE 1 H [FR.107 - BIT 32]
3249 ; [FW 44 - BIT 35]
3250 004160 000400 .WORD CD.CLC ; CLK CTL DIS H [FR.107 - BIT 33]
3251 ; [FW 45 - BIT 35]
3252 004162 000001 .WORD IP.FSS ; FS STOP EN L [FR.107 -BIT 34]
3253 ; [FW 46 - BIT 35]
3254 004164 000400 .WORD AP.EIP ; CLK ERR STOP EN L [FR.107 - BIT 35]
3255 ; [FW 47 - BIT 35]
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 112
*.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES
3257 ; THESE BITS ARE USED TO MASK THE DATA FROM THE FUNCTION READS
3258
3259 004166 RDCPT2:
3260 004166 000010 .WORD BIT03 ; KL10 BIT 32
3261 004170 000004 .WORD BIT02 ; KL10 BIT 33
3262 004172 000002 .WORD BIT01 ; KL10 BIT 34
3263 004174 000001 .WORD BIT00 ; KL10 BIT 35
3264
3265 ; THE DATA FROM THE FUNCTION READS ARE STORED IN THIS TABLE
3266
3267 000000 .PSECT TABLES
3268
3269 000000 RDCPT3:
3270 000000 000000 .WORD 0 ; FR.104 BITS 20 - 35
3271 000002 000000 .WORD 0 ; FR.105 BITS 20 - 35
3272 000004 000000 .WORD 0 ; FR.106 BITS 20 - 35
3273 000006 000000 .WORD 0 ; FR.107 BITS 20 - 35
3274
3275 004176 .PSECT
3276
3277 .IF NE $RAMSW
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 113
*.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES
3279 .SBTTL *.RDCRD -- SUBROUTINE TO READ THE KL10 CRAM DISP FIELD* 7511.22
3280
3281 ;+
3282 ; .RDCRD -- SUBROUTINE TO READ THE KL10 CRAM DISP FIELD.
3283 ;
3284 ; THIS SUBROUTINE READS AND RETURNS THE CONTENT OF THE CRAM DISP FIELD
3285 ; IN R0.
3286 ;
3287 ; CALLING SEQUENCE IS:
3288 ;
3289 ; CALL .RDCRD ; READ CRAM DISP FIELD
3290 ; BCS ERROR ; ERROR IF C-BIT IS SET
3291 ;
3292 ; R0 CONTAINS A .RAD50 ERROR CODE ON ERROR, THE CONTENT OF CRAM DISP
3293 ; ON SUCCESS, NO OTHER REGISTERS ALTERED BY THIS SUBROUTINE.
3294 ;
3295 ; ERROR CODES RETURNED:
3296 ;
3297 ; FRF -- FUNCTION READ FAILED.
3298 ;-
3299
3300 .RDCRD::
3301 PUSH R1 ; SAVE R1 ON THE STACK
3302 CLR R1 ; .CLEAR R1
3303 MOV #FR.CRD,R0 ; .FR CODE TO R0
3304 CALL .FREAD ; .READ IT
3305 BCS RDCRDX ; .ERROR IF C-BIT IS SET
3306 MOV #-^D30,R1 ; .SHIFT COUNT TO R1
3307 CALL KLLSHI ; .SHIFT IT
3308 BIC #177740,(R0) ; .MASK UNWANTED BITS
3309 MOV (R0),R0 ; .COPY TO R0
3310 RDCRDX:
3311 POP R1 ; .RESTORE R1
3312 RETURN ; AND GO AWAY
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 114
*.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES
3314 .SBTTL *.RDCRM -- KL10 CONTROL RAM READ SUBROUTINE* 7511.19
3315
3316 ;+
3317 ; .RDCRM -- SUBROUTINE TO READ A LOCATION IN THE KL10 CONTROL RAM.
3318 ; .RDCRR -- SUBROUTINE TO READ THE OUTPUT OF THE CRAM REGISTER.
3319 ;
3320 ; THIS SUBROUTINE WILL READ ONE LOCATION IN THE KL10 CONTROL RAM.
3321 ;
3322 ; SEQUENCE OF OPERATION:
3323 ;
3324 ; .RDCRM:
3325 ;
3326 ; (A) THE KL10 IS HALTED IN THE HALT LOOP,
3327 ; (B) THE CONTROL RAM ADDRESS IS LOADED,
3328 ;
3329 ; .RDCRR:
3330 ;
3331 ; (C) THE CONTENT OF THE CURRENT CRAM ADDRESS IS READ.
3332 ;
3333 ; CALLING SEQUENCE IS:
3334 ;
3335 ; MOV #ADDR,R0 ; CRAM ADDRESS TO R0
3336 ; CALL .RDCRM ; READ THE CRAM
3337 ; BCS ERROR ; ERROR IF C-BIT IS SET
3338 ; -OR-
3339 ; CALL .RDCRR ; READ THE CRAM REGISTER
3340 ; BCS ERROR ; ERROR IF C-BIT IS SET
3341 ;
3342 ; R0 MUST CONTAIN THE CRAM ADDRESS TO BE READ IN THE CALL TO ".RDCRM".
3343 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, AND A POINTER TO
3344 ; THE RAM DATA ON SUCCESS. OTHERWISE NO REGISTERS ARE ALTERED
3345 ; BY THIS SUBROUTINE.
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 115
*.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES
3347 ; THE FOLLOWING IS A PICTURE OF THRE DATA RETURNED BY THIS SUBROUTINE:
3348 ;
3349 ; WORD CRAM DATA
3350 ; ---- ---------
3351 ; !==================================!
3352 ; 00 ! CRAM BITS 68 THRU 78 !
3353 ; !----------------------------------!
3354 ; 01 ! CRAM BITS 60 THRU 66 !
3355 ; !----------------------------------!
3356 ; 02 ! CRAM BITS 48 THRU 59 !
3357 ; !----------------------------------!
3358 ; 03 ! CRAM BITS 40 THRU 47 !
3359 ; !----------------------------------!
3360 ; 04 ! CRAM BITS 28 THRU 39 !
3361 ; !----------------------------------!
3362 ; 05 ! CRAM BITS 20 THRU 27 !
3363 ; !----------------------------------!
3364 ; 06 ! CRAM BITS 08 THRU 19 !
3365 ; !----------------------------------!
3366 ; 07 ! CRAM BITS 00 THRU 07 !
3367 ; !----------------------------------!
3368 ; 08 ! CRAM DISP BITS 00 THRU 04 !
3369 ; !==================================!
3370 ;
3371 ; ERROR CODES RETURNED:
3372 ;
3373 ; CAE -- CRAM ADDRESS ERROR.
3374 ; FRF -- FUNCTION READ FAILED.
3375 ; FWF -- FUNCTION WRITE FAILED.
3376 ; FXF -- FUNCTION EXECUTE FAILED.
3377 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 116
*.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES
3379 .RDCRM::
3380 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
3381 CMP R0,#2377 ; IS THE ADDRESS IN RANGE?
3382 BHI RDCRME ; BRANCH IF NOT
3383 CALL .LDCRA ; LOAD THE CRAM ADDRESS
3384 BCS RDCRMX ; ERROR IF C-BIT IS SET
3385 MOV #FX.EBC,R0 ; NOW CLOCK THE DATA OUT OF THE RAM
3386 CALL .FXCT ; DO IT
3387 BCS RDCRMX ; ERROR IF C-BIT IS SET
3388 .RDCRR:: ; HERE TO READ THE CRAM REGISTER
3389 MOV #.CRAMR,R2 ; SAVE AREA POINTER TO R2
3390 MOV #FR.CR4,R5 ; BASE READ TO R5
3391 MOV #^D4,R3 ; USE R3 AS A COUNTER
3392 RDCRM1:
3393 CLR R1 ; CLEAR R1
3394 MOV R5,R0 ; PASS THE FREAD CODE
3395 CALL .FREAD ; DO IT
3396 BCS RDCRMX ; ERROR IF C-BIT IS SET
3397 MOV (R0)+,(R2)+ ; LOAD CALLER'S BUFFER FROM OURS
3398 MOV (R0)+,(R2)+ ;
3399 TST (R5)+ ; INCREMENT THE FREAD CODE
3400 SOB R3,RDCRM1 ; LOOP TILL DONE
3401 CALL .RDCRD ; READ THE DISPATCH FIELD
3402 BCS RDCRDX ; ERROR IF C-BIT IS SET
3403 MOV R0,(R2) ; PUT IT IN THE DATA BLOCK
3404 CALL .CLDFW ; CLEAR THE FUNCTION WRITE BUFFER
3405 CLR R1 ; CLEAR R1
3406 MOV #FW.CA1,R0 ; CLEAR CRAM DIAG ADDR
3407 CALL .FWRIT ; SO
3408 BCS RDCRMX ; ERROR IF C-BIT IS SET
3409 MOV #FW.CA2,R0 ; NOW THE OTHER HALF
3410 CALL .FWRIT ; SO
3411 BCS RDCRMX ; ERROR IF C-BIT IS SET
3412 MOV #.CRAMR,R0 ; POINT TO SAVE AREA
3413 RDCRMX:
3414 RETURN ; TO CALLER
3415 .IFTF
3416 004176 RDCRME:
3417 004176 ERROR$ CAE ; CRAM ADDRESS ERROR
004176 012700 MOV (PC)+,R0 ; MOVE .RAD50 ERROR CODE TO R0
004200 011355 .RAD50 /CAE/ ; "CAE" ERROR CODE IN .RAD50
3418 004202 000261 SEC ; SET THE ERROR FLAG
3419 004204 RETURN ; TO CALLER
004204 000207 RTS PC
3420 .IFT
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 117
*.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES
3422 .SBTTL *.RDCRO -- SUBROUTINE TO READ THE KL10 CRAM OUTPUT* 7511.05
3423
3424 ;+
3425 ; .RDCRO -- SUBROUTINE TO READ THE KL10 CRAM OUTPUT.
3426 ;
3427 ; THIS SUBROUTINE WILL READ THE CURRENT OUTPUT OF THE KL10 CRAM
3428 ; AND IS USEFUL ON CLOCK ERROR STOPS (Q.V.) WHICH ARE CAUSED BY
3429 ; CRAM PARITY ERRORS.
3430 ;
3431 ; CALLING SEQUENCE IS:
3432 ;
3433 ; CALL .RDCRO ; READ THE CRAM OUTPUT
3434 ; BCS ERROR ; ERROR IF C-BIT IS SET
3435 ;
3436 ; R0 CONTAINS A POINTER TO A TEN WORD BLOCK WHICH CONTAINS THE
3437 ; CURRENT CRAM ADDRESS FOLLOWED BY THE CURRENT CRAM ADDRESS CONTENTS
3438 ; ON SUCCESS. ON FAILURE, R0 CONTAINS A .RAD50 ERROR CODE. NO OTHER
3439 ; REGISTERS ARE ALTERED BY THIS SUBROUTINE.
3440 ;
3441 ; ERROR CODES RETURNED:
3442 ;
3443 ; CAE -- CRAM ADDRESS ERROR.
3444 ; FRF -- FUNCTION READ FAILED.
3445 ; FWF -- FUNCTION WRITE FAILED.
3446 ; FXF -- FUNCTION EXECUTE FAILED.
3447 ;-
3448
3449 .RDCRO:
3450 CALL .RDCRA ; READ THE CRAM ADDRESS
3451 BCS RDCROX ; ERROR IF C-BIT IS SET
3452 MOV R0,.CRAMA ; SAVE THE ADDRESS
3453 CALL .RDCRR ; READ THE CRAM DATA
3454 BCS RDCROX ; ERROR IF C-BIT IS SET
3455 TST -(R0) ; RETURN POINTER
3456 RDCROX:
3457 RETURN ; TO CALLER
3458
3459 .ENDC ; $RAMSW
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 118
*.RDDPB -- SUBROUTINES TO READ THE KL10 DATA PATH BOARDS* 7509
3461 .SBTTL *.RDDPB -- SUBROUTINES TO READ THE KL10 DATA PATH BOARDS* 7509.23
3462
3463 ;+
3464 ; .RDADR -- SUBROUTINE TO READ THE KL10 ADDER REGISTER.
3465 ; .RDADX -- SUBROUTINE TO READ THE KL10 ADDER EXTENSION REGISTER.
3466 ; .RDARR -- SUBROUTINE TO READ THE KL10 ARITHMETIC REGISTER.
3467 ; .RDARX -- SUBROUTINE TO READ THE KL10 ARITHMETIC REGISTER EXTENSION.
3468 ; .RDBRR -- SUBROUTINE TO READ THE KL10 BUFFER REGISTER.
3469 ; .RDBRX -- SUBROUTINE TO READ THE KL10 BUFFER REGISTER EXTENSION.
3470 ; .RDEBS -- SUBROUTINE TO READ THE KL10 EBUS REGISTER.
3471 ; .RDFMR -- SUBROUTINE TO READ THE KL10 FAST MEMORY REGISTER.
3472 ; .RDMQR -- SUBROUTINE TO READ THE KL10 MULTIPLIER QUOTIENT REGISTER.
3473 ;
3474 ; THESE SUBROUTINES READ AND RETURN THE CONTENT OF THE SPECIFIED KL10
3475 ; DATA PATH REGISTER IN A TRIPLET POINTED TO BY R1 IN THE CALL.
3476 ;
3477 ; CALLING SEQUENCE IS:
3478 ;
3479 ; MOV #BUFADR,R1 ; BUFFER ADDRESS TO R1
3480 ; CALL .RDADR ; READ THE KL10 ADDER
3481 ; BCS ERROR ; ERROR IF C-BIT IS SET
3482 ;
3483 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE AND POINTS TO THE TOP
3484 ; OF THE READ BLOCK ON SUCCESS; OTHERWISE NO REGISTERS ARE ALTERED
3485 ; BY THESE SUBROUTINES.
3486 ;
3487 ; ERROR CODES RETURNED:
3488 ;
3489 ; FRF -- FUNCTION READ FAILED.
3490 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 119
*.RDDPB -- SUBROUTINES TO READ THE KL10 DATA PATH BOARDS* 7509
3492 004206 .RDADR::
3493 004206 012700 000256 MOV #FR.RAD,R0 ; READ THE KL10 ADDER
3494 004212 000427 BR .RDDPB ; COMMON CODE
3495 004214 .RDADX::
3496 004214 012700 000254 MOV #FR.ADX,R0 ; READ THE KL10 ADDER EXTENSION
3497 004220 000424 BR .RDDPB ; COMMON CODE
3498 004222 .RDARR::
3499 004222 012700 000240 MOV #FR.RAR,R0 ; READ THE KL10 ARITHMETIC REGISTER
3500 004226 000421 BR .RDDPB ; COMMON CODE
3501 004230 .RDARX::
3502 004230 012700 000252 MOV #FR.ARX,R0 ; READ THE KL10 AR EXTENSION REGISTER
3503 004234 000416 BR .RDDPB ; COMMON CODE
3504 004236 .RDBRR::
3505 004236 012700 000242 MOV #FR.RBR,R0 ; READ THE KL10 BUFFER REGISTER
3506 004242 000413 BR .RDDPB ; COMMON CODE
3507 004244 .RDBRX::
3508 004244 012700 000250 MOV #FR.BRX,R0 ; READ THE KL10 BR EXTENSION REGISTER
3509 004250 000410 BR .RDDPB ; COMMON CODE
3510 004252 .RDEBS::
3511 004252 012700 000356 MOV #FR.EBS,R0 ; READ THE KL10 EBUS REGISTER
3512 004256 000405 BR .RDDPB ; COMMON CODE
3513 004260 .RDFMR::
3514 004260 012700 000246 MOV #FR.RFM,R0 ; READ THE KL10 FAST MEMORY REGISTER
3515 004264 000402 BR .RDDPB ; COMMON CODE
3516 004266 .RDMQR::
3517 004266 012700 000244 MOV #FR.RMQ,R0 ; READ THE KL10 MULTIPLIER QUOTIENT REGISTER
3518 ; FALL INTO COMMON CODE
3519 004272 .RDDPB::
3520 004272 CALL .FREAD ; READ IT
004272 004737 007412' JSR PC,.FREAD
3521 004276 RETURN ; AND JUST GO AWAY
004276 000207 RTS PC
3522
3523 .IF NE $RAMSW
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 120
*.RDDPB -- SUBROUTINES TO READ THE KL10 DATA PATH BOARDS* 7509
3525 .SBTTL *.RDDRM -- SUBROUTINE TO READ THE KL10 DISPATCH RAM* 7511.05
3526
3527 ;+
3528 ; .RDDRM -- SUBROUTINE TO READ THE KL10 DISPATCH RAM.
3529 ; .RDDRR -- SUBROUTINE TO READ THE OUTPUT OF THE DRAM REGISTER.
3530 ;
3531 ; THE ".RDDRM" SUBROUTINE WILL READ A PAIR OF LOCATIONS IN THE KL10 DRAM,
3532 ; BEGINNING WITH THE EVEN DRAM ADDRESS SPECIFIED IN R0.
3533 ;
3534 ; THE ".RDDRR" SUBROUTINE WILL READ THE DRAM REGISTER OUTPUT.
3535 ;
3536 ; SEQUENCE OF OPERATION:
3537 ;
3538 ; .RDDRM:
3539 ;
3540 ; (A) THE FIRST (EVEN) DRAM ADDRESS IS LOADED,
3541 ; (B) THE DATA FROM THE EVEN ADDRESS IS READ,
3542 ; (C) THE SECOND (ODD) DRAM ADDRESS IS LOADED,
3543 ; (D) THE DATA FROM THE ODD ADDRESS IS READ,
3544 ; (E) KL10 OPCODES ARE REENABLED (TURNED OFF BY ADDRESS LOAD),
3545 ;
3546 ; .RDDRR:
3547 ;
3548 ; (A) THE CURRENT OUTPUT OF THE DRAM REGISTER IS READ.
3549 ;
3550 ; CALLING SEQUENCE IS:
3551 ;
3552 ; MOV #ADR,R0 ; DRAM ADDRESS TO R0
3553 ; CALL .RDDRM ; READ THE DRAM PAIR
3554 ; BCS ERROR ; ERROR IF C-BIT IS SET
3555 ; -OR-
3556 ; CALL .RDRR ; READ THE DRAM REGISTER
3557 ; BCS ERROR ; ERROR IF C-BIT IS SET
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 121
*.RDDPB -- SUBROUTINES TO READ THE KL10 DATA PATH BOARDS* 7509
3559 ; R0 CONTAINS A POINTER TO A 6 BYTE BLOCK WHICH CONTAINS THE DRAM
3560 ; DATA ON SUCCESS AND A .RAD50 ERROR CODE ON FAILURE. THE FORMAT
3561 ; OF THE DATA BLOCK IS:
3562 ;
3563 ; !===============================!
3564 ; 00 ! DRAM A + B EVEN !
3565 ; !-------------------------------!
3566 ; 01 ! DRAM J 1 - 4 EVEN !
3567 ; !-------------------------------!
3568 ; 02 ! DRAM J 7 - 10 + PAR EVEN !
3569 ; !-------------------------------!
3570 ; 03 ! DRAM A + B ODD !
3571 ; !-------------------------------!
3572 ; 04 ! DRAM J 1 - 4 ODD !
3573 ; !-------------------------------!
3574 ; 05 ! DRAM J 7 - 10 + PAR ODD !
3575 ; !===============================!
3576 ;
3577 ; THESE BYTES ARE RIGHT JUSTIFIED.
3578 ;
3579 ; NO OTHER REGISTERS ARE ALTERED BY THIS SUBROUTINE.
3580 ;
3581 ; ERROR CODES RETURNED:
3582 ;
3583 ; CCC -- CAN'T CLEAR KL10 CLOCK.
3584 ; DAE -- KL10 DRAM ADDRESS ERROR.
3585 ; FRF -- FUNCTION READ FAILED.
3586 ; FWF -- FUNCTION WRITE FAILED.
3587 ; FXF -- FUNCTION EXECUTE FAILED.
3588 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 122
*.RDDPB -- SUBROUTINES TO READ THE KL10 DATA PATH BOARDS* 7509
3590 .RDDRR::
3591 CALL R5,REGSAV ; SAVE R1 - R5 ON THE STACK
3592 PUSH #^D1 ; FAKE THE EXIT OUT
3593 MOV #.DRAMR,R3 ; .SAVE AREA POINTER TO R3
3594 BR RDRAMA ; .DO THE READ
3595 .RDDRM::
3596 CALL R5,REGSAV ; SAVE R1 - R5 ON THE STACK
3597 PUSH R0 ; AND R0, TOO
3598 BIT #177001,R0 ; .IS THE ADDRESS OK?
3599 BNE RDRAER ; .ERROR -- OUT OF RANGE OR ODD
3600 MOV #.DRAMR,R3 ; .SAVE AREA POINTER TO R3
3601 RDDRM1:
3602 CALL .LDRAD ; .LOAD THE ADDRESS
3603 BCS RDDRME ; .ERROR IF C-BIT IS SET
3604 MOV #FX.UDR,R0 ; .GET THE DATA FROM THE RAM
3605 CALL .FXCT ; .DO IT
3606 BCS RDDRME ; .ERROR IF C-BIT IS SET
3607 RDRAMA:
3608 MOV #DRAMT,R5 ; .MASK TABLE POINTER
3609 MOV #FR.133,R4 ; .BASE READ TO R4
3610 RDDRM2:
3611 MOV R4,R0 ; .GET THE READ CODE
3612 CLR R1 ; .CLEAR R1
3613 CALL .FREAD ; .DO IT
3614 BCS RDDRME ; .ERROR IF C-BIT IS SET
3615 MOVB 2(R0),(R3) ; .PICK UP THIS BYTE
3616 ASRB (R3) ; .DATA NEEDS TWO SHIFTS
3617 ASRB (R3) ; .SO
3618 BICB (R5)+,(R3)+ ; .MASK IT OFF
3619 CMP #FR.135,R4 ; .ARE WE DONE THIS SET OF READS?
3620 BEQ RDDRM3 ; .BRANCH IF SO
3621 CLC ; .CLEAR THE C-BIT
3622 TST (R4)+ ; .NEXT READ
3623 BR RDDRM2 ; .DO IT
3624 RDDRM3:
3625 BIT #BIT00,(SP) ; .ARE WE ALL THROUGH READING?
3626 BNE RDDRMX ; .BRANCH IF SO
3627 INC (SP) ; .MAKE THE ADDRESS ODD
3628 MOV (SP),R0 ; .PUT IT IN R0
3629 BR RDDRM1 ; .AND DO ODD READ
3630
3631 ; [FALL THROUGH TO NEXT PAGE IF DONE READS]
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 123
*.RDDPB -- SUBROUTINES TO READ THE KL10 DATA PATH BOARDS* 7509
3633 RDDRMX:
3634 CLC ; .CLEAR THE C-BIT
3635 MOV #FW.KLO,R0 ; .REENABLE KL10 OPCODES
3636 CALL .FWRIT ; .DO IT
3637 BCS RDDRME ; .ERROR IF C-BIT IS SET
3638 BIS #KF.KLO,.KLFLG ; .SET THE FLAG BIT
3639 MOV #.DRAMR,R0 ; .POINT TO THE READ DATA
3640 RDDRME:
3641 INC (SP)+ ; CLEAR THE STACK
3642 RETURN ; TO CALLER
3643 RDRAER:
3644 ERROR$ DAE ; .DRAM ADDRESSING ERROR
3645 SEC ; .SET ERROR FLAG
3646 BR RDDRME ; .GIVE ERROR RETURN
3647
3648 ; TABLE USED BY DRAM READ
3649
3650 DRAMT:
3651 .BYTE 300 ; BIT MASKS
3652 .BYTE 360
3653 .BYTE 300
3654 .EVEN
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 124
*.RDDPB -- SUBROUTINES TO READ THE KL10 DATA PATH BOARDS* 7509
3656 .SBTTL *.RDDRO -- SUBROUTINE TO READ THE KL10 DRAM OUTPUT* 7511.05
3657
3658 ;+
3659 ; .RDDRO -- SUBROUTINE TO READ THE KL10 DRAM OUTPUT.
3660 ;
3661 ; THIS SUBROUTINE WILL READ THE CURRENT OUTPUT OF THE KL10 DRAM
3662 ; AND IS USEFUL ON CLOCK ERROR STOPS (Q.V.) WHICH ARE CAUSED BY
3663 ; DRAM PARITY ERRORS.
3664 ;
3665 ; CALLING SEQUENCE IS:
3666 ;
3667 ; CALL .RDDRO ; READ THE DRAM OUTPUT
3668 ; BCS ERROR ; ERROR IF C-BIT IS SET
3669 ;
3670 ; R0 CONTAINS A POINTER TO A FOUR WORD BLOCK WHICH CONTAINS THE
3671 ; CURRENT DRAM ADDRESS FOLLOWED BY THE CURRENT DRAM ADDRESS CONTENTS
3672 ; ON SUCCESS. ON FAILURE, R0 CONTAINS A .RAD50 ERROR CODE. NO OTHER
3673 ; REGISTERS ARE ALTERED BY THIS SUBROUTINE.
3674 ;
3675 ; ERROR CODES RETURNED:
3676 ;
3677 ; CCC -- CAN'T CLEAR KL10 CLOCK.
3678 ; DAE -- KL10 DRAM ADDRESS ERROR.
3679 ; FRF -- FUNCTION READ FAILED.
3680 ; FWF -- FUNCTION WRITE FAILED.
3681 ; FXF -- FUNCTION EXECUTE FAILED.
3682 ;-
3683
3684 .RDDRO::
3685 CALL .RDDRA ; READ THE DRAM ADDRESS
3686 BCS RDDROX ; ERROR IF C-BIT IS SET
3687 MOV R0,.DRAMA ; SAVE THE DRAM ADDRESS
3688 CALL .RDDRR ; READ THE DRAM REGISTER
3689 BCS RDDROX ; ERROR IF C-BIT IS SET
3690 TST -(R0) ; RETURN POINTER
3691 RDDROX:
3692 RETURN ; TO CALLER
3693
3694 .ENDC ; $RAMSW
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 125
*.RDFLG -- SUBROUTINE TO READ THE KL10 PC FLAGS* 7511.24
3696 .SBTTL *.RDFLG -- SUBROUTINE TO READ THE KL10 PC FLAGS* 7511.24
3697
3698 ;+
3699 ; .RDFLG -- SUBROUTINE TO READ THE KL10 PC FLAGS.
3700 ;
3701 ; THIS SUBROUTINE READS AND RETURNS THE STATE OF THE KL10 PC FLAGS IN R0.
3702 ;
3703 ; CALLING SEQUENCE IS:
3704 ;
3705 ; CALL .RDFLG ; READ THE FLAGS
3706 ; BCS ERROR ; ERROR IF C-BIT IS SET
3707 ;
3708 ; R0 CONTAINS THE PC FLAGS ON SUCCESS, AND A .RAD50 ERROR CODE
3709 ; ON FAILURE, NO OTHER REGISTERS ARE ALTERED.
3710 ;
3711 ; THE FOLLOWING IS A LIST OF THE KL10 FLAGS RETURNED IN R0:
3712 ;
3713 ; BIT # PC FLAG BIT AND MEANING KL10 BIT
3714 ;
3715 ; ----- ---------------------------- --------
3716 ;
3717 ; 12 PC.OVF -- KL10 OVERFLOW FLAG -- 00
3718 ; 11 PC.CY0 -- KL10 CARRY 0 FLAG -- 01
3719 ; 10 PC.CY1 -- KL10 CARRY 1 FLAG -- 02
3720 ; 09 PC.FOV -- KL10 FLOATING OVERFLOW FLAG -- 03
3721 ; 08 PC.BIS -- KL10 BYTE INCREMENT SUPPRESSION FLAG -- 04
3722 ; 07 PC.USR -- KL10 USER MODE FLAG -- 05
3723 ; 06 PC.UIO -- KL10 USER IOT MODE FLAG -- 06
3724 ; 05 PC.LIP -- KL10 LAST INSTRUCTION PUBLIC FLAG -- 07
3725 ; 04 PC.AFI -- KL10 ADDRESS FAILURE INHIBIT FLAG -- 08
3726 ; 03 PC.AT1 -- KL10 APR TRAP 1 FLAG -- 09
3727 ; 02 PC.AT0 -- KL10 APR TRAP 0 FLAG -- 10
3728 ; 01 PC.FUF -- KL10 FLOATING UNDERFLOW FLAG -- 11
3729 ; 00 PC.NDV -- KL10 NO DIVIDE FLAG -- 12
3730 ;
3731 ; NOTE:
3732 ;
3733 ; THE KL10 MUST BE IN THE HALT LOOP BEFORE THIS SUBROUTINE IS CALLED.
3734 ;
3735 ; ERROR CODES RETURNED:
3736 ;
3737 ; FRF -- FUNCTION READ FAILED.
3738 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 126
*.RDFLG -- SUBROUTINE TO READ THE KL10 PC FLAGS* 7511.24
3740 004300 .RDFLG::
3741 004300 PUSH <R1,R2> ; SAVE R1 AND R2 ON THE STACK
004300 010146 MOV R1,-(SP)
004302 010246 MOV R2,-(SP)
3742 004304 005001 CLR R1 ; ..CLEAR R1
3743 004306 005002 CLR R2 ; ..AND R2
3744 004310 012700 000202 MOV #FR.101,R0 ; ..FR CODE FOR LOW FLAGS
3745 004314 CALL .FREAD ; ..READ THEM
004314 004737 007412' JSR PC,.FREAD
3746 004320 103441 BCS RDFLGX ; ..ERROR IF C-BIT IS SET
3747 004322 012701 177764 MOV #-^D12,R1 ; ..SHIFT COUNT TO R1
3748 004326 CALL KLLSHI ; ..SHIFT OUR WORD
004326 004737 010700' JSR PC,KLLSHI
3749 004332 042710 177700 BIC #177700,(R0) ; ..MASK OUT FLAG BITS
3750 004336 051002 BIS (R0),R2 ; ..PUT THE LOW FLAGS IN R2
3751 004340 005001 CLR R1 ; ..AGAIN
3752 004342 012700 000200 MOV #FR.100,R0 ; ..FR CODE FOR MOST OF THE FLAGS
3753 004346 CALL .FREAD ; ..READ THEM
004346 004737 007412' JSR PC,.FREAD
3754 004352 103424 BCS RDFLGX ; ..ERROR IF C-BIT IS SET
3755 004354 012701 177772 MOV #-^D6,R1 ; ..SHIFT COUNT TO R1
3756 004360 CALL KLLSHI ; ..SHIFT THE DATA
004360 004737 010700' JSR PC,KLLSHI
3757 004364 042710 170077 BIC #170077,(R0) ; ..JUST THE BITS WE WANT
3758 004370 051002 BIS (R0),R2 ; ..SAVE THE HIGH FLAGS IN R2
3759 004372 005001 CLR R1 ; ..CLEAR R1 AGAIN
3760 004374 012700 000264 MOV #FR.132,R0 ; ..FR CODE FOR LAST FLAG BIT
3761 004400 CALL .FREAD ; ..READ IT
004400 004737 007412' JSR PC,.FREAD
3762 004404 103407 BCS RDFLGX ; ..ERROR IF C-BIT IS SET
3763 004406 032760 000001 000004 BIT #BIT00,4(R0) ; ..IS IT ON?
3764 004414 001402 BEQ RDFLG1 ; ..BRANCH IF NOT
3765 004416 052702 010000 BIS #PC.OVF,R2 ; ..IT IS, SET IT IN OUR WORD
3766 004422 RDFLG1:
3767 004422 010200 MOV R2,R0 ; ..PUT A COPY IN R0
3768 004424 RDFLGX:
3769 004424 POP <R2,R1> ; RESTORE REGISTERS
004424 012602 MOV (SP)+,R2
004426 012601 MOV (SP)+,R1
3770 004430 RETURN ; TO CALLER
004430 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 127
*.RDFMA -- SUBROUTINE TO READ THE KL10 FM ADDRESS* 7511.14
3772 .SBTTL *.RDFMA -- SUBROUTINE TO READ THE KL10 FM ADDRESS* 7511.14
3773
3774 ;+
3775 ; .RDFMA -- SUBROUTINE TO READ THE KL10 FAST MEMORY ADDRESS REGISTER.
3776 ;
3777 ; THIS SUBROUTINE WILL READ AND RETURN THE KL10 FAST MEMORY ADDRESS
3778 ; A LOCATION POINTED TO BY R1 IN THE CALL. IF R1 IS ZERO, THE DATA
3779 ; IS RETURNED ONLY IN R0.
3780 ;
3781 ; THE FORMAT OF THE DATA RETURNED IS:
3782 ;
3783 ; !===============================================!
3784 ; ! FM BLOCK ! FM ADDRESS !
3785 ; !===============================================!
3786 ;
3787 ; CALLING SEQUENCE IS:
3788 ;
3789 ; MOV #BUFADR,R1 ; BUFFER POINTER TO R1
3790 ; CALL .RDFMA ; READ THE FAST MEMORY ADDRESS
3791 ; BCS ERROR ; ERROR IF C-BIT IS SET
3792 ;
3793 ; R0 WILL CONTAIN A RAD50 ERROR CODE IF THE SUBROUTINE FAILS,
3794 ; OTHERWISE NO REGISTERS ARE ALTERED BY THIS SUBROUTINE.
3795 ;
3796 ; ERROR CODES RETURNED:
3797 ;
3798 ; FRF -- FUNCTION READ FAILED.
3799 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 128
*.RDFMA -- SUBROUTINE TO READ THE KL10 FM ADDRESS* 7511.14
3801 004432 .RDFMA::
3802 004432 PUSH R1 ; SAVE R1 ON THE STACK
004432 010146 MOV R1,-(SP)
3803 004434 005001 CLR R1 ; .CLEAR R1
3804 004436 012700 000230 MOV #FR.114,R0 ; .FR CODE TO READ FM ADDRESS
3805 004442 CALL .FREAD ; .READ IT
004442 004737 007412' JSR PC,.FREAD
3806 004446 103423 BCS RDFMAX ; .ERROR IF C-BIT IS SET
3807 004450 012701 177753 MOV #-^D21,R1 ; .SHIFT COUNT TO R1
3808 004454 CALL KLLSHI ; .SHIFT IT
004454 004737 010700' JSR PC,KLLSHI
3809 004460 PUSH (R0) ; .SAVE THE WORD ON THE STACK
004460 011046 MOV (R0),-(SP)
3810 004462 042716 177760 BIC #177760,(SP) ; ..MASK FM ADDRESS
3811 004466 042710 176017 BIC #176017,(R0) ; ..MASK OUT THE FM BLOCK NUMBER
3812 004472 012701 000004 MOV #^D4,R1 ; ..SHIFT IT INTO THE HIGH BYTE
3813 004476 CALL KLLSHI ; ..SO
004476 004737 010700' JSR PC,KLLSHI
3814 004502 052610 BIS (SP)+,(R0) ; ..SET IN THE FAST MEMORY ADDRESS
3815 004504 011000 MOV (R0),R0 ; .GET IT INTO R0
3816 004506 005716 TST (SP) ; .DO WE HAVE A POINTER?
3817 004510 001402 BEQ RDFMAX ; .BRANCH IF NOT
3818 004512 010076 000000 MOV R0,@(SP) ; .PUT IT WHERE HE WANTS IT
3819 004516 RDFMAX:
3820 004516 POP R1 ; RESTORE R1
004516 012601 MOV (SP)+,R1
3821 004520 RETURN ; AND LEAVE
004520 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 129
*.RDFMO -- SUBROUTINE TO READ KL10 FAST MEMORY OUTPUT* 7511.06
3823 .SBTTL *.RDFMO -- SUBROUTINE TO READ KL10 FAST MEMORY OUTPUT* 7511.06
3824
3825 ;+
3826 ; .RDFMO -- SUBROUTINE TO READ THE KL10 FAST MEMORY REGISTERS
3827 ;
3828 ; THIS SUBROUTINE WILL READ AND STORE THE FAST MEMORY ADDRESS AND
3829 ; OUTPUT IN A FOUR WORD BLOCK STARTING AT ".FMADR", AND IS USEFUL
3830 ; FOR GATHERING DATA ON FAST MEMORY PARITY ERRORS.
3831 ;
3832 ; CALLING SEQUENCE IS:
3833 ;
3834 ; CALL .RDFMO ; READ FAST MEMORRY REGISTERS
3835 ; BCS ERROR ; ERROR IF C-BIT IS SET
3836 ;
3837 ; R0 CONTAINS A POINTER TO THE FOUR WORD BLOCK ON SUCCESS, OR
3838 ; A .RAD50 ERROR CODE ON FAILURE. NO OTHER REGISTERS ARE
3839 ; ALTERED BY THIS ROUTINE.
3840 ;
3841 ; ERROR CODES RETURNED:
3842 ;
3843 ; FRF -- FUNCTION READ FAILED.
3844 ;-
3845
3846 004522 .RDFMO::
3847 004522 PUSH R1 ; SAVE R1 ON THE STACK
004522 010146 MOV R1,-(SP)
3848 004524 005001 CLR R1 ; .CLEAR R1
3849 004526 CALL .RDFMA ; .READ THE FAST MEMORY ADDRESS
004526 004737 004432' JSR PC,.RDFMA
3850 004532 103410 BCS RDFMOX ; .ERROR IF C-BIT IS SET
3851 004534 012701 000166' MOV #.FMADR,R1 ; .SET UP POINTER
3852 004540 010021 MOV R0,(R1)+ ; .SAVE FM ADDRESS
3853 004542 CALL .RDFMR ; .READ THE FAST MEMORY REGISTER
004542 004737 004260' JSR PC,.RDFMR
3854 004546 103402 BCS RDFMOX ; .ERROR IF C-BIT IS SET
3855 004550 012700 000166' MOV #.FMADR,R0 ; .RETURN POINTER
3856 004554 RDFMOX:
3857 004554 POP R1 ; RESTORE R1
004554 012601 MOV (SP)+,R1
3858 004556 RETURN ; TO CALLER
004556 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 130
.RDFMP -- READ FM PARITY ERROR BIT
3860 .SBTTL .RDFMP -- READ FM PARITY ERROR BIT
3861
3862 ;+
3863 ; .RDFMP -- SUBROUTINE TO READ FM PARITY BIT
3864 ;
3865 ; THIS ROUTINE WILL:
3866 ; 1. READ FM BLOCK,ADDR,AND PARITY
3867 ; 2. SHIFT PARITY BIT INTO R0
3868 ;
3869 ; CALLING SEQUENCE:
3870 ;
3871 ; CALL .RDFMP ;READ FM PARITY BIT
3872 ;
3873 ; INPUT ARGUMENTS:
3874 ;
3875 ; NONE
3876 ;
3877 ; OUTPUT ARGUMENTS:
3878 ;
3879 ; R0-PARITY ERROR BIT VALUE
3880 ;
3881 ; ERROR CODES RETURNED:
3882 ;
3883 ; FRF -- FUNCTION READ FAILED
3884 ;
3885 ;-
3886
3887 004560 .RDFMP:: ;READ FM PARITY BIT
3888
3889 004560 005001 CLR R1 ;NO BUFFER FOR .FREAD OUTPUT
3890 004562 012700 000230 MOV #FR.114,R0 ;FUNCTION READ 114
3891 004566 CALL .FREAD ;DO READ
004566 004737 007412' JSR PC,.FREAD
3892 004572 103407 BCS 10$ ;ERROR
3893 004574 012701 177756 MOV #-^D18,R1 ;SHIFT KL BIT 17 TO ELEVEN BIT 0
3894 004600 CALL .TPSHI ;SHIFT IT
004600 004737 010700' JSR PC,.TPSHI
3895 004604 011000 MOV (R0),R0 ;GET VALUE
3896 004606 042700 177776 BIC #177776,R0 ;CLEAR ALL BUT BIT 0
3897 004612 10$: RETURN
004612 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 131
*.RDIRR -- SUNROUTINE TO READ THE KL10 IR REGISTER* 7510.04
3899 .SBTTL *.RDIRR -- SUNROUTINE TO READ THE KL10 IR REGISTER* 7510.04
3900
3901 ;+
3902 ; .RDIRR -- SUBROUTINE TO READ THE KL10 INSTRUCTION REGISTER.
3903 ;
3904 ; THIS SUBROUTINE WILL READ THE CONTENT OF THE KL10 INSTRUCTION REGISTER
3905 ; AND RETURN IT IN R0. IN THE CASE OF A "JRST", "JFCL", OR I/O OPCODE,
3906 ; 13 BITS OF DATA ARE RETURNED, LEFT JUSTIFIED ON BIT 15 (OPCODE + IR AC
3907 ; FIELD). ALL OTHER OPCODES RETURN 9 BITS OF DATA, RIGHT JUSTIFIED ON
3908 ; BIT 00.
3909 ;
3910 ; CALLING SEQUENCE IS:
3911 ;
3912 ; CALL .RDIRR ; READ THE KL10 IR
3913 ; BCS ERROR ; ERROR IF C-BIT IS SET
3914 ;
3915 ; R0 CONTAINS THE CURRENT KL10 OPCODE ON SUCCESS, OR A .RAD50 ERROR
3916 ; CODE ON FAILURE; NO OTHER REGISTERS ARE ALTERED BY THIS SUBROUTINE.
3917 ;
3918 ; ERROR CODES RETURNED:
3919 ;
3920 ; FRF -- FUNCTION READ FAILED.
3921 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 132
*.RDIRR -- SUNROUTINE TO READ THE KL10 IR REGISTER* 7510.04
3923 004614 .RDIRR::
3924 004614 PUSH R1 ; SAVE R1 ON THE STACK
004614 010146 MOV R1,-(SP)
3925 004616 CALL .RDDRA ; .READ THE DRAM ADDRESS (OPCODE)
004616 004737 005120' JSR PC,.RDDRA
3926 004622 103442 BCS RDIRRX ; .ERROR IF C-BIT IS SET
3927 004624 022700 000254 CMP #JRST,R0 ; .IS IT A "JRST"?
3928 004630 001406 BEQ RDIRR1 ; .BRANCH IF SO
3929 004632 022700 000255 CMP #JFCL,R0 ; .IS IT A "JFCL"?
3930 004636 001403 BEQ RDIRR1 ; .BRANCH IF SO
3931 004640 022700 000700 CMP #KLIOT,R0 ; .IS IT AN I/O OPCODE
3932 004644 002430 BLT RDIRR3 ; .BRANCH IF NOT
3933 004646 RDIRR1:
3934 004646 012701 000004 MOV #^D4,R1 ; .SHIFT THE OPCODE OVER
3935 004652 CALL .SHIFT ; .SO
004652 004737 010102' JSR PC,.SHIFT
3936 004656 PUSH R0 ; .SAVE R0 ON THE STACK
004656 010046 MOV R0,-(SP)
3937 004660 012700 000264 MOV #FR.132,R0 ; ..SET UP TO READ AC FIELD
3938 004664 005001 CLR R1 ; ..CLEAR R1
3939 004666 CALL .FREAD ; ..READ IT
004666 004737 007412' JSR PC,.FREAD
3940 004672 103414 BCS RDIRR2 ; ..ERROR IF C-BIT IS SET
3941 004674 012701 177756 MOV #-^D18,R1 ; ..SHIFT THE AC FIELD OVER
3942 004700 CALL KLLSHI ; ..SO
004700 004737 010700' JSR PC,KLLSHI
3943 004704 042710 177760 BIC #177760,(R0) ; ..CLEAR OUT UNWANTED BITS
3944 004710 051610 BIS (SP),(R0) ; ..MAKE THE WHOLE OPCODE
3945 004712 011000 MOV (R0),R0 ; ..AND GET IT INTO R0
3946 004714 012701 000002 MOV #^D2,R1 ; ..LEFT JUSTIFY IT
3947 004720 CALL .SHIFT ; ..SO
004720 004737 010102' JSR PC,.SHIFT
3948 004724 RDIRR2:
3949 004724 005226 INC (SP)+ ; .CLEAR THE STACK
3950 004726 RDIRR3:
3951 004726 000241 CLC ; .CLEAR THE C-BIT
3952 004730 RDIRRX:
3953 004730 POP R1 ; .RESTORE R1
004730 012601 MOV (SP)+,R1
3954 004732 RETURN ; TO CALLER
004732 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 133
*.RDIPE -- READ KL10 PARITY ERROR FLAGS* 7511.13
3956 .SBTTL *.RDIPE -- READ KL10 PARITY ERROR FLAGS* 7511.13
3957
3958 ;+
3959 ; .RDIPE -- SUBROUTINE TO READ THE KL10 INTERNAL PARITY ERROR FLAGS.
3960 ;
3961 ; THIS SUBROUTINE READS THE INTERNAL KL10 PARITY ERROR FLAGS AND
3962 ; STORES THEM IN ".PEWRD" IN THE FOLLOWING FORMAT:
3963 ;
3964 ; (A) BIT00 ("PE.CES") [CLK ERROR STOP H],
3965 ; (B) BIT01 ("PE.DRM") [CLK DRAM PAR ERR H],
3966 ; (C) BIT02 ("PE.CRM") [CLK CRAM PAR ERR H],
3967 ; (D) BIT03 ("PE.FMP") [CLK FM PAR ERR H],
3968 ; (E) BIT04 ("PE.FSS") [CLK FS ERROR H].
3969 ;
3970 ; CALLING SEQUENCE IS:
3971 ;
3972 ; CALL .RDIPE ; READ THE KL10 PARITY ERRORS
3973 ; BCS ERROR ; ERROR IF C-BIT IS SET
3974 ;
3975 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE R0
3976 ; CONTAINS A COPY OF THE FLAGS IN ".PEWRD".
3977 ; ALL OTHER REGISTERS ARE PRESERVED.
3978 ;
3979 ; ERROR CODES RETURNED:
3980 ;
3981 ; FRF -- FUNCTION READ FAILED.
3982 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 134
*.RDIPE -- READ KL10 PARITY ERROR FLAGS* 7511.13
3984 004734 .RDIPE::
3985 004734 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
004734 004537 010134' JSR R5,REGSAV
3986 004740 012702 000204 MOV #FR.102,R2 ; BASE FUNCTION READ TO R2
3987 004744 012703 000040 MOV #BIT05,R3 ; MASK BIT TO R3
3988 004750 012704 000202' MOV #.PEWRD,R4 ; WORD POINTER TO R4
3989 004754 005014 CLR (R4) ; CLEAR THE WORD
3990 004756 012705 000001 MOV #BIT00,R5 ; BASE WORD MASK TO R5
3991 004762 005001 CLR R1 ; CLEAR R1
3992 004764 RDIPE1:
3993 004764 010200 MOV R2,R0 ; GET THE FR NUMBER
3994 004766 CALL .FREAD ; DO THE READ
004766 004737 007412' JSR PC,.FREAD
3995 004772 103412 BCS RDIPEX ; ERROR IF C-BIT IS SET
3996 004774 030310 BIT R3,(R0) ; IS THE BIT ON?
3997 004776 001401 BEQ RDIPE2 ; BRANCH IF NOT
3998 005000 050514 BIS R5,(R4) ; SET THE BIT IN THE WORD
3999 005002 RDIPE2:
4000 005002 062702 000002 ADD #^D2,R2 ; NEXT FUNCTION READ
4001 005006 006305 ASL R5 ; SHIFT THE WORD MASK
4002 005010 020503 CMP R5,R3 ; ARE WE DONE?
4003 005012 001364 BNE RDIPE1 ; NO, KEEP GOING
4004 005014 000241 CLC ; JUST IN CASE
4005 005016 011400 MOV (R4),R0 ; PUT THE WORD IN R0
4006 005020 RDIPEX:
4007 005020 RETURN ; AND GO AWAY
005020 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 135
*.RDPI -- SUBROUTINE TO READ THE PI BOARDS* 7510.16
4009 .SBTTL *.RDPI -- SUBROUTINE TO READ THE PI BOARDS* 7510.16
4010
4011 ;+
4012 ; .RDPI -- SUBROUTINE TO READ THE KL10 PI BOARDS.
4013 ;
4014 ; THIS SUBROUTINE READS THE KL10 PI BOARDS AND STORES THE STATUS IN
4015 ; A TWO WORD TABLE, ".PITAB", WHICH IS POINTED TO BY R0 ON SUCCESSFUL
4016 ; RETURN.
4017 ;
4018 ; WORD 0 OF ".PITAB" CONTAINS:
4019 ;
4020 ; (A) PIH 1 THRU PIH 7 (BITS 14 THRU 08),
4021 ; (B) PI ACTIVE (BIT 07),
4022 ; (C) PI ON 1 THRU PI ON 7 (BITS 06 THRU 00).
4023 ;
4024 ; WORD 2 OF ".PITAB" CONTAINS:
4025 ;
4026 ; (A) PI GEN 1 THRU PI GEN 7 (BITS 06 THRU 00).
4027 ;
4028 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, NO OTHER REGISTERS
4029 ; ARE ALTERED BY THIS SUBROUTINE.
4030 ;
4031 ; ERROR CODES RETURNED:
4032 ;
4033 ; FRF -- FUNCTION READ FAILED.
4034 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 136
*.RDPI -- SUBROUTINE TO READ THE PI BOARDS* 7510.16
4036 005022 .RDPI::
4037 005022 PUSH <R1,R2,R3> ; SAVE REGISTERS
005022 010146 MOV R1,-(SP)
005024 010246 MOV R2,-(SP)
005026 010346 MOV R3,-(SP)
4038 005030 012703 000014' MOV #RDPITB,R3 ; ...TABLE POINTER TO R3
4039 005034 012702 000010' MOV #.PITAB,R2 ; ...SAVE AREA POINTER TO R2
4040 005040 RDPI1:
4041 005040 005001 CLR R1 ; ...CLEAR R1
4042 005042 012300 MOV (R3)+,R0 ; ...FR CODE TO R0
4043 005044 CALL .FREAD ; ...READ IT
005044 004737 007412' JSR PC,.FREAD
4044 005050 103411 BCS RDPIX ; ...ERROR IF C-BIT IS SET
4045 005052 012301 MOV (R3)+,R1 ; ...SHIFT COUNT TO R1
4046 005054 CALL KLLSHI ; ...SHIFT IT
005054 004737 010700' JSR PC,KLLSHI
4047 005060 042310 BIC (R3)+,(R0) ; ...CLEAR UNWANTED BIT(S)
4048 005062 011022 MOV (R0),(R2)+ ; ...PUT IT IN SAVE AREA
4049 005064 022703 000030' CMP #RDPITE,R3 ; ...ARE WE AT END OF TABLE?
4050 005070 001363 BNE RDPI1 ; ...BRANCH IF NOT
4051 005072 011300 MOV (R3),R0 ; ...POINT TO SAVE AREA
4052 005074 RDPIX:
4053 005074 POP <R3,R2,R1> ; RESTORE REGISTERS
005074 012603 MOV (SP)+,R3
005076 012602 MOV (SP)+,R2
005100 012601 MOV (SP)+,R1
4054 005102 RETURN ; TO CALLER
005102 000207 RTS PC
4055
4056 000010 .PSECT TABLES
4057
4058 000010 .PITAB::
4059 000010 000000 000000 .WORD 0,0 ; 2 WORDS TO SAVE
4060
4061 000014 RDPITB:
4062 000014 000200 .WORD FR.PI0 ; FIRST READ CODE
4063 000016 177756 .WORD -^D18 ; SHIFT COUNT
4064 000020 100000 .WORD BIT15 ; MASK
4065 000022 000202 .WORD FR.PI1 ; SECOND READ CODE
4066 000024 177756 .WORD -^D18 ; SHIFT COUNT
4067 000026 177600 .WORD 177600 ; MASK
4068 000030' RDPITE=.
4069 000030 000010' .WORD .PITAB ; POINTER TO SAVE AREA
4070
4071 005104 .PSECT ; COMPRS
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 137
*.RDSMR -- SUBROUTINE TO READ SMALL KL10 REGISTERS 7511.05
4073 .SBTTL *.RDSMR -- SUBROUTINE TO READ SMALL KL10 REGISTERS 7511.05
4074
4075 ;+
4076 ; .RDCRA -- SUBROUTINE TO READ THE KL10 CRAM ADDR REGISTER.
4077 ; .RDCRL -- SUBROUTINE TO READ THE KL10 CRAM LOC REGISTER.
4078 ; .RDDRA -- SUBROUTINE TO READ THE KL10 DRAM ADDR REGISTER.
4079 ; .RDFER -- SUBROUTINE TO READ THE KL10 FLOATING EXPONENT REGISTER.
4080 ; .RDSCR -- SUBROUTINE TO READ THE KL10 SHIFT COUNT REGISTER.
4081 ; .RDSBR -- SUBROUTINE TO READ THE KL10 CRAM SUBROUTINE RETURN REGISTER.
4082 ;
4083 ; THESE SUBROUTINES READ THE CONTENT OF THE SPECIFIED REGISTER
4084 ; AND RETURN IT IN R0. NOTE THAT THE CONTENT OF EACH REGISTER IS LESS
4085 ; THAN 16 BITS AND MUST BE READ USING TWO FUNCTION READS.
4086 ;
4087 ; CALLING SEQUENCE IS:
4088 ;
4089 ; CALL .RDCRL ; READ CR LOC REGISTER
4090 ; BCS ERROR ; ERROR IF C-BIT IS SET
4091 ;
4092 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE OR THE CONTENT OF THE
4093 ; SPECIFIED REGISTER ON SUCCESS; OTHERWISE NO REGISTERS ARE ALTERED.
4094 ;
4095 ; ERROR CODES RETURNED:
4096 ;
4097 ; FRF -- FUNCTION READ FAILED.
4098 ;-
4099
4100 005104 .RDCRA::
4101 005104 012700 005230' MOV #CRATAB,R0 ; POINT TO CRAM ADDRESS TABLE
4102 005110 000416 BR .RDSMR ; DO COMMON CODE
4103 005112 .RDCRL::
4104 005112 012700 005244' MOV #CRLTAB,R0 ; POINT TO CR LOC TABLE
4105 005116 000413 BR .RDSMR ; DO COMMON CODE
4106 005120 .RDDRA::
4107 005120 012700 005260' MOV #DRATAB,R0 ; POINT TO DRAM ADDR TABLE
4108 005124 000410 BR .RDSMR ; DO COMMON CODE
4109 005126 .RDFER::
4110 005126 012700 005274' MOV #FERTAB,R0 ; POINT TO FE TABLE
4111 005132 000405 BR .RDSMR ; DO COMMON CODE
4112 005134 .RDSBR::
4113 005134 012700 005310' MOV #SBRTAB,R0 ; POINT TO CRAM SBR RET TABLE
4114 005140 000402 BR .RDSMR ; DO COMMON CODE
4115 005142 .RDSCR::
4116 005142 012700 005324' MOV #SCRTAB,R0 ; POINT TO SHIFT COUNT TABLE
4117 ; FALL INTO COMMON CODE
4118
4119 ; [CONTINUED ON NEXT PAGE]
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 138
*.RDSMR -- SUBROUTINE TO READ SMALL KL10 REGISTERS 7511.05
4121 005146 .RDSMR:: ; HERE FROM PREVIOUS PAGE
4122 005146 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
005146 004537 010134' JSR R5,REGSAV
4123 005152 010005 MOV R0,R5 ; POINTER TO R5
4124 005154 005001 CLR R1 ; CLEAR R1
4125 005156 012500 MOV (R5)+,R0 ; READ THE HIGH ORDER BITS
4126 005160 CALL .FREAD ; DO IT
005160 004737 007412' JSR PC,.FREAD
4127 005164 103420 BCS RDSMRX ; ERROR IF C-BIT IS SET
4128 005166 012501 MOV (R5)+,R1 ; SHIFT COUNT TO R1
4129 005170 CALL KLLSHI ; SHIFT IT
005170 004737 010700' JSR PC,KLLSHI
4130 005174 042510 BIC (R5)+,(R0) ; MASK OUT UNWANTED BITS
4131 005176 PUSH (R0) ; SAVE THE BITS
005176 011046 MOV (R0),-(SP)
4132 005200 012500 MOV (R5)+,R0 ; .READ THE LOW ORDER BITS
4133 005202 CALL .FREAD ; .DO IT
005202 004737 007412' JSR PC,.FREAD
4134 005206 103406 BCS RDSMRE ; .ERROR IF C-BIT IS SET
4135 005210 012501 MOV (R5)+,R1 ; .SHIFT COUNT TO R1
4136 005212 CALL KLLSHI ; .SHIFT IT
005212 004737 010700' JSR PC,KLLSHI
4137 005216 042510 BIC (R5)+,(R0) ; .MASK OUT UNWANTED BITS
4138 005220 051610 BIS (SP),(R0) ; .SET IN THE HIGH ORDER BITS
4139 005222 011000 MOV (R0),R0 ; .PUT IT IN R0
4140 005224 RDSMRE:
4141 005224 005226 INC (SP)+ ; CLEAR THE STACK
4142 005226 RDSMRX:
4143 005226 RETURN ; TO CALLER
005226 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 139
*.RDSMR -- SUBROUTINE TO READ SMALL KL10 REGISTERS 7511.05
4145 ; TABLES FOR SMALL REGISTER READS
4146
4147 005230 CRATAB:
4148 005230 000312 .WORD FR.CA1 ; FR FOR CRAM ADDR HIGH BITS
4149 005232 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
4150 005234 174077 .WORD 174077 ; BIT MASK FOR SAME
4151 005236 000310 .WORD FR.CA2 ; FR FOR CRAM ADDR LOW BITS
4152 005240 177742 .WORD -^D30 ; SHIFT COUNT FOR SAME
4153 005242 177700 .WORD 177700 ; BIT MASK FOR SAME
4154
4155 005244 CRLTAB:
4156 005244 000316 .WORD FR.CL1 ; FR FOR CRAM LOC HIGH BITS
4157 005246 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
4158 005250 174077 .WORD 174077 ; BIT MASK FOR SAME
4159 005252 000314 .WORD FR.CL2 ; FR FOR CRAM LOC LOW BITS
4160 005254 177742 .WORD -^D30 ; SHIFT COUNT FOR SAME
4161 005256 177700 .WORD 177700 ; BIT MASK FOR SAME
4162
4163 005260 DRATAB:
4164 005260 000260 .WORD FR.DA1 ; FR FOR DRAM ADDR HIGH BITS
4165 005262 177764 .WORD -^D12 ; SHIFT COUNT FOR SAME
4166 005264 177077 .WORD 177077 ; BIT MASK FOR SAME
4167 005266 000262 .WORD FR.DA2 ; FR FOR DRAM ADDR LOW BITS
4168 005270 177756 .WORD -^D18 ; SHIFT COUNT FOR SAME
4169 005272 177700 .WORD 177700 ; BIT MASK FOR SAME
4170
4171 005274 FERTAB:
4172 005274 000266 .WORD FR.FE1 ; FR FOR FE HIGH BITS
4173 005276 177755 .WORD -^D19 ; SHIFT COUNT FOR SAME
4174 005300 176037 .WORD 176037 ; BIT MASK FOR SAME
4175 005302 000264 .WORD FR.FE2 ; FR FOR FE LOW BITS
4176 005304 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
4177 005306 177740 .WORD 177740 ; BIT MASK FOR SAME
4178
4179 005310 SBRTAB:
4180 005310 000306 .WORD FR.SR1 ; FR FOR SBR RET HIGH BITS
4181 005312 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
4182 005314 174077 .WORD 174077 ; BIT MASK FOR SAME
4183 005316 000304 .WORD FR.SR2 ; FR FOR SBR RET LOW BITS
4184 005320 177742 .WORD -^D30 ; SHIFT COUNT FOR SAME
4185 005322 177700 .WORD 177700 ; BIT MASK FOR SAME
4186
4187 005324 SCRTAB:
4188 005324 000262 .WORD FR.SC1 ; FR FOR SHIFT COUNT HIGH BITS
4189 005326 177755 .WORD -^D19 ; SHIFT COUNT FOR SAME
4190 005330 177417 .WORD 177417 ; BIT MASK FOR SAME
4191 005332 000260 .WORD FR.SC2 ; FR FOR SHIFT COUNT LOW BITS
4192 005334 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
4193 005336 177760 .WORD 177760 ; BIT MASK FOR SAME
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 140
*.RDVXX -- KL10 VMA BOARD READ SUBROUTINES* 7510.21
4195 .SBTTL *.RDVXX -- KL10 VMA BOARD READ SUBROUTINES* 7510.21
4196
4197 ;+
4198 ; .RDVPC -- SUBROUTINE TO READ THE KL10 PROGRAM COUNTER REGISTER
4199 ; .RDVAB -- SUBROUTINE TO READ THE KL10 ADDRESS BREAK REGISTER.
4200 ; .RDVMA -- SUBROUTINE TO READ THE KL10 VMA REGISTER.
4201 ; .RDVMH -- SUBROUTINE TO READ THE KL10 VMAH REGISTER.
4202 ;
4203 ; THESE SUBROUTINES READ AND ASSEMBLE THE DESIRED VMA BOARD REGISTER
4204 ; INTO A THREE WORD BLOCK POINTED TO BY R1 IN THE CALL.
4205 ;
4206 ; CALLING SEQUENCE IS:
4207 ;
4208 ; MOV #BUFADR,R1 ; BUFFER ADDRESS FOR RETURNED REGISTER
4209 ; CALL .RDVXX ; READ THE REGISTER
4210 ; BCS ERROR ; ERROR IF C-BIT IS SET
4211 ;
4212 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, ALL OTHER REGISTERS
4213 ; ARE PRESERVED ACROSS THE CALL.
4214 ;
4215 ; NOTE:
4216 ;
4217 ; THE CALLING ROUTINE MUST STOP THE KL10 CLOCK TO READ THE VMA
4218 ; REGISTERS. -------------------
4219 ;
4220 ; ERROR CODES RETURNED:
4221 ;
4222 ; IPE -- INTERNAL PROGRAM ERROR - NO BUFFER POINTER.
4223 ; FRF -- FUNCTION READ FAILED.
4224 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 141
*.RDVXX -- KL10 VMA BOARD READ SUBROUTINES* 7510.21
4226 005340 .RDVPC::
4227 005340 012700 005512' MOV #PCTAB,R0 ; POINTER TO PC TABLE
4228 005344 000410 BR .RDVMR
4229 005346 .RDVAB::
4230 005346 012700 005520' MOV #ABTAB,R0 ; POINTER TO ADDRESS BREAK TABLE
4231 005352 000405 BR .RDVMR
4232 005354 .RDVMA::
4233 005354 012700 005526' MOV #VMATB,R0 ; POINTER TO VMA TABLE
4234 005360 000402 BR .RDVMR
4235 005362 .RDVMH::
4236 005362 012700 005534' MOV #VMHTB,R0 ; POINTER TO VMAH TABLE
4237 005366 .RDVMR::
4238 005366 005701 TST R1 ; DID CALLER GIVE US AN ADDRESS?
4239 005370 001444 BEQ RDVMRE ; NO (BARF) COMPLAIN
4240 005372 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
005372 004537 010134' JSR R5,REGSAV
4241 005376 010005 MOV R0,R5 ; TABLE POINTER TO R5
4242 005400 012704 000004 MOV #^D4,R4 ; ITERATION COUNT TO R4
4243 005404 010103 MOV R1,R3 ; USER BUFFER ADDRESS TO R3
4244 005406 012502 MOV (R5)+,R2 ; FUNCTION READ BASE TO R2
4245 005410 PUSH (R5)+ ; MASK WORD TO TOP OF THE STACK
005410 012546 MOV (R5)+,-(SP)
4246 005412 011505 MOV (R5),R5 ; .SHIFT BASE TO R5
4247 005414 010100 MOV R1,R0 ; .CLEAR CALLER'S AREA
4248 005416 CALL KLCLR ; .SO
005416 004737 011140' JSR PC,KLCLR
4249
4250 ; [CONTINUED ON NEXT PAGE]
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 142
*.RDVXX -- KL10 VMA BOARD READ SUBROUTINES* 7510.21
4252 005422 RVMRL1: ; .GET HERE FROM .RDVXX, ABOVE
4253 005422 010200 MOV R2,R0 ; .SET THE FUNCTION READ NUMBER
4254 005424 006300 ASL R0 ; .TIMES 2
4255 005426 005001 CLR R1 ; .CLEAR R1
4256 005430 CALL .FREAD ; .READ IT
005430 004737 007412' JSR PC,.FREAD
4257 005434 103420 BCS RDVMRX ; .ERROR IF C-BIT IS SET
4258 005436 041620 BIC (SP),(R0)+ ; .SP POINTS TO BIT MASK
4259 005440 041610 BIC (SP),(R0) ; .R0 POINTS TO READ BLOCK
4260 005442 005740 TST -(R0) ; .NOW BACK THE POINTER UP
4261 005444 010501 MOV R5,R1 ; .GET THE SHIFT COUNT INTO R1
4262 005446 CALL KLLSHI ; .AND SHIFT IT
005446 004737 010700' JSR PC,KLLSHI
4263 005452 052023 BIS (R0)+,(R3)+ ; .SET THE BITS IN THE USER BUFFER
4264 005454 051013 BIS (R0),(R3) ; .SO
4265 005456 005743 TST -(R3) ; .BACK CALLER'S POINTER UP
4266 005460 122225 CMPB (R2)+,(R5)+ ; .INCREMENT READ NUMBER AND SHIFT COUNT
4267 005462 SOB R4,RVMRL1 ; .DO THIS FOUR TIMES
005462 005304 DEC R4
005464 001356 BNE RVMRL1
4268 005466 042763 177600 000002 BIC #177600,2(R3) ; .GET RID OF BITS HIGHER THAN 13
4269 005474 000241 CLC ; .CLEAR THE C-BIT
4270 005476 RDVMRX:
4271 005476 005226 INC (SP)+ ; CLEAR THE STACK
4272 005500 RETURN ; RETURN TO CALLER
005500 000207 RTS PC
4273 005502 RDVMRE:
4274 005502 ERROR$ IPE ; NO BUFFER ADDRESS
005502 012700 MOV (PC)+,R0 ; MOVE .RAD50 ERROR CODE TO R0
005504 035305 .RAD50 /IPE/ ; "IPE" ERROR CODE IN .RAD50
4275 005506 000261 SEC ; SET THE C-BIT
4276 005510 RETURN ; TO CALLER
005510 000207 RTS PC
4277
4278 ; TABLES FOR VMA BOARD READS
4279
4280 005512 PCTAB:
4281 005512 000150 .WORD FR.150/2 ; BASE READ FOR PC REGISTER
4282 005514 135673 .WORD 135673 ; BIT MASK " " "
4283 005516 177776 .WORD -^D2 ; SHIFT CNT " " "
4284 005520 ABTAB:
4285 005520 000150 .WORD FR.150/2 ; BASE READ FOR ADDRESS BREAK REGISTER
4286 005522 167356 .WORD 167356 ; BIT MASK " " " "
4287 005524 000000 .WORD 0 ; SHIFT CNT " " " "
4288 005526 VMATB:
4289 005526 000154 .WORD FR.154/2 ; BASE READ FOR VMA REGISTER
4290 005530 135673 .WORD 135673 ; BIT MASK " " "
4291 005532 177776 .WORD -^D2 ; SHIFT CNT " " "
4292 005534 VMHTB:
4293 005534 000154 .WORD FR.154/2 ; BASE READ FOR VMAH REGISTER
4294 005536 167356 .WORD 167356 ; BIT MASK " " "
4295 005540 000000 .WORD 0 ; SHIFT CNT " " "
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 143
*.RESET -- KL10 RESET SUBROUTINES* 7511.18
4297 .SBTTL *.RESET -- KL10 RESET SUBROUTINES* 7511.18
4298
4299 ;+
4300 ; .RESET -- SUBROUTINE TO RESET THE KL10.
4301 ; .RESTD -- SUBROUTINE TO RESET THE DTE20.
4302 ; .RESTI -- SUBROUTINE TO RESET THE KL10 AND SET UP NORMAL
4303 ; KL10 CLOCK ENABLES AND PARITY STOPS.
4304 ; .RESTP -- SUBROUTINE TO RESET THE KL10 AND RESTORE THE
4305 ; PREVIOUS KL10 PARITY STOPS.
4306 ;
4307 ; THESE SUBROUTINES PERFORM ALL DIAGNOSTIC FUNCTIONS REQUIRED TO RESET
4308 ; THE KL10 MICROPROCESSOR AND SET UP CLOCK ENABLES AND PARITY STOPS
4309 ; AS WELL AS ALL FUNCTIONS REQUIRED TO RESET THE DTE20.
4310 ;
4311 ; SEQUENCE OF OPERATION:
4312 ;
4313 ; .RESTI:
4314 ;
4315 ; (A) ".RESET" IS INVOKED,
4316 ; (B) NORMAL KL10 CLOCKS ARE ENABLED,
4317 ; (C) NORMAL KL10 PARITY STOPS ARE ENABLED.
4318 ;
4319 ; .RESTP:
4320 ;
4321 ; (A) ".RESET" IS INVOKED.
4322 ;
4323 ; .RESET:
4324 ;
4325 ; (A) THE DTE20 IS CLEARED,
4326 ; (B) THE MASTER RESET SUBROUTINE IS INVOKED,
4327 ; (C) THE MAJOR KL10 CONTROL REGISTERS ARE CLEARED
4328 ; (THIS IS A FULL KL10 MASTER RESET).
4329 ;
4330 ; .RESTD:
4331 ;
4332 ; (A) THE DTE20 IS CLEARED.
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 144
*.RESET -- KL10 RESET SUBROUTINES* 7511.18
4334 ; CALLING SEQUENCE IS:
4335 ;
4336 ; CALL .RESET ; RESET THE KL10
4337 ; BCS ERROR ; ERROR IF C-BIT IS SET
4338 ;
4339 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE,
4340 ; ALL OTHER REGISTERS ARE PRESERVED.
4341 ;
4342 ;
4343 ; ERROR CODES RETURNED:
4344 ;
4345 ; CCC -- CAN'T CLEAR KL10 CLOCK.
4346 ; CCS -- KL10 CLOCK CAN'T START.
4347 ; CSC -- CAN'T SYNCH KL10 CLOCK.
4348 ; DSF -- DTE20 STATUS FAILURE.
4349 ; FRF -- FUNCTION READ FAILED.
4350 ; FWF -- FUNCTION WRITE FAILED.
4351 ; FXF -- FUNCTION EXECUTE FAILED.
4352 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 145
*.RESET -- KL10 RESET SUBROUTINES* 7511.18
4354 005542 .RESET::
4355 005542 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
005542 004537 010134' JSR R5,REGSAV
4356 005546 CALL .RESTD ; RESET THE DTE20
005546 004737 006016' JSR PC,.RESTD
4357 005552 103437 BCS RESETX ; ERROR IF C-BIT IS SET
4358 005554 012705 005654' MOV #RESETT,R5 ; FUNCTION TABLE POINTER TO R5
4359 005560 CALL .STPXC ; STOP THE KL10 CLOCK
005560 004737 006230' JSR PC,.STPXC
4360 005564 103432 BCS RESETX ; ERROR IF C-BIT IS SET
4361 005566 012701 000212' MOV #CPTMP,R1 ; POINT TO TEMP BUFFER
4362 005572 005011 CLR (R1) ; CLEAR IT
4363 005574 CALL .LDCLK ; CLEAR THE CLOCKS OUT
005574 004737 003206' JSR PC,.LDCLK
4364 005600 103424 BCS RESETX ; ERROR IF C-BIT IS SET
4365 005602 CALL .LDPAR ; RESET THE PARITY REGISTERS
005602 004737 003224' JSR PC,.LDPAR
4366 005606 103421 BCS RESETX ; ERROR IF C-BIT IS SET
4367 005610 CALL .MRCLR ; DO MASTER RESET STUFF
005610 004737 003432' JSR PC,.MRCLR
4368 005614 103416 BCS RESETX ; ERROR IF C-BIT IS SET
4369 005616 CALL .CLDFB ; CLEAR THE FUNCTION BUFFERS
005616 004737 010050' JSR PC,.CLDFB
4370 005622 RESET1:
4371 005622 005001 CLR R1 ; CLEAR R1
4372 005624 112500 MOVB (R5)+,R0 ; FUNCTION WRITE CODE TO R0
4373 005626 CALL .FWRIT ; DO THE WRITE
005626 004737 007506' JSR PC,.FWRIT
4374 005632 103407 BCS RESETX ; ERROR IF C-BIT IS SET
4375 005634 022705 005662' CMP #RSTEND,R5 ; ARE WE CLOSE TO END?
4376 005640 101370 BHI RESET1 ; NOT YET
4377 005642 112510 MOVB (R5)+,(R0) ; DATA
4378 005644 111500 MOVB (R5),R0 ; FOR LAST WRITE
4379 005646 CALL .FWRIT ; DO IT
005646 004737 007506' JSR PC,.FWRIT
4380 005652 RESETX:
4381 005652 RETURN ; TO CALLER
005652 000207 RTS PC
4382
4383 ; TABLE OF FUNCTION WRITE CODES FOR RESET
4384
4385 005654 RESETT:
4386 005654 104 .BYTE FW.LBR ; CLEAR BURST COUNTER - RIGHT
4387 005655 106 .BYTE FW.LBL ; CLEAR BURST COUNTER - LEFT
4388 005656 124 .BYTE FW.CA2 ; CLEAR CRAM DIAG ADDR - LEFT
4389 005657 122 .BYTE FW.CA1 ; CLEAR CRAM DIAG ADDR - RIGHT
4390 005660 156 .BYTE FW.KLO ; ENABLE KL10 OPCODES
4391 005661 174 .BYTE FW.EBL ; EBUS LOAD
4392 005662' RSTEND=.
4393 005662 012 .BYTE 12 ; DATA FOR
4394 005663 162 .BYTE FW.MBX ; MBOX CONTROL
4395 .EVEN
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 146
*.RSETI -- RESET KL10 AND ENABLE NORMAL CLOCK AND PARITY* 7511
4397 .SBTTL *.RSETI -- RESET KL10 AND ENABLE NORMAL CLOCK AND PARITY* 7511.19
4398
4399 ; HERE TO RESET THE KL10 AND SET UP NORMAL CLOCKS AND PARITY STOPS
4400
4401 005664 .RESTI::
4402 005664 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
005664 004537 010134' JSR R5,REGSAV
4403 005670 CALL .RESET ; RESET THE KL10
005670 004737 005542' JSR PC,.RESET
4404 005674 103411 BCS RESTIX ; ERROR IF C-BIT IS SET
4405 005676 012701 000210' MOV #CLKNRM,R1 ; POINT TO NORMAL CLOCK ENABLES
4406 005702 CALL .LDCLK ; SET THEM
005702 004737 003206' JSR PC,.LDCLK
4407 005706 103404 BCS RESTIX ; ERROR IF C-BIT IS SET
4408 005710 012701 000216' MOV #PARNRM,R1 ; POINT TO NORMAL PARITY ENABLES
4409 005714 CALL .LDPAR ; SET THEM
005714 004737 003224' JSR PC,.LDPAR
4410 005720 RESTIX:
4411 005720 RETURN ; TO CALLER
005720 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 147
*.RESTP -- RESET KL10 AND SAVE CURRENT CLOCK AND PARITY* 7511.
4413 .SBTTL *.RESTP -- RESET KL10 AND SAVE CURRENT CLOCK AND PARITY* 7511.19
4414
4415 ; HERE TO RESET THE KL10 AND RESTORE CURRENT PARITY STOPS
4416
4417 005722 .RESTP::
4418 005722 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
005722 004537 010134' JSR R5,REGSAV
4419 005726 CALL .STPXC ; STOP THE KL10 CLOCK
005726 004737 006230' JSR PC,.STPXC
4420 005732 103430 BCS RESTPE ; ERROR IF C-BIT IS SET
4421 005734 CALL .RDCPP ; READ CURRENT CLOCK AND PARITY ENABLES
005734 004737 003760' JSR PC,.RDCPP
4422 005740 103425 BCS RESTPE ; ERROR IF C-BIT IS SET
4423 005742 PUSH <.PSCWD,.CLKWD> ; SAVE CURRENT CLOCK AND PARITY CONTROL
005742 013746 000204' MOV .PSCWD,-(SP)
005746 013746 000200' MOV .CLKWD,-(SP)
4424 005752 CALL .RESET ; ..DO A MASTER RESET
005752 004737 005542' JSR PC,.RESET
4425 005756 103414 BCS RESTPX ; ..ERROR IF C-BIT IS SET
4426 005760 012701 000212' MOV #CPTMP,R1 ; ..POINT TO CLOCK AND PARITY WORD
4427 005764 011637 000212' MOV (SP),CPTMP ; ..GET THE CLOCK WORD OFF THE STACK
4428 005770 CALL .LDCLK ; ..RELOAD THE CLOCK REGISTERS
005770 004737 003206' JSR PC,.LDCLK
4429 005774 103405 BCS RESTPX ; ..ERROR IF C-BIT IS SET
4430 005776 016637 000002 000212' MOV 2(SP),CPTMP ; ..NOW THE PARITY WORD
4431 006004 CALL .LDPAR ; ..RELOAD THE PARITY ENABLES
006004 004737 003224' JSR PC,.LDPAR
4432 006010 RESTPX:
4433 006010 005226 INC (SP)+ ; .FIX UP THE STACK
4434 006012 005226 INC (SP)+ ; FOR THE RETURN
4435 006014 RESTPE:
4436 006014 RETURN ; AND GO AWAY
006014 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 148
*.RESTD -- RESET THE DTE-20* 7511.19
4438 .SBTTL *.RESTD -- RESET THE DTE-20* 7511.19
4439
4440 ; HERE TO RESET THE DTE20
4441
4442 006016 .RESTD::
4443 .IF EQ $RSXSW
4444 MOV D2RST,@#174432
4445 ; MOV STRST,@#174434
4446 MOV D3RST,@#174436
4447 .IFF
4448 006016 012700 006042' MOV #D2RST,R0 ; DIAG WORD 2 RESET
4449 006022 CALL .DWDW2 ; WRITE IT
006022 004737 000430' JSR PC,.DWDW2
4450 006026 103404 BCS RESTDX ; ERROR IF C-BIT IS SET
4451 ; MOV #STRST,R0 ; CLEAR THE STATUS WORD
4452 ; CALL .DWSTA ; DO IT
4453 ; BCS RESTDX ; ERROR IF C-BIT IS SET
4454 006030 012700 006044' MOV #D3RST,R0 ; DIAG WORD 3 RESET
4455 006034 CALL .DWDW3 ; WRITE IT
006034 004737 000450' JSR PC,.DWDW3
4456 .IFTF
4457 006040 RESTDX:
4458 006040 RETURN ; TO CALLER
006040 000207 RTS PC
4459 006042 D2RST:
4460 006042 000100 .WORD D2.RST ; DIAG WORD 2 RESET
4461 ;STRST:
4462 ; .WORD ST.RST ; STATUS RESET
4463 006044 D3RST:
4464 006044 000001 .WORD D3.RST ; DIAG WORD 3 RESET
4465
4466 .ENDC ; ON $RSXSW
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 149
.RSSWP -- RESET PARITY STOPS FOR FM SWEEP
4468 .SBTTL .RSSWP -- RESET PARITY STOPS FOR FM SWEEP
4469
4470 ;+
4471 ; .RSSWP -- SUBROUTINE TO CLEAR CES, SET FM STOP, AND RESET AC BLOCK
4472 ;
4473 ; THIS ROUTINE WILL:
4474 ; 1. RESET KL
4475 ; 2. START CLOCK
4476 ; 3. RESET AC BLOCK
4477 ;
4478 ; INPUT ARGUMENTS:
4479 ;
4480 ; R2- AC BLOCK NO. TO SET
4481 ;
4482 ; OUTPUT ARGUMENTS:
4483 ;
4484 ; NONE
4485 ;
4486 ; ERROR CODES RETURNED:
4487 ;
4488 ; CCC -- CAN'T CLEAR KL10 CLOCK
4489 ; CCR -- CAN'T CLEAR KL10 RUN FLOP
4490 ; CCS -- KL10 CLOCK CAN'T START
4491 ; CES -- CLOCK ERROR STOP
4492 ; CFH -- CAN'T FIND KL10 HALT LOOP
4493 ; CSC -- CAN'T SYNC KL10 CLOCK
4494 ; DMF -- DEPOSIT KL10 MEMORY FAILED
4495 ; DSF -- DTE20 STATUS FAILURE
4496 ; ECT -- EBOX CLOCK TIME OUT
4497 ; ESD -- EBOX STOPPED - DEPOSIT
4498 ; FRF -- FUNCTION READ FAILED
4499 ; FWF -- FUNCTION WRITE FAILED
4500 ; FXF -- FUNCTION EXECUTE FAILED
4501 ; MAE -- MODE ARGUMENT ERROR
4502 ; XTO -- EXECUTE TIMED OUT
4503 ;
4504 ;-
4505
4506 006046 .RSSWP:: ;RESET PARITY STOPS FOR FM SWEEP
4507
4508 006046 SETF$S #CF.HTO ;SET HALT TIME-OUT FLAG
006046 012746 000001 MOV #CF.HTO,-(SP)
006052 012746 MOV (PC)+,-(SP)
006054 041 002 .BYTE 33.,2
006056 104375 EMT 375
4509 006060 CALL .RESTP ;RESET KL AND PARITY STOPS
006060 004737 005722' JSR PC,.RESTP
4510 006064 103405 BCS 10$ ;ERROR
4511 006066 CALL .STCLK ;START CLOCK
006066 004737 006174' JSR PC,.STCLK
4512 006072 103402 BCS 10$ ;ERROR
4513 006074 CALL .SACBK ;SET AC BLOCK
006074 004737 006102' JSR PC,.SACBK
4514 006100 10$: RETURN
006100 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 150
.SACBK -- SET AC BLOCK
4516 .SBTTL .SACBK -- SET AC BLOCK
4517
4518 ;+
4519 ; .SACBK -- SUBROUTINE TO SET KL AC BLOCK
4520 ;
4521 ; THIS ROUTINE WILL:
4522 ; 1. INSERT INSTR OBJECT INTO KL LOC 100
4523 ; 2. EXECUTE DATAO PAG,,100 TO SET AC BLOCK
4524 ;
4525 ;
4526 ; CALLING SEQUENCE:
4527 ;
4528 ; CALL .SACBK ;SET AC BLOCK
4529 ;
4530 ; INPUT ARGUMENTS:
4531 ;
4532 ; R2-AC BLOCK NO. TO SET
4533 ;
4534 ; OUTPUT ARGUMENTS:
4535 ;
4536 ; NONE
4537 ;
4538 ; ERROR CODES RETURNED:
4539 ;
4540 ; CCC -- CAN'T CLEAR KL10 CLOCK
4541 ; CCR -- CAN'T CLEAR KL10 RUN FLOP
4542 ; CCS -- KL10 CLOCK CAN'T START
4543 ; CES -- CLOCK ERROR STOP
4544 ; CFH -- CAN'T FIND KL10 HALT LOOP
4545 ; CSC -- CAN'T SYNC KL10 CLOCK
4546 ; DMF -- DEPOSIT KL10 MEMORY FAILED
4547 ; DSF -- DTE20 STATUS FAILURE
4548 ; ECT -- EBOX CLOCK TIME OUT
4549 ; ESD -- EBOX STOPPED - DEPOSIT
4550 ; FRF -- FUNCTION READ FAILED
4551 ; FWF -- FUNCTION WRITE FAILED
4552 ; FXF -- FUNCTION EXECUTE FAILED
4553 ; MAE -- MODE ARGUMENT ERROR
4554 ; XTO -- EXECUTE TIMED OUT
4555 ;
4556 ;-
4557
4558 006102 .SACBK:: ;SET AC BLOCK ROUTINE
4559
4560 006102 PUSH R2 ;SAVE NEW AC BLOCK NO.
006102 010246 MOV R2,-(SP)
4561 006104 006302 ASL R2 ;POSITION AC BLOCK NO.
4562 006106 006302 ASL R2 ;POSITION AC BLOCK NO.
4563 006110 006302 ASL R2 ;POSITION AC BLOCK NO.
4564 006112 110237 006163' MOVB R2,ACDAT+3 ;PUT BLOCK NO. INTO INSTR
4565 006116 012701 006150' MOV #DEPBLK,R1 ;SET UP DEPOSIT DATA BLOCK
4566 006122 012700 000040 MOV #ED.EXV,R0 ;PUT IN EXEC VIRTUAL SPACE
4567 006126 CALL .DPKLM ;DEPOSIT INSTR OBJECT IN MEMORY
006126 004737 001600' JSR PC,.DPKLM
4568 006132 103404 BCS 10$ ;ERROR
4569 006134 012700 006166' MOV #SETACI,R0 ;INSTR PTR
4570 006140 CALL .EXCTF ;EXECUTE INSTR
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 150-1
.SACBK -- SET AC BLOCK
006140 004737 001432' JSR PC,.EXCTF
4571 006144 10$: POP R2 ;RESTORE R2
006144 012602 MOV (SP)+,R2
4572 006146 RETURN
006146 000207 RTS PC
4573
4574 006150 006154' DEPBLK: .WORD TEMADR ;OBJECT ADDR PTR
4575 006152 006160' .WORD ACDAT ;DEPOSIT DATA PTR
4576 006154 000100 TEMADR: .WORD 100 ;ADDR BITS 20-35
4577 006156 000000 .WORD 0 ;ADDR BITS 14-19
4578 006160 000000 ACDAT: .WORD 0 ;DATA BITS 20-35
4579 006162 000000 .WORD 0 ;DATA BITS 4-19
4580 006164 000010 .WORD 10 ;DATA BITS 0-3
4581
4582 006166 SETACI: IO10$ DATAO PAG,,100 ;SET AC INSTR
006166 100 000 .BYTE $$A,$$B
006170 200 011 .BYTE $$C,$$D
006172 016 000 .BYTE $$E,$$F
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 151
*.STCLK -- START KL10 CLOCK SUBROUTINE* 7509.12
4584 .SBTTL *.STCLK -- START KL10 CLOCK SUBROUTINE* 7509.12
4585
4586 ;+
4587 ; .STCLK -- SUBROUTINE TO START THE KL10 CLOCK.
4588 ;
4589 ; THIS SUBROUTINE WILL START THE KL10 CLOCK.
4590 ;
4591 ; CALLING SEQUENCE IS:
4592 ;
4593 ; CALL .STCLK ; START THE KL10 CLOCK
4594 ; BCS ERROR ; ERROR IF C-BIT IS SET
4595 ;
4596 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, ALL OTHER REGISTERS
4597 ; ARE PRESERVED ACROSS THE CALL.
4598 ;
4599 ; ERROR CODES RETURNED:
4600 ;
4601 ; CES -- CLOCK ERROR STOP.
4602 ; CCS -- KL10 CLOCK CAN'T START.
4603 ;-
4604
4605 006174 .STCLK::
4606 006174 000241 CLC ; CLEAR THE C-BIT
4607 006176 CALL .CESCK ; CHECK FOR CLOCK ERROR STOP
006176 004737 000300' JSR PC,.CESCK
4608 006202 103411 BCS STRCEX ; ERROR IF C-BIT SET
4609 006204 .STCL1:: ; [TCO 4.2308] ALTERNATE ENTRY POINT
4610 006204 PUSH R0 ; SAVE R0
006204 010046 MOV R0,-(SP)
4611 006206 012700 000002 MOV #FX.CST,R0 ; .SET UP TO START THE KL10 CLOCK
4612 006212 CALL .FXCT ; .DO IT
006212 004737 007606' JSR PC,.FXCT
4613 006216 103002 BCC STRCXX ; .ALL OK IF C-BIT IS CLEAR
4614 006220 ERROR$ CCS,(SP) ; .CLOCK CAN'T START
006220 012716 MOV (PC)+,(SP) ; MOVE .RAD50 ERROR CODE TO (SP)
006222 011513 .RAD50 /CCS/ ; "CCS" ERROR CODE IN .RAD50
4615 006224 STRCXX:
4616 006224 POP R0 ; RESTORE R0
006224 012600 MOV (SP)+,R0
4617 006226 STRCEX:
4618 006226 RETURN ; RETURN TO CALLER
006226 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 152
*.STPXC -- STOP KL10 CLOCK SUBROUTINE* 7601.09
4620 .SBTTL *.STPXC -- STOP KL10 CLOCK SUBROUTINE* 7601.09
4621
4622 ;+
4623 ; .STPXC -- SUBROUTINE TO STOP THE KL10 CLOCK.
4624 ;
4625 ; THIS SUBROUTINE STOPS THE KL10 CLOCK.
4626 ;
4627 ; CALLING SEQUENCE IS:
4628 ;
4629 ; CALL .SPTXC ; STOP THE KL10 CLOCK
4630 ; BCS ERROR ; ERROR IF C-BIT IS SET
4631 ;
4632 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, ALL OTHER REGISTERS
4633 ; ARE PRESERVED ACCROSS THE CALL.
4634 ;
4635 ; ERROR CODES RETURNED:
4636 ;
4637 ; CCC -- CAN'T CLEAR KL10 CLOCK.
4638 ;-
4639
4640 006230 .STPXC::
4641 006230 000241 CLC ; CLEAR THE C-BIT
4642 006232 WTSE$S #CF.HTO ; WAIT FOR KL10 I/O TO SETTLE FROM ".CLRFF"
006232 012746 000001 MOV #CF.HTO,-(SP)
006236 012746 MOV (PC)+,-(SP)
006240 051 002 .BYTE 41.,2
006242 104375 EMT 375
4643 006244 .STPX1::PUSH R0 ; SAVE R0
006244 010046 MOV R0,-(SP)
4644 006246 005000 CLR R0 ; .SET UP TO STOP THE KL10 CLOCK
4645 ; .FUNCTION CODE IS ZERO
4646 006250 CALL .FXCT ; .DO IT
006250 004737 007606' JSR PC,.FXCT
4647 006254 103002 BCC STPCXX ; .ALL OK IF C-BIT IS CLEAR
4648 006256 STPXCX:
4649 006256 ERROR$ CCC,(SP) ; .CAN'T CLEAR CLOCK
006256 012716 MOV (PC)+,(SP) ; MOVE .RAD50 ERROR CODE TO (SP)
006260 011473 .RAD50 /CCC/ ; "CCC" ERROR CODE IN .RAD50
4650 006262 STPCXX:
4651 006262 POP R0 ; RESTORE R0
006262 012600 MOV (SP)+,R0
4652 006264 RETURN ; AND GO AWAY
006264 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 153
*.STRUN -- SET KL10 RUN FLOP SUBROUTINE* 7601.09
4654 .SBTTL *.STRUN -- SET KL10 RUN FLOP SUBROUTINE* 7601.09
4655
4656 ;+
4657 ; .STRUN -- SUBROUTINE TO SET THE KL10 RUN FLOP.
4658 ;
4659 ; THIS SUBROUTINE SETS THE KL10 RUN FLOP.
4660 ;
4661 ; CALLING SEQUENCE IS:
4662 ;
4663 ; CALL .STRUN ; SET THE KL10 RUN FLOP
4664 ; BCS ERROR ; ERROR IF C-BIT IS SET
4665 ;
4666 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, ALL OTHER REGISTERS
4667 ; ARE PRESERVED ACROSS THE CALL.
4668 ;
4669 ; ERROR CODES RETURNED:
4670 ;
4671 ; CSR -- CAN'T SET KL10 RUN FLOP.
4672 ;-
4673
4674 006266 .STRUN::
4675 006266 000241 CLC ; CLEAR THE C-BIT
4676 006270 PUSH R0 ; SAVE R0
006270 010046 MOV R0,-(SP)
4677 006272 012700 000022 MOV #FX.SRF,R0 ; .SET UP TO SET KL10 RUN FLOP
4678 006276 CALL .FXCT ; .DO IT
006276 004737 007606' JSR PC,.FXCT
4679 006302 103002 BCC STRFEX ; .ALL OK IF C-BIT IS CLEAR
4680 006304 STRUNX:
4681 006304 ERROR$ CSR,(SP) ; .CAN'T SET RUN
006304 012716 MOV (PC)+,(SP) ; MOVE .RAD50 ERROR CODE TO (SP)
006306 012712 .RAD50 /CSR/ ; "CSR" ERROR CODE IN .RAD50
4682 006310 STRFEX:
4683 006310 POP R0 ; RESTORE R0
006310 012600 MOV (SP)+,R0
4684 006312 RETURN
006312 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 154
*.STUCD -- START KL10 MICROCODE SUBROUTINE* 7511.22
4686 .SBTTL *.STUCD -- START KL10 MICROCODE SUBROUTINE* 7511.22
4687
4688 ;+
4689 ; .STUCD -- SUBROUTINE TO START THE KL10 MICROCODE AT THE
4690 ; ADDRESS SPECIFIED IN R0.
4691 ;
4692 ; SEQUENCE OF OPERATION:
4693 ;
4694 ; (A) THE KL10 RUN FLOP IS CLEARED,
4695 ; (B) THE KL10 RUN FLOP IS TURNED OFF,
4696 ; (C) THE KL10 IS CLEARED,
4697 ; (D) THE CRAM ADDRESS IS LOADED,
4698 ; (E) THE KL10 CLOCK IS RESTARTED.
4699 ;
4700 ; THE SUBROUTINE EXITS WHEN THE KL10 HAS FOUND THE HALT LOOP.
4701 ; IF THE HALT LOOP IS NOT FOUND, AN ERROR RETURN IS GIVEN.
4702 ;
4703 ; CALLING SEQUENCE IS:
4704 ;
4705 ; MOV #ADDR,R0 ; CRAM ADDRESS TO R0
4706 ; CALL .STUCD ; START THE MICROCODE AT ADDRESS
4707 ; BCS ERROR ; ERROR IF C-BIT IS SET
4708 ;
4709 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE R0 IS
4710 ; CLOBBERED AND ALL OTHER REGISTERS UNCHANGED.
4711 ;
4712 ; ERROR CODES RETURNED:
4713 ;
4714 ; CAE -- CRAM ADDRESS ERROR.
4715 ; CCR -- CAN'T CLEAR KL10 RUN FLOP.
4716 ; CSR -- CAN'T SET KL10 RUN FLOP.
4717 ; FRF -- FUNCTION READ FAILED.
4718 ; FWF -- FUNCTION WRITE FAILED.
4719 ; FXF -- FUNCTION EXECUTE FAILED
4720 ; UNL -- UCODE NOT LOADED.
4721 ;
4722 ; NOTE:
4723 ;
4724 ; THE NORMAL CRAM STARTING ADDRESS IS 0. ATTEMPTING TO
4725 ; START THE CONTROL RAM AT AN ADDRESS OTHER THAN 0 CAN
4726 ; PRODUCE STRANGE RESULTS. CAVEAT PROGRAMMATOR (OPERATOR).
4727 ; CONSIDER YOURSELF WARNED.
4728 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 155
*.STUCD -- START KL10 MICROCODE SUBROUTINE* 7511.22
4730 006314 .STUCD::
4731 006314 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
006314 004537 010134' JSR R5,REGSAV
4732 006320 020027 002377 CMP R0,#2377 ; IS IT IN RANGE?
4733 006324 101050 BHI STUCAE ; BRANCH IF NOT
4734 006326 PUSH R0 ; SAVE THE ADDRESS ON THE STACK
006326 010046 MOV R0,-(SP)
4735 006330 042737 000200 000000G BIC #KF.UCS,.KLFLG ; .CLEAR THE UCODE STARTED FLAG
4736 006336 CALL .CLRFF ; .CLEAR THE KL10 RUN FLOP
006336 004737 000366' JSR PC,.CLRFF
4737 006342 103437 BCS STUCDX ; .ERROR IF C-BIT IS SET
4738 006344 CALL .STPXC ; .STOP THE KL10 CLOCK
006344 004737 006230' JSR PC,.STPXC
4739 006350 103434 BCS STUCDX ; .ERROR IF C-BIT IS SET
4740 006352 011600 MOV (SP),R0 ; .CRAM ADDRESS TO R0
4741 006354 CALL .LDCRA ; .LOAD IT
006354 004737 003312' JSR PC,.LDCRA
4742 006360 103430 BCS STUCDX ; .ERROR IF C-BIT IS SET
4743 006362 CALL .STCLK ; .START THE KL10 CLOCK
006362 004737 006174' JSR PC,.STCLK
4744 006366 103425 BCS STUCDX ; .ERROR IF C-BIT IS SET
4745 006370 012701 000310 MOV #^D200,R1 ; .SETUP WAIT LOOP
4746 006374 STUCD1:
4747 006374 CALL .DTDW1 ; .READ DTE20 DIAG WORD 1
006374 004737 000476' JSR PC,.DTDW1
4748 006400 103002 BCC STUCD3 ; .ALL OK IF C-BIT IS CLEAR
4749 006402 010016 MOV R0,(SP) ; .ERROR CODE TO CALLER'S R0
4750 006404 000416 BR STUCDX ; .LEAVE
4751 006406 STUCD3:
4752 006406 032700 001000 BIT #D1.HLP,R0 ; .ARE WE IN THE HALT LOOP?
4753 006412 001002 BNE STUCD2 ; .YES, EXIT
4754 006414 SOB R1,STUCD1 ; .NO TRY TILL COUNT EXHAUSTED
006414 005301 DEC R1
006416 001366 BNE STUCD1
4755 006420 STUCD2:
4756 006420 005701 TST R1 ; .DID COUNT GET EXHAUSTED?
4757 006422 101004 BHI STUCEX ; .NO, WE WON
4758 006424 ERROR$ UNL,(SP) ; .UCODE NOT LOADED
006424 012716 MOV (PC)+,(SP) ; MOVE .RAD50 ERROR CODE TO (SP)
006426 102574 .RAD50 /UNL/ ; "UNL" ERROR CODE IN .RAD50
4759 006430 000261 SEC ; .SET THE C-BIT
4760 006432 000403 BR STUCDX ; .LEAVE
4761 006434 STUCEX:
4762 006434 052737 000200 000000G BIS #KF.UCS,.KLFLG ; .SET THE UCODE STARTED FLAG
4763 006442 STUCDX:
4764 006442 POP R0 ; RESTORE R0
006442 012600 MOV (SP)+,R0
4765 006444 RETURN ; TO CALLER
006444 000207 RTS PC
4766 006446 STUCAE:
4767 006446 000137 004176' JMP RDCRME ; LET THE READ ROUTINE HANDLE ERROR
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 156
.SWPAC -- SWEEP ALL AC BLOCKS FOR FM PARITY ERROR
4769 .SBTTL .SWPAC -- SWEEP ALL AC BLOCKS FOR FM PARITY ERROR
4770
4771 ;+
4772 ; .SWPAC -- SUBROUTINE TO READ ALL AC'S TO LOCATE FM PARITY ERRORS
4773 ;
4774 ; THIS ROUTINE WILL:
4775 ; 0. TYPE CURRENT LOCKED UP FM ADDR AND DATA
4776 ; 1. DISABLE PARITY ERROR STOPS AND CLEAR CLOCK ERROR STOP
4777 ; 2. PUT KL IN HALT LOOP
4778 ; 3. START KL CLOCK
4779 ; 4. SET AC BLOCK
4780 ; 5. READ AC'S
4781 ; 6. IF FM PARITY ERROR SET TYPE ERROR
4782 ; 7. REPEAT 4-6 FOR EACH BLOCK
4783 ; 8. RESTORE ORIGINAL AC BLOCK
4784 ;
4785 ; CALLING SEQUENCE:
4786 ;
4787 ; CALL .SWPAC ;SWEEP AC'S
4788 ;
4789 ; INPUT ARGUMENTS:
4790 ;
4791 ; NONE
4792 ;
4793 ; OUTPUT ARGUMENTS:
4794 ;
4795 ; NONE
4796 ;
4797 ; ERROR CODES RETURNED:
4798 ;
4799 ; CCC -- CAN'T CLEAR KL10 CLOCK
4800 ; CCR -- CAN'T CLEAR KL10 RUN FLOP
4801 ; CCS -- KL10 CLOCK CAN'T START
4802 ; CES -- CLOCK ERROR STOP
4803 ; CFH -- CAN'T FIND KL10 HALT LOOP
4804 ; CSC -- CAN'T SYNC KL10 CLOCK
4805 ; DMF -- DEPOSIT KL10 MEMORY FAILED
4806 ; DSF -- DTE20 STATUS FAILURE
4807 ; ECT -- EBOX CLOCK TIME OUT
4808 ; ESD -- EBOX STOPPED - DEPOSIT
4809 ; EMF -- EXAMINE KL10 MEMORY FAILED
4810 ; ESE -- EBOX STOPPED - EXAMINE
4811 ; FRF -- FUNCTION READ FAILED
4812 ; FWF -- FUNCTION WRITE FAILED
4813 ; FXF -- FUNCTION EXECUTE FAILED
4814 ; MAE -- MODE ARGUMENT ERROR
4815 ; XTO -- EXECUTE TIMED OUT
4816 ;
4817 ;-
4818
4819 006452 .SWPAC:: ;SWEEP AC'S ROUTINE
4820
4821 006452 012700 006670' MOV #FMHED,R0 ;FM PARITY ERROR MESSAGE
4822 006456 012701 000042 MOV #FMHEDL,R1 ;MESSAGE LENGTH
4823 006462 CALL TTWRIT ;TYPE IT
006462 004737 017314' JSR PC,TTWRIT
4824 006466 CALL .RDFMO ;READ FM ADDR AND DATA
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 156-1
.SWPAC -- SWEEP ALL AC BLOCKS FOR FM PARITY ERROR
006466 004737 004522' JSR PC,.RDFMO
4825 006472 103465 BCS 40$ ;ERROR
4826 006474 011001 MOV (R0),R1 ;GET FM BLOCK NO.
4827 006476 000301 SWAB R1 ;BLOCK NO. IN LOW BYTE
4828 006500 042701 177600 BIC #177600,R1 ;CLEAR FM ADDR
4829 006504 010137 006650' MOV R1,SAVBLK ;SAVE BLOCK NO.
4830 006510 CALL .TYAC1 ;TYPE AC DATA
006510 004737 007232' JSR PC,.TYAC1
4831 006514 010102 MOV R1,R2 ;SET CURRENT AC BLOCK
4832 006516 CALL .RSSWP ;RESET SWEEP PARITY STOPS
006516 004737 006046' JSR PC,.RSSWP
4833 006522 103451 BCS 40$ ;ERROR
4834 006524 012702 000010 MOV #10,R2 ;SET UP FOR 8 AC BLOCKS
4835 006530 005302 10$: DEC R2 ;NEXT AC BLOCK
4836 006532 002441 BLT 30$ ;DONE ALL BLOCKS?
4837 006534 CALL .SACBK ;NO- SET AC BLOCK
006534 004737 006102' JSR PC,.SACBK
4838 006540 103442 BCS 40$ ;ERROR
4839 006542 012737 000020 006656' MOV #20,ACADR ;SET UP FOR 16 AC'S
4840 006550 005337 006656' 20$: DEC ACADR ;NEXT AC
4841 006554 002765 BLT 10$ ;DONE ALL AC'S IN THIS BLOCK?
4842 006556 012701 006652' MOV #EXBLK,R1 ;NO- SET EXAMINE DATA BLOCK
4843 006562 012700 000200 MOV #ED.PHY,R0 ;EXAMINE PHYSICAL MEMORY
4844 006566 CALL .EXKLM ;EXAMINE AC
006566 004737 001544' JSR PC,.EXKLM
4845 006572 103366 BCC 20$ ;NEXT AC
4846 006574 022700 011633 CMP #^RCES,R0 ;CLOCK ERROR STOP?
4847 006600 001022 BNE 40$ ;NO- ERROR
4848 006602 CALL .RDFMP ;CHECK FOR FM PARITY ERROR
006602 004737 004560' JSR PC,.RDFMP
4849 006606 103417 BCS 40$ ;ERROR
4850 006610 005700 TST R0 ;0-ERROR, 1-OK
4851 006612 001015 BNE 40$ ;PARITY ERROR?
4852 006614 CALL .RDFMO ;YES- READ FM INFO
006614 004737 004522' JSR PC,.RDFMO
4853 006620 103412 BCS 40$ ;ERROR
4854 006622 CALL .TYACE ;TYPE AC INFO
006622 004737 007212' JSR PC,.TYACE
4855 006626 CALL .RSSWP ;RESET SWEEP PARITY STOPS
006626 004737 006046' JSR PC,.RSSWP
4856 006632 103405 BCS 40$ ;ERROR
4857 006634 000745 BR 20$ ;NEXT AC
4858 006636 013702 006650' 30$: MOV SAVBLK,R2 ;RESTORE ORIGINAL AC BLOCK
4859 006642 CALL .SACBK ;SET AC BLOCK
006642 004737 006102' JSR PC,.SACBK
4860 006646 40$: RETURN
006646 000207 RTS PC
4861
4862 006650 000000 SAVBLK: .WORD 0 ;ORIGINAL AC BLOCK NO.
4863 006652 006656' EXBLK: .WORD ACADR ;AC ADDR PTR
4864 006654 006662' .WORD EXDAT ;EXAMINE DATA BUFFER PTR
4865 006656 000000 ACADR:: .WORD 0 ;AC ADDR BITS 20-35
4866 006660 000000 .WORD 0 ;AC ADDR BITS 14-19
4867 006662 000000 EXDAT:: .WORD 0 ;AC DATA BITS 20-35
4868 006664 000000 .WORD 0 ;AC DATA BITS 4-19
4869 006666 000000 .WORD 0 ;AC DATA BITS 0-3
4870
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 156-2
.SWPAC -- SWEEP ALL AC BLOCKS FOR FM PARITY ERROR
4871 006670 106 115 040 FMHED: .ASCII %FM PARITY ERROR-(BLOCK:ADDR/DATA) %
006673 120 101 122
006676 111 124 131
006701 040 105 122
006704 122 117 122
006707 055 050 102
006712 114 117 103
006715 113 072 101
006720 104 104 122
006723 057 104 101
006726 124 101 051
006731 040
4872 000042 FMHEDL=.-FMHED
4873 .EVEN
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 157
*.SYNXC -- SYNCH EBOX CLOCK SUBROUTINE* 7509.03
4875 .SBTTL *.SYNXC -- SYNCH EBOX CLOCK SUBROUTINE* 7509.03
4876
4877 ;+
4878 ; .SYNXC -- SUBROUTINE TO SYNCH THE EBOX CLOCK LOW.
4879 ;
4880 ; THIS SUBROUTINE SYNCHS THE KL10 EBOX CLOCK LOW AND MAINTAINS
4881 ; THE CLOCK SYNCHED FLAG ("KF.EMS") IN ".KLFLG".
4882 ;
4883 ; CALLING SEQUENCE IS:
4884 ;
4885 ; CALL .SYNXC ; SYNCH THE EBOX CLOCK
4886 ; BCS ERROR ; ERROR IF C-BIT IS SET
4887 ;
4888 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, ALL OTHER REGISTERS
4889 ; ARE PRESERVED ACROSS THE CALL.
4890 ;
4891 ; ERROR CODES RETURNED:
4892 ;
4893 ; CSC -- CAN'T SYNCH KL10 CLOCK.
4894 ;-
4895
4896 006732 .SYNXC::
4897 006732 000241 CLC ; CLEAR THE C-BIT
4898 006734 PUSH R0 ; SAVE R0
006734 010046 MOV R0,-(SP)
4899 006736 012700 000010 MOV #FX.SYC,R0 ; .SET UP TO SYNCH EBOX CLOCK
4900 006742 CALL .FXCT ; .DO IT
006742 004737 007606' JSR PC,.FXCT
4901 006746 103404 BCS SYNXCX ; .ERROR IF C-BIT IS SET
4902 006750 052737 040000 000000G BIS #KF.EMS,.KLFLG ; .SET THE FLAG
4903 006756 000402 BR SYNCEX ; .AND EXIT
4904 006760 SYNXCX:
4905 006760 ERROR$ CSC,(SP) ; .CAN'T SYNCH CLOCK
006760 012716 MOV (PC)+,(SP) ; MOVE .RAD50 ERROR CODE TO (SP)
006762 012673 .RAD50 /CSC/ ; "CSC" ERROR CODE IN .RAD50
4906 006764 SYNCEX:
4907 006764 POP R0 ; RESTORE R0
006764 012600 MOV (SP)+,R0
4908 006766 SYNCXX:
4909 006766 RETURN
006766 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 158
*.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE* 7512.09
4911 .SBTTL *.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE* 7512.09
4912
4913 ;+
4914 ; .FRTRK -- SUBROUTINE TO TRACK A FUNCTION READ.
4915 ; .FWTRK -- SUBROUTINE TO TRACK A FUNCTION WRITE.
4916 ; .FXTRK -- SUBROUTINE TO TRACK A FUNCTION EXECUTE.
4917 ;
4918 ; THESE SUBROUTINES TRACK A FUNCTION READ, WRITE, OR EXECUTE
4919 ; BY DISPLAYING THE FUNCTION CODE AND THE CONTENT OF THE BUFFER
4920 ; ON THE FRONT END OUTPUT DEVICE.
4921 ;
4922 ; THESE SUBROUTINES ARE CALLED INTERNALLY AND ARE DEPENDENT UPON THE
4923 ; STATE OF THE SWITCHES IN ".TRKWD".
4924 ;
4925 ; THE ".TRKWD" SWITCHES ARE TURNED ON OR OFF BY THE "SET" AND
4926 ; "CLEAR TRACK" COMMANDS, RESPECTIVELY.
4927 ;
4928 ; NO REGISTERS ARE ALTERED BY THESE SUBROUTINES.
4929 ;
4930 ; ERROR CODES RETURNED:
4931 ;
4932 ; KLN -- KL10 NUMBER OUT OF RANGE.
4933 ;-
4934
4935 006770 .FRTRK::
4936 006770 PUSH R0 ; SAVE R0 ON THE STACK
006770 010046 MOV R0,-(SP)
4937 006772 PUSH .KLDFR+2 ; .SAVE THE FR CODE TOO
006772 013746 010206' MOV .KLDFR+2,-(SP)
4938 006776 PUSH #.DFRB ; ..AND THE BUFFER ADDRESS
006776 012746 000040' MOV #.DFRB,-(SP)
4939 007002 012700 007142' MOV #TFRMSG,R0 ; ...MESSAGE POINTER TO R0
4940 007006 000416 BR .TRACK ; ...DO THE TRACKING
4941 007010 .FWTRK::
4942 007010 PUSH R0 ; SAVE R0 ON THE STACK
007010 010046 MOV R0,-(SP)
4943 007012 PUSH .KLDFW+2 ; .SAVE THE FW CODE
007012 013746 010220' MOV .KLDFW+2,-(SP)
4944 007016 PUSH #.DFWB ; ..AND THE BUFFER ADDRESS
007016 012746 000032' MOV #.DFWB,-(SP)
4945 007022 012700 007157' MOV #TFWMSG,R0 ; ...MESSAGE POINTER TO R0
4946 007026 000406 BR .TRACK ; ...GO TRACK IT
4947 007030 .FXTRK::
4948 007030 PUSH R0 ; SAVE R0 ON THE STACK
007030 010046 MOV R0,-(SP)
4949 007032 PUSH .KLDFX+2 ; .SAVE THE FX CODE
007032 013746 010174' MOV .KLDFX+2,-(SP)
4950 007036 005046 CLR -(SP) ; ..NO BUFFER ADDRESS
4951 007040 012700 007174' MOV #TFXMSG,R0 ; ...MESSAGE POINTER TO R0
4952 ; ...AND FALL INTO COMMON CODE
4953
4954 ; [CONTINUED ON NEXT PAGE]
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 159
*.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE* 7512.09
4956 ; THIS IS THE COMMON TRACKING CODE CONTINUED FROM PREVIOUS PAGE
4957
4958 007044 .TRACK::
4959 007044 012737 177777 012630' MOV #-^D1,.LDZER ; ...PRINT LEADING ZEROES
4960 007052 CALL TYPASZ ; ...PRINT THE MESSAGE
007052 004737 017530' JSR PC,TYPASZ
4961 007056 016600 000002 MOV 2(SP),R0 ; ...GET THE FUNCTION CODE
4962 007062 000300 SWAB R0 ; ...SWAP THE BYTES
4963 007064 042700 177400 BIC #177400,R0 ; ...FLUSH JUNK FROM HIGH BYTE
4964 007070 006200 ASR R0 ; ...DIVIDE IT BY 2
4965 007072 CALL TY3D ; ...TYPE THAT
007072 004737 016570' JSR PC,TY3D
4966 007076 011600 MOV (SP),R0 ; ...BUFFER ADDRESS?
4967 007100 001407 BEQ TRACKX ; ...BRANCH IF NOT
4968 007102 CALL TYPSLS ; ...ELSE TYPE A SLASH AND
007102 004737 017514' JSR PC,TYPSLS
4969 007106 CALL TYPTAB ; ...TYPE A <TAB> AND
007106 004737 017460' JSR PC,TYPTAB
4970 007112 CALL KLNTYP ; ...TYPE ITS CONTENT
007112 004737 017530' JSR PC,KLNTYP
4971 007116 103406 BCS TRACKQ ; ...ERROR IF C-BIT IS SET
4972 007120 TRACKX:
4973 007120 CALL TYCRLF ; ...NOW A <CRLF>
007120 004737 017442' JSR PC,TYCRLF
4974 007124 022626 CMP (SP)+,(SP)+ ; .GET RID OF BUFFER POINTER AND CODE
4975 007126 POP R0 ; RESTORE R0
007126 012600 MOV (SP)+,R0
4976 007130 000241 CLC ; CLEAR THE C-BIT
4977 007132 RETURN ; AND GO AWAY
007132 000207 RTS PC
4978 007134 TRACKQ:
4979 007134 022626 CMP (SP)+,(SP)+ ; .GET RID OF BUFFER POINTER AND CODE
4980 007136 POP R0 ; RESTORE R0
007136 012600 MOV (SP)+,R0
4981 007140 RETURN ; AND GO AWAY
007140 000207 RTS PC
4982 007142 TFRMSG:
4983 007142 011 124 122 .ASCIZ % TRACK > FR %
007145 101 103 113
007150 040 076 040
007153 106 122 040
007156 000
4984 007157 TFWMSG:
4985 007157 011 124 122 .ASCIZ % TRACK > FW %
007162 101 103 113
007165 040 076 040
007170 106 127 040
007173 000
4986 007174 TFXMSG:
4987 007174 011 124 122 .ASCIZ % TRACK > FX %
007177 101 103 113
007202 040 076 040
007205 106 130 040
007210 000
4988 .EVEN
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 160
.TYACE -- TYPE AC ADDR AND CONTENTS
4990 .SBTTL .TYACE -- TYPE AC ADDR AND CONTENTS
4991
4992 ;+
4993 ; .TYACE -- SUBROUTINE TO TYPE AC ADDR AND CONTENTS
4994 ;
4995 ; THIS ROUTINE WILL TYPE:
4996 ; N:AAAAAA/ DDDDDD DDDDDD
4997 ; N-AC BLOCK NUMBER
4998 ; A-AC ADDR
4999 ; D-AC DATA
5000 ;
5001 ; CALLING SEQUENCE:
5002 ;
5003 ; CALL .TYACE ;OUTPUT AC CONTENTS
5004 ;
5005 ; INPUT ARGUMENTS:
5006 ;
5007 ; +---------------+
5008 ; R0=> ! BLOCK ! ADDR !
5009 ; +---------------+
5010 ; ! KL BITS 20-35 !
5011 ; +---------------+
5012 ; ! KL BITS 4-19 !
5013 ; +---------------+
5014 ; ! KL BITS 0-3 !
5015 ; +---------------+
5016 ;
5017 ; OUTPUT ARGUMENTS:
5018 ;
5019 ; NONE
5020 ;
5021 ; ERROR CODES RETURNED:
5022 ;
5023 ; NONE
5024 ;
5025 ;-
5026
5027 007212 .TYACE:: ;AC PARITY ERROR TYPE OUT
5028
5029 007212 PUSH R0 ;SAVE R0
007212 010046 MOV R0,-(SP)
5030 007214 012700 007336' MOV #PRMFM,R0 ;FM SWEEP PROMPT
5031 007220 012701 000020 MOV #PRMFML,R1 ;LENGTH
5032 007224 CALL TTCOMX ;TYPE IT
007224 004737 017334' JSR PC,TTCOMX
5033 007230 POP R0 ;RESTORE R0
007230 012600 MOV (SP)+,R0
5034 007232 .TYAC1::PUSH R2 ;ALT. ENTRY PT., SAVE R2
007232 010246 MOV R2,-(SP)
5035 007234 010002 MOV R0,R2 ;SAVE R0
5036 007236 011000 MOV (R0),R0 ;GET FIRST WORD OF DATA
5037 007240 000300 SWAB R0 ;GET BLOCK NO. IN LOW BYTE
5038 007242 042700 177600 BIC #177600,R0 ;CLEAR ADDR
5039 007246 062700 000060 ADD #'0,R0 ;CONVERT TO ASCII
5040 007252 CALL .TYCHR ;TYPE IT
007252 004737 017502' JSR PC,.TYCHR
5041 007256 CALL .TYCOL ;TYPE COLON
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 160-1
.TYACE -- TYPE AC ADDR AND CONTENTS
007256 004737 017466' JSR PC,.TYCOL
5042 007262 012237 007332' MOV (R2)+,ADRTMP ;GET FIRST DATA VALUE
5043 007266 042737 177600 007332' BIC #177600,ADRTMP ;CLEAR BLOCK NO.
5044 007274 012700 007332' MOV #ADRTMP,R0 ;PTR TO AC ADDR
5045 007300 CALL .TYKLA ;TYPE KL ADDR
007300 004737 017556' JSR PC,.TYKLA
5046 007304 CALL .TYSLS ;TYPE SLASH
007304 004737 017514' JSR PC,.TYSLS
5047 007310 CALL .TYSPC ;TYPE SPACE
007310 004737 017474' JSR PC,.TYSPC
5048 007314 010200 MOV R2,R0 ;PTR TO AC DATA
5049 007316 CALL .TYKLN ;TYPE KL DATA
007316 004737 017532' JSR PC,.TYKLN
5050 007322 CALL .TCRLF ;TYPE CR-LF
007322 004737 017442' JSR PC,.TCRLF
5051 007326 POP R2 ;RESTORE R2
007326 012602 MOV (SP)+,R2
5052 007330 RETURN
007330 000207 RTS PC
5053
5054 007332 000000 ADRTMP: .WORD 0 ;TEMPORARY ADDR LOCATION
5055 007334 000000 .WORD 0
5056
5057 007336 040 040 040 PRMFM: .ASCII / FM SWEEP -- /
007341 040 106 115
007344 040 123 127
007347 105 105 120
007352 040 055 055
007355 040
5058 000020 PRMFML=.-PRMFM
5059 .EVEN
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 161
.TYACE -- TYPE AC ADDR AND CONTENTS
5061 .IF NE $RAMSW
5062 .SBTTL *.WRCRM -- WRITE CONTROL RAM SUBROUTINE* 7511.03
5063
5064 ;+
5065 ; .WRCRM -- SUBROUTINE TO WRITE A LOCATION IN THE KL10 CONTROL RAM.
5066 ;
5067 ; THIS SUBROUTINE WILL WRITE ONE LOCATION IN THE KL10 CONTROL RAM.
5068 ; THE CRAM ADDRESS TO BE WRITTEN IS SPECIFIED IN R0.
5069 ;
5070 ; SEQUENCE OF OPERATION:
5071 ;
5072 ; (A) THE KL10 IS HALTED IN THE HALT LOOP,
5073 ; (B) THE CONTROL RAM ADDRESS IS LOADED,
5074 ; (C) THE CONTENT OF THAT CRAM ADDRESS IS WRITTEN.
5075 ;
5076 ; CALLING SEQUENCE IS:
5077 ;
5078 ; MOV #ADDR,R0 ; CRAM ADDRESS TO R0
5079 ; MOV #BUFADR,R1 ; BUFFER ADDRESS TO R1
5080 ; CALL .WRCRM ; WRITE THE CRAM
5081 ; BCS ERROR ; ERROR IF C-BIT IS SET
5082 ;
5083 ; R0 MUST CONTAIN THE CRAM ADDRESS TO BE WRITTEN.
5084 ; R1 MUST POINT TO A NINE WORD BLOCK TO BE WRITTEN.
5085 ;
5086 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, ALL OTHER
5087 ; REGISTERS ARE UNCHANGED.
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 162
.TYACE -- TYPE AC ADDR AND CONTENTS
5089 ; THE FOLLOWING IS A PICTURE OF THRE DATA WRITTEN BY THIS SUBROUTINE:
5090 ;
5091 ; WORD CRAM DATA
5092 ; ---- ---------
5093 ; !==================================!
5094 ; 00 ! CRAM BITS 68 THRU 78 !
5095 ; !----------------------------------!
5096 ; 01 ! CRAM BITS 60 THRU 66 !
5097 ; !----------------------------------!
5098 ; 02 ! CRAM BITS 48 THRU 59 !
5099 ; !----------------------------------!
5100 ; 03 ! CRAM BITS 40 THRU 47 !
5101 ; !----------------------------------!
5102 ; 04 ! CRAM BITS 28 THRU 39 !
5103 ; !----------------------------------!
5104 ; 05 ! CRAM BITS 20 THRU 27 !
5105 ; !----------------------------------!
5106 ; 06 ! CRAM BITS 08 THRU 19 !
5107 ; !----------------------------------!
5108 ; 07 ! CRAM BITS 00 THRU 07 !
5109 ; !----------------------------------!
5110 ; 08 ! CRAM DISP BITS 00 THRU 04 !
5111 ; !==================================!
5112 ;
5113 ; ERROR CODES RETURNED:
5114 ;
5115 ; CAE -- CRAM ADDRESS ERROR.
5116 ; CCC -- CAN'T CLEAR KL10 CLOCK.
5117 ; CCR -- CAN'T CLEAR KL10 RUN FLOP.
5118 ; CSC -- CAN'T SYNCH KL10 CLOCK.
5119 ; FRF -- FUNCTION READ FAILED.
5120 ; FWF -- FUNCTION WRITE FAILED.
5121 ; FXF -- FUNCTION EXECUTE FAILED.
5122 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 163
.TYACE -- TYPE AC ADDR AND CONTENTS
5124 .WRCRM::
5125 CALL R5,REGSAV ; SAVE R5 - R1 ON THE STACK
5126 CMP R0,#2377 ; IS THE ADDRESS IN RANGE?
5127 BHI WRCRME ; BRANCH IF NOT
5128 PUSH R0 ; R0 TOO
5129 MOV R1,R2 ; .CALLER'S POINTER TO R2
5130 MOV #FW.CR4,R5 ; .BASE WRITE TO R5
5131 MOV (SP),R0 ; .GET CRAM ADDRESS FROM THE STACK
5132 CALL .LDCRA ; .LOAD IT
5133 BCS WRCRMX ; .ERROR IF C-BIT IS SET
5134 MOV #^D4,R3 ; .USE R3 AS A COUNTER
5135 MOV #.DFWB,R0 ; .POINT TO THE WRITE BUFFER
5136 CALL KLCLR ; .CLEAR THE WRITE BUFFER
5137 WRCRM1:
5138 MOV (R2)+,(R0)+ ; .LOAD OUR BUFFER FROM CALLER'S
5139 MOV (R2)+,(R0)+ ; .
5140 CLR (R0) ; .
5141 CLR R1 ; .CLEAR R1
5142 MOV R5,R0 ; .PASS THE FWRITE CODE
5143 CALL .FWRIT ; .DO IT
5144 BCS WRCRMX ; .ERROR IF C-BIT IS SET
5145 TST (R5)+ ; .INCREMENT THE FWRITE CODE
5146 SOB R3,WRCRM1 ; .LOOP TILL DONE
5147 MOV (R2),(R0) ; .LOAD THE CRAM DISP BITS
5148 MOV #^D30,R1 ; .SHIFT COUNT
5149 CALL KLLSHI ; .SHIFT IT
5150 CLR R1 ; .CLEAR R1
5151 MOV #FW.CRD,R0 ; .WRITE CODE
5152 CALL .FWRIT ; .WRITE IT
5153 CALL .CLDFW ; .CLEAR THE FUNCTION WRITE BUFFER
5154 CLR R1 ; .CLEAR R1
5155 MOV #FW.CA1,R0 ; .CLEAR CRAM DIAG ADDR
5156 CALL .FWRIT ; .SO
5157 BCS WRCRMX ; .ERROR IF C-BIT SET
5158 MOV #FW.CA2,R0 ; .NOW FOR THE OTHER HALF
5159 CALL .FWRIT ; .SO
5160 WRCRMX:
5161 INC (SP)+ ; CLEAR THE STACK
5162 RETURN ; TO CALLER
5163 WRCRME:
5164 JMP RDCRME ; LET THE READ ROUTINE HANDLE THE ERROR
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 164
.TYACE -- TYPE AC ADDR AND CONTENTS
5166 .SBTTL *.WRDRM -- SUBROUTINE TO WRITE THE KL10 DISPATCH RAM* 7510.31
5167
5168 ;+
5169 ; .WRDRM -- SUBROUTINE TO WRITE THE KL10 DISPATCH RAM.
5170 ;
5171 ; THIS SUBROUTINE WILL WRITE A PAIR OF LOCATIONS IN THE KL10 DRAM.
5172 ;
5173 ; SEQUENCE OF OPERATION:
5174 ;
5175 ; (A) THE (EVEN) DISPATCH RAM ADDRESS IS LOADED,
5176 ; (B) THE DATA IS WRITTEN INTO THE DRAM,
5177 ; (C) KL10 OPCODES ARE REENABLED (TURNED OFF BY ADDRESS LOAD).
5178 ;
5179 ; CALLING SEQUENCE IS:
5180 ;
5181 ; MOV #ADR,R0 ; DRAM ADDRESS TO R0
5182 ; MOV #PNTR,R1 ; DATA POINTER TO R1
5183 ; CALL .WRDRM ; WRITE IT
5184 ; BCS ERROR ; ERROR IF C-BIT IS SET
5185 ;
5186 ; R1 MUST POINT TO A SIX BYTE DATA BLOCK OF THIS FORMAT:
5187 ;
5188 ; !===============================!
5189 ; 00 ! DRAM A + B EVEN !
5190 ; !-------------------------------!
5191 ; 01 ! DRAM J 1 - 4 EVEN !
5192 ; !-------------------------------!
5193 ; 02 ! DRAM J 7 - 10 + PAR EVEN !
5194 ; !-------------------------------!
5195 ; 03 ! DRAM A + B ODD !
5196 ; !-------------------------------!
5197 ; 04 ! DRAM J 1 - 4 ODD !
5198 ; !-------------------------------!
5199 ; 05 ! DRAM J 7 - 10 + PAR ODD !
5200 ; !===============================!
5201 ;
5202 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE, NO
5203 ; REGISTERS ARE ALTERED BY THIS SUBROUTINE.
5204 ;
5205 ; ERROR CODES RETURNED:
5206 ;
5207 ; CCC -- CAN'T CLEAR KL10 CLOCK.
5208 ; CCR -- CAN'T CLEAR KL10 RUN FLOP.
5209 ; CSC -- CAN'T SYNCH KL10 CLOCK.
5210 ; DAE -- KL10 DRAM ADDRESS ERROR.
5211 ; FRF -- FUNCTION READ FAILED.
5212 ; FWF -- FUNCTION WRITE FAILED.
5213 ; FXF -- FUNCTION EXECUTE FAILED.
5214 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 165
.TYACE -- TYPE AC ADDR AND CONTENTS
5216 .WRDRM::
5217 CALL R5,REGSAV ; SAVE R1 - R5 ON THE STACK
5218 PUSH R0 ; SAVE THE ADDRESS ON THE STACK
5219 BIT #177001,R0 ; .IS THE ADDRESS OK??
5220 BNE WDRAMA ; .BRANCH IF NOT SO
5221 MOV R1,R2 ; .CALLER'S POINTER TO R2
5222 MOV #WRDRMT,R3 ; .TABLE POINTER TO R3
5223 CALL .LDRAD ; .LOAD THE DRAM ADDRESS
5224 BCS WRDRMX ; .ERROR IF C-BIT IS SET
5225 MOV #.DFWB,R0 ; .CLEAR THE BUFFER
5226 CALL KLCLR ; .DO IT
5227 WRDRM1:
5228 MOVB (R3)+,R4 ; .GET WORD OFFSET INTO R4
5229 ADD R2,R4 ; .CREATE A POINTER IN R4
5230 MOVB (R4),R1 ; .GET THE BYTE IN R1
5231 ASLB R1 ; .TIMES 4
5232 ASLB R1 ; .
5233 MOV R1,2(R0) ; .PUT IT INTO WRITE BUFFER
5234 CLR R1 ; .CLEAR R1
5235 MOVB (R3)+,R0 ; .WRITE CODE TO R0
5236 CALL .FWRIT ; .WRITE IT
5237 BCS WRDRMX ; .ERROR IF C-BIT IS SET
5238 CMP #WDRMTE,R3 ; .ARE WE DONE??
5239 BNE WRDRM1 ; .BRANCH IF NOT
5240 CLR 2(R0) ; .CLEAR THE BUFFER WORD
5241 MOV #FW.KLO,R0 ; .REENABLE KL10 OPCODES
5242 CALL .FWRIT ; .DO IT
5243 BCS WRDRMX ; .ERROR IF C-BIT IS SET
5244 BIS #KF.KLO,.KLFLG ; .SET THE FLAG BIT
5245 MOV (SP),R0 ; .RESTORE R0
5246 WRDRMX:
5247 INC (SP)+ ; CLEAR THE STACK
5248 RETURN ; TO CALLER
5249 WDRAMA:
5250 JMP RDRAER ; .LET READ SUBROUTINE HANDLE ERROR
5251
5252 WRDRMT: ; TABLE OF OFFSETS AND WRITE CODES
5253 .BYTE 0,FW.DR1 ; DRAM A + B EVEN
5254 .BYTE 2,FW.DJE ; DRAM J 8 - 10 EVEN + PARITY EVEN
5255 .BYTE 3,FW.DR2 ; DRAM A + B ODD
5256 .BYTE 5,FW.DJO ; DRAM J 7 CMN + J 8 - 10 ODD + PARITY ODD
5257 .BYTE 4,FW.DR3 ; DRAM J 1 - 4 COMMON
5258 WDRMTE=.
5259 .EVEN
5260 .ENDC ; $RAMSW
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 166
*.WRTAR -- SUBROUTINE TO WRITE THE KL10 AR REGISTER 7511.05
5262 .SBTTL *.WRTAR -- SUBROUTINE TO WRITE THE KL10 AR REGISTER 7511.05
5263
5264 ;+
5265 ; .WRTAR -- SUBROUTINE TO WRITE THE KL10 AR REGISTER.
5266 ; .WRAR1 -- SUBROUTINE TO WRITE THE KL10 AR REGISTER WITHOUT
5267 ; STOPPING THE KL10 CLOCK.
5268 ;
5269 ; THIS SUBROUTINE WILL WRITE A 36 BIT WORD TO THE KL10 AR REGISTER.
5270 ;
5271 ; SEQUENCE OF OPERATION:
5272 ;
5273 ; .WRTAR:
5274 ;
5275 ; (A) THE KL10 CLOCK IS STOPPED,
5276 ;
5277 ; .WRAR1:
5278 ;
5279 ; (B) THE EBOX CLOCK IS SYNCHED LOW,
5280 ; (C) THE DATA IS WRITTEN INTO THE KL10 AR REGISTER.
5281 ;
5282 ; CALLING SEQUENCE IS:
5283 ;
5284 ; MOV #BUFADR,R1 ; ADDRESS OF DATA TO BE WRITTEN
5285 ; CALL .WRTAR ; WRITE THE AR
5286 ; BCS ERROR ; ERROR IF C-BIT IS SET
5287 ;
5288 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE
5289 ; R0 AND R1 ARE CLOBBERED BY THIS SUBROUTINE.
5290 ;
5291 ; ERROR CODES RETURNED:
5292 ;
5293 ; CCC -- CAN'T CLEAR KL10 CLOCK.
5294 ; CSC -- CAN'T SYNCH KL10 CLOCK.
5295 ; FWF -- FUNCTION WRITE FAILED.
5296 ;-
5297
5298 007356 .WRTAR::
5299 007356 CALL .STPXC ; STOP THE KL10 CLOCK
007356 004737 006230' JSR PC,.STPXC
5300 007362 103407 BCS WRTARX ; ERROR IF C-BIT IS SET
5301 007364 .WRAR1::
5302 007364 CALL .SYNXC ; FORCE THE EBOX CLOCK LOW
007364 004737 006732' JSR PC,.SYNXC
5303 007370 103404 BCS WRTARX ; ERROR IF C-BIT IS SET
5304 007372 012700 000176 MOV #FW.LAR,R0 ; FUNCTION WRITE CODE TO R0
5305 007376 CALL .FWRIT ; LOAD THE AR
007376 004737 007506' JSR PC,.FWRIT
5306 007402 WRTARX:
5307 007402 RETURN ; RETURN TO CALLER
007402 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 167
*.XFRED -- DIAGNOSTIC FUNCTION READ SUBROUTINE* 7511.19
5309 .SBTTL *.XFRED -- DIAGNOSTIC FUNCTION READ SUBROUTINE* 7511.19
5310
5311 ;+
5312 ; .FREAD -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION READ.
5313 ; .XFRED -- SUBROUTINE TO EXECUTE A DFR AFTER RANGE CHECKING THE FUNCTION CODE.
5314 ;
5315 ; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION READ.
5316 ;
5317 ; SEQUENCE OF OPERATION:
5318 ;
5319 ; .XFRED:
5320 ;
5321 ; (A) THE DFR CODE IN R0 IS CHECKED FOR LEGALITY,
5322 ;
5323 ; .FREAD:
5324 ;
5325 ; (B) THE DFR IS EXECUTED AND DATA LOADED THRU R1 IF R1 .NE. 0,
5326 ; IF R1 IS .EQ. 0 THE DATA IS NOT MOVED FROM ".DFRB".
5327 ;
5328 ; CALLING SEQUENCE IS:
5329 ;
5330 ; MOV #BUFADR,R1 ; BUFFER ADDRESS TO R1
5331 ; MOVB #DFRN,R0 ; FUNCTION READ # TO R0
5332 ; CALL .FREAD ; DO THE READ
5333 ; BCS ERROR ; ERROR IF C-BIT IS SET
5334 ;
5335 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE
5336 ; R0 AND R1 POINT TO TOP OF READ BLOCKS ON EXIT.
5337 ;
5338 ; ERROR CODES RETURNED:
5339 ;
5340 ; FRF -- FUNCTION READ FAILED.
5341 ; IFC -- ILLEGAL FINCTION CODE.
5342 ; KLN -- KL10 NUMBER OUT OF RANGE.
5343 ; OFC -- ODD FUNCTION CODE.
5344 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 168
*.XFRED -- DIAGNOSTIC FUNCTION READ SUBROUTINE* 7511.19
5346 007404 .XFRED:: ; HERE TO RANGE CHECK DFR #
5347 007404 CALL .XFRCK ; SEE IF ARGUMENT IS IN RANGE
007404 004737 007756' JSR PC,.XFRCK
5348 007410 103432 BCS FRDXXX ; ERROR IF C-BIT IS SET
5349 007412 .FREAD::
5350 007412 110037 010207' MOVB R0,.KLDFR+3 ; SET THE DFR# IN THE DPB
5351 007416 DIR$ #.KLDFR ; CALL RSX20F TO DO THE READ
007416 012746 010204' MOV #.KLDFR,-(SP)
007422 104375 EMT 375
5352 007424 103422 BCS FRDERR ; ERROR IF C-BIT IS SET
5353 007426 012700 000040' MOV #.DFRB,R0 ; POINT TO TOP OF READ BLOCK
5354 007432 005701 TST R1 ; TEST R1
5355 007434 001405 BEQ FREAD1 ; EXIT IF R1 .EQ. 0
5356 007436 012021 MOV (R0)+,(R1)+ ; LOAD HIS BUFFER FROM OURS
5357 007440 012021 MOV (R0)+,(R1)+
5358 007442 011011 MOV (R0),(R1)
5359 007444 024040 CMP -(R0),-(R0) ; BACK THE POINTERS UP
5360 007446 024141 CMP -(R1),-(R1)
5361 007450 FREAD1:
5362 007450 032737 000002 012630' BIT #TR.FRD,.TRKWD ; ARE WE TRACKING FUNCTION READS?
5363 007456 001403 BEQ FREAD2 ; NO, JUST EXIT
5364 007460 CALL .FRTRK ; YES, DO IT
007460 004737 006770' JSR PC,.FRTRK
5365 007464 103404 BCS FRDXXX ; ERROR IF C-BIT IS SET
5366 007466 FREAD2:
5367 007466 000241 CLC ; JUST IN CASE
5368 007470 000402 BR FRDXXX ; EXIT
5369 007472 FRDERR:
5370 007472 ERROR$ FRF ; FUNCTION READ FAILED
007472 012700 MOV (PC)+,R0 ; MOVE .RAD50 ERROR CODE TO R0
007474 024126 .RAD50 /FRF/ ; "FRF" ERROR CODE IN .RAD50
5371 007476 FRDXXX:
5372 007476 RETURN ; RETURN
007476 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 169
*.XFWRT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE* 7511.19
5374 .SBTTL *.XFWRT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE* 7511.19
5375
5376 ;+
5377 ; .FWRIT -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION WRITE.
5378 ; .XFWRT -- SUBROUTINE TO EXECUTE A DFW AFTER RANGE CHECKING THE FUNCTION CODE.
5379 ;
5380 ; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION WRITE.
5381 ;
5382 ; SEQUENCE OF OPERATION:
5383 ;
5384 ; .XFWRT:
5385 ;
5386 ; (A) THE DFW CODE IN R0 IS CHECKED FOR LEGALITY,
5387 ;
5388 ; .FWRIT:
5389 ;
5390 ; (B) THE DATA IS LOADED THRU R1 IF R1 .NE. 0,
5391 ; IF R1 IS .EQ. 0 THE DATA IS ASSUMED TO BE IN ".DFWB",
5392 ; (C) THE FUNCTION WRITE IS EXECUTED.
5393 ;
5394 ; CALLLING SEQUENCE IS:
5395 ;
5396 ; MOV #BUFADR,R1 ; BUFFER ADDRESS TO R1
5397 ; MOVB #DFWN,R0 ; FUNCTION WRITE # TO R0
5398 ; CALL .FWRIT ; DO THE WRITE
5399 ; BCS ERROR ; ERROR IF C-BIT IS SET
5400 ;
5401 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE
5402 ; R0 AND R1 POINT TO THE TOP OF THE WRITE BLOCKS ON EXIT.
5403 ;
5404 ; ERROR CODES RETURNED:
5405 ;
5406 ; FWF -- FUNCTION WRITE FAILED.
5407 ; IFC -- ILLEGAL FUNCTION CODE.
5408 ; KLN -- KL10 NUMBER OUT OF RANGE.
5409 ; OFC -- ODD FUNCTION CODE.
5410 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 170
*.XFWRT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE* 7511.19
5412 007500 .XFWRT::
5413 007500 CALL .XFWCK ; CHECK IF ARGUMENT IS IN RANGE
007500 004737 007774' JSR PC,.XFWCK
5414 007504 103434 BCS FWRTXX ; ERROR IF C-BIT IS SET
5415 007506 .FWRIT::
5416 007506 110037 010221' MOVB R0,.KLDFW+3 ; SET THE DFW# IN THE DPB
5417 007512 012700 000032' MOV #.DFWB,R0 ; POINT TO TOP OF WRITE BLOCK
5418 007516 005701 TST R1 ; TEST R1
5419 007520 001406 BEQ FWRTGO ; ALREADY IN ".DFWB" IF R1 .EQ. 0
5420 007522 012120 MOV (R1)+,(R0)+ ; LOAD THE DATA BLOCK
5421 007524 012120 MOV (R1)+,(R0)+
5422 007526 011110 MOV (R1),(R0)
5423 007530 024040 CMP -(R0),-(R0) ; BACK THE POINTERS UP
5424 007532 024141 CMP -(R1),-(R1)
5425 007534 000241 CLC ; CLEAR THE C-BIT JUST IN CASE
5426 007536 FWRTGO:
5427 007536 042760 177760 000004 BIC #177760,4(R0) ; FLUSH EXTRANEOUS BITS
5428 007544 032737 000004 012630' BIT #TR.FWR,.TRKWD ; ARE WE TRACKING FUNCTION WRITES?
5429 007552 001403 BEQ FWRIT1 ; NO
5430 007554 CALL .FWTRK ; LEAVE TRACKS ON CONSOLE
007554 004737 007010' JSR PC,.FWTRK
5431 007560 103406 BCS FWRTXX ; ERROR IF C-BIT IS SET
5432 007562 FWRIT1:
5433 007562 DIR$ #.KLDFW ; CALL RSX20F TO DO THE WRITE
007562 012746 010216' MOV #.KLDFW,-(SP)
007566 104375 EMT 375
5434 007570 103002 BCC FWRTXX ; OK IF C-BIT IS CLEAR
5435 007572 ERROR$ FWF ; FUNCTION WRITE FAILED
007572 012700 MOV (PC)+,R0 ; MOVE .RAD50 ERROR CODE TO R0
007574 024436 .RAD50 /FWF/ ; "FWF" ERROR CODE IN .RAD50
5436 007576 FWRTXX:
5437 007576 RETURN ; TO CALLER
007576 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 171
*.XFXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE* 7601.09
5439 .SBTTL *.XFXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE* 7601.09
5440
5441 ;+
5442 ; .FXCT -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION EXECUTE.
5443 ; .XFXCT -- SUBROUTINE TO EXECUTE A DFX AFTER RANGE CHECKING THE DFX CODE.
5444 ;
5445 ; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION EXECUTE AND MAINTAIN
5446 ; THE STATE OF THE KL10 CLOCK ("KF.CLK") AND RUN FLOP ("KF.RUN") FLAGS
5447 ; IN THE KL10 STATE FLAG WORD, ".KLFLG".
5448 ;
5449 ; SEQUENCE OF OPERATION:
5450 ;
5451 ; .XFXCT:
5452 ;
5453 ; (A) THE ARGUMENT IS RANGE CHECKED,
5454 ;
5455 ; .FXCT:
5456 ;
5457 ; (B) THE DFX IS SIMPLY EXECUTED.
5458 ;
5459 ; CALLING SEQUENCE IS:
5460 ;
5461 ; MOVB #DFXN,R0 ; FUNCTION EXECUTE # TO R0
5462 ; CALL .FXCT ; DO THE EXECUTE
5463 ; BCS ERROR ; ERROR IF C-BIT IS SET
5464 ;
5465 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE R0 IS
5466 ; CLOBBERED ON EXIT.
5467 ;
5468 ; ERROR CODES RETURNED:
5469 ;
5470 ; FXF -- FUNCTION EXECUTE FAILED.
5471 ; IFC -- ILLEGAL FUNCTION CODE.
5472 ; OFC -- ODD FUNCTION CODE.
5473 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 172
*.XFXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE* 7601.09
5475 007600 .XFXCT::
5476 007600 CALL .XFXCK ; SEE IF ARGUMENT IS IN RANGE
007600 004737 010012' JSR PC,.XFXCK
5477 007604 103460 BCS FXCTEX ; ERROR IF C-BIT IS SET
5478 007606 .FXCT::
5479 007606 PUSH R0 ; SAVE R0 ON THE STACK
007606 010046 MOV R0,-(SP)
5480 007610 110037 010175' MOVB R0,.KLDFX+3 ; .SET THE DFX CODE IN THE DPB
5481 007614 DIR$ #.KLDFX ; .CALL RSX20F TO DO THE DFX
007614 012746 010172' MOV #.KLDFX,-(SP)
007620 104375 EMT 375
5482 007622 103452 BCS FXCTXF ; .ERROR IF C-BIT IS SET
5483 007624 012700 100000 MOV #KF.CLK,R0 ; .FLAG BIT TO R0
5484 007630 021627 000002 CMP (SP),#FX.CST ; .IS DFX CODE .EQ. 1?
5485 007634 001411 BEQ FXCT1 ; .YES, DO CLOCK STARTED STUFF
5486 007636 021627 000016 CMP (SP),#FX.SMR ; .IS DFX CODE .GT. 7?
5487 007642 101014 BHI FXCT2 ; .YES, LEAVE NOW
5488 007644 030037 000000G BIT R0,.KLFLG ; .IS THE FLAG OFF ALREADY?
5489 007650 001426 BEQ FXCTCX ; .YES, LEAVE NOW
5490 007652 040037 000000G BIC R0,.KLFLG ; .NO, TURN IF OFF
5491 007656 000423 BR FXCTCX ; .AND GO AWAY
5492 007660 FXCT1:
5493 007660 030037 000000G BIT R0,.KLFLG ; .IS THE FLAG ON ALREADY?
5494 007664 001020 BNE FXCTCX ; .YES, LEAVE NOW
5495 007666 050037 000000G BIS R0,.KLFLG ; .LIGHT IT UP
5496 007672 000415 BR FXCTCX ; .AND EXIT
5497 007674 FXCT2:
5498 007674 012700 020000 MOV #KF.RUN,R0 ; .DO RUN FLAG STUFF
5499 007700 021627 000022 CMP (SP),#FX.SRF ; .SET THE RUN FLOP?
5500 007704 001003 BNE FXCT3 ; .BRANCH IF NOT
5501 007706 050037 000000G BIS R0,.KLFLG ; .YES, SET THE FLAG
5502 007712 000405 BR FXCTCX ; .AND GO AWAY
5503 007714 FXCT3:
5504 007714 021627 000020 CMP (SP),#FX.CRF ; .CLEAR RUN FLOP?
5505 007720 001002 BNE FXCTCX ; .NO, JUST GO AWAY
5506 007722 040037 000000G BIC R0,.KLFLG ; .YES, CLEAR THE FLAG
5507
5508 ; [CONTINUED ON NEXT PAGE]
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 173
*.XFXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE* 7601.09
5510 ; [HERE FROM PREVIOUS PAGE]
5511
5512 007726 FXCTCX:
5513 007726 000241 CLC ; .JUST IN CASE
5514 007730 032737 000001 012630' BIT #TR.FXC,.TRKWD ; .ARE WE TRACKING FUNCTION EXECUTES?
5515 007736 001402 BEQ FXCTXX ; .BRANCH IF NOT
5516 007740 CALL .FXTRK ; .DO IT IF WE ARE
007740 004737 007030' JSR PC,.FXTRK
5517 007744 FXCTXX:
5518 007744 POP R0 ; RESTORE R0
007744 012600 MOV (SP)+,R0
5519 007746 FXCTEX:
5520 007746 RETURN ; TO CALLER
007746 000207 RTS PC
5521 007750 FXCTXF:
5522 007750 ERROR$ FXF,(SP) ; .FUNCTION EXECUTE FAILED
007750 012716 MOV (PC)+,(SP) ; MOVE .RAD50 ERROR CODE TO (SP)
007752 024506 .RAD50 /FXF/ ; "FXF" ERROR CODE IN .RAD50
5523 007754 000773 BR FXCTXX ; .RETURN WITH ERROR CODE IN R0
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 174
*.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS* 7509.26
5525 .SBTTL *.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS* 7509.26
5526
5527 ;+
5528 ; .XFRCK -- SUBROUTINE TO RANGE CHECK FUNCTION READ CODES.
5529 ; .XFWCK -- SUBROUTINE TO RANGE CHECK FUNCTION WRITE CODES.
5530 ; .XFXCK -- SUBROUTINE TO RANGE CHECK FUNCTION EXECUTE CODES.
5531 ;
5532 ; THESE SUBROUTINES RANGE CHECK THE ARGUMENT CODES FOR THE FUNCTION
5533 ; READ, WRITE AND EXECUTE SUBROUTINES.
5534 ;
5535 ; CALLING SEQUENCE IS:
5536 ;
5537 ; CALL .XFXCK ; CHECK FUNCTION CODE IN R0
5538 ; BCS ERROR ; ERROR IF C-BIT IS SET
5539 ;
5540 ; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE; UNCHANGED IF OK.
5541 ;
5542 ; ERROR CODES RETURNED:
5543 ;
5544 ; IFC -- ILLEGAL FUNCTION CODE.
5545 ; OFC -- ODD FUNCTION CODE.
5546 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 175
*.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS* 7509.26
5548 007756 .XFRCK:: ; HERE TO CHECK FUNCTION READ CODE
5549 007756 020027 000200 CMP R0,#FR.100 ; IS IT .LT. FR.100?
5550 007762 103423 BLO FNCIFC ; NO, ERROR
5551 007764 020027 000376 CMP R0,#FR.177 ; IS IT .GT. FR.177
5552 007770 101020 BHI FNCIFC ; YES, ERROR
5553 007772 000412 BR FNCODD ; NO, SEE IF IT'S ODD
5554
5555 007774 .XFWCK:: ; HERE TO CHECK FUNCTION WRITE CODE
5556 007774 020027 000100 CMP R0,#FW.040 ; IS IT .LT. FW.040?
5557 010000 103414 BLO FNCIFC ; NO, ERROR
5558 010002 020027 000176 CMP R0,#FW.LAR ; IS IT .GT. FW.077?
5559 010006 101011 BHI FNCIFC ; YES, ERROR
5560 010010 000403 BR FNCODD ; NO, SEE IF IT'S ODD
5561
5562 010012 .XFXCK:: ; HERE TO CHECK FUNCTION EXECUTE CODE
5563 010012 020027 000076 CMP R0,#FX.037 ; IS IT .GT. FX.037?
5564 010016 101005 BHI FNCIFC ; YES, ERROR
5565 010020 FNCODD:
5566 010020 000241 CLC ; CLEAR THE C-BIT
5567 010022 032700 000001 BIT #BIT00,R0 ; IS IT ODD?
5568 010026 001004 BNE FNCOFC ; YES, ERROR
5569 010030 RETURN ; ALL OK, RETURN TO CALLER
010030 000207 RTS PC
5570 010032 FNCIFC:
5571 010032 ERROR$ IFC ; ILLEGAL FUNCTION CODE
010032 012700 MOV (PC)+,R0 ; MOVE .RAD50 ERROR CODE TO R0
010034 034463 .RAD50 /IFC/ ; "IFC" ERROR CODE IN .RAD50
5572 010036 000402 BR FNCOCX ; EXIT
5573 010040 FNCOFC:
5574 010040 ERROR$ OFC ; ODD FUNCTION CODE
010040 012700 MOV (PC)+,R0 ; MOVE .RAD50 ERROR CODE TO R0
010042 057263 .RAD50 /OFC/ ; "OFC" ERROR CODE IN .RAD50
5575 010044 FNCOCX:
5576 010044 000261 SEC ; SET THE C-BIT
5577 010046 RETURN ; TO NEXT HIGHER LEVEL
010046 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 176
*GENERAL SUPPORT SUBROUTINES* 7508.26
5579 .SBTTL *GENERAL SUPPORT SUBROUTINES* 7508.26
5580
5581 ; HERE TO CLEAR THE INTERNAL BUFFERS.
5582
5583 010050 .CLDFB::
5584 010050 CALL .CLDFW ; CLEAR THE WRITE HALF OF THE BUFFER
010050 004737 010064' JSR PC,.CLDFW
5585 010054 .CLDFR::
5586 010054 PUSH R0 ; SAVE R0
010054 010046 MOV R0,-(SP)
5587 010056 012700 000040' MOV #.DFRB,R0 ; .CLEAR THE FUNCTION READ BUFFER
5588 010062 000403 BR CLRGO ; .
5589 010064 .CLDFW::
5590 010064 PUSH R0 ; SAVE R0
010064 010046 MOV R0,-(SP)
5591 010066 012700 000032' MOV #.DFWB,R0 ; .CLEAR THE FUNCTION WRITE BUFFER
5592 010072 CLRGO:
5593 010072 CALL KLCLR ; .CLEAR THE BUFFER
010072 004737 011140' JSR PC,KLCLR
5594 010076 CLRXXX:
5595 010076 POP R0 ; RESTORE R0
010076 012600 MOV (SP)+,R0
5596 010100 RETURN
010100 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 177
*GENERAL SUPPORT SUBROUTINES* 7508.26
5598 ; SHIFT THE 16 BIT INTEGER IN R0 BY THE 16 BIT INTEGER IN R1.
5599
5600 010102 .SHIFT::
5601 010102 PUSH R1 ; SAVE R1 ON THE STACK
010102 010146 MOV R1,-(SP)
5602 010104 001410 BEQ SHFTXX ; .EXIT IF .EQ. 0
5603 010106 002404 BLT SHIFTR ; .SHIFT RIGHT IF NEGATIVE
5604 010110 SHIFTL:
5605 010110 006300 ASL R0 ; .SHIFT IT LEFT
5606 010112 SOB R1,SHIFTL ; .TILL COUNT IS EXHAUSTED
010112 005301 DEC R1
010114 001375 BNE SHIFTL
5607 010116 000403 BR SHFTXX ; .EXIT
5608 010120 SHIFTR:
5609 010120 006200 ASR R0 ; .SHIFT IT RIGHT
5610 010122 005201 INC R1 ; .COUNT THE SHIFT
5611 010124 001375 BNE SHIFTR ; .TILL COUNT EXHAUSTED
5612 010126 SHFTXX:
5613 010126 POP R1 ; RESTORE R1 FROM THE STACK
010126 012601 MOV (SP)+,R1
5614 010130 000241 CLC ; CLEAR THE C-BIT
5615 010132 RETURN ; RETURN
010132 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 178
*REGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE* 7509.16
5617 .SBTTL *REGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE* 7509.16
5618
5619 ;+
5620 ; REGSAV -- SUBROUTINE TO SAVE AND RESTORE R5 - R1 ON THE STACK.
5621 ;
5622 ; R1 - R5 ARE SAVED ON THE STACK, AND MAY BE RESTORED BY EITHER:
5623 ;
5624 ; RETURN ; RETURNS TO HIGHER LEVEL
5625 ; -OR-
5626 ; CALL @(SP)+ ; RETURNS TO SAME LEVEL
5627 ;
5628 ; NO REGISTERS ARE DESTROYED BY THIS SUBROUTINE, AND SUBSEQUENT CALLS
5629 ; WILL NEST.
5630 ;
5631 ; CALLING SEQUENCE IS:
5632 ;
5633 ; CALL R5,REGSAV
5634 ; ONLY RETURN
5635 ;-
5636
5637 010134 REGSAV:: ; DEFINE AS GLOBAL
5638 010134 PUSH <R4,R3,R2,R1,R5>
010134 010446 MOV R4,-(SP)
010136 010346 MOV R3,-(SP)
010140 010246 MOV R2,-(SP)
010142 010146 MOV R1,-(SP)
010144 010546 MOV R5,-(SP)
5639 010146 016605 000012 MOV 12(SP),R5 ; .....RESTORE R5
5640 010152 000241 CLC ; .....CLEAR THE C-BIT
5641 010154 CALL @(SP)+ ; .....RETURN WITH RESTORE ADDRESS ON THE STACK
010154 004736 JSR PC,@(SP)+
5642
5643 ; HERE TO RESTORE R1 - R5 AND RETURN
5644
5645 010156 POP <R1,R2,R3,R4,R5>
010156 012601 MOV (SP)+,R1
010160 012602 MOV (SP)+,R2
010162 012603 MOV (SP)+,R3
010164 012604 MOV (SP)+,R4
010166 012605 MOV (SP)+,R5
5646 010170 RETURN ; RETURN
010170 000207 RTS PC
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 179
*DIRECTIVE PARAMETER BLOCKS* 7508.20
5648 .SBTTL *DIRECTIVE PARAMETER BLOCKS* 7508.20
5649
5650 ; DIRECTIVE PARAMETER BLOCK DIAGNOSTIC FUNCTION EXECUTE
5651
5652 ; !===============================================!
5653 ; 00 ! DPB SIZE ! DIC !
5654 ; !-----------------------------------------------!
5655 ; 02 ! DFX OPCODE ! DFX CODE !
5656 ; !-----------------------------------------------!
5657 ; 04 ! TRANSFER BUFFER ADDRESS !
5658 ; !-----------------------------------------------!
5659 ; 06 ! DIAGNOSTIC REGISTER BUFFER ADDRESS !
5660 ; !-----------------------------------------------!
5661 ; 10 ! DTE20 NUMBER !
5662 ; !===============================================!
5663
5664
5665 010172 .KLDFX::
5666 010172 KLDX$ FX.000,.DFBLK,.DREG,0
010172 002411 .WORD 400*5.+DR.DTE
010174 014 000 .BYTE DF.KLX,FX.000/400
010176 000032' .WORD .DFBLK
010200 000046' .WORD .DREG
010202 000000 .WORD 0
5667 010202' FXDTEN=.-2
5668
5669 ; DPB FOR DIAGNOSTIC FUNCTION READ
5670
5671 ; !===============================================!
5672 ; 00 ! DPB SIZE ! DIC !
5673 ; !-----------------------------------------------!
5674 ; 02 ! DFR OPCODE ! DFR CODE !
5675 ; !-----------------------------------------------!
5676 ; 04 ! TRANSFER BUFFER ADDRESS !
5677 ; !-----------------------------------------------!
5678 ; 06 ! DIAGNOSTIC REGISTER BUFFER ADDRESS !
5679 ; !-----------------------------------------------!
5680 ; 10 ! DTE20 NUMBER !
5681 ; !===============================================!
5682
5683 010204 .KLDFR::
5684 010204 KLDR$ FR.100,.DFBLK,.DREG,0
010204 002411 .WORD 400*5.+DR.DTE
010206 012 000 .BYTE DF.KLR,FR.100/400
010210 000032' .WORD .DFBLK
010212 000046' .WORD .DREG
010214 000000 .WORD 0
5685 010214' FRDTEN=.-2
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 180
*DIRECTIVE PARAMETER BLOCKS* 7508.20
5687 ; DPB FOR DIAGNOSTIC FUNCTION WRITE
5688
5689 ; !===============================================!
5690 ; 00 ! DPB SIZE ! DIC !
5691 ; !-----------------------------------------------!
5692 ; 02 ! DFW OPCODE ! DFW CODE !
5693 ; !-----------------------------------------------!
5694 ; 04 ! TRANSFER BUFFER ADDRESS !
5695 ; !-----------------------------------------------!
5696 ; 06 ! DIAGNOSTIC REGISTER BUFFER ADDRESS !
5697 ; !-----------------------------------------------!
5698 ; 10 ! DTE20 NUMBER !
5699 ; !===============================================!
5700
5701 010216 .KLDFW::
5702 010216 KLDW$ FW.040,.DFBLK,.DREG,0
010216 002411 .WORD 400*5.+DR.DTE
010220 013 000 .BYTE DF.KLW,FW.040/400
010222 000032' .WORD .DFBLK
010224 000046' .WORD .DREG
010226 000000 .WORD 0
5703 010226' FWDTEN=.-2
5704
5705 ; DPB TO READ OR WRITE THE DTE20 REGISTERS
5706
5707 ; !===============================================!
5708 ; 00 ! DPB SIZE ! DIC !
5709 ; !-----------------------------------------------!
5710 ; 02 ! REGISTER OFFSET ! DIRECTIVE CODE !
5711 ; !-----------------------------------------------!
5712 ; 04 ! POINTER TO DATA TO BE WRITTEN !
5713 ; !-----------------------------------------------!
5714 ; 06 ! DESTINATION ADDRESS FOR DATA READ !
5715 ; !-----------------------------------------------!
5716 ; 10 ! DTE20 NUMBER !
5717 ; !===============================================!
5718
5719 010230 .REGRW::
5720 010230 002411 .WORD 2411
5721 010232 017 000 .BYTE 17,0
5722 010234 000000 .WORD 0
5723 010236 000046' .WORD .DREG
5724 010240 000000 .WORD 0
5725 010240' RGDTEN=.-2
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 181
*DIRECTIVE PARAMETER BLOCKS* 7508.20
5727 ; DPB FOR PRIVILEGED EXAMINE
5728
5729 ; !===============================================!
5730 ; 00 ! DPB SIZE ! DIC !
5731 ; !-----------------------------------------------!
5732 ; 02 ! EXAMINE TYPE ! DIRECTIVE CODE !
5733 ; !-----------------------------------------------!
5734 ; 04 ! KL10 ADDRESS WORD POINTER !
5735 ; !-----------------------------------------------!
5736 ; 06 ! DATA DESTINATION POINTER !
5737 ; !-----------------------------------------------!
5738 ; 10 ! DTE20 NUMBER !
5739 ; !===============================================!
5740
5741 010242 .EXDPB::
5742 010242 002411 .WORD 2411
5743 010244 015 200 .BYTE DF.PEX,ED.PHY
5744 010246 000136' .WORD .EXADR
5745 010250 000142' .WORD .EXBFR
5746 010252 000000 .WORD 0
5747 010252' EXDTEN=.-2
5748
5749 ; DPB FOR PRIVILEGED DEPOSIT
5750
5751 ; !===============================================!
5752 ; 00 ! DPB SIZE ! DIC !
5753 ; !-----------------------------------------------!
5754 ; 02 ! DEPOSIT TYPE ! DIRECTIVE CODE !
5755 ; !-----------------------------------------------!
5756 ; 04 ! KL10 DEPOSIT ADDRESS POINTER !
5757 ; !-----------------------------------------------!
5758 ; 06 ! KL10 DEPOSIT DATA POINTER !
5759 ; !-----------------------------------------------!
5760 ; 10 ! DTE20 NUMBER !
5761 ; !===============================================!
5762
5763 010254 .DPDPB::
5764 010254 002411 .WORD 2411
5765 010256 016 200 .BYTE DF.PDP,ED.PHY
5766 010260 000124' .WORD .DPADR
5767 010262 000130' .WORD .DPBFR
5768 010264 000000 .WORD 0
5769 010264' DPDTEN=.-2
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 182
*DIRECTIVE PARAMETER BLOCKS* 7508.20
5771 ; DPB FOR MARK TIME DIRECTIVE
5772
5773 ; !===============================================!
5774 ; 00 ! DPB SIZE ! DIC !
5775 ; !-----------------------------------------------!
5776 ; 02 ! EVENT FLAG !
5777 ; !-----------------------------------------------!
5778 ; 04 ! TIME INTERVAL IN CLOCK TICKS !
5779 ; !-----------------------------------------------!
5780 ; 06 ! RESCHEDULE INTERVAL IN CLOCK TICKS !
5781 ; !-----------------------------------------------!
5782 ; 10 ! AST HANDLER ENTRY POINT !
5783 ; !===============================================!
5784
5785 010266 .MTDPB:
5786 010266 MRKT$ CF.HTO,30.,0,0
010266 027 005 .BYTE 23.,5
010270 000001 .WORD CF.HTO
010272 000036 .WORD 30.
010274 000000 .WORD 0
010276 000000 .WORD 0
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 183
*PROGRAM STORAGE* 7508.20
5788 .SBTTL *PROGRAM STORAGE* 7508.20
5789
5790 ; BUFFERS FOR DIAGNOSTIC FUNCTION READ AND WRITE
5791
5792 000032 .PSECT TABLES
5793
5794 000032 .DFBLK::
5795 000032 .DFWB::
5796 000032 000000 000000 000000 .WORD 0,0,0 ; DEXWDS TO BE WRITTEN TO EBUS GO HERE
5797
5798 000006 .EBUSR==.-.DFWB ; OFFSET TO GET AT READ DATA FROM TOP OF BLOCK
5799
5800 000040 .DFRB::
5801 000040 000000 000000 000000 .WORD 0,0,0 ; DEXWDS READ FROM EBUS GO HERE
5802
5803 000014 .DREGS==.-.DFWB ; OFFSET TO GET TO DIAG REGS
5804
5805 000046 .DREG::
5806 000046 .DTDI1::
5807 000046 000000 .WORD 0 ; DTE20 DIAG1 WORD STORED HERE
5808 000050 .DTDI2::
5809 000050 000000 .WORD 0 ; DTE20 DIAG2 WORD STORED HERE
5810 000052 .DTSTS::
5811 000052 000000 .WORD 0 ; DTE20 STATUS WORD STORED HERE
5812 000054 .DTDI3::
5813 000054 000000 .WORD 0 ; DTE20 DIAG3 WORD STORED HERE
5814 .EVEN
5815 000024 BUFLEN=.-.DFWB
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 184
*PROGRAM STORAGE* 7508.20
5817 000056 .CRAMA::
5818 000056 000000 .WORD 0 ; CRAM ADDRESS
5819
5820 000060 .CRAMR:: ; BLOCK FOR CRAM READ
5821 000060 000000 000000 000000 .WORD 0,0,0
5822 000066 000000 000000 000000 .WORD 0,0,0
5823 000074 000000 000000 000000 .WORD 0,0,0
5824
5825 000102 .CRAMW:: ; BLOCK FOR CRAM WRITE
5826 000102 000000 000000 000000 .WORD 0,0,0
5827 000110 000000 000000 000000 .WORD 0,0,0
5828 000116 000000 000000 000000 .WORD 0,0,0
5829
5830 000124 .DPADR::
5831 000124 000000 000000 .WORD 0,0 ; KL10 DEPOSIT ADDRESS
5832
5833 000130 .DPBFR::
5834 000130 000000 000000 000000 .WORD 0,0,0 ; KL10 DEPOSIT DATA
5835
5836 000136 .EXADR::
5837 000136 000000 000000 .WORD 0,0 ; KL10 EXAMINE ADDRESS
5838
5839 000142 .EXBFR::
5840 000142 000000 000000 000000 .WORD 0,0,0 ; KL10 EXAMINE DATA
5841
5842 000150 .DRAMA:
5843 000150 000000 .WORD 0 ; DRAM ADDRESS
5844
5845 000152 .DRAMR:
5846 000152 000000 000000 000000 .WORD 0,0,0 ; BLOCK FOR DRAM READ
5847
5848 000160 .DRAMW::
5849 000160 000000 000000 000000 .WORD 0,0,0 ; BLOCK FOR DRAM WRITE
5850
5851 000166 .FMADR::
5852 000166 000000 .WORD 0 ; FAST MEMORY ADDRESS
5853
5854 000170 .FMDAT::
5855 000170 000000 000000 000000 .WORD 0,0,0 ; FAST MEMORY DATA
5856 000176' DFBEND=.
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 185
*PROGRAM STORAGE* 7508.20
5858 000176 .APRWD::
5859 000176 000000 .WORD 0 ; APR ERROR STATUS
5860
5861 000200 .CLKWD::
5862 000200 000000 .WORD 0 ; SYSTEM CLOCK PARAMETER WORD
5863
5864 000202 .PEWRD::
5865 000202 000000 .WORD 0 ; PARITY ERROR FLAGS
5866
5867 000204 .PSCWD::
5868 000204 000000 .WORD 0 ; SYSTEM PARITY CONTROL WORD
5869
5870 000206 .STFLG::
5871 000206 177777 .WORD -1 ; START MODE FLAG
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 186
*PROGRAM STORAGE* 7508.20
5873 000210 CLKNRM::
5874 000210 000000 .WORD CS.NRM!CR.NRM!CD.NRM ; NORMAL CLOCK PARAMETER WORD
5875
5876 000212 CPTMP:
5877 000212 000000 .WORD 0 ; TEMP STORAGE FOR CLOCK AND PARITY PARAMS
5878
5879 000214 PARTMP:
5880 000214 000000 .WORD 0 ; MORE OF THE SAME
5881
5882 000216 PARNRM::
5883 000216 001416 .WORD IP.NRM!AP.NRM ; NORMAL PARITY CONTROL WORD
5884
5885 010300 .PSECT
5886 .IF NE $RAMSW
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 187
*PROGRAM STORAGE* 7508.20
5888 .SBTTL *CRAMFT -- KL10 CRAM FIELD DECODE TABLES AND STORAGE* 7511.20
5889
5890 ;+
5891 ; CRAMFT -- KL10 FIELD DECODE TABLES AND STORAGE.
5892 ;
5893 ; THE KL10 CRAM FIELD DECODE TABLE IS BUILT BY THE "CRMFD$" MACRO
5894 ; AND THE DRAM FIELD DECODE TABLE IS BUILT BY THE "DRMFD$" MACRO.
5895 ; THESE MACROS CREATE A TABLE FOR ASSEMBLY AND DISASSEMBLY OF RAM
5896 ; BITS FROM THE EBUS. EACH TABLE ENTRY HAS THE FORMAT:
5897 ;
5898 ; !=======================================!
5899 ; 00 ! BIT MASK !
5900 ; !---------------------------------------!
5901 ; 02 ! WORD INDEX ! SHIFT COUNT !
5902 ; !---------------------------------------!
5903 ; 04 ! DESTINATION POINTER !
5904 ; !=======================================!
5905 ;
5906 ; MASK IS THE MASK ON PDP11 WORD
5907 ; WORD INDEX IS THE LOCATION OF BYTE IN THE READ BLOCK
5908 ; SHIFT COUNT IS THE NUMBER OF BITS TO SHIFT TO GET
5909 ; A PDP11 WORD POSITION
5910 ;
5911 ; THE IDEA IS TO GO THROUGH AND ASSEMBLE A PDP11 WORD BYTE BY BYTE
5912 ; UNTIL FINSIHED. EACH NEW TABLE ENTRY IS MARKED BY A SIGN BIT IN
5913 ; THE MASK WORD (NOTE THAT THE LARGEST CRAM FIELD IS 11 BITS WIDE),
5914 ; PUTTING EACH FIELD IN A DISTINCT PDP11 WORD.
5915 ;
5916 ; TO CALL THE MACRO:
5917 ;
5918 ; CRMFD$ <FIELD NAME>,<BITS IN EBUS BYTE>,<SHF CNT>,<IDX>
5919 ;
5920 ; THIS IS A PICTURE OF THE EXPANDED BUFFER FOR THE CRAM.
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 188
*PROGRAM STORAGE* 7508.20
5922 ; WORD CONTENTS
5923 ; ---- --------
5924 ;
5925 ; !===============================!
5926 ; 00 ! SCAD A ENABLE (1 BIT) !
5927 ; !-------------------------------!
5928 ; 02 ! SCAD ENABLE (3 BITS) !
5929 ; !-------------------------------!
5930 ; 04 ! FE ENABLE (1 BIT) !
5931 ; !-------------------------------!
5932 ; 06 ! J 00 - 10 (11 BITS) !
5933 ; !-------------------------------!
5934 ; 08 ! MQ ENABLE (1 BIT) !
5935 ; !-------------------------------!
5936 ; 10 ! COND FIELD (6 BITS) !
5937 ; !-------------------------------!
5938 ; 12 ! AD SELECT (4 BITS) !
5939 ; !-------------------------------!
5940 ; 14 ! AD BOOLE (1 BIT) !
5941 ; !-------------------------------!
5942 ; 16 ! ADA DISABLE (1 BIT) !
5943 ; !-------------------------------!
5944 ; 18 ! ADA SELECT (2 BITS) !
5945 ; !-------------------------------!
5946 ; 20 ! ADB SELECT (2 BITS) !
5947 ; !-------------------------------!
5948 ; 22 ! MAGIC # FIELD (9 BITS) !
5949 ; !-------------------------------!
5950 ; 24 ! ARXM SELECT (3 BITS) !
5951 ; !-------------------------------!
5952 ; 26 ! SCADA SELECT (2 BITS) !
5953 ; !-------------------------------!
5954 ; 28 ! SCADB SELECT (2 BITS) !
5955 ; !-------------------------------!
5956 ; 30 ! MARK (1 BIT) !
5957 ; !-------------------------------!
5958 ; 32 ! VMA SELECT (2 BITS) !
5959 ; !-------------------------------!
5960 ; 34 ! ARM SELECT (3 BITS) !
5961 ; !-------------------------------!
5962 ; 36 ! SH-ARMM SELECT (2 BITS) !
5963 ; !-------------------------------!
5964 ; 38 ! MEM FIELD (4 BITS) !
5965 ; !-------------------------------!
5966 ; 40 ! BR LOAD (1 BIT) !
5967 ; !-------------------------------!
5968 ; 42 ! BRX LOAD (1 BIT) !
5969 ; !-------------------------------!
5970 ; 44 ! FM ADDRESS (3 BITS) !
5971 ; !-------------------------------!
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 189
*PROGRAM STORAGE* 7508.20
5973 ; !-------------------------------!
5974 ; 46 ! SCM FIELD (1 BIT) !
5975 ; !-------------------------------!
5976 ; 48 ! AD CRY (1 BIT) !
5977 ; !-------------------------------!
5978 ; 50 ! TIME (2 BITS) !
5979 ; !-------------------------------!
5980 ; 52 ! SPEC/DISP (5 BITS) !
5981 ; !===============================!
5982 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 190
*PROGRAM STORAGE* 7508.20
5984 ; DEFINE THE CRAM FIELD DECODE TABLE MACRO.
5985
5986 .MACRO CRMFD$ ..DEST,..BITS,..SHF,..IDX
5987 .IF DF ..DEST
5988 .IF NE <..ODST-..DEST>
5989 ..MSK=0
5990 ..OMSK=0
5991 ..ODST= ..DEST
5992 .ENDC ; IF NE
5993 .IFF
5994 .PSECT CRDF
5995 ..DEST::
5996 .WORD 0
5997 .PSECT
5998 .ENDC ; IF DF
5999 ..OMSK=..MSK!..OMSK
6000 ..MSK=..OMSK+1
6001 .REPT ..BITS
6002 ..MSK=..MSK*2
6003 .ENDR
6004 ..MSK=..MSK-..OMSK-1
6005 .IF EQ ..OMSK
6006 .WORD 100000!..MSK
6007 .IFF
6008 .WORD ..MSK
6009 .ENDC ; IF EQ
6010 .BYTE ..SHF,..IDX
6011 .WORD ..DEST
6012 .IF EQ ..OMSK
6013 .PSECT CRMASZ
6014 .ASCIZ %..DEST%
6015 .PSECT
6016 .ENDC
6017 .ENDM CRMFD$
6018
6019 .PSECT CRDF
6020 CRAMFT:: ; CRAM FIELD STORAGE STARTS HERE
6021 ..ODST= .+4 ; INIT ODST TO NOT START OF PSECT
6022 .PSECT CRMASZ
6023 CRMATB::
6024 .PSECT
6025
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 191
*PROGRAM STORAGE* 7508.20
6027 CRMFDT:: ; CRAM DECODE TABLE STARTS HERE
6028 CRMFD$ SCDAEN,1,-^D11,16 ; CRAM SCADA EN
6029
6030 CRMFD$ SCAD,3,-^D8,16 ; CRAM SCAD
6031
6032 CRMFD$ FELOAD,1,-^D5,16 ; CRAM FE
6033
6034 CRMFD$ J,4,-^D6,14 ; CRAM J 07 - 10
6035 CRMFD$ J,4,-^D8,14 ; CRAM J 03 - 06
6036 CRMFD$ J,3,^D6,16 ; CRAM J 00 - 02
6037
6038 CRMFD$ MQEN,1,-^D3,14 ; CRAM MQ
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 192
*PROGRAM STORAGE* 7508.20
6040 CRMFD$ COND,1,0,4 ; CRAM COND 05
6041 CRMFD$ COND,1,-^D5,4 ; CRAM COND 04
6042 CRMFD$ COND,1,-^D6,4 ; CRAM COND 03
6043 CRMFD$ COND,3,^D3,14 ; CRAM COND 00 - 02
6044
6045 CRMFD$ ADSEL,4,-^D8,12 ; CRAM AD SEL
6046
6047 CRMFD$ ADBOOL,1,-^D5,12 ; CRAM AD BOOLE
6048
6049 CRMFD$ ADADIS,1,-^D4,12 ; CRAM ADA DIS
6050
6051 CRMFD$ ADASEL,2,-^D2,12 ; CRAM ADA SEL
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 193
*PROGRAM STORAGE* 7508.20
6053 CRMFD$ ADBSEL,1,-^D15,10 ; CRAM ADB SEL 2
6054 CRMFD$ ADBSEL,1,-^D8,10 ; CRAM ADB SEL 1
6055
6056 CRMFD$ MAGIC,3,0,10 ; CRAM MAGIC # 06 - 08
6057 CRMFD$ MAGIC,3,-^D3,10 ; CRAM MAGIC # 03 - 05
6058 CRMFD$ MAGIC,3,-^D6,10 ; CRAM MAGIC # 00 - 02
6059
6060 CRMFD$ ARXMSL,1,-^D1,10 ; CRAM ARXM SEL 4
6061 CRMFD$ ARXMSL,1,-^D14,0 ; CRAM ARXM SEL 2
6062 CRMFD$ ARXMSL,1,-^D13,0 ; CRAM ARXM SEL 1
6063
6064 CRMFD$ SCADA,2,-^D10,6 ; CRAM SCADA
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 194
*PROGRAM STORAGE* 7508.20
6066 CRMFD$ SCADB,1,-^D8,6 ; CRAM SCADB SEL 2
6067 CRMFD$ SCADB,1,-^D11,2 ; CRAM SCADB SEL 1
6068
6069 CRMFD$ MARK,1,-^D8,6 ; CRAM MARK
6070
6071 CRMFD$ VMASEL,1,-^D4,6 ; CRAM VMA SEL 2
6072 CRMFD$ VMASEL,1,-^D9,0 ; CRAM VMA SEL 1
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 195
*PROGRAM STORAGE* 7508.20
6074 CRMFD$ ARMSEL,1,-^D2,6 ; CRAM ARM SEL 4
6075 CRMFD$ ARMSEL,1,-^D4,2 ; CRAM ARM SEL 2
6076 CRMFD$ ARMSEL,1,-^D3,2 ; CRAM ARM SEL 1
6077
6078 CRMFD$ SHARMM,2,-^D2,6 ; CRAM SH-ARMM
6079
6080 CRMFD$ MEM,4,-^D12,4 ; CRAM MEM
6081
6082 CRMFD$ BRLOAD,1,-^D9,4 ; CRAM BR LOAD
6083
6084 CRMFD$ BRXLOD,1,-^D7,4 ; CRAM BRX LOAD
6085
6086 CRMFD$ FMADR,3,-^D1,4 ; CRAM FM ADR
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 196
*PROGRAM STORAGE* 7508.20
6088 CRMFD$ SCM,1,-^D9,2 ; CRAM SCM
6089 CRMFD$ ADCRY,1,-^D7,0 ; CRAM AD CRY
6090
6091 CRMFD$ T,1,-^D1,0 ; CRAM T01
6092 CRMFD$ T,1,-^D2,0 ; CRAM T00
6093
6094 CRMFD$ DISP,5,0,20 ; CRAM DISP
6095 .WORD 0 ; END-OF-TABLE MARKER
6096 .WORD CRMFDT ; POINTER TO TOP OF BLOCK
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 197
*PROGRAM STORAGE* 7508.20
6098 .SBTTL *CRAMDT -- KL10 CRAM LOGICAL FIELD DECODE TABLES AND STORAGE* 7512.03
6099
6100 ;+
6101 ; THIS IS A PICTURE OF THE CRAM LOGICAL FIELD TABLE:
6102 ;
6103 ; WORD CONTENTS
6104 ; ---- --------
6105 ; !===============================!
6106 ; 00 ! LOGICAL WORD 0 (11 BITS) !
6107 ; !-------------------------------!
6108 ; 02 ! LOGICAL WORD 1 (9 BITS) !
6109 ; !-------------------------------!
6110 ; 04 ! LOGICAL WORD 2 (12 BITS) !
6111 ; !-------------------------------!
6112 ; 06 ! LOGICAL WORD 3 (10 BITS) !
6113 ; !-------------------------------!
6114 ; 10 ! LOGICAL WORD 4 (10 BITS) !
6115 ; !-------------------------------!
6116 ; 12 ! LOGICAL WORD 5 (11 BITS) !
6117 ; !-------------------------------!
6118 ; 14 ! LOGICAL WORD 6 (10 BITS) !
6119 ; !===============================!
6120 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 198
*PROGRAM STORAGE* 7508.20
6122 ; DEFINE THE CRAM LOGICAL FIELD DECODE TABLE MACRO.
6123
6124 .MACRO CRMLD$ ..DEST,..BITS,..SHF,..IDX
6125 .IF DF ..DEST
6126 .IF NE <..ODST-..DEST>
6127 ..MSK=0
6128 ..OMSK=0
6129 ..ODST= ..DEST
6130 .ENDC ; IF NE
6131 .IFF
6132 .PSECT CRDF
6133 ..DEST::
6134 .WORD 0
6135 .PSECT
6136 .ENDC ; IF DF
6137 ..OMSK=..MSK!..OMSK
6138 ..MSK=..OMSK+1
6139 .REPT ..BITS
6140 ..MSK=..MSK*2
6141 .ENDR
6142 ..MSK=..MSK-..OMSK-1
6143 .IF EQ ..OMSK
6144 .WORD 100000!..MSK
6145 .IFF
6146 .WORD ..MSK
6147 .ENDC ; IF EQ
6148 .BYTE ..SHF,..IDX
6149 .WORD ..DEST
6150 .ENDM CRMLD$
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 199
*PROGRAM STORAGE* 7508.20
6152 ; THIS TABLE DECODES THE CRAM DATA INTO THE SAME FORMAT AS IN THE
6153 ; CRAM LISTING (Q.V.). THE LOGICAL WORDS ARE BUILT FROM TOP TO BOTTOM,
6154 ; AND THE LOCAL COMMENTS INDICATE WHICH FIELDS MAKE UP THOSE WORDS.
6155
6156 ; WORD 0 IS THE "J" FIELD
6157
6158 CRMLDT:
6159
6160 CRMLD$ CRMLF0,4,-^D6,14 ; J FIELD 07 - 10
6161 CRMLD$ CRMLF0,4,-^D8,14 ; J FIELD 03 - 06
6162 CRMLD$ CRMLF0,3,^D6,16 ; J FIELD 00 - 02
6163
6164 ; LOGICAL WORD 1 CONTAINS THE AD/ADX CONTROLS
6165
6166 CRMLD$ CRMLF1,1,-^D9,10 ; ADB SEL
6167 CRMLD$ CRMLF1,2,-^D1,12 ; ADA SEL
6168 CRMLD$ CRMLF1,4,-^D6,12 ; AD SEL
6169 CRMLD$ CRMLF1,1,^D2,12 ; AD BOOLE
6170 CRMLD$ CRMLF1,1,^D1,0 ; AD CRY
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 200
*PROGRAM STORAGE* 7508.20
6172 ; LOGICAL WORD 2 CONTAINS THE AR, ARX, BR, BRX, MQ, AND FM ADR CONTROLS
6173
6174 CRMLD$ CRMLF2,3,-^D1,4 ; FM ADR
6175 CRMLD$ CRMLF2,1,0,14 ; MQ SEL
6176 CRMLD$ CRMLF2,1,-^D3,4 ; BRX LOAD
6177 CRMLD$ CRMLF2,1,-^D4,4 ; BR LOAD
6178 CRMLD$ CRMLF2,1,-^D7,0 ; ARXM SEL 1
6179 CRMLD$ CRMLF2,1,-^D8,0 ; ARXM SEL 2
6180 CRMLD$ CRMLF2,1,^D5,10 ; ARXM SEL 4
6181 CRMLD$ CRMLF2,1,^D6,2 ; ARM SEL 1
6182 CRMLD$ CRMLF2,1,^D5,2 ; ARM SEL 2
6183 CRMLD$ CRMLF2,1,^D7,10 ; ARM SEL 4
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 201
*PROGRAM STORAGE* 7508.20
6185 ; LOGICAL WORD 3 CONTAINS THE SCAD, FE, AND SHIFTER CONTROLS
6186
6187 CRMLD$ CRMLF3,1,-^D9,2 ; SCM
6188 CRMLD$ CRMLF3,1,-^D5,16 ; FE LOAD
6189 CRMLD$ CRMLF3,1,-^D9,2 ; SCADB SEL 1
6190 CRMLD$ CRMLF3,1,-^D6,6 ; SCADB SEL 2
6191 CRMLD$ CRMLF3,2,-^D6,6 ; SCADA SEL 1 & 2
6192 CRMLD$ CRMLF3,1,-^D5,16 ; SCADA EN
6193 CRMLD$ CRMLF3,3,-^D1,16 ; SCAD SEL
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 202
*PROGRAM STORAGE* 7508.20
6195 ; LOGICAL WORD 4 HAS THE MEM, TIME AND VMA CONTROLS
6196
6197 CRMLD$ CRMLF4,4,-^D2,4 ; MEM
6198 CRMLD$ CRMLF4,1,^D3,0 ; T01
6199 CRMLD$ CRMLF4,1,^D2,0 ; T00
6200 CRMLD$ CRMLF4,1,-^D3,0 ; VMA SEL 1
6201 CRMLD$ CRMLF4,1,^D2,6 ; VMA SEL 2
6202 CRMLD$ CRMLF4,2,^D6,6 ; SH/ARMM
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 203
*PROGRAM STORAGE* 7508.20
6204 ; LOGICAL WORD 5 HAS THE DISP/SPEC AND COND FIELDS
6205
6206 CRMLD$ CRMLF5,5,0,20 ; DISP/SPEC
6207 CRMLD$ CRMLF5,1,^D5,4 ; COND 05
6208 CRMLD$ CRMLF5,1,^D6,4 ; COND 04
6209 CRMLD$ CRMLF5,1,-^D1,4 ; COND 03
6210 CRMLD$ CRMLF5,3,^D8,14 ; COND 00 - 02
6211
6212 ; LOGICAL WORD 6 HAS THE MAGIC # AND MARK FIELDS
6213
6214 CRMLD$ CRMLF6,3,0,10 ; MAGIC # 06 - 08
6215 CRMLD$ CRMLF6,3,-^D3,10 ; MAGIC # 03 - 05
6216 CRMLD$ CRMLF6,3,-^D6,10 ; MAGIC # 00 - 02
6217 CRMLD$ CRMLF6,1,^D1,6 ; MARK
6218 .WORD 0 ; END-OF-TABLE MARKER
6219 .WORD CRMLDT ; POINTER TO TOP OF BLOCK
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 204
*PROGRAM STORAGE* 7508.20
6221 .SBTTL *DRAMFT -- KL10 DRAM FIELD DECODE TABLES AND STORAGE* 7510.30
6222
6223 ;+
6224 ; DRAMFT -- KL10 DRAM FIELD DECODE TABLES AND STORAGE.
6225 ;
6226 ; FOR INFORMATION ABOUT THIS MACRO, SEE "CRAMFT".
6227 ;
6228 ; THIS IS A PICTURE OF THE DRAM FIELD STORAGE BLOCK.
6229 ; NOTE THAT THE DRAM FIELDS ARE STORED IN WORDS, RATHER THAN
6230 ; IN BYTES AS IN THE MAIN LINE CODE!
6231 ;
6232 ; WORD CONTENTS
6233 ; ---- --------
6234 ;
6235 ; !===============================!
6236 ; 00 ! A EVEN (3 BITS) !
6237 ; !-------------------------------!
6238 ; 02 ! B EVEN (3 BITS) !
6239 ; !-------------------------------!
6240 ; 04 ! J 01 - 04 EVEN (4 BITS) !
6241 ; !-------------------------------!
6242 ; 06 ! J 07 - 10 EVEN (4 BITS) !
6243 ; !-------------------------------!
6244 ; 08 ! PARITY EVEN (1 BIT) !
6245 ; !-------------------------------!
6246 ; 10 ! A ODD (3 BITS) !
6247 ; !-------------------------------!
6248 ; 12 ! B ODD (3 BITS) !
6249 ; !-------------------------------!
6250 ; 14 ! J 01 - 04 ODD (4 BITS) !
6251 ; !-------------------------------!
6252 ; 16 ! J 07 - 10 ODD (4 BITS) !
6253 ; !-------------------------------!
6254 ; 18 ! PARITY ODD (1 BIT) !
6255 ; !===============================!
6256 ;-
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 205
*PROGRAM STORAGE* 7508.20
6258 ; DEFINE THE DRAM FEILD DECODE TABLE MACRO
6259
6260 .MACRO DRMFD$ ..DEST,..BITS,..SHF,..IDX
6261 .IF DF ..DEST
6262 .IF NE <..ODST-..DEST>
6263 ..MSK=0
6264 ..OMSK=0
6265 ..ODST= ..DEST
6266 .ENDC ; IF NE
6267 .IFF
6268 .PSECT DRDF
6269 ..DEST::
6270 .WORD 0
6271 .PSECT
6272 .ENDC ; IF DF
6273 ..OMSK=..MSK!..OMSK
6274 ..MSK=..OMSK+1
6275 .REPT ..BITS
6276 ..MSK=..MSK*2
6277 .ENDR
6278 ..MSK=..MSK-..OMSK-1
6279 .IF EQ ..OMSK
6280 .WORD 100000!..MSK
6281 .IFF
6282 .WORD ..MSK
6283 .ENDC ; IF EQ
6284 .BYTE ..SHF,..IDX
6285 .WORD ..DEST
6286 .ENDM DRMFD$
6287
6288 .PSECT DRDF
6289 DRAMFT:: ; DRAM FIELD STORAGE STARTS HERE
6290 ..ODST=.+4 ; INIT ODST TO NOT START OF PSECT
6291 .PSECT
COMSUB *KL10 COMMAND PARSER SU MACRO M1110 26-JUL-79 09:22 PAGE 206
*PROGRAM STORAGE* 7508.20
6293 DRMFDT:: ; DRAM DECODE TABLE STARTS HERE
6294 DRMFD$ AE,3,-^D3,0 ; DRAM A EVEN
6295
6296 DRMFD$ BE,3,0,0 ; DRAM B EVEN
6297
6298 DRMFD$ J1.4E,4,-^D8,0 ; DRAM J1 - J4 EVEN
6299
6300 DRMFD$ J7.10E,4,0,2 ; DRAM J7 - J10 EVEN
6301
6302 DRMFD$ PE,1,-^D5,2 ; DRAM PARITY EVEN
6303
6304 DRMFD$ AO,3,-^D11,2 ; DRAM A ODD
6305
6306 DRMFD$ BO,3,-^D8,2 ; DRAM B ODD
6307
6308 DRMFD$ J1.4O,4,0,4 ; DRAM J1 - J4 ODD
6309
6310 DRMFD$ J7.10O,4,-^D8,4 ; DRAM J7 - J10 ODD
6311
6312 DRMFD$ PO,1,-^D13,4 ; DRAM PARITY ODD
6313 .WORD 0 ; END-OF-TABLE MARKER
6314 .WORD AE ; POINTER TO TOP OF BLOCK
6315 .ENDC ; $RAMSW
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1110 26-JUL-79 09:22 PAGE 207
*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 M1110 26-JUL-79 09:22 PAGE 208
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 M1110 26-JUL-79 09:22 PAGE 209
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 M1110 26-JUL-79 09:22 PAGE 210
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 010300 KLADD::
83 010300 062120 ADD (R1)+,(R0)+ ;ADD LOW ORDER PARTS
84 010302 005510 ADC (R0) ;CARRY ANY OVERFLOW
85 010304 062120 ADD (R1)+,(R0)+
86 010306 005510 ADC (R0) ;FIX CARRIES
87 010310 061110 ADD (R1),(R0) ;ADD HIGH ORDER PARTS
88 010312 000137 010360' JMP KLADJ1 ;AND SIGN EXTEND
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1110 26-JUL-79 09:22 PAGE 211
KLSUB SUBTRACT ROUTINES
90 .SBTTL KLSUB SUBTRACT ROUTINES
91
92 010316 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 010316 PUSH R0 ;SAVE VALUE
010316 010046 MOV R0,-(SP)
105 010320 010100 MOV R1,R0 ;.NEGATE SECOND AND THEN
106 010322 CALL KLNEG ;.NEGATE IT
010322 004737 011070' JSR PC,KLNEG
107 010326 011600 MOV (SP),R0 ;.GET OLD ADDRESS
108 010330 CALL KLADD ;AND JUST ADD THEM
010330 004737 010300' JSR PC,KLADD
109 010334 010100 MOV R1,R0 ;.FIX ARG AGAIN
110 010336 CALL KLNEG
010336 004737 011070' JSR PC,KLNEG
111 010342 POP R0 ;RESTORE R0
010342 012600 MOV (SP)+,R0
112 010344 RETURN
010344 000207 RTS PC
113
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1110 26-JUL-79 09:22 PAGE 212
VARIOUS UTILITY ROUTINES/RAB 7509.05
115 .SBTTL VARIOUS UTILITY ROUTINES/RAB 7509.05
116
117 010346 KLXTN::
118 ; THIS ROUTINE CLEARS THE UNUSED BITS IN THE TRIPLET
119 ; REPRESENTING A KL10 WORD
120 ;
121 010346 042760 177760 000004 BIC #177760,4(R0) ;CLEAR GARBAGE
122 010354 000241 CLC ;CLEAR LEFTOVER CARRIES
123 010356 KLXTX:
124 010356 RETURN
010356 000207 RTS PC
125
126 010360 KLADJ1:: ;ADJUST R0 & R1
127 010360 024141 CMP -(R1),-(R1)
128 010362 KLADJ:: ;ADJUST ONLY R0
129 010362 024040 CMP -(R0),-(R0)
130 010364 000770 BR KLXTN ;AND EXTEND IT
131
132 010366 KLTST:: ;TEST KL NUMBER FOR ZERO
133 010366 005710 TST (R0) ;TEST FIRST WORD
134 010370 001010 BNE KLTST2 ; NON ZERO?
135 010372 005760 000002 TST 2(R0) ;TEST SECOND WORD
136 010376 001005 BNE KLTST2 ; NON ZERO?
137 010400 005760 000004 TST 4(R0) ;TEST THIRD WORD
138 010404 001002 BNE KLTST2 ; NON ZERO?
139 010406 KLTST1: ;HERE IF KL ZERO
140 010406 000241 CLC ;CLEAR C BIT
141 010410 000401 BR KLTST3 ;AND GO AWAY
142
143 010412 KLTST2:
144 010412 000261 SEC ;SET C BIT IF NON-ZERO
145 010414 KLTST3:
146 010414 RETURN ; TO CALLER
010414 000207 RTS PC
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1110 26-JUL-79 09:22 PAGE 213
VARIOUS UTILITY ROUTINES/RAB 7509.05
148 010416 KLCMPR:: ;COMPARE TWO KL10 NUMBERS
149 010416 PUSH <(R0)+,(R0)+,(R0),R0>
010416 012046 MOV (R0)+,-(SP)
010420 012046 MOV (R0)+,-(SP)
010422 011046 MOV (R0),-(SP)
010424 010046 MOV R0,-(SP)
150 010426 CALL KLADJ ; ....RESET POINTERS
010426 004737 010362' JSR PC,KLADJ
151 010432 CALL KLSUB ; ....SUBTRACT NUMBERS
010432 004737 010316' JSR PC,KLSUB
152 010436 CALL KLTST ; ....IS EQUAL TO ZERO?
010436 004737 010366' JSR PC,KLTST
153 010442 POP <R0,(R0),-(R0),-(R0)>
010442 012600 MOV (SP)+,R0
010444 012610 MOV (SP)+,(R0)
010446 012640 MOV (SP)+,-(R0)
010450 012640 MOV (SP)+,-(R0)
154 010452 103007 BCC 1$ ; YES, DONE
155 010454 032760 000010 000004 BIT #10,4(R0) ; LESS THAN ZERO?
156 010462 001401 BEQ 2$ ; NO, POSITIVE
157 010464 000270 SEN ; YES -- NEGATIVE
158 010466 2$:
159 010466 000244 CLZ
160 010470 000241 CLC ; NON-ZERO
161 010472 1$:
162 010472 RETURN ;AND RETURN TO USER
010472 000207 RTS PC
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1110 26-JUL-79 09:22 PAGE 214
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 010474 KLADDI::
181 010474 005701 TST R1 ;CHECK SIGN OF R1
182 010476 002405 BLT ADSBI ;REALLY SUBTRACTION
183 010500 060120 ADD R1,(R0)+ ;ADD LOWER PARTS
184 010502 005520 ADC (R0)+ ;MIGHT GET A CARRY
185 010504 005510 ADC (R0) ;AND EVEN HERE WE MIGHT
186 010506 KLADIX:
187 010506 000137 010362' JMP KLADJ ;AND ADJUST R0 BACK
188
189 010512 ADSBI:
190 010512 005401 NEG R1 ;TAKE THE NEGAVITE
191 ; [FALLS THROUGH INTO KLSUBI]
192
193 ; KLSUBI - SUBTRACT 16 BITS FROM 36 BITS
194 ;
195 010514 KLSUBI::
196 010514 005701 TST R1 ;CHECK SIGN OF R1
197 010516 003404 BLE SBADI ; REALLY WANTS TO ADD
198 010520 160120 SUB R1,(R0)+ ;SUBTRACT LOW ORDER PARTS
199 010522 005620 SBC (R0)+ ;FIX ALL THE CARRIES
200 010524 005610 SBC (R0)
201 010526 000767 BR KLADIX ;AND GO AWAY
202
203 010530 SBADI:
204 010530 005401 NEG R1 ;MAKE SUB INTO ADD
205 010532 000760 BR KLADDI ;AND JUST ADD TOGETHER
206
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1110 26-JUL-79 09:22 PAGE 215
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 010534 KLMULI::
216 010534 PUSH <R0,R1,R2,R3> ;SAVE A FEW REGS
010534 010046 MOV R0,-(SP)
010536 010146 MOV R1,-(SP)
010540 010246 MOV R2,-(SP)
010542 010346 MOV R3,-(SP)
217 010544 010002 MOV R0,R2 ;SAVE FROM $MUL
218 010546 010103 MOV R1,R3 ; " " "
219 010550 011200 MOV (R2),R0 ;GET LOW ORDER PART
220 010552 CALL $MUL ;MULTIPLY LOW ORDER PART
010552 004737 000000G JSR PC,$MUL
221 010556 010112 MOV R1,(R2) ;STORE LOW ORDER ANSWER
222 010560 PUSH R0 ;SAVE HIGH ORDER ANSWER
010560 010046 MOV R0,-(SP)
223 010562 016200 000002 MOV 2(R2),R0 ;GET MIDDLE ORDER PART
224 010566 010301 MOV R3,R1 ;GET BACK MULTIPLIER
225 010570 CALL $MUL ;DO MIDDLE PART MULTIPLY
010570 004737 000000G JSR PC,$MUL
226 010574 010162 000002 MOV R1,2(R2) ;SAVE MIDDLE LOW
227 010600 PUSH R0 ;SAVE MIDDLE HIGH FOR LATER
010600 010046 MOV R0,-(SP)
228 010602 016200 000004 MOV 4(R2),R0 ;GET HIGH PART
229 010606 010301 MOV R3,R1 ;GET BACK MULTIPLIER
230 010610 CALL $MUL ;AND MULTIPLY
010610 004737 000000G JSR PC,$MUL
231 010614 010162 000004 MOV R1,4(R2) ;STORE HIGH PART, DISCARD EXCESS
232 010620 POP R1 ;2ND WORD CARRY OVER
010620 012601 MOV (SP)+,R1
233 010622 POP R0 ;LOW WORD CARRY OVER
010622 012600 MOV (SP)+,R0
234 010624 060062 000002 ADD R0,2(R2) ;SO ADD IN
235 010630 005562 000004 ADC 4(R2) ;ADD IN ARITHMETIC CARRY
236 010634 060162 000004 ADD R1,4(R2) ;ADD IN HIGH PART
237 010640 POP <R3,R2,R1,R0>
010640 012603 MOV (SP)+,R3
010642 012602 MOV (SP)+,R2
010644 012601 MOV (SP)+,R1
010646 012600 MOV (SP)+,R0
238 010650 000137 010346' JMP KLXTN ;AND EXTEND ANSWER
239
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1110 26-JUL-79 09:22 PAGE 216
KLDIVI - DIVIDE 36 BITS BY 16 BITS
241 .SBTTL KLDIVI - DIVIDE 36 BITS BY 16 BITS
242
243 010654 KLDIVI::
244 010654 PUSH R0
010654 010046 MOV R0,-(SP)
245 010656 PUSH R1
010656 010146 MOV R1,-(SP)
246 010660 012701 000003 MOV #3,R1
247 010664 CALL KLLSHI ;PRETEND ALWAYS 8
010664 004737 010700' JSR PC,KLLSHI
248 010670 POP R1
010670 012601 MOV (SP)+,R1
249 010672 POP R0
010672 012600 MOV (SP)+,R0
250 010674 RETURN
010674 000207 RTS PC
251
252
253 010676 RETURN
010676 000207 RTS PC
254
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1110 26-JUL-79 09:22 PAGE 217
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 010700 KLLSHI::
271 010700 .TPSHI:: ; [TCO 4.2308] ALTERNATE NAME
272 010700 PUSH R1 ;SAVE FROM ROUTINE
010700 010146 MOV R1,-(SP)
273 010702 005701 TST R1 ;TEST SIGN OF SHIFTER
274 010704 002002 BGE KLLI0 ;REALLY MEANS LEFT
275 010706 005401 NEG R1 ;MEANS RIGHT, SO NEGATE
276 010710 000420 BR KLRI0 ;AND GO RIGHT
277
278 010712 KLLI0:
279 010712 001406 BEQ KLLI1 ;ON ZERO DO NOTHING
280 010714 006320 ASL (R0)+ ;CLEAR C BIT AND SHIFT
281 010716 006120 ROL (R0)+ ;USE C BIT AND SHIFT
282 010720 006110 ROL (R0)
283 010722 024040 CMP -(R0),-(R0) ;POINT BACK TO BEGINNING
284 010724 SOB R1,KLLI0 ;AND LOOP 'TILL DONE
010724 005301 DEC R1
010726 001371 BNE KLLI0
285 010730 KLLI1:
286 010730 POP R1 ;RESTORE R1
010730 012601 MOV (SP)+,R1
287 010732 000137 010346' JMP KLXTN ;FIX EXTRA BITS AND RETURN
288
289 ;
290 ; THIS ROUTINE IS EXACTLY LIKE KLLSHI,
291 ; EXCEPT IT SHIFTS RIGHT.
292
293 010736 KLRSHI::
294 010736 PUSH R1
010736 010146 MOV R1,-(SP)
295 010740 005701 TST R1 ;TEST SIGN OF SHIFTER
296 010742 001772 BEQ KLLI1 ;DO NOTHING FOR ZERO
297 010744 002002 BGE KLRI0
298 010746 005401 NEG R1 ;REALLY MEANT LEFT SHIFT
299 010750 000760 BR KLLI0 ; SO DO IT
300
301 010752 KLRI0:
302 010752 022020 CMP (R0)+,(R0)+ ;FIX PTR TO POINT TO HIGH PART
303 010754 006210 ASR (R0) ;SHIFT HIGH PART
304 010756 006040 ROR -(R0) ;THEN MIDDLE PART
305 010760 006040 ROR -(R0) ;THEN LOW PART
306 010762 SOB R1,KLRI0 ;UNTIL DONE
010762 005301 DEC R1
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1110 26-JUL-79 09:22 PAGE 217-1
MORE 16 & 36 BIT MANIPULATION
010764 001372 BNE KLRI0
307 010766 000760 BR KLLI1
308
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1110 26-JUL-79 09:22 PAGE 219
KL10 LOGICAL OPERATOR SIMULATIONS
311 .SBTTL KL10 LOGICAL OPERATOR SIMULATIONS
312
313 010770 KLIOR::
314 ;
315 ; THIS FUNCTION PERFORMS THE LOGICAL OR OF TWO
316 ; 36 BIT NUMBERS
317 ;
318 ;INPUT ARGUMENTS
319 ;
320 ; R0 POINTS TO ONE 36 BIT QUANTITY
321 ; R1 POINTS TO THE OTHER
322 ;
323 ;OUTPUT ARGUMENTS
324 ;
325 ; R0 POINTS TO THE ANSWER
326 ;
327
328 010770 052120 BIS (R1)+,(R0)+ ;FIRST WORD
329 010772 052120 BIS (R1)+,(R0)+ ;SECOND WORD
330 010774 051110 BIS (R1),(R0) ;LAST WORD
331 010776 KLIORX:
332 010776 000137 010360' JMP KLADJ1 ;AND ADJUST POINTERS
333
334 011002 KLAND::
335 ; THIS PERFORMS LOGICAL AND
336 ; ARGUMENTS ARE EXACTLY AS FOR KLIOR
337 ;
338 011002 CALL KLCMP ;PDP-11 LACKS AND
011002 004737 011056' JSR PC,KLCMP
339 011006 042120 BIC (R1)+,(R0)+ ;SO DO -(-A)+B
340 011010 042120 BIC (R1)+,(R0)+ ;FOR ALL THE WORDS
341 011012 041110 BIC (R1),(R0)
342 011014 000770 BR KLIORX ;TO SAVE THE JUMP WORD
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1110 26-JUL-79 09:22 PAGE 220
MORE KL10 LOGICAL OPERATORS
344 .SBTTL MORE KL10 LOGICAL OPERATORS
345
346 ;
347 ; THIS ROUTINE INCREMENTS A 36 BIT QUANTITY
348 ;
349 ;INPUT ARGUMENTS
350 ;
351 ; R0 POINTS TO THE NUMBER TO BE INCREMENTED
352 ;
353 ;OUTPUT ARGUMENTS
354 ;
355 ; THE NUMBER POINTED TO IS INCREMENTED
356 ;
357
358 011016 KLINC::
359 011016 062720 000001 ADD #1,(R0)+ ;DO THE INCREMENT
360 011022 005520 ADC (R0)+ ;AND CARRY THE CARRIES
361 011024 005510 ADC (R0)
362 011026 KLINCX:
363 011026 000137 010362' JMP KLADJ ;AND READJUST POINTERS
364
365 ;
366 ; THIS ROUTINE DECREMENTS A 36 BIT QUANTITY. ARGUMENTS
367 ; ARE AS FOR KLINC.
368 ;
369
370 011032 KLDEC::
371 011032 162720 000001 SUB #1,(R0)+ ;DO THE DECREMENT
372 011036 005620 SBC (R0)+ ;AND STRAIGHTEN OUT THE CARRIES
373 011040 005610 SBC (R0)
374 011042 000771 BR KLINCX ;TO SAVE THE JUMP WORD
375
376
377 ;
378 ; THIS ROUTINE SETS A 36 BIT QUANTITY TO MINUS ONE.
379 ; ARGUMENTS ARE AS FOR "KLINC" AND "KLDEC".
380 ;
381
382 011044 KLSETO::
383 011044 CALL KLCLR ; MAKE IT ZERO
011044 004737 011140' JSR PC,KLCLR
384 011050 CALL KLCMP ; NOW MAKE IT -1
011050 004737 011056' JSR PC,KLCMP
385 011054 RETURN ; AND GO AWAY
011054 000207 RTS PC
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1110 26-JUL-79 09:22 PAGE 221
MORE MISC KL FUNCTIONS/RAB 7509.19
387 .SBTTL MORE MISC KL FUNCTIONS/RAB 7509.19
388
389 011056 KLCMP::
390 ;
391 ; THIS ROUTINE COMPLEMENTS (2) THE 36 BIT
392 ; QUANTITY
393 ;
394 ;INPUT ARGUMENTS
395 ;
396 ; R0 POINTS TO THE QUANTITY
397 ;
398 ;OUTPUT ARGUMENTS
399 ;
400 ; R0 POINTS TO THE ANSWER
401 ;
402 011056 005120 COM (R0)+ ;DO IT ONCE
403 011060 005120 COM (R0)+ ;FOR EACH
404 011062 005110 COM (R0) ; *OF THE WORDS AND THEN
405 011064 KLCMPX:
406 011064 000137 010362' JMP KLADJ ;SIGN EXTEND
407
408 011070 KLNEG::
409 ; THIS ROUTINE NEGATES A 36 BIT QUANTITY
410 ;
411 ;INPUT ARGUMENTS
412 ;
413 ; R0 POINTS TO THE QUANTITY
414 ;;
415 ;OUTPUT ARGUMENTS
416 ;
417 ; R0 POINTS TO THE ANSWER
418 ;
419 011070 CALL KLCMP ;FIRST COMPLEMENT
011070 004737 011056' JSR PC,KLCMP
420 011074 CALL KLINC ;-0 + NOT(0)+1
011074 004737 011016' JSR PC,KLINC
421 011100 RETURN ;TO CALLER
011100 000207 RTS PC
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1110 26-JUL-79 09:22 PAGE 222
KLLSH - SHIFT A KL NUMBER
423 .SBTTL KLLSH - SHIFT A KL NUMBER
424
425 ; THIS ROUTINE SHIFTS ONE KL FORMAT
426 ; NUMBER BY ANOTHER
427 ;
428 ;INPUT ARGUMENTS
429 ;
430 ; R0 POINTS TO THE NUMBER TO BE SHIFTED
431 ; R1 POINTS TO THE NUMBER WHICH INDICATES
432 ; THE NUMBER OF POSITIONS TO SHIFT
433 ;
434 ; OUTPUT ARGUMENTS
435 ;
436 ; R0 STILL POINTS TO THE NUMBER, BUT SHIFTED
437 ;
438 011102 KLLSH::
439 011102 PUSH R1 ;SAVE FROM BELOW
011102 010146 MOV R1,-(SP)
440 011104 032761 000010 000004 BIT #10,4(R1) ;TEST SIGN BIT
441 011112 001004 BNE KLLSHR ;IF NON-ZERO, NEGATIVE
442 011114 011101 MOV (R1),R1 ;PICK UP LOW PART
443 011116 CALL KLLSHI ;DO THE SHIFT
011116 004737 010700' JSR PC,KLLSHI
444 011122 000404 BR KLLSHX ;AND RETURN
445
446 011124 KLLSHR: ;LEFT SHIFT, BUT RIGHT?
447 011124 011101 MOV (R1),R1 ;PICK UP LOW PART
448 011126 005401 NEG R1 ; NEGATE IT
449 011130 CALL KLRSHI ;SHIFT RIGHT
011130 004737 010736' JSR PC,KLRSHI
450 011134 KLLSHX:
451 011134 POP R1 ;RESTORE R1
011134 012601 MOV (SP)+,R1
452 011136 RETURN ;AND RETURN
011136 000207 RTS PC
453
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1110 26-JUL-79 09:22 PAGE 223
KLCLR - CLEAR A KL FORMAT NUMBER
455 .SBTTL KLCLR - CLEAR A KL FORMAT NUMBER
456
457 ;
458 ;INPUT ARGUMENTS
459 ;
460 ; R0 POINTS TO THE KL NUMBER
461 ;
462 ;OUTPUT ARGUMENTS
463 ;
464 ; THE NUMBER POINTED TO IS CLEARED
465 ;
466
467 011140 KLCLR::
468 011140 005020 CLR (R0)+
469 011142 005020 CLR (R0)+
470 011144 005010 CLR (R0)
471 011146 000137 010362' JMP KLADJ ;AND RETURN
472
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1110 26-JUL-79 09:22 PAGE 224
KLRSH SHIFT A NUMBER RIGHT
474 .SBTTL KLRSH SHIFT A NUMBER RIGHT
475
476 ;
477 ;INPUT AND OUTPUT ARGS ARE SAME AS KLLSH
478 ;
479
480 011152 KLRSH::
481 011152 005401 NEG R1
482 011154 CALL KLLSH ;HACK HACK
011154 004737 011102' JSR PC,KLLSH
483 011160 005401 NEG R1
484 011162 RETURN
011162 000207 RTS PC
485
KLNUM KL-10 ARITHMETIC SIMULATI MACRO M1110 26-JUL-79 09:22 PAGE 225
KLRSH SHIFT A NUMBER RIGHT
487 ; [THE END OF THE ARITHMETIC FUNCTIONS]
KLPERR KL10 FRONT END ERROR DE MACRO M1110 26-JUL-79 09:22 PAGE 226
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 M1110 26-JUL-79 09:22 PAGE 227
*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 M1110 26-JUL-79 09:22 PAGE 228
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 M1110 26-JUL-79 09:22 PAGE 228-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 M1110 26-JUL-79 09:22 PAGE 228-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 M1110 26-JUL-79 09:22 PAGE 228-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 M1110 26-JUL-79 09:22 PAGE 228-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 M1110 26-JUL-79 09:22 PAGE 228-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 M1110 26-JUL-79 09:22 PAGE 228-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 M1110 26-JUL-79 09:22 PAGE 228-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 M1110 26-JUL-79 09:22 PAGE 228-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 M1110 26-JUL-79 09:22 PAGE 228-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 M1110 26-JUL-79 09:22 PAGE 228-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 M1110 26-JUL-79 09:22 PAGE 228-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 M1110 26-JUL-79 09:22 PAGE 228-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 M1110 26-JUL-79 09:22 PAGE 228-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 M1110 26-JUL-79 09:22 PAGE 228-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 M1110 26-JUL-79 09:22 PAGE 228-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 M1110 26-JUL-79 09:22 PAGE 228-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 CPERR XTO,20,<EXECUTE TIMED OUT>
003561 130 124 117 .ASCIZ %XTO - EXECUTE TIMED OUT%
003564 040 055 040
003567 105 130 105
003572 103 125 124
003575 105 040 124
003600 111 115 105
003603 104 040 117
003606 125 124 000
000564 114457 .RAD50 /XTO/ ; XTO ERROR
000566 000020 .WORD 20 ; SEVERITY WORD
000570 003561' .WORD SYMA ; LOCATION OF ASCII STRNG
133
134 000572 .PSECT SYMTBS ;JUST IN CASE
135 000572 000000 000000 000000 .WORD 0,0,0 ;ZERO ENTRY AT END
136
137 000600 PRTNER:
138 000600 102515 .RAD50 /UME/ ;UNMATCHED ERROR?
139 000602 000077 .WORD 77 ;VERY SERIOUS ERROR
140 000604 003611' .WORD PRTNEA ;ASCIZ STRING
141 003611 .PSECT SYMTAA
142 003611 PRTNEA:
143 003611 125 115 105 .ASCII "UME - UNMATCHED ERROR CODE - "
003614 040 055 040
003617 125 116 115
003622 101 124 103
003625 110 105 104
003630 040 105 122
003633 122 117 122
003636 040 103 117
003641 104 105 040
003644 055 040
144 003646 PRTNEX:
145 003646 000 000 000 .BYTE 0,0,0,0 ;ASCIZ ERROR CODE GOES HERE
003651 000
KLPERR KL10 FRONT END ERROR DE MACRO M1110 26-JUL-79 09:22 PAGE 229
PRTERR -- COMMAND PARSER ERROR DECODER
147 .SBTTL PRTERR -- COMMAND PARSER ERROR DECODER
148
149 011164 .PSECT ;COMPRS
150
151 ; THIS ROUTINE RETURNS THE ASCIZ STRING
152 ; ASSOCIATED WITH A RAD50 ERROR CODE.
153 ;
154 ; INPUT ARGUMENTS:
155 ;
156 ; R0 HAS THE RAD50 CODE
157 ;
158 ; OUTPUT ARGUMENTS:
159 ;
160 ; R0 POINTS TO THE ERROR SEVERITY.
161 ; THE NEXT WORD IS THE ERROR ASCIZ STRING
162 ;
163 ; RAD50 CODE
164 ; R0 / SEVERITY
165 ; PTR TO STRING / STRING
166 ;
167 ; TYPICAL CALL (ERROR CODE IN R0)
168 ;
169 ; CALL PRTERR
170 ; CMP (R0)+,.ERLVL ; IS ERROR IN RANGE?
171 ; BGE NOT ; NO, NOT SERIOUS
172 ; MOV (R0),R0 ; GET ADDRESS
173 ; CALL TYPLIN ; AND TYPE STRING
174
175 011164 PRTERR::
176 011164 PUSH R2 ; SAVE REG
011164 010246 MOV R2,-(SP)
177 011166 012702 000000' MOV #ERRTBL,R2 ; .TABLE OF CODES
178 011172 PRTER0: ; .TRY THIS ENTRY
179 011172 005712 TST (R2) ; .IF ENTRY IS ZERO
180 011174 001407 BEQ PRTER7 ; .THEN NO MATCHES FOUND
181 011176 022200 CMP (R2)+,R0 ; .SEE IF SAME AS R0
182 011200 001402 BEQ PRTER1 ; .IF SO, GO AWAY
183 011202 022222 CMP (R2)+,(R2)+ ; .POINT TO NEXT ENTRY
184 011204 000772 BR PRTER0 ; .AND TRY AGAIN
185 011206 PRTER1: ; .HERE IF MATCH
186 011206 010200 MOV R2,R0 ; .ERROR RETURN IN R0
187 011210 POP R2 ; .RESTORE USER REG
011210 012602 MOV (SP)+,R2
188 011212 RETURN ; AND RETURN
011212 000207 RTS PC
189 011214 PRTER7: ; .NO MATCH
190 011214 010001 MOV R0,R1 ; GET RAD50 CODE
191 011216 012700 003646' MOV #PRTNEX,R0 ; ADDRESS
192 011222 CALL .C5TA ; STICK IN ERROR CODE
011222 004737 016174' JSR PC,.C5TA
193 011226 012702 000602' MOV #PRTNER+2,R2 ; HORRIBLE, NO MATCH
194 011232 000765 BR PRTER1 ; AND GO AWAY
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 230
PRTERR -- COMMAND PARSER ERROR DECODER
1 .TITLE KLERR - KL10 SYSTEM ERROR RECORDING PROGRAM
2 .IDENT /003000/
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 ; MODIFIED:
27 ;
28 ; K. LEFEBVRE 8-MAR-79 ADD EXPANDED DTE REGISTER TYPE OUT
29 ; TCO 4.2203
30 ; K. LEFEBVRE 28-MAR-79 ADD E BUS PARITY ERROR INFO
31 ; TCO 4.2217
32 ; K. LEFEBVRE 25-JUN-79 ADD FM PARITY ERROR SWEEP
33 ; TCO 4.2308
34 ;
35 ;
36 ; THIS PROGRAM IS CALLED BY RSX20F MONITOR TO RECORD KL10 ERROR
37 ; CONDITIONS WHICH STOP THE CLOCK AND THUS CANNOT BE HANDLED BY
38 ; THE KL10 ITSELF. KLERR WILL RECORD INFORMATION ON FIVE
39 ; TYPES OF ERRORS, NAMELY;
40 ;
41 ; 1. FAST MEMORY PARITY CLOCK ERROR STOP
42 ; 2. C-RAM PARITY CLOCK ERROR STOP
43 ; 3. D-RAM PARITY CLOCK ERROR STOP
44 ; 4. FIELD SERVICE CLOCK ERROR STOP
45 ; 5. OTHERS
46 ;
47
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 231
PRTERR -- COMMAND PARSER ERROR DECODER
49 .MACRO KLEVR$ KEY,FRM,VER,EDT,NUM
50 .IF B,NUM
51 .IF NB,FRM
52 KLEVR$ \KEY,\FRM,\VER,\EDT,0
53 .IFF
54 KLEVR$ \KEY,200,\VER,\EDT,0
55 .ENDC
56 .MEXIT
57 .IFF
58 .IF GE,VER-10
59 .IF GE,EDT-10
60 .ASCII \VERSION \<KEY><FRM>\'VER'-'EDT'\<200>\ RUNNING\
61 .IFF
62 .ASCII \VERSION \<KEY><FRM>\'VER'-0'EDT'\<200>\ RUNNING\
63 .ENDC
64 .IFF
65 .IF GE,EDT-10
66 .ASCII \VERSION \<KEY><FRM>\0'VER'-'EDT'\<200>\ RUNNING\
67 .IFF
68 .ASCII \VERSION \<KEY><FRM>\0'VER'-0'EDT'\<200>\ RUNNING\
69 .ENDC
70 .ENDC
71 .ENDC
72 .ENDM KLEVR$
73 ;
74 ; DEFINE SYSTEM MACROS
75 ;
76 .MCALL QIOSY$,GTIM$S,ALUN$,QIOW$,CALL,RETURN,POP,PUSH
77 .MCALL EXIT$S,DIR$,QIOW$S,$DEF,WTSE$S,$IO10,$I10
78 ;
79 011234 $DEF
80 011234 QIOSY$
81 ;
82 ; EQUATED SYMBLOS
83 ;
84 000015 CR=15 ;CARRIAGE RETURN
85 000012 LF=12 ;LINE FEED
86 000011 TAB=11 ;TAB
87 000057 SLS=57 ;SLASH
88 000040 SPC=40 ;SPACE
89 000001 PRI1=1 ;PRIORITY 1
90 000001 LUN1=1 ;CTY LOGICAL UNIT
91 000002 LUN2=2 ;FE DEVICE LOGICAL UNIT
92 000011 EFN1=11 ;EVENT FLAG 1
93 000012 EFN2=12 ;EVENT FLAG 2
94 ;
95 ;
96 ; EXTEND CONTROL BITS, I.EXTD+1 IN I/O PACKET
97 ;
98 000001 EX.AC1=1 ;SET IF ALLOCATING CONTIGUOUS CHUNK
99 000002 EX.AC2=2 ;SET IF SUPPOSED TO ALLOCATE LARGEST AVAILABLE
100 ;CONTIG CHUNK, IF CAN'T ALLOCATE DESIRED AMOUNT
101 000004 EX.FCO=4 ;SET IF FILE IS TO BE CONTIGUOUS
102 000010 EX.ADF=10 ;SET IF ALLOCATING DEFAULT NUMBER OF BLOCKS
103 000200 EX.ENA=200 ;SET IF EXTEND IS ENABLED
104 ;
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 232
DIRECTORY FILE NAME BLOCK
106 .SBTTL DIRECTORY FILE NAME BLOCK
107 ;
108 011234 000000 000000 000000 DIRFNB:: .WORD 0,0,0 ;N.FID
109 011242 140123 .RAD50 /005/
110 011244 140123 .RAD50 /005/
111 011246 000000 .WORD 0 ;N.FNAM
112 011250 015172 .RAD50 /DIR/ ;N.FTYP
113 011252 000000 .WORD 0 ;N.FVER
114 011254 000000 .WORD 0 ;N.STAT
115 011256 000000 .WORD 0 ;N.NEXT
116 011260 177777 .WORD -1 ;FILE ID
117 011262 177777 .WORD -1 ;FILE SEQ
118 011264 005 005 .BYTE 5,5 ;OWNER
119 ;
120 .SBTTL KLERRO.SNP FILE NAME BLOCK
121 ;
122 011266 FILFNB: .BLKB 32
123 000032 FNBSIZ=.-FILFNB
124 ;
125 .SBTTL FILE ID BLOCK
126 ;
127 011320 000000 000000 FILFID: .WORD 0,0 ;FILE ID BLOCK
128 ;
129 .SBTTL FILE ATTRIBUTE CONTROL BLOCK
130 ;
131 011324 005 FILACB: .BYTE 5 ;FUNCTION (WRITE FILE NAME)
132 011325 012 .BYTE 12 ;FILE NAME SIZE
133 011326 011412' .WORD FILNAM ;ADDR OF FILE NAME
134 011330 004 .BYTE 4 ;FUNCTION (FIXED LENGTH RECORD)
135 011331 014 .BYTE 14 ;SIZE
136 011332 011340' .WORD ATTBLK ;ADDR OF ATTRIBUTES
137 011334 000000 000000 .WORD 0,0 ;LAST ENTRY
138 011340 000001 001000 000000 ATTBLK: .WORD 1,1000,0,0,0,0
011346 000000 000000 000000
139 ;
140 .SBTTL START UP KLINIT
141 ;
142 011354 ...KLI: RQST$ ...KLI
011354 013 007 .BYTE 11.,7
011356 131574 043251 .RAD50 /...KLI/
011362 000000 000000 .WORD 0,0
011366 000000 .WORD
011370 000 000 .BYTE ,
143 ;
144 .SBTTL ASSIGN LUN1 TO CTY #0
145 ;
146 011372 ALUNTT: ALUN$ LUN1,TT,0
011372 007 004 .BYTE 7,4
011374 000001 .WORD LUN1
011376 124 .ASCII /T/
011377 124 .ASCII /T/
011400 000000 .WORD 0
147 ;
148 .SBTTL ASSIGN LUN2 TO SY #0
149 ;
150 011402 ALUNSY: ALUN$ LUN2,SY,0
011402 007 004 .BYTE 7,4
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 232-1
ASSIGN LUN2 TO SY #0
011404 000002 .WORD LUN2
011406 123 .ASCII /S/
011407 131 .ASCII /Y/
011410 000000 .WORD 0
151 ;
152 ;
153 011412 043245 071537 FILNAM: .RAD50 /KLERRO/ ;FILE NAME FOR KLERROR FILE
154 011416 000000 .WORD 0
155 011420 074400 SNP: .RAD50 /SNP/ ;FILE EXT
156 011422 000000 .WORD 0 ;VERSION #
157 ;
158 .SBTTL DPB FOR READ/WRITE VIRTUAL BLOCK FROM/TO FE DEVICE
159 ;
160 .EVEN
161 011424 KLDPB:: QIOW$ IO.WVB,LUN2,EFN2,,IOSTA,,<,,,,,>
011424 003 014 .BYTE 3,$$$ARG
011426 011000 .WORD IO.WVB
011430 000002 .WORD LUN2
011432 012 000 .BYTE EFN2,
011434 011504' .WORD IOSTA
011436 000000 .WORD
011440 000000 .WORD
011442 000000 .WORD
011444 000000 .WORD
011446 000000 .WORD
011450 000000 .WORD
011452 000000 .WORD
162 ;
163 .SBTTL DPB FOR READ/WRITE MESSAGE FROM/TO CTY0
164 ;
165 .EVEN
166 011454 TTDPB:: QIOW$ IO.WLB,LUN1,EFN1,,IOTTY,,<,,,,,>
011454 003 014 .BYTE 3,$$$ARG
011456 000400 .WORD IO.WLB
011460 000001 .WORD LUN1
011462 011 000 .BYTE EFN1,
011464 011510' .WORD IOTTY
011466 000000 .WORD
011470 000000 .WORD
011472 000000 .WORD
011474 000000 .WORD
011476 000000 .WORD
011500 000000 .WORD
011502 000000 .WORD
167 ;
168 ; WORK AND STORAGE AREA
169 ;
170 011504 000000 000000 IOSTA: .WORD 0,0 ;I/O STATUS AREA FOR FE DEVCIE
171 011510 000000 000000 IOTTY: .WORD 0,0 ;I/O STATUS AREA FOR CTY
172 011514 TTYIPT: .BLKW 40 ;CTY INPUT BUFFER
173 000100 TTYL=.-TTYIPT
174 011614 BUFFER: .BLKW 256. ;FILE BUFFER
175 001000 BUFSIZ=.-BUFFER
176 012614 000000 RECORD: .WORD 0 ;RECORD COUNT
177 012616 000000 PRINTT: .WORD 0 ;RECORD PRINT CONTROL SW
178 012620 000000 FSWTCH: .WORD 0 ;FIELD SERVICE STOP SW
179 012622 000000 TRACE: .WORD 0 ;TRACE SWITCH
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 232-2
DPB FOR READ/WRITE MESSAGE FROM/TO CTY0
180 012624 000000 SWPFM: .WORD 0 ;[4.2308]FM ERROR FLAG
181 012626 000000 CRESW: .WORD 0 ;CREATE FILE SW
182 ;
183 ; THE FOLLOWING 3 TAGS ARE NOT USED IN THIS PROGRAM BUT
184 ; REQUIRED WHEN LINKED WITH OTHER MODULES (KLPERR.M11, ETC.)
185 ;
186 012630 .OKLF::
187 012630 .LDZER::
188 012630 000000 .TRKWD:: .WORD 0 ;TRACK WORD
189 ;
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 233
INFORMATIONAL MESSAGES OUTPUT BY KLERR
191 .SBTTL INFORMATIONAL MESSAGES OUTPUT BY KLERR
192 ;
193 .EVEN
194 012632 124 122 101 CKMSG: .ASCII /TRACE # /
012635 103 105 040
012640 043 040
195 012642 000000 POINT: .WORD 0
196 012644 015 012 .ASCII <CR><LF>
197 000014 CKMSGL=.-CKMSG
198 .EVEN
199 012646 123 105 124 TRMSG: .ASCII /SET TRACE [Y OR N]?/<CR><LF>
012651 040 124 122
012654 101 103 105
012657 040 133 131
012662 040 117 122
012665 040 116 135
012670 077 015 012
200 000025 TRMSGL=.-TRMSG
201 .EVEN
202 012674 105 130 111 LTMSG: .ASCII /EXIT FROM KLERR/<CR><LF>
012677 124 040 106
012702 122 117 115
012705 040 113 114
012710 105 122 122
012713 015 012
203 000021 LTMSGL=.-LTMSG
204 .EVEN
205 012716 113 114 105 READP: .ASCII /KLERR>/
012721 122 122 076
206 000006 READPL=.-READP
207 .EVEN
208 012724 113 114 105 WRITP: .ASCII /KLERR -- /
012727 122 122 040
012732 055 055 040
209 000011 WRITPL=.-WRITP
210 012735 KLEVR$ KLE$$K,,KLE$$V,KLE$$E
012735 126 105 122 .ASCII \VERSION \<126><200>\03-00\<200>\ RUNNING\
012740 123 111 117
012743 116 040 126
012746 200 060 063
012751 055 060 060
012754 200 040 122
012757 125 116 116
012762 111 116 107
211 012765 015 012 CRLF: .ASCII <CR><LF>
212 000043 RUINGL=.-WRITP
213 .EVEN
214 012770 011 TABB: .ASCII <TAB>
215 012771 057 SLASH: .ASCII <SLS>
216 012772 072 COLON: .ASCII /:/
217 012773 040 SPACE: .ASCII / /
218 012774 040 TEMCHR: .ASCII / /
219 012775 117 116 ON: .ASCII /ON/
220 012777 117 106 106 OFF: .ASCII /OFF/
221 .EVEN
222 013002 113 114 040 HTMG1: .ASCII /KL IN HALT LOOP/<CR><LF>
013005 111 116 040
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 233-1
INFORMATIONAL MESSAGES OUTPUT BY KLERR
013010 110 101 114
013013 124 040 114
013016 117 117 120
013021 015 012
223 000021 HTMG1L=.-HTMG1
224 .EVEN
225 013024 113 114 040 HTMG2: .ASCII /KL NOT IN HALT LOOP/<CR><LF>
013027 116 117 124
013032 040 111 116
013035 040 110 101
013040 114 124 040
013043 114 117 117
013046 120 015 012
226 000025 HTMG2L=.-HTMG2
227 .EVEN
228 013052 113 114 040 PCMSG: .ASCII /KL VMA: /
013055 126 115 101
013060 072 040
229 013062 VMA: .BLKB 13. ;AREA CONTAINING VMA
230 013077 040 040 040 .ASCII / PC: /
013102 040 120 103
013105 072 040
231 013107 PCC: .BLKB 13. ;AREA CONTAINING PC
232 013124 015 012 .ASCII <CR><LF>
233 000054 PCMSGL=.-PCMSG
234 .EVEN
235 013126 120 111 040 PIMSG: .ASCII /PI STATE: /
013131 123 124 101
013134 124 105 072
013137 040
236 013140 040 040 040 PI0: .BYTE SPC,SPC,SPC,SPC ;AREA TO CONTAIN PI STATE
013143 040
237 013144 054 040 120 .ASCII /, PI ON: /
013147 111 040 117
013152 116 072 040
238 013155 040 040 040 PI1: .BYTE SPC,SPC,SPC,SPC
013160 040
239 013161 054 040 120 .ASCII /, PI HLD: /
013164 111 040 110
013167 114 104 072
013172 040
240 013173 040 040 040 PI2: .BYTE SPC,SPC,SPC,SPC
013176 040
241 013177 054 040 120 .ASCII /, PI GEN: /
013202 111 040 107
013205 105 116 072
013210 040
242 013211 040 040 040 PI3: .BYTE SPC,SPC,SPC,SPC
013214 040
243 013215 015 012 .ASCII <CR><LF>
244 000071 PIMSGL=.-PIMSG
245 .EVEN
246 013220 040 040 040 ERCODE: .BYTE SPC,SPC,SPC,SPC ;AREA TO CONTAIN ERROR CODE
013223 040
247 013224 .BLKW 40
248 000104 ERCODL=.-ERCODE
249 ;
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 233-2
INFORMATIONAL MESSAGES OUTPUT BY KLERR
250 ;
251 ;
252 .EVEN
253 013324 113 114 040 NOCLK: .ASCII /KL ERROR OTHER THAN CLOCK ERROR STOP/<CR><LF>
013327 105 122 122
013332 117 122 040
013335 117 124 110
013340 105 122 040
013343 124 110 101
013346 116 040 103
013351 114 117 103
013354 113 040 105
013357 122 122 117
013362 122 040 123
013365 124 117 120
013370 015 012
254 000046 NOCLKL=.-NOCLK
255 .EVEN
256 013372 103 114 117 STOP: .ASCII /CLOCK ERROR STOP/<CR><LF>
013375 103 113 040
013400 105 122 122
013403 117 122 040
013406 123 124 117
013411 120 015 012
257 000022 STOPL=.-STOP
258 .EVEN
259 013414 104 122 101 DRAM: .ASCII /DRAM PARITY/<CR><LF>
013417 115 040 120
013422 101 122 111
013425 124 131 015
013430 012
260 000015 DRAML=.-DRAM
261 .EVEN
262 013432 103 122 101 CRAM: .ASCII /CRAM PARITY/<CR><LF>
013435 115 040 120
013440 101 122 111
013443 124 131 015
013446 012
263 000015 CRAML=.-CRAM
264 .EVEN
265 013450 106 115 040 FM: .ASCII /FM PARITY - /
013453 120 101 122
013456 111 124 131
013461 040 055 040
266 013464 102 114 113 .ASCII /BLK: /
013467 072 040
267 013471 FMB: .BLKB 3
268 013474 040 101 104 .ASCII / ADDR: /
013477 104 122 072
013502 040
269 013503 FMA: .BLKB 3
270 013506 040 104 101 .ASCII / DATA: /
013511 124 101 072
013514 040
271 013515 FMD: .BLKB 13.
272 013532 015 012 .ASCII <CR><LF>
273 000064 FML=.-FM
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 233-3
INFORMATIONAL MESSAGES OUTPUT BY KLERR
274 .EVEN
275 013534 106 123 040 FS: .ASCII /FS STOP/<CR><LF>
013537 123 124 117
013542 120 015 012
276 000011 FSL=.-FS
277 ;
278 .SBTTL ERROR MESSAGES OUTPUT BY KLERR
279 ;
280 .EVEN
281 013546 077 104 111 ERMG1: .ASCII /?DIRECTORY FILE NOT FOUND/<CR><LF>
013551 122 105 103
013554 124 117 122
013557 131 040 106
013562 111 114 105
013565 040 116 117
013570 124 040 106
013573 117 125 116
013576 104 015 012
282 000033 ERMG1L=.-ERMG1
283 .EVEN
284 013602 077 113 114 ERMG2: .ASCII /?KLERRO.SNP FILE CREATION FAILED/<CR><LF>
013605 105 122 122
013610 117 056 123
013613 116 120 040
013616 106 111 114
013621 105 040 103
013624 122 105 101
013627 124 111 117
013632 116 040 106
013635 101 111 114
013640 105 104 015
013643 012
285 000042 ERMG2L=.-ERMG2
286 .EVEN
287 013644 077 125 116 ERMG3: .ASCII /?UNABLE TO ENTER KLERRO.SNP INTO DIRECTORY/<CR><LF>
013647 101 102 114
013652 105 040 124
013655 117 040 105
013660 116 124 105
013663 122 040 113
013666 114 105 122
013671 122 117 056
013674 123 116 120
013677 040 111 116
013702 124 117 040
013705 104 111 122
013710 105 103 124
013713 117 122 131
013716 015 012
288 000054 ERMG3L=.-ERMG3
289 .EVEN
290 013720 077 125 116 ERMG4: .ASCII /?UNABLE TO ACCESS FOR EXTENDING KLERRO.SNP FILE/<CR><LF>
013723 101 102 114
013726 105 040 124
013731 117 040 101
013734 103 103 105
013737 123 123 040
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 233-4
ERROR MESSAGES OUTPUT BY KLERR
013742 106 117 122
013745 040 105 130
013750 124 105 116
013753 104 111 116
013756 107 040 113
013761 114 105 122
013764 122 117 056
013767 123 116 120
013772 040 106 111
013775 114 105 015
014000 012
291 000061 ERMG4L=.-ERMG4
292 .EVEN
293 014002 077 125 116 ERMG5: .ASCII /?UNABLE TO EXTEND KLERRO.SNP FILE/<CR><LF>
014005 101 102 114
014010 105 040 124
014013 117 040 105
014016 130 124 105
014021 116 104 040
014024 113 114 105
014027 122 122 117
014032 056 123 116
014035 120 040 106
014040 111 114 105
014043 015 012
294 000043 ERMG5L=.-ERMG5
295 .EVEN
296 014046 077 125 116 ERMG6: .ASCII /?UNABLE TO WRITE KLERRO.SNP FILE/<CR><LF>
014051 101 102 114
014054 105 040 124
014057 117 040 127
014062 122 111 124
014065 105 040 113
014070 114 105 122
014073 122 117 056
014076 123 116 120
014101 040 106 111
014104 114 105 015
014107 012
297 000042 ERMG6L=.-ERMG6
298 .EVEN
299 ;
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 234
ASSIGN LOGICAL UNIT NUMBER (LUN) TO SYS DEVICE
301 .SBTTL ASSIGN LOGICAL UNIT NUMBER (LUN) TO SYS DEVICE
302 ;
303 014110 005737 000000G START:: TST .KLRLD ;IF RELOADING IS ALLOWED
304 014114 001006 BNE 1$ ;AND
305 014116 005737 000000G TST .KLIWD ;KLINIT IS REQUESTED
306 014122 001403 BEQ 1$ ;THEN SCHEDULE HIM
307 014124 DIR$ #...KLI ;TO RUN AFTER US.
014124 012746 011354' MOV #...KLI,-(SP)
014130 104375 EMT 375
308 014132 012737 000401 000000G 1$: MOV #401,.NOERR ;NO INTERRUPTIONS, PLEASE
309 014140 005037 012622' CLR TRACE ;INIT TRACE SW
310 014144 005037 012614' CLR RECORD ;INIT RECORD COUNT
311 014150 005037 012624' CLR SWPFM ;[4.2308]CLEAR FM ERROR FLAG
312 014154 DIR$ #ALUNTT ;SET CTY 0 AS LUN1
014154 012746 011372' MOV #ALUNTT,-(SP)
014160 104375 EMT 375
313 014162 DIR$ #ALUNSY ;SET SY 0 AS LUN2
014162 012746 011402' MOV #ALUNSY,-(SP)
014166 104375 EMT 375
314 ;
315 .SBTTL OUTPUT KLERR RUNNING MSG
316 ;
317 014170 012700 012724' MOV #WRITP,R0
318 014174 012701 000043 MOV #RUINGL,R1
319 014200 CALL TTCOMX ;SEND MSG TO CTY
014200 004737 017334' JSR PC,TTCOMX
320 014204 CALL TYPDTE ; [4.2203] TYPE OUT DTE REGISTER CONTENTS
014204 004737 017610' JSR PC,TYPDTE
321 014210 CALL .DTDW1 ;READ DIAG WORD 1
014210 004737 000476' JSR PC,.DTDW1
322 014214 103416 BCS TENFUN ;ERROR, FORGET IT
323 014216 032700 001000 BIT #D1.HLP,R0 ;IS KL IN A HALT LOOP ?
324 014222 001405 BEQ 2$ ;NO
325 014224 012700 013002' MOV #HTMG1,R0
326 014230 012701 000021 MOV #HTMG1L,R1
327 014234 000404 BR 3$ ;INDICATE -10 IN HALT LOOP
328 014236 012700 013024' 2$: MOV #HTMG2,R0
329 014242 012701 000025 MOV #HTMG2L,R1
330 014246 3$: CALL TTWRIT ;INDICATE -10 NOT IN HALT LOOP
014246 004737 017314' JSR PC,TTWRIT
331 ;
332 .SBTTL HALT -10, GET PC, PI, AND ERROR CODE
333 ;
334 014252 012700 012646' TENFUN: MOV #TRMSG,R0
335 014256 000426 BR 12$
336 014260 012701 000025 MOV #TRMSGL,R1
337 014264 CALL TTWRIT ;ASK IF TRACE SHOULD BE SET ?
014264 004737 017314' JSR PC,TTWRIT
338 014270 CALL TTREAD ;READ ANSWER
014270 004737 017250' JSR PC,TTREAD
339 014274 105737 011514' TSTB TTYIPT ;[CR]?
340 014300 001410 BEQ 10$ ;TREAT AS [Y]
341 014302 122737 000116 011514' CMPB #'N,TTYIPT ;[N]?
342 014310 001407 BEQ 11$ ;YES
343 014312 122737 000131 011514' CMPB #'Y,TTYIPT ;[Y]?
344 014320 001354 BNE TENFUN ;ASK IT AGAIN
345 014322 005237 012622' 10$: INC TRACE ;TURN ON TRACE SW
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 234-1
HALT -10, GET PC, PI, AND ERROR CODE
346 014326 000402 BR 12$
347 014330 005037 012622' 11$: CLR TRACE ;TURN OFF TRACE SW
348 014334 012737 030060 012642' 12$: MOV #"00,POINT
349 014342 CALL CKPNT ;TRACE 0
014342 004737 017214' JSR PC,CKPNT
350 014346 CALL .CESCK ;STOP CLOCK
014346 004737 000300' JSR PC,.CESCK
351 014352 103005 BCC 1$ ;OK, WE MAY HALT -10
352 014354 022700 CMP (PC)+,R0 ;CHECK FOR CLOCK ERROR STOP
353 014356 011633 .RAD50 /CES/ ;CLOCK ERROR STOP ERROR
354 014360 001407 BEQ 2$ ;YES, IT IS STOPPED
355 014362 CALL EREXIT ;NO, FIND OUT WHY
014362 004737 014566' JSR PC,EREXIT
356 014366 1$: CALL .STPX1 ;STOP KL CLOCK
014366 004737 006244' JSR PC,.STPX1
357 014372 103002 BCC 2$
358 014374 CALL EREXIT ;FIND OUT WHY
014374 004737 014566' JSR PC,EREXIT
359 014400 2$: CALL CLRTTY ;ZERO TTYIPT & USE IT FOR INPUT
014400 004737 017150' JSR PC,CLRTTY
360 014404 012701 011514' MOV #TTYIPT,R1 ;PASS POINTER TO .RDVMA
361 014410 CALL .RDVMA ;GET VMA
014410 004737 005354' JSR PC,.RDVMA
362 014414 103002 BCC 5$
363 014416 CALL EREXIT
014416 004737 014566' JSR PC,EREXIT
364 014422 012700 013062' 5$: MOV #VMA,R0
365 014426 CALL SETPC ;SET VMA
014426 004737 016304' JSR PC,SETPC
366 014432 012701 011514' MOV #TTYIPT,R1 ;PASS POINTER TO .RDVPC
367 014436 CALL .RDVPC ;GET PC
014436 004737 005340' JSR PC,.RDVPC
368 014442 103002 BCC 3$
369 014444 CALL EREXIT
014444 004737 014566' JSR PC,EREXIT
370 014450 012700 013107' 3$: MOV #PCC,R0
371 014454 CALL SETPC ;SET PC
014454 004737 016304' JSR PC,SETPC
372 014460 CALL .RDPI ;GET PI
014460 004737 005022' JSR PC,.RDPI
373 014464 103002 BCC 4$
374 014466 CALL EREXIT
014466 004737 014566' JSR PC,EREXIT
375 014472 4$: CALL SETPI ;SET PI
014472 004737 016442' JSR PC,SETPI
376 014476 CALL .RDFMO ; READ FAST MEMORY REGISTERS
014476 004737 004522' JSR PC,.RDFMO
377 014502 103002 BCC 6$ ; ALL OK IF CC-C IS CLEAR
378 014504 CALL EREXIT ; ELSE COMPLAIN
014504 004737 014566' JSR PC,EREXIT
379 014510 6$: CALL .RDIPE ;GET ERROR CODE
014510 004737 004734' JSR PC,.RDIPE
380 014514 103402 BCS 15$
381 014516 CALL FNHALT ;FIND REASON WHY HALT
014516 004737 015604' JSR PC,FNHALT
382 014522 012700 013052' 15$: MOV #PCMSG,R0
383 014526 012701 000054 MOV #PCMSGL,R1
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 234-2
HALT -10, GET PC, PI, AND ERROR CODE
384 014532 CALL TTWRIT ;OUTPUT KL HALT MSG
014532 004737 017314' JSR PC,TTWRIT
385 014536 012700 013126' MOV #PIMSG,R0
386 014542 012701 000071 MOV #PIMSGL,R1
387 014546 CALL TTWRIT ;OUTPUT KL HALT MSG
014546 004737 017314' JSR PC,TTWRIT
388 014552 005737 012620' TST FSWTCH ;FIELD SERVICE STOP ENABLED ?
389 014556 001001 BNE 20$ ;YES
390 014560 000421 BR DOMAS ;FIND DIR FILE FROM MFD
391 014562 000137 017602' 20$: JMP EXIT1 ;EXIT WITHOUT WRITING FILES
392 014566 012737 030062 012642' EREXIT: MOV #"20,POINT
393 014574 CALL CKPNT ;TRACE 20
014574 004737 017214' JSR PC,CKPNT
394 014600 CALL SETEC ;GET ERROR CODE
014600 004737 016072' JSR PC,SETEC
395 014604 012700 013220' MOV #ERCODE,R0
396 014610 010301 MOV R3,R1 ;ACTUAL BYTE COUNT IN R1
397 014612 CALL TTWRIT ;INDICATE SOMETHING WRONG WITH -10
014612 004737 017314' JSR PC,TTWRIT
398 014616 CALL TYCRLF ;PROMPT WITH CR,LF
014616 004737 017442' JSR PC,TYCRLF
399 014622 RETURN
014622 000207 RTS PC
400 ;
401 ; AFTER PRINTING -10 HALT MSG, THIS ROUTINE PROCEEDS TO
402 ; FIND DIRECTORY FILE FROM MASTER FILE DIRECTORY, THEN TRY
403 ; TO FIND FILE ID FOR KLERRO.SNP FILE. IF ID IS FOUND
404 ; IT WILL TRY TO MAKE IT ACCESSIBLE FOR EXTEND.
405 ; IF FILE ID IS NOT FOUND, IT ATTEMPTS TO CREATE KLERRO.SNP
406 ; AND PROCEEDS TO WRITE THE FIRST RECORD....
407 ;
408 ;
409 .SBTTL FIND DIRECTORY FILE FROM MASTER FILE DIRECTORY
410 ;
411 014624 012737 030460 012642' DOMAS:: MOV #"01,POINT
412 014632 CALL CKPNT ;TRACE 1
014632 004737 017214' JSR PC,CKPNT
413 014636 CALL CLRDPB ;ZERO PARAMETER WORDS IN KLDPB
014636 004737 017130' JSR PC,CLRDPB
414 014642 012737 011234' 011452' MOV #DIRFNB,KLDPB+Q.IOPL+12 ;ADR OF DIRFNB IN DPB
415 014650 CALL KLFNA ;FIND DIRECTORY FILE
014650 004737 016730' JSR PC,KLFNA
416 014654 103010 BCC DODIR ;FOUND IT
417 014656 012700 013546' MOV #ERMG1,R0
418 014662 012701 000033 MOV #ERMG1L,R1
419 014666 CALL TTWRIT ;INDICATE DIR FILE NOT FOUND
014666 004737 017314' JSR PC,TTWRIT
420 014672 000137 017576' JMP EXIT ;EXIT FROM KLERR
421 ;
422 .SBTTL ROUTINE TO FIND FILE ID FOR KLERRO.SNP FILE
423 ;
424 014676 012737 031060 012642' DODIR:: MOV #"02,POINT
425 014704 CALL CKPNT ;TRACE 2
014704 004737 017214' JSR PC,CKPNT
426 014710 CALL MVNAME ;MOVE FILE NAME INTO FILFNB
014710 004737 016652' JSR PC,MVNAME
427 014714 013737 011234' 011312' MOV DIRFNB,FILFNB+24 ;FILE ID OF DIR FILE
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 234-3
ROUTINE TO FIND FILE ID FOR KLERRO.SNP FILE
428 014722 013737 011236' 011314' MOV DIRFNB+2,FILFNB+26 ;FILE SQE OF DIR FILE
429 014730 013737 011240' 011316' MOV DIRFNB+4,FILFNB+30 ;AND OWNER
430 014736 012737 011266' 011452' MOV #FILFNB,KLDPB+Q.IOPL+12
431 014744 CALL KLFNA ;FIND KLERRO.SNP FROM DIR FILE
014744 004737 016730' JSR PC,KLFNA
432 014750 103110 BCC DOACE ;ACCESS FOR EXTEND IF FILE ID FOUND
433 014752 123727 011504' 177746 CMPB IOSTA+0,#IE.NSF ;NO SUCH FILE ?
434 014760 001406 BEQ DOCRE ;YES
435 014762 012737 054130 012642' MOV #"XX,POINT
436 014770 CALL CKPNT ;TO MAKE A POINT
014770 004737 017214' JSR PC,CKPNT
437 014774 000422 BR MSG2 ;PRINT ERROR MSG 2
438 ;
439 .SBTTL ROUTINE TO CREATE KLERRO.SNP FILE
440 ;
441 014776 005237 012626' DOCRE:: INC CRESW ;SET FILE CREATE SW
442 015002 012737 031460 012642' MOV #"03,POINT
443 015010 CALL CKPNT ;TRACE 3
015010 004737 017214' JSR PC,CKPNT
444 015014 CALL CLRDPB ;CLEAR PARAMETER WORDS
015014 004737 017130' JSR PC,CLRDPB
445 015020 012737 011320' 011440' MOV #FILFID,KLDPB+Q.IOPL ;ADDR OF FILE ID BLOCK
446 015026 012737 011324' 011442' MOV #FILACB,KLDPB+Q.IOPL+2 ;ADDR OF ATTRIBUTE BLOCK
447 015034 CALL KLCRE ;CREATE KLERRO.SNP FILE
015034 004737 017052' JSR PC,KLCRE
448 015040 103010 BCC DOENA ;ENTER ITS NAME INTO DIR FILE
449 015042 012700 013602' MSG2: MOV #ERMG2,R0
450 015046 012701 000042 MOV #ERMG2L,R1
451 015052 CALL TTWRIT ;INDICATE CREATION FAILURE
015052 004737 017314' JSR PC,TTWRIT
452 015056 000137 017576' JMP EXIT ;EXIT FROM KLERR
453 ;
454 .SBTTL ROUTINE TO ENTER FILE NAME INTO DIRECTORY
455 ;
456 015062 012737 032060 012642' DOENA:: MOV #"04,POINT
457 015070 CALL CKPNT ;TRACE 4
015070 004737 017214' JSR PC,CKPNT
458 015074 CALL MVNAME ;MOVE FILE NAME INTO FILFNB
015074 004737 016652' JSR PC,MVNAME
459 015100 013737 011320' 011266' MOV FILFID,FILFNB ;FILE ID FROM FILFID BLOCK
460 015106 013737 011322' 011270' MOV FILFID+2,FILFNB+2 ;AND FILE SQE
461 015114 013737 011234' 011312' MOV DIRFNB,FILFNB+24 ;FILE ID FOR DIR FILE
462 015122 013737 011236' 011314' MOV DIRFNB+2,FILFNB+26 ;FILE SQE OF DIR FILE
463 015130 013737 011240' 011316' MOV DIRFNB+4,FILFNB+30 ;AND OWNER
464 015136 012737 011266' 011452' MOV #FILFNB,KLDPB+Q.IOPL+12
465 015144 CALL KLENA ;ENTER FILE NAME INTO DIR FILE
015144 004737 017100' JSR PC,KLENA
466 015150 103010 BCC DOACE ;DO ACCESS FOR EXTEND
467 015152 012700 013644' MOV #ERMG3,R0
468 015156 012701 000054 MOV #ERMG3L,R1
469 015162 CALL TTWRIT ;INDICATE FILENAME ENTERING FAILED
015162 004737 017314' JSR PC,TTWRIT
470 015166 000137 017576' JMP EXIT
471 ;
472 .SBTTL ROUTINE TO ACCESS FOR EXTEND FOR KLERRO.SNP
473 ;
474 015172 012737 032460 012642' DOACE:: MOV #"05,POINT
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 234-4
ROUTINE TO ACCESS FOR EXTEND FOR KLERRO.SNP
475 015200 CALL CKPNT ;TRACE 5
015200 004737 017214' JSR PC,CKPNT
476 015204 012737 011266' 011440' MOV #FILFNB,KLDPB+Q.IOPL ;MAKE FID OF FILFNB AS FILFID
477 015212 005037 011452' CLR KLDPB+Q.IOPL+12 ;CLEAR FILE NAME BLOCK ADDR
478 015216 CALL KLACE ;ACCESS FOR EXTEND
015216 004737 017062' JSR PC,KLACE
479 015222 103037 BCC DOWRT ;GO WRITE A RECORD
480 015224 012700 013720' MOV #ERMG4,R0
481 015230 012701 000061 MOV #ERMG4L,R1
482 015234 CALL TTWRIT ;INDICATE IO.ACE FAILED
015234 004737 017314' JSR PC,TTWRIT
483 015240 000137 017576' JMP EXIT
484 ;
485 .SBTTL ROUTINE TO EXTEND KLERRO.SNP FILE
486 ;
487 015244 012737 033060 012642' DOEXT:: MOV #"06,POINT
488 015252 CALL CKPNT ;TRACE 6
015252 004737 017214' JSR PC,CKPNT
489 015256 CALL CLRDPB ;CLEAR DPB PARAMETER WORDS
015256 004737 017130' JSR PC,CLRDPB
490 015262 152737 000200 011445' BISB #EX.ENA,KLDPB+Q.IOPL+5 ;ENTER
491 015270 005237 011446' INC KLDPB+Q.IOPL+6 ;ENTER ONE BLOCK AT A TIME
492 015274 CALL KLEXT
015274 004737 017110' JSR PC,KLEXT
493 015300 103026 BCC WRITE ;WRITE THE RECORD
494 015302 012700 014002' MOV #ERMG5,R0
495 015306 012701 000043 MOV #ERMG5L,R1
496 015312 CALL TTWRIT ;INDICATE IO.EXT FAILED
015312 004737 017314' JSR PC,TTWRIT
497 015316 000137 017576' JMP EXIT
498 ;
499 .SBTTL ROUTINE TO WRITE A RECORD
500 ;
501 015322 012737 033460 012642' DOWRT:: MOV #"07,POINT
502 015330 CALL CKPNT ;TRACE 7
015330 004737 017214' JSR PC,CKPNT
503 015334 005037 012616' CLR PRINTT ;INIT PRINT COUNT
504 015340 005237 012614' INC RECORD ;START FROM RECORD #1
505 015344 005737 012626' TST CRESW ;FILE JUST CREATED ?
506 015350 001002 BNE WRITE ;YES
507 015352 005237 012614' INC RECORD ;START FROM RECORD #2
508 015356 WRITE: CALL CLRDPB ;CLEAR DPB
015356 004737 017130' JSR PC,CLRDPB
509 015362 013737 012614' 011450' MOV RECORD,KLDPB+Q.IOPL+10 ;RECORD # IN DPB
510 015370 CALL INITBF ;ZERO BUFFER
015370 004737 017170' JSR PC,INITBF
511 015374 012700 011614' MOV #BUFFER,R0 ;BUFFER ADR IN R0
512 015400 CALL .KLRSN ;GET INFORMATION INTO BUFFER
015400 004737 000000' JSR PC,.KLRSN
513 015404 103002 BCC 7$ ;OK
514 015406 CALL EREXIT ;FIND OUT WHY
015406 004737 014566' JSR PC,EREXIT
515 015412 7$: CALL KLWVB
015412 004737 017042' JSR PC,KLWVB
516 015416 103005 BCC 1$ ;WRITE OK
517 015420 123727 011504' 177766 CMPB IOSTA,#IE.EOF ;EOF ?
518 015426 001043 BNE 2$ ;NO, IT IS AN ERROR
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 234-5
ROUTINE TO WRITE A RECORD
519 015430 000705 BR DOEXT ;TO EXTEND KLERRO.SNP FILE
520 015432 005737 012622' 1$: TST TRACE ;TRACE SET ?
521 015436 001445 BEQ 3$ ;NO
522 015440 CALL CLRTTY ;CLEAR PRINT BUFFER
015440 004737 017150' JSR PC,CLRTTY
523 015444 012703 011614' MOV #BUFFER,R3 ;INPUT BUFFER
524 015450 012704 011514' 5$: MOV #TTYIPT,R4 ;OUTPUT BUFFER
525 015454 012705 000100 MOV #TTYL,R5 ;BYTE COUNT
526 015460 112302 4$: MOVB (R3)+,R2 ;GET ONE BYTE
527 015462 042702 177770 BIC #-10,R2 ;SAVE ONLY BITS 0-2
528 015466 052702 000060 BIS #'0,R2 ;CONVERT IT TO ASCII
529 015472 110224 MOVB R2,(R4)+ ;MOVE IT INTO PRINT BUFFER
530 015474 SOB R5,4$
015474 005305 DEC R5
015476 001370 BNE 4$
531 015500 012700 011514' MOV #TTYIPT,R0 ;PRINT BUFFER ADDRESS
532 015504 012701 000100 MOV #TTYL,R1 ;LENGTH
533 015510 CALL TTCOMX ;SEE WHAT WE HAVE IN BUFFER
015510 004737 017334' JSR PC,TTCOMX
534 015514 CALL TYCRLF ;ALSO PRINT CR,LF
015514 004737 017442' JSR PC,TYCRLF
535 015520 005237 012616' INC PRINTT ;ADD 1 TO PRINT COUNT
536 015524 022737 000010 012616' CMP #BUFSIZ/TTYL,PRINTT ;ALL PRINTED ?
537 015532 001407 BEQ 3$ ;YES
538 015534 000745 BR 5$ ;NOT YET
539 015536 012700 014046' 2$: MOV #ERMG6,R0
540 015542 012701 000042 MOV #ERMG6L,R1
541 015546 CALL TTWRIT ;INDICATE WRITE ERROR
015546 004737 017314' JSR PC,TTWRIT
542 015552 005737 012624' 3$: TST SWPFM ;[4.2308]FM ERROR?
543 015556 001402 BEQ 8$ ;[4.2308]NO-- EXIT
544 015560 CALL .SWPAC ;[4.2308]SWEEP AC'S
015560 004737 006452' JSR PC,.SWPAC
545 015564 012700 012674' 8$: MOV #LTMSG,R0
546 015570 012701 000021 MOV #LTMSGL,R1
547 015574 CALL TTWRIT
015574 004737 017314' JSR PC,TTWRIT
548 015600 000137 017576' JMP EXIT ;EXIT FROM KLERR***********
549 ;
550 .SBTTL SUBROUTINE TO PRINT ERROR HALT MSG
551 ;
552 015604 012737 030061 012642' FNHALT: MOV #"10,POINT
553 015612 CALL CKPNT ;TRACE 10
015612 004737 017214' JSR PC,CKPNT
554 015616 005037 012620' CLR FSWTCH ;INIT FS STOP SW
555 015622 010005 MOV R0,R5 ;SAVE ERROR INDICATOR
556 015624 032705 000001 BIT #BIT0,R5 ;CLK ERR STOP ?
557 015630 001427 BEQ 111$ ;NO
558 015632 CALL 1$ ;SEND CLOCK ERR STOP MSG
015632 004737 015726' JSR PC,1$
559 015636 032705 000002 10$: BIT #BIT1,R5 ;DRAM PARITY ERR ?
560 015642 001402 BEQ 11$ ;NO
561 015644 CALL 2$ ;SEND DRAM PARITY MSG
015644 004737 015740' JSR PC,2$
562 015650 032705 000004 11$: BIT #BIT2,R5 ;CRAM PARITY ERR ?
563 015654 001402 BEQ 12$ ;NO
564 015656 CALL 3$ ;SEND CRAM PARITY MSG
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 234-6
SUBROUTINE TO PRINT ERROR HALT MSG
015656 004737 015752' JSR PC,3$
565 015662 032705 000010 12$: BIT #BIT3,R5 ;FM PARITY ERR ?
566 015666 001402 BEQ 13$ ;NO
567 ; CALL 4$ ;SEND FM PARITY MSG
568 015670 005237 012624' INC SWPFM ;[4.2308]SET FM ERROR FLAG
569 015674 032705 000020 13$: BIT #BIT4,R5 ;FS ERR ?
570 015700 001402 BEQ 14$ ;NO
571 015702 CALL 5$ ;SEND FS ERROR MSG
015702 004737 016050' JSR PC,5$
572 015706 14$: RETURN
015706 000207 RTS PC
573 015710 012700 013324' 111$: MOV #NOCLK,R0
574 015714 012701 000046 MOV #NOCLKL,R1
575 015720 CALL COMMON ;INDICATE UNABLE TO FIND CLK ERR STOP
015720 004737 016064' JSR PC,COMMON
576 015724 000744 BR 10$ ;CONTINUE
577 015726 012700 013372' 1$: MOV #STOP,R0
578 015732 012701 000022 MOV #STOPL,R1
579 015736 000452 BR COMMON ;IT IS CLOCK ERROR STOP
580 015740 012700 013414' 2$: MOV #DRAM,R0
581 015744 012701 000015 MOV #DRAML,R1
582 015750 000445 BR COMMON ;IT IS DRAM PARITY
583 015752 012700 013432' 3$: MOV #CRAM,R0
584 015756 012701 000015 MOV #CRAML,R1
585 015762 000440 BR COMMON ;IT IS CRAM PARITY
586 015764 4$:
587 015764 012702 013503' MOV #FMA,R2 ; POINT TO ADDRESS BUFFER
588 015770 012701 000166' MOV #.FMADR,R1 ; POINT TO FM ERROR DATA
589 015774 112100 MOVB (R1)+,R0 ; EXTRACT THE ADDRESS
590 015776 CALL TY3D ; PRINT IT
015776 004737 016570' JSR PC,TY3D
591 016002 012702 013471' MOV #FMB,R2 ; POINT TO BLOCK BUFFER
592 016006 112100 MOVB (R1)+,R0 ; EXTRACT THE ADDRESS
593 016010 CALL TY3D ; PRINT THAT
016010 004737 016570' JSR PC,TY3D
594 016014 012700 011514' MOV #TTYIPT,R0 ; PUT DATA WHERE SETPC EXPECTS IT
595 016020 012120 MOV (R1)+,(R0)+ ; SO
596 016022 012120 MOV (R1)+,(R0)+
597 016024 011110 MOV (R1),(R0)
598 016026 012700 013515' MOV #FMD,R0 ; POINT TO WHERE WE WANT IT
599 016032 CALL SETPC ; AND SET IT
016032 004737 016304' JSR PC,SETPC
600 016036 012700 013450' MOV #FM,R0
601 016042 012701 000064 MOV #FML,R1
602 016046 000406 BR COMMON ;IT IS FM PARITY
603 016050 012700 013534' 5$: MOV #FS,R0
604 016054 012701 000011 MOV #FSL,R1
605 016060 005237 012620' INC FSWTCH ;TURN ON FS STOP SWITCH
606 016064 COMMON: CALL TTWRIT
016064 004737 017314' JSR PC,TTWRIT
607 016070 RETURN
016070 000207 RTS PC
608 ;
609 .SBTTL SUBROUTINE TO SET UP ERROR CODE
610 ;
611 016072 012737 030461 012642' SETEC:: MOV #"11,POINT
612 016100 CALL CKPNT ;TRACE 11
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 234-7
SUBROUTINE TO SET UP ERROR CODE
016100 004737 017214' JSR PC,CKPNT
613 016104 012704 013220' MOV #ERCODE,R4
614 016110 012705 000104 MOV #ERCODL,R5
615 016114 112724 000040 3$: MOVB #SPC,(R4)+ ;BLANK WHOLE AREA
616 016120 SOB R5,3$ ;CONTINUE UNTIL DONE
016120 005305 DEC R5
016122 001374 BNE 3$
617 016124 CALL PRTERR ;GET ASCII REPRESENTATION
016124 004737 011164' JSR PC,PRTERR
618 016130 012702 013220' MOV #ERCODE,R2 ;WHERE THE ASCII REP. GO
619 016134 005720 TST (R0)+ ;BYPASS SEVERITY CODE
620 016136 011000 MOV @R0,R0 ;GET ACTUAL MSG
621 016140 005003 CLR R3 ;INIT COUNTER
622 016142 112001 1$: MOVB (R0)+,R1 ;GET ONE CHAR
623 016144 001412 BEQ 2$ ;BR IF NULL CHAR
624 016146 042701 177600 BIC #177600,R1 ;MASK OUT HIGH BYTE
625 016152 105701 TSTB R1 ;TEST BYTE
626 016154 001406 BEQ 2$ ;BR IF NULL
627 016156 110122 MOVB R1,(R2)+ ;SAVE BYTE IN MSG
628 016160 005203 INC R3
629 016162 022703 000104 CMP #ERCODL,R3
630 016166 001401 BEQ 2$ ;QUIT IF BUFFER FULL
631 016170 000764 BR 1$ ;GET NEXT BYTE
632 016172 2$: RETURN
016172 000207 RTS PC
633 ;
634 .SBTTL CONVERT RAD50 TO ASCII
635 ;
636 016174 .C5TA:: PUSH R0 ;SAVE R0
016174 010046 MOV R0,-(SP)
637 016176 CALL CVTC ;CONVERT 1ST
016176 004737 016230' JSR PC,CVTC
638 016202 PUSH R0 ;STORE
016202 010046 MOV R0,-(SP)
639 016204 CALL CVTC ;CONVERT 2ND
016204 004737 016230' JSR PC,CVTC
640 016210 PUSH R0 ;STORE
016210 010046 MOV R0,-(SP)
641 016212 CALL CVTC ;CONVERT 3RD
016212 004737 016230' JSR PC,CVTC
642 016216 110022 MOVB R0,(R2)+ ;STORE 1ST
643 016220 112622 MOVB (SP)+,(R2)+ ;STORE 2ND
644 016222 112622 MOVB (SP)+,(R2)+ ;STORE 3RD
645 016224 POP R0 ;RESTORE R0
016224 012600 MOV (SP)+,R0
646 016226 RETURN ;AND RETURN
016226 000207 RTS PC
647 ;
648 ; CONVERT RAD50 CHARACTER
649 ;
650 016230 010100 CVTC: MOV R1,R0 ;DIVIDEND
651 016232 012701 000050 MOV #50,R1 ;DIVISOR
652 016236 CALL $DIV ;DO DIVISION
016236 004737 000000G JSR PC,$DIV
653 016242 010146 MOV R1,-(SP) ;SAVE REMAINDER
654 016244 010001 MOV R0,R1 ;QUOTIENT
655 016246 012600 MOV (SP)+,R0 ;RESTORE REMAINDER
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 234-8
CONVERT RAD50 TO ASCII
656 016250 001412 BEQ 3$ ;BR IF NO REMAINDER
657 016252 020027 000033 CMP R0,#33 ;TEST MIDDLE
658 016256 002405 BLT 2$ ;ALPHA IF LT
659 016260 001402 BEQ 1$ ;DOLLAR IF EQ
660 016262 062700 000011 ADD #22-11,R0
661 016266 062700 177711 1$: ADD #11-100,R0
662 016272 062700 000040 2$: ADD #100-40,R0
663 016276 062700 000040 3$: ADD #40,R0
664 016302 RETURN
016302 000207 RTS PC
665 ;
666 .SBTTL SUBROUTINE TO SET UP PC
667 ;
668 016304 012737 031061 012642' SETPC:: MOV #"12,POINT
669 016312 CALL CKPNT ;TRACE 12
016312 004737 017214' JSR PC,CKPNT
670 016316 012705 011514' MOV #TTYIPT,R5 ;ADDRESS CONTAINING PC
671 016322 010002 MOV R0,R2 ;ADDRESS CONTAINING PC IN MSG
672 016324 016500 000004 MOV 4(R5),R0 ;GET 1ST DIGIT
673 016330 006200 ASR R0 ;ONLY 3 BITS FOR 1 DIGIT
674 016332 CALL BNRASC ;CONVERT TO ASCII & MOVE INTO BUFFER
016332 004737 016426' JSR PC,BNRASC
675 016336 CALL 10$ ;GET THE REST OF HALFWORD
016336 004737 016360' JSR PC,10$
676 016342 112722 000040 MOVB #SPC,(R2)+ ;INSERT SPACE
677 016346 CALL 2$ ;NEXT 2 DIGITS
016346 004737 016366' JSR PC,2$
678 016352 CALL 1$ ;LAST 4 DIGITS
016352 004737 016364' JSR PC,1$
679 016356 RETURN
016356 000207 RTS PC
680 016360 10$: CALL 3$ ;GET 5 DIGIT
016360 004737 016370' JSR PC,3$
681 016364 1$: CALL @PC ;GET 4 DIGITS
016364 004717 JSR PC,@PC
682 016366 2$: CALL @PC ;GET 2 DIGITS
016366 004717 JSR PC,@PC
683 016370 012701 000002 3$: MOV #2,R1 ;AMOUNT TO SHIFT
684 016374 010500 MOV R5,R0 ;LOCATION OF NUMBER
685 016376 CALL KLLSHI ;DO SHIFT
016376 004737 010700' JSR PC,KLLSHI
686 016402 016500 000004 MOV 4(R5),R0 ;GET LOW PART
687 016406 CALL BNRASC ;CONVERT TO ASCII & MOVE INTO BUFFER
016406 004737 016426' JSR PC,BNRASC
688 016412 010500 MOV R5,R0 ;NUMBER LOCATION
689 016414 012701 000001 MOV #1,R1 ;SET UP FOR NEXT
690 016420 CALL KLLSHI
016420 004737 010700' JSR PC,KLLSHI
691 016424 RETURN
016424 000207 RTS PC
692 016426 042700 177770 BNRASC: BIC #-10,R0 ;SAVE BITS 0-2
693 016432 052700 000060 BIS #'0,R0 ;ADD 60 TO IT
694 016436 110022 MOVB R0,(R2)+ ;MOVE CHARACTER INTO MSG
695 016440 RETURN
016440 000207 RTS PC
696 ;
697 .SBTTL SUBROUTINE TO SET UP PI
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 234-9
SUBROUTINE TO SET UP PI
698 ;
699 016442 012737 031461 012642' SETPI:: MOV #"13,POINT
700 016450 CALL CKPNT ;TRACE 13
016450 004737 017214' JSR PC,CKPNT
701 016454 010004 MOV R0,R4 ;POINTS TO PI DATA
702 016456 112403 MOVB (R4)+,R3
703 016460 012702 013140' MOV #PI0,R2 ;R2 POINTS TO PI STATE AREA
704 016464 032703 000200 BIT #BIT7,R3 ;TEST PI ACTIVE
705 016470 001006 BNE 1$ ;ON
706 016472 012701 012777' MOV #OFF,R1 ;GET OFF MSG
707 016476 112122 MOVB (R1)+,(R2)+
708 016500 112122 3$: MOVB (R1)+,(R2)+
709 016502 112122 MOVB (R1)+,(R2)+
710 016504 000403 BR 2$
711 016506 012701 012775' 1$: MOV #ON,R1 ;GET ON MSG
712 016512 000772 BR 3$
713 016514 010300 2$: MOV R3,R0 ;GET PI
714 016516 042700 000600 BIC #BIT8+BIT7,R0 ;FLUSH ACTIVE BIT
715 016522 012702 013155' MOV #PI1,R2
716 016526 CALL TY3D ;GET 3 DIGIT NUMBER
016526 004737 016570' JSR PC,TY3D
717 016532 112400 MOVB (R4)+,R0 ;PI HOLD
718 016534 042700 000600 BIC #BIT8+BIT7,R0
719 016540 012702 013173' MOV #PI2,R2
720 016544 CALL TY3D ;ANOTHER 3 DIGIT NUMBER
016544 004737 016570' JSR PC,TY3D
721 016550 011400 MOV (R4),R0 ;PI GEN
722 016552 042700 000600 BIC #BIT8+BIT7,R0 ;FLUSH GARBAGE
723 016556 012702 013211' MOV #PI3,R2
724 016562 CALL TY3D ;ANOTHER 3 DIGIT NUMBER
016562 004737 016570' JSR PC,TY3D
725 016566 RETURN
016566 000207 RTS PC
726 016570 TY3D::
727 016570 PUSH <R0,R1>
016570 010046 MOV R0,-(SP)
016572 010146 MOV R1,-(SP)
728 016574 012701 000007 MOV #7,R1 ;SHIFT R0 7 PLACES
729 016600 CALL .SHIFT
016600 004737 010102' JSR PC,.SHIFT
730 016604 010001 MOV R0,R1 ;NUMBER IN R1
731 016606 005000 CLR R0
732 016610 CALL 4$ ;GET HIGH DIGIT
016610 004737 016630' JSR PC,4$
733 016614 CALL 3$ ;THEN 2 LOWER ONES
016614 004737 016626' JSR PC,3$
734 016620 POP <R1,R0>
016620 012601 MOV (SP)+,R1
016622 012600 MOV (SP)+,R0
735 016624 RETURN
016624 000207 RTS PC
736 016626 3$: CALL @PC
016626 004717 JSR PC,@PC
737 016630 006101 4$: ROL R1
738 016632 006100 ROL R0
739 016634 006101 ROL R1
740 016636 006100 ROL R0
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 234-10
SUBROUTINE TO SET UP PI
741 016640 006101 ROL R1
742 016642 006100 ROL R0
743 016644 CALL BNRASC ;CONVERT TO ASCII & MOVE INTO BUFFER
016644 004737 016426' JSR PC,BNRASC
744 016650 RETURN
016650 000207 RTS PC
745 ;
746 .SBTTL SUBROUTINE TO SET UP FILE NAME
747 ;
748 016652 MVNAME: CALL CLRDPB ;CLEAR PARAMETER AREA
016652 004737 017130' JSR PC,CLRDPB
749 016656 CALL CLRFNB ;CLEAR FILFNB
016656 004737 017202' JSR PC,CLRFNB
750 016662 012700 011412' MOV #FILNAM,R0 ;GET FILE NAME
751 016666 012037 011274' MOV (R0)+,FILFNB+6 ;FILE NAME BODY
752 016672 021037 011420' CMP @R0,SNP ;FILE EXT ?
753 016676 001407 BEQ 1$ ;BR IF FILENAME =/< 3 CHAR
754 016700 012037 011276' MOV (R0)+,FILFNB+10
755 016704 021037 011420' CMP @R0,SNP
756 016710 001402 BEQ 1$ ;BR IF FILENAME =/< 6 CHAR
757 016712 012037 011300' MOV (R0)+,FILFNB+12
758 016716 011037 011302' 1$: MOV @R0,FILFNB+14 ;MOVE FILE EXT
759 016722 005037 011304' CLR FILFNB+16 ;ZERO VERSION #
760 016726 RETURN
016726 000207 RTS PC
761 ;
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 235
ROUTINE TO HANDLE QIO READ AND FILE PRIMITIVES
763 .SBTTL ROUTINE TO HANDLE QIO READ AND FILE PRIMITIVES
764 ;
765 ;++++++ ROUTINE TO READ A VIRTUAL BLOCK
766 ;
767 ; ENTRY:
768 ;
769 ; CALL KLRVB
770 ;
771 ;++++++ ROUTINE TO FIND FILE NAME IN DIRECTORY
772 ;
773 ; ENTRY:
774 ;
775 ; CALL KLFNA
776 ;
777 ;++++++ ROUTINE TO DO ACCESS FOR READ
778 ;
779 ; ENTRY:
780 ;
781 ; CALL KLACR
782 ;
783 ;++++++ ROUTINE TO DO DE-ACCESS OF FILE
784 ;
785 ; ENTRY:
786 ;
787 ; CALL KLDAC
788 ;
789 ; COMMON RETURN:
790 ;
791 ; C-BIT CLEAR - SUCCESSFUL RETURN
792 ; SET - ERROR RETURN
793 ;
794 .EVEN
795 016730 012737 004400 011426' KLFNA:: MOV #IO.FNA,KLDPB+Q.IOFN ;FIND FILE NAME IN DIR
796 016736 000426 BR KLCOMM ;GO TO COMMON CODE
797 016740 012737 006400 011426' KLACR:: MOV #IO.ACR,KLDPB+Q.IOFN ;DO ACCESS FOR READ
798 016746 052737 100000 011450' BIS #BIT15,KLDPB+Q.IOPL+10 ;SET ACCESS ENABLE BIT
799 016754 000417 BR KLCOMM ;USE COMMON CODE
800 016756 KLDAC:: CALL CLRDPB ;ZERO PARAMETER WORDS
016756 004737 017130' JSR PC,CLRDPB
801 016762 012737 010000 011426' MOV #IO.DAC,KLDPB+Q.IOFN ;DE-ACCESS FILE
802 016770 000411 BR KLCOMM ;USE COMMON CODE
803 016772 012737 010400 011426' KLRVB:: MOV #IO.RVB,KLDPB+Q.IOFN ;READ VIRTUAL BLOCK
804 017000 012737 011614' 011440' KLIORW: MOV #BUFFER,KLDPB+Q.IOPL ;BUFFER ADDRESS
805 017006 012737 001000 011442' MOV #BUFSIZ,KLDPB+Q.IOPL+2 ;BUFFER SIZE
806 017014 KLCOMM: DIR$ #KLDPB ;PERFORM GIVEN FUNCTION
017014 012746 011424' MOV #KLDPB,-(SP)
017020 104375 EMT 375
807 017022 103405 BCS 20$ ;FAILED
808 017024 105737 011504' TSTB IOSTA ;CHECK I/O STATUS
809 017030 002402 BLT 20$ ;AN ERROR
810 017032 000241 CLC ;NO ERROR
811 017034 RETURN
017034 000207 RTS PC
812 017036 000261 20$: SEC ;SET C-BIT
813 017040 RETURN
017040 000207 RTS PC
814 ;
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 236
ROUTINE TO HANDLE QIO WRITE AND FILE PRIMITIVES
816 .SBTTL ROUTINE TO HANDLE QIO WRITE AND FILE PRIMITIVES
817 ;
818 ;++++++ ROUTINE TO WRITE A VIRTUAL BLOCK
819 ;
820 ; ENTRY:
821 ;
822 ; CALL KLWVB
823 ;
824 ;++++++ ROUTINE TO GET FILE ID FOR A NEW FILE
825 ;
826 ; ENTRY:
827 ;
828 ; CALL KLCRE
829 ;
830 ;++++++ ROUTINE TO DO ACCESS FOR EXTEND
831 ;
832 ; ENTRY:
833 ;
834 ; CALL KLACE
835 ;
836 ;++++++ ROUTINE TO EXTEND FILE
837 ;
838 ; ENTRY:
839 ;
840 ; CALL KLEXT
841 ;
842 ;++++++ ROUTINE TO READ STATISTICS BLOCK
843 ;
844 ; ENTRY:
845 ;
846 ; CALL KLRAT
847 ;
848 ;ALL RETURN:
849 ;
850 ; C-BIT CLEAR - SUCCESSFUL RETURN
851 ; SET - ERROR RETURN
852 ;
853 017042 012737 011000 011426' KLWVB:: MOV #IO.WVB,KLDPB+Q.IOFN ;WRITE VIRTUAL BLOCK
854 017050 000753 BR KLIORW ;GO DO I/O
855 017052 012737 012000 011426' KLCRE:: MOV #IO.CRE,KLDPB+Q.IOFN ;GET FILE ID FOR NEW FILE
856 017060 000755 BR KLCOMM
857 017062 012737 007400 011426' KLACE: MOV #IO.ACE,KLDPB+Q.IOFN ;ACCESS FOR EXTEND
858 017070 052737 100000 011450' BIS #BIT15,KLDPB+Q.IOPL+10 ;SET ACCESS ENABLE BIT
859 017076 000746 BR KLCOMM
860 017100 012737 006000 011426' KLENA:: MOV #IO.ENA,KLDPB+Q.IOFN ;ENABLE FOR ENTER NAME IN DIR
861 017106 000742 BR KLCOMM
862 017110 012737 011400 011426' KLEXT:: MOV #IO.EXT,KLDPB+Q.IOFN ;EXTEND FILE
863 017116 000736 BR KLCOMM
864 017120 012737 013000 011426' KLRAT:: MOV #IO.RAT,KLDPB+Q.IOFN ;READ STATISTICS BLOCK
865 017126 000732 BR KLCOMM
866 ;
867 ; CLEAR PARAMETER WORDS IN KLDPB
868 ;
869 017130 012700 011440' CLRDPB: MOV #KLDPB+Q.IOPL,R0
870 017134 012701 000006 MOV #6,R1
871 017140 005020 1$: CLR (R0)+
872 017142 SOB R1,1$
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 236-1
ROUTINE TO HANDLE QIO WRITE AND FILE PRIMITIVES
017142 005301 DEC R1
017144 001375 BNE 1$
873 017146 RETURN
017146 000207 RTS PC
874 ;
875 ; CLEAR TTY INPUT BUFFER
876 ;
877 017150 012700 011514' CLRTTY: MOV #TTYIPT,R0 ;ADDRESS
878 017154 012701 000100 MOV #TTYL,R1 ;LENGTH
879 017160 105020 LOOP: CLRB (R0)+
880 017162 SOB R1,LOOP
017162 005301 DEC R1
017164 001375 BNE LOOP
881 017166 RETURN
017166 000207 RTS PC
882 ;
883 ; CLEAR DISK BUFFER
884 ;
885 017170 012700 011614' INITBF: MOV #BUFFER,R0
886 017174 012701 001000 MOV #BUFSIZ,R1 ;SIZE
887 017200 000767 BR LOOP ;GO CLEAR BUFFER
888 ;
889 ; CLEAR FNB FOR REGULAR FILE
890 ;
891 017202 012700 011266' CLRFNB: MOV #FILFNB,R0 ;FNB ADDRESS
892 017206 012701 000032 MOV #FNBSIZ,R1 ;SIZE
893 017212 000762 BR LOOP
894 ;
895 ; PRINT OUT TRACE MSG
896 ;
897 017214 005737 012622' CKPNT: TST TRACE ;TRACE SET ?
898 017220 001412 BEQ 1$ ;NO
899 017222 PUSH <R0,R1>
017222 010046 MOV R0,-(SP)
017224 010146 MOV R1,-(SP)
900 017226 012700 012632' MOV #CKMSG,R0
901 017232 012701 000014 MOV #CKMSGL,R1
902 017236 CALL TTWRIT
017236 004737 017314' JSR PC,TTWRIT
903 017242 POP <R1,R0>
017242 012601 MOV (SP)+,R1
017244 012600 MOV (SP)+,R0
904 017246 1$: RETURN
017246 000207 RTS PC
905 ;
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 237
ROUTINE TO READ/WRITE FROM/TO CTY 0
907 .SBTTL ROUTINE TO READ/WRITE FROM/TO CTY 0
908 ;
909 ;
910 ;++++++ ROUTINE TO READ INPUT FROM CTY 0
911 ;
912 ; ENTRY:
913 ;
914 ; CALL TTREAD
915 ;
916 ;++++++ ROUTINE TO WRITE OUTPUT TO CTY 0
917 ;
918 ; ENTRY:
919 ;
920 ; CALL TTWRIT
921 ;
922 ; COMMON RETURN:
923 ;
924 ; EITHER NSI OR EXIT$S
925 ;
926 .EVEN
927 017250 012700 012716' TTREAD:: MOV #READP,R0
928 017254 012701 000006 MOV #READPL,R1
929 017260 CALL TTCOMX ;PROMPT WITH ERR>
017260 004737 017334' JSR PC,TTCOMX
930 017264 CALL CLRTTY ;ZERO TTYIPT
017264 004737 017150' JSR PC,CLRTTY
931 017270 012737 001000 011456' MOV #IO.RLB,TTDPB+Q.IOFN ;READ LINE BLOCK
932 017276 012737 011514' 011470' MOV #TTYIPT,TTDPB+Q.IOPL ;TTYIPT BUFFER ADR
933 017304 012737 000100 011472' MOV #TTYL,TTDPB+Q.IOPL+2 ;BUFFER LENGTH
934 017312 000417 BR TTCOMR ;GO READ
935 017314 012737 012724' 011470' TTWRIT:: MOV #WRITP,TTDPB+Q.IOPL
936 017322 012737 000011 011472' MOV #WRITPL,TTDPB+Q.IOPL+2
937 017330 CALL TTCOMW ;PROMPT WITH ERR --
017330 004737 017344' JSR PC,TTCOMW
938 017334 010037 011470' TTCOMX:: MOV R0,TTDPB+Q.IOPL ;BUFFER ADR
939 017340 010137 011472' MOV R1,TTDPB+Q.IOPL+2 ;LENGTH
940 017344 012737 000400 011456' TTCOMW: MOV #IO.WLB,TTDPB+Q.IOFN ;WRITE LINE BLOCK
941 017352 TTCOMR: DIR$ #TTDPB ;PERFORM GIVEN FUNCTION
017352 012746 011454' MOV #TTDPB,-(SP)
017356 104375 EMT 375
942 017360 103411 BCS TTERRO ;FAILED
943 017362 WTSE$S #EFN1 ;WAIT FOR COMPLETION
017362 012746 000011 MOV #EFN1,-(SP)
017366 012746 MOV (PC)+,-(SP)
017370 051 002 .BYTE 41.,2
017372 104375 EMT 375
944 017374 022737 000400 011456' CMP #IO.WLB,TTDPB+Q.IOFN
945 017402 001425 BEQ TTEXIT ;EXIT IF WRITE FUNCTION
946 017404 012700 011514' TTERRO: MOV #TTYIPT,R0 ;TTY INPUT BUFFER ADDRESS
947 017410 063700 011512' ADD IOTTY+2,R0 ;BYPASS VALID BYTES
948 017414 105020 1$: CLRB (R0)+ ;ZERO REST OF BUFFER
949 017416 120027 011614' CMPB R0,#BUFFER ;WHOLE AREA CLEARED ?
950 017422 001374 BNE 1$ ;NOT YET
951 017424 105737 011510' TSTB IOTTY ;ERROR ?
952 017430 002462 BLT EXIT ;YES, EXIT
953 017432 122737 000003 011511' CMPB #'C-100,IOTTY+1 ;CONTROL-C ?
954 017440 001456 BEQ EXIT ;YES, EXIT
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 237-1
ROUTINE TO READ/WRITE FROM/TO CTY 0
955 017442 .TCRLF::
956 017442 012700 012765' TYCRLF:: MOV #CRLF,R0
957 017446 012701 000002 MOV #2,R1
958 017452 CALL TTCOMX ;PROMPT WITH CR, LF
017452 004737 017334' JSR PC,TTCOMX
959 017456 TTEXIT: RETURN
017456 000207 RTS PC
960 017460 012700 012770' TYPTAB:: MOV #TABB,R0 ;OUTPUT TAB
961 017464 000415 BR LENGTH
962 017466 012700 012772' .TYCOL:: MOV #COLON,R0 ;OUTPUT COLON
963 017472 000412 BR LENGTH
964 017474 012700 012773' .TYSPC:: MOV #SPACE,R0 ;OUTPUT SPACE
965 017500 000407 BR LENGTH
966 017502 110037 012774' .TYCHR:: MOVB R0,TEMCHR ;OUTPUT CHAR IN R0
967 017506 012700 012774' MOV #TEMCHR,R0
968 017512 000402 BR LENGTH
969 017514 .TYSLS::
970 017514 012700 012771' TYPSLS:: MOV #SLASH,R0 ;OUTPUT SLASH
971 017520 012701 000001 LENGTH: MOV #1,R1
972 017524 CALL TTCOMX
017524 004737 017334' JSR PC,TTCOMX
973 017530 EVTYP::
974 017530 TYPLIN::
975 017530 TYPASZ::
976 017530 KLNTYP:: RETURN
017530 000207 RTS PC
977 017532 .TYKLN:: CALL R5,REGSAV ;[TCO 4.2308] TYPE KL NUMBER
017532 004537 010134' JSR R5,REGSAV
978 017536 011005 MOV (R0),R5 ;KL BITS 20-35
979 017540 016004 000002 MOV 2(R0),R4 ;KL BITS 4-19
980 017544 016003 000004 MOV 4(R0),R3 ;KL BITS 0-3
981 017550 CALL TYPKLN ;TYPE IT
017550 004737 021700' JSR PC,TYPKLN
982 017554 RETURN
017554 000207 RTS PC
983 017556 .TYKLA:: CALL R5,REGSAV ;[TCO 4.2308] TYPE KL ADDR
017556 004537 010134' JSR R5,REGSAV
984 017562 011004 MOV (R0),R4 ;K ADDR BITS 20-35
985 017564 016003 000002 MOV 2(R0),R3 ;KL ADDR BITS 13-19
986 017570 CALL TYPKLA ;TYPE IT
017570 004737 023010' JSR PC,TYPKLA
987 017574 RETURN
017574 000207 RTS PC
988 ;
989 .SBTTL COMMON ERROR AND EXIT ROUTINE
990 ;
991 017576 EXIT:: CALL KLDAC ;DE-ACCESS KLERRO.SNP FILE
017576 004737 016756' JSR PC,KLDAC
992 017602 EXIT1: EXIT$S ;EXIT FROM KLERR TASK
017602 012746 MOV (PC)+,-(SP)
017604 063 001 .BYTE 51.,1
017606 104375 EMT 375
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 238
TYPE-OUT DTE REGISTERS
994 .SBTTL TYPE-OUT DTE REGISTERS
995
996 ;
997 ; TYPE-OUT DTE REGISTERS ON CTY IN BINARY, OCTAL, AND IN SOME
998 ; CASES SYMBOLICALLY. DTE REGISTERS ARE ACCESSED DIRECTLY
999 ; FROM THE I/O PAGE.
1000 ;
1001 ; TCO 4.2203
1002 ;
1003 ; INPUT:
1004 ; NONE
1005 ;
1006 ; OUTPUT:
1007 ; NONE
1008 ;
1009
1010 017610 TYPDTE:
1011 017610 013700 000000G MOV .PRDTE,R0 ;DTE BASE REGISTER ADDRESS
1012 017614 105737 000000G TSTB .EPFFL ;[4.2217] E BUS PARITY DATA?
1013 017620 001407 BEQ 7$ ;[4.2217] NO-- CONTINUE
1014 017622 105737 000000G TSTB .EPEFL ;[4.2217] YES-- ANY PARITY ERROR?
1015 017626 003004 BGT 7$ ;[4.2217] NO-- CONTINUE
1016 017630 013700 000000G MOV .EBPEQ,R0 ;[4.2217] YES-- GET SAVED DATA
1017 017634 062700 000004 ADD #4,R0 ;[4.2217] SKIP OVER LIST HEAD
1018 017640 012701 017772' 7$: MOV #DTEBUF,R1 ;DTE REGISTER SAVE BUFFER
1019 017644 012702 000020 MOV #16.,R2 ;REGISTER COUNT
1020 017650 012021 10$: MOV (R0)+,(R1)+ ;SAVE DTE REGISTERS
1021 017652 SOB R2,10$ ;DONE?
017652 005302 DEC R2
017654 001375 BNE 10$
1022 017656 005002 CLR R2 ;REGISTER COUNT
1023 017660 016200 020066' 20$: MOV DTEREG(R2),R0 ;HEADER ADDRESS
1024 017664 012701 000014 MOV #12.,R1 ;CHARACTER COUNT
1025 017670 CALL TTCOMX ;TYPE HEADER
017670 004737 017334' JSR PC,TTCOMX
1026 017674 CALL OCTTYP ;TYPE DTE REGISTER IN OCTAL
017674 004737 020474' JSR PC,OCTTYP
1027 017700 CALL @SYMTAB(R2) ;TYPE CONTENTS SYMBOLLICALLY
017700 004772 020126' JSR PC,@SYMTAB(R2)
1028 017704 005722 TST (R2)+ ;NEXT REGISTER
1029 017706 020227 000036 CMP R2,#30. ;DONE?
1030 017712 003762 BLE 20$ ;NO
1031 017714 105737 000000G TSTB .EPFFL ;[4.2217] E BUS PARIT DATA?
1032 017720 001423 BEQ 30$ ;[4.2217] NO-- EXIT
1033 017722 105737 000000G TSTB .EPEFL ;[4.2217] YES-- RETRY SUCCEED?
1034 017726 001012 BNE 25$ ;[4.2217] NO-- DEQUEUE NODE
1035 017730 013700 000000G MOV .EBPEQ,R0 ;[4.2217] YES-- POINT TO DATA
1036 017734 062700 000024 ADD #20.,R0 ;[4.2217] SKIP OVER FIRST DATA
1037 017740 112737 000001 000000G MOVB #1,.EPEFL ;[4.2217] SET NO PARITY ERROR
1038 017746 105037 000000G CLRB .EPFFL ;[4.2217] SET NO DATA EXISTS
1039 017752 000732 BR 7$ ;[4.2217] OUTPUT GOOD DATA
1040 017754 013700 000000G 25$: MOV .EBPEQ,R0 ;[4.2217] PTR TO NODE
1041 017760 CALL ..DECN ;[4.2217] DEQUEUE NODE
017760 004737 000000G JSR PC,..DECN
1042 017764 005037 000000G CLR .EBPEQ ;[4.2217] CLEAR NODE PTR
1043 017770 30$: RETURN ;YES
017770 000207 RTS PC
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 238-1
TYPE-OUT DTE REGISTERS
1044
1045 017772 DTEBUF: .BLKW 16. ;REGISTER BUFFER
1046 020032 TEXBUF: .BLKW 14. ;TEXT BUFFER
1047
1048 020066 DTEREG: ;HEADER TEXT POINTERS
1049 020066 020170' .WORD HDDLY
1050 020070 020204' .WORD HDDEX3
1051 020072 020220' .WORD HDDEX2
1052 020074 020234' .WORD HDDEX1
1053 020076 020250' .WORD HDTAD1
1054 020100 020264' .WORD HDTAD2
1055 020102 020300' .WORD HDT10B
1056 020104 020314' .WORD HDT11B
1057 020106 020330' .WORD HDT10A
1058 020110 020344' .WORD HDT11A
1059 020112 020360' .WORD HDT10D
1060 020114 020374' .WORD HDT11D
1061 020116 020410' .WORD HDDAG1
1062 020120 020424' .WORD HDDAG2
1063 020122 020440' .WORD HDSTAT
1064 020124 020454' .WORD HDDAG3
1065
1066 020126 SYMTAB: ;SYMBOLIC TYPE ROUTINES
1067 020126 020166' .WORD NOOP ;DLYCNT
1068 020130 020166' .WORD NOOP ;DEXWD3
1069 020132 020166' .WORD NOOP ;DEXWD2
1070 020134 021530' .WORD TYPDX1 ;DEXWD1
1071 020136 020166' .WORD NOOP ;TENAD1
1072 020140 022042' .WORD TYPAD2 ;TENAD2
1073 020142 020166' .WORD NOOP ;TO10BC
1074 020144 020166' .WORD NOOP ;TO11BC
1075 020146 020166' .WORD NOOP ;TO10AD
1076 020150 020166' .WORD NOOP ;TO11AD
1077 020152 020166' .WORD NOOP ;TO10DT
1078 020154 020166' .WORD NOOP ;TO11DT
1079 020156 023114' .WORD TYPDG1 ;DIAG1
1080 020160 020166' .WORD NOOP ;DIAG2
1081 020162 020604' .WORD STATYP ;STATUS
1082 020164 023522' .WORD TYPDG3 ;DIAG3
1083
1084 020166 NOOP: RETURN ;NO SYMBOLIC TYPE OUT
020166 000207 RTS PC
1085
1086 020170 015 012 000 HDDLY: .ASCII<15><12><0><0>/DLYCNT: /
020173 000 104 114
020176 131 103 116
020201 124 072 040
1087 020204 015 012 000 HDDEX3: .ASCII<15><12><0><0>/DEXWD3: /
020207 000 104 105
020212 130 127 104
020215 063 072 040
1088 020220 015 012 000 HDDEX2: .ASCII<15><12><0><0>/DEXWD2: /
020223 000 104 105
020226 130 127 104
020231 062 072 040
1089 020234 015 012 000 HDDEX1: .ASCII<15><12><0><0>/DEXWD1: /
020237 000 104 105
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 238-2
TYPE-OUT DTE REGISTERS
020242 130 127 104
020245 061 072 040
1090 020250 015 012 000 HDTAD1: .ASCII<15><12><0><0>/TENAD1: /
020253 000 124 105
020256 116 101 104
020261 061 072 040
1091 020264 000 000 040 HDTAD2: .ASCII<0><0>/ TENAD2: /
020267 040 124 105
020272 116 101 104
020275 062 072 040
1092 020300 015 012 000 HDT10B: .ASCII<15><12><0><0>/TO10BC: /
020303 000 124 117
020306 061 060 102
020311 103 072 040
1093 020314 000 000 040 HDT11B: .ASCII<0><0>/ TO11BC: /
020317 040 124 117
020322 061 061 102
020325 103 072 040
1094 020330 015 012 000 HDT10A: .ASCII<15><12><0><0>/TO10AD: /
020333 000 124 117
020336 061 060 101
020341 104 072 040
1095 020344 000 000 040 HDT11A: .ASCII<0><0>/ TO11AD: /
020347 040 124 117
020352 061 061 101
020355 104 072 040
1096 020360 015 012 000 HDT10D: .ASCII<15><12><0><0>/TO10DT: /
020363 000 124 117
020366 061 060 104
020371 124 072 040
1097 020374 000 000 040 HDT11D: .ASCII<0><0>/ TO11DT: /
020377 040 124 117
020402 061 061 104
020405 124 072 040
1098 020410 015 012 000 HDDAG1: .ASCII<15><12><0><0>/DIAG1 : /
020413 000 104 111
020416 101 107 061
020421 040 072 040
1099 020424 015 012 000 HDDAG2: .ASCII<15><12><0><0>/DIAG2 : /
020427 000 104 111
020432 101 107 062
020435 040 072 040
1100 020440 015 012 000 HDSTAT: .ASCII<15><12><0><0>/STATUS: /
020443 000 123 124
020446 101 124 125
020451 123 072 040
1101 020454 015 012 000 HDDAG3: .ASCII<15><12><0><0>/DIAG3 : /
020457 000 104 111
020462 101 107 063
020465 040 072 040
1102 020470 015 012 000 TYPCR: .ASCII<15><12><0><0>
020473 000
1103 .EVEN
1104
1105 .SBTTL OCTAL FORMAT TYPE-OUT
1106
1107 ;
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 238-3
OCTAL FORMAT TYPE-OUT
1108 ; TYPE OUT A VALUE IN OCTAL VALUE.
1109 ;
1110 ; TCO 4.2203
1111 ;
1112 ; INPUT:
1113 ; R2-INDEX INTO DTEBUF FOR VALUE
1114 ;
1115 ; OUTPUT:
1116 ; NONE
1117 ;
1118
1119 020474 OCTTYP:
1120 020474 012703 000006 MOV #6,R3 ;CHAR COUNT
1121 020500 012701 020037' MOV #TEXBUF+5,R1 ;WHERE TO PUT CHARS
1122 020504 016204 017772' MOV DTEBUF(R2),R4 ;REGISTER CONTENTS
1123 020510 CALL CONVRT ;CONVERT TO ASCII
020510 004737 020540' JSR PC,CONVRT
1124 020514 142737 000006 020032' BICB #6,TEXBUF ;CLEAR SIGN SHIFT BITS
1125 020522 012700 020032' MOV #TEXBUF,R0 ;BUFFER ADDR
1126 020526 012701 000006 MOV #6,R1 ;CHAR COUNT
1127 020532 CALL TTCOMX ;TYPE OCTAL VALUE
020532 004737 017334' JSR PC,TTCOMX
1128 020536 RETURN ;RETURN
020536 000207 RTS PC
1129
1130 .SBTTL CONVRT
1131
1132 ;
1133 ; CONVERT A VALUE INTO A TEXT STRING OF OCTAL VALUES.
1134 ;
1135 ; TCO 4.2203
1136 ;
1137 ; INPUT:
1138 ; R4-VALUE TO CONVERT
1139 ; R1-POSITION TO START SAVING STRING
1140 ; R3-NO. OF CHARS TO CONVERT
1141 ;
1142 ; OUTPUT:
1143 ; R1-POINTS TO END OF STRING
1144 ; R3-0
1145 ;
1146
1147 020540 CONVRT:
1148 020540 010400 MOV R4,R0 ;TEMP
1149 020542 042700 177770 BIC #177770,R0 ;LAST OCTAL DIGIT
1150 020546 062700 000060 ADD #'0,R0 ;MAKE ASCII
1151 020552 110011 MOVB R0,@R1 ;SAVE DIGIT
1152 020554 005301 DEC R1 ;NEXT POSITION
1153 020556 006204 ASR R4 ;CLEAR DIGIT
1154 020560 006204 ASR R4
1155 020562 006204 ASR R4
1156 020564 SOB R3,CONVRT ;DONE?
020564 005303 DEC R3
020566 001364 BNE CONVRT
1157 020570 RETURN ;YES
020570 000207 RTS PC
1158
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 238-4
COUNT LENGTH OF ASCII STRING
1159 .SBTTL COUNT LENGTH OF ASCII STRING
1160
1161 ;
1162 ; COUNT THE LENGTH OF AN ASCIZ STRING.
1163 ;
1164 ; TCO 4.2203
1165 ;
1166 ; INPUT:
1167 ; R0-ADDR OF STRING
1168 ;
1169 ; OUTPUT:
1170 ; R1-LENGTH OF STRING
1171 ;
1172
1173 020572 COUNT:
1174 020572 010001 MOV R0,R1 ;TEMP
1175 020574 105721 10$: TSTB (R1)+ ;NULL CHAR?
1176 020576 001376 BNE 10$ ;NO
1177 020600 160001 SUB R0,R1 ;YES,MAKE DIFFERENCE
1178 020602 RETURN
020602 000207 RTS PC
1179
1180
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 239
SYBOLIC STATUS TYPE-OUT
1182 .SBTTL SYBOLIC STATUS TYPE-OUT
1183
1184 ;
1185 ; TYPE-OUT CONTENTS OF DTE STATUS REGISTER SYMBOLICALLY.
1186 ;
1187 ; TCO 4.2203
1188 ;
1189 ; INPUT:
1190 ; R2-INDEX INTO DTEBUF FOR STATUS REGISTER
1191 ;
1192 ; OUTPUT:
1193 ; NONE
1194 ;
1195
1196 020604 STATYP:
1197 020604 016203 017772' MOV DTEBUF(R2),R3 ;DTE REGISTER CONTENTS
1198 020610 012700 020642' MOV #STA15,R0 ;FIRST MESSAGE
1199 020614 005703 10$: TST R3 ;REGISTER=0
1200 020616 001410 BEQ 30$ ;YES-DONE
1201 020620 CALL COUNT ;COUNT CHARS IN MESSAGE
020620 004737 020572' JSR PC,COUNT
1202 020624 006303 ASL R3 ;SHIFT HIGH BIT TO CARRY
1203 020626 103002 BCC 20$ ;BIT CLEAR?
1204 020630 CALL TTCOMX ;NO-TYPE MESSAGE
020630 004737 017334' JSR PC,TTCOMX
1205 020634 060100 20$: ADD R1,R0 ;ADDRESS NEXT MESSAGE
1206 020636 000766 BR 10$ ;CHECK NEXT BIT
1207 020640 30$: RETURN ;EXIT
020640 000207 RTS PC
1208
1209 020642 015 012 030 STA15: .ASCIZ<15><12><30><30>/ TO 10 NORMAL TERMINATION/
020645 030 040 040
020650 040 124 117
020653 040 061 060
020656 040 116 117
020661 122 115 101
020664 114 040 124
020667 105 122 115
020672 111 116 101
020675 124 111 117
020700 116 000
1210 020702 015 012 030 STA14: .ASCIZ<15><12><30><30>/ BIT 14 UNUSED/
020705 030 040 040
020710 040 102 111
020713 124 040 061
020716 064 040 125
020721 116 125 123
020724 105 104 000
1211 020727 015 012 030 STA13: .ASCIZ<15><12><30><30>/ TO 10 ERROR TERMINATION/
020732 030 040 040
020735 040 124 117
020740 040 061 060
020743 040 105 122
020746 122 117 122
020751 040 124 105
020754 122 115 111
020757 116 101 124
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 239-1
SYBOLIC STATUS TYPE-OUT
020762 111 117 116
020765 000
1212 020766 015 012 030 STA12: .ASCIZ<15><12><30><30>/ RAM IS ZEROS/
020771 030 040 040
020774 040 122 101
020777 115 040 111
021002 123 040 132
021005 105 122 117
021010 123 000
1213 021012 015 012 030 STA11: .ASCIZ<15><12><30><30>/ 10 REQUESTED 11 INTERRUPT/
021015 030 040 040
021020 040 061 060
021023 040 122 105
021026 121 125 105
021031 123 124 105
021034 104 040 061
021037 061 040 111
021042 116 124 105
021045 122 122 125
021050 120 124 000
1214 021053 015 012 030 STA10: .ASCIZ<15><12><30><30>/ DEX WORD 1/
021056 030 040 040
021061 040 104 105
021064 130 040 127
021067 117 122 104
021072 040 061 000
1215 021075 015 012 030 STA9: .ASCIZ<15><12><30><30>/ 11 MEMORY PARITY ERROR/
021100 030 040 040
021103 040 061 061
021106 040 115 105
021111 115 117 122
021114 131 040 120
021117 101 122 111
021122 124 131 040
021125 105 122 122
021130 117 122 000
1216 021133 015 012 030 STA8: .ASCIZ<15><12><30><30>/ 11 REQUESTED 10 INTERRUPT/
021136 030 040 040
021141 040 061 061
021144 040 122 105
021147 121 125 105
021152 123 124 105
021155 104 040 061
021160 060 040 111
021163 116 124 105
021166 122 122 125
021171 120 124 000
1217 021174 015 012 030 STA7: .ASCIZ<15><12><30><30>/ TO 11 TRANSFER DONE/
021177 030 040 040
021202 040 124 117
021205 040 061 061
021210 040 124 122
021213 101 116 123
021216 106 105 122
021221 040 104 117
021224 116 105 000
1218 021227 015 012 030 STA6: .ASCIZ<15><12><30><30>/ E BUFFER SELECT/
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 239-2
SYBOLIC STATUS TYPE-OUT
021232 030 040 040
021235 040 105 040
021240 102 125 106
021243 106 105 122
021246 040 123 105
021251 114 105 103
021254 124 000
1219 021256 015 012 030 STA5: .ASCIZ<15><12><30><30>/ TO 11 TRANSFER STOP BY NULL/
021261 030 040 040
021264 040 124 117
021267 040 061 061
021272 040 124 122
021275 101 116 123
021300 106 105 122
021303 040 123 124
021306 117 120 040
021311 102 131 040
021314 116 125 114
021317 114 000
1220 021321 015 012 030 STA4: .ASCIZ<15><12><30><30>/ E BUS PARITY ERROR/
021324 030 040 040
021327 040 105 040
021332 102 125 123
021335 040 120 101
021340 122 111 124
021343 131 040 105
021346 122 122 117
021351 122 000
1221 021353 015 012 030 STA3: .ASCIZ<15><12><30><30>/ RESTRICTED MODE/
021356 030 040 040
021361 040 122 105
021364 123 124 122
021367 111 103 124
021372 105 104 040
021375 115 117 104
021400 105 000
1222 021402 015 012 030 STA2: .ASCIZ<15><12><30><30>/ DEPOSIT-EXAMINE DONE/
021405 030 040 040
021410 040 104 105
021413 120 117 123
021416 111 124 055
021421 105 130 101
021424 115 111 116
021427 105 040 104
021432 117 116 105
021435 000
1223 021436 015 012 030 STA1: .ASCIZ<15><12><30><30>/ TO 11 BYTE ERROR TERMINATION/
021441 030 040 040
021444 040 124 117
021447 040 061 061
021452 040 102 131
021455 124 105 040
021460 105 122 122
021463 117 122 040
021466 124 105 122
021471 115 111 116
021474 101 124 111
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 239-3
SYBOLIC STATUS TYPE-OUT
021477 117 116 000
1224 021502 015 012 030 STA0: .ASCIZ<15><12><30><30>/ INTERRUPTS ON/
021505 030 040 040
021510 040 111 116
021513 124 105 122
021516 122 125 120
021521 124 123 040
021524 117 116 000
1225 .EVEN
1226
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 240
SYMBOLIC DEX WORD TYPE-OUT
1228 .SBTTL SYMBOLIC DEX WORD TYPE-OUT
1229
1230 ;
1231 ; TYPE OUT KL10 DATA FROM DTE REGISTERS DEXWD1-DEXWD3.
1232 ;
1233 ; TCO 4.2203
1234 ;
1235 ; INPUT:
1236 ; R2-INDEX OF DEXWD1 IN DTEBUF
1237 ;
1238 ; OUTPUT:
1239 ; NONE
1240 ;
1241
1242 021530 TYPDX1:
1243 021530 012700 021616' MOV #DX1MS1,R0 ;DATA MESSAGE
1244 021534 012701 000021 MOV #DX1M1L,R1 ;LENGTH
1245 021540 CALL TTCOMX ;TYPE IT
021540 004737 017334' JSR PC,TTCOMX
1246 021544 016203 017772' MOV DTEBUF(R2),R3 ;DEXWD1 VALUE, DATA BITS 0-3
1247 021550 016204 017770' MOV DTEBUF-2(R2),R4 ;DEXWD2 VALUE, DATA BITS 4-19
1248 021554 016205 017766' MOV DTEBUF-4(R2),R5 ;DEXWD3 VALUE, DATA BITS 20-35
1249 021560 CALL TYPKLN ;TYPE AS KL NUMBER
021560 004737 021700' JSR PC,TYPKLN
1250 021564 016203 017772' MOV DTEBUF(R2),R3 ;DEXWD1 VALUE
1251 021570 042703 000017 BIC #17,R3 ;DEXWD1 BITS 4-15
1252 021574 005703 TST R3 ;BITS 4-15 MBZ
1253 021576 001406 BEQ 10$ ;ARE THEY ZERO
1254 021600 012700 021637' MOV #DX1MS2,R0 ;NO- MESSAGE
1255 021604 012701 000040 MOV #DX1M2L,R1 ;LENGTH
1256 021610 CALL TTCOMX ;TYPE IT
021610 004737 017334' JSR PC,TTCOMX
1257 021614 10$: RETURN ;EXIT
021614 000207 RTS PC
1258
1259 021616 015 012 000 DX1MS1: .ASCII<15><12><0><0>/ KL10 DATA=/
021621 000 040 040
021624 040 113 114
021627 061 060 040
021632 104 101 124
021635 101 075
1260 000021 DX1M1L=.-DX1MS1
1261 021637 015 012 000 DX1MS2: .ASCII<15><12><0><0>/ DEXWD1 BITS 4-15 NON-ZERO/
021642 000 040 040
021645 040 104 105
021650 130 127 104
021653 061 040 102
021656 111 124 123
021661 040 064 055
021664 061 065 040
021667 116 117 116
021672 055 132 105
021675 122 117
1262 000040 DX1M2L=.-DX1MS2
1263 .EVEN
1264
1265 .SBTTL KL NUMBER TYPE-OUT
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 240-1
KL NUMBER TYPE-OUT
1266
1267
1268 021700 TYPKLN::
1269 021700 PUSH <R5,R4> ;SAVE PARAMETERS
021700 010546 MOV R5,-(SP)
021702 010446 MOV R4,-(SP)
1270 021704 042703 177760 BIC #177760,R3 ;DATA BITS 0-3
1271 021710 006003 ROR R3 ;SHIFT OUT DATA BIT 3
1272 021712 006004 ROR R4 ;SHIFT IN BIT 3, OUT BIT 19
1273 021714 062703 000060 ADD #'0,R3 ;MAKE BITS 0-2 OCTAL AND ASCII
1274 021720 110337 020032' MOVB R3,TEXBUF ;MOVE TO TEXT BUFFER
1275 021724 012701 020037' MOV #TEXBUF+5,R1 ;PTR TO WHERE NEXT 5 VALUES GO
1276 021730 012703 000005 MOV #5,R3 ;NO. OF OCTAL NUMBERS TO CONVERT
1277 021734 006204 ASR R4 ;DATA BITS 3-17
1278 021736 CALL CONVRT ;CONVERT R4 TO OCTAL
021736 004737 020540' JSR PC,CONVRT
1279 021742 012737 026054 020040' MOV #",,,TEXBUF+6 ;PUT 2 COMMAS IN TEXT BUFFER
1280 021750 POP R5 ;DATA BITS 4-19
021750 012605 MOV (SP)+,R5
1281 021752 011604 MOV (SP),R4 ;DATA BITS 20-35
1282 021754 042705 177774 BIC #177774,R5 ;DATA BITS 18-19
1283 021760 006005 ROR R5 ;SHIFT OUT BIT 19
1284 021762 006004 ROR R4 ;SHIFT IN BIT 19, OUT 35
1285 021764 006005 ROR R5 ;SHIFT OUT BIT 18
1286 021766 006004 ROR R4 ;SHIFT IN BIT 18, OUT 34
1287 021770 006204 ASR R4 ;SHIFT OUT BIT 33
1288 021772 012703 000005 MOV #5,R3 ;NUMBER OF VALUES TO CONVERT
1289 021776 012701 020046' MOV #TEXBUF+12.,R1 ;WHERE TO PUT TEXT
1290 022002 CALL CONVRT ;CONVERT TO OCTAL ASCII
022002 004737 020540' JSR PC,CONVRT
1291 022006 POP R4 ;DATA BITS 20-35
022006 012604 MOV (SP)+,R4
1292 022010 042704 177770 BIC #177770,R4 ;DATA BITS 33-35
1293 022014 062704 000060 ADD #'0,R4 ;CONVERT TO ASCII
1294 022020 110437 020047' MOVB R4,TEXBUF+13. ;PUT IN TEXT STRING
1295 022024 012700 020032' MOV #TEXBUF,R0 ;OCTAL TEXT
1296 022030 012701 000016 MOV #14.,R1 ;LENGTH
1297 022034 CALL TTCOMX ;TYPE IT
022034 004737 017334' JSR PC,TTCOMX
1298 022040 RETURN
022040 000207 RTS PC
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 241
SYMBOLIC TENAD TYPE-OUT
1300 .SBTTL SYMBOLIC TENAD TYPE-OUT
1301
1302 ;
1303 ; KL10 ADDRESS DECODING AND TYPE-OUT FROM TENAD1-TENAD2.
1304 ;
1305 ; TCO 4.2203
1306 ;
1307 ; INPUT:
1308 ; R2-INDEX OF TENAD2 IN DTEBUF
1309 ;
1310 ; OUTPUT:
1311 ; NONE
1312 ;
1313
1314 022042 TYPAD2:
1315 022042 012700 022426' MOV #TA2MS1,R0 ;ADDRESS SPACE MESSAGE
1316 022046 012701 000025 MOV #TA2M1L,R1 ;LENGTH
1317 022052 CALL TTCOMX ;TYPE IT
022052 004737 017334' JSR PC,TTCOMX
1318 022056 016203 017770' MOV DTEBUF-2(R2),R3 ;REGISTER CONTENTS
1319 022062 000303 SWAB R3 ;GET SPACE BITS
1320 000005 .REPT 5
1321 ASR R3
1322 .ENDR
022064 006203 ASR R3
022066 006203 ASR R3
022070 006203 ASR R3
022072 006203 ASR R3
022074 006203 ASR R3
1323 022076 042703 177770 BIC #177770,R3 ;SPACE BITS
1324 022102 020327 000005 CMP R3,#5 ;RESERVED?
1325 022106 003402 BLE 10$ ;NO
1326 022110 012703 000005 MOV #5,R3 ;YES
1327 022114 012700 022620' 10$: MOV #SPC1,R0 ;FIRST SPACE MESSAGE
1328 022120 20$: CALL COUNT ;GET LENGTH
022120 004737 020572' JSR PC,COUNT
1329 022124 005303 DEC R3 ;THIS SPACE?
1330 022126 002402 BLT 30$ ;YES
1331 022130 060100 ADD R1,R0 ;NO-NEXT MESSAGE
1332 022132 000772 BR 20$ ;NEXT
1333 022134 30$: CALL TTCOMX ;TYPE SPACE
022134 004737 017334' JSR PC,TTCOMX
1334 022140 012700 022453' MOV #TA2MS2,R0 ;OPERATION MESSAGE
1335 022144 012701 000021 MOV #TA2M2L,R1 ;LENGTH
1336 022150 CALL TTCOMX ;TYPE IT
022150 004737 017334' JSR PC,TTCOMX
1337 022154 016203 017770' MOV DTEBUF-2(R2),R3 ;REGISTER CONTENTS
1338 022160 012700 022704' MOV #DEPOS,R0 ;DEPOSIT MESSAGE
1339 022164 012701 000007 MOV #DEXLEN,R1 ;LENGTH
1340 022170 032703 010000 BIT #10000,R3 ;IS TI A DEPOSIT?
1341 022174 001002 BNE 40$ ;YES
1342 022176 012700 022713' MOV #EXAM,R0 ;NO-EXAMINE
1343 022202 40$: CALL TTCOMX ;TYPE IT
022202 004737 017334' JSR PC,TTCOMX
1344 022206 012700 022474' MOV #TA2MS3,R0 ;PRO/REL MESSAGE
1345 022212 012701 000040 MOV #TA2M3L,R1 ;LENGTH
1346 022216 CALL TTCOMX ;TYPE IT
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 241-1
SYMBOLIC TENAD TYPE-OUT
022216 004737 017334' JSR PC,TTCOMX
1347 022222 012700 022722' MOV #PRON,R0 ;PRO ON MESSAGE
1348 022226 012701 000003 MOV #PROLEN,R1 ;LENGTH
1349 022232 032703 004000 BIT #4000,R3 ;IS IT ON?
1350 022236 001402 BEQ 50$ ;YES
1351 022240 012700 022725' MOV #PROFF,R0 ;NO-OFF
1352 022244 50$: CALL TTCOMX ;TYPE IT
022244 004737 017334' JSR PC,TTCOMX
1353 022250 032703 003600 BIT #3600,R3 ;CHECK MBZ BITS, ARE THEY?
1354 022254 001406 BEQ 60$ ;YES
1355 022256 012700 022534' MOV #TA2MS4,R0 ;NO-ERROR MESSAGE
1356 022262 012701 000040 MOV #TA2M4L,R1 ;LENGTH
1357 022266 CALL TTCOMX ;TYPE IT
022266 004737 017334' JSR PC,TTCOMX
1358 022272 012700 022574' 60$: MOV #TA2MS5,R0 ;ADDRESS MESSAGE
1359 022276 012701 000024 MOV #TA2M5L,R1 ;LENGTH
1360 022302 CALL TTCOMX ;TYPE IT
022302 004737 017334' JSR PC,TTCOMX
1361 022306 016204 017772' MOV DTEBUF(R2),R4 ;TENAD2
1362 022312 CALL TYPKLA ;TYPE AS KL ADDR
022312 004737 023010' JSR PC,TYPKLA
1363 022316 016203 017770' MOV DTEBUF-2(R2),R3 ;TENAD1
1364 022322 032703 000100 BIT #100,R3 ;INDIRECT BIT SET?
1365 022326 001406 BEQ 70$ ;NO
1366 022330 012700 022730' MOV #IND,R0 ;YES-MESSAGE
1367 022334 012701 000026 MOV #INDL,R1 ;LENGTH
1368 022340 CALL TTCOMX ;TYPE IT
022340 004737 017334' JSR PC,TTCOMX
1369 022344 006203 70$: ASR R3 ;GET INDEX REGISTER
1370 022346 006203 ASR R3
1371 022350 042703 177760 BIC #177760,R3 ;GOT IT
1372 022354 001423 BEQ 80$ ;IS THERE ONE?
1373 022356 012700 022756' MOV #REG,R0 ;YES-MESSAGE
1374 022362 012701 000032 MOV #REGL,R1 ;LENGTH
1375 022366 CALL TTCOMX ;TYPE IT
022366 004737 017334' JSR PC,TTCOMX
1376 022372 010304 MOV R3,R4 ;NO. TO CONVERT
1377 022374 012703 000002 MOV #2,R3 ;NO. CHAR TO CONVERT
1378 022400 012701 020033' MOV #TEXBUF+1,R1 ;WHERE TO PUT
1379 022404 CALL CONVRT ;CONVERT TO ASCII
022404 004737 020540' JSR PC,CONVRT
1380 022410 012700 020032' MOV #TEXBUF,R0 ;TEXT BUFFER ADDR
1381 022414 012701 000002 MOV #2,R1 ;LENGTH
1382 022420 CALL TTCOMX ;TYPE IT
022420 004737 017334' JSR PC,TTCOMX
1383 022424 80$: RETURN ;EXIT
022424 000207 RTS PC
1384
1385 022426 015 012 000 TA2MS1: .ASCII<15><12><0><0>/ ADDRESS SPACE=/
022431 000 040 040
022434 040 101 104
022437 104 122 105
022442 123 123 040
022445 123 120 101
022450 103 105 075
1386 000025 TA2M1L=.-TA2MS1
1387 022453 015 012 000 TA2MS2: .ASCII<15><12><0><0>/ OPERATION=/
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 241-2
SYMBOLIC TENAD TYPE-OUT
022456 000 040 040
022461 040 117 120
022464 105 122 101
022467 124 111 117
022472 116 075
1388 000021 TA2M2L=.-TA2MS2
1389 022474 015 012 000 TA2MS3: .ASCII<15><12><0><0>/ PROTECTION-RELOCATION IS /
022477 000 040 040
022502 040 120 122
022505 117 124 105
022510 103 124 111
022513 117 116 055
022516 122 105 114
022521 117 103 101
022524 124 111 117
022527 116 040 111
022532 123 040
1390 000040 TA2M3L=.-TA2MS3
1391 022534 015 012 000 TA2MS4: .ASCII<15><12><0><0>/ TENAD1 BITS 7-10 NON-ZERO/
022537 000 040 040
022542 040 124 105
022545 116 101 104
022550 061 040 102
022553 111 124 123
022556 040 067 055
022561 061 060 040
022564 116 117 116
022567 055 132 105
022572 122 117
1392 000040 TA2M4L=.-TA2MS4
1393 022574 015 012 000 TA2MS5: .ASCII<15><12><0><0>/ KL10 ADDRESS=/
022577 000 040 040
022602 040 113 114
022605 061 060 040
022610 101 104 104
022613 122 105 123
022616 123 075
1394 000024 TA2M5L=.-TA2MS5
1395 022620 105 120 124 SPC1: .ASCIZ/EPT/
022623 000
1396 022624 105 130 105 SPC2: .ASCIZ/EXEC VIRTUAL/
022627 103 040 126
022632 111 122 124
022635 125 101 114
022640 000
1397 022641 125 120 124 SPC3: .ASCIZ/UPT/
022644 000
1398 022645 125 123 105 SPC4: .ASCIZ/USER VIRTUAL/
022650 122 040 126
022653 111 122 124
022656 125 101 114
022661 000
1399 022662 120 110 131 SPC5: .ASCIZ/PHYSICAL/
022665 123 111 103
022670 101 114 000
1400 022673 122 105 123 SPC6: .ASCIZ/RESERVED/
022676 105 122 126
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 241-3
SYMBOLIC TENAD TYPE-OUT
022701 105 104 000
1401 022704 104 105 120 DEPOS: .ASCII/DEPOSIT/
022707 117 123 111
022712 124
1402 022713 105 130 101 EXAM: .ASCII/EXAMINE/
022716 115 111 116
022721 105
1403 000007 DEXLEN=.-EXAM
1404 022722 117 116 040 PRON: .ASCII/ON /
1405 022725 117 106 106 PROFF: .ASCII/OFF/
1406 000003 PROLEN=.-PROFF
1407 022730 015 012 000 IND: .ASCII<15><12><0><0>/ INDIRECT ON/
022733 000 040 040
022736 040 040 040
022741 040 040 111
022744 116 104 111
022747 122 105 103
022752 124 040 117
022755 116
1408 000026 INDL=.-IND
1409 022756 015 012 000 REG: .ASCII<15><12><0><0>/ INDEX REGISTER=/
022761 000 040 040
022764 040 040 040
022767 040 040 111
022772 116 104 105
022775 130 040 122
023000 105 107 111
023003 123 124 105
023006 122 075
1410 000032 REGL=.-REG
1411 .EVEN
1412
1413 .SBTTL KL ADDR TYPE-OUT
1414
1415
1416 023010 TYPKLA: PUSH R4 ;SAVE TENAD2
023010 010446 MOV R4,-(SP)
1417 023012 006003 ROR R3 ;SHIFT OUT ADDR BIT 19
1418 023014 006004 ROR R4 ;SHIFT IN ADDR BIT 19
1419 023016 006003 ROR R3 ;SHIFT OUT ADDR 18
1420 023020 006004 ROR R4 ;SHIFT IN ADDR BIT 18
1421 023022 006204 ASR R4 ;SHIFT OUT ADDR BIT 33
1422 023024 012703 000005 MOV #5,R3 ;5 VALUES TO CONVERT
1423 023030 012701 020036' MOV #TEXBUF+4,R1 ;WHERE TO PUT
1424 023034 CALL CONVRT ;CONVERT BINARY TO ASCII
023034 004737 020540' JSR PC,CONVRT
1425 023040 POP R4 ;TENAD2
023040 012604 MOV (SP)+,R4
1426 023042 042704 177770 BIC #177770,R4 ;ADDR BITS 33-35
1427 023046 062704 000060 ADD #'0,R4 ;MAKE ASCII
1428 023052 110437 020037' MOVB R4,TEXBUF+5 ;PUT IN BUFFER
1429 023056 012700 020032' MOV #TEXBUF,R0 ;TEXT BUFFER ADDR
1430 023062 012701 000006 MOV #6,R1 ;LENGTH
1431 023066 121027 000060 90$: CMPB (R0),#'0 ;LEADING ZERO?
1432 023072 001005 BNE 95$ ;NO- TYPE IT
1433 023074 005200 INC R0 ;SKIP OVER IT
1434 023076 005301 DEC R1 ;ONE LESS CHAR
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 241-4
KL ADDR TYPE-OUT
1435 023100 020127 000001 CMP R1,#1 ;ONE CHAR LEFT?
1436 023104 001370 BNE 90$ ;NO- CHECK IT
1437 023106 95$: CALL TTCOMX ;TYPE IT
023106 004737 017334' JSR PC,TTCOMX
1438 023112 RETURN
023112 000207 RTS PC
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 242
SYMBOLIC DIAG1 TYPE-OUT
1440 .SBTTL SYMBOLIC DIAG1 TYPE-OUT
1441
1442 ;
1443 ; SYMBOLIC TYPE-OUT OF DTE REGISTER DIAG1.
1444 ;
1445 ; TCO 4.2203
1446 ;
1447 ; INPUT:
1448 ; R2-INDEX OF DIAG1 IN DTEBUF
1449 ;
1450 ; OUTPUT:
1451 ; NONE
1452 ;
1453
1454 023114 TYPDG1:
1455 023114 016203 017772' MOV DTEBUF(R2),R3 ;DIAG1
1456 023120 042703 170037 BIC #170037,R3 ;GET STATUS BITS
1457 000004 .REPT 4 ;LEFT JUSTIFY
1458 ASL R3
1459 .ENDR
023124 006303 ASL R3
023126 006303 ASL R3
023130 006303 ASL R3
023132 006303 ASL R3
1460 023134 012700 023166' MOV #DG1B11,R0 ;FIRST MESSAGE
1461 023140 005703 10$: TST R3 ;DONE?
1462 023142 001410 BEQ 30$ ;YES-EXIT
1463 023144 CALL COUNT ;GET MESSAGE LENGTH
023144 004737 020572' JSR PC,COUNT
1464 023150 006303 ASL R3 ;BIT SET?
1465 023152 103002 BCC 20$ ;NO
1466 023154 CALL TTCOMX ;YES-TYPE MESSAGE
023154 004737 017334' JSR PC,TTCOMX
1467 023160 060100 20$: ADD R1,R0 ;NEXT MESSAGE
1468 023162 000766 BR 10$ ;NEXT
1469 023164 30$: RETURN ;EXIT
023164 000207 RTS PC
1470
1471 023166 015 012 030 DG1B11: .ASCIZ<15><12><30><30>/ KL CLOCK ERROR STOP/
023171 030 040 040
023174 040 113 114
023177 040 103 114
023202 117 103 113
023205 040 105 122
023210 122 117 122
023213 040 123 124
023216 117 120 000
1472 023221 015 012 030 DG1B10: .ASCIZ<15><12><30><30>/ KL IN RUN MODE/
023224 030 040 040
023227 040 113 114
023232 040 111 116
023235 040 122 125
023240 116 040 115
023243 117 104 105
023246 000
1473 023247 015 012 030 DG1B9: .ASCIZ<15><12><30><30>/ KL IN HALT LOOP/
023252 030 040 040
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 242-1
SYMBOLIC DIAG1 TYPE-OUT
023255 040 113 114
023260 040 111 116
023263 040 110 101
023266 114 124 040
023271 114 117 117
023274 120 000
1474 023276 015 012 030 DG1B8: .ASCIZ<15><12><30><30>/ MAJOR STATE IS DEPOSIT-EXAMINE/
023301 030 040 040
023304 040 115 101
023307 112 117 122
023312 040 123 124
023315 101 124 105
023320 040 111 123
023323 040 104 105
023326 120 117 123
023331 111 124 055
023334 105 130 101
023337 115 111 116
023342 105 000
1475 023344 015 012 030 DG1B7: .ASCIZ<15><12><30><30>/ MAJOR STATE IS TO-10 TRANSFER/
023347 030 040 040
023352 040 115 101
023355 112 117 122
023360 040 123 124
023363 101 124 105
023366 040 111 123
023371 040 124 117
023374 055 061 060
023377 040 124 122
023402 101 116 123
023405 106 105 122
023410 000
1476 023411 015 012 030 DG1B6: .ASCIZ<15><12><30><30>/ MAJOR STATE IS TO-11 TRANSFER/
023414 030 040 040
023417 040 115 101
023422 112 117 122
023425 040 123 124
023430 101 124 105
023433 040 111 123
023436 040 124 117
023441 055 061 061
023444 040 124 122
023447 101 116 123
023452 106 105 122
023455 000
1477 023456 015 012 030 DG1B5: .ASCIZ<15><12><30><30>/ DTE IN 10-11 DIAGNOSTIC MODE/
023461 030 040 040
023464 040 104 124
023467 105 040 111
023472 116 040 061
023475 060 055 061
023500 061 040 104
023503 111 101 107
023506 116 117 123
023511 124 111 103
023514 040 115 117
023517 104 105 000
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 242-2
SYMBOLIC DIAG1 TYPE-OUT
1478 .EVEN
1479
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 243
SYMBOLIC DIAG3 TYPE-OUT
1481 .SBTTL SYMBOLIC DIAG3 TYPE-OUT
1482
1483 ;
1484 ; TYPE-OUT CONTENTS OF DTE REGISTER DIAG3 SYMBOLICALLY.
1485 ;
1486 ; TCO 4.2203
1487 ;
1488 ; INPUT:
1489 ; R2-INDEX INTO DTEBUF FOR DIAG3
1490 ;
1491 ; OUTPUT:
1492 ; NONE
1493 ;
1494
1495 023522 TYPDG3:
1496 023522 016203 017772' MOV DTEBUF(R2),R3 ;DIAG3
1497 023526 032703 000002 BIT #2,R3 ;NPR ERROR?
1498 023532 001406 BEQ 10$ ;NO-EXIT
1499 023534 012700 023560' MOV #DG3B1,R0 ;YES-MESSAGE
1500 023540 012701 000036 MOV #D3B1L,R1 ;LENGTH
1501 023544 CALL TTCOMX ;TYPE IT
023544 004737 017334' JSR PC,TTCOMX
1502 023550 10$: CALL TYCRLF
023550 004737 017442' JSR PC,TYCRLF
1503 023554 000137 017442' JMP TYCRLF ;EXIT
1504
1505 023560 015 012 000 DG3B1: .ASCII<15><12><0><0>/ NPR UNIBUS PARITY ERROR/
023563 000 040 040
023566 040 116 120
023571 122 040 125
023574 116 111 102
023577 125 123 040
023602 120 101 122
023605 111 124 131
023610 040 105 122
023613 122 117 122
1506 000036 D3B1L=.-DG3B1
1507 .EVEN
1508
1509 014110' .END START
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 243-1
SYMBOL TABLE
ABORTX 000230R AP.NXM= 000040 G CAMA = 000314 CR.CR1= 000001 G DG1B9 023247R
ABORT1 000214R AP.PWF= 000001 G CAME = 000312 CR.CR2= 000002 G DG3B1 023560R
ABTAB 005520R AP.SAP= 000002 G CAMG = 000317 CR.FUL= 000000 G DIAG1 = 174430
ACADR 006656RG AP.SBE= 000100 G CAMGE = 000315 CR.HLF= 000001 G DIAG2 = 174432
ACDAT 006160R ASH = 000240 CAML = 000311 CR.NRM= 000000 G DIAG3 = 174436
ADD = 000270 ASHC = 000244 CAMLE = 000313 CR.QTR= 000002 G DIKL10= 000010
ADDB = 000273 ATTBLK 011340R CAMN = 000316 CR.SLO= 000003 G DIRFNB 011234RG
ADDI = 000271 A.LULU= 000002 CCA = 000014 CS.CS1= 000004 G DIV = 000234
ADDM = 000272 A.LUNA= 000004 CDD = 000020 CS.CS2= 000010 G DIVB = 000237
ADH = 000000 A.LUNU= 000006 CD.CLC= 000400 G CS.EXP= 177670 DIVI = 000235
ADL = 000100 BCCTER 000270R CD.CRC= 002000 G CS.EXT= 000010 G DIVM = 000236
ADRTMP 007332R BIT0 = 000001 CD.DPC= 001000 G CS.FST= 000004 G DLYCNT= 174400
ADSBI 010512R BIT00 = 000001 CD.NRM= 000000 G CS.MGN= 000004 G DMOVE = 000120
ALUNSY 011402R BIT01 = 000002 CESCKX 000330R CS.NRM= 000000 G DMOVEM= 000124
ALUNTT 011372R BIT02 = 000004 CF.CTC= 000100 G CS.UDF= 000014 G DMOVN = 000121
AND = 000404 BIT03 = 000010 CF.HTO= 000001 G CVTC 016230R DMOVNM= 000125
ANDB = 000407 BIT04 = 000020 CF.LOD= 000004 G CYCLS = 000002 DOACE 015172RG
ANDCA = 000410 BIT05 = 000040 CF.TID= 000002 G DATAI = 000001 DOCRE 014776RG
ANDCAB= 000413 BIT06 = 000100 CF.TOD= 000003 G DATAO = 000003 DODIR 014676RG
ANDCAI= 000411 BIT07 = 000200 CHNPNT= 000001 DATE = 000004 DOENA 015062RG
ANDCAM= 000412 BIT08 = 000400 CKEDME 001750R DCOMST= 000001 DOEXT 015244RG
ANDCB = 000440 BIT09 = 001000 CKEDMX 001756R DEP = 010000 DOMAS 014624RG
ANDCBB= 000443 BIT1 = 000002 CKMSG 012632R DEPBLK 006150R DON10C= 040000
ANDCBI= 000441 BIT10 = 002000 CKMSGL= 000014 DEPOS 022704R DON10S= 100000
ANDCBM= 000442 BIT11 = 004000 CKPNT 017214R DEX = 000400 DON11C= 000100
ANDCM = 000420 BIT12 = 010000 CLEAR = 000400 DEXDON= 000004 DON11S= 000200
ANDCMB= 000423 BIT13 = 020000 CLEARB= 000403 DEXLEN= 000007 DOWRT 015322RG
ANDCMI= 000421 BIT14 = 040000 CLEARI= 000401 DEXWD1= 174406 DPB = 000137
ANDCMM= 000422 BIT15 = 100000 CLEARM= 000402 DEXWD2= 174404 DPDTEN= 010264R
ANDI = 000405 BIT2 = 000004 CLIPEX 000362R DEXWD3= 174402 DPKLM1 001614R
ANDM = 000406 BIT3 = 000010 CLKNRM 000210RG 003 DFAD = 000110 DPS4 = 040000
AOBJN = 000253 BIT4 = 000020 CLOSE = 000070 DFBEND= 000176R 003 DPTMSG 001415R
AOBJP = 000252 BIT5 = 000040 CLRDPB 017130R DFDV = 000113 DRAM 013414R
AOJ = 000340 BIT6 = 000100 CLRFEX 000416R DFMP = 000112 DRAML = 000015
AOJA = 000344 BIT7 = 000200 CLRFFX 000412R DFN = 000131 DRATAB 005260R
AOJE = 000342 BIT8 = 000400 CLRFNB 017202R DFSB = 000111 DRDMSG 000776R
AOJG = 000347 BIT9 = 001000 CLRFXX 000420R DFUNC = 000200 DRESET= 000100
AOJGE = 000345 BLKI = 000000 CLRGO 010072R DF.DMG= 000004 DR.DTE= 000011
AOJL = 000341 BLKO = 000002 CLRTTY 017150R DF.DMN= 000007 DSEND = 000004
AOJLE = 000343 BLT = 000251 CLRXXX 010076R DF.DOR= 000001 DS04 = 004000
AOJN = 000346 BNRASC 016426R CNUPE = 000002 DF.EHG= 000010 DS05 = 002000
AOS = 000350 BPARER= 000020 COLON 012772R DF.EHM= 000011 DS06 = 001000
AOSA = 000354 BRSTXX 000276R COMMON 016064R DF.EMG= 000005 DTEBUF 017772R
AOSE = 000352 BUFFER 011614R CONI = 000005 DF.EMN= 000006 DTECMD= 000451
AOSG = 000357 BUFLEN= 000024 CONO = 000004 DF.KLR= 000012 DTEFLG= 000444
AOSGE = 000355 BUFSIZ= 001000 CONSO = 000007 DF.KLW= 000013 DTEF11= 000450
AOSL = 000351 CAI = 000300 CONSZ = 000006 DF.KLX= 000014 DTEMTD= 000455
AOSLE = 000353 CAIA = 000304 CONVRT 020540R DF.OFF= 000002 DTEMTI= 000456
AOSN = 000356 CAIE = 000302 COUNT 020572R DF.ON = 000003 DTERDX 000600R
APR = 000000 CAIG = 000307 CPTMP 000212R 003 DF.PDP= 000016 DTEREG 020066R
AP.ALL= 000177 G CAIGE = 000305 CR = 000015 DF.PEX= 000015 DTEREX 000574R
AP.ARP= 001000 G CAIL = 000301 CRAM 013432R DG1B10 023221R DTRMSG 000732R
AP.CDP= 000004 G CAILE = 000303 CRAML = 000015 DG1B11 023166R DTTRK1 000664R
AP.EIP= 000400 G CAIN = 000306 CRATAB 005230R DG1B5 023456R DTTRK2 000670R
AP.IPF= 000020 G CALL = 000040 CRESW 012626R DG1B6 023411R DTTRK3 000712R
AP.MPE= 000010 G CALLI = 000047 CRLF 012765R DG1B7 023344R DTWRTC 000456R
AP.NRM= 001400 G CAM = 000310 CRLTAB 005244R DG1B8 023276R DUPE = 000020
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 243-2
SYMBOL TABLE
DURE = 000004 EBCLKX 001112R ER$CSC= 006760R FMA 013503R FR.VM2= 000324 G
DWRMSG 001002R EBCLK1 001026R ER$CSR= 006304R FMB 013471R FR.VM3= 000326 G
DW1MSG 000752R EBCLK2 001066R ER$DNP= 002236R FMD 013515R FR.VM4= 000330 G
DW2MSG 000757R EBCTOE 001104R ER$DSF= 000574R FMHED 006670R FR.VM5= 000332 G
DW3MSG 000771R EBPCKX 001144R ER$DTC= 002246R FMHEDL= 000042 FR.VM6= 000334 G
DXWRD1= 002000 EBSEL = 000100 ER$ECT= 001104R FML = 000064 FR.VM7= 000336 G
DX1MS1 021616R EBUSPC= 000020 ER$EPE= 001136R FMP = 000160 FR.100= 000200 G
DX1MS2 021637R EBUSPS= 000004 ER$FRF= 007472R FMPB = 000163 FR.101= 000202 G
DX1M1L= 000021 EDEPT 001354R ER$FWF= 007572R FMPL = 000161 FR.102= 000204 G
DX1M2L= 000040 EDEXV 001360R ER$FXF= 007750R FMPM = 000162 FR.103= 000206 G
D1.CES= 004000 G EDKLMX 001630R ER$IFC= 010032R FMPR = 000164 FR.104= 000210 G
D1.DCS= 000001 G EDKLMY 001732R ER$IPE= 005502R FMPRB = 000167 FR.105= 000212 G
D1.DDT= 000040 G EDONES= 040000 ER$MAE= 001750R FMPRI = 000165 FR.106= 000214 G
D1.DEX= 000400 G EDPHY 001374R ER$OFC= 010040R FMPRM = 000166 FR.107= 000216 G
D1.DFM= 000010 G EDTYTB 001342R ER$UNL= 006424R FNBSIZ= 000032 FR.110= 000220 G
D1.DS0= 100000 G EDUPT 001364R ER$XTO= 001530R FNCIFC 010032R FR.111= 000222 G
D1.DS1= 040000 G EDUSV 001370R EVTYP 017530RG FNCOCX 010044R FR.112= 000224 G
D1.DS2= 020000 G ED.EPT= 000000 G EXAM 022713R FNCODD 010020R FR.113= 000226 G
D1.DS3= 010000 G ED.EXV= 000040 G EXBLK 006652R FNCOFC 010040R FR.114= 000230 G
D1.DS4= 004000 G ED.PHY= 000200 G EXCH = 000250 FNHALT 015604R FR.115= 000232 G
D1.DS5= 002000 G ED.UPT= 000100 G EXDAT 006662RG FORPRO= 000020 FR.116= 000234 G
D1.DS6= 001000 G ED.USV= 000140 G EXDPM1 001710R FRDERR 007472R FR.117= 000236 G
D1.HLP= 001000 G EFN1 = 000011 EXDPM2 001730R FRDTEN= 010214R FR.120= 000240 G
D1.LBK= 000200 G EFN2 = 000012 EXDTEN= 010252R FRDXXX 007476R FR.121= 000242 G
D1.MBZ= 000442 G ENTER = 000077 EXIT 017576RG FREAD1 007450R FR.122= 000244 G
D1.PLS= 000020 G EPTR = 000000 EXIT1 017602R FREAD2 007466R FR.123= 000246 G
D1.RUN= 002000 G EQV = 000444 EXTMSG 001400R FR.ADX= 000254 G FR.124= 000250 G
D1.T10= 000200 G EQVB = 000447 EX.AC1= 000001 FR.APR= 000220 G FR.125= 000252 G
D1.T11= 000100 G EQVI = 000445 EX.AC2= 000002 FR.ARX= 000252 G FR.126= 000254 G
D1.V04= 000020 G EQVM = 000446 EX.ADF= 000010 FR.BRX= 000250 G FR.127= 000256 G
D1.XFR= 000004 G ERCODE 013220R EX.ENA= 000200 FR.CA1= 000312 G FR.130= 000260 G
D1011 = 000040 ERCODL= 000104 EX.FCO= 000004 FR.CA2= 000310 G FR.131= 000262 G
D2RST 006042R EREXIT 014566R FAD = 000140 FR.CL1= 000316 G FR.132= 000264 G
D2.EBD= 040000 G ERMG1 013546R FADB = 000143 FR.CL2= 000314 G FR.133= 000266 G
D2.MBZ= 177641 G ERMG1L= 000033 FADL = 000141 FR.CRD= 000302 G FR.134= 000270 G
D2.MS1= 000002 G ERMG2 013602R FADM = 000142 FR.CR1= 000316 G FR.135= 000272 G
D2.MS2= 000004 G ERMG2L= 000042 FADR = 000144 FR.CR2= 000314 G FR.136= 000274 G
D2.MS4= 000010 G ERMG3 013644R FADRB = 000147 FR.CR3= 000312 G FR.137= 000276 G
D2.MS8= 000020 G ERMG3L= 000054 FADRI = 000145 FR.CR4= 000310 G FR.140= 000300 G
D2.RA0= 100000 G ERMG4 013720R FADRM = 000146 FR.DA1= 000260 G FR.141= 000302 G
D2.RA1= 040000 G ERMG4L= 000061 FDV = 000170 FR.DA2= 000262 G FR.142= 000304 G
D2.RA2= 020000 G ERMG5 014002R FDVB = 000173 FR.EBS= 000356 G FR.143= 000306 G
D2.RST= 000100 G ERMG5L= 000043 FDVL = 000171 FR.FE1= 000266 G FR.144= 000310 G
D3B1L = 000036 ERMG6 014046R FDVM = 000172 FR.FE2= 000264 G FR.145= 000312 G
D3RST 006044R ERMG6L= 000042 FDVR = 000174 FR.PI0= 000200 FR.146= 000314 G
D3.CDD= 000020 G ERRTBL 000000RG 004 FDVRB = 000177 FR.PI1= 000202 FR.147= 000316 G
D3.MBZ= 177704 G ERR10C= 010000 FDVRI = 000175 FR.RAD= 000256 G FR.150= 000320 G
D3.NPE= 000002 G ERR10S= 020000 FDVRM = 000176 FR.RAR= 000240 G FR.151= 000322 G
D3.PAR= 040000 G ERR11C= 000001 FERTAB 005274R FR.RBR= 000242 G FR.152= 000324 G
D3.RST= 000001 G ERR11S= 000002 FILACB 011324R FR.RFM= 000246 G FR.153= 000326 G
D3.SCD= 000040 G ER$BAE= 000270R FILFID 011320R FR.RMQ= 000244 G FR.154= 000330 G
D3.SSL= 100000 G ER$CAE= 004176R FILFNB 011266R FR.SC1= 000262 G FR.155= 000332 G
D3.TXB= 000001 G ER$CCC= 006256R FILNAM 011412R FR.SC2= 000260 G FR.156= 000334 G
D3.UPE= 000020 G ER$CCR= 000412R FIX = 000122 FR.SR1= 000306 G FR.157= 000336 G
D3.URE= 000004 G ER$CCS= 006220R FIXR = 000126 FR.SR2= 000304 G FR.160= 000340 G
D3.WEP= 000010 G ER$CES= 000314R FLTR = 000127 FR.VM0= 000320 G FR.161= 000342 G
EBCLKE 001100R ER$CFH= 003034R FM 013450R FR.VM1= 000322 G FR.162= 000344 G
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 243-3
SYMBOL TABLE
FR.163= 000346 G FW.042= 000104 G FX.006= 000014 G HLLI = 000501 HTMG1 013002R
FR.164= 000350 G FW.043= 000106 G FX.007= 000016 G HLLM = 000502 HTMG1L= 000021
FR.165= 000352 G FW.044= 000110 G FX.010= 000020 G HLLO = 000520 HTMG2 013024R
FR.166= 000354 G FW.045= 000112 G FX.011= 000022 G HLLOI = 000521 HTMG2L= 000025
FR.167= 000356 G FW.046= 000114 G FX.012= 000024 G HLLOM = 000522 I = 000000
FR.170= 000360 G FW.047= 000116 G FX.013= 000026 G HLLOS = 000523 IBP = 000133
FR.171= 000362 G FW.050= 000120 G FX.014= 000030 G HLLS = 000503 IDIV = 000230
FR.172= 000364 G FW.051= 000122 G FX.015= 000032 G HLLZ = 000510 IDIVB = 000233
FR.173= 000366 G FW.052= 000124 G FX.016= 000034 G HLLZI = 000511 IDIVI = 000231
FR.174= 000370 G FW.053= 000126 G FX.017= 000036 G HLLZM = 000512 IDIVM = 000232
FR.175= 000372 G FW.054= 000130 G FX.020= 000040 G HLLZS = 000513 IDPB = 000136
FR.176= 000374 G FW.055= 000132 G FX.021= 000042 G HLR = 000544 IE.ABO= 177761
FR.177= 000376 G FW.056= 000134 G FX.022= 000044 G HLRE = 000574 IE.ACT= 177771
FS 013534R FW.057= 000136 G FX.023= 000046 G HLREI = 000575 IE.ADP= 177636
FSB = 000150 FW.060= 000140 G FX.024= 000050 G HLREM = 000576 IE.ALN= 177736
FSBB = 000153 FW.061= 000142 G FX.025= 000052 G HLRES = 000577 IE.AST= 177660
FSBL = 000151 FW.062= 000144 G FX.026= 000054 G HLRO = 000564 IE.BAD= 177777
FSBM = 000152 FW.063= 000146 G FX.027= 000056 G HLROI = 000565 IE.BBE= 177710
FSBR = 000154 FW.064= 000150 G FX.030= 000060 G HLROM = 000566 IE.BDI= 177714
FSBRB = 000157 FW.065= 000152 G FX.031= 000062 G HLROS = 000567 IE.BDR= 177716
FSBRI = 000155 FW.066= 000154 G FX.032= 000064 G HLRS = 000547 IE.BDV= 177711
FSBRM = 000156 FW.067= 000156 G FX.033= 000066 G HLRZ = 000554 IE.BHD= 177700
FSC = 000132 FW.070= 000160 G FX.034= 000070 G HLRZI = 000555 IE.BLK= 177754
FSL = 000011 FW.071= 000162 G FX.035= 000072 G HLRZM = 000556 IE.BNM= 177712
FSWTCH 012620R FW.072= 000164 G FX.036= 000074 G HLRZS = 000557 IE.BTF= 177675
FWDTEN= 010226R FW.073= 000166 G FX.037= 000076 G HRL = 000504 IE.BTP= 177725
FWRIT1 007562R FW.074= 000170 G GETSTS= 000062 HRLE = 000534 IE.BVR= 177701
FWRTGO 007536R FW.075= 000172 G G.TICP= 000016 HRLEI = 000535 IE.BYT= 177755
FWRTXX 007576R FW.076= 000174 G G.TICT= 000014 HRLEM = 000536 IE.CKP= 177766
FW.APE= 000116 G FW.077= 000176 G G.TIDA= 000004 HRLES = 000537 IE.CKS= 177742
FW.CA1= 000122 G FXCTCX 007726R G.TIHR= 000006 HRLI = 000505 IE.CLO= 177732
FW.CA2= 000124 G FXCTEX 007746R G.TIMI= 000010 HRLM = 000506 IE.CON= 177752
FW.CDR= 000112 G FXCTXF 007750R G.TIMO= 000002 HRLO = 000564 IE.DAA= 177770
FW.CHN= 000160 G FXCTXX 007744R G.TISC= 000012 HRLOI = 000565 IE.DAO= 177763
FW.CRD= 000126 G FXCT1 007660R G.TIYR= 000000 HRLOM = 000566 IE.DFU= 177750
FW.CR1= 000136 G FXCT2 007674R HDDAG1 020410R HRLOS = 000567 IE.DNA= 177771
FW.CR2= 000134 G FXCT3 007714R HDDAG2 020424R HRLS = 000507 IE.DNR= 177775
FW.CR3= 000132 G FXDTEN= 010202R HDDAG3 020454R HRLZ = 000514 IE.DUN= 177767
FW.CR4= 000130 G FX.BMC= 000012 G HDDEX1 020234R HRLZI = 000515 IE.DUP= 177707
FW.CSR= 000110 G FX.CMR= 000014 G HDDEX2 020220R HRLZM = 000516 IE.EBX= 177776
FW.DJE= 000146 G FX.CON= 000024 G HDDEX3 020204R HRLZS = 000517 IE.EOF= 177766
FW.DJO= 000150 G FX.CRF= 000020 G HDDLY 020170R HRR = 000540 IE.EOT= 177702
FW.DR1= 000140 G FX.CSP= 000000 G HDSTAT 020440R HRRE = 000570 IE.EOV= 177765
FW.DR2= 000142 G FX.CST= 000002 G HDTAD1 020250R HRREI = 000571 IE.EXP= 177676
FW.DR3= 000144 G FX.EBC= 000006 G HDTAD2 020264R HRREM = 000572 IE.FEX= 177717
FW.EBL= 000174 G FX.MBC= 000004 G HDT10A 020330R HRRES = 000573 IE.FHE= 177705
FW.IAC= 000154 G FX.SMR= 000016 G HDT10B 020300R HRRI = 000541 IE.FOP= 177713
FW.IOJ= 000152 G FX.SRF= 000022 G HDT10D 020360R HRRM = 000542 IE.HFU= 177744
FW.IPE= 000114 G FX.SYC= 000010 G HDT11A 020344R HRRO = 000560 IE.HWR= 177772
FW.KLO= 000156 G FX.UDR= 000032 G HDT11B 020314R HRROI = 000561 IE.IDU= 177644
FW.LAR= 000176 G FX.UIR= 000030 G HDT11D 020374R HRROM = 000562 IE.IEF= 177637
FW.LBL= 000106 G FX.000= 000000 G HIBYTE= 177400 HRROS = 000563 IE.IFC= 177776
FW.LBR= 000104 G FX.001= 000002 G HLL = 000500 HRRS = 000543 IE.IFU= 177747
FW.MBX= 000162 G FX.002= 000004 G HLLE = 000530 HRRZ = 000550 IE.ILL= 177726
FW.SBR= 000174 G FX.003= 000006 G HLLEI = 000531 HRRZI = 000551 IE.ILU= 177640
FW.040= 000100 G FX.004= 000010 G HLLEM = 000532 HRRZM = 000552 IE.INS= 177776
FW.041= 000102 G FX.005= 000012 G HLLES = 000533 HRRZS = 000553 IE.IPR= 177641
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 243-4
SYMBOL TABLE
IE.ISQ= 177703 INKLF1 002054R IO.MOD= 003000 IS.BV = 000005 KLE$$E= 000000
IE.ITI= 177643 INKLF2 002176R IO.MSO= 005000 IS.CLR= 000000 KLE$$K= 000126
IE.ITS= 177770 INKLF3 002220R IO.RAL= 001010 IS.CR = 006401 KLE$$V= 000003
IE.LCK= 177745 INPUT = 000066 IO.RAT= 013000 IS.ESC= 015401 KLFNA 016730RG
IE.LNL= 177646 INTROF= 000010 IO.RBC= 003000 IS.PND= 000000 KLGOXX 002754R
IE.MBK= 177721 INTRON= 000040 IO.RCI= 015000 IS.RDD= 000002 KLGO1 002704R
IE.MOD= 177753 INTSON= 000001 IO.RCV= 015000 IS.SET= 000002 KLGO2 002732R
IE.NBF= 177731 INT10S= 000400 IO.RDB= 001200 IS.SUC= 000001 KLHCFH 002402R
IE.NBK= 177727 INT11C= 002000 IO.RDN= 000022 JFCL = 000255 KLHLTX 002410R
IE.NFI= 177704 INT11S= 004000 IO.REL= 013400 JFFO = 000243 KLHLT1 002276R
IE.NLN= 177733 IOR = 000434 IO.RHD= 001010 JRA = 000267 KLHLT2 002316R
IE.NNC= 177674 IORB = 000437 IO.RLB= 001000 JRST = 000254 KLHLT3 002322R
IE.NOD= 177751 IORI = 000435 IO.RLV= 001100 JSA = 000266 KLHLT4 002330R
IE.NSF= 177746 IORM = 000436 IO.RNA= 005400 JSP = 000265 KLHLT5 002336R
IE.OFL= 177677 IOSTA 011504R IO.RNC= 001004 JSR = 000264 KLHLT6 002350R
IE.ONP= 177773 IOTTY 011510R IO.RNE= 001020 JUMP = 000320 KLINC 011016RG
IE.OVR= 177756 IO.ACE= 007400 IO.RTC= 003400 JUMPA = 000324 KLINCX 011026R
IE.PRI= 177760 IO.ACR= 006400 IO.RTI= 016400 JUMPE = 000322 KLIOR 010770RG
IE.RAC= 177724 IO.ACW= 007000 IO.RTK= 000060 JUMPG = 000327 KLIORW 017000R
IE.RAT= 177723 IO.ADS= 014000 IO.RVB= 010400 JUMPGE= 000325 KLIORX 010776R
IE.RBG= 177730 IO.APC= 014000 IO.RWD= 002400 JUMPL = 000321 KLIOT = 000700
IE.RCN= 177722 IO.APV= 014010 IO.RWU= 002540 JUMPLE= 000323 KLLI0 010712R
IE.RER= 177740 IO.ATT= 001400 IO.R1C= 002400 JUMPN = 000326 KLLI1 010730R
IE.RNM= 177715 IO.CCI= 014000 IO.SAO= 004000 KF.BRM= 000400 G KLLSH 011102RG
IE.RSU= 177757 IO.CCT= 002460 IO.SCS= 013000 KF.CES= 000040 G KLLSHI 010700RG
IE.SDP= 177635 IO.CLN= 003400 IO.SDI= 013000 KF.CLK= 100000 G KLLSHR 011124R
IE.SNC= 177735 IO.CON= 015400 IO.SDO= 012400 KF.CON= 000020 G KLLSHX 011134R
IE.SPC= 177772 IO.CRC= 001020 IO.SEC= 002520 KF.DEF= 000021 G KLMULI 010534RG
IE.SQC= 177734 IO.CRE= 012000 IO.SEM= 002440 KF.EMS= 040000 G KLNEG 011070RG
IE.SRE= 177762 IO.CTI= 015400 IO.SHT= 002410 KF.KLO= 000100 G KLNTYP 017530RG
IE.STK= 177706 IO.CTL= 016400 IO.SLO= 005400 KF.MRS= 010000 G KLPWRF= 000010
IE.ULN= 177773 IO.DAC= 010000 IO.SMO= 002560 KF.RUN= 020000 G KLRAT 017120RG
IE.UPN= 177777 IO.DCI= 014400 IO.SNM= 002450 KF.SIM= 004000 G KLRI0 010752R
IE.VER= 177774 IO.DCT= 002470 IO.SPB= 002420 KF.SMC= 002000 G KLRSH 011152RG
IE.WAC= 177743 IO.DEL= 012400 IO.SPF= 002440 KF.SPM= 001000 G KLRSHI 010736RG
IE.WAT= 177741 IO.DET= 002000 IO.SSO= 004400 KF.UCS= 000200 G KLRSTE 002534R
IE.WER= 177737 IO.DIS= 016000 IO.SST= 002430 KF.WRN= 000001 G KLRSTX 002540R
IE.WLK= 177764 IO.DTI= 016000 IO.STC= 002500 KLACE 017062R KLRST1 002470R
IE.2DV= 177720 IO.ENA= 006000 IO.STP= 016400 KLACR 016740RG KLRST2 002474R
IFLOP = 100000 IO.EOF= 003000 IO.SYN= 003040 KLADD 010300RG KLRST3 002510R
ILDB = 000134 IO.ESA= 002500 IO.TRM= 002410 KLADDI 010474RG KLRSXX 002542R
IMUL = 000220 IO.EXT= 011400 IO.UNL= 000042 KLADIX 010506R KLRVB 016772RG
IMULB = 000223 IO.FDX= 003020 IO.WAT= 013400 KLADJ 010362RG KLSETO 011044RG
IMULI = 000221 IO.FNA= 004400 IO.WLB= 000400 KLADJ1 010360RG KLSTN1 002646R
IMULM = 000222 IO.HDX= 003010 IO.WLS= 000410 KLAND 011002RG KLSTPX 003042R
IN = 000056 IO.HIS= 015000 IO.WLV= 000500 KLCLR 011140RG KLSTP0 002774R
INBUF = 000064 IO.INL= 002400 IO.WVB= 011000 KLCMP 011056RG KLSTP1 003010R
IND 022730R IO.ITI= 017000 IO.XMT= 014400 KLCMPR 010416RG KLSTP2 003030R
INDL = 000026 IO.KIL= 000012 IO.XNA= 014410 KLCMPX 011064R KLSTXX 002612R
INIT = 000041 IO.LED= 012000 IP.ALL= 000017 G KLCOMM 017014R KLSUB 010316RG
INITBF 017170R IO.LOV= 001010 IP.CRP= 000004 G KLCRE 017052RG KLSUBI 010514RG
INITDT 002246R IO.LTK= 000050 IP.DRP= 000002 G KLDAC 016756RG KLTST 010366RG
INITDX 002236R IO.MCS= 013400 IP.FMP= 000010 G KLDEC 011032RG KLTST1 010406R
INITER 002242R IO.MDA= 016000 IP.FSS= 000001 G KLDIVI 010654RG KLTST2 010412R
INITEX 002232R IO.MDI= 014400 IP.NRM= 000016 G KLDPB 011424RG KLTST3 010414R
INITL1 002014R IO.MDO= 015400 IQ.Q = 000002 KLENA 017100RG KLWVB 017042RG
INKLFA 002170R IO.MLO= 006000 IQ.X = 000001 KLEXT 017110RG KLXCTX 003076R
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 243-5
SYMBOL TABLE
KLXTN 010346RG OFF 012777R PI3 013211R RDCPEX 004114R RVMRL1 005422R
KLXTX 010356R ON 012775R POINT 012642R RDCPPA 004060R R.QSGC= 000015
LDB = 000135 OPEN = 000050 POP = 000262 RDCPP0 004002R R.QSPC= 000014
LDBREX 003204R OR = 000434 POPJ = 000263 RDCPP1 004032R R.QSPN= 000006
LDBRXX 003200R ORB = 000437 PRINTT 012616R RDCPP2 004042R R.QSPR= 000012
LDCPCX 003310R ORCA = 000454 PRI1 = 000001 RDCPP3 004064R R.QSTN= 000002
LDCRAX 003426R ORCAB = 000457 PRI7 = 000340 RDCPP4 004074R SAVBLK 006650R
LENGTH 017520R ORCAI = 000455 PRMFM 007336R RDCPT1 004122R SBADI 010530R
LF = 000012 ORCAM = 000456 PRMFML= 000020 RDCPT2 004166R SBRTAB 005310R
LOAD11= 000004 ORCB = 000470 PROFF 022725R RDCPT3 000000R 003 SCD = 000040
LOOKUP= 000076 ORCBB = 000473 PROLEN= 000003 RDCPXX 004116R SCRTAB 005324R
LOOP 017160R ORCBI = 000471 PRON 022722R RDCRME 004176R SETA = 000424
LSH = 000242 ORCBM = 000472 PROPNT= 000021 RDFLGX 004424R SETAB = 000427
LSHC = 000246 ORCM = 000464 PRTERR 011164RG RDFLG1 004422R SETACI 006166R
LTMSG 012674R ORCMB = 000467 PRTER0 011172R RDFMAX 004516R SETAI = 000425
LTMSGL= 000021 ORCMI = 000465 PRTER1 011206R RDFMOX 004554R SETAM = 000426
LUN1 = 000001 ORCMM = 000466 PRTER7 011214R RDIPEX 005020R SETCA = 000450
LUN2 = 000002 ORI = 000435 PRTNEA 003611R 002 RDIPE1 004764R SETCAB= 000453
MAP = 000257 ORM = 000436 PRTNER 000600R 004 RDIPE2 005002R SETCAI= 000451
MBZTAB 000602R OUT = 000057 PRTNEX 003646R 002 RDIRRX 004730R SETCAM= 000452
MOVE = 000200 OUTBUF= 000065 PRTOFF= 004000 RDIRR1 004646R SETCM = 000460
MOVEI = 000201 OUTPUT= 000067 PR0 = 000000 RDIRR2 004724R SETCMB= 000463
MOVEM = 000202 PAG = 000010 PR1 = 000040 RDIRR3 004726R SETCMI= 000461
MOVES = 000203 PARNRM 000216RG 003 PR2 = 000100 RDPITB 000014R 003 SETCMM= 000462
MOVM = 000214 PARTMP 000214R 003 PR3 = 000140 RDPITE= 000030R 003 SETEC 016072RG
MOVMI = 000215 PCC 013107R PR4 = 000200 RDPIX 005074R SETM = 000414
MOVMM = 000216 PCMSG 013052R PR5 = 000240 RDPI1 005040R SETMB = 000417
MOVMS = 000217 PCMSGL= 000054 PR6 = 000300 RDSMRE 005224R SETMI = 000415
MOVN = 000210 PCTAB 005512R PR7 = 000340 RDSMRX 005226R SETMM = 000416
MOVNI = 000211 PC.AFI= 000020 G PS = 177776 RDVMRE 005502R SETO = 000474
MOVNM = 000212 PC.AT0= 000004 G PSWW1 = 000005 RDVMRX 005476R SETOB = 000477
MOVNS = 000213 PC.AT1= 000010 G PSWW10= 000014 READP 012716R SETOI = 000475
MOVS = 000204 PC.BIS= 000400 G PSWW11= 000015 READPL= 000006 SETOM = 000476
MOVSI = 000205 PC.CY0= 004000 G PSWW12= 000016 RECORD 012614R SETPC 016304RG
MOVSM = 000206 PC.CY1= 002000 G PSWW13= 000017 REG 022756R SETPI 016442RG
MOVSS = 000207 PC.FOV= 001000 G PSWW2 = 000006 REGL = 000032 SETSTS= 000060
MPE11 = 001000 PC.FUF= 000002 G PSWW3 = 000007 REGSAV 010134RG SETZ = 000400
MRCLRX 003612R PC.LIP= 000040 G PSWW4 = 000010 REGTAB 000722R SETZB = 000403
MRCLR1 003470R PC.NDV= 000001 G PSWW5 = 000011 RELEAS= 000071 SETZI = 000401
MRCLR2 003524R PC.OVF= 010000 G PSWW6 = 000012 RENAME= 000055 SETZM = 000402
MRCLR3 003564R PC.UIO= 000100 G PSWW7 = 000013 RESETT 005654R SHFTXX 010126R
MSG2 015042R PC.USR= 000200 G PULSE = 000020 RESETX 005652R SHIFTL 010110R
MUL = 000224 PERCLR= 001000 PUSH = 000261 RESET1 005622R SHIFTR 010120R
MULB = 000227 PE.ALL= 000037 G PUSHJ = 000260 RESTDX 006040R SKIP = 000330
MULI = 000225 PE.CES= 000001 G QSIZE = 000023 RESTIX 005720R SKIPA = 000334
MULM = 000226 PE.CRM= 000004 G Q.IOAE= 000012 RESTPE 006014R SKIPE = 000332
MVNAME 016652R PE.DRM= 000002 G Q.IOEF= 000006 RESTPX 006010R SKIPG = 000337
M.KTAE= 000010 PE.FMP= 000010 G Q.IOFN= 000002 RFMAD0= 100000 SKIPGE= 000335
M.KTEF= 000002 PE.FSS= 000020 G Q.IOLU= 000004 RFMAD1= 040000 SKIPL = 000331
M.KTMG= 000004 PHYS = 100000 Q.IOPL= 000014 RFMAD2= 020000 SKIPLE= 000333
M.KTUN= 000006 PI = 000004 Q.IOPR= 000007 RFMAD3= 010000 SKIPN = 000336
NOCLK 013324R PIDENT= 000000 Q.IOSB= 000010 RGDTEN= 010240R SLASH 012771R
NOCLKL= 000046 PIMSG 013126R RAMIS0= 010000 RM = 000010 SLS = 000057
NOOP 020166R PIMSGL= 000071 RDALLE 003700R ROT = 000241 SNP 011420R
NULSTP= 000040 PI0 013140R RDALLX 003702R ROTC = 000245 SOJ = 000360
NUPE = 000002 PI1 013155R RDALL1 003644R RSTEND= 005662R SOJA = 000364
OCTTYP 020474R PI2 013173R RDAPRX 003754R RUINGL= 000043 SOJE = 000362
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 243-6
SYMBOL TABLE
SOJG = 000367 STUCEX 006434R TDNN = 000616 TRADDR 001326R TYPCR 020470R
SOJGE = 000365 ST.CED= 000100 G TDO = 000670 TRC = 000640 TYPDG1 023114R
SOJL = 000361 ST.CLE= 000001 G TDOA = 000674 TRCA = 000644 TYPDG3 023522R
SOJLE = 000363 ST.CTD= 040000 G TDOE = 000672 TRCE = 000642 TYPDTE 017610R
SOJN = 000366 ST.CTE= 010000 G TDON = 000676 TRCN = 000646 TYPDX1 021530R
SOS = 000370 ST.DW1= 002000 G TDZ = 000630 TRDATA 001334R TYPKLA 023010R
SOSA = 000374 ST.DXD= 000004 G TDZA = 000634 TRMSG 012646R TYPKLN 021700RG
SOSE = 000372 ST.EBS= 000100 G TDZE = 000632 TRMSGL= 000025 TYPLIN 017530RG
SOSG = 000377 ST.EDB= 004000 G TDZN = 000636 TRN = 000600 TYPSLS 017514RG
SOSGE = 000375 ST.EPE= 000020 G TEMADR 006154R TRNA = 000604 TYPTAB 017460RG
SOSL = 000371 ST.IDS= 000010 G TEMCHR 012774R TRNE = 000602 TY3D 016570RG
SOSLE = 000373 ST.IEN= 000040 G TENAD1= 174410 TRNN = 000606 UGETF = 000073
SOSN = 000376 ST.ION= 000001 G TENAD2= 174412 TRO = 000660 UJEN = 000100
SPACE 012773R ST.MBZ= 000000 G TENFUN 014252R TROA = 000664 UNASG1= 000032
SPC = 000040 ST.MOD= 000010 G TEXBUF 020032R TROE = 000662 UNASG2= 000033
SPC1 022620R ST.MPE= 001000 G TFRMSG 007142R TRON = 000666 UNASG3= 000034
SPC2 022624R ST.NST= 000040 G TFWMSG 007157R TRZ = 000620 UNASG4= 000035
SPC3 022641R ST.RIZ= 010000 G TFXMSG 007174R TRZA = 000624 UNASG5= 000036
SPC4 022645R ST.RST= 011121 G TLC = 000641 TRZE = 000622 UNASG6= 000037
SPC5 022662R ST.SEP= 000004 G TLCA = 000645 TRZN = 000626 USETI = 000074
SPC6 022673R ST.STE= 000002 G TLCE = 000643 TR.ALL= 000077 G USETO = 000075
STAMSG 000764R ST.TED= 000200 G TLCN = 000647 TR.DEP= 000020 G VERSC = 000075
START 014110RG ST.TER= 000002 G TLN = 000601 TR.DTE= 000040 G VERSN = 000007 G
STAT = 174434 ST.TXD= 100000 G TLNA = 000605 TR.EXM= 000010 G VMA 013062R
STATO = 000061 ST.TXE= 020000 G TLNE = 000603 TR.FRD= 000002 G VMATB 005526R
STATUS= 000022 ST.XDB= 000400 G TLNN = 000607 TR.FWR= 000004 G VMHTB 005534R
STATYP 020604R SUB = 000274 TLO = 000661 TR.FXC= 000001 G VSUB 000000R 002
STATZ = 000063 SUBB = 000277 TLOA = 000665 TSC = 000651 WEP = 000010
STA0 021502R SUBI = 000275 TLOE = 000663 TSCA = 000655 WRITE 015356R
STA1 021436R SUBM = 000276 TLON = 000667 TSCE = 000653 WRITP 012724R
STA10 021053R SWPFM 012624R TLZ = 000621 TSCN = 000657 WRITPL= 000011
STA11 021012R SWR = 177570 TLZA = 000625 TSN = 000611 WRTARX 007402R
STA12 020766R SWSLLT= 100000 TLZE = 000623 TSNA = 000615 XCT = 000256
STA13 020727R SYMA = 003561RG 002 TLZN = 000627 TSNE = 000613 XOR = 000430
STA14 020702R SYMTAB 020126R TOBM = 000004 TSNN = 000617 XORB = 000433
STA15 020642R SYNCEX 006764R TOD = 000003 TSO = 000671 XORI = 000431
STA2 021402R SYNCXX 006766R TOIP = 000002 TSOA = 000675 XORM = 000432
STA3 021353R SYNXCX 006760R TOIT = 000001 TSOE = 000673 XR = 000000
STA4 021321R TAB = 000011 TO10 = 000200 TSON = 000677 ZSTOP = 040000
STA5 021256R TABB 012770R TO10AD= 174420 TSZ = 000631 $AGAIN= 000001 G
STA6 021227R TA2MS1 022426R TO10BC= 174414 TSZA = 000635 $AUTO = 000001 G
STA7 021174R TA2MS2 022453R TO10BM= 000001 TSZE = 000633 $DISTB= 000000 G
STA8 021133R TA2MS3 022474R TO10DB= 000400 TSZN = 000637 $DIV = ****** GX
STA9 021075R TA2MS4 022534R TO10DN= 100000 TTCALL= 000051 $DSW = ****** GX
STOP 013372R TA2MS5 022574R TO10DT= 174424 TTCOMR 017352R $HLPSW= 000000 G
STOPL = 000022 TA2M1L= 000025 TO10ER= 020000 TTCOMW 017344R $LPTSW= 000001 G
STPCXX 006262R TA2M2L= 000021 TO11 = 000100 TTCOMX 017334RG $MBPSW= 000000 G
STPXCX 006256R TA2M3L= 000040 TO11AD= 174422 TTDPB 011454RG $MCRSW= 000001 G
STRCEX 006226R TA2M4L= 000040 TO11BC= 174416 TTERRO 017404R $MUL = ****** GX
STRCXX 006224R TA2M5L= 000024 TO11BM= 020000 TTEXIT 017456R $RAMSW= 000000 G
STRFEX 006310R TDC = 000650 TO11DB= 004000 TTREAD 017250RG $RSXSW= 000001 G
STRUNX 006304R TDCA = 000654 TO11DN= 000200 TTWRIT 017314RG $SCLCK= 000001 G
STUCAE 006446R TDCE = 000652 TO11DT= 174426 TTYIPT 011514R $SPRSW= 000001 G
STUCDX 006442R TDCN = 000656 TO11ER= 000002 TTYL = 000100 $TKBSW= 000001 G
STUCD1 006374R TDN = 000610 TRACE 012622R TYCRLF 017442RG $TRKSW= 000001 G
STUCD2 006420R TDNA = 000614 TRACKQ 007134R TYPAD2 022042R $TRPSW= 000000 G
STUCD3 006406R TDNE = 000612 TRACKX 007120R TYPASZ 017530RG $T04SW= 000000 G
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 243-7
SYMBOL TABLE
$$ = 000037 .DREGS= 000014 G .INIT 002000RG .OKLF 012630RG .RDVPC 005340RG
$$A = 000100 .DRLTC= 015000 .INKLF 002034RG .PCAB1= 150000 .REGRW 010230RG
$$B = 000000 .DSACF= 066000 .IRLTC= 014000 .PCAB2= 151000 .RESET 005542RG
$$C = 000200 .DSIOJ= 065000 .KLCON 002654RG .PCAB3= 152000 .RESTD 006016RG
$$D = 000011 .DTAB 001770R .KLDFR 010204RG .PCAB4= 153000 .RESTI 005664RG
$$E = 000016 .DTDI1 000046RG 003 .KLDFW 010216RG .PEWRD 000202RG 003 .RESTP 005722RG
$$F = 000000 .DTDI2 000050RG 003 .KLDFX 010172RG .PITAB 000010RG 003 .RSSWP 006046RG
$$MSG = 000000 .DTDI3 000054RG 003 .KLFLG= ****** GX .PRDTE= ****** GX .SACBK 006102RG
$$$ARG= 000014 .DTDW1 000476RG .KLGO 002662RG .PSCWD 000204RG 003 .SECLK= 003000
$$$OST= 000014 .DTDW2 000504RG .KLHLT 002260RG .RCRM1= 147000 .SETMR= 007000
$$$T1 = 000002 .DTDW3 000524RG .KLIWD= ****** GX .RCRM2= 146000 .SETRN= 011000
.ABORT 000204RG .DTERD 000532RG .KLRLD= ****** GX .RCRM3= 145000 .SHIFT 010102RG
.APRWD 000176RG 003 .DTEWR 000536RG .KLRSN 000000RG .RCRM4= 144000 .SSCLK= 002000
.BRCLK= 005000 .DTSTA 000514RG .KLRST 002412RG .RCSPF= 141000 .STCLK 006174RG
.BRMBC 000234RG .DTSTS 000052RG 003 .KLST 002546RG .RDADR 004206RG .STCL1 006204RG
.BURST 000242RG .DTSTW= 000004 G .KLSTN 002614RG .RDADX 004214RG .STFLG 000206RG 003
.CECLK= 004000 .DTTRK 000612RG .KLSTP 002760RG .RDALL 003620R .STPCL= 000000
.CESCK 000300RG .DWDW1 000422RG .KLXCT 003046RG .RDAPR 003714RG .STPXC 006230RG
.CKEDM 001734R .DWDW2 000430RG .LCRDL= 052000 .RDARR 004222RG .STPX1 006244RG
.CLDFB 010050RG .DWDW3 000450RG .LCRDR= 051000 .RDARX 004230RG .STRCL= 001000
.CLDFR 010054RG .DWSTA 000440RG .LCRM1= 057000 .RDBRR 004236RG .STRUN 006266RG
.CLDFW 010064RG .EBCLK 001006RG .LCRM2= 056000 .RDBRX 004244RG .STUCD 006314RG
.CLIPE 000332RG .EBPCK 001122RG .LCRM3= 055000 .RDCPP 003760RG .SWPAC 006452RG
.CLKWD 000200RG 003 .EBPEQ= ****** GX .LCRM4= 054000 .RDCRA 005104RG .SYNXC 006732RG
.CLRFF 000366RG .EBUSR= 000006 G .LCRM5= 053000 .RDCRL 005112RG .TCRLF 017442RG
.CLRMR= 006000 .EDTRK 001170RG .LDAR = 077000 .RDDPB 004272RG .TPSHI 010700RG
.CLRUN= 010000 .EIOJA= 067000 .LDBRC 003100RG .RDDRA 005120RG .TRACK 007044RG
.CONBT= 012000 .EPEFL= ****** GX .LDBRG 003106RG .RDEBS 004252RG .TRKWD 012630RG
.CRAMA 000056RG 003 .EPFFL= ****** GX .LDBRL= 043000 .RDFER 005126RG .TYACE 007212RG
.CRAMR 000060RG 003 .ETAB 001760R .LDBRR= 042000 .RDFLG 004300RG .TYAC1 007232RG
.CRAMW 000102RG 003 .EXADR 000136RG 003 .LDCK1= 046000 .RDFMA 004432RG .TYCHR 017502RG
.CSHRG= 164000 .EXBFR 000142RG 003 .LDCK2= 047000 .RDFMO 004522RG .TYCOL 017466RG
.C5TA 016174RG .EXCTF 001432RG .LDCLK 003206RG .RDFMP 004560RG .TYKLA 017556RG
.DFBLK 000032RG 003 .EXDPB 010242RG .LDCPC 003240RG .RDFMR 004260RG .TYKLN 017532RG
.DFRB 000040RG 003 .EXDPM 001636RG .LDCRA 003312RG .RDIPE 004734RG .TYSLS 017514RG
.DFWB 000032RG 003 .EXKLM 001544RG .LDDIS= 045000 .RDIRR 004614RG .TYSPC 017474RG
.DIAG1= 000000 G .EXTRK 001146RG .LDPAR 003224RG .RDJ14= 134000 .WRAR1 007364RG
.DIAG2= 000002 G .FMADR 000166RG 003 .LDRJD= 064000 .RDJ71= 135000 .WRMBX= 071000
.DIAG3= 000006 G .FMDAT 000170RG 003 .LDRJV= 063000 .RDMAB= 133000 .WRTAR 007356RG
.DPADR 000124RG 003 .FREAD 007412RG .LDRM1= 060000 .RDMQR 004266RG .XFRCK 007756RG
.DPBFR 000130RG 003 .FRTRK 006770RG .LDRM2= 061000 .RDPI 005022RG .XFRED 007404RG
.DPDPB 010254RG .FWRIT 007506RG .LDRM3= 062000 .RDSBR 005134RG .XFWCK 007774RG
.DPKLM 001600RG .FWTRK 007010RG .LDSEL= 044000 .RDSCR 005142RG .XFWRT 007500RG
.DPTRK 001160RG .FXCT 007606RG .LDZER 012630RG .RDSMR 005146RG .XFXCK 010012RG
.DRAMA 000150R 003 .FXTRK 007030RG .MEMRS= 076000 .RDVAB 005346RG .XFXCT 007600RG
.DRAMR 000152R 003 .GFNR = 102000 .MRCLR 003432RG .RDVMA 005354RG ..DECN= ****** GX
.DRAMW 000160RG 003 .INEXT 002254R .MTDPB 010266R .RDVMH 005362RG ...GBL= 000000
.DREG 000046RG 003 .INICL= 070000 .NOERR= ****** GX .RDVMR 005366RG ...KLI 011354R
. ABS. 000000 000
023616 001
SYMTAA 003652 002
TABLES 000220 003
SYMTBS 000606 004
ERRORS DETECTED: 0
VIRTUAL MEMORY USED: 17036 WORDS ( 67 PAGES)
DYNAMIC MEMORY: 18508 WORDS ( 71 PAGES)
KLERR - KL10 SYSTEM ERROR RECOR MACRO M1110 26-JUL-79 09:22 PAGE 243-8
SYMBOL TABLE
ELAPSED TIME: 00:13:13
[57,10]KLERR,[57,20]KLERR/-SP/CR=[57,30]SWITCH,KLESUB,COMSUB,KLNUM,KLPERR,KLERR
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 1
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
ABORTX 000230 R 47-1133 47-1138 #47-1140
ABORT1 000214 R #47-1134
ABTAB 005520 R 141-4230 #142-4284
ACADR 006656 RG *156-4839 *156-4840 156-4863 #156-4865
ACDAT 006160 R *150-4564 150-4575 #150-4578
ADD = 000270 #5-113
ADDB = 000273 #5-114
ADDI = 000271 #5-115
ADDM = 000272 #5-116
ADH = 000000 #150-4582 150-4582 150-4582
ADL = 000100 #150-4582 150-4582 150-4582 #150-4582 150-4582 150-4582 #150-4582 150-4582 150-4582
#150-4582 150-4582 150-4582
ADRTMP 007332 R *160-5042 *160-5043 160-5044 #160-5054
ADSBI 010512 R 214-182 #214-189
ALUNSY 011402 R #232-150 234-313
ALUNTT 011372 R #232-146 234-312
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
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 2
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
AP.ARP = 001000 G #37-707 37-711 111-3246
AP.CDP = 000004 G #30-429 30-434
AP.EIP = 000400 G #37-709 37-711 50-1267 111-3254
AP.IPF = 000020 G #30-431 30-434
AP.MPE = 000010 G #30-430 30-434
AP.NRM = 001400 G #37-711 186-5883
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 011340 R 232-136 #232-138
A.LULU = 000002 #232-146 #232-150
A.LUNA = 000004 #232-146 #232-150
A.LUNU = 000006 #232-146 #232-150
BCCTER 000270 R 48-1178 #48-1184
BIT0 = 000001 #3-68 30-390 #231-79 234-556
BIT00 = 000001 #30-390 31-462 32-488 32-508 33-545 33-546 34-566 34-571 34-593
112-3263 126-3763 134-3990 175-5567
BIT01 = 000002 #30-391 31-465 32-484 32-506 33-543 33-544 34-572 34-592 112-3262
BIT02 = 000004 #30-392 31-457 32-483 32-505 32-510 33-541 33-542 34-573 34-591
59-1542 112-3261
BIT03 = 000010 #30-393 31-456 32-482 32-502 33-538 33-540 34-574 34-590 101-2906
112-3260
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
134-3987
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 #231-79 234-559
BIT10 = 002000 #3-68 31-443 31-446 32-488 32-510 33-525 34-559 34-583 #231-79
BIT11 = 004000 #3-68 31-442 31-445 32-488 32-510 33-523 34-558 34-582 #231-79
BIT12 = 010000 #3-68 31-441 32-488 32-510 33-521 33-522 34-557 34-581 #231-79
BIT13 = 020000 #3-68 31-440 32-473 32-488 32-510 33-519 34-556 #231-79
BIT14 = 040000 #3-68 31-439 32-470 32-471 32-488 32-493 32-510 33-518 34-555
#231-79
BIT15 = 100000 #3-68 31-438 32-469 32-488 32-492 32-510 33-516 34-554 136-4064
#231-79 235-798 236-858
BIT2 = 000004 #3-68 30-392 #231-79 234-562
BIT3 = 000010 #3-68 30-393 #231-79 234-565
BIT4 = 000020 #3-68 30-394 #231-79 234-569
BIT5 = 000040 #3-68 30-395 #231-79
BIT6 = 000100 #3-68 30-396 #231-79
BIT7 = 000200 #3-68 30-397 #231-79 234-704 234-714 234-718 234-722
BIT8 = 000400 #3-68 30-398 #231-79 234-714 234-718 234-722
BIT9 = 001000 #3-68 30-399 #231-79
BLKI = 000000 #16-650
BLKO = 000002 #16-652
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 3
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
BLT = 000251 #5-159
BNRASC 016426 R 234-674 234-674 234-687 234-687 #234-692 234-743 234-743
BPARER = 000020 #3-68 #231-79
BRSTXX 000276 R 48-1175 48-1180 48-1183 #48-1187
BUFFER 011614 R #232-174 232-175 234-511 234-523 235-804 236-885 237-949
BUFLEN = 000024 #183-5815
BUFSIZ = 001000 #232-175 234-536 235-805 236-886
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 #231-79
CD.CLC = 000400 G #36-684 111-3250
CD.CRC = 002000 G #36-682 111-3235
CD.DPC = 001000 G #36-683 111-3242
CD.NRM = 000000 G #36-685 186-5874
CESCKX 000330 R 49-1224 49-1226 #49-1231
CF.CTC = 000100 G #3-71
CF.HTO = 000001 G #3-72 71-1971 149-4508 152-4642 182-5786
CF.LOD = 000004 G #3-75
CF.TID = 000002 G #3-73
CF.TOD = 000003 G #3-74
CHNPNT = 000001 #3-68 #231-79
CKEDME 001750 R 68-1859 #68-1862
CKEDMX 001756 R 68-1861 #68-1865
CKMSG 012632 R #233-194 233-197 236-900
CKMSGL = 000014 #233-197 236-901
CKPNT 017214 R 234-349 234-349 234-393 234-393 234-412 234-412 234-425 234-425 234-436
234-436 234-443 234-443 234-457 234-457 234-475 234-475 234-488 234-488
234-502 234-502 234-553 234-553 234-612 234-612 234-669 234-669 234-700
234-700 #236-897
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 146-4405 #186-5873
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 4
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
CLOSE = 000070 #6-188
CLRDPB 017130 R 234-413 234-413 234-444 234-444 234-489 234-489 234-508 234-508 234-748
234-748 235-800 235-800 #236-869
CLRFEX 000416 R 51-1299 #51-1302
CLRFFX 000412 R #51-1300
CLRFNB 017202 R 234-749 234-749 #236-891
CLRFXX 000420 R #51-1304
CLRGO 010072 R 176-5588 #176-5592
CLRTTY 017150 R 234-359 234-359 234-522 234-522 #236-877 237-930 237-930
CLRXXX 010076 R #176-5594
CNUPE = 000002 #3-68 #231-79
COLON 012772 R #233-216 237-962
COMMON 016064 R 234-575 234-575 234-579 234-582 234-585 234-602 #234-606
CONI = 000005 #16-655
CONO = 000004 #16-654
CONSO = 000007 #16-657
CONSZ = 000006 #16-656
CONVRT 020540 R 238-1123 238-1123 #238-1147 238-1156 240-1278 240-1278 240-1290 240-1290 241-1379
241-1379 241-1424 241-1424
COUNT 020572 R #238-1173 239-1201 239-1201 241-1328 241-1328 242-1463 242-1463
CPTMP 000212 R 50-1265 145-4361 147-4426 *147-4427 *147-4430 #186-5876
CR = 000015 #231-84 233-196 233-199 233-202 233-211 233-222 233-225 233-232 233-243
233-253 233-256 233-259 233-262 233-272 233-275 233-281 233-284 233-287
233-290 233-293 233-296
CRAM 013432 R #233-262 233-263 234-583
CRAML = 000015 #233-263 234-584
CRATAB 005230 R 137-4101 #139-4147
CRESW 012626 R #232-181 *234-441 234-505
CRLF 012765 R #233-211 237-956
CRLTAB 005244 R 137-4104 #139-4155
CR.CR1 = 000001 G #36-669 111-3248
CR.CR2 = 000002 G #36-670 111-3240
CR.FUL = 000000 G #36-671
CR.HLF = 000001 G #36-672
CR.NRM = 000000 G #36-668 186-5874
CR.QTR = 000002 G #36-673
CR.SLO = 000003 G #36-674
CS.CS1 = 000004 G #36-661 111-3233
CS.CS2 = 000010 G #36-662 111-3227
CS.EXP = 177670 #3-68 #231-79
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 186-5874
CS.UDF = 000014 G #36-666
CVTC 016230 R 234-637 234-637 234-639 234-639 234-641 234-641 #234-650
CYCLS = 000002 #3-68 #231-79
DATAI = 000001 #16-651
DATAO = 000003 #16-653 150-4582 150-4582
DATE = 000004 #3-68 #231-79
DCOMST = 000001 #3-68 #231-79
DEP = 010000 #3-68 #231-79
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 5
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
DEPBLK 006150 R 150-4565 #150-4574
DEPOS 022704 R 241-1338 #241-1401
DEX = 000400 #3-68 #231-79
DEXDON = 000004 #3-68 #231-79
DEXLEN = 000007 241-1339 #241-1403
DEXWD1 = 174406 #3-68 #231-79
DEXWD2 = 174404 #3-68 #231-79
DEXWD3 = 174402 #3-68 #231-79
DFAD = 000110 #6-190
DFBEND = 000176 R 69-1925 #184-5856
DFDV = 000113 #6-191
DFMP = 000112 #6-192
DFN = 000131 #6-193
DFSB = 000111 #6-194
DFUNC = 000200 #3-68 #231-79
DF.DMG = 000004 #3-68 #231-79
DF.DMN = 000007 #3-68 #231-79
DF.DOR = 000001 #3-68 #231-79
DF.EHG = 000010 #3-68 #231-79
DF.EHM = 000011 #3-68 #231-79
DF.EMG = 000005 #3-68 #231-79
DF.EMN = 000006 #3-68 #231-79
DF.KLR = 000012 #3-68 179-5684 #231-79
DF.KLW = 000013 #3-68 180-5702 #231-79
DF.KLX = 000014 #3-68 179-5666 #231-79
DF.OFF = 000002 #3-68 #231-79
DF.ON = 000003 #3-68 #231-79
DF.PDP = 000016 #3-68 181-5765 #231-79
DF.PEX = 000015 #3-68 181-5743 #231-79
DG1B10 023221 R #242-1472
DG1B11 023166 R 242-1460 #242-1471
DG1B5 023456 R #242-1477
DG1B6 023411 R #242-1476
DG1B7 023344 R #242-1475
DG1B8 023276 R #242-1474
DG1B9 023247 R #242-1473
DG3B1 023560 R 243-1499 #243-1505 243-1506
DIAG1 = 174430 #3-68 #231-79
DIAG2 = 174432 #3-68 #231-79
DIAG3 = 174436 #3-68 #231-79
DIKL10 = 000010 #3-68 #231-79
DIRFNB 011234 RG #232-108 234-414 234-427 234-428 234-429 234-461 234-462 234-463
DIV = 000234 #6-196
DIVB = 000237 #6-197
DIVI = 000235 #6-198
DIVM = 000236 #6-199
DLYCNT = 174400 #3-68 #231-79
DMOVE = 000120 #6-201
DMOVEM = 000124 #6-202
DMOVN = 000121 #6-203
DMOVNM = 000125 #6-204
DOACE 015172 RG 234-432 234-466 #234-474
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 6
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
DOCRE 014776 RG 234-434 #234-441
DODIR 014676 RG 234-416 #234-424
DOENA 015062 RG 234-448 #234-456
DOEXT 015244 RG #234-487 234-519
DOMAS 014624 RG 234-390 #234-411
DON10C = 040000 #3-68 #231-79
DON10S = 100000 #3-68 #231-79
DON11C = 000100 #3-68 #231-79
DON11S = 000200 #3-68 #231-79
DOWRT 015322 RG 234-479 #234-501
DPB = 000137 #6-206
DPDTEN = 010264 R *71-1976 #181-5769
DPKLM1 001614 R 66-1816 #66-1818
DPS4 = 040000 #3-68 #231-79
DPTMSG 001415 R 61-1623 #63-1685
DRAM 013414 R #233-259 233-260 234-580
DRAML = 000015 #233-260 234-581
DRATAB 005260 R 137-4107 #139-4163
DRDMSG 000776 R 56-1456 #57-1483
DRESET = 000100 #3-68 #231-79
DR.DTE = 000011 #3-68 179-5666 179-5684 180-5702 #231-79
DSEND = 000004 #3-68 #231-79
DS04 = 004000 #3-68 #231-79
DS05 = 002000 #3-68 #231-79
DS06 = 001000 #3-68 #231-79
DTEBUF 017772 R 238-1018 #238-1045 238-1122 239-1197 240-1246 240-1247 240-1248 240-1250 241-1318
241-1337 241-1361 241-1363 242-1455 243-1496
DTECMD = 000451 #3-68 #231-79
DTEFLG = 000444 #3-68 #231-79
DTEF11 = 000450 #3-68 #231-79
DTEMTD = 000455 #3-68 #231-79
DTEMTI = 000456 #3-68 #231-79
DTERDX 000600 R 54-1392 54-1394 #54-1397
DTEREG 020066 R 238-1023 #238-1048
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 #231-79
DURE = 000004 #3-68 #231-79
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 #231-79
DX1MS1 021616 R 240-1243 #240-1259 240-1260
DX1MS2 021637 R 240-1254 #240-1261 240-1262
DX1M1L = 000021 240-1244 #240-1260
DX1M2L = 000040 240-1255 #240-1262
D1.CES = 004000 G #31-445 49-1225
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 7
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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 64-1735 64-1742 72-2013 74-2081 75-2114 87-2410 155-4752 234-323
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 71-2003
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 #231-79
D2RST 006042 R 148-4448 #148-4459
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
D2.RA0 = 100000 G #32-469
D2.RA1 = 040000 G #32-470
D2.RA2 = 020000 G #32-473
D2.RST = 000100 G #32-477 148-4460
D3B1L = 000036 243-1500 #243-1506
D3RST 006044 R 148-4454 #148-4463
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 148-4464
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 #231-79
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 8
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
EBUSPC = 000020 #3-68 #231-79
EBUSPS = 000004 #3-68 #231-79
EDEPT 001354 R 63-1668 #63-1673
EDEXV 001360 R 63-1669 #63-1675
EDKLMX 001630 R 66-1809 66-1811 66-1813 #66-1822
EDKLMY 001732 R 67-1832 67-1839 67-1845 #67-1852
EDONES = 040000 #3-68 #231-79
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 150-4566
ED.PHY = 000200 G #30-414 68-1860 71-1990 71-1993 156-4843 181-5743 181-5765
ED.UPT = 000100 G #30-412
ED.USV = 000140 G #30-413
EFN1 = 000011 #231-92 232-166 237-943
EFN2 = 000012 #231-93 232-161
ENTER = 000077 #7-209
EPTR = 000000 #3-68 #231-79
EQV = 000444 #7-211
EQVB = 000447 #7-212
EQVI = 000445 #7-213
EQVM = 000446 #7-214
ERCODE 013220 R #233-246 233-248 234-395 234-613 234-618
ERCODL = 000104 #233-248 234-614 234-629
EREXIT 014566 R 234-355 234-355 234-358 234-358 234-363 234-363 234-369 234-369 234-374
234-374 234-378 234-378 #234-392 234-514 234-514
ERMG1 013546 R #233-281 233-282 234-417
ERMG1L = 000033 #233-282 234-418
ERMG2 013602 R #233-284 233-285 234-449
ERMG2L = 000042 #233-285 234-450
ERMG3 013644 R #233-287 233-288 234-467
ERMG3L = 000054 #233-288 234-468
ERMG4 013720 R #233-290 233-291 234-480
ERMG4L = 000061 #233-291 234-481
ERMG5 014002 R #233-293 233-294 234-494
ERMG5L = 000043 #233-294 234-495
ERMG6 014046 R #233-296 233-297 234-539
ERMG6L = 000042 #233-297 234-540
ERRTBL 000000 RG #228-51 229-177
ERR10C = 010000 #3-68 #231-79
ERR10S = 020000 #3-68 #231-79
ERR11C = 000001 #3-68 #231-79
ERR11S = 000002 #3-68 #231-79
ER$BAE = 000270 R #48-1185
ER$CAE = 004176 R #116-3417
ER$CCC = 006256 R #152-4649
ER$CCR = 000412 R #51-1301
ER$CCS = 006220 R #151-4614
ER$CES = 000314 R #49-1227
ER$CFH = 003034 R #75-2118 #87-2416
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 9
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
ER$CSC = 006760 R #157-4905
ER$CSR = 006304 R #153-4681
ER$DNP = 002236 R #72-2021
ER$DSF = 000574 R #54-1396
ER$DTC = 002246 R #72-2027
ER$ECT = 001104 R #59-1554
ER$EPE = 001136 R #60-1589
ER$FRF = 007472 R #168-5370
ER$FWF = 007572 R #170-5435
ER$FXF = 007750 R #173-5522
ER$IFC = 010032 R #175-5571
ER$IPE = 005502 R #142-4274
ER$MAE = 001750 R #68-1863
ER$OFC = 010040 R #175-5574
ER$UNL = 006424 R #155-4758
ER$XTO = 001530 R #64-1745
EVTYP 017530 RG 56-1455 56-1455 #237-973
EXAM 022713 R 241-1342 #241-1402 241-1403
EXBLK 006652 R 156-4842 #156-4863
EXCH = 000250 #7-216
EXDAT 006662 RG 156-4864 #156-4867
EXDPM1 001710 R 67-1841 #67-1843
EXDPM2 001730 R 67-1848 #67-1850
EXDTEN = 010252 R *71-1975 #181-5747
EXIT 017576 RG 234-420 234-452 234-470 234-483 234-497 234-548 237-952 237-954 #237-991
EXIT1 017602 R 234-391 #237-992
EXTMSG 001400 R 61-1619 #63-1683
EX.AC1 = 000001 #231-98
EX.AC2 = 000002 #231-99
EX.ADF = 000010 #231-102
EX.ENA = 000200 #231-103 234-490
EX.FCO = 000004 #231-101
FAD = 000140 #7-218
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 005274 R 137-4110 #139-4171
FILACB 011324 R #232-131 234-446
FILFID 011320 R #232-127 234-445 234-459 234-460
FILFNB 011266 R #232-122 232-123 *234-427 *234-428 *234-429 234-430 *234-459 *234-460 *234-461
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 10
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
*234-462 *234-463 234-464 234-476 *234-751 *234-754 *234-757 *234-758 *234-759
236-891
FILNAM 011412 R 232-133 #232-153 234-750
FIX = 000122 #7-238
FIXR = 000126 #7-239
FLTR = 000127 #7-241
FM 013450 R #233-265 233-273 234-600
FMA 013503 R #233-269 234-587
FMB 013471 R #233-267 234-591
FMD 013515 R #233-271 234-598
FMHED 006670 R 156-4821 #156-4871 156-4872
FMHEDL = 000042 156-4822 #156-4872
FML = 000064 #233-273 234-601
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 #232-123 236-892
FNCIFC 010032 R 175-5550 175-5552 175-5557 175-5559 175-5564 #175-5570
FNCOCX 010044 R 175-5572 #175-5575
FNCODD 010020 R 175-5553 175-5560 #175-5565
FNCOFC 010040 R 175-5568 #175-5573
FNHALT 015604 R 234-381 234-381 #234-552
FORPRO = 000020 #3-68 #231-79
FRDERR 007472 R 168-5352 #168-5369
FRDTEN = 010214 R *71-1977 #179-5685
FRDXXX 007476 R 168-5348 168-5365 168-5368 #168-5371
FREAD1 007450 R 168-5355 #168-5361
FREAD2 007466 R 168-5363 #168-5366
FR.ADX = 000254 G #39-796 119-3496
FR.APR = 000220 G #39-774 108-3131
FR.ARX = 000252 G #39-794 119-3502
FR.BRX = 000250 G #39-792 119-3508
FR.CA1 = 000312 G #40-826 40-827 139-4148
FR.CA2 = 000310 G #40-823 40-824 139-4151
FR.CL1 = 000316 G #40-833 139-4156
FR.CL2 = 000314 G #40-830 139-4159
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 139-4164
FR.DA2 = 000262 G #39-805 139-4167
FR.EBS = 000356 G #41-860 119-3511
FR.FE1 = 000266 G #39-809 139-4172
FR.FE2 = 000264 G #39-807 139-4175
FR.PI0 = 000200 #39-763 136-4062
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 11
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FR.PI1 = 000202 #39-765 136-4065
FR.RAD = 000256 G #39-798 119-3493
FR.RAR = 000240 G #39-784 119-3499
FR.RBR = 000242 G #39-786 119-3505
FR.RFM = 000246 G #39-790 119-3514
FR.RMQ = 000244 G #39-788 119-3517
FR.SC1 = 000262 G #39-804 139-4188
FR.SC2 = 000260 G #39-801 139-4191
FR.SR1 = 000306 G #40-821 139-4180
FR.SR2 = 000304 G #40-819 139-4183
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 107-3076 126-3752 175-5549 179-5684
FR.101 = 000202 G #39-764 39-765 126-3744
FR.102 = 000204 G #39-766 134-3986
FR.103 = 000206 G #39-767
FR.104 = 000210 G #39-768 59-1539 111-3223
FR.105 = 000212 G #39-769 111-3224
FR.106 = 000214 G #39-770 111-3225
FR.107 = 000216 G #39-771 111-3226
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 128-3804 130-3890
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
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 126-3760 132-3937
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
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 12
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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 142-4281 142-4285
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 142-4289 142-4293
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 101-2903
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 175-5551
FS 013534 R #233-275 233-276 234-603
FSB = 000150 #7-253
FSBB = 000153 #7-254
FSBL = 000151 #7-255
FSBM = 000152 #7-256
FSBR = 000154 #8-259
FSBRB = 000157 #8-260
FSBRI = 000155 #8-261
FSBRM = 000156 #8-262
FSC = 000132 #8-264
FSL = 000011 #233-276 234-604
FSWTCH 012620 R #232-178 234-388 *234-554 *234-605
FWDTEN = 010226 R *71-1978 #180-5703
FWRIT1 007562 R 170-5429 #170-5432
FWRTGO 007536 R 170-5419 #170-5426
FWRTXX 007576 R 170-5414 170-5431 170-5434 #170-5436
FW.APE = 000116 G #37-701
FW.CA1 = 000122 G #37-715 94-2657 145-4389
FW.CA2 = 000124 G #37-717 94-2649 145-4388
FW.CDR = 000112 G #36-677
FW.CHN = 000160 G #38-747 101-2897
FW.CRD = 000126 G #37-719
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 13
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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 92-2576
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 145-4391
FW.IAC = 000154 G #38-742
FW.IOJ = 000152 G #38-740
FW.IPE = 000114 G #37-688 92-2581
FW.KLO = 000156 G #38-744 145-4390
FW.LAR = 000176 G #38-758 82-2296 88-2460 166-5304 175-5558
FW.LBL = 000106 G #36-653 90-2512 145-4387
FW.LBR = 000104 G #36-651 90-2502 145-4386
FW.MBX = 000162 G #38-749 145-4394
FW.SBR = 000174 G #38-756
FW.040 = 000100 G #36-648 175-5556 180-5702
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
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
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 14
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FXCTCX 007726 R 172-5489 172-5491 172-5494 172-5496 172-5502 172-5505 #173-5512
FXCTEX 007746 R 172-5477 #173-5519
FXCTXF 007750 R 172-5482 #173-5521
FXCTXX 007744 R 173-5515 #173-5517 173-5523
FXCT1 007660 R 172-5485 #172-5492
FXCT2 007674 R 172-5487 #172-5497
FXCT3 007714 R 172-5500 #172-5503
FXDTEN = 010202 R *71-1979 #179-5667
FX.BMC = 000012 G #35-608 48-1181
FX.CMR = 000014 G #35-610 101-2915
FX.CON = 000024 G #35-619 77-2167 84-2355 88-2463
FX.CRF = 000020 G #35-615 51-1297 172-5504
FX.CSP = 000000 G #35-598
FX.CST = 000002 G #35-600 151-4611 172-5484
FX.EBC = 000006 G #35-604
FX.MBC = 000004 G #35-602 59-1536 101-2908
FX.SMR = 000016 G #35-612 100-2880 172-5486
FX.SRF = 000022 G #35-617 153-4677 172-5499
FX.SYC = 000010 G #35-606 157-4899
FX.UDR = 000032 G #35-624
FX.UIR = 000030 G #35-622
FX.000 = 000000 G #35-597 35-598 179-5666
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
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
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 15
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FX.037 = 000076 G #35-644 175-5563
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
HDDAG1 020410 R 238-1061 #238-1098
HDDAG2 020424 R 238-1062 #238-1099
HDDAG3 020454 R 238-1064 #238-1101
HDDEX1 020234 R 238-1052 #238-1089
HDDEX2 020220 R 238-1051 #238-1088
HDDEX3 020204 R 238-1050 #238-1087
HDDLY 020170 R 238-1049 #238-1086
HDSTAT 020440 R 238-1063 #238-1100
HDTAD1 020250 R 238-1053 #238-1090
HDTAD2 020264 R 238-1054 #238-1091
HDT10A 020330 R 238-1057 #238-1094
HDT10B 020300 R 238-1055 #238-1092
HDT10D 020360 R 238-1059 #238-1096
HDT11A 020344 R 238-1058 #238-1095
HDT11B 020314 R 238-1056 #238-1093
HDT11D 020374 R 238-1060 #238-1097
HIBYTE = 177400 #3-68 #231-79
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
HLROS = 000567 #8-299
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 16
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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 013002 R #233-222 233-223 234-325
HTMG1L = 000021 #233-223 234-326
HTMG2 013024 R #233-225 233-226 234-328
HTMG2L = 000025 #233-226 234-329
I = 000000 #150-4582 150-4582
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 67-1840
IE.EOF = 177766 234-517
IE.NSF = 177746 234-433
IFLOP = 100000 #3-68 #231-79
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 17
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
IND 022730 R 241-1366 #241-1407 241-1408
INDL = 000026 241-1367 #241-1408
INIT = 000041 #10-372
INITBF 017170 R 234-510 234-510 #236-885
INITDT 002246 R 72-2014 #72-2026
INITDX 002236 R 71-1984 #72-2020
INITER 002242 R #72-2022 72-2028
INITEX 002232 R 71-1982 71-1986 71-2002 71-2006 #72-2016 72-2024
INITL1 002014 R #69-1923 69-1926
INKLFA 002170 R 71-1995 #71-1997
INKLF1 002054 R 69-1928 #71-1974
INKLF2 002176 R #71-2000 71-2005
INKLF3 002220 R 71-2004 #72-2012
INPUT = 000066 #10-373
INTROF = 000010 #3-68 #231-79
INTRON = 000040 #3-68 #231-79
INTSON = 000001 #3-68 #231-79
INT10S = 000400 #3-68 #231-79
INT11C = 002000 #3-68 #231-79
INT11S = 004000 #3-68 #231-79
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 011504 R 232-161 #232-170 234-433 234-517 235-808
IOTTY 011510 R 232-166 #232-171 237-947 237-951 237-953
IO.ACE = 007400 236-857
IO.ACR = 006400 235-797
IO.CRE = 012000 236-855
IO.DAC = 010000 235-801
IO.ENA = 006000 236-860
IO.EXT = 011400 236-862
IO.FNA = 004400 235-795
IO.RAT = 013000 236-864
IO.RLB = 001000 237-931
IO.RVB = 010400 235-803
IO.WLB = 000400 232-166 237-940 237-944
IO.WVB = 011000 232-161 236-853
IP.ALL = 000017 G #37-698
IP.CRP = 000004 G #37-694 37-697 111-3237
IP.DRP = 000002 G #37-695 37-697 111-3244
IP.FMP = 000010 G #37-693 37-697 111-3230
IP.FSS = 000001 G #37-696 37-698 111-3252
IP.NRM = 000016 G #37-697 37-698 186-5883
JFCL = 000255 #10-380 132-3929
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 18
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
JFFO = 000243 #10-382
JRA = 000267 #10-384
JRST = 000254 #10-386 132-3927
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 77-2159
KF.CES = 000040 G #34-564
KF.CLK = 100000 G #34-554 49-1229 71-1988 71-1996 77-2163 77-2181 77-2183 84-2358 84-2366
87-2399 172-5483
KF.CON = 000020 G #34-565 34-567 49-1229 84-2369 101-2918
KF.DEF = 000021 G #34-567 69-1927
KF.EMS = 040000 G #34-555 157-4902
KF.KLO = 000100 G #34-563
KF.MRS = 010000 G #34-557 100-2883 101-2918
KF.RUN = 020000 G #34-556 71-1988 72-2015 77-2163 77-2176 84-2366 172-5498
KF.SIM = 004000 G #34-558 77-2159 84-2350
KF.SMC = 002000 G #34-559
KF.SPM = 001000 G #34-560 77-2159 84-2348
KF.UCS = 000200 G #34-562 155-4735 155-4762
KF.WRN = 000001 G #34-566 34-567
KLACE 017062 R 234-478 234-478 #236-857
KLACR 016740 RG #235-797
KLADD 010300 RG #210-82 211-108 211-108
KLADDI 010474 RG #214-180 214-205
KLADIX 010506 R #214-186 214-201
KLADJ 010362 RG #212-128 213-150 213-150 214-187 220-363 221-406 223-471
KLADJ1 010360 RG 210-88 #212-126 219-332
KLAND 011002 RG #219-334
KLCLR 011140 RG 141-4248 141-4248 176-5593 176-5593 220-383 220-383 #223-467
KLCMP 011056 RG 219-338 219-338 220-384 220-384 #221-389 221-419 221-419
KLCMPR 010416 RG #213-148
KLCMPX 011064 R #221-405
KLCOMM 017014 R 235-796 235-799 235-802 #235-806 236-856 236-859 236-861 236-863 236-865
KLCRE 017052 RG 234-447 234-447 #236-855
KLDAC 016756 RG #235-800 237-991 237-991
KLDEC 011032 RG #220-370
KLDIVI 010654 RG #216-243
KLDPB 011424 RG #232-161 *234-414 *234-430 *234-445 *234-446 *234-464 *234-476 *234-477 *234-490
*234-491 *234-509 *235-795 *235-797 *235-798 *235-801 *235-803 *235-804 *235-805
235-806 *236-853 *236-855 *236-857 *236-858 *236-860 *236-862 *236-864 236-869
KLENA 017100 RG 234-465 234-465 #236-860
KLEXT 017110 RG 234-492 234-492 #236-862
KLE$$E = 000000 #1-33 233-210
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 19
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
KLE$$K = 000126 #1-37 233-210
KLE$$V = 000003 #1-32 233-210
KLFNA 016730 RG 234-415 234-415 234-431 234-431 #235-795
KLGOXX 002754 R 82-2294 82-2298 84-2349 84-2353 84-2357 84-2359 84-2361 84-2368 #84-2370
KLGO1 002704 R 84-2351 #84-2354
KLGO2 002732 R #84-2362
KLHCFH 002402 R #75-2117
KLHLTX 002410 R 74-2076 74-2080 74-2089 74-2093 75-2106 75-2111 75-2113 #75-2120
KLHLT1 002276 R #74-2078 74-2083
KLHLT2 002316 R 74-2082 #74-2084
KLHLT3 002322 R #74-2087 75-2115
KLHLT4 002330 R #74-2090
KLHLT5 002336 R 74-2086 #75-2104
KLHLT6 002350 R #75-2108 75-2116
KLINC 011016 RG #220-358 221-420 221-420
KLINCX 011026 R #220-362 220-374
KLIOR 010770 RG #219-313
KLIORW 017000 R #235-804 236-854
KLIORX 010776 R #219-331 219-342
KLIOT = 000700 #10-403 132-3931
KLLI0 010712 R 217-274 #217-278 217-284 217-299
KLLI1 010730 R 217-279 #217-285 217-296 217-307
KLLSH 011102 RG #222-438 224-482 224-482
KLLSHI 010700 RG 94-2647 94-2647 94-2655 94-2655 108-3135 108-3135 126-3748 126-3748 126-3756
126-3756 128-3808 128-3808 128-3813 128-3813 132-3942 132-3942 136-4046 136-4046
138-4129 138-4129 138-4136 138-4136 142-4262 142-4262 216-247 216-247 #217-270
222-443 222-443 234-685 234-685 234-690 234-690
KLLSHR 011124 R 222-441 #222-446
KLLSHX 011134 R 222-444 #222-450
KLMULI 010534 RG #215-215
KLNEG 011070 RG 211-106 211-106 211-110 211-110 #221-408
KLNTYP 017530 RG 62-1646 62-1646 62-1651 62-1651 159-4970 159-4970 #237-976
KLPWRF = 000010 #3-68 #231-79
KLRAT 017120 RG #236-864
KLRI0 010752 R 217-276 217-297 #217-301 217-306
KLRSH 011152 RG #224-480
KLRSHI 010736 RG #217-293 222-449 222-449
KLRSTE 002534 R 77-2166 77-2169 77-2179 #77-2187
KLRSTX 002540 R 77-2182 77-2184 77-2186 #77-2190
KLRST1 002470 R 77-2164 #77-2172
KLRST2 002474 R 77-2160 #77-2175
KLRST3 002510 R 77-2171 77-2177 #77-2180
KLRSXX 002542 R 77-2189 #77-2192
KLRVB 016772 RG #235-803
KLSETO 011044 RG #220-382
KLSTN1 002646 R 80-2248 #82-2299
KLSTPX 003042 R 87-2406 87-2409 87-2415 #87-2418
KLSTP0 002774 R 87-2400 #87-2402
KLSTP1 003010 R #87-2407 87-2412
KLSTP2 003030 R 87-2411 #87-2413
KLSTXX 002612 R 80-2239 80-2243 80-2246 #80-2249
KLSUB 010316 RG #211-92 213-151 213-151
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 20
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
KLSUBI 010514 RG #214-195
KLTST 010366 RG #212-132 213-152 213-152
KLTST1 010406 R #212-139
KLTST2 010412 R 212-134 212-136 212-138 #212-143
KLTST3 010414 R 212-141 #212-145
KLWVB 017042 RG 234-515 234-515 #236-853
KLXCTX 003076 R 88-2459 88-2462 #88-2465
KLXTN 010346 RG #212-117 212-130 215-238 217-287
KLXTX 010356 R #212-123
LDB = 000135 #11-406
LDBREX 003204 R 90-2495 #90-2517
LDBRXX 003200 R 90-2505 #90-2514
LDCPCX 003310 R 92-2590 92-2596 #92-2599
LDCRAX 003426 R 94-2640 94-2644 94-2651 #94-2659
LENGTH 017520 R 237-961 237-963 237-965 237-968 #237-971
LF = 000012 #231-85 233-196 233-199 233-202 233-211 233-222 233-225 233-232 233-243
233-253 233-256 233-259 233-262 233-272 233-275 233-281 233-284 233-287
233-290 233-293 233-296
LOAD11 = 000004 #3-68 #231-79
LOOKUP = 000076 #11-408
LOOP 017160 R #236-879 236-880 236-887 236-893
LSH = 000242 #11-410
LSHC = 000246 #11-411
LTMSG 012674 R #233-202 233-203 234-545
LTMSGL = 000021 #233-203 234-546
LUN1 = 000001 #231-90 232-146 232-166
LUN2 = 000002 #231-91 232-150 232-161
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 #231-79
MRCLRX 003612 R 100-2882 100-2885 101-2895 101-2899 101-2905 101-2910 101-2914 101-2917 #101-2920
MRCLR1 003470 R #101-2892 101-2893
MRCLR2 003524 R #101-2901 101-2911
MRCLR3 003564 R 101-2907 #101-2912
MSG2 015042 R 234-437 #234-449
MUL = 000224 #11-435
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 21
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
MULB = 000227 #11-436
MULI = 000225 #11-437
MULM = 000226 #11-438
MVNAME 016652 R 234-426 234-426 234-458 234-458 #234-748
M.KTAE = 000010 #182-5786
M.KTEF = 000002 #182-5786
M.KTMG = 000004 #182-5786
M.KTUN = 000006 #182-5786
NOCLK 013324 R #233-253 233-254 234-573
NOCLKL = 000046 #233-254 234-574
NOOP 020166 R 238-1067 238-1068 238-1069 238-1071 238-1073 238-1074 238-1075 238-1076 238-1077
238-1078 238-1080 #238-1084
NULSTP = 000040 #3-68 #231-79
NUPE = 000002 #3-68 #231-79
OCTTYP 020474 R 238-1026 238-1026 #238-1119
OFF 012777 R #233-220 234-706
ON 012775 R #233-219 234-711
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 150-4582 150-4582
PARNRM 000216 RG 146-4408 #186-5882
PARTMP 000214 R #186-5879
PCC 013107 R #233-231 234-370
PCMSG 013052 R #233-228 233-233 234-382
PCMSGL = 000054 #233-233 234-383
PCTAB 005512 R 141-4227 #142-4280
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
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 22
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
PC.LIP = 000040 G #34-588
PC.NDV = 000001 G #34-593
PC.OVF = 010000 G #34-581 126-3765
PC.UIO = 000100 G #34-587
PC.USR = 000200 G #34-586
PERCLR = 001000 #3-68 #231-79
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 #231-79
PI = 000004 #16-662
PIDENT = 000000 #3-68 #231-79
PIMSG 013126 R #233-235 233-244 234-385
PIMSGL = 000071 #233-244 234-386
PI0 013140 R #233-236 234-703
PI1 013155 R #233-238 234-715
PI2 013173 R #233-240 234-719
PI3 013211 R #233-242 234-723
POINT 012642 R #233-195 *234-348 *234-392 *234-411 *234-424 *234-435 *234-442 *234-456 *234-474
*234-487 *234-501 *234-552 *234-611 *234-668 *234-699
POP = 000262 #12-468
POPJ = 000263 #12-469
PRINTT 012616 R #232-177 *234-503 *234-535 234-536
PRI1 = 000001 #231-89
PRI7 = 000340 #3-68 #231-79
PRMFM 007336 R 160-5030 #160-5057 160-5058
PRMFML = 000020 160-5031 #160-5058
PROFF 022725 R 241-1351 #241-1405 241-1406
PROLEN = 000003 241-1348 #241-1406
PRON 022722 R 241-1347 #241-1404
PROPNT = 000021 #3-68 #231-79
PRTERR 011164 RG #229-175 234-617 234-617
PRTER0 011172 R #229-178 229-184
PRTER1 011206 R 229-182 #229-185 229-194
PRTER7 011214 R 229-180 #229-189
PRTNEA 003611 R 228-140 #228-142
PRTNER 000600 R #228-137 229-193
PRTNEX 003646 R #228-144 229-191
PRTOFF = 004000 #3-68 #231-79
PR0 = 000000 #3-68 #231-79
PR1 = 000040 #3-68 #231-79
PR2 = 000100 #3-68 #231-79
PR3 = 000140 #3-68 #231-79
PR4 = 000200 #3-68 #231-79
PR5 = 000240 #3-68 #231-79
PR6 = 000300 #3-68 #231-79
PR7 = 000340 #3-68 #231-79
PS = 177776 #3-68 #231-79
PSWW1 = 000005 #3-68 #231-79
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 23
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
PSWW10 = 000014 #3-68 #231-79
PSWW11 = 000015 #3-68 #231-79
PSWW12 = 000016 #3-68 #231-79
PSWW13 = 000017 #3-68 #231-79
PSWW2 = 000006 #3-68 #231-79
PSWW3 = 000007 #3-68 #231-79
PSWW4 = 000010 #3-68 #231-79
PSWW5 = 000011 #3-68 #231-79
PSWW6 = 000012 #3-68 #231-79
PSWW7 = 000013 #3-68 #231-79
PULSE = 000020 #3-68 #231-79
PUSH = 000261 #12-471
PUSHJ = 000260 #12-472
QSIZE = 000023 #3-68 #231-79
Q.IOAE = 000012 #232-161 #232-166
Q.IOEF = 000006 #232-161 #232-166
Q.IOFN = 000002 #232-161 #232-166 *235-795 *235-797 *235-801 *235-803 *236-853 *236-855 *236-857
*236-860 *236-862 *236-864 *237-931 *237-940 237-944
Q.IOLU = 000004 #232-161 #232-166
Q.IOPL = 000014 #232-161 #232-166 *234-414 *234-430 *234-445 *234-446 *234-464 *234-476 *234-477
*234-490 *234-491 *234-509 *235-798 *235-804 *235-805 *236-858 236-869 *237-932
*237-933 *237-935 *237-936 *237-938 *237-939
Q.IOPR = 000007 #232-161 #232-166
Q.IOSB = 000010 #232-161 #232-166
RAMIS0 = 010000 #3-68 #231-79
RDALLE 003700 R 107-3082 #107-3090
RDALLX 003702 R 107-3089 #107-3092
RDALL1 003644 R #107-3078 107-3087
RDAPRX 003754 R 108-3133 #108-3139
RDCPEX 004114 R 109-3176 #110-3210
RDCPPA 004060 R 110-3193 #110-3195
RDCPP0 004002 R #109-3172 109-3178
RDCPP1 004032 R #110-3186 110-3207
RDCPP2 004042 R #110-3189 110-3204
RDCPP3 004064 R 110-3192 #110-3197
RDCPP4 004074 R 110-3200 #110-3202
RDCPT1 004122 R 109-3170 #111-3222
RDCPT2 004166 R 110-3188 #112-3259
RDCPT3 000000 R 109-3171 110-3185 #112-3269
RDCPXX 004116 R 110-3209 #110-3212
RDCRME 004176 R #116-3416 155-4767
RDFLGX 004424 R 126-3746 126-3754 126-3762 #126-3768
RDFLG1 004422 R 126-3764 #126-3766
RDFMAX 004516 R 128-3806 128-3817 #128-3819
RDFMOX 004554 R 129-3850 129-3854 #129-3856
RDIPEX 005020 R 134-3995 #134-4006
RDIPE1 004764 R #134-3992 134-4003
RDIPE2 005002 R 134-3997 #134-3999
RDIRRX 004730 R 132-3926 #132-3952
RDIRR1 004646 R 132-3928 132-3930 #132-3933
RDIRR2 004724 R 132-3940 #132-3948
RDIRR3 004726 R 132-3932 #132-3950
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 24
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
RDPITB 000014 R 136-4038 #136-4061
RDPITE = 000030 R 136-4049 #136-4068
RDPIX 005074 R 136-4044 #136-4052
RDPI1 005040 R #136-4040 136-4050
RDSMRE 005224 R 138-4134 #138-4140
RDSMRX 005226 R 138-4127 #138-4142
RDVMRE 005502 R 141-4239 #142-4273
RDVMRX 005476 R 142-4257 #142-4270
READP 012716 R #233-205 233-206 237-927
READPL = 000006 #233-206 237-928
RECORD 012614 R #232-176 *234-310 *234-504 *234-507 234-509
REG 022756 R 241-1373 #241-1409 241-1410
REGL = 000032 241-1374 #241-1410
REGSAV 010134 RG 61-1618 61-1622 69-1919 71-1972 74-2074 80-2237 92-2574 92-2579 94-2635
109-3167 134-3985 138-4122 141-4240 145-4355 146-4402 147-4418 155-4731 #178-5637
237-977 237-983
REGTAB 000722 R 56-1445 #57-1465
RELEAS = 000071 #12-474
RENAME = 000055 #12-475
RESETT 005654 R 145-4358 #145-4385
RESETX 005652 R 145-4357 145-4360 145-4364 145-4366 145-4368 145-4374 #145-4380
RESET1 005622 R #145-4370 145-4376
RESTDX 006040 R 148-4450 #148-4457
RESTIX 005720 R 146-4404 146-4407 #146-4410
RESTPE 006014 R 147-4420 147-4422 #147-4435
RESTPX 006010 R 147-4425 147-4429 #147-4432
RFMAD0 = 100000 #3-68 #231-79
RFMAD1 = 040000 #3-68 #231-79
RFMAD2 = 020000 #3-68 #231-79
RFMAD3 = 010000 #3-68 #231-79
RGDTEN = 010240 R *71-1980 #180-5725
RM = 000010 #3-68 #231-79
ROT = 000241 #12-477
ROTC = 000245 #12-478
RSTEND = 005662 R 145-4375 #145-4392
RUINGL = 000043 #233-212 234-318
RVMRL1 005422 R #142-4252 142-4267
R.QSGC = 000015 #232-142
R.QSPC = 000014 #232-142
R.QSPN = 000006 #232-142
R.QSPR = 000012 #232-142
R.QSTN = 000002 #232-142
SAVBLK 006650 R *156-4829 156-4858 #156-4862
SBADI 010530 R 214-197 #214-203
SBRTAB 005310 R 137-4113 #139-4179
SCD = 000040 #3-68 #231-79
SCRTAB 005324 R 137-4116 #139-4187
SETA = 000424 #12-480
SETAB = 000427 #12-481
SETACI 006166 R 150-4569 #150-4582
SETAI = 000425 #12-482
SETAM = 000426 #12-483
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 25
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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 016072 RG 234-394 234-394 #234-611
SETM = 000414 #13-496
SETMB = 000417 #13-497
SETMI = 000415 #13-498
SETMM = 000416 #13-499
SETO = 000474 #13-501
SETOB = 000477 #13-502
SETOI = 000475 #13-503
SETOM = 000476 #13-504
SETPC 016304 RG 234-365 234-365 234-371 234-371 234-599 234-599 #234-668
SETPI 016442 RG 234-375 234-375 #234-699
SETSTS = 000060 #13-506
SETZ = 000400 #13-508
SETZB = 000403 #13-509
SETZI = 000401 #13-510
SETZM = 000402 #13-511
SHFTXX 010126 R 177-5602 177-5607 #177-5612
SHIFTL 010110 R #177-5604 177-5606
SHIFTR 010120 R 177-5603 #177-5608 177-5611
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 012771 R #233-215 237-970
SLS = 000057 #231-87 233-215
SNP 011420 R #232-155 234-752 234-755
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
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 26
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
SOSLE = 000373 #13-537
SOSN = 000376 #13-538
SPACE 012773 R #233-217 237-964
SPC = 000040 #231-88 233-236 233-236 233-236 233-236 233-238 233-238 233-238 233-238
233-240 233-240 233-240 233-240 233-242 233-242 233-242 233-242 233-246
233-246 233-246 233-246 234-615 234-676
SPC1 022620 R 241-1327 #241-1395
SPC2 022624 R #241-1396
SPC3 022641 R #241-1397
SPC4 022645 R #241-1398
SPC5 022662 R #241-1399
SPC6 022673 R #241-1400
STAMSG 000764 R 57-1468 #57-1478
START 014110 RG #234-303 243-1509
STAT = 174434 #3-68 #231-79
STATO = 000061 #13-540
STATUS = 000022 #3-68 #13-541 #231-79
STATYP 020604 R 238-1081 #239-1196
STATZ = 000063 #13-542
STA0 021502 R #239-1224
STA1 021436 R #239-1223
STA10 021053 R #239-1214
STA11 021012 R #239-1213
STA12 020766 R #239-1212
STA13 020727 R #239-1211
STA14 020702 R #239-1210
STA15 020642 R 239-1198 #239-1209
STA2 021402 R #239-1222
STA3 021353 R #239-1221
STA4 021321 R #239-1220
STA5 021256 R #239-1219
STA6 021227 R #239-1218
STA7 021174 R #239-1217
STA8 021133 R #239-1216
STA9 021075 R #239-1215
STOP 013372 R #233-256 233-257 234-577
STOPL = 000022 #233-257 234-578
STPCXX 006262 R 152-4647 #152-4650
STPXCX 006256 R #152-4648
STRCEX 006226 R 151-4608 #151-4617
STRCXX 006224 R 151-4613 #151-4615
STRFEX 006310 R 153-4679 #153-4682
STRUNX 006304 R #153-4680
STUCAE 006446 R 155-4733 #155-4766
STUCDX 006442 R 155-4737 155-4739 155-4742 155-4744 155-4750 155-4760 #155-4763
STUCD1 006374 R #155-4746 155-4754
STUCD2 006420 R 155-4753 #155-4755
STUCD3 006406 R 155-4748 #155-4751
STUCEX 006434 R 155-4757 #155-4761
ST.CED = 000100 G #33-533 33-548
ST.CLE = 000001 G #33-546 33-548
ST.CTD = 040000 G #33-518
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 27
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
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 71-1983
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
SWPFM 012624 R #232-180 *234-311 234-542 *234-568
SWR = 177570 #3-68 #231-79
SWSLLT = 100000 #3-68 #231-79
SYMA = 003561 RG #228-52 228-52 #228-53 228-53 #228-54 228-54 #228-55 228-55 #228-56
228-56 #228-57 228-57 #228-59 228-59 #228-60 228-60 #228-62 228-62
#228-63 228-63 #228-64 228-64 #228-65 228-65 #228-66 228-66 #228-67
228-67 #228-68 228-68 #228-69 228-69 #228-70 228-70 #228-72 228-72
#228-73 228-73 #228-74 228-74 #228-75 228-75 #228-76 228-76 #228-78
228-78 #228-79 228-79 #228-80 228-80 #228-81 228-81 #228-82 228-82
#228-83 228-83 #228-84 228-84 #228-86 228-86 #228-87 228-87 #228-88
228-88 #228-90 228-90 #228-91 228-91 #228-92 228-92 #228-93 228-93
#228-94 228-94 #228-95 228-95 #228-96 228-96 #228-97 228-97 #228-98
228-98 #228-100 228-100 #228-101 228-101 #228-102 228-102 #228-103 228-103
#228-104 228-104 #228-105 228-105 #228-107 228-107 #228-108 228-108 #228-110
228-110 #228-112 228-112 #228-114 228-114 #228-115 228-115 #228-116 228-116
#228-118 228-118 #228-120 228-120 #228-121 228-121 #228-122 228-122 #228-124
228-124 #228-126 228-126 #228-128 228-128 #228-130 228-130 #228-132 228-132
SYMTAB 020126 R 238-1027 238-1027 #238-1066
SYNCEX 006764 R 157-4903 #157-4906
SYNCXX 006766 R #157-4908
SYNXCX 006760 R 157-4901 #157-4904
TAB = 000011 #231-86 233-214
TABB 012770 R #233-214 237-960
TA2MS1 022426 R 241-1315 #241-1385 241-1386
TA2MS2 022453 R 241-1334 #241-1387 241-1388
TA2MS3 022474 R 241-1344 #241-1389 241-1390
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 28
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
TA2MS4 022534 R 241-1355 #241-1391 241-1392
TA2MS5 022574 R 241-1358 #241-1393 241-1394
TA2M1L = 000025 241-1316 #241-1386
TA2M2L = 000021 241-1335 #241-1388
TA2M3L = 000040 241-1345 #241-1390
TA2M4L = 000040 241-1356 #241-1392
TA2M5L = 000024 241-1359 #241-1394
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
TEMADR 006154 R 150-4574 #150-4576
TEMCHR 012774 R #233-218 *237-966 237-967
TENAD1 = 174410 #3-68 #231-79
TENAD2 = 174412 #3-68 #231-79
TENFUN 014252 R 234-322 #234-334 234-344
TEXBUF 020032 R #238-1046 238-1121 *238-1124 238-1125 *240-1274 240-1275 *240-1279 240-1289 *240-1294
240-1295 241-1378 241-1380 241-1423 *241-1428 241-1429
TFRMSG 007142 R 158-4939 #159-4982
TFWMSG 007157 R 158-4945 #159-4984
TFXMSG 007174 R 158-4951 #159-4986
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 #231-79
TOD = 000003 #3-68 #231-79
TOIP = 000002 #3-68 #231-79
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 29
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
TOIT = 000001 #3-68 #231-79
TO10 = 000200 #3-68 #231-79
TO10AD = 174420 #3-68 #231-79
TO10BC = 174414 #3-68 #231-79
TO10BM = 000001 #3-68 #231-79
TO10DB = 000400 #3-68 #231-79
TO10DN = 100000 #3-68 #231-79
TO10DT = 174424 #3-68 #231-79
TO10ER = 020000 #3-68 #231-79
TO11 = 000100 #3-68 #231-79
TO11AD = 174422 #3-68 #231-79
TO11BC = 174416 #3-68 #231-79
TO11BM = 020000 #3-68 #231-79
TO11DB = 004000 #3-68 #231-79
TO11DN = 000200 #3-68 #231-79
TO11DT = 174426 #3-68 #231-79
TO11ER = 000002 #3-68 #231-79
TRACE 012622 R #232-179 *234-309 *234-345 *234-347 234-520 236-897
TRACKQ 007134 R 159-4971 #159-4978
TRACKX 007120 R 159-4967 #159-4972
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 012646 R #233-199 233-200 234-334
TRMSGL = 000025 #233-200 234-336
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 66-1815
TR.DTE = 000040 G #34-576 34-577 54-1391
TR.EXM = 000010 G #34-574 34-577 66-1810
TR.FRD = 000002 G #34-572 34-577 168-5362
TR.FWR = 000004 G #34-573 34-577 170-5428
TR.FXC = 000001 G #34-571 34-577 173-5514
TSC = 000651 #15-611
TSCA = 000655 #15-612
TSCE = 000653 #15-613
TSCN = 000657 #15-614
TSN = 000611 #15-616
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 30
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
TSNA = 000615 #15-617
TSNE = 000613 #15-618
TSNN = 000617 #15-619
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 017352 R 237-934 #237-941
TTCOMW 017344 R 237-937 237-937 #237-940
TTCOMX 017334 RG 160-5032 160-5032 234-319 234-319 234-533 234-533 237-929 237-929 #237-938
237-958 237-958 237-972 237-972 238-1025 238-1025 238-1127 238-1127 239-1204
239-1204 240-1245 240-1245 240-1256 240-1256 240-1297 240-1297 241-1317 241-1317
241-1333 241-1333 241-1336 241-1336 241-1343 241-1343 241-1346 241-1346 241-1352
241-1352 241-1357 241-1357 241-1360 241-1360 241-1368 241-1368 241-1375 241-1375
241-1382 241-1382 241-1437 241-1437 242-1466 242-1466 243-1501 243-1501
TTDPB 011454 RG #232-166 *237-931 *237-932 *237-933 *237-935 *237-936 *237-938 *237-939 *237-940
237-941 237-944
TTERRO 017404 R 237-942 #237-946
TTEXIT 017456 R 237-945 #237-959
TTREAD 017250 RG 234-338 234-338 #237-927
TTWRIT 017314 RG 156-4823 156-4823 234-330 234-330 234-337 234-337 234-384 234-384 234-387
234-387 234-397 234-397 234-419 234-419 234-451 234-451 234-469 234-469
234-482 234-482 234-496 234-496 234-541 234-541 234-547 234-547 234-606
234-606 236-902 236-902 #237-935
TTYIPT 011514 R #232-172 232-173 234-339 234-341 234-343 234-360 234-366 234-524 234-531
234-594 234-670 236-877 237-932 237-946
TTYL = 000100 #232-173 234-525 234-532 234-536 236-878 237-933
TYCRLF 017442 RG 159-4973 159-4973 234-398 234-398 234-534 234-534 #237-956 243-1502 243-1502
243-1503
TYPAD2 022042 R 238-1072 #241-1314
TYPASZ 017530 RG 56-1443 56-1443 56-1446 56-1446 62-1643 62-1643 159-4960 159-4960 #237-975
TYPCR 020470 R #238-1102
TYPDG1 023114 R 238-1079 #242-1454
TYPDG3 023522 R 238-1082 #243-1495
TYPDTE 017610 R 234-320 234-320 #238-1010
TYPDX1 021530 R 238-1070 #240-1242
TYPKLA 023010 R 237-986 237-986 241-1362 241-1362 #241-1416
TYPKLN 021700 RG 237-981 237-981 240-1249 240-1249 #240-1268
TYPLIN 017530 RG 56-1461 56-1461 62-1659 62-1659 #237-974
TYPSLS 017514 RG 62-1647 62-1647 159-4968 159-4968 #237-970
TYPTAB 017460 RG 56-1447 56-1447 62-1648 62-1648 62-1652 62-1652 159-4969 159-4969 #237-960
TY3D 016570 RG 159-4965 159-4965 234-590 234-590 234-593 234-593 234-716 234-716 234-720
234-720 234-724 234-724 #234-726
UGETF = 000073 #15-633
UJEN = 000100 #15-635
UNASG1 = 000032 #3-68 #231-79
UNASG2 = 000033 #3-68 #231-79
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 31
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
UNASG3 = 000034 #3-68 #231-79
UNASG4 = 000035 #3-68 #231-79
UNASG5 = 000036 #3-68 #231-79
UNASG6 = 000037 #3-68 #231-79
USETI = 000074 #15-637
USETO = 000075 #15-638
VERSC = 000075 #23-93
VERSN = 000007 G #209-54
VMA 013062 R #233-229 234-364
VMATB 005526 R 141-4233 #142-4288
VMHTB 005534 R 141-4236 #142-4292
VSUB 000000 R #23-93
WEP = 000010 #3-68 #231-79
WRITE 015356 R 234-493 234-506 #234-508
WRITP 012724 R #233-208 233-209 233-212 234-317 237-935
WRITPL = 000011 #233-209 237-936
WRTARX 007402 R 166-5300 166-5303 #166-5306
XCT = 000256 #15-640
XOR = 000430 #15-642
XORB = 000433 #15-643
XORI = 000431 #15-644
XORM = 000432 #15-645
XR = 000000 #150-4582 150-4582
ZSTOP = 040000 #3-68 #231-79
$AGAIN = 000001 G #2-41
$AUTO = 000001 G #2-42
$DISTB = 000000 G #2-44 44-974
$DIV = ****** GX 234-652 234-652
$DSW = ****** GX 67-1840
$HLPSW = 000000 G #2-45
$LPTSW = 000001 G #2-46
$MBPSW = 000000 G #2-47 96-2727
$MCRSW = 000001 G #2-48
$MUL = ****** GX 215-220 215-220 215-225 215-225 215-230 215-230
$RAMSW = 000000 G #2-43 94-2663 101-2924 112-3277 119-3523 161-5061 186-5886
$RSXSW = 000001 G #2-49 148-4443
$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 #64-1729 64-1729
#64-1731 64-1731 #64-1733 64-1733 #64-1737 64-1737 #64-1740 64-1740 #66-1808
66-1808 #66-1812 66-1812 #66-1817 66-1817 #66-1821 66-1821 #67-1831 67-1831
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 32
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
#67-1844 67-1844 #67-1847 67-1847 #69-1919 69-1919 #71-1972 71-1972 #71-1981
71-1981 #71-1985 71-1985 #71-1992 71-1992 #71-1994 71-1994 #71-2001 71-2001
#74-2074 74-2074 #74-2075 74-2075 #74-2079 74-2079 #74-2088 74-2088 #74-2091
74-2091 #75-2105 75-2105 #75-2110 75-2110 #75-2112 75-2112 #77-2165 77-2165
#77-2168 77-2168 #77-2178 77-2178 #77-2185 77-2185 #80-2237 80-2237 #80-2238
80-2238 #80-2240 80-2240 #80-2245 80-2245 #82-2293 82-2293 #82-2297 82-2297
#84-2352 84-2352 #84-2356 84-2356 #84-2360 84-2360 #87-2405 87-2405 #87-2408
87-2408 #88-2458 88-2458 #88-2461 88-2461 #88-2464 88-2464 #90-2494 90-2494
#90-2498 90-2498 #90-2504 90-2504 #90-2508 90-2508 #90-2513 90-2513 #92-2574
92-2574 #92-2579 92-2579 #92-2585 92-2585 #92-2589 92-2589 #92-2595 92-2595
#94-2635 94-2635 #94-2638 94-2638 #94-2641 94-2641 #94-2647 94-2647 #94-2650
94-2650 #94-2655 94-2655 #94-2658 94-2658 #100-2881 100-2881 #100-2884 100-2884
#101-2894 101-2894 #101-2896 101-2896 #101-2898 101-2898 #101-2904 101-2904 #101-2909
101-2909 #101-2913 101-2913 #101-2916 101-2916 #107-3081 107-3081 #108-3132 108-3132
#108-3135 108-3135 #109-3167 109-3167 #109-3175 109-3175 #119-3520 119-3520 #126-3745
126-3745 #126-3748 126-3748 #126-3753 126-3753 #126-3756 126-3756 #126-3761 126-3761
#128-3805 128-3805 #128-3808 128-3808 #128-3813 128-3813 #129-3849 129-3849 #129-3853
129-3853 #130-3891 130-3891 #130-3894 130-3894 #132-3925 132-3925 #132-3935 132-3935
#132-3939 132-3939 #132-3942 132-3942 #132-3947 132-3947 #134-3985 134-3985 #134-3994
134-3994 #136-4043 136-4043 #136-4046 136-4046 #138-4122 138-4122 #138-4126 138-4126
#138-4129 138-4129 #138-4133 138-4133 #138-4136 138-4136 #141-4240 141-4240 #141-4248
141-4248 #142-4256 142-4256 #142-4262 142-4262 #145-4355 145-4355 #145-4356 145-4356
#145-4359 145-4359 #145-4363 145-4363 #145-4365 145-4365 #145-4367 145-4367 #145-4369
145-4369 #145-4373 145-4373 #145-4379 145-4379 #146-4402 146-4402 #146-4403 146-4403
#146-4406 146-4406 #146-4409 146-4409 #147-4418 147-4418 #147-4419 147-4419 #147-4421
147-4421 #147-4424 147-4424 #147-4428 147-4428 #147-4431 147-4431 #148-4449 148-4449
#148-4455 148-4455 #149-4509 149-4509 #149-4511 149-4511 #149-4513 149-4513 #150-4567
150-4567 #150-4570 150-4570 #151-4607 151-4607 #151-4612 151-4612 #152-4646 152-4646
#153-4678 153-4678 #155-4731 155-4731 #155-4736 155-4736 #155-4738 155-4738 #155-4741
155-4741 #155-4743 155-4743 #155-4747 155-4747 #156-4823 156-4823 #156-4824 156-4824
#156-4830 156-4830 #156-4832 156-4832 #156-4837 156-4837 #156-4844 156-4844 #156-4848
156-4848 #156-4852 156-4852 #156-4854 156-4854 #156-4855 156-4855 #156-4859 156-4859
#157-4900 157-4900 #159-4960 159-4960 #159-4965 159-4965 #159-4968 159-4968 #159-4969
159-4969 #159-4970 159-4970 #159-4973 159-4973 #160-5032 160-5032 #160-5040 160-5040
#160-5041 160-5041 #160-5045 160-5045 #160-5046 160-5046 #160-5047 160-5047 #160-5049
160-5049 #160-5050 160-5050 #166-5299 166-5299 #166-5302 166-5302 #166-5305 166-5305
#168-5347 168-5347 #168-5364 168-5364 #170-5413 170-5413 #170-5430 170-5430 #172-5476
172-5476 #173-5516 173-5516 #176-5584 176-5584 #176-5593 176-5593 #178-5641 178-5641
#211-106 211-106 #211-108 211-108 #211-110 211-110 #213-150 213-150 #213-151
213-151 #213-152 213-152 #215-220 215-220 #215-225 215-225 #215-230 215-230
#216-247 216-247 #219-338 219-338 #220-383 220-383 #220-384 220-384 #221-419
221-419 #221-420 221-420 #222-443 222-443 #222-449 222-449 #224-482 224-482
#229-192 229-192 #234-319 234-319 #234-320 234-320 #234-321 234-321 #234-330
234-330 #234-337 234-337 #234-338 234-338 #234-349 234-349 #234-350 234-350
#234-355 234-355 #234-356 234-356 #234-358 234-358 #234-359 234-359 #234-361
234-361 #234-363 234-363 #234-365 234-365 #234-367 234-367 #234-369 234-369
#234-371 234-371 #234-372 234-372 #234-374 234-374 #234-375 234-375 #234-376
234-376 #234-378 234-378 #234-379 234-379 #234-381 234-381 #234-384 234-384
#234-387 234-387 #234-393 234-393 #234-394 234-394 #234-397 234-397 #234-398
234-398 #234-412 234-412 #234-413 234-413 #234-415 234-415 #234-419 234-419
#234-425 234-425 #234-426 234-426 #234-431 234-431 #234-436 234-436 #234-443
234-443 #234-444 234-444 #234-447 234-447 #234-451 234-451 #234-457 234-457
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 33
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
#234-458 234-458 #234-465 234-465 #234-469 234-469 #234-475 234-475 #234-478
234-478 #234-482 234-482 #234-488 234-488 #234-489 234-489 #234-492 234-492
#234-496 234-496 #234-502 234-502 #234-508 234-508 #234-510 234-510 #234-512
234-512 #234-514 234-514 #234-515 234-515 #234-522 234-522 #234-533 234-533
#234-534 234-534 #234-541 234-541 #234-544 234-544 #234-547 234-547 #234-553
234-553 #234-558 234-558 #234-561 234-561 #234-564 234-564 #234-571 234-571
#234-575 234-575 #234-590 234-590 #234-593 234-593 #234-599 234-599 #234-606
234-606 #234-612 234-612 #234-617 234-617 #234-637 234-637 #234-639 234-639
#234-641 234-641 #234-652 234-652 #234-669 234-669 #234-674 234-674 #234-675
234-675 #234-677 234-677 #234-678 234-678 #234-680 234-680 #234-681 234-681
#234-682 234-682 #234-685 234-685 #234-687 234-687 #234-690 234-690 #234-700
234-700 #234-716 234-716 #234-720 234-720 #234-724 234-724 #234-729 234-729
#234-732 234-732 #234-733 234-733 #234-736 234-736 #234-743 234-743 #234-748
234-748 #234-749 234-749 #235-800 235-800 #236-902 236-902 #237-929 237-929
#237-930 237-930 #237-937 237-937 #237-958 237-958 #237-972 237-972 #237-977
237-977 #237-981 237-981 #237-983 237-983 #237-986 237-986 #237-991 237-991
#238-1025 238-1025 #238-1026 238-1026 #238-1027 238-1027 #238-1041 238-1041 #238-1123
238-1123 #238-1127 238-1127 #239-1201 239-1201 #239-1204 239-1204 #240-1245 240-1245
#240-1249 240-1249 #240-1256 240-1256 #240-1278 240-1278 #240-1290 240-1290 #240-1297
240-1297 #241-1317 241-1317 #241-1328 241-1328 #241-1333 241-1333 #241-1336 241-1336
#241-1343 241-1343 #241-1346 241-1346 #241-1352 241-1352 #241-1357 241-1357 #241-1360
241-1360 #241-1362 241-1362 #241-1368 241-1368 #241-1375 241-1375 #241-1379 241-1379
#241-1382 241-1382 #241-1424 241-1424 #241-1437 241-1437 #242-1463 242-1463 #242-1466
242-1466 #243-1501 243-1501 #243-1502 243-1502
$$A = 000100 #150-4582 150-4582
$$B = 000000 #150-4582 150-4582
$$C = 000200 #150-4582 150-4582
$$D = 000011 #150-4582 150-4582
$$E = 000016 #150-4582 150-4582
$$F = 000000 #150-4582 150-4582
$$$ARG = 000014 #232-146 232-146 #232-146 232-146 #232-146 232-146 #232-150 232-150 #232-150
232-150 #232-150 232-150 #232-161 232-161 #232-161 232-161 #232-161 232-161
#232-161 232-161 #232-161 232-161 #232-161 232-161 #232-161 232-161 #232-166
232-166 #232-166 232-166 #232-166 232-166 #232-166 232-166 #232-166 232-166
#232-166 232-166 #232-166 232-166
$$$GLB = ****** 20-106 20-106 20-106 20-106 20-106 20-106 20-106 20-106 182-5786
182-5786 182-5786 182-5786 182-5786 232-142 232-142 232-142 232-142 232-142
232-142 232-146 232-146 232-146 232-146 232-150 232-150 232-150 232-150
232-161 232-161 232-161 232-161 232-161 232-161 232-161 232-161 232-166
232-166 232-166 232-166 232-166 232-166 232-166 232-166
$$$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 #182-5786 182-5786
182-5786 #182-5786 182-5786 182-5786 #182-5786 182-5786 182-5786 #182-5786 182-5786
182-5786 #182-5786 #232-142 232-142 232-142 #232-142 232-142 232-142 #232-142
232-142 232-142 #232-142 232-142 232-142 #232-142 232-142 232-142 #232-142
#232-146 232-146 232-146 #232-146 232-146 232-146 #232-146 232-146 232-146
#232-146 #232-150 232-150 232-150 #232-150 232-150 232-150 #232-150 232-150
232-150 #232-150 #232-161 232-161 232-161 #232-161 232-161 232-161 #232-161
232-161 232-161 #232-161 232-161 232-161 #232-161 232-161 232-161 #232-161
232-161 232-161 #232-161 232-161 #232-166 232-166 232-166 #232-166 232-166
232-166 #232-166 232-166 232-166 #232-166 232-166 232-166 #232-166 232-166
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 34
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
232-166 #232-166 232-166 232-166 #232-166 232-166
$$$T1 = 000002 #232-142 232-142 232-142 232-142 #232-142 232-142 #232-146 232-146 232-146
#232-146 232-146 232-146 #232-146 232-146 232-146 #232-150 232-150 232-150
#232-150 232-150 232-150 #232-150 232-150 232-150
.ABORT 000204 RG #47-1130
.APRWD 000176 RG *108-3137 #185-5858
.BRCLK = 005000 #3-68 #231-79
.BRMBC 000234 RG #48-1173
.BURST 000242 RG #48-1176 75-2110 75-2110
.CECLK = 004000 #3-68 #231-79
.CESCK 000300 RG #49-1222 59-1531 59-1531 67-1844 67-1844 71-1985 71-1985 151-4607 151-4607
234-350 234-350
.CKEDM 001734 R 67-1831 67-1831 #68-1857
.CLDFB 010050 RG 90-2498 90-2498 101-2896 101-2896 145-4369 145-4369 #176-5583
.CLDFR 010054 RG #176-5585
.CLDFW 010064 RG 92-2585 92-2585 94-2641 94-2641 176-5584 176-5584 #176-5589
.CLIPE 000332 RG #50-1261
.CLKWD 000200 RG 92-2575 110-3190 147-4423 #185-5861
.CLRFF 000366 RG #51-1293 74-2075 74-2075 87-2405 87-2405 155-4736 155-4736
.CLRMR = 006000 #3-68 #231-79
.CLRUN = 010000 #3-68 #231-79
.CONBT = 012000 #3-68 #231-79
.CRAMA 000056 RG #184-5817
.CRAMR 000060 RG #184-5820
.CRAMW 000102 RG #184-5825
.CSHRG = 164000 #3-68 #231-79
.C5TA 016174 RG 229-192 229-192 #234-636
.DFBLK 000032 RG 69-1922 179-5666 179-5684 180-5702 #183-5794
.DFRB 000040 RG 158-4938 168-5353 176-5587 #183-5800
.DFWB 000032 RG *90-2501 *90-2510 *92-2587 *92-2593 94-2642 158-4944 170-5417 176-5591 #183-5795
183-5798 183-5803 183-5815
.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 181-5766 #184-5830
.DPBFR 000130 RG 181-5767 #184-5833
.DPDPB 010254 RG 68-1878 68-1879 #181-5763
.DPKLM 001600 RG #66-1814 150-4567 150-4567
.DPTRK 001160 RG #61-1621 66-1817 66-1817
.DRAMA 000150 R #184-5842
.DRAMR 000152 R #184-5845
.DRAMW 000160 RG #184-5848
.DREG 000046 RG *54-1387 54-1390 179-5666 179-5684 180-5702 180-5723 #183-5805
.DREGS = 000014 G #183-5803
.DRLTC = 015000 #3-68 #231-79
.DSACF = 066000 #3-68 #231-79
.DSIOJ = 065000 #3-68 #231-79
.DTAB 001770 R 66-1820 #68-1877
.DTDI1 000046 RG #183-5806
.DTDI2 000050 RG #183-5808
.DTDI3 000054 RG #183-5812
.DTDW1 000476 RG 20-121 20-121 49-1223 49-1223 #53-1366 64-1733 64-1733 64-1740 64-1740
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 35
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
71-2001 71-2001 74-2079 74-2079 75-2112 75-2112 87-2408 87-2408 155-4747
155-4747 234-321 234-321
.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 71-1981 71-1981
.DTSTS 000052 RG #183-5810
.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 148-4449 148-4449
.DWDW3 000450 RG #53-1357 148-4455 148-4455
.DWSTA 000440 RG #53-1353
.EBCLK 001006 RG #59-1529 64-1731 64-1731
.EBPCK 001122 RG #60-1584
.EBPEQ = ****** GX 238-1016 238-1035 238-1040 *238-1042
.EBUSR = 000006 G #183-5798
.EDTRK 001170 RG 61-1620 #62-1630
.EIOJA = 067000 #3-68 #231-79
.EPEFL = ****** GX 238-1014 238-1033 *238-1037
.EPFFL = ****** GX 238-1012 238-1031 *238-1038
.ETAB 001760 R 66-1807 #68-1870
.EXADR 000136 RG 72-2031 181-5744 #184-5836
.EXBFR 000142 RG 72-2032 181-5745 #184-5839
.EXCTF 001432 RG #64-1723 150-4570 150-4570
.EXDPB 010242 RG 68-1871 68-1872 #181-5741
.EXDPM 001636 RG 66-1808 66-1808 66-1821 66-1821 #67-1828
.EXKLM 001544 RG #66-1805 71-1992 71-1992 71-1994 71-1994 156-4844 156-4844
.EXTRK 001146 RG #61-1617 66-1812 66-1812
.FMADR 000166 RG 129-3851 129-3855 #184-5851 234-588
.FMDAT 000170 RG #184-5854
.FREAD 007412 RG 59-1540 59-1540 101-2904 101-2904 107-3081 107-3081 108-3132 108-3132 109-3175
109-3175 119-3520 119-3520 126-3745 126-3745 126-3753 126-3753 126-3761 126-3761
128-3805 128-3805 130-3891 130-3891 132-3939 132-3939 134-3994 134-3994 136-4043
136-4043 138-4126 138-4126 138-4133 138-4133 142-4256 142-4256 #168-5349
.FRTRK 006770 RG #158-4935 168-5364 168-5364
.FWRIT 007506 RG 82-2297 82-2297 88-2461 88-2461 90-2504 90-2504 90-2513 90-2513 92-2589
92-2589 92-2595 92-2595 94-2650 94-2650 94-2658 94-2658 101-2898 101-2898
145-4373 145-4373 145-4379 145-4379 166-5305 166-5305 #170-5415
.FWTRK 007010 RG #158-4941 170-5430 170-5430
.FXCT 007606 RG 48-1182 48-1182 51-1298 51-1298 59-1537 59-1537 77-2168 77-2168 84-2356
84-2356 88-2464 88-2464 100-2881 100-2881 101-2909 101-2909 101-2916 101-2916
151-4612 151-4612 152-4646 152-4646 153-4678 153-4678 157-4900 157-4900 #172-5478
.FXTRK 007030 RG #158-4947 173-5516 173-5516
.GFNR = 102000 #3-68 #231-79
.INEXT 002254 R 71-1991 #72-2030
.INICL = 070000 #3-68 #231-79
.INIT 002000 RG #69-1918
.INKLF 002034 RG #71-1970
.IRLTC = 014000 #3-68 #231-79
.KLCON 002654 RG #84-2344
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 36
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.KLDFR 010204 RG 158-4937 *168-5350 168-5351 #179-5683
.KLDFW 010216 RG 158-4943 *170-5416 170-5433 #180-5701
.KLDFX 010172 RG 158-4949 *172-5480 172-5481 #179-5665
.KLFLG = ****** GX *49-1229 *69-1927 71-1987 77-2183 82-2300 84-2346 *84-2369 87-2399 *100-2883
*101-2918 *155-4735 *155-4762 *157-4902 172-5488 *172-5490 172-5493 *172-5495 *172-5501
*172-5506
.KLGO 002662 RG 82-2301 #84-2347
.KLHLT 002260 RG #74-2073 80-2238 80-2238 82-2293 82-2293 87-2401 88-2458 88-2458
.KLIWD = ****** GX 234-305
.KLRLD = ****** GX 234-303
.KLRSN 000000 RG #20-100 234-512 234-512
.KLRST 002412 RG #77-2156
.KLST 002546 RG #80-2234 82-2291
.KLSTN 002614 RG 80-2236 #82-2289
.KLSTP 002760 RG 47-1132 47-1132 #87-2398
.KLXCT 003046 RG 64-1729 64-1729 #88-2457
.LCRDL = 052000 #3-68 #231-79
.LCRDR = 051000 #3-68 #231-79
.LCRM1 = 057000 #3-68 #231-79
.LCRM2 = 056000 #3-68 #231-79
.LCRM3 = 055000 #3-68 #231-79
.LCRM4 = 054000 #3-68 #231-79
.LCRM5 = 053000 #3-68 #231-79
.LDAR = 077000 #3-68 #231-79
.LDBRC 003100 RG #90-2493
.LDBRG 003106 RG 48-1179 48-1179 #90-2496
.LDBRL = 043000 #3-68 #231-79
.LDBRR = 042000 #3-68 #231-79
.LDCK1 = 046000 #3-68 #231-79
.LDCK2 = 047000 #3-68 #231-79
.LDCLK 003206 RG #92-2573 145-4363 145-4363 146-4406 146-4406 147-4428 147-4428
.LDCPC 003240 RG 92-2577 #92-2583
.LDCRA 003312 RG #94-2634 155-4741 155-4741
.LDDIS = 045000 #3-68 #231-79
.LDPAR 003224 RG 50-1268 50-1268 #92-2578 145-4365 145-4365 146-4409 146-4409 147-4431 147-4431
.LDRJD = 064000 #3-68 #231-79
.LDRJV = 063000 #3-68 #231-79
.LDRM1 = 060000 #3-68 #231-79
.LDRM2 = 061000 #3-68 #231-79
.LDRM3 = 062000 #3-68 #231-79
.LDSEL = 044000 #3-68 #231-79
.LDZER 012630 RG *56-1440 *62-1644 *62-1649 *159-4959 #232-187
.MEMRS = 076000 #3-68 #231-79
.MRCLR 003432 RG #100-2878 145-4367 145-4367
.MTDPB 010266 R 51-1295 #182-5785
.NOERR = ****** GX *234-308
.OKLF 012630 RG 77-2158 77-2170 #232-186
.PCAB1 = 150000 #3-68 #231-79
.PCAB2 = 151000 #3-68 #231-79
.PCAB3 = 152000 #3-68 #231-79
.PCAB4 = 153000 #3-68 #231-79
.PEWRD 000202 RG 134-3988 #185-5864
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 37
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.PITAB 000010 RG 136-4039 #136-4058 136-4069
.PRDTE = ****** GX 238-1011
.PSCWD 000204 RG 50-1266 92-2580 110-3196 147-4423 #185-5867
.RCRM1 = 147000 #3-68 #231-79
.RCRM2 = 146000 #3-68 #231-79
.RCRM3 = 145000 #3-68 #231-79
.RCRM4 = 144000 #3-68 #231-79
.RCSPF = 141000 #3-68 #231-79
.RDADR 004206 RG #119-3492
.RDADX 004214 RG #119-3495
.RDALL 003620 R 20-134 20-134 #107-3072
.RDAPR 003714 RG #108-3128
.RDARR 004222 RG #119-3498
.RDARX 004230 RG #119-3501
.RDBRR 004236 RG #119-3504
.RDBRX 004244 RG #119-3507
.RDCPP 003760 RG #109-3166 147-4421 147-4421
.RDCRA 005104 RG #137-4100
.RDCRL 005112 RG #137-4103
.RDDPB 004272 RG 119-3494 119-3497 119-3500 119-3503 119-3506 119-3509 119-3512 119-3515 #119-3519
.RDDRA 005120 RG 132-3925 132-3925 #137-4106
.RDEBS 004252 RG #119-3510
.RDFER 005126 RG #137-4109
.RDFLG 004300 RG #126-3740
.RDFMA 004432 RG #128-3801 129-3849 129-3849
.RDFMO 004522 RG #129-3846 156-4824 156-4824 156-4852 156-4852 234-376 234-376
.RDFMP 004560 RG #130-3887 156-4848 156-4848
.RDFMR 004260 RG #119-3513 129-3853 129-3853
.RDIPE 004734 RG 20-118 20-118 50-1263 50-1263 #134-3984 234-379 234-379
.RDIRR 004614 RG #132-3923
.RDJ14 = 134000 #3-68 #231-79
.RDJ71 = 135000 #3-68 #231-79
.RDMAB = 133000 #3-68 #231-79
.RDMQR 004266 RG #119-3516
.RDPI 005022 RG #136-4036 234-372 234-372
.RDSBR 005134 RG #137-4112
.RDSCR 005142 RG #137-4115
.RDSMR 005146 RG 137-4102 137-4105 137-4108 137-4111 137-4114 #138-4121
.RDVAB 005346 RG #141-4229
.RDVMA 005354 RG #141-4232 234-361 234-361
.RDVMH 005362 RG #141-4235
.RDVMR 005366 RG 141-4228 141-4231 141-4234 #141-4237
.RDVPC 005340 RG #141-4226 234-367 234-367
.REGRW 010230 RG *53-1346 *53-1350 *53-1354 *53-1358 *53-1360 53-1361 53-1362 *53-1367 *53-1371
*53-1375 *53-1379 *54-1385 54-1388 56-1444 56-1448 56-1453 56-1457 #180-5719
.RESET 005542 RG #145-4354 146-4403 146-4403 147-4424 147-4424
.RESTD 006016 RG 67-1847 67-1847 145-4356 145-4356 #148-4442
.RESTI 005664 RG #146-4401
.RESTP 005722 RG 80-2240 80-2240 94-2638 94-2638 #147-4417 149-4509 149-4509
.RSSWP 006046 RG #149-4506 156-4832 156-4832 156-4855 156-4855
.SACBK 006102 RG 149-4513 149-4513 #150-4558 156-4837 156-4837 156-4859 156-4859
.SECLK = 003000 #3-68 #231-79
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 38
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.SETMR = 007000 #3-68 #231-79
.SETRN = 011000 #3-68 #231-79
.SHIFT 010102 RG 90-2508 90-2508 132-3935 132-3935 132-3947 132-3947 #177-5600 234-729 234-729
.SSCLK = 002000 #3-68 #231-79
.STCLK 006174 RG 64-1737 64-1737 77-2185 77-2185 84-2360 84-2360 100-2884 100-2884 149-4511
149-4511 #151-4605 155-4743 155-4743
.STCL1 006204 RG #151-4609
.STFLG 000206 RG 80-2235 82-2290 #185-5870
.STPCL = 000000 #3-68 #231-79
.STPXC 006230 RG 48-1174 48-1174 74-2088 74-2088 75-2105 75-2105 90-2494 90-2494 101-2894
101-2894 145-4359 145-4359 147-4419 147-4419 #152-4640 155-4738 155-4738 166-5299
166-5299
.STPX1 006244 RG #152-4643 234-356 234-356
.STRCL = 001000 #3-68 #231-79
.STRUN 006266 RG 77-2165 77-2165 77-2178 77-2178 84-2352 84-2352 #153-4674
.STUCD 006314 RG 47-1137 47-1137 #155-4730
.SWPAC 006452 RG #156-4819 234-544 234-544
.SYNXC 006732 RG 59-1548 59-1548 74-2091 74-2091 101-2913 101-2913 #157-4896 166-5302 166-5302
.TCRLF 017442 RG 160-5050 160-5050 #237-955
.TPSHI 010700 RG 130-3894 130-3894 #217-271
.TRACK 007044 RG 158-4940 158-4946 #159-4958
.TRKWD 012630 RG 54-1391 66-1810 66-1815 168-5362 170-5428 173-5514 #232-188
.TYACE 007212 RG 156-4854 156-4854 #160-5027
.TYAC1 007232 RG 156-4830 156-4830 #160-5034
.TYCHR 017502 RG 160-5040 160-5040 #237-966
.TYCOL 017466 RG 160-5041 160-5041 #237-962
.TYKLA 017556 RG 160-5045 160-5045 #237-983
.TYKLN 017532 RG 160-5049 160-5049 #237-977
.TYSLS 017514 RG 160-5046 160-5046 #237-969
.TYSPC 017474 RG 160-5047 160-5047 #237-964
.WRAR1 007364 RG #166-5301
.WRMBX = 071000 #3-68 #231-79
.WRTAR 007356 RG 80-2245 80-2245 #166-5298
.XFRCK 007756 RG 168-5347 168-5347 #175-5548
.XFRED 007404 RG #168-5346
.XFWCK 007774 RG 170-5413 170-5413 #175-5555
.XFWRT 007500 RG #170-5412
.XFXCK 010012 RG 172-5476 172-5476 #175-5562
.XFXCT 007600 RG #172-5475
..DECN = ****** GX 238-1041 238-1041
...KLI 011354 R #232-142 234-307
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 39
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
ALUN$ #3-61 #231-76 #232-146 #232-150
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 64-1729 64-1731 64-1733 64-1737
64-1740 66-1808 66-1812 66-1817 66-1821 67-1831 67-1844 67-1847 69-1919 71-1972
71-1981 71-1985 71-1992 71-1994 71-2001 74-2074 74-2075 74-2079 74-2088 74-2091
75-2105 75-2110 75-2112 77-2165 77-2168 77-2178 77-2185 80-2237 80-2238 80-2240
80-2245 82-2293 82-2297 84-2352 84-2356 84-2360 87-2405 87-2408 88-2458 88-2461
88-2464 90-2494 90-2498 90-2504 90-2508 90-2513 92-2574 92-2579 92-2585 92-2589
92-2595 94-2635 94-2638 94-2641 94-2647 94-2650 94-2655 94-2658 100-2881 100-2884
101-2894 101-2896 101-2898 101-2904 101-2909 101-2913 101-2916 107-3081 108-3132 108-3135
109-3167 109-3175 119-3520 126-3745 126-3748 126-3753 126-3756 126-3761 128-3805 128-3808
128-3813 129-3849 129-3853 130-3891 130-3894 132-3925 132-3935 132-3939 132-3942 132-3947
134-3985 134-3994 136-4043 136-4046 138-4122 138-4126 138-4129 138-4133 138-4136 141-4240
141-4248 142-4256 142-4262 145-4355 145-4356 145-4359 145-4363 145-4365 145-4367 145-4369
145-4373 145-4379 146-4402 146-4403 146-4406 146-4409 147-4418 147-4419 147-4421 147-4424
147-4428 147-4431 148-4449 148-4455 149-4509 149-4511 149-4513 150-4567 150-4570 151-4607
151-4612 152-4646 153-4678 155-4731 155-4736 155-4738 155-4741 155-4743 155-4747 156-4823
156-4824 156-4830 156-4832 156-4837 156-4844 156-4848 156-4852 156-4854 156-4855 156-4859
157-4900 159-4960 159-4965 159-4968 159-4969 159-4970 159-4973 160-5032 160-5040 160-5041
160-5045 160-5046 160-5047 160-5049 160-5050 166-5299 166-5302 166-5305 168-5347 168-5364
170-5413 170-5430 172-5476 173-5516 176-5584 176-5593 178-5641 211-106 211-108 211-110
213-150 213-151 213-152 215-220 215-225 215-230 216-247 219-338 220-383 220-384
221-419 221-420 222-443 222-449 224-482 229-192 #231-76 234-319 234-320 234-321
234-330 234-337 234-338 234-349 234-350 234-355 234-356 234-358 234-359 234-361
234-363 234-365 234-367 234-369 234-371 234-372 234-374 234-375 234-376 234-378
234-379 234-381 234-384 234-387 234-393 234-394 234-397 234-398 234-412 234-413
234-415 234-419 234-425 234-426 234-431 234-436 234-443 234-444 234-447 234-451
234-457 234-458 234-465 234-469 234-475 234-478 234-482 234-488 234-489 234-492
234-496 234-502 234-508 234-510 234-512 234-514 234-515 234-522 234-533 234-534
234-541 234-544 234-547 234-553 234-558 234-561 234-564 234-571 234-575 234-590
234-593 234-599 234-606 234-612 234-617 234-637 234-639 234-641 234-652 234-669
234-674 234-675 234-677 234-678 234-680 234-681 234-682 234-685 234-687 234-690
234-700 234-716 234-720 234-724 234-729 234-732 234-733 234-736 234-743 234-748
234-749 235-800 236-902 237-929 237-930 237-937 237-958 237-972 237-977 237-981
237-983 237-986 237-991 238-1025 238-1026 238-1027 238-1041 238-1123 238-1127 239-1201
239-1204 240-1245 240-1249 240-1256 240-1278 240-1290 240-1297 241-1317 241-1328 241-1333
241-1336 241-1343 241-1346 241-1352 241-1357 241-1360 241-1362 241-1368 241-1375 241-1379
241-1382 241-1424 241-1437 242-1463 242-1466 243-1501 243-1502
CALLR #4-83
CLEF$S #3-63
CPERR #4-98 228-52 228-53 228-54 228-55 228-56 228-57 228-59 228-60 228-62
228-63 228-64 228-65 228-66 228-67 228-68 228-69 228-70 228-72 228-73
228-74 228-75 228-76 228-78 228-79 228-80 228-81 228-82 228-83 228-84
228-86 228-87 228-88 228-90 228-91 228-92 228-93 228-94 228-95 228-96
228-97 228-98 228-100 228-101 228-102 228-103 228-104 228-105 228-107 228-108
228-110 228-112 228-114 228-115 228-116 228-118 228-120 228-121 228-122 228-124
228-126 228-128 228-130 228-132
DIR$ #20-106 #20-106 #51-1295 #54-1388 #67-1838 #71-1971 #71-1971 #149-4508 #149-4508 #152-4642
#152-4642 #168-5351 #170-5433 #172-5481 #231-77 #234-307 #234-312 #234-313 #235-806 #237-941
#237-943 #237-943 #237-992 #237-992
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 40
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
ERROR$ #4-87 #48-1185 #49-1227 #51-1301 #54-1396 #59-1554 #60-1589 #64-1745 #68-1863 #72-2021
#72-2027 #75-2118 #87-2416 #116-3417 #142-4274 #151-4614 #152-4649 #153-4681 #155-4758 #157-4905
#168-5370 #170-5435 #173-5522 #175-5571 #175-5574
ERR$ #20-106 #51-1295 #54-1388 #67-1838 #71-1971 #149-4508 #152-4642 #168-5351 #170-5433 #172-5481
#234-307 #234-312 #234-313 #235-806 #237-941 #237-943 #237-992
EXIT$S #3-63 #231-77 237-992
GSSW$ #3-62
GTIM$S #20-99 20-106 #231-76
IO10$ #17-697 #150-4582
I10$ #16-668
KLDR$ #3-64 179-5684
KLDW$ #3-64 180-5702
KLDX$ #3-64 #179-5666
KLEVR$ #231-49 233-210 233-210
MOV$ #20-106 20-106 #71-1971 71-1971 #149-4508 149-4508 #152-4642 152-4642 #237-943 237-943
MRKT$ #3-66 182-5786
NBL$ #232-146 #232-146 #232-150 #232-150
OFF$ #20-106 20-106 20-106 20-106 20-106 20-106 20-106 20-106 20-106 #182-5786
182-5786 182-5786 182-5786 182-5786 182-5786 #232-142 232-142 232-142 232-142 232-142
232-142 232-142 #232-146 232-146 232-146 232-146 232-146 #232-150 232-150 232-150
232-150 232-150 #232-161 232-161 232-161 232-161 232-161 232-161 232-161 232-161
232-161 #232-166 232-166 232-166 232-166 232-166 232-166 232-166 232-166 232-166
POP #3-65 #20-107 #20-151 #47-1141 #50-1270 #51-1303 #56-1462 #59-1557 #62-1660 #66-1823
#77-2191 #77-2193 #84-2371 #87-2419 #90-2516 #101-2921 #107-3088 #107-3093 #108-3140 #110-3213
#126-3769 #128-3820 #129-3857 #132-3953 #136-4053 #150-4571 #151-4616 #152-4651 #153-4683 #155-4764
#157-4907 #159-4975 #159-4980 #160-5033 #160-5051 #173-5518 #176-5595 #177-5613 #178-5645 #211-111
#213-153 #215-232 #215-233 #215-237 #216-248 #216-249 #217-286 #222-451 #229-187 #231-76
#234-645 #234-734 #236-903 #240-1280 #240-1291 #241-1425
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 #64-1726
#66-1806 #66-1819 #69-1920 #71-1973 #77-2157 #80-2247 #82-2292 #84-2345 #87-2403 #90-2497
#94-2637 #100-2879 #107-3073 #107-3074 #108-3129 #109-3168 #126-3741 #128-3802 #128-3809 #129-3847
#132-3924 #132-3936 #136-4037 #138-4131 #141-4245 #147-4423 #150-4560 #151-4610 #152-4643 #153-4676
#155-4734 #157-4898 #158-4936 #158-4937 #158-4938 #158-4942 #158-4943 #158-4944 #158-4948 #158-4949
#160-5029 #160-5034 #172-5479 #176-5586 #176-5590 #177-5601 #178-5638 #211-104 #213-149 #215-216
#215-222 #215-227 #216-244 #216-245 #217-272 #217-294 #222-439 #229-176 #231-76 #234-636
#234-638 #234-640 #234-727 #236-899 #240-1269 #241-1416
QDPB$ #232-161 232-161 #232-166 232-166
QIOSY$ #3-60 #3-69 #231-76 #231-80
QIOW$ #3-61 #231-76 #232-161 #232-166
QIOW$C #3-61
QIOW$S #231-77
QIO$ #3-61
RETURN #3-65 #20-152 #47-1142 #48-1188 #49-1232 #50-1271 #51-1305 #54-1398 #56-1463 #59-1558
#60-1592 #62-1661 #64-1748 #66-1824 #67-1853 #68-1866 #72-2018 #75-2121 #77-2194 #80-2250
#84-2372 #87-2420 #88-2466 #90-2518 #92-2600 #94-2661 #101-2922 #107-3094 #108-3141 #110-3214
#116-3419 #119-3521 #126-3770 #128-3821 #129-3858 #130-3897 #132-3954 #134-4007 #136-4054 #138-4143
#142-4272 #142-4276 #145-4381 #146-4411 #147-4436 #148-4458 #149-4514 #150-4572 #151-4618 #152-4652
#153-4684 #155-4765 #156-4860 #157-4909 #159-4977 #159-4981 #160-5052 #166-5307 #168-5372 #170-5437
#173-5520 #175-5569 #175-5577 #176-5596 #177-5615 #178-5646 #211-112 #212-124 #212-146 #213-162
#216-250 #216-253 #220-385 #221-421 #222-452 #224-484 #229-188 #231-76 #234-399 #234-572
KLERR CREATED BY MACRO ON 26-JUL-79 AT 09:27 PAGE 41
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
#234-607 #234-632 #234-646 #234-664 #234-679 #234-691 #234-695 #234-725 #234-735 #234-744
#234-760 #235-811 #235-813 #236-873 #236-881 #236-904 #237-959 #237-976 #237-982 #237-987
#238-1043 #238-1084 #238-1128 #238-1157 #238-1178 #239-1207 #240-1257 #240-1298 #241-1383 #241-1438
#242-1469
RQST$ #3-62 232-142
R50$ #232-142 232-142 232-142
SETF$S #3-61 #71-1971 #149-4508
SOB #3-60 59-1544 64-1744 71-2005 74-2083 75-2116 87-2412 101-2893 101-2911 107-3087
109-3178 110-3204 110-3207 142-4267 155-4754 177-5606 217-284 217-306 234-530 234-616
236-872 236-880 238-1021 238-1156
SVTK$S #3-62
VERC #23-83 #23-93
WTSE$S #3-61 #3-66 152-4642 #231-77 237-943
XCSTA$ #42-884
XCSTP$ #42-875
XRCLR$ #42-893
XRSET$ #42-902
$DEF #3-60 3-68 #231-77 231-79
$IO10 #231-77
$I10 #231-77
.ENB #3-60
.INH #3-60
.STKM #3-63