Trailing-Edge
-
PDP-10 Archives
-
BB-H348C-RM_1982
-
swskit-v21/listings/mcb/stcrc.list
There are no other files named stcrc.list in the archive.
STCRC MACRO M1110 13-OCT-79 08:10
TABLE OF CONTENTS
4- 58 $CLCRC - CALCULATE CRC16 ON A TRANSMIT MESSAGE CHAIN
4- 190 $STCRC - CALCALTE CRC16 ON BLOCK OF DATA
5- 208 $STCR1 - DO CRC ON STRING USING SUBROUTINE OR KG-11
7- 393 $CRC16 - COMPUTE CRC-16
STCRC MACRO M1110 13-OCT-79 08:10 PAGE 3
1 .IIF DF K$$G11 .TITLE STCRCK
2 .IIF NDF K$$G11 .TITLE STCRC
3 .IDENT /V01.00/
4
5 ;
6 ; COPYRIGHT (C) 1978 BY
7 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
8 ;
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
12 ; INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
13 ; COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
14 ; OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY
15 ; TRANSFERRED.
16 ;
17 ; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
18 ; AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
19 ; CORPORATION.
20 ;
21 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
22 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
23 ;
24 ;
25 ; MODULE DESCRIPTION
26 ;
27 ; CRC-16 CALCULATION ROUTINES
28 ;
29 ;
30 ; DISTRIBUTED SYSTEMS SOFTWARE ENGINEERING
31 ;
32 ; IDENT HISTORY:
33 ;
34 ; 1.00 10-FEB-78
35 ; VERSION 2.0 RELEASE
36 ;
37 ;
38 ; EXTERNAL MACRO CALLS
39 ;
40 .MCALL CCBDF$,HWDDF$
41 000000 CCBDF$ ;DEFINE THE CCB OFFSETS
42 000000 HWDDF$ ;DEFINE THE HARDWARE REGISTERS
43
44 ;
45 ; LOCAL SYMBOL DEFINITIONS
46 ;
47
48 170700 KGCSR= 170700 ;ADDRESS OF KG11 CSR
49 000001 CRC16= 1 ;USE CRC 16 CALCULATION
50 000003 LRC16= 3 ;USE LRC16 CALCULATION
51 000010 DDB= 10 ;SET KG11 TO WORD MODE
52 000020 CLRKG= 20 ;INITIALIZE KG11
53 000100 SEN= 100 ;ENTER CYCLE MODE
54 000133 KGLDBC=DDB!LRC16!CLRKG!SEN ;SET TO LOAD NEW BCC ACCUMULATION
55 000111 KGINIT=DDB!CRC16!SEN ;INIT TO DO CRC16 CALCULATION
56
STCRC MACRO M1110 13-OCT-79 08:10 PAGE 4
$CLCRC - CALCULATE CRC16 ON A TRANSMIT MESSAGE CHAIN
58 .SBTTL $CLCRC - CALCULATE CRC16 ON A TRANSMIT MESSAGE CHAIN
59
60 ;+
61 ; **-$CLCRC-CALCULATE CRC16 ON A TRANSMIT MESSAGE CHAIN
62 ;
63 ; INPUTS:
64 ;
65 ; R4 = ADDRESS OF FIRST CCB IN CHAIN
66 ;
67 ; THE FOLLOWING CCB PARAMETERS ARE USED:
68 ; C.LNK = ADDRESS OF NEXT CCB (ZERO ENDS THE CHAIN)
69 ; C.BUF = ADDRESS DOUBLE WORD OF BUFFER
70 ; C.CNT = LENGTH OF BUFFER
71 ; C.FLG = FLAGS (CF.LB, CF.HDR, CF.EOM)
72 ;
73 ; OUTPUTS:
74 ;
75 ; R4 = ADDRESS OF THE FIRST CCB IN THE CHAIN
76 ;
77 ; ALL CRC'S REQUIRED BY THE CHAIN ARE CALCULATED AND STORED.
78 ; WHEN CRC CHARACTERS ARE STORED FOLLOWING DATA, THE BYTE COUNT
79 ; FOR THE PARTICULER BUFFER DESCRIPTOR IS INCREMENTED BY TWO.
80 ;
81 ;
82 ; REGISTERS MODIFIED:
83 ;
84 ; R2 AND R3
85 ;-
86
87 000000 $CLCRC::
88 .IF DF M$$MGE
89
90 .IF DF R$$11D!I$$AS
91
92 MOV @#UPAR0+6,-(SP) ; SAVE CALLER'S MAPPING
93
94 .IFF
95
96 000000 013746 172352 MOV @#KISAR5,-(SP) ;SAVE CALLERS MAPPING ON THE STACK
97 .ENDC
98
99 .IFTF
100 000004 010446 MOV R4,-(SP) ;SAVE CALLERS R4, R1, AND R0
101 000006 010146 MOV R1,-(SP) ;...
102 000010 010046 MOV R0,-(SP) ;...
103 000012 005001 10$: CLR R1 ;INITIAL CRC ACCUMULATOR TO 0
104 000014 000402 BR 30$ ;START CRC ON FIRST BUFFER
105
106 000016 011404 20$: MOV (R4),R4 ;GET NEXT CCB IN CHAIN
107 000020 001434 BEQ 70$ ;EXIT IF AT END OF CHAIN
108 000022 010403 30$: MOV R4,R3 ;COPY CCB POINTER
109 000024 062703 000014 ADD #C.BUF,R3 ;POINT TO FIRST BUFFER DESCRIPTOR
110 000030 40$: ;REFERENCE LABEL
111 .IFT
112
113 .IF DF R$$11D!I$$AS
114
STCRC MACRO M1110 13-OCT-79 08:10 PAGE 4-1
$CLCRC - CALCULATE CRC16 ON A TRANSMIT MESSAGE CHAIN
115 MOV (R3)+,@#UPAR0+6 ; MAP TO DATA BUFFER AREA
116
117 .IFF
118
119 000030 012337 172352 MOV (R3)+,@#KISAR5 ;MAP TO DATA BUFFER AREA
120
121 .ENDC
122
123 .IFF
124
125 TST (R3)+ ;SKIP RELOCATION BIAS ENTRY
126
127 .IFTF
128
129 000034 012302 MOV (R3)+,R2 ;GET OFFSET ADDRESS OF BUFFER
130 .IFT
131
132 .IF DF R$$11D!I$$AS
133
134 BMI 45$ ; SCOM ADDRESS ARE ALWAYS CORRECT
135 ADD #20000,R2 ; MAP THROUGH UPAR3 RATHER THAN UPAR2
136
137 .IFF
138
139 000036 022702 140000 CMP #140000,R2 ;IS THE BUFFER MAPPED BY AN APR < 6 ?
140 000042 101002 BHI 45$ ;YES-USE THE PROPER APR
141 000044 162702 020000 SUB #20000,R2 ;MAP BUFFER THROUGH KISAR5 (RATHER THAN 6)
142
143 .ENDC
144 000050 45$:
145 .IFTF
146 000050 012300 MOV (R3)+,R0 ;GET LENGTH OF MESSAGE SEGMENT
147 000052 CALL STCR2 ;CALCULATE CRC ON SEGMENT
148 000056 032713 000004 BIT #CF.EOM,(R3) ;LAST SEGMENT IN MESSAGE ?
149 000062 001003 BNE 60$ ;IF NE, YES - STORE CRC
150 000064 005723 TST (R3)+ ;LAST SEGMENT IN CCB ?
151 000066 100753 BMI 20$ ;GET NEXT CCB IN CHAIN IF YES
152 000070 000757 BR 40$ ;ELSE DO NEXT SEGMENT IN THIS CCB
153
154 000072 60$: ;REF LABEL
155 .IF DF C$$CRC
156
157 MOV R1,C.CRC(R4) ;STORE CRC IN DEDICATED CELL
158
159 .IFF
160
161 000072 060002 ADD R0,R2 ;POINT TO THE END OF THE DATA BUFFER
162 000074 110122 MOVB R1,(R2)+ ;STORE CRC FOLLOWING DATA
163 000076 000301 SWAB R1 ;...
164 000100 110122 MOVB R1,(R2)+ ;...
165 000102 062743 000002 ADD #2,-(R3) ;INCREMENT COUNT BY TWO
166
167 .ENDC
168
169 000106 005001 CLR R1 ;INITIALIZE CRC ACCUMULATION
170 000110 000742 BR 20$ ;CONTINUE WITH NEXT CCB IN CHAIN
171
STCRC MACRO M1110 13-OCT-79 08:10 PAGE 4-2
$CLCRC - CALCULATE CRC16 ON A TRANSMIT MESSAGE CHAIN
172 000112 012600 70$: MOV (SP)+,R0 ;RESTORE CALLERS REGISTERS
173 000114 012601 MOV (SP)+,R1 ;...
174 000116 012604 MOV (SP)+,R4 ;...
175 .IFT
176
177 .IF DF R$$11D!I$$AS
178
179 MOV (SP)+,@#UPAR0+6 ; RESTORE CALLER'S MAPPING
180
181 .IFF
182
183 000120 012637 172352 MOV (SP)+,@#KISAR5 ;RESTORE CALLING PROCESS' MAPPING
184
185 .ENDC
186
187 .ENDC
188 000124 RETURN ;RETURN TO CALLER
189
190 .SBTTL $STCRC - CALCALTE CRC16 ON BLOCK OF DATA
191
192 ;+
193 ; **-$STCRC-CHECK CRC16 ON A BLOCK OF DATA
194 ;
195 ; USED TO CALCULATE CRC FOR DDCMP HEADER OR THE ENTIRE DATA PORTION
196 ; OF A DATA OR MOP MESSAGE. CAN ALSO BE USED FOR FIRST SEGMENT
197 ; OF DATA OR MOP MESSAGE.
198 ;
199 ; INPUT:
200 ; SAME AS $STCR1 EXCEPT R1 (PARTIAL CRC)
201 ;
202 ; OUTPUT:
203 ; SAME AS $STCR1 BELOW
204 ;-
205 000126 005001 $STCRC::CLR R1 ;SET INITIAL ACCUMULATOR TO ZERO
206
STCRC MACRO M1110 13-OCT-79 08:10 PAGE 5
$STCR1 - DO CRC ON STRING USING SUBROUTINE OR KG-11
208 .SBTTL $STCR1 - DO CRC ON STRING USING SUBROUTINE OR KG-11
209
210 ;+
211 ; **-$STCR1-XXX
212 ;
213 ; DO CRC COMPUTATION ON C(R1) BYTES OF STRING DEFINED BY R2
214 ; USED TO DO CRC ON SEGMENT OF DATA WHERE DATA IS NOT
215 ; CONTIGUOUS.
216 ;
217 ; INPUTS:
218 ;
219 ; R0 = STRING COUNT IN BYTES
220 ; R1 = PARTIAL CRC OR 0 IF STARTING NEW CRC
221 ; R2 = STRING ADDRESS
222 ; STACK = SUBROUTINE RETURN ADDRESS
223 ; STACK-2 = BUFFER BIAS (COPIED FROM KISAR6 BY $LIBCL MACRO. BUFFERS
224 ; MAPPED BY APR < 6 MAY HAVE ANY VALUE IN THIS POSITION)
225 ;
226 ; OUTPUTS:
227 ;
228 ; R0 = STRING COUNT IN BYTES
229 ; R1 = UPDATED CRC VALUE
230 ; R2 = STRING ADDRESS
231 ; R3,R4,R5 PRESERVED
232 ;-
233 000001 P$$70=1 ;ASSEMBLE FOR A FAST PROCESSOR
234 000130 $STCR1::
235 .IF DF M$$MGE
236
237 .IF DF R$$11D!I$$AS
238
239 MOV @#UPAR0+6,-(SP) ; SAVE CALLER'S MAPPING
240 MOV 4(SP),@#UPAR0+6 ; MAP BUFFER THROUGH UPAR3
241 TST R2 ; IS IT AN SCOM ADDRESS?
242 BMI 5$ ; YES ... ADDRESS IS CORRECT
243 ADD #20000,R2 ; NO ... CHANGE BIAS BY 4K
244 5$: CALL STCR2 ; DO CRC
245 MOV (SP)+,@#UPAR0+6 ; RESTORE CALLER'S MAPPING
246 RETURN
247
248 .IFF
249
250 000130 013746 172352 MOV @#KISAR5,-(SP) ;SAVE CALLERS MAPPING
251 000134 016637 000004 172352 MOV 4(SP),@#KISAR5 ;MAP BUFFER THROUGH KISAR5
252 000142 022702 140000 CMP #140000,R2 ;IS THIS BUFFER MAPPED BY A APR < 6 ?
253 000146 101002 BHI 5$ ;YES-USE ITS PROPER APR
254 000150 162702 020000 SUB #20000,R2 ;USE KISAR5 RATHER THAN KISAR6
255 000154 5$: CALL STCR2 ;DO CRC
256 000160 012637 172352 MOV (SP)+,@#KISAR5 ;RESTORE CALLERS BIAS
257 000164 RETURN
258
259 .ENDC
260
261 .ENDC
262
263
264 000166 STCR2:
STCRC MACRO M1110 13-OCT-79 08:10 PAGE 5-1
$STCR1 - DO CRC ON STRING USING SUBROUTINE OR KG-11
265 000166 010046 MOV R0,-(SP) ;SAVE REGISTERS
266 000170 010246 MOV R2,-(SP)
267 000172 010346 MOV R3,-(SP)
268 000174 010446 MOV R4,-(SP)
269
270 .IF NDF K$$G11
271
272 ; USE SOFTWARE CRC IF KG11 IS NOT IN SYSTEM.
273 ;
274 000176 010046 MOV R0,-(SP) ;COUNT USED ON STACK
275 000200 010204 MOV R2,R4 ;COPY BYTE ADDRESS POINTER
276 000202 005316 10$: DEC (SP) ;COUNT DOWN
277 000204 002404 BLT 20$ ;IF LT, DONE
278 000206 112400 MOVB (R4)+,R0 ;GET NEXT BYTE
279 000210 CALL $CRC16 ;GO TO CRC16 SUBROUTINE
280 000214 000772 BR 10$ ;CHECK COUNT
281 000216 005726 20$: TST (SP)+ ;REMOVE COUNT
282
283 .IFF
284 ;
285 ; SYSTEM HAS KG-11 CRC OPTION. THE DEVICE STATUS MUST BE SAVED AND
286 ; RESTORED SINCE DEVICE MAY BE SHARED.
287 ;
288 MOV #KGCSR,R4 ;POINT TO KG11 CSR REGISTER
289 MOV (R4)+,-(SP) ;SAVE CURRENT STATUS REGISTER
290 MOV (R4),-(SP) ;SAVE CURRENT BCC ACCUMULATOR
291 MOV #KGLDBC,-(R4) ;SETUP TO LOAD NEW BCC ACCUMULATOR
292 ;
293 .IF DF P$$70
294 ;
295 ; THE KG-11 NORMALLY OPERATES FASTER THAN MOST PROCESSORS AND A
296 ; CHECK FOR DONE IS UNNECCESSARY. HOWEVER, FOR CERTAIN PROCESSORS,
297 ; THE CHECK MUST BE MADE.
298 ;
299 25$: TSTB (R4) ;CHECK DONE (FOR FAST CYCLE PROCESSORS)
300 BPL 25$ ;LOOP IF NOT READY
301
302 .IFTF
303
304 MOV R1,4(R4) ;LOAD NEW CRC
305 MOV #KGINIT,(R4) ;INIT FOR CRC16
306
307 .IFT
308
309 28$: TSTB (R4) ;CHECK DONE
310 BPL 28$ ;LOOP IF NOT READY
311
312 .IFTF
313 ;
314 ; THE CRC IS COMPUTED A WORD AT A TIME WHEN POSSIBLE. ODD BYTES AT
315 ; BEGINNING (ODD ALIGNED BUFFER) AND END (ODD LENGTH) ARE HANDLED
316 ; SEPARATELY.
317 ;
318 CMP (R4)+,(R4)+ ;POINT TO KG11 DATA REGISTER
319 BIT #1,R2 ;BUFFER START ON BYTE BOUNDARY?
320 BEQ 35$ ;START USING WORDS IF NOT
321 30$: BIC #DDB,-4(R4) ;SET KG11 TO BYTE MODE
STCRC MACRO M1110 13-OCT-79 08:10 PAGE 5-2
$STCR1 - DO CRC ON STRING USING SUBROUTINE OR KG-11
322 MOVB (R2)+,(R4) ;DO CRC ON BYTE
323 BIS #DDB,-4(R4) ;SET BACK TO WORD MODE
324 DEC R0 ;DECREMENT COUNT
325 BLE 60$ ;DONE IF LESS OR EQUAL
326 35$: ASR R0 ;CONVERT COUNT TO WORDS
327 ROR -(SP) ;SAVE ODD BYTE COUNT ON STACK
328 40$: DEC R0 ;DEC WORD COUNTER
329 BLT 50$ ;BR IF DONE
330 MOV (R2)+,(R4) ;DO CRC ON WORD
331
332 .IFT
333 ;
334 ; KG-11 WORST CASE COMPUTATION TIME IS 2 MICROSECONDS. THIS
335 ; REQUIRES AT LEAST 7 MEMORY CYCLES ON CURRENT MACHINES.
336 ;
337 NOP
338 NOP ;USE NOP TO WAIT FOR DEVICE TO FINISH
339
340 .IFTF
341
342 BR 40$ ;CHECK ON COUNT
343 ;
344 50$: TST (SP)+ ;CHECK FOR ODD BYTE COUNT
345 BMI 30$ ;BR IF ONE LAST BYTE TO GO
346 60$: MOV -(R4),R1 ;RETURN NEW CRC IN R1
347 MOV #KGLDBC,-(R4) ;SET UP TO RESTORE OLD BCC
348
349 .IFT
350
351 70$: TSTB (R4) ;DONE YET?
352 BPL 70$ ;LOOP IF NOT
353
354 .ENDC
355
356 MOV (SP)+,4(R4) ;LOAD OLD BCC
357 MOV (SP)+,(R4) ;RESTORE OLD CSR STATUS
358
359 .ENDC
360
361 000220 012604 MOV (SP)+,R4 ;RESTORE R4,R3,R2,R0
362 000222 012603 MOV (SP)+,R3
363 000224 012602 MOV (SP)+,R2
364 000226 012600 MOV (SP)+,R0
365 000230 RETURN ;EXIT
366
STCRC MACRO M1110 13-OCT-79 08:10 PAGE 6
$STCR1 - DO CRC ON STRING USING SUBROUTINE OR KG-11
368 ; LOCAL MACRO
369 ;
370 ; DO EXCLUSIVE OR IF PROCESSOR DOESN'T HAVE XOR INSTRUCTION
371 ;
372 ; XOR A,B
373 ;
374 ; EXCLUSIVE OR A WITH B, LEAVING RESULT IN B
375
376 .IF DF P$$40!P$$34!P$$45!P$$70
377
378 000000 R$$EIS=0
379
380 .ENDC
381
382 .IF NDF R$$EIS
383
384 .MACRO XOR A,B
385 MOV A,R3 ;COPY A
386 BIC B,R3 ;A <- A AND NOT B
387 BIC A,B ;B <- B AND NOT A
388 BIS R3,B ;B <- A OR B
389 .ENDM
390
391 .ENDC
STCRC MACRO M1110 13-OCT-79 08:10 PAGE 7
$CRC16 - COMPUTE CRC-16
393 .SBTTL $CRC16 - COMPUTE CRC-16
394 ;
395 ; THIS ROUTINE IS CALLED FROM COMMUNICATIONS CODE TO COMPUTE THE
396 ; REDUNDANCY CHECK BASED ON P(X)=X**16+X**15+X**2+1.
397 ; TIMING: C. 113.5 MICROSECONDS ON 11/05 OR 11/10
398 ; C. 30 MICROSECONDS ON 11/40
399 ; TIMES INCLUDE JSR IN AND RTS OUT.
400 ;
401 ; INPUTS:
402 ;
403 ; R0=BYTE TO CHECK
404 ; R1=CRC ACCUMULATOR (NOT INITIALIZED)
405 ; (SP)=RETURN PC
406 ;
407 ; OUTPUTS:
408 ;
409 ; R1 = NEW OR UPDATED CRC ACCUMULATION
410 ; R0,R2,R3 ARE DESTROYED
411 ;-
412
413 000232 $CRC16:: ;REFERENCE LABEL
414 000232 A: ;REFERENCE LABEL
415 .IF NDF K$$G11
416
417 000232 074100 XOR R1,R0 ;EXCLUSIVE OR BYTE WITH OLD CRC
418 000234 010002 MOV R0,R2 ;SAVE A COPY OF RESULT
419 000236 042700 177760 BIC #177760,R0 ;EXTRACT LOW 4 BITS
420 000242 006300 ASL R0 ;BYTE ADDRESS, WORD INDEX
421 000244 060700 ADD PC,R0 ;SET UP PIC ADDRESS
422 000246 016000 000036 MOV CTABL-.(R0),R0 ;GET FIRST MODIFIER WORD
423 000252 042702 177417 BIC #177417,R2 ;NOW EXTRACT HIGH 4 BITS
424 000256 006202 ASR R2 ;SET UP TO ENTER SECOND HALF
425 000260 006202 ASR R2 ;AGAIN BYTE ADDRESS TO
426 000262 006202 ASR R2 ;WORD INDEX
427 000264 060702 ADD PC,R2 ;SET UP PIC ADDRESS
428 000266 016202 000056 MOV CTABL+32.-.(R2),R2 ;GET SECOND MODIFIER WORD
429 000272 074200 XOR R2,R0 ;EXCLUSIVE OR MODIFIER VALUES
430 000274 105001 CLRB R1 ;CLEAR LOW BYTE OR OLD CRC
431 000276 000301 SWAB R1 ;NOW WORK ON UPPER BYTE
432 000300 074001 XOR R0,R1 ;PRODUCE UPDATED CRC
433
434 .IFF
435
436 ; THIS ROUTINE SHOULD NEVER BE CALLED WHEN THE SYSTEM HAS A
437 ; KG11 FOR CALCULATION OF CRC. THIS IS A FATAL ERROR!!!!!
438
439 BPT ;CAUSE CRASH TO CATCH CONDITION
440
441 .IFTF
442
443 000302 RETURN
444 ;
445 ; LOCAL DATA - MODIFIER TABLES
446 ;
447
448
449 .IFT
STCRC MACRO M1110 13-OCT-79 08:10 PAGE 7-1
$CRC16 - COMPUTE CRC-16
450
451 000304 000000 CTABL: .WORD 0 ;FIRST HALF OF TABLE
452 000306 140301 .WORD 140301
453 000310 140601 .WORD 140601
454 000312 000500 .WORD 500
455 000314 141401 .WORD 141401
456 000316 001700 .WORD 1700
457 000320 001200 .WORD 1200
458 000322 141101 .WORD 141101
459 000324 143001 .WORD 143001
460 000326 003300 .WORD 3300
461 000330 003600 .WORD 3600
462 000332 143501 .WORD 143501
463 000334 002400 .WORD 2400
464 000336 142701 .WORD 142701
465 000340 142201 .WORD 142201
466 000342 002100 .WORD 2100
467
468 000344 000000 .WORD 0 ;SECOND HALF OF TABLE
469 000346 146001 .WORD 146001
470 000350 154001 .WORD 154001
471 000352 012000 .WORD 12000
472 000354 170001 .WORD 170001
473 000356 036000 .WORD 36000
474 000360 024000 .WORD 24000
475 000362 162001 .WORD 162001
476 000364 120001 .WORD 120001
477 000366 066000 .WORD 66000
478 000370 074000 .WORD 74000
479 000372 132001 .WORD 132001
480 000374 050000 .WORD 50000
481 000376 116001 .WORD 116001
482 000400 104001 .WORD 104001
483 000402 042000 .WORD 42000
484
485 .ENDC
486
487 000152 $C16LN==.-A ;LENGTH OF CODE IN BYTES
488 000001 .END
STCRC MACRO M1110 13-OCT-79 08:10 PAGE 7-2
SYMBOL TABLE
A 000232R CTABL 000304R FE.EXP= 000200 KGCSR = 170700 P$$P45= 000000
A$$CHK= 000000 C$$CKP= 000000 FE.EXT= 000001 KGINIT= 000111 P$$WRD= 000000
A$$CPS= 000000 C$$ORE= 000400 FE.EXV= 000004 KGLDBC= 000133 P$$70 = 000001
A$$PRI= 000000 C$$RSH= 177564 FE.LSI= 000400 KISAR0= 172340 Q$$OPT= 000010
A$$TRP= 000000 C.BID 000003 FE.MUP= 000002 KISAR5= 172352 R$$DER= 000000
CB.CCB= 000002 C.BUF 000014 FE.MXT= 040000 KISAR6= 172354 R$$EIS= 000000
CB.RDB= 000004 C.BUF1 000014 FE.NLG= 100000 KISAR7= 172356 R$$K11= 000001
CE.ABO= 100362 C.BUF2 000024 FE.PKT= 000100 KISDR0= 172300 R$$SND= 000000
CE.DIS= 100366 C.CNT 000020 FE.PLA= 000020 KISDR6= 172314 R$$11M= 000000
CE.ERR= 100370 C.CNT1 000020 FS.AST= 000000 KISDR7= 172316 SEN = 000100
CE.MOP= 100372 C.CNT2 000030 FS.CIB= 002000 K$$CNT= 177546 SISDR0= 172200
CE.NTE= 100361 C.FLG 000022 FS.CRA= 001000 K$$CSR= 177546 SR0 = 177572
CE.RTE= 100376 C.FLG1 000022 FS.DIS= 013000 K$$LDC= 000000 SR3 = 172516
CE.SRC= 100364 C.FLG2 000032 FS.DVC= 001000 K$$TPS= 000074 STCR2 000166R
CE.TMO= 100374 C.FNC 000010 FS.ENB= 012000 LD$LP = 000000 SWR = 177570
CF.EOM= 000004 C.LIN 000006 FS.GET= 006000 LRC16 = 000003 S$$WRG= 000000
CF.HDR= 000020 C.LNK 000000 FS.INI= 000000 L$$ASG= 000000 S$$YSZ= 007600
CF.LB = 100000 C.MOD 000011 FS.KIL= 000000 L$$DRV= 000000 TPS = 177564
CF.SOM= 000010 C.NSP 000004 FS.LTM= 001000 L$$P11= 000001 T$$KMG= 000000
CF.SYN= 000040 C.RSV 000002 FS.MNT= 004000 L$$11R= 000000 T$$MIN= 000000
CF.TRN= 000100 C.STA 000007 FS.MSN= 014000 MPAR = 172100 UBMPR = 170200
CLRKG = 000020 C.STS 000012 FS.RNG= 011000 MPCSR = 177746 UDSAR0= 177660
CMODE = 140000 DDB = 000010 FS.RTN= 001000 M$$CRB= 000124 UDSDR0= 177620
CRC16 = 000001 D$$BUG= 177514 FS.SET= 005000 M$$CRX= 000000 UISAR0= 177640
CS.ABO= 000100 D$$ISK= 000000 FS.STM= 000000 M$$FCS= 000000 UISAR4= 177650
CS.BUF= 000200 D$$L11= 000001 FS.STP= 002000 M$$MGE= 000000 UISAR5= 177652
CS.DCR= 000400 D$$YNC= 000000 FS.STR= 001000 M$$OVR= 000000 UISAR6= 177654
CS.DEV= 000002 D$$YNM= 000000 FS.TRM= 003000 N$$LDV= 000001 UISAR7= 177656
CS.DIS= 000040 E$$XPR= 000000 FS.XKL= 002000 N$$MOV= 000010 UISDR0= 177600
CS.ENB= 000020 FC.CCP= 000020 FS.XOF= 010000 N$$SYS= 000001 UISDR4= 177610
CS.EOF= 000001 FC.CTL= 000006 FS.XON= 007000 N$$USR= 000001 UISDR5= 177612
CS.ERR= 100000 FC.KCP= 000016 F$$LVL= 000001 PIRQ = 177772 UISDR6= 177614
CS.HFE= 002000 FC.KIL= 000004 G$$TPP= 000000 PMODE = 030000 UISDR7= 177616
CS.LST= 040000 FC.RCE= 000002 G$$TSS= 000000 PR0 = 000000 V$$CTR= 001000
CS.MTL= 004000 FC.RCP= 000014 G$$TTK= 000000 PR1 = 000040 X$$DBT= 000000
CS.RNG= 000010 FC.TIM= 000010 G$$WRD= 000000 PR4 = 000200 $CLCRC 000000RG
CS.ROV= 000004 FC.XCP= 000012 I$$RAR= 000000 PR5 = 000240 $CRC16 000232RG
CS.RSN= 010000 FC.XME= 000000 I$$RDN= 000000 PR6 = 000300 $C16LN= 000152 G
CS.SUC= 000001 FE.CAL= 000040 KDSAR0= 172360 PR7 = 000340 $STCRC 000126RG
CS.TMO= 020000 FE.DRV= 000010 KDSDR0= 172320 PS = 177776 $STCR1 000130RG
. ABS. 000034 000
000404 001
ERRORS DETECTED: 0
VIRTUAL MEMORY USED: 5225 WORDS ( 21 PAGES)
DYNAMIC MEMORY: 5836 WORDS ( 22 PAGES)
ELAPSED TIME: 00:00:16
STCRC,[130,34]STCRC/CR/-SP=[130,10]NETLIB/ML,RSXMC4/PA:1,STCRC
STCRC CREATED BY MACRO ON 13-OCT-79 AT 08:10 PAGE 1
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
A 000232 R #7-414 7-487
CF.EOM = 000004 4-148
CLRKG = 000020 #3-52 3-54
CRC16 = 000001 #3-49 3-55
CTABL 000304 R 7-422 7-428 #7-451
C$$CRC = ****** 4-155
C.BUF 000014 4-109
DDB = 000010 #3-51 3-54 3-55
I$$AS = ****** 4-90 4-113 4-132 4-177 5-237
KGCSR = 170700 #3-48
KGINIT = 000111 #3-55
KGLDBC = 000133 #3-54
KISAR5 = 172352 4-96 4-119 4-183 5-250 5-251 5-256
K$$G11 = ****** 3-1 3-2 5-270 7-415
LRC16 = 000003 #3-50 3-54
M$$MGE = 000000 4-88 5-235
P$$34 = ****** 6-376
P$$40 = ****** 6-376
P$$45 = ****** 6-376
P$$70 = 000001 #5-233 6-376
R$$EIS = 000000 #6-378 6-382
R$$11D = ****** 4-90 4-113 4-132 4-177 5-237
SEN = 000100 #3-53 3-54 3-55
STCR2 000166 R 4-147 5-255 #5-264
$CLCRC 000000 RG #4-87
$CRC16 000232 RG 5-279 #7-413
$C16LN = 000152 G #7-487
$STCRC 000126 RG #4-205
$STCR1 000130 RG #5-234
STCRC CREATED BY MACRO ON 13-OCT-79 AT 08:10 PAGE 2
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
CALL 4-147 5-255 5-279
CCBDF$ #3-40 #3-41
HWDDF$ #3-40 #3-42
RETURN 4-188 5-257 5-365 7-443