Google
 

Trailing-Edge - PDP-10 Archives - BB-H348C-RM_1982 - swskit-v21/listings/mcb/test72.list
There are no other files named test72.list in the archive.
TEST72	MACRO M1110  21-OCT-79 11:28  PAGE 3


      1						.TITLE	TEST72
      2						.IDENT	/X04.06/
      3					;
      4					;
      5					; COPYRIGHT (C) 1978
      6					; DIGITAL EQUIPMENT CORPORATION
      7					;
      8					; THIS SOFTWARE IS FURNISHED UNDER  A LICENSE FOR USE ONLY ON A
      9					; SINGLE  COMPUTER  SYSTEM  AND  MAY  BE  COPIED  ONLY WITH THE
     10					; INCLUSION  OF THE ABOVE  COPYRIGHT NOTICE.  THIS SOFTWARE, OR
     11					; ANY OTHER  COPIES THEREOF,  MAY NOT BE  PROVIDED OR OTHERWISE
     12					; MADE AVAILABLE  TO ANY OTHER  PERSON EXCEPT  FOR USE  ON SUCH
     13					; SYSTEM AND TO ONE  WHO AGREES TO THESE LICENSE TERMS.   TITLE
     14					; TO AND OWNERSHIP  OF THE SOFTWARE  SHALL AT ALL TIMES  REMAIN
     15					; IN DEC.
     16					;
     17					; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
     18					; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
     19					; EQUIPMENT CORPORATION.
     20					;
     21					; DEC ASSUMES NO RESPONSIBILITY  FOR THE USE  OR RELIABILITY OF
     22					; ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
     23					;
     24					;  DN20 LOOPBACK TEST PROGRAM
     25					;
     26					;  L. WEBBER	25-AUG-77
     27					;
     28					;  VERSION 2
     29					;  L. WEBBER	13-JUN-78
     30					;  T. PORCHER
     31					;  REVISED FOR DECNET VERSION 2.0
     32					;
     33					;  4.01
     34					;  L. WEBBER	18-MAY-79
     35					;  MODIFY SPECIAL LINE PROCESSING IN "SETLIN" TO CLEAR CARRY IF NO
     36					;  PROCESSING IS DONE
     37					;
     38					;  4.02
     39					;  L. WEBBER	29-MAY-79
     40					;  FIX CODE TO RETURN BUFFERS TO THE FREE BUFFER CHAIN
     41					;
     42					;  4.03
     43					;  L. WEBBER	26-JUN-79
     44					;  FIX TO PICK UP INITIAL BUFFERS FROM FREE QUEUE
     45					;
     46					;  4.04
     47					;  A. PECKHAM	17-SEP-79
     48					;  REMOVE DIRECT USE OF PDV INDICES TO AVOID UNDEFINED SYMBOL SYNDROME
     49					;
     50					;  4.05
     51					;  L. WEBBER	19-OCT-79
     52					;  CALL "CLRLPB" ON EXIT TO CLEAN UP LOOPBACK
     53					;
     54					;  4.06
     55					;  L. WEBBER	21-OCT-79
     56					;  FIX LINKAGE PROBLEM INTRODUCED WITH #4
     57					;
TEST72	MACRO M1110  21-OCT-79 11:28  PAGE 4


     59					;
     60					;  EXTERNAL MACROS
     61					;
     62
     63					.MCALL	DIR$,OPNW$,GNDW$,ACC$,REC$,RECW$,CON$,DSCW$,CLSW$,CONB$$
     64					.MCALL	REC$S,SND$S,RECW$E
     65					.MCALL	ALUN$C,WTSE$S,CLEF$S,SETF$S,ASTX$S,EXIT$S,SAVRG,RESRG,MRKT$S
     66					.MCALL	SLTDF$,NSSYM$,PDVDF$
     67	000000					SLTDF$		;DEFINE SYSTEM LINE TABLE SYMBOLS
     68	000000					PDVDF$		;DEFINE PDV SYMBOLS
     69	000000					NSSYM$		;DEFINE NSP SYMBOLS
     70		000002 			CTCSR	= 2		;OFFSET OF CSR ADDRESS IN DUP LINE TABLE
     71
TEST72	MACRO M1110  21-OCT-79 11:28  PAGE 5


     73					;
     74					;  LOCAL MACROS
     75					;
     76
     77					.MACRO	BUFFER	PIPE
     78						.WORD	0,0
     79						.WORD	PIPE
     80						.BLKW	BUFL
     81						.ENDM
     82					.MACRO	FREBUF	CHAIN
     83						.WORD	CHAIN
     84						.WORD	0,0
     85						.BLKW	BUFL
     86						.ENDM
     87
     88					;
     89					; SET UP DEBUGGING MACROS
     90					;
     91
     92						.MACRO	DSWERR	?ADR
     93						.IF DF	D$BUG
     94						BCC	ADR
     95						BPT
     96					ADR':
     97						.ENDC
     98						.ENDM
     99
    100					;
    101					;  BUFFER CONTROL BLOCK
    102					;
    103
    104		000000 			B.IOSB	= 0.		;I/O STATUS
    105		000002 			B.CNT	= 2.		;  BLOCK
    106		000004 			B.PIPE	= 4.		;PIPE CONTROL BLOCK ADDRESS
    107		000006 			B.BUF	= 6.		;START OF BUFFER PROPER
    108
    109					;
    110					;  PIPE CONTROL BLOCK - ONE FOR EACH END OF A LOGICAL LINK THIS
    111					;  PROGRAM CONTROLS
    112					;
    113
    114		000000 			P.IO	= 0.		;RECEIVES ACTIVE THIS PIPE
    115		000002 			P.RLUN	= 2.		;LUN FOR RECEIVES ON THIS PIPE
    116		000004 			P.SLUN	= 4.		;LUN FOR SENDS ON THE NEXT PIPE IN SEQUENCE
    117		000006 			P.SPIP	= 6.		;ADDRESS OF NEXT PIPE IN CHAIN
    118		000010 			P.LEN	= 8.		;PCB LENGTH
    119
    120
    121					;
    122					;  CONSTANTS AND VARIABLES
    123					;
    124
    125					; EVENT FLAG NUMBERS
    126
    127		000005 			NETFN	= 5.		;NETWORK EVENT FLAG - SET BY AST
    128		000006 			WAITFN	= 6.		;TIME DELAY FLAG - SET BY MARK TIME
    129		000007 			GNDFN	= 7.		;GET NETWORK DATA FLAG
TEST72	MACRO M1110  21-OCT-79 11:28  PAGE 5-1


    130
    131					; BUFFER LENGTHS
    132
    133		000062 			BUFL	= 50.		;MAIN BUFFER LENGTH IN WORDS
    134		000070 			NETLEN	= 56.		;NETWORK BUFFER LENGTH IN WORDS
    135		000152 			B.LEN	= BUFL*2+B.BUF	;LENGTH OF A BUFFER PLUS CONTROL BLOCK IN BYTES
    136
    137					;  BIT DEFINITIONS
    138
    139		010000 			MTMODE	= 010000	;MAINTENANCE MODE (SELECT B) FOR DUP CSR
    140
    141					;  FREE BUFFERS
    142
    143	000000	000002'			BUFHDR:	.WORD	BUF1	;FREE BUFFER HEADER
    144	000002				BUF1:	FREBUF	BUF2
    145	000154				BUF2:	FREBUF	BUF3
    146	000326				BUF3:	FREBUF	BUF4
    147	000500				BUF4:	FREBUF	BUF5
    148	000652				BUF5:	FREBUF	BUF6
    149	001024				BUF6:	FREBUF	BUF7
    150	001176				BUF7:	FREBUF	BUF8
    151	001350				BUF8:	FREBUF	BUF9
    152	001522				BUF9:	FREBUF	BUF10
    153	001674				BUF10:	FREBUF	BUF11
    154	002046				BUF11:	FREBUF	BUF12
    155	002220				BUF12:	FREBUF	BUF13
    156	002372				BUF13:	FREBUF	BUF14
    157	002544				BUF14:	FREBUF	BUF15
    158	002716				BUF15:	FREBUF	BUF16
    159	003070				BUF16:	FREBUF	BUF17
    160	003242				BUF17:	FREBUF	BUF18
    161	003414				BUF18:	FREBUF	0
    162
    163					;  NETWORK BUFFER
    164
    165	003566				NETBUF:	.BLKW	NETLEN
    166
    167					;  I/O EXECUTION BLOCKS
    168
    169	003746				OPNBLK:	OPNW$	2,NETFN,IOST,,<3>
    170	003776				GNDBLK:	GNDW$	2,GNDFN,GNDST,,<NETBUF,NETLEN*2>
    171	004026				ACCBLK:	ACC$	3,,,,<NETBUF>
    172	004056				ACCBLX:	ACC$	5,,,,<NETBUF>
    173	004106				CONBLX:	CON$	4,,IOSTX,,<CRB>
    174	004136				CRB:	CONB$$	<      >,0,1,<TEST72>
    175	004246				RECBK1:	RECW$	3,NETFN,,,<,BUFL*2>
    176	004276				DSCBLX:	DSCW$	4,NETFN
    177	004326				DSCBX1:	DSCW$	5,NETFN
    178	004356				DSCBLK:	DSCW$	3,NETFN
    179	004406				CLSBLK:	CLSW$	2,NETFN,IOST
    180
    181					;  PIPE CONTROL BLOCKS
    182
    183	004436	000000 	000003 	000004 	PIPE3:	.WORD	0,3,4,PIPE5	;PIPE FOR LUN 3
	004444	004456'
    184	004446	000000 	000004 	000003 	PIPE4:	.WORD	0,4,3,PIPE3	;PIPE FOR LUN 4
	004454	004436'
TEST72	MACRO M1110  21-OCT-79 11:28  PAGE 5-2


    185	004456	000000 	000005 	000005 	PIPE5:	.WORD	0,5,5,PIPE4	;PIPE FOR LUN 5
	004464	004446'
    186	004466				PIPEND:
    187	004466	004436'			LSTPIP:	.WORD	PIPE3		;LAST PIPE A RECEIVE WAS ISSUED ON
    188
    189					;  DEVICE MNEMONIC TABLE
    190
    191	004470				DEVTAB:
    192	004470	   104 	   115 	   103 		.ASCII	/DMC /
	004473	   040
    193	004474	015413 				.RAD50	/DMC/
    194	004476	   113 	   104 	   120 		.ASCII	/KDP /
	004501	   040
    195	004502	042560 				.RAD50	/KDP/
    196	004504	   104 	   125 	   120 		.ASCII	/DUP /
	004507	   040
    197	004510	016130 				.RAD50	/DUP/
    198	004512				DEVEND:
    199
    200					;  MISCELLANEOUS STUFF
    201
    202	004512	000000 	000000 		IOST:	.WORD	0,0
    203	004516	000000 	000000 		IOSTX:	.WORD	0,0
    204	004522	000000 	000000 		GNDST:	.WORD	0,0
    205	004526	000000 			OOPFLG:	.WORD	0	;SOMETHING WENT WORNG...
    206	004530	000000 			OOPRSN:	.WORD	0	;OOPS REASON
    207	004532	000000 			DSCFLG:	.WORD	0	;SOMEBODY DISCONNECTED
    208	004534	000000 			CSRAD:	.WORD	0	;ADDRESS OF CSR (FOR DUP)
    209
    210					;  DISPATCH TABLE FOR SPECIAL POST-PROCESSING
    211
    212	004536	006554'			POSTTB:	.WORD	NULL	;NO SPECIAL PROCESSING
    213	004540	000000G				.WORD	KMCUNSET;KMC/DUP LINE - MUST TURN OFF MAINT. MODE
    214						.EVEN
TEST72	MACRO M1110  21-OCT-79 11:28  PAGE 6


    216	004542				TEST72::
    217	004542					ALUN$C	2,NS,0		;SET UP
    218	004550					DSWERR
    219	004550					ALUN$C	3,NS,0		;  NETWORK
    220	004556					DSWERR
    221	004556					ALUN$C	4,NS,0		;  LOGICAL LINKS
    222	004564					DSWERR
    223	004564					ALUN$C	5,NS,0
    224	004572					DSWERR
    225	004572					DIR$	#OPNBLK		;CONNECT TO NETWORK
    226	004600					DSWERR
    227
    228	004600				10$:	DIR$	#GNDBLK		;POLL FOR NETWORK DATA
    229	004606					DSWERR
    230	004606	026727 	177710 	000400G		CMP	GNDST,#<NT.CON*400+IS.SUC> ;IF SUCCESS,
    231	004614	001371 				BNE	10$			   ;  (NOT)
    232	004616					DIR$	#ACCBLK		;ACCEPT THE CONNECT
    233	004624					DSWERR
    234
    235					; NOW GET THE FIRST DATA BLOCK, WHICH SELECTS THE LINE TO LOOP ON
    236
    237	004624					CALL	GETBUF		;GET A BUFFER
    238	004630	010102 				MOV	R1,R2		;ADDRESS THE
    239	004632	062702 	000006 			ADD	#B.BUF,R2	;  BUFFER PROPER
    240	004636					RECW$E	RECBK1,,,R1,,<R2> ;READ A BLOCK
    241	004670					DSWERR
    242	004670	121127 	000000G			CMPB	(R1),#IS.SUC	;IF ERROR ON THIS BLOCK,
    243	004674	001403 				BEQ	20$		;  BETTER FORGET IT
    244	004676	011146 				MOV	(R1),-(SP)	;[DEBUGGING AID]
    245	004700					CALL	OOPS
    246	004704	010146 			20$:	MOV	R1,-(SP)	;SAVE THE BUFFER ADDRESS
    247	004706	016103 	000002 			MOV	2(R1),R3	;PICK UP ITS LENGTH
    248
    249					;  SET THE SPECIFIED LINE TO LOOPBACK STATE
    250
    251	004712					CALL	SETLIN
    252	004716	103002 				BCC	25$		;WORKED
    253	004720					CALL	OOPS		;DIDN'T
    254	004724				25$:	CALL	CHKLIN		;COME BACK WHEN LINE IS UP
    255
    256					;  LINE SET UP. NOW INITIALIZE THINGS AND ISSUE CONNECT TO SELF
    257
    258	004730	012704 	000000G			MOV	#$NTNAM,R4	;PICK UP LOCAL NODE NAME
    259	004734	012703 	004136'			MOV	#CRB,R3		;  AND MOVE IT INTO
    260	004740	012423 				MOV	(R4)+,(R3)+	;  THE NODE NAME
    261	004742	012423 				MOV	(R4)+,(R3)+	;  SLOT IN THE
    262	004744	011413 				MOV	(R4),(R3)	;  CONNECT REQUEST BLOCK
    263	004746					DIR$	#CONBLX		;ISSUE THE CONNECT TO SELF
    264	004754					DSWERR
    265	004754				30$:	DIR$	#GNDBLK		;WAIT FOR THE
    266	004762					DSWERR
    267	004762	026727 	177534 	000400G		CMP	GNDST,#<NT.CON*400+IS.SUC> ;CONNECT TO
    268	004770	001371 				BNE	30$		;	         COME AROUND
    269	004772					DIR$	#ACCBLX		;ACCEPT THE CONNECTION
    270	005000					DSWERR
    271	005000					CLEF$S	#NETFN
    272	005012	012604 				MOV	(SP)+,R4	;WRITE OUT
TEST72	MACRO M1110  21-OCT-79 11:28  PAGE 6-1


    273	005014	012764 	004436'	000004 		MOV	#PIPE3,B.PIPE(R4) ;THE FIRST
    274	005022					CALL	SNDBUF		;  DATA BLOCK
    275	005026	012703 	004436'			MOV	#PIPE3,R3	;PUT UP ANOTHER
    276	005032					CALL	40$		;  READ ON PIPE 3
    277	005036	012703 	004446'			MOV	#PIPE4,R3	;  AND TWO
    278	005042					CALL	40$		;  ON PIPE 4
    279	005046					CALL	40$		;
    280	005052	012703 	004456'			MOV	#PIPE5,R3	;  AND TWO
    281	005056					CALL	40$		;  ON PIPE 5
    282	005062					CALL	40$		;
    283	005066	000410 				BR	50$		;CONTINUE
    284
    285	005070				40$:	CALL	GETBUF		;PICK UP A BUFFER
    286	005074	010361 	000004 			MOV	R3,B.PIPE(R1)	;SET PROPER PIPE
    287	005100	010104 				MOV	R1,R4		;PUT UP A
    288	005102					CALL	RCVBUF		;  READ INTO IT
    289	005106					RETURN
TEST72	MACRO M1110  21-OCT-79 11:28  PAGE 7


    291					;
    292					;  NOW SETTLE BACK AND SMOKE A PIPE WHILE THE AST'S (SEE BELOW)
    293					;  DO ALL THE WORK.  WHEN WE WAKE UP, THE PROCESS IS GOING DOWN
    294					;  ONE WAY OR ANOTHER
    295					;
    296
    297	005110				50$:	WTSE$S	#NETFN		;WAIT TO BE WAKED UP
    298
    299					;  WELL, HERE WE ARE AGAIN
    300
    301	005122	005767 	177404 			TST	DSCFLG		;IF A DISCONNECT OCCURRED,
    302	005126	001004 				BNE	.DONE		;  COME DOWN IN A CIVILIZED WAY
    303	005130	005767 	177372 			TST	OOPFLG		;IF AN ERROR OCCURRED,
    304	005134	001040 				BNE	.OOPS		;  COME DOWN IN A ROWDY WAY
    305	005136	000003 				BPT			;WHY ARE WE HERE??
    306
    307	005140				.DONE:	CALL	DONE
    308	005144					CLEF$S	#WAITFN		;WAIT A SECOND
    309	005156					DSWERR
    310	005156					MRKT$S	#WAITFN,#1,#2	;  TO LET ALL THE
    311	005202					DSWERR
    312	005202					WTSE$S	#WAITFN		;  UNFINISHED I/O GET DONE
    313	005214					DSWERR
    314	005214					CALL	CLRLPB		;CLEAN UP LOOPBACK
    315	005220	016700 	000000G			MOV	PECIAL,R0	;DO ANY SPECIAL
    316	005224					CALL	@POSTTB(R0)	;  POST-PROCESSING REQUIRED
    317	005230					EXIT$S			;QUIT
    318	005236				.OOPS:	CALL	OOPS
TEST72	MACRO M1110  21-OCT-79 11:28  PAGE 8


    320					;
    321					;  BEFORE WE GET INTO THE MAIN PROGRAM LOGIC, A WORD ON HOW IT
    322					;  WORKS.  WHEN AN I/O COMPLETES, ONE OF TWO AST'S IS SCHEDULED,
    323					;  DEPENDING ON WHETHER A SEND OR A RECEIVE COMPLETED.  THIS AST
    324					;  WILL CONTINUE THE I/O STREAM.
    325					;
    326					;  THIS IS THE RECEIVE AST.
    327					;
    328
    329	005242				RCVAST:
    330	005242					SAVRG	<R1,R2,R3,R4>
    331	005252	016604 	000010 			MOV	10(SP),R4	;PICK UP THE STATUS BLOCK
    332	005256	010066 	000010 			MOV	R0,10(SP)	;  (I.E., ADDRESS THE BUFFER)
    333
    334	005262					CALL	DSCCHK		;IF A DISCONNECT OCCURRED,
    335	005266	103003 				BCC	90$		;  DON'T PROCESS THE RECEIVE
    336	005270					CALL	RCVIO		;OTHERWISE, PROCESS IT
    337	005274	000402 				BR	100$
    338
    339	005276				90$:	CALL	PUTBUF		;IF THE BUFFER ISN'T USED, FREE IT UP
    340	005302				100$:	RESRG	<R4,R3,R2,R1,R0>
    341	005314					ASTX$S
    342
    343					;
    344					;  THIS IS THE SEND AST
    345					;
    346
    347	005322				SNDAST:
    348	005322					SAVRG	<R1,R2,R3,R4>
    349	005332	016604 	000010 			MOV	10(SP),R4	;PICK UP THE STATUS BLOCK
    350	005336	010066 	000010 			MOV	R0,10(SP)	;  (I.E., ADDRESS THE BUFFER)
    351
    352	005342					CALL	DSCCHK		;IF A DISCONNECT OCCURRED,
    353	005346	103003 				BCC	90$		;  DON'T PROCESS THE SEND
    354	005350					CALL	SNDIO		;OTHERWISE, PROCESS IT
    355	005354	000402 				BR	100$		;  PROCESS THE SEND
    356
    357	005356				90$:	CALL	PUTBUF		;IF THE BUFFER ISN'T USED, FREE IT UP
    358	005362				100$:	RESRG	<R4,R3,R2,R1,R0>
    359	005374					ASTX$S
TEST72	MACRO M1110  21-OCT-79 11:28  PAGE 9


    361					;  THIS ROUTINE PROCESSES A RECEIVE COMPLETE.  IF THE COMPLETION WAS
    362					;  A SUCCESS, THE BUFFER IS SENT DOWN THE NEXT PIPE IN THE SEQUENCE.
    363					;  A RECEIVE IS ISSUED FOR THE PIPE ON WHICH ONE JUST COMPLETED (IF
    364					;  A BUFFER IS AVAILABLE).
    365					;
    366
    367	005402				RCVIO:
    368	005402	005374 	000004 			DEC	@B.PIPE(R4)	;DROP THE ACTIVE RECEIVE COUNT FOR PIPE
    369	005406	122714 	000000G			CMPB	#IE.ABO,(R4)	;DON'T PROCESS
    370	005412	001425 				BEQ	20$		;IF LINK IS ABORTED.
    371	005414					CALL	OOPCHK		;IF I/O IS NOT GOOD,
    372	005420	103422 				BCS	20$		;  DON'T BOTHER
    373	005422	010403 				MOV	R4,R3		;SAVE THE BUFFER ADDRESS
    374	005424					CALL	SNDBUF		;SEND THE BUFFER OUT
    375	005430					CALL	GETBUF		;GET A FRESH BUFFER
    376	005434	103416 				BCS	30$		;  NONE - FORGET IT
    377	005436	016300 	000004 			MOV	B.PIPE(R3),R0	;ADDRESS PCB FOR PIPE RECEIVED ON
    378	005442	016000 	000006 			MOV	P.SPIP(R0),R0	;  SENT, PUT UP THE RECEIVE THERE
    379	005446	010067 	177014 			MOV	R0,LSTPIP	;RECORD LAST PIPE RECIEVED ON
    380	005452	010061 	000004 			MOV	R0,B.PIPE(R1)	;SET PIPE FOR RECEIVE
    381	005456	010104 				MOV	R1,R4		;PUT UP A RECEIVE
    382	005460					CALL	RCVBUF		;  INTO THE NEW BUFFER
    383	005464	000402 				BR	30$
    384
    385	005466				20$:	CALL	PUTBUF		;IF THE BUFFER ISN'T USED, FREE IT
    386	005472				30$:	RETURN
TEST72	MACRO M1110  21-OCT-79 11:28  PAGE 10


    388					;
    389					;  THIS ROUTINE PROCESSES A SEND COMPLETE.  IF ANY OF THE THREE PIPES
    390					;  HAS FEWER THAN TWO RECEIVES OUTSTANDING, A RECEIVE WILL BE ISSUED
    391					;  FOR THAT PIPE USING THE BUFFER JUST RELEASED.  OTHERWISE, THE BUFFER
    392					;  WILL BE PUT BACK ON THE FREE BUFFER STACK.
    393					;
    394
    395	005474				SNDIO:
    396	005474	122714 	000000G			CMPB	#IE.ABO,(R4)	;DON'T PROCESS
    397	005500	001416 				BEQ	90$		;IF LINK IS ABORTED.
    398	005502					CALL	OOPCHK		;IF I/O IS NOT GOOD,
    399	005506	103413 				BCS	90$		;  DON'T BOTHER
    400
    401	005510	016701 	176752 			MOV	LSTPIP,R1	;FIND OUT WHICH PIPE GOT THE LAST BUFFER
    402	005514	016101 	000006 			MOV	P.SPIP(R1),R1	;GIVE THIS BUFFER
    403	005520	010167 	176742 			MOV	R1,LSTPIP	;  TO THE NEXT PIPE IN LINE
    404	005524	010164 	000004 			MOV	R1,B.PIPE(R4)	;GO PUT UP A
    405	005530					CALL	RCVBUF		;  READ ON THAT PIPE
    406	005534	000402 				BR	100$
    407
    408	005536				90$:	CALL	PUTBUF		;IF THE BUFFER ISN'T USED, FREE IT
    409	005542				100$:	RETURN
TEST72	MACRO M1110  21-OCT-79 11:28  PAGE 11


    411					;
    412					;  ROUTINE TO TRANSMIT A BUFFER
    413					;
    414
    415	005544				SNDBUF:
    416	005544	016401 	000004 			MOV	B.PIPE(R4),R1	;ADDRESS PIPE CONTROL BLOCK FOR BUFFER
    417	005550	010400 				MOV	R4,R0		;ADDRESS THE
    418	005552	062700 	000006 			ADD	#B.BUF,R0	;  BUFFER PROPER
    419	005556					SND$S	P.SLUN(R1),,R4,#SNDAST,<R0,B.CNT(R4)>
    420	005622					DSWERR
    421	005622					RETURN
    422
    423					;
    424					;  ROUTINE TO READ INTO A BUFFER
    425					;
    426
    427	005624				RCVBUF:
    428	005624	016401 	000004 			MOV	B.PIPE(R4),R1	;ADDRESS PIPE CONTROL BLOCK FOR BUFFER
    429	005630	010400 				MOV	R4,R0		;ADDRESS THE
    430	005632	062700 	000006 			ADD	#B.BUF,R0	;  BUFFER PROPER
    431	005636					REC$S	P.RLUN(R1),,R4,#RCVAST,<R0,#BUFL*2>
    432	005702					DSWERR
    433	005702	005211 				INC	(R1)		;BUMP ACTIVE RECEIVE COUNT FOR PIPE
    434	005704					RETURN
TEST72	MACRO M1110  21-OCT-79 11:28  PAGE 12


    436					;
    437					;  ROUTINES FOR ADDING TO AND SUBTRACTING FROM THE FREE BUFFER STACK
    438					;
    439
    440	005706				GETBUF:
    441	005706	016701 	172066 			MOV	BUFHDR,R1	;ADDRESS A BUFFER
    442	005712	001404 				BEQ	90$		;QUEUE EMPTY - COMPLAIN
    443	005714	011167 	172060 			MOV	(R1),BUFHDR	;OTHERWISE, CHAIN TO
    444	005720	005011 				CLR	(R1)		;  NEXT BUFFER
    445	005722	000401 				BR	100$		;  AND RETURN THE FREE ONE
    446	005724	000261 			90$:	SEC
    447	005726				100$:	RETURN
    448
    449
    450	005730				PUTBUF:
    451	005730	016714 	172044 			MOV	BUFHDR,(R4)	;CHAIN IN BUFFER
    452	005734	010467 	172040 			MOV	R4,BUFHDR	;  AT TOP OF STACK
    453	005740					RETURN
TEST72	MACRO M1110  21-OCT-79 11:28  PAGE 13


    455					;
    456					;  THIS ROUTINE CHECKS FOR A SUCCESSFUL I/O COMPLETION AND
    457					;  TELLS THE MAIN TASK TO BOMB IF THE COMPLETION WAS IN ERROR
    458					;
    459
    460	005742				OOPCHK:
    461	005742	121427 	000000G			CMPB	(R4),#IS.SUC	;CHECK STATUS BYTE
    462	005746	001416 				BEQ	90$		;  OK
    463	005750	005767 	176554 			TST	OOPRSN		;HAVE WE ALREADY GOT A GOOD REASON ?
    464	005754	001002 				BNE	10$		;IF NOT,
    465	005756	110467 	176546 			MOVB	R4,OOPRSN	;SAVE THIS ONE.
    466	005762	005267 	176540 		10$:	INC	OOPFLG
    467	005766					SETF$S	#NETFN		;WAKE MAIN PROCESS
    468	006000					DSWERR
    469	006000	000261 				SEC			;GO BACK
    470	006002	000401 				BR	100$		;  AND BOMB
    471
    472	006004	000241 			90$:	CLC
    473	006006				100$:	RETURN
TEST72	MACRO M1110  21-OCT-79 11:28  PAGE 14


    475					;
    476					;  THIS ROUTINE CHECKS FOR A DISCONNECT OR ABORT.  IF FOUND, THE
    477					;  PROPER FLAG IS SET AND THE MAIN ROUTINE IS AWAKENED.
    478					;
    479
    480	006010				DSCCHK:
    481	006010					DIR$	#GNDBLK		;POLL FOR NETWORK DATA
    482	006016					DSWERR
    483	006016	026727 	176500 	001400G		CMP	GNDST,#<NT.DSC*400+IS.SUC> ;DISCONNECT -
    484	006024	001003 				BNE	10$			   ;  SET DSC
    485	006026	005267 	176500 			INC	DSCFLG			   ;  FLAG AND
    486	006032	000406 				BR	20$			   ;  WAKE EVERYBODY UP
    487	006034	026727 	176462 	002400G	10$:	CMP	GNDST,#<NT.ABO*400+IS.SUC> ;ABORT -
    488	006042	001011 				BNE	90$			   ;  SET OOPS
    489	006044	005267 	176456 			INC	OOPFLG			   ;  FLAG AND
    490	006050				20$:	SETF$S	#NETFN			   ;  WAKE EVERYBODY UP
    491	006062					DSWERR
    492	006062	000241 				CLC
    493	006064	000401 				BR	100$
    494
    495	006066	000261 			90$:	SEC			;DIDN'T FIND ANYTHING USEFUL -
    496	006070				100$:	RETURN			;  GO BACK TO CALLER
TEST72	MACRO M1110  21-OCT-79 11:28  PAGE 15


    498					;
    499					;  DONE - CLEAN UP AND GO HOME
    500					;
    501
    502	006072				DONE:
    503	006072					DIR$	#DSCBLX		;DISCONNECT LINK TO SELF
    504	006100					DIR$	#DSCBX1		;  (BOTH ENDS OF IT)
    505	006106					DIR$	#DSCBLK		;DISCONNECT LINK TO CALLER
    506	006114					DIR$	#CLSBLK		;DISCONNECT NETWORK
    507	006122					RETURN
TEST72	MACRO M1110  21-OCT-79 11:28  PAGE 16


    509					;
    510					;  COME HERE WHEN ALL ELSE FAILS
    511					;
    512
    513	006124				OOPS:
    514	006124					DIR$	#GNDBLK		;GET THE ABORT CODE [IF ANY]
    515	006132					CALL	DONE		;GET RID OF EVERYBODY
    516	006136	000003 				BPT			;STOP FOR REPAIRS
TEST72	MACRO M1110  21-OCT-79 11:28  PAGE 18


    519					;
    520					;  SETLIN
    521					;
    522					;  ROUTINE TO SET SPECIFIED LINE TO LOOPBACK
    523					;
    524					;  INPUTS:	R2 -> LINE SPECIFICATION
    525					;
    526					;		  "DEV"_"CTL"_"UNIT"<CR>
    527					;
    528					;		WHERE "DEV" = ONE- TO THREE-LETTER DEVICE MNEMONIC
    529					;		      "CTL" = OCTAL CONTROLLER NUMBER
    530					;		      "UNIT" = OCTAL LINE NUMBER
    531					;		AND THE UNDERSCORES (OR BACK-ARROWS, IF THIS LISTING
    532					;		  IS PRINTED ON THAT SORT OF PRINTER) ARE AS SHOWN
    533					;		  AND <CR> IS A CARRIAGE RETURN.
    534					;
    535					;		R3 = LENGTH OF MESSAGE RECEIVED (*NOT* OF SPECIFICATION)
    536					;
    537					;  OUTPUTS:	IF THE LINE SPECIFICATION IS VALID, THE NODE LOOPBACK
    538					;		MODE IS SET, USING THE SPECIFIED LINE.
    539					;
    540					;		CC - LOOPBACK MODE SET
    541					;		CS - ERROR
    542					;
    543					;  DESTROYS R1-R4
    544					;
    545
    546	006140				SETLIN:
    547	006140	000240 				NOP			;[*** TEMPORARY ***]
    548	006142	060203 				ADD	R2,R3		;PUT A CARRIAGE RETURN AT END OF STRING
    549	006144	112713 	000015 			MOVB	#^O<15>,(R3)	;  TO BE SURE ONE EXISTS IN THE BUFFER
    550	006150	010204 				MOV	R2,R4		;SET LENGTH
    551	006152	062704 	000003 			ADD	#3,R4		;  VALIDITY POINTER
    552	006156	012703 	004470'			MOV	#DEVTAB,R3	;ADDRESS DEVICE TABLE
    553	006162	010200 			5$:	MOV	R2,R0
    554	006164	010301 				MOV	R3,R1
    555	006166	121027 	000137 		10$:	CMPB	(R0),#'_	;IF WE HIT A DELIMITER,
    556	006172	001415 				BEQ	15$		;  COMPARE IS DONE
    557	006174	121027 	000015 			CMPB	(R0),#^O<15>	;(CR IS DELIMITER
    558	006200	001412 				BEQ	15$		;  TOO)
    559	006202	020400 				CMP	R4,R0		;DEVICE MNEMONIC IS TOO LONG -
    560	006204	101524 				BLOS	95$		;  BOMB
    561	006206	122021 				CMPB	(R0)+,(R1)+	;CHECK NEXT CHARACTER AGAINST
    562	006210	001766 				BEQ	10$		;  CURRENT DEVICE TABLE ENTRY
    563	006212	062703 	000006 			ADD	#6,R3		;MISMATCH -
    564	006216	020327 	004512'			CMP	R3,#DEVEND	;  TRY NEXT
    565	006222	103757 				BLO	5$		;  ENTRY
    566	006224	000514 				BR	95$		;MNEMONIC NOT IN DEVICE TABLE - BOMB
    567	006226	016302 	000004 		15$:	MOV	4(R3),R2	;GET PROCESS ID
    568	006232					CALL	$PDVID		;CONVERT TO INDEX
    569	006236	010246 				MOV	R2,-(SP)	;AND SAVE
    570
    571	006240	010002 				MOV	R0,R2		;PICK UP
    572	006242					CALL	OCTAL		;  CONTROLLER NUMBER
    573	006246	103410 				BCS	17$		;ERROR - BOMB
    574	006250	010046 				MOV	R0,-(SP)	;SAVE CONTROLLER NUMBER
    575	006252					CALL	OCTAL		;PICK UP LINE NUMBER
TEST72	MACRO M1110  21-OCT-79 11:28  PAGE 18-1


    576	006256	103404 				BCS	17$		;ERROR - BOMB
    577	006260	010002 				MOV	R0,R2		;R2 = LINE #
    578	006262	012601 				MOV	(SP)+,R1	;R1 = CONTROLLER #
    579	006264	012600 				MOV	(SP)+,R0	;R0 = PDV INDEX OF DDM FOR DEVICE
    580	006266	000402 				BR	18$
    581
    582	006270	005726 			17$:	TST	(SP)+		;ERROR - CLEAN UP STACK
    583	006272	000471 				BR	95$		;  AND RETURN AN ERROR
TEST72	MACRO M1110  21-OCT-79 11:28  PAGE 19


    585					;
    586					;  NOW FIND THE SLT ENTRY FOR THE SPECIFIED LINE. MAP SLN TO NSP
    587					;  CHANNEL#, AND PUT THE CHANNEL# INTO THE NSP LINE LOOPBACK CELL
    588					;  "$NSPLI"
    589					;
    590
    591	006274	005004 			18$:	CLR	R4
    592	006276	016703 	000000G			MOV	$SLTTA,R3	;INITIALIZE SCAN
    593	006302	120063 	000002 		20$:	CMPB	R0,L.DDM(R3)	;CHECK PDV INDEX FOR DDM
    594	006306	001024 				BNE	30$		;  WRONG ENTRY
    595	006310	120163 	000012 			CMPB	R1,L.CTL(R3)	;CHECK CONTROLLER #
    596	006314	001021 				BNE	30$		;  WRONG ENTRY
    597	006316	120263 	000013 			CMPB	R2,L.UNT(R3)	;CHECK LINE #
    598	006322	001016 				BNE	30$		;  WRONG ENTRY
    599	006324	032763 	040000 	000000 		BIT	#LF.RDY,L.FLG(R3) ;CHECK ENTRY FOR
    600	006332	001451 				BEQ	95$		  ;  "READY" AND
    601	006334	032763 	100000 	000000 		BIT	#LF.ACT,L.FLG(R3) ;  "ACTIVE".  BOMB
    602	006342	001445 				BEQ	95$		  ;  IF NOT BOTH
    603	006344	006304 				ASL	R4		;CONVERT SLN TO INDEX
    604	006346	126427 	000001G	000000G		CMPB	$LLCTB+1(R4),#PD$NSP ;IF THIS LINE NOT RUN BY NSP,
    605	006354	001040 				BNE	95$		     ;  BOMB
    606	006356	000407 				BR	40$		;GO SET LOOPBACK
    607	006360	005204 			30$:	INC	R4		;BUMP SLN
    608	006362	062703 	000014 			ADD	#L.LEN,R3	;GO TRY
    609	006366	020327 	000000G			CMP	R3,#$SLTND	;  ANOTHER
    610	006372	103743 				BLO	20$		;  ENTRY
    611	006374	000430 				BR	95$		;OUT OF ENTRIES - BOMB
    612
    613					;  SET THE LOOPBACK PARAMETER TO THE CHANNEL# OF THE SELECTED LINE
    614
    615	006376	010002 			40$:	MOV	R0,R2		;SAVE DEVICE PDV INDEX
    616	006400					CALL	STLPBK		;CALL A SUBROUTINE TO DO IT
    617	006404	010046 				MOV	R0,-(SP)	;SAVE NSP CHANNEL NUMBER FOR LINE
    618
    619					;  DO ANY DEVICE-DEPENDENT LINE SETUP
    620
    621	006406	016301 	000004 			MOV	L.DDS(R3),R1	;ADDRESS DEVICE TABLE
    622	006412	016200 	000000G			MOV	$PDVTB(R2),R0	;DRIVER PROCESS DESCRIPTOR
    623	006416	026027 	000006 	042560 		CMP	Z.NAM(R0),#^RKDP ;IF DEVICE IS A KMC/DUP,
    624	006424	001003 				BNE	50$		;  (NOT)
    625	006426					CALL	KMCSET		;  DO KMC SETUP
    626	006432	000406 				BR	90$		;  AND FINISH
    627	006434	026027 	000006 	016130 	50$:	CMP	Z.NAM(R0),#^RDUP ;IF DEVICE IS A DUP,
    628	006442	001002 				BNE	90$		;  (NOT)
    629	006444					CALL	DUPSET		;  DO DUP SETUP
    630	006450	012600 			90$:	MOV	(SP)+,R0	;PICK UP CHANNEL NUMBER
    631	006452	000241 				CLC			;  AND FINISH
    632	006454	000401 				BR	100$
    633
    634	006456	000261 			95$:	SEC			;O WELL
    635	006460				100$:	RETURN
TEST72	MACRO M1110  21-OCT-79 11:28  PAGE 20


    637					;
    638					;  ROUTINE TO PICK UP AN ASCII OCTAL REPRESENTATION AND CONVERT IT TO
    639					;  BINARY
    640					;
    641					;  INPUT:	R2 -> OCTAL STRING DELIMITED BY "_" OR <CR>
    642					;
    643					;  OUTPUT:	R0 = BINARY NUMBER
    644					;
    645
    646	006462				OCTAL:
    647	006462	005000 				CLR	R0
    648	006464	121227 	000015 			CMPB	(R2),#^O<15>	;AT END OF STRING -
    649	006470	001425 				BEQ	90$		;  RETURN A ZERO
    650	006472	005202 				INC	R2		;BUMP PAST STARTING "_"
    651
    652	006474	121227 	000137 		10$:	CMPB	(R2),#'_	;HIT DELIMITER
    653	006500	001421 				BEQ	90$		;  (EITHER "_" OR
    654	006502	121227 	000015 			CMPB	(R2),#^O<15>	;  <CR>) - RETURN
    655	006506	001416 				BEQ	90$		;  WITH WHAT WE GOT
    656	006510	121227 	000060 			CMPB	(R2),#'0	;VERIFY THAT THE
    657	006514	103415 				BLO	95$		;  CHARACTER IS
    658	006516	112246 				MOVB	(R2)+,-(SP)	;  AN OCTAL DIGIT
    659	006520	042716 	177760 			BIC	#^C<17>,(SP)	;  (BETWEEN OCTAL
    660	006524	121627 	000007 			CMPB	(SP),#7		;  <60> AND <67>)
    661	006530	003007 				BGT	95$		;BOMB IF NOT
    662
    663	006532	006300 				ASL	R0		;SHIFT ACCUMULATED
    664	006534	006300 				ASL	R0		;  VALUE OUT OF
    665	006536	006300 				ASL	R0		;  THE LOW-ORDER DIGIT
    666	006540	052600 				BIS	(SP)+,R0	;MOVE NEW DIGIT IN
    667	006542	000754 				BR	10$		;PROCESS NEXT CHARACTER
    668
    669	006544	000241 			90$:	CLC			;RETURN
    670	006546	000401 				BR	100$		;  SUCCESS
    671
    672	006550	000261 			95$:	SEC			;  OR
    673	006552				100$:	RETURN			;  FAILURE
TEST72	MACRO M1110  21-OCT-79 11:28  PAGE 21


    675					;
    676					;  THIS ROUTINE DOES NOTHING AT ALL
    677					;
    678
    679	006554				NULL:	RETURN
    680		004542'				.END	TEST72
TEST72	MACRO M1110  21-OCT-79 11:28  PAGE 21-1
SYMBOL TABLE

ACCBLK  004026R  	DSCFLG  004532R  	L.CTL   000012   	NT.ABT= 000004   	R$$DER= 000000
ACCBLX  004056R  	DUPSET= ****** GX	L.DDM   000002   	NT.CON= 000001   	R$$K11= 000001
A$$CHK= 000000   	D$$BUG= 177514   	L.DDS   000004   	NT.DSC= 000003   	R$$SND= 000000
A$$CPS= 000000   	D$$ISK= 000000   	L.DLC   000003   	NT.INT= 000002   	R$$11M= 000000
A$$PRI= 000000   	D$$L11= 000001   	L.DLM   000006   	NT.LOG= 000011   	SETLIN  006140R
A$$TRP= 000000   	D$$YNC= 000000   	L.DLS   000010   	NT.MOP= 000010   	SNDAST  005322R
A.LULU= 000002   	D$$YNM= 000000   	L.FLG   000000   	NULL    006554R  	SNDBUF  005544R
A.LUNA= 000004   	E$$XPR= 000000   	L.LEN = 000014   	N$$LDV= 000001   	SNDIO   005474R
A.LUNU= 000006   	F$$LVL= 000001   	L.UNT   000013   	N$$MOV= 000010   	STLPBK= ****** GX
BUFHDR  000000R  	GETBUF  005706R  	MTMODE= 010000   	N$$SYS= 000001   	S$$WRG= 000000
BUFL  = 000062   	GNDBLK  003776R  	M$$CRB= 000124   	N$$USR= 000001   	S$$YSZ= 007600
BUF1    000002R  	GNDFN = 000007   	M$$CRX= 000000   	N.IOAE= 000012   	TEST72  004542RG
BUF10   001674R  	GNDST   004522R  	M$$FCS= 000000   	N.IOEF= 000006   	T$$KMG= 000000
BUF11   002046R  	G$$TPP= 000000   	M$$MGE= 000000   	N.IOFN= 000002   	T$$MIN= 000000
BUF12   002220R  	G$$TSS= 000000   	M$$OVR= 000000   	N.IOLU= 000004   	V$$CTR= 001000
BUF13   002372R  	G$$TTK= 000000   	NETBUF  003566R  	N.IOPL= 000014   	WAITFN= 000006
BUF14   002544R  	G$$WRD= 000000   	NETFN = 000005   	N.IOPR= 000007   	X$$DBT= 000000
BUF15   002716R  	IE.ABO= ****** GX	NETLEN= 000070   	N.IOSB= 000010   	ZF.DDM= 000001
BUF16   003070R  	IE.NDA= 177662   	NE$ABO= 000046   	OCTAL   006462R  	ZF.DLC= 000002
BUF17   003242R  	IE.NNT= 177660   	NE$ABT= 000011   	OOPCHK  005742R  	ZF.KMX= 000020
BUF18   003414R  	IE.NRJ= 177666   	NE$ACC= 000042   	OOPFLG  004526R  	ZF.LLC= 000004
BUF2    000154R  	IE.URJ= 177667   	NE$ACT= 000044   	OOPRSN  004530R  	ZF.LMC= 000100
BUF3    000326R  	IOST    004512R  	NE$CDI= 000052   	OOPS    006124R  	ZF.MFL= 000010
BUF4    000500R  	IOSTX   004516R  	NE$COM= 000047   	OPNBLK  003746R  	ZF.MUX= 000040
BUF5    000652R  	IS.DAO= 000002   	NE$FCF= 000050   	PD$NSP= ****** GX	ZF.TIM= 000200
BUF6    001024R  	IS.SUC= ****** GX	NE$FMT= 000005   	PECIAL= ****** GX	Z.DAT   000014
BUF7    001176R  	I$$RAR= 000000   	NE$GEN= 000007   	PIPEND  004466R  	Z.DSP   000000
BUF8    001350R  	I$$RDN= 000000   	NE$ILS= 000043   	PIPE3   004436R  	Z.FLG   000011
BUF9    001522R  	KMCSET= ****** GX	NE$IMG= 000053   	PIPE4   004446R  	Z.LEN = 000014
B.BUF = 000006   	KMCUNS= ****** GX	NE$MLB= 000006   	PIPE5   004456R  	Z.LLN   000010
B.CNT = 000002   	K$$CNT= 177546   	NE$NOD= 000002   	POSTTB  004536R  	Z.MAP   000016
B.IOSB= 000000   	K$$CSR= 177546   	NE$NSD= 000003   	PUTBUF  005730R  	Z.NAM   000006
B.LEN = 000152   	K$$LDC= 000000   	NE$RES= 000001   	P$$P45= 000000   	Z.PCB   000012
B.PIPE= 000004   	K$$TPS= 000074   	NE$SSR= 000000   	P$$WRD= 000000   	Z.SCH   000004
CHKLIN= ****** GX	LD$LP = 000000   	NE$SSS= 000045   	P.IO  = 000000   	$LLCTB= ****** GX
CLRLPB= ****** GX	LF.ACT= 100000   	NE$STA= 000051   	P.LEN = 000010   	$NTNAM= ****** GX
CLSBLK  004406R  	LF.BWT= 000007   	NE$TCN= 000040   	P.RLUN= 000002   	$PDVID= ****** GX
CONBLX  004106R  	LF.DLO= 000040   	NE$TCO= 000041   	P.SLUN= 000004   	$PDVTB= ****** GX
CRB     004136R  	LF.ENA= 002000   	NE$TPA= 000010   	P.SPIP= 000006   	$SLTND= ****** GX
CSRAD   004534R  	LF.MDC= 000100   	NE$UOB= 000004   	Q$$OPT= 000010   	$SLTTA= ****** GX
CTCSR = 000002   	LF.MFL= 004000   	NO.DTR= 000077   	Q.IOAE= 000012   	$$$   = 000030R     002
C$$CKP= 000000   	LF.MTP= 000020   	NO.FAL= 000021   	Q.IOEF= 000006   	$$$ARG= 000002
C$$ORE= 000400   	LF.RDY= 040000   	NO.FA1= 000001   	Q.IOFN= 000002   	$$$FLG= 016630
C$$RSH= 177564   	LF.REA= 010000   	NO.NCU= 000023   	Q.IOLU= 000004   	$$$FMT= 000001
DEVEND  004512R  	LF.TIM= 000010   	NO.RTL= 000022   	Q.IOPL= 000014   	$$$LOC= 004136R
DEVTAB  004470R  	LF.UNL= 020000   	NO.TAS= 000000   	Q.IOPR= 000007   	$$$OST= 000014
DONE    006072R  	LSTPIP  004466R  	NO.TCL= 000017   	Q.IOSB= 000010   	$$$T1 = 000002
DSCBLK  004356R  	L$$ASG= 000000   	NO.TC1= 000005   	RCVAST  005242R  	$$$T2 = 000034R     002
DSCBLX  004276R  	L$$DRV= 000000   	NO.TLK= 000020   	RCVBUF  005624R  	.DONE   005140R
DSCBX1  004326R  	L$$P11= 000001   	NR$IFC= 000030   	RCVIO   005402R  	.OOPS   005236R
DSCCHK  006010R  	L$$11R= 000000   	NT.ABO= 000005   	RECBK1  004246R

. ABS.	000016	   000
      	006556	   001
$DPB$$	000040	   002
ERRORS DETECTED:  0

VIRTUAL MEMORY USED:  7944 WORDS  ( 32 PAGES)
TEST72	MACRO M1110  21-OCT-79 11:28  PAGE 21-2
SYMBOL TABLE

DYNAMIC MEMORY:  9004 WORDS  ( 34 PAGES)
ELAPSED TIME:  00:01:04
TEST72,[135,30]TEST72/CR=[130,10]NETLIB/ML,RSXMC4/PA:1,[135,10]TEST72
TEST72     CREATED BY  MACRO  ON 21-OCT-79 AT 11:28	PAGE 1
SYMBOL CROSS REFERENCE                                  CREF         
SYMBOL	VALUE		REFERENCES
ACCBLK	  004026 R	#5-171      6-232     
ACCBLX	  004056 R	#5-172      6-269     
A.LULU	= 000002	 6-217      6-219      6-221      6-223     
BUFHDR	  000000 R	#5-143      12-441    *12-443     12-451    *12-452    
BUFL  	= 000062	#5-133      5-135      5-144      5-145      5-146      5-147      5-148      5-149      5-150     
                         5-151      5-152      5-153      5-154      5-155      5-156      5-157      5-158      5-159     
                         5-160      5-161      5-175      11-431    
BUF1  	  000002 R	 5-143     #5-144     
BUF10 	  001674 R	 5-152     #5-153     
BUF11 	  002046 R	 5-153     #5-154     
BUF12 	  002220 R	 5-154     #5-155     
BUF13 	  002372 R	 5-155     #5-156     
BUF14 	  002544 R	 5-156     #5-157     
BUF15 	  002716 R	 5-157     #5-158     
BUF16 	  003070 R	 5-158     #5-159     
BUF17 	  003242 R	 5-159     #5-160     
BUF18 	  003414 R	 5-160     #5-161     
BUF2  	  000154 R	 5-144     #5-145     
BUF3  	  000326 R	 5-145     #5-146     
BUF4  	  000500 R	 5-146     #5-147     
BUF5  	  000652 R	 5-147     #5-148     
BUF6  	  001024 R	 5-148     #5-149     
BUF7  	  001176 R	 5-149     #5-150     
BUF8  	  001350 R	 5-150     #5-151     
BUF9  	  001522 R	 5-151     #5-152     
B.BUF 	= 000006	#5-107      5-135      6-239      11-418     11-430    
B.CNT 	= 000002	#5-105      11-419    
B.IOSB	= 000000	#5-104     
B.LEN 	= 000152	#5-135     
B.PIPE	= 000004	#5-106     *6-273     *6-286      9-368      9-377     *9-380     *10-404     11-416     11-428    
CHKLIN	= ******  GX	 6-254     
CLRLPB	= ******  GX	 7-314     
CLSBLK	  004406 R	#5-179      15-506    
CONBLX	  004106 R	#5-173      6-263     
CRB   	  004136 R	 5-173     #5-174      6-259     
CSRAD 	  004534 R	#5-208     
CTCSR 	= 000002	#4-70      
DEVEND	  004512 R	#5-198      18-564    
DEVTAB	  004470 R	#5-191      18-552    
DONE  	  006072 R	 7-307     #15-502     16-515    
DSCBLK	  004356 R	#5-178      15-505    
DSCBLX	  004276 R	#5-176      15-503    
DSCBX1	  004326 R	#5-177      15-504    
DSCCHK	  006010 R	 8-334      8-352     #14-480    
DSCFLG	  004532 R	#5-207      7-301     *14-485    
DUPSET	= ******  GX	 19-629    
D$BUG 	= ******	 6-218      6-220      6-222      6-224      6-226      6-229      6-233      6-241      6-264     
                         6-266      6-270      7-309      7-311      7-313      11-420     11-432     13-468     14-482    
                         14-491    
GETBUF	  005706 R	 6-237      6-285      9-375     #12-440    
GNDBLK	  003776 R	#5-170      6-228      6-265      14-481     16-514    
GNDFN 	= 000007	#5-129      5-170     
TEST72     CREATED BY  MACRO  ON 21-OCT-79 AT 11:28	PAGE 2
SYMBOL CROSS REFERENCE                                  CREF         
SYMBOL	VALUE		REFERENCES
GNDST 	  004522 R	 5-170     #5-204      6-230      6-267      14-483     14-487    
IE.ABO	= ******  GX	 9-369      10-396    
IOST  	  004512 R	 5-169      5-179     #5-202     
IOSTX 	  004516 R	 5-173     #5-203     
IS.SUC	= ******  GX	 6-230      6-242      6-267      13-461     14-483     14-487    
I$$AS 	= ******	 4-68      
KMCSET	= ******  GX	 19-625    
KMCUNS	= ******  GX	 5-213     
LF.ACT	= 100000	#4-67       19-601    
LF.BWT	= 000007	#4-67      
LF.DLO	= 000040	#4-67      
LF.ENA	= 002000	#4-67      
LF.MDC	= 000100	#4-67      
LF.MFL	= 004000	#4-67      
LF.MTP	= 000020	#4-67      
LF.RDY	= 040000	#4-67       19-599    
LF.REA	= 010000	#4-67      
LF.TIM	= 000010	#4-67      
LF.UNL	= 020000	#4-67      
LSTPIP	  004466 R	#5-187     *9-379      10-401    *10-403    
L.CTL 	  000012	#4-67       19-595    
L.DDM 	  000002	#4-67       19-593    
L.DDS 	  000004	#4-67       19-621    
L.DLC 	  000003	#4-67      
L.DLM 	  000006	#4-67      
L.DLS 	  000010	#4-67      
L.FLG 	  000000	#4-67       19-599     19-601    
L.LEN 	= 000014	#4-67       19-608    
L.UNT 	  000013	#4-67       19-597    
MTMODE	= 010000	#5-139     
NETBUF	  003566 R	#5-165      5-170      5-171      5-172     
NETFN 	= 000005	#5-127      5-169      5-175      5-176      5-177      5-178      5-179      6-271      7-297     
                         13-467     14-490    
NETLEN	= 000070	#5-134      5-165      5-170     
NT.ABO	= 000005	 14-487    
NT.CON	= 000001	 6-230      6-267     
NT.DSC	= 000003	 14-483    
NULL  	  006554 R	 5-212     #21-679    
N.IOFN	= 000002	 6-240     *6-240     
N.IOPL	= 000014	 6-240     
N.IOSB	= 000010	*6-240     
OCTAL 	  006462 R	 18-572     18-575    #20-646    
OOPCHK	  005742 R	 9-371      10-398    #13-460    
OOPFLG	  004526 R	#5-205      7-303     *13-466    *14-489    
OOPRSN	  004530 R	#5-206      13-463    *13-465    
OOPS  	  006124 R	 6-245      6-253      7-318     #16-513    
OPNBLK	  003746 R	#5-169      6-225     
PD$NSP	= ******  GX	 19-604    
PECIAL	= ******  GX	 7-315     
PIPEND	  004466 R	#5-186     
PIPE3 	  004436 R	#5-183      5-184      5-187      6-273      6-275     
PIPE4 	  004446 R	#5-184      5-185      6-277     
TEST72     CREATED BY  MACRO  ON 21-OCT-79 AT 11:28	PAGE 3
SYMBOL CROSS REFERENCE                                  CREF         
SYMBOL	VALUE		REFERENCES
PIPE5 	  004456 R	 5-183     #5-185      6-280     
POSTTB	  004536 R	#5-212      7-316     
PUTBUF	  005730 R	 8-339      8-357      9-385      10-408    #12-450    
P.IO  	= 000000	#5-114     
P.LEN 	= 000010	#5-118     
P.RLUN	= 000002	#5-115      11-431    
P.SLUN	= 000004	#5-116      11-419    
P.SPIP	= 000006	#5-117      9-378      10-402    
Q.IOFN	= 000002	 5-169      5-170      5-171      5-172      5-173      5-175      5-176      5-177      5-178     
                         5-179     
RCVAST	  005242 R	#8-329      11-431    
RCVBUF	  005624 R	 6-288      9-382      10-405    #11-427    
RCVIO 	  005402 R	 8-336     #9-367     
RECBK1	  004246 R	#5-175     *6-240     *6-240     *6-240     *6-240      6-240     
R$$11D	= ******	 4-68      
R$$11M	= 000000	 4-68      
R$$11S	= ******	 4-68      
SETLIN	  006140 R	 6-251     #18-546    
SNDAST	  005322 R	#8-347      11-419    
SNDBUF	  005544 R	 6-274      9-374     #11-415    
SNDIO 	  005474 R	 8-354     #10-395    
STLPBK	= ******  GX	 19-616    
TEST72	  004542 RG	#6-216      21-680    
WAITFN	= 000006	#5-128      7-308      7-310      7-312     
X$$MCB	= ******	 4-68       4-68      
ZF.DDM	= 000001	#4-68      
ZF.DLC	= 000002	#4-68      
ZF.KMX	= 000020	#4-68      
ZF.LLC	= 000004	#4-68      
ZF.LMC	= 000100	#4-68      
ZF.MFL	= 000010	#4-68      
ZF.MUX	= 000040	#4-68      
ZF.TIM	= 000200	#4-68      
Z.DAT 	  000014	#4-68      
Z.DSP 	  000000	#4-68       4-68      
Z.FLG 	  000011	#4-68      
Z.LEN 	= 000014	#4-68      
Z.LLN 	  000010	#4-68      
Z.MAP 	  000016	#4-68      
Z.NAM 	  000006	#4-68       19-623     19-627    
Z.PCB 	  000012	#4-68      
Z.SCH 	  000004	#4-68      
$LLCTB	= ******  GX	 19-604    
$NTNAM	= ******  GX	 6-258     
$PDVID	= ******  GX	 18-568    
$PDVTB	= ******  GX	 19-622    
$SLTND	= ******  GX	 19-609    
$SLTTA	= ******  GX	 19-592    
$$$   	= 000030 R	#5-174      5-174      5-174      5-174     #6-217      6-217     #6-219      6-219     #6-221     
                         6-221     #6-223      6-223     
$$$ARG	= 000002	#5-169      5-169     #5-169      5-169      5-169     #5-170      5-170     #5-170      5-170     
                        #5-170      5-170      5-170     #5-171      5-171     #5-171      5-171     #5-171      5-171     
TEST72     CREATED BY  MACRO  ON 21-OCT-79 AT 11:28	PAGE 4
SYMBOL CROSS REFERENCE                                  CREF         
SYMBOL	VALUE		REFERENCES
                        #5-171      5-171     #5-171      5-171     #5-171      5-171     #5-171      5-171     #5-172     
                         5-172     #5-172      5-172     #5-172      5-172     #5-172      5-172     #5-172      5-172     
                        #5-172      5-172     #5-172      5-172     #5-173      5-173     #5-173      5-173     #5-173     
                         5-173     #5-173      5-173     #5-173      5-173     #5-173      5-173     #5-173      5-173     
                        #5-175      5-175     #5-175      5-175     #5-175      5-175      5-175     #5-176      5-176     
                         5-176     #5-177      5-177      5-177     #5-178      5-178      5-178     #5-179      5-179     
                         5-179     #6-240     *6-240      6-240     #6-240     #7-310      7-310      7-310      7-310     
                         7-310      7-310      7-310      7-310      7-310      7-310      7-310     #11-419     11-419    
                        #11-419     11-419    #11-419     11-419     11-419    #11-419     11-419     11-419     11-419    
                         11-419     11-419     11-419     11-419     11-419     11-419     11-419    #11-419     11-419    
                         11-419     11-419     11-419     11-419     11-419     11-419     11-419     11-419     11-419    
                        #11-419     11-419     11-419     11-419     11-419     11-419     11-419     11-419     11-419    
                         11-419     11-419    #11-431     11-431    #11-431     11-431    #11-431     11-431     11-431    
                        #11-431     11-431     11-431     11-431     11-431     11-431     11-431     11-431     11-431    
                         11-431     11-431    #11-431     11-431     11-431     11-431     11-431     11-431     11-431    
                         11-431     11-431     11-431     11-431    #11-431     11-431     11-431     11-431     11-431    
                         11-431     11-431     11-431     11-431     11-431     11-431    
$$$FLG	= 016630	#5-170      5-170     
$$$FMT	= 000001	#5-174      5-174      5-174      5-174      5-174     
$$$GLB	= ******	 5-169      5-170      5-171      5-172      5-173      5-175      5-176      5-177      5-178     
                         5-179      6-217      6-217      6-219      6-219      6-221      6-221      6-223      6-223     
$$$LOC	= 004136 R	#5-174     
$$$T1 	= 000002	#6-217     #6-219     #6-221     #6-223     
$$$T2 	= 000034 R	#6-217      6-217     #6-219      6-219     #6-221      6-221     #6-223      6-223     
.DONE 	  005140 R	 7-302     #7-307     
.OOPS 	  005236 R	 7-304     #7-318     
TEST72     CREATED BY  MACRO  ON 21-OCT-79 AT 11:28	PAGE 5
MACRO CROSS REFERENCE                                   CREF         
MACRO NAME	REFERENCES
ACC$  		#4-63      #5-171     #5-172     
ALUN$ 		#6-217     #6-217     #6-219     #6-219     #6-221     #6-221     #6-223     #6-223     
ALUN$C		#4-65      #6-217     #6-219     #6-221     #6-223     
ASTX$S		#4-65      #8-341     #8-359     
BUFFER		#5-77      
CALL  		 6-237      6-245      6-251      6-253      6-254      6-274      6-276      6-278      6-279      6-281     
                 6-282      6-285      6-288      7-307      7-314      7-316      7-318      8-334      8-336      8-339     
                 8-352      8-354      8-357      9-371      9-374      9-375      9-382      9-385      10-398     10-405    
                 10-408     16-515     18-568     18-572     18-575     19-616     19-625     19-629    
CLEF$S		#4-65       6-271      7-308     
CLSW$ 		#4-63       5-179     
CONB$$		#4-63      #5-174     
CON$  		#4-63      #5-173     
DIR$  		#4-63      #6-217      6-217     #6-219      6-219     #6-221      6-221     #6-223      6-223      6-225     
                 6-228      6-232     #6-240      6-240      6-263      6-265      6-269     #6-271      6-271     #7-297     
                 7-297     #7-308      7-308     #7-310      7-310     #7-312      7-312     #7-317      7-317     #8-341     
                 8-341     #8-359      8-359     #11-419     11-419    #11-431     11-431    #13-467     13-467     14-481    
                #14-490     14-490     15-503     15-504     15-505     15-506     16-514    
DSCW$ 		#4-63       5-176      5-177      5-178     
DSWERR		#5-92       6-218      6-220      6-222      6-224      6-226      6-229      6-233      6-241      6-264     
                 6-266      6-270      7-309      7-311      7-313      11-420     11-432     13-468     14-482     14-491    
EXIT$S		#4-65       7-317     
FREBUF		#5-82       5-144      5-145      5-146      5-147      5-148      5-149      5-150      5-151      5-152     
                 5-153      5-154      5-155      5-156      5-157      5-158      5-159      5-160      5-161     
GNDW$ 		#4-63       5-170     
MOV$  		#6-271      6-271     #7-297      7-297     #7-308      7-308     #7-310      7-310      7-310      7-310     
                 7-310     #7-312      7-312     #11-419     11-419     11-419    #11-419     11-419     11-419    #11-419    
                 11-419     11-419    #11-431     11-431     11-431    #11-431     11-431     11-431    #11-431     11-431    
                 11-431    #13-467     13-467    #14-490     14-490    
MRKT$S		#4-65      #7-310     
MVB$  		#11-419    #11-419    #11-431    #11-431    
NSSYM$		#4-66      #4-69      
OFF$  		#5-169     #5-170     #5-171     #5-172     #5-173     #5-175     #5-176     #5-177     #5-178     #5-179     
                #6-217     #6-219     #6-221     #6-223     #6-240     
OPNW$ 		#4-63      #5-169     
PDVDF$		#4-66      #4-68      
QDPB$ 		#5-169     #5-169     #5-170     #5-170     #5-171     #5-171     #5-172     #5-172     #5-173     #5-173     
                #5-175     #5-175     #5-176     #5-176     #5-177     #5-177     #5-178     #5-178     #5-179     #5-179     
QDPB$E		#6-240     #6-240     
QDPB$S		#11-419    #11-419    #11-431    #11-431    
RECW$ 		#4-63      #5-175     
RECW$E		#4-64      #6-240     
REC$  		#4-63      
REC$S 		#4-64      #11-431    
RESRG 		#4-65       8-340      8-358     
RETURN		 6-289      9-386      10-409     11-421     11-434     12-447     12-453     13-473     14-496     15-507    
                 19-635     20-673     21-679    
RVP$  		#7-310      7-310     #11-419     11-419     11-419     11-419    #11-431     11-431     11-431     11-431    
SAVRG 		#4-65       8-330      8-348     
SETF$S		#4-65      #13-467    #14-490    
SLTDF$		#4-66       4-67      
SND$S 		#4-64       11-419    
TEST72     CREATED BY  MACRO  ON 21-OCT-79 AT 11:28	PAGE 6
MACRO CROSS REFERENCE                                   CREF         
MACRO NAME	REFERENCES
WTSE$S		#4-65      #7-297     #7-312     
$CON$ 		#5-171     #5-171     #5-172     #5-172     #5-173     #5-173     
$GNDF$		#5-170     #5-170