Google
 

Trailing-Edge - PDP-10 Archives - BB-H348C-RM_1982 - swskit-v21/listings/mcb/dtr.list
There are no other files named dtr.list in the archive.
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53
TABLE OF CONTENTS

     7-  183	DTRTMO	SERVICE A TIMEOUT REQUEST
     8-  217	RCVCON	RECIEVE A CONNECT REQUEST
     9-  276	CONTST - CONNECT TEST
    10-  356	DATTST - DATA TEST
    11-  440	DISTST - DISCONNECT TEST
    12-  557	XMITST - INTERRUPT TEST
    13-  587	RCVDAT	RECEIVE DATA
    15-  738	RCVINT	RECIEVE AN INTERRUPT MESSAGE
    16-  827	RCVDIS	RECIEVE A DISCONNECT
    17-  849	GETCHN	GET CHANNEL CONTROL BLOCK
    18-  881	BUFFER FILL AND TEST ROUTINES
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 3


      1						.TITLE	DTR - SYSTEM INTERFACE VERSION
      2						.IDENT	/002010/
      3						.ENABL	LC
      4						.NLIST	BEX
      5					;
      6					; COPYRIGHT (C) 1977, 1978, 1979
      7					; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
      8					;
      9					; THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON  A
     10					; SINGLE  COMPUTER  SYSTEM  AND  MAY  BE  COPIED  ONLY WITH THE
     11					; INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS  SOFTWARE,  OR
     12					; ANY  OTHER  COPIES  THEREOF, MAY NOT BE PROVIDED OR OTHERWISE
     13					; MADE AVAILABLE TO ANY OTHER PERSON EXCEPT  FOR  USE  ON  SUCH
     14					; SYSTEM  AND  TO ONE WHO AGREES TO THESE LICENSE TERMS.  TITLE
     15					; TO AND OWNERSHIP OF THE SOFTWARE SHALL AT  ALL  TIMES  REMAIN
     16					; IN DEC.
     17					;
     18					; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
     19					; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
     20					; EQUIPMENT CORPORATION.
     21					;
     22					; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR  RELIABILITY  OF
     23					; ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
     24					;
     25					;
     26					; 2.00	19-JUL-79 ALAN D. PECKHAM
     27					;	REWORKED FOR RELIABILITY
     28					; 2.01	27-JUL-79 ALAN D. PECKHAM
     29					;	BUG IN DATA TEST RESULTED IN NO CONNECT ACCEPT WHEN NO FLOW CONTROL
     30					;
     31					; RSX-11M/S NETWORK TEST RECEIVER (DECNET V2)
     32					;
     33					;
     34					; MACRO LIBRARY CALLS
     35					;
     36						.MCALL	HWDDF$,CCBDF$,TMPDF$,NSPDF$
     37						.MCALL	NCON$,NACC$,NREJ$,NDAT$,NINT$,NRTN$,NRTI$,NMOD$
     38						.MCALL	NDIS$,NABO$,NXON$,GTLLA$,GTULA$
     39						.MCALL	$MVTBF,$MVFBF,MAP,EVLDF$,CMLDF$
     40	000000					HWDDF$			; DEFINE HARDWARE SYMBOLS
     41	000000					CCBDF$			; DEFINE CCB OFFSETS
     42	000000					TMPDF$			; DEFINE THE TEMPLATE DIRECTIVES
     43	000000					NSPDF$			; DEFINE THE NSP SYMBOLS
     44	000000					EVLDF$			; DEFINE EVENT LOGGING SYMBOLS
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 4


     46					;
     47					; LOCAL MACRO DEFINITIONS
     48					;
     49					;
     50					; PUSH AND POP STACK
     51					;
     52						.MACRO	PUSH	S
     53						.IRP	SS,<S>
     54						MOV	SS,-(SP)
     55						.ENDR
     56						.ENDM	PUSH
     57
     58						.MACRO	POP	D
     59						.IRP	DD,<D>
     60						MOV	(SP)+,DD
     61						.ENDR
     62						.ENDM	POP
     63					;
     64					; REJECT A CONNECT DUE TO INVALID CONNECT DATA
     65					;
     66						.MACRO	REJECT TXT,PRM
     67						$$$DSP=0
     68						.IRP	SS,<PRM>
     69						MOV	SS,PARAM+$$$DSP
     70						$$$DSP=$$$DSP+2
     71						.ENDR
     72						.IF NB	<TXT>
     73						MOV	TXT,R1
     74						.ENDC
     75						JMP	REJECT
     76						.ENDM	REJECT
     77
     78						.MACRO	DISPLAY TXT,PRM
     79						$$$DSP=0
     80						.IRP	SS,<PRM>
     81						MOV	SS,PARAM+$$$DSP
     82						$$$DSP=$$$DSP+2
     83						.ENDR
     84						.IF NB	<TXT>
     85						MOV	TXT,R1
     86						.ENDC
     87						JSR	PC,PRINT
     88						.ENDM	DISPLAY
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 5


     90					;
     91					; DTR DATA BASE DEFINITION
     92					;
     93	000000					.ASECT
     94		000000 			.	=0
     95	000000				CHNLST:	.LFLHD			; LINKED LIST OF CHANNEL CONTROL BLOCKS.
     96	000004				NXTULA:	.BLKB	1		; NEXT ULA TO ASSIGN.
     97						.EVEN
     98					;
     99					; CHANNEL CONTROL BLOCK DEFINITION
    100					;
    101		000000 			.	=0
    102	000000					.BLKW	1		; LINK TO NEXT BLOCK.
    103	000002				ULA:	.BLKB	0		; THE ULA OF THIS CHANNEL.
    104	000002				STATUS:	.BLKW	1		; STATUS FLAGS:
    105		100000 			ACTIVE	=	100000		;  THIS CHANNEL IS ACTIVE.
    106		040000 			INIT	=	040000		;  THIS BLOCK IS INITIALIZED.
    107		020000 			PROPT	=	020000		;  PRINT OPTION IS ON.
    108		010000 			XOFF	=	010000		;  CHANNEL IS XOFF-ED
    109		004000 			DIP	=	004000		;  DISCONNECT PENDING.
    110		002000 			NIP	=	002000		;  NAK IN PROGRESS
    111					;		000377		; (THE ULA SITS HERE)
    112
    113	000004				LLA:	.BLKB	1		; CORRESPONDING LLA.
    114	000005				TST:	.BLKB	1		; THE TEST TYPE.
    115	000006				SBTST:	.BLKB	1		; THE TEST SUBTYPE.
    116	000007				FLOTYP:	.BLKB	1		; FLOW CONTROL TYPE.
    117	000010				FLOCNT:	.BLKW	1		; THE FLOW COUNT REQUESTED.
    118	000012				NAKCNT:	.BLKB	1		; THE NAK COUNT REQUESTED.
    119	000013				BPCCNT:	.BLKB	1		; THE BACK-PRESSURE COUNT REQUESTED.
    120	000014				MSGSIZ:	.BLKW	1		; THE MESSAGE SIZE.
    121	000016				NAKNR:	.BLKB	1		; MSGS TO RCV BEFORE NAKING.
    122	000017				BPCNR:	.BLKB	1		; MSGS TO RCV BEFORE APLYING BACK-PRESSURE.
    123	000020				SNDNR:	.BLKW	2		; NUMBER OF LAST SENT DATA MESSAGE.
    124	000024				RCVNR:	.BLKW	2		; NUMBER OF LAST RECIEVED DATA MESSAGE.
    125	000030				RCVCNT:	.BLKW	2		; NUMBER OF MESSAGES RECIEVED.
    126	000034				PATTRN:	.BLKW	2		; CURRENT PATTERN INFORMATION.
    127
    128		000014 			.	=MSGSIZ
    129	000014				DSCLNG:	.BLKW	1		; LENGTH OF DISCONNCT DATA.
    130	000016				DSCDAT:	.BLKB	16.		; DISCONNECT DATA.
    131						.IIF LT	<PATTRN+4-.>,.ERROR .;CONTROL BLOCK OVERLAY ERROR
    132
    133	000000					.PSECT	DATA,D
    134					;
    135					; EVENT LOGGING
    136					;
    137	000000					CMLDF$	DTR,E$TSFT,LNG=<2+80.>
	000000	000000 			PDST:	.WORD	0		; LOGGING DESTINATION
	000002	000000 			PRSN:	.WORD	0		;    "    REASON
	000004	177777 			PDT1:	.WORD	-1		; FORMAT DEPENDENT ARG #1
	000006	177777 			PDT2:	.WORD	-1		;   "        "      "  #2
	000010	000122 			PLNG:	.WORD	2+80.		; BYTES OF COROUTINE-ADDED INFO
	000012	016062 			PNAM:	.RAD50	/DTR/		; PROCESS NAME
	000014	000004 			PTYP:	.WORD	E$TSFT		; EVENT TYPE CODE
	000016	000000 			PTAB:	.WORD			; ERROR CODE MAPPING TABLE
	000020	000000 			PSTA:	.WORD	0		; STATE WORD FOR USE BY $CMLOG
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 5-1


    138						.EVEN
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 6


    140					;
    141					; MCB DISPATCH TABLE
    142					;
    143	000022					.PSECT	DATA,D
    144	000022	000023'			$DTRTB::.WORD	.+1		; FC.XME
    145	000024	000025'				.WORD	.+1		; FC.RCE
    146	000026	000027'				.WORD	.+1		; FC.KIL
    147	000030	000031'				.WORD	.+1		; FC.CTL
    148	000032	000000'				.WORD	DTRTMO		; FC.TMO
    149	000034	000044'				.WORD	DTRXCP		; FC.XCP
    150	000036	000074'				.WORD	DTRRCP		; FC.RCP
    151	000040	000041'				.WORD	.+1		; FC.KCP
    152	000042	000106'				.WORD	DTRCCP		; FC.CCP
    153
    154	000044	000173 	000050'		DTRXCP:	JMP	@10$(R3)	; DISPATCH REQUEST
    155	000050	000051'			10$:	.WORD	.+1		; NT$CON
    156	000052	003266'				.WORD	DONDAT		; NT$DAT
    157	000054	003656'				.WORD	DONINT		; NT$INT
    158	000056	000057'				.WORD	.+1
    159	000060	002142'				.WORD	DONDIS		; NT$DIS
    160	000062	000000G				.WORD	$CCBRT		; NT$MOD
    161	000064	000065'				.WORD	.+1		; NT$QRY
    162	000066	000000G				.WORD	$CCBRT		; NT$XON
    163	000070	000000G				.WORD	$CCBRT		; NT$XOF
    164	000072	002142'				.WORD	DONABO		; NT$ABO
    165
    166	000074	000173 	000100'		DTRRCP:	JMP	@10$(R3)	; DISPATCH REQUEST
    167	000100	000206'			10$:	.WORD	RCVCON		; NT$CON
    168	000102	002376'				.WORD	RCVDAT		; NT$DAT
    169	000104	003324'				.WORD	RCVINT		; NT$INT
    170
    171	000106	000173 	000112'		DTRCCP:	JMP	@10$(R3)	; DISPATCH REQUEST
    172	000112	000113'			10$:	.WORD	.+1		; FS.INI
    173	000114	000115'				.WORD	.+1		; FS.STR
    174	000116	000117'				.WORD	.+1		; FS.STP
    175	000120	000121'				.WORD	.+1		; FS.TRM
    176	000122	003714'				.WORD	RCVDIS		; NT$DIS
    177	000124	000125'				.WORD	.+1		;
    178	000126	000127'				.WORD	.+1		;
    179	000130	000000G				.WORD	$CCBRT		; NT$XON
    180	000132	000000G				.WORD	$CCBRT		; NT$XOF
    181	000134	002756'				.WORD	DONNAK		; NT$NAK
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 7
DTRTMO	SERVICE A TIMEOUT REQUEST

    183						.SBTTL	DTRTMO	SERVICE A TIMEOUT REQUEST
    184					;
    185					; USED TO COMPLETE A DISCONNECT
    186					;
    187	000000					.PSECT	CODE,I
    188	000000	016505 	000000 		DTRTMO:	MOV	CHNLST(R5),R5	; GET FIRST CHANNEL
    189	000004	001477 				BEQ	90$		; IF THERE IS ONE.
    190	000006	032765 	100000 	000002 	10$:	BIT	#ACTIVE,STATUS(R5) ; IF NOT ACTIVE
    191	000014	001471 				BEQ	80$		; THEN IGNORE THE CHANNEL.
    192	000016	032765 	010000 	000002 		BIT	#XOFF,STATUS(R5) ; IF BACKPRESSURED
    193	000024	001441 				BEQ	30$		; THEN
    194	000026	105365 	000017 			DECB	BPCNR(R5)	; COUNT THE SECONDS
    195	000032	001036 				BNE	30$		; AND IF TIME TO XON
    196	000034					CALL	$CCBGT		; THEN TRY FOR A CCB.
    197	000040	103003 				BCC	20$		; IF NONE AVAILABLE
    198	000042	105265 	000017 			INCB	BPCNR(R5)	; BUMP THE COUNT
    199	000046	000430 				BR	30$		; AND TRY LATER.
    200	000050				20$:	NXON$	LLA(R5)		; RE-ENABLE THE CHANNEL
    201	000076	042765 	010000 	000002 		BIC	#XOFF,STATUS(R5) ; MODIFY THE STATUS
    202	000104	116500 	000013 			MOVB	BPCCNT(R5),R0
    203	000110	100005 				BPL	25$
    204	000112	012700 	000144 			MOV	#100.,R0
    205	000116					CALL	$RND
    206	000122	005200 				INC	R0
    207	000124	110065 	000017 		25$:	MOVB	R0,BPCNR(R5)	; AND RESET THE COUNT.
    208	000130	032765 	004000 	000002 	30$:	BIT	#DIP,STATUS(R5) ; IF DISCONNECT IN PROGRESS
    209	000136	001420 				BEQ	80$		; THEN
    210	000140	016504 	000014 			MOV	DSCLNG(R5),R4	; GET DISCONNECT CCB
    211	000144					NDIS$	LLA(R5)		; AND TRY IT AGAIN.
    212	000172	042765 	004000 	000002 		BIC	#DIP,STATUS(R5)
    213	000200	011505 			80$:	MOV	(R5),R5		; IF THERE IS ANOTHER CHANNEL
    214	000202	001301 				BNE	10$		; THEN CHECK IT OUT.
    215	000204				90$:	RETURN
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 8
RCVCON	RECIEVE A CONNECT REQUEST

    217						.SBTTL	RCVCON	RECIEVE A CONNECT REQUEST
    218					;
    219					; RECEIVED A CONNECT REQUEST
    220					;
    221	000000					.PSECT	TEXT,D
    222	000000	   116 	   157 	   040 	NOCCB:	.ASCIZ	\No room for new connection\
    223	000033	   122 	   145 	   163 	NORSC:	.ASCIZ	\Resources not available\
    224	000063	   111 	   156 	   166 	INVTST:	.ASCIZ	\Invalid test type: \<P$D>
    225	000110	   111 	   156 	   163 	SHTDAT:	.ASCIZ	\Insufficient optional data on connect\
    226
    227	000206					.PSECT	CODE,I
    228	000206	010501 			RCVCON:	MOV	R5,R1		; SAVE DATA BASE ADDRESS
    229	000210	062705 	000000 			ADD	#CHNLST,R5	; ADDRESS OF CONTROL BLOCK LIST.
    230	000214	011505 			10$:	MOV	(R5),R5		; POINT TO NEXT ENTRY
    231	000216	001453 				BEQ	90$		; IF THERE IS ONE
    232	000220	032765 	100000 	000002 		BIT	#ACTIVE,STATUS(R5) ; ALREADY IN USE?
    233	000226	001372 				BNE	10$		; IF SO, TRY NEXT.
    234	000230	032765 	040000 	000002 		BIT	#INIT,STATUS(R5) ; IF NOT INITIALIZED
    235	000236	001010 				BNE	20$		; THEN
    236	000240	105261 	000004 			INCB	NXTULA(R1)	; UPDATE THE ULA COUNT
    237	000244	116165 	000004 	000002 		MOVB	NXTULA(R1),ULA(R5) ; AND ASSIGN THE NEXT ULA.
    238	000252	052765 	040000 	000002 		BIS	#INIT,STATUS(R5) ; NOW INITIALIZED.
    239	000260				20$:	GTLLA$	LLA(R5)
    240	000266					MAP	C.BUF(R4)	; MAP TO CONNECT BLOCK
    241	000274	016402 	000016 			MOV	C.BUF+2(R4),R2	; GET ADDRESS
    242	000300	062702 	000136 			ADD	#N.OPDL,R2	; OF OPTIONAL DATA
    243	000304	012203 				MOV	(R2)+,R3	; AND LENGTH.
    244	000306					CALL	GETB		; GET THE TEST TYPE
    245	000312	100005 				BPL	30$		; PRINT OPTION SPECIFIED?
    246	000314	052765 	020000 	000002 		BIS	#PROPT,STATUS(R5) ; YES
    247	000322	042701 	177600 			BIC	#^C177,R1	; MAKE TEST TYPE POS
    248	000326	122701 	000004 		30$:	CMPB	#NRTST,R1	; VALIDATE UPPER BOUND
    249	000332	101411 				BLOS	91$		; IF OKAY,
    250	000334	006301 				ASL	R1		; MAKE A WORD OFFSET
    251	000336	110165 	000005 			MOVB	R1,TST(R5)	; SAVE IT
    252	000342	000171 	000372'			JMP	@TEST(R1)	; AND DISPATCH TO TEST.
    253	000346				90$:	REJECT	#NOCCB
    254	000356				91$:	REJECT	#INVTST,<R1>
    255
    256	000372	000446'			TEST:	.WORD	CONTST		; CONNECT TEST
    257	000374	000762'				.WORD	DATTST		; DATA TEST
    258	000376	001502'				.WORD	DISTST		; DISCONNECT TEST
    259	000400	002222'				.WORD	XMITST		; INTERRUPT TEST
    260		000004 			NRTST	=.-TEST/2
    261
    262	000402					.PSECT	CODE,I
    263	000402	005303 			GETB:	DEC	R3		; IF MORE DATA
    264	000404	002403 				BLT	10$		; THEN
    265	000406	005001 				CLR	R1
    266	000410	152201 				BISB	(R2)+,R1	; GET THE NEXT BYTE.
    267	000412					RETURN
    268	000414	005726 			10$:	TST	(SP)+
    269	000416					REJECT	#SHTDAT		; SAY DATA MISSING.
    270
    271	000426				RESOURCE: REJECT #NORSC		; SAY NO RESOURCES.
    272
    273	000436				REJECT:	DISPLAY			; DISPLAY THE MESSAGE
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 8-1
RCVCON	RECIEVE A CONNECT REQUEST

    274	000442	000167 	000060 			JMP	CONN0		; AND DO A CONNECT REJECT.
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 9
CONTST - CONNECT TEST

    276						.SBTTL	CONTST - CONNECT TEST
    277					;
    278					; GET CONNECT SUBTYPE TEST
    279					;
    280	000156					.PSECT	TEXT,D
    281	000156	   111 	   156 	   166 	INVCON:	.ASCIZ	\Invalid CONNECT test type: \<P$D>
    282
    283	000446					.PSECT	CODE,I
    284	000446				CONTST:	CALL	GETB		; GET THE CONNECT TYPE
    285	000452	122701 	000006 			CMPB	#NRCON,R1	; VALIDATE UPPER BOUND
    286	000456	101407 				BLOS	90$		; IF OKAY,
    287	000460	006301 				ASL	R1		; MAKE WORD OFFSET
    288	000462	110165 	000006 			MOVB	R1,SBTST(R5)
    289	000466	016402 	000016 			MOV	C.BUF+2(R4),R2	; RE-POINT TO DATA
    290	000472	000171 	000512'			JMP	@CONTYP(R1)	; DO THE TEST
    291	000476				90$:	REJECT	#INVCON,<R1>	; INVALID CONNECT TEST TYPE.
    292
    293	000512				CONTYP:
    294	000512	000526'				.WORD	CONN0		; REJECT WITH NO USER DATA
    295	000514	000532'				.WORD	CONN1		; ACCEPT WITH NO USER DATA
    296	000516	000536'				.WORD	CONN2		; REJECT WITH STANDARD USER DATA
    297	000520	000544'				.WORD	CONN3		; ACCEPT WITH STANDARD USER DATA
    298	000522	000552'				.WORD	CONN4		; REJECT WITH RECEIVED USER DATA
    299	000524	000622'				.WORD	CONN5		; ACCEPT WITH RECEIVED USER DATA
    300		000006 			NRCON	=.-CONTYP/2
    301
    302						.ENABL	LSB
    303					;
    304					; REJECT WITH NO USER DATA
    305					;
    306	000526	005001 			CONN0:	CLR	R1		; NO OPTIONAL DATA
    307	000530	000412 				BR	10$		; GO DO THE REJECT.
    308					;
    309					; ACCEPT WITH NO USER DATA
    310					;
    311	000532	005001 			CONN1:	CLR	R1		; NO OPTIONAL DATA
    312	000534	000434 				BR	20$		; GO DO THE ACCEPT.
    313					;
    314					; REJECT WITH STANDARD USER DATA
    315					;
    316	000536				CONN2:	CALL	FILSTD		; INSERT STANDARD OPTIONAL DATA
    317	000542	000405 				BR	10$		; ISSUE THE REJECT
    318					;
    319					; ACCEPT WITH STANDARD USER DATA
    320					;
    321	000544				CONN3:	CALL	FILSTD		; INSERT STANDARD OPTIONAL DATA
    322	000550	000426 				BR	20$		; DO THE ACCEPT
    323					;
    324					; CONNECT REJECT WITH RECEIVED USER DATA
    325					;
    326	000552				CONN4:	CALL	FILRCV		; COPY RECIEVED DATA
    327
    328	000556				10$:	NREJ$	R1
    329	000620					RETURN
    330					;
    331					; CONNECT ACCEPT WITH RECEIVED USER DATA
    332					;
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 9-1
CONTST - CONNECT TEST

    333	000622				CONN5:	CALL	FILRCV		; COPY RECIEVED DATA
    334
    335	000626	052765 	100000 	000002 	20$:	BIS	#ACTIVE,STATUS(R5) ; INDICATE LINE ACTIVE
    336	000634					NACC$	ULA(R5),#NT.MFL,R1
    337	000712					RETURN
    338
    339						.DSABL	LSB
    340
    341	000714	012701 	004210'		FILSTD:	MOV	#SDATA,R1	; DATA GENERATION COROUTINE ADDR
    342	000720	012703 	000020 			MOV	#16.,R3		; BUFFER LENGTH
    343	000724					CALL	FILBUF		; GET THE DATA
    344	000730	012701 	000020 			MOV	#16.,R1		; DATA LENGTH
    345	000734					RETURN
    346
    347	000736	010203 			FILRCV:	MOV	R2,R3		; COPY BUFFER ADDRESS
    348	000740	062703 	000136 			ADD	#N.OPDL,R3	; AND POINT TO OPT DATA INFO
    349	000744	012301 				MOV	(R3)+,R1	; IF THERE IS DATA
    350	000746	001404 				BEQ	90$		; THEN
    351	000750	010100 				MOV	R1,R0
    352	000752	112322 			10$:	MOVB	(R3)+,(R2)+	; COPY IT OVER.
    353	000754					SOB	R0,10$
    354	000760				90$:	RETURN
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 10
DATTST - DATA TEST

    356						.SBTTL	DATTST - DATA TEST
    357					;
    358					; GET TYPE OF DATA TEST
    359					;		INPUTS:
    360					;			R2=>ADDRESS OF NEXT BYTE OF CONNECT DATA
    361					;			R3=>COUNT OF CONNECT DATA LEFT
    362					;			R5=>LOGICAL LINK'S DATA BASE
    363					;
    364	000213					.PSECT	TEXT,D
    365	000213	   111 	   156 	   166 	INVDAT:	.ASCIZ	\Invalid data test type: \<P$D>
    366	000245	   111 	   156 	   166 	INVFLO:	.ASCIZ	\Invalid flow control request: \<P$D>
    367	000305	   111 	   156 	   166 	INVCNT:	.ASCIZ	\Invalid flow count: \<P$D>
    368	000333	   111 	   156 	   166 	INVNAK:	.ASCIZ	\Invalid NAK frequency: \<P$D>
    369	000364	   111 	   156 	   166 	INVBPC:	.ASCIZ	\Invalid back-pressure frequency: \<P$D>
    370	000427	   111 	   156 	   166 	INVBUF:	.ASCIZ	\Invalid message length: \<P$D>
    371
    372	000762					.PSECT	CODE,I
    373	000762				DATTST:	CALL	GETB		; TYPE OF DATA TEST FIELD
    374	000766	122701 	000004 			CMPB	#NRDAT,R1	; VALIDATE UPPER BOUND
    375	000772	101565 				BLOS	91$		; IF OKAY.
    376	000774	006301 				ASL	R1		; MAKE WORD OFFSET
    377	000776	110165 	000006 			MOVB	R1,SBTST(R5)	; SAVE FOR RECEIVE AST
    378	001002					CALL	GETB		; GET FLOW CONTROL
    379	001006	022701 	000002 			CMP	#2,R1		; WITHIN RANGE ?
    380	001012	103563 				BLO	92$		; IF NOT, COMPLAIN.
    381	001014	006301 				ASL	R1		; MAKE INTO INDEX
    382	001016	110165 	000007 			MOVB	R1,FLOTYP(R5)	; SAVE IT
    383	001022	016164 	001464'	000012 		MOV	100$(R1),C.STS(R4) ; AND SET FLOW CONTROL.
    384	001030					CALL	GETB		; GET THE FLOW COUNT
    385	001034	010165 	000010 			MOV	R1,FLOCNT(R5)	; NUMBER OF BUFFERS FOR MSG FLOW CNTRL
    386	001040	001556 				BEQ	93$
    387	001042					CALL	GETB		; GET NAK FREQUENCY COUNT.
    388	001046	110165 	000012 			MOVB	R1,NAKCNT(R5)
    389	001052	122701 	000200 			CMPB	#128.,R1
    390	001056	101007 				BHI	40$
    391	001060	001154 				BNE	94$
    392	001062	012700 	000026 			MOV	#22.,R0
    393	001066					CALL	$RND
    394	001072	005200 				INC	R0
    395	001074	010001 				MOV	R0,R1
    396	001076	110165 	000016 		40$:	MOVB	R1,NAKNR(R5)
    397	001102					CALL	GETB		; BACK PRESSURE?
    398	001106	110165 	000013 			MOVB	R1,BPCCNT(R5)
    399	001112	122701 	000200 			CMPB	#128.,R1
    400	001116	101007 				BHI	50$
    401	001120	001142 				BNE	95$
    402	001122	012701 	000144 			MOV	#100.,R1
    403	001126					CALL	$RND
    404	001132	005200 				INC	R0
    405	001134	010001 				MOV	R0,R1
    406	001136	110165 	000017 		50$:	MOVB	R1,BPCNR(R5)
    407	001142					CALL	GETB
    408	001146	110165 	000014 			MOVB	R1,MSGSIZ+0(R5)	; PICK UP
    409	001152					CALL	GETB
    410	001156	110165 	000015 			MOVB	R1,MSGSIZ+1(R5)	; DTS MESSAGE SIZE
    411	001162	116500 	000006 			MOVB	SBTST(R5),R0	; GET DATA TEST TYPE
    412	001166	026065 	001472'	000014 		CMP	110$(R0),MSGSIZ(R5) ; AND VALIDATE MINIMUM MESSAGE LENGTH.
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 10-1
DATTST - DATA TEST

    413	001174	101122 				BHI	96$		; REPRIMAND IF BAD.
    414	001176					CALL	DATINI		; INITIALIZE VARIABLES.
    415	001202	005001 				CLR	R1		; SET NO FLOW CCB.
    416	001204	116500 	000007 			MOVB	FLOTYP(R5),R0	; IF FLOW CONTROL
    417	001210	001406 				BEQ	70$		; THEN
    418	001212	010403 				MOV	R4,R3		; SAVE CONNECT CCB
    419	001214					CALL	$CCBGT		; AND TRY FOR A FLOW CCB.
    420	001220	010401 				MOV	R4,R1		; SAVE IF GOTTEN
    421	001222	010304 				MOV	R3,R4		; AND RESTORE CONNECT CCB.
    422	001224	103515 				BCS	97$		; REJECT IF COULD NOT GET.
    423	001226	052765 	100000 	000002 	70$:	BIS	#ACTIVE,STATUS(R5) ; INDICATE LINK ACTIVE
    424	001234					NACC$	ULA(R5),,#0
    425	001304	010104 				MOV	R1,R4		; GET FLOW CCB
    426	001306	001416 				BEQ	80$		; IF THERE IS ONE
    427	001310					NMOD$	LLA(R5),FLOCNT(R5) ; AND SET THE FLOW COUNT.
    428	001344				80$:	RETURN
    429	001346				91$:	REJECT	#INVDAT,<R1>	; INVALID DATA TEST TYPE.
    430	001362				92$:	REJECT	#INVFLO,<R1>	; INVALID FLOW CONTROL.
    431	001376				93$:	REJECT	#INVCNT,<R1>	; INVALID FLOW COUNT.
    432	001412				94$:	REJECT	#INVNAK,<R1>	; INVALID NAK FREQUENCY.
    433	001426				95$:	REJECT	#INVBPC,<R1>	; INVALID BACK-PRESSURE.
    434	001442				96$:	REJECT	#INVBUF,<MSGSIZ(R5)> ; INVALID MESSAGE SIZE.
    435	001460	000167 	176742 		97$:	JMP	RESOURCE
    436
    437	001464	000000 	000001 	000002 	100$:	.WORD	NT.NFL,NT.SFL,NT.MFL ; FLOW CONTROL FLAGS.
    438	001472	000001 	000004 	000005 	110$:	.WORD	1,4,5,1		; MINIMUM MESSAGE SIZES.
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 11
DISTST - DISCONNECT TEST

    440						.SBTTL	DISTST - DISCONNECT TEST
    441					;
    442					; GET DISCONNECT SUBTYPE TEST
    443					;		INPUTS:
    444					;			R2=>ADDRESS OF NEXT BYTE OF CONNECT DATA
    445					;			R3=>COUNT OF CONNECT DATA LEFT
    446					;			R5=>LOGICAL LINK'S DATA BASE
    447					;
    448	000461					.PSECT	TEXT,D
    449	000461	   111 	   156 	   166 	INVDIS:	.ASCIZ	\Invalid disconnect test type: \<P$D>
    450
    451	001502					.PSECT	CODE,I
    452	001502				DISTST:	CALL	GETB		; DISCONNECT TYPE OF TEST
    453	001506	122701 	000005 			CMPB	#NRDIS,R1	; VALIDATE UPPER BOUND
    454	001512	101475 				BLOS	91$		; IF OKAY,
    455	001514	006301 				ASL	R1		; MAKE A WORD OFFSET
    456	001516	110165 	000006 			MOVB	R1,SBTST(R5)	; HOLD THIS FOR A BIT
    457	001522	122701 	000010 			CMPB	#<4*2>,R1	; RCVD DATA TEST?
    458	001526	101015 				BHI	30$		; NO ON BR
    459	001530	016402 	000016 			MOV	C.BUF+2(R4),R2
    460	001534	062702 	000136 			ADD	#N.OPDL,R2	; POINT AT USER DATA
    461	001540	012203 				MOV	(R2)+,R3	; LENGTH OF DATA
    462	001542	010365 	000014 			MOV	R3,DSCLNG(R5)	; SAVE LENGTH
    463	001546	012700 	000016 			MOV	#DSCDAT,R0	; POINT AT SAVE AREA
    464	001552	060500 				ADD	R5,R0
    465	001554	112220 			20$:	MOVB	(R2)+,(R0)+	; SAVE THE DATA
    466	001556					SOB	R3,20$		; KEEP GOING?
    467	001562	010403 			30$:	MOV	R4,R3		; SAVE CONNECT CCB
    468	001564					CALL	$LDBGT		; AND TRY FOR DISCONNECT CCB.
    469	001570	010401 				MOV	R4,R1		; COPY RETURNED CCB
    470	001572	010304 				MOV	R3,R4		; RESTORE ORIGINAL
    471	001574	103452 				BCS	92$		; AND REJECT CONNECT IF NO HOPE.
    472	001576	052765 	100000 	000002 		BIS	#ACTIVE,STATUS(R5) ; INDICATE LINK ACTIVE
    473	001604					NACC$	ULA(R5),#NT.NFL,#0
    474	001662	010104 				MOV	R1,R4		; GET DISCONNECT CCB.
    475	001664					MAP	C.BUF(R4)	; MAP AND
    476	001672	016402 	000016 			MOV	C.BUF+2(R4),R2	; POINT TO ITS BUFFER.
    477	001676	116501 	000006 			MOVB	SBTST(R5),R1	; TYPE OF DISCONNECT TEST TO PERFORM
    478	001702	000171 	001726'			JMP	@DISTYP(R1)	; DO IT
    479	001706				91$:	REJECT	#INVDIS,<R1>	; INVALID DISCONNECT TEST TYPE
    480	001722	000167 	176500 		92$:	JMP	RESOURCE
    481
    482	001726	001740'			DISTYP:	.WORD	DIS0		; DISCONNECT WITH NO USER DATA
    483	001730	001744'				.WORD	DIS1		; ABORT WITH NO USER DATA
    484	001732	001750'				.WORD	DIS2		; DISCONNECT WITH STANDARD MESSAGE
    485	001734	001756'				.WORD	DIS3		; ABORT WITH STANDARD MESSAGE
    486	001736	001764'				.WORD	DIS4		; DSC WITH RECEIVED DATA
    487					;*	.WORD	DIS5		; ABO WITH RECEIVED DATA
    488		000005 			NRDIS	=.-DISTYP/2
    489
    490						.ENABL	LSB
    491					;
    492					; DISCONNECT WITH NO USER DATA
    493					;
    494	001740	005001 			DIS0:	CLR	R1		; NO DATA
    495	001742	000412 				BR	10$		; DO THE DISCONNECT
    496					;
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 11-1
DISTST - DISCONNECT TEST
    497					; ABORT WITH NO USER DATA
    498					;
    499	001744	005001 			DIS1:	CLR	R1		; NO DATA
    500	001746	000430 				BR	20$		; DO THE ABORT
    501					;
    502					; DISCONNECT WITH STANDARD USER DATA
    503					;
    504	001750				DIS2:	CALL	DSCSTD		; INIT AND FILL BUFFER
    505	001754	000405 				BR	10$
    506					;
    507					; ABORT WITH STANDARD USER DATA
    508					;
    509	001756				DIS3:	CALL	DSCSTD		; INIT AND FILL BUFFER
    510	001762	000422 				BR	20$
    511
    512					;
    513					; DISCONNECT WITH RECEIVED DATA
    514					;
    515	001764				DIS4:	CALL	DSCRCV
    516	001770				10$:	NDIS$	LLA(R5),<,,R1>
    517	002022					RETURN
    518					;
    519					; ABORT WITH RECEIVED DATA
    520					;
    521	002024				DIS5:	CALL	DSCRCV
    522	002030				20$:	NABO$	ULA(R5)
    523	002072					RETURN
    524
    525						.DSABL	LSB
    526
    527	002074	012701 	004210'		DSCSTD:	MOV	#SDATA,R1	; ADDRESS OF COROUTINE TO GEN DATA
    528	002100	012703 	000020 			MOV	#16.,R3		; 16 BYTES WORTH
    529	002104					CALL	FILBUF		; DO IT!
    530	002110	012701 	000020 			MOV	#16.,R1		; LENGTH OF STANDARD DATA
    531	002114					RETURN
    532
    533	002116	012703 	000014 		DSCRCV:	MOV	#DSCLNG,R3	; POINT AT RCVD DATA INFO
    534	002122	060503 				ADD	R5,R3
    535	002124	012301 				MOV	(R3)+,R1	; LENGTH OF USER DATA TO TRANSFER.
    536	002126	001404 				BEQ	90$		; IF THERE IS SOMETHING
    537	002130	010100 				MOV	R1,R0		; THEN SAVE LENGTH
    538	002132	112322 			25$:	MOVB	(R3)+,(R2)+	; AND COPY IT IN.
    539	002134					SOB	R0,25$
    540	002140				90$:	RETURN
    541
    542	002142				DONABO:
    543	002142				DONDIS:	CALL	GETCHN		; GET CHANNEL CONTROL BLOCK
    544	002146	105764 	000012 			TSTB	C.STS(R4)	; IF NOT SUCCESSFUL
    545	002152	100006 				BPL	10$		; THEN
    546	002154	010465 	000014 			MOV	R4,DSCLNG(R5)	; SAVE THE CCB
    547	002160	052765 	004000 	000002 		BIS	#DIP,STATUS(R5)	; AND INDICATE WE ARE WAITING.
    548	002166					RETURN
    549	002170	042765 	100000 	000002 	10$:	BIC	#ACTIVE,STATUS(R5) ; AND CLEAR ACTIVE FLAG.
    550	002176	132764 	000002 	000003 		BITB	#CB.CCB,C.BID(R4)
    551	002204	001403 				BEQ	70$
    552	002206					CALL	$CCBRT		; RETURN THE CCB AND LEAVE.
    553	002212					RETURN
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 11-2
DISTST - DISCONNECT TEST

    554	002214				70$:	CALL	$LDBRT
    555	002220					RETURN
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 12
XMITST - INTERRUPT TEST

    557						.SBTTL XMITST - INTERRUPT TEST
    558					;+
    559					; GET THE TYPE OF INTERRUPT TEST
    560					;
    561					;	INPUTS:
    562					;		R2=>ADDRESS OF NEXT BYTE OF CONNECT DATA
    563					;		R3=>COUNT OF CONNECT DATA LEFT
    564					;		R5=>LOGICAL LINK'S DATA BASE
    565					;-
    566	000521					.PSECT	TEXT,D
    567	000521	   111 	   156 	   166 	INVXMI:	.ASCIZ	\Invalid interrupt test type: \<P$D>
    568	000560	   111 	   156 	   164 	BADFLO:	.ASCIZ	\Interrupt flow count must be one\
    569
    570	002222					.PSECT	CODE,I
    571	002222				XMITST:	CALL	GETB		; TYPE OF INTERRUPT TEST
    572	002226	122701 	000004 			CMPB	#NRXMI,R1	; VALIDATE UPPER BOUND
    573	002232	101447 				BLOS	91$
    574	002234	006301 				ASL	R1		; MAKE A WORD OFFSET
    575	002236	110165 	000006 			MOVB	R1,SBTST(R5)	; SAVE FOR AST
    576	002242	105065 	000007 			CLRB	FLOTYP(R5)	; NO FLOW CONTROL
    577	002246					CALL	GETB		; GET FLOW COUNT
    578	002252	122701 	000001 			CMPB	#1,R1		; ONLY ALLOW FLOW OF 1
    579	002256	001043 				BNE	92$
    580	002260					CALL	DATINI		; INITIALIZE VARIABLES.
    581	002264	052765 	100000 	000002 		BIS	#ACTIVE,STATUS(R5) ; DENOTE LINK IN USE
    582	002272					NACC$	ULA(R5),#NT.NFL,#0
    583	002350					RETURN
    584	002352				91$:	REJECT	#INVXMI,<R1>	; INVALID INTERRUPT TEST TYPE.
    585	002366				92$:	REJECT	#BADFLO		; INVALID FLOW COUNT.
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 13
RCVDAT	RECEIVE DATA

    587						.SBTTL	RCVDAT	RECEIVE DATA
    588					;+
    589					; THIS IS USED BY THE DATA TEST
    590					;-
    591	002376					.PSECT	CODE,I
    592	002376				RCVDAT:	CALL	GETCHN		; GET CHANNEL CONTROL BLOCK.
    593	002402	005001 				CLR	R1
    594	002404	032765 	002000 	000002 		BIT	#NIP,STATUS(R5)	; IF NAK IN PROGRESS
    595	002412	001120 				BNE	80$		; THEN RETURN THE BUFFER.
    596	002414	012701 	000001 			MOV	#NT.ACK,R1	; ASSUME AN ACK
    597	002420	122765 	000002 	000005 		CMPB	#<1*2>,TST(R5)	; IF NOT THE DATA TEST
    598	002426	001112 				BNE	80$		; THEN IGNORE.
    599	002430	116500 	000012 			MOVB	NAKCNT(R5),R0
    600	002434	001403 				BEQ	10$
    601	002436	105365 	000016 			DECB	NAKNR(R5)
    602	002442	001522 				BEQ	90$
    603	002444	062765 	000001 	000030 	10$:	ADD	#1,RCVCNT(R5)	; NUMBER OF SEGMENTS (?) RECEIVED
    604	002452	005565 	000032 			ADC	RCVCNT+2(R5)
    605	002456					MAP	C.BUF(R4)	; MAP TO AND
    606	002464	016402 	000016 			MOV	C.BUF+2(R4),R2	; POINT AT BUFFER
    607	002470	116500 	000006 			MOVB	SBTST(R5),R0	; OFFSET TO TEST TYPE
    608	002474					CALL	@DATTYP(R0)	; DO THE TEST
    609	002500	103026 				BCC	20$		; IF TEST FAILED
    610	002502	010403 				MOV	R4,R3		; SAVE CCB/BUFFER
    611	002504					CALL	$CCBGT		; AND GET A CCB
    612	002510	103421 				BCS	18$		; IF WE CAN.
    613	002512					NABO$	ULA(R5)		; ABORT THE LINK !!!
    614	002554	010304 			18$:	MOV	R3,R4
    615	002556	012701 	000001 		20$:	MOV	#NT.ACK,R1	; ACK THE SEGMENT.
    616	002562	105765 	000013 			TSTB	BPCCNT(R5)	; IF BACKPRESSURE ACTIVE
    617	002566	001417 				BEQ	40$		; THEN
    618	002570	105365 	000017 			DECB	BPCNR(R5)	; CHECK IF TIME TO X-OFF.
    619	002574	001014 				BNE	40$		; IF SO,
    620	002576	052765 	010000 	000002 		BIS	#XOFF,STATUS(R5) ; DO BOOKEEPING
    621	002604	052701 	000004 			BIS	#NT.XOF,R1	; AND LEAVE X-OFFED
    622	002610	012700 	000144 			MOV	#100.,R0	; FOR A MAXIMUM OF 100. SECONDS.
    623	002614					CALL	$RND
    624	002620	005200 				INC	R0
    625	002622	110065 	000017 			MOVB	R0,BPCNR(R5)
    626	002626	116500 	000007 		40$:	MOVB	FLOTYP(R5),R0	; GET FLOW TYPE
    627	002632	001410 				BEQ	80$		; AND IF REQUIRED
    628	002634	022700 	000002 			CMP	#<1*2>,R0
    629	002640	103003 				BHIS	60$		; THEN CHECK STATUS
    630	002642					CALL	EOMCHK		; FOR END OF MESSAGE.
    631	002646	001002 				BNE	80$		; IF SO,
    632	002650	052701 	000420 		60$:	BIS	#NT.MD1,R1	; BUMP THE FLOW COUNT.
    633	002654				80$:	NRTN$	LLA(R5),R1
    634	002706					RETURN
    635
    636	002710	052765 	002000 	000002 	90$:	BIS	#NIP,STATUS(R5)	; DO BOOKEEPING
    637	002716	012701 	000002 			MOV	#NT.NAK,R1	; AND SET TO NAK.
    638	002722	105700 				TSTB	R0		; IF A RANDOM NAK
    639	002724	100005 				BPL	96$		; THEN
    640	002726	012700 	000026 			MOV	#22.,R0		; PICK UP ANOTHER
    641	002732					CALL	$RND		; RANDOM NUMBER.
    642	002736	005200 				INC	R0
    643	002740	110065 	000016 		96$:	MOVB	R0,NAKNR(R5)	; NEXT VICTIM AFTER THIS MANY.
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 13-1
RCVDAT	RECEIVE DATA

    644	002744	000743 				BR	80$
    645
    646	002746				DATTYP:
    647	002746	002774'				.WORD	DAT0		; DATA SINK
    648	002750	003000'				.WORD	DAT1		; SEQUENCE CHECK
    649	002752	003002'				.WORD	DAT2		; PATTERN AND SEQUENCE CHECK
    650	002754	003102'				.WORD	DAT3		; DATA ECHO
    651		000004 			NRDAT	=.-DATTYP/2
    652
    653	002756				DONNAK:	CALL	GETCHN		; GET CHANNEL CONTROL BLOCK
    654	002762	042765 	002000 	000002 		BIC	#NIP,STATUS(R5)	; CANCEL NAK STATUS
    655	002770					CALLR	$CCBRT		; AND RETURN THE CCB.
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 14
RCVDAT	RECEIVE DATA

    657					;
    658					; PERFORM THE DATA TEST
    659					;
    660					; DAT0 - DATA SINK
    661					; DAT1 - SEQUENCE CHECK
    662					; DAT2 - SEQUENCE CHECK AND PATTERN CHECK
    663					; DAT3 - DATA ECHO
    664					;
    665					;   INPUT:
    666					;	R2=>MESSAGE IN LINK'S BUFFER SPACE
    667					;	R5=>LOGICAL LINK'S DATA BASE
    668					;
    669						.ENABL	LSB
    670					;
    671					; IGNORE THE RECEIVED DATA
    672					;
    673	002774	000241 			DAT0:	CLC			; WE PASS...
    674	002776					RETURN			; EASY TEST
    675
    676					;
    677					; SEQUENCE CHECK THE DATA
    678					;
    679	003000	005000 			DAT1:	CLR	R0		; CLEAR A FLAG
    680
    681					;
    682					; SEQUENCE CHECK AND PATTERN CHECK
    683					;
    684	003002				DAT2:	CALL	BOMCHK		; IF NOT BEGINNING OF MESSAGE
    685	003006	001003 				BNE	20$		; THEN SKIP SEQUENCE CHECK.
    686	003010					CALL	CHKNR		; OTHERWISE CHECK THE NUMBER.
    687	003014	001030 				BNE	80$
    688	003016	005700 			20$:	TST	R0		; SEQUENCE CHECK ONLY?
    689	003020	001425 				BEQ	70$		; YES ON BR
    690	003022	016403 	000020 			MOV	C.CNT(R4),R3	; LENGTH OF BUFFER
    691	003026					CALL	BOMCHK		; IF BEGINNING OF MESSAGE
    692	003032	001006 				BNE	30$		; THEN
    693	003034	162703 	000004 			SUB	#4,R3		; CHECK ON DATA IN THIS BUFFER.
    694	003040	003416 				BLE	80$		; THIS IS SCREWY...
    695	003042	012701 	004210'			MOV	#SDATA,R1	; ADDRESS OF DATA GENERATOR COROUTINE
    696	003046	000404 				BR	40$
    697	003050	016500 	000034 		30$:	MOV	PATTRN(R5),R0	; GET LAST POINT WE WERE AT.
    698	003054	016501 	000036 			MOV	PATTRN+2(R5),R1
    699	003060				40$:	CALL	TSTBUF		; DO THE DATA TEST
    700	003064	010165 	000036 			MOV	R1,PATTRN+2(R5)	; SAVE LAST POSITION.
    701	003070	010065 	000034 			MOV	R0,PATTRN(R5)
    702	003074				70$:	RETURN
    703	003076	000261 			80$:	SEC			; NO MATCH...
    704	003100					RETURN
    705
    706					;
    707					; DATA ECHO TEST
    708					;
    709
    710	003102	010401 			DAT3:	MOV	R4,R1		; SAVE OLD CCB/LDB
    711	003104					CALL	$LDBGT		; AND GET OUR OWN.
    712	003110	103464 				BCS	90$		; (IF WE CAN)
    713	003112	016103 	000020 			MOV	C.CNT(R1),R3	; GET OLD LENGTH
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 14-1
RCVDAT	RECEIVE DATA

    714	003116	010364 	000020 			MOV	R3,C.CNT(R4)	; STORE IT
    715	003122					$MVTBF	R4,C.BUF	; AND COPY BUFFER OVER.
    716	003136	005064 	000012 			CLR	C.STS(R4)	; CLEAR FLAG BITS
    717						.IRP	FLG,<BOM,MOM,EOM,SOL>
    718						CMPB	#NS.'FLG',C.STS(R1)
    719						BNE	.+10
    720						BIS	#NT.'FLG',C.STS(R4)
    721						.ENDR
    722	003232					NDAT$	LLA(R5)
    723	003260	000241 				CLC
    724	003262	010104 			90$:	MOV	R1,R4		; RESTORE PREVIOUS CCB/LDB
    725	003264					RETURN
    726
    727						.DSABL	LSB
    728
    729	003266				DONDAT:	CALL	GETCHN		; GET CHANNEL CONTROL BLOCK
    730	003272	016401 	000012 			MOV	C.STS(R4),R1	; SAVE STATUS
    731	003276					CALL	$LDBRT		; AND RETURN CCB/LDB.
    732	003302	122701 	000001 			CMPB	#NS.SUC,R1	; IF SUCCESSFUL
    733	003306	001005 				BNE	90$		; THEN
    734	003310	062765 	000001 	000020 		ADD	#1,SNDNR(R5)	; UPDATE THE SEND COUNT.
    735	003316	005565 	000022 			ADC	SNDNR+2(R5)
    736	003322				90$:	RETURN
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 15
RCVINT	RECIEVE AN INTERRUPT MESSAGE

    738						.SBTTL	RCVINT	RECIEVE AN INTERRUPT MESSAGE
    739					;
    740					; RECEIVED AN INTERRUPT
    741					;
    742	003324					.PSECT	CODE,I
    743	003324				RCVINT:	CALL	GETCHN		; GET CHANNEL CONTROL BLOCK.
    744	003330	122765 	000006 	000005 		CMPB	#<3*2>,TST(R5)	; IF NOT THE INTERRUPT TEST
    745	003336	001050 				BNE	20$		; THEN IGNORE.
    746	003340	116465 	000020 	000014 		MOVB	C.CNT(R4),MSGSIZ(R5) ; SAVE XMI MSG LENGTH
    747	003346	062765 	000001 	000030 		ADD	#1,RCVCNT(R5)	; INC NUMBER OF XMI'S RECIEVED
    748	003354	005565 	000032 			ADC	RCVCNT+2(R5)
    749	003360					MAP	C.BUF(R4)	; MAP AND
    750	003366	016402 	000016 			MOV	C.BUF+2(R4),R2	; POINT TO BUFFER.
    751	003372	116501 	000006 			MOVB	SBTST(R5),R1	; TYPE OF XMI TEST
    752	003376					CALL	@XMITYP(R1)	; DO THE TEST
    753	003402	103026 				BCC	20$		; IF TEST FAILED
    754	003404	010403 				MOV	R4,R3		; SAVE CCB/BUFFER
    755	003406					CALL	$CCBGT		; AND GET A CCB
    756	003412	103421 				BCS	18$		; IF WE CAN.
    757	003414					NABO$	ULA(R5)		; ABORT THE LINK !!!
    758	003456	010304 			18$:	MOV	R3,R4
    759	003460				20$:	NRTI$	LLA(R5)
    760	003506					RETURN
    761
    762	003510	003520'			XMITYP:	.WORD	XMI0		; DATA SINK
    763	003512	003524'				.WORD	XMI1		; SEQUENCE CHECK
    764	003514	003526'				.WORD	XMI2		; PATTERN CHECK AND SEQ CHECK
    765	003516	003570'				.WORD	XMI3		; DATA ECHO
    766		000004 			NRXMI	=.-XMITYP/2
    767
    768					;+
    769					; INTERRUPT TESTS
    770					;	INPUTS:
    771					;		R5=>LOGICAL LINK'S DATA BASE
    772					;
    773					; NOTICE: ALL CHECKING ASSUMES THAT THE MESSAGE IS TOTALLY CONTAINED
    774					;  IN ONE BUFFER.
    775					;-
    776						.ENABL	LSB
    777					;
    778					; SINK TEST
    779					;
    780	003520	000241 			XMI0:	CLC			; ALWAYS RIGHT !!!
    781	003522					RETURN
    782
    783					;
    784					; SEQUENCE CHECK
    785					;
    786	003524	005001 			XMI1:	CLR	R1		; FLAG SO ONLY SEQ CHECK
    787
    788					;
    789					; SEQUENCE AND PATTERN CHECK
    790					;
    791	003526				XMI2:	CALL	CHKNR		; CHECK THE SEQUENCE NUMBER
    792	003532	001014 				BNE	90$
    793	003534	005701 				TST	R1		; PATTERN CHECK TOO?
    794	003536	001411 				BEQ	80$		; YES IF NE
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 15-1
RCVINT	RECIEVE AN INTERRUPT MESSAGE

    795	003540	016403 	000020 			MOV	C.CNT(R4),R3	; INT MSG LENGTH
    796	003544	162703 	000004 			SUB 	#4,R3		; MINUS SEQ LENGTH
    797	003550	003405 				BLE	90$		; JUST IN CASE
    798	003552	012701 	004210'			MOV	#SDATA,R1	; COROUTINE ADDR
    799	003556					CALL	TSTBUF		; SEE IF MATCH
    800	003562				80$:	RETURN
    801	003564	000261 			90$:	SEC			; NO MATCH...
    802	003566					RETURN
    803					;
    804					; ECHO TEST
    805					;
    806	003570	016403 	000020 		XMI3:	MOV	C.CNT(R4),R3	; INT MSG LENGTH
    807	003574	010401 				MOV	R4,R1
    808	003576					CALL	$LDBGT
    809	003602	103423 				BCS	60$
    810	003604	010364 	000020 			MOV	R3,C.CNT(R4)
    811	003610					$MVTBF	R4,C.BUF
    812	003624					NINT$	LLA(R5)
    813	003652	010104 			60$:	MOV	R1,R4
    814	003654					RETURN
    815
    816						.DSABL	LSB
    817
    818	003656				DONINT:	CALL	GETCHN		; GET CHANNEL CONTROL BLOCK
    819	003662	016401 	000012 			MOV	C.STS(R4),R1	; SAVE STATUS
    820	003666					CALL	$LDBRT		; AND RETURN CCB/LDB.
    821	003672	122701 	000001 			CMPB	#NS.SUC,R1	; IF SUCCESSFUL
    822	003676	001005 				BNE	90$		; THEN
    823	003700	062765 	000001 	000020 		ADD	#1,SNDNR(R5)	; UPDATE THE SEND COUNT.
    824	003706	005565 	000022 			ADC	SNDNR+2(R5)
    825	003712				90$:	RETURN
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 16
RCVDIS	RECIEVE A DISCONNECT

    827						.SBTTL	RCVDIS	RECIEVE A DISCONNECT
    828					;
    829					; RECEIVED A DISCONNECT OR ABORT
    830					;
    831	000621					.PSECT	TEXT,D
    832	000621	   114 	   151 	   156 	LNKABO:	.ASCIZ	\Link aborted\
    833
    834	003714					.PSECT	CODE,I
    835	003714				RCVDIS:	CALL	GETCHN		; GET CHANNEL CONTROL BLOCK
    836	003720	010403 				MOV	R4,R3		; AND SAVE THE DISCONNECT CCB.
    837	003722	016404 	000016 			MOV	C.BUF+2(R4),R4	; IF THERE IS DATA
    838	003726	001402 				BEQ	10$		; THEN
    839	003730					CALL	$CCBRT		; RETURN THE EXTRA CCB.
    840	003734	010304 			10$:	MOV	R3,R4		; GET BACK CCB.
    841	003736	122764 	177777 	000012 		CMPB	#NE.DIS,C.STS(R4) ; IF JUST DISCONNECT
    842	003744	001022 				BNE	20$		; THEN
    843	003746					NDIS$	LLA(R5),<#0,#0,#0> ; START DSCONNECT ON OUR END.
    844	004010					RETURN
    845	004012				20$:	NABO$	ULA(R5)		; OTHERWISE ABORT.
    846	004054					DISPLAY	#LNKABO		; SAY LINK ABORTED.
    847	004064					RETURN
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 17
GETCHN	GET CHANNEL CONTROL BLOCK

    849						.SBTTL	GETCHN	GET CHANNEL CONTROL BLOCK
    850					;+
    851					; INPUTS:
    852					;	R5 - POINTER TO THE DTR DATA BASE
    853					;	R4 - CCB
    854					;
    855					; OUTPUTS:
    856					;	R5 - POINTER TO CHANNEL BLOCK
    857					;
    858					; REGISTERS MODIFIED: R5,R0
    859					;-
    860	004066					.PSECT	CODE,I
    861	004066				GETCHN:	GTULA$	R0
    862	004074	062705 	000000 			ADD	#CHNLST,R5
    863	004100	011505 			10$:	MOV	(R5),R5
    864	004102	001777 				BEQ	.
    865	004104	126500 	000002 			CMPB	ULA(R5),R0
    866	004110	001373 				BNE	10$
    867	004112					RETURN
    868
    869					;
    870					; INITIALIZE THE CHANNEL CONTROL BLOCK FOR A DATA TEST
    871					;
    872	004114				DATINI:	PUSH	<R2,R1>		; SAVE SOME REGISTERS
    873	004120	012702 	000020 			MOV	#SNDNR,R2	; CLEAR WORDS FROM HERE
    874	004124	060502 				ADD	R5,R2
    875	004126	012701 	000010 			MOV	#8.,R1		; FOR 8. WORDS.
    876	004132	005022 			10$:	CLR	(R2)+
    877	004134					SOB	R1,10$
    878	004140					POP	<R1,R2>		; ALL DONE.
    879	004144					RETURN
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 18
BUFFER FILL AND TEST ROUTINES

    881						.SBTTL	BUFFER FILL AND TEST ROUTINES
    882					;+
    883					; FILBUF - FILL THE BUFFER WITH DATA FROM COROUINE
    884					;
    885					; TSTBUF - TEST THE BUFFER FOR STANDARD DATA
    886					;
    887					;	R3= BUFFER SIZE IN BYTES
    888					;	R2 = BUFFER ADDRESS
    889					;	R1 = DATA GENERATION COROUTINE ADDRESS
    890					;-
    891
    892	004146				TSTBUF:	PUSH	R1
    893	004150				10$:	CALL	@(SP)+		; GET NEXT DATA BYTE
    894	004152	120022 				CMPB	R0,(R2)+	; DO COMPARE
    895	004154	001003 				BNE	20$		; INVALID CHAR ON BR
    896	004156					SOB	R3,10$		; COUNT DOWN
    897	004162	005727 				TST	(PC)+		; CLEAR C FOR SUCCESS
    898	004164	000261 			20$:	SEC			; INDICATE FAILURE
    899	004166					POP	R1		; RESTORE THE STACK
    900	004170					RETURN
    901
    902	004172				FILBUF:	PUSH	R1		; SET UP COROUTINE CALL
    903	004174				10$:	CALL	@(SP)+		; GET NEXT CHAR
    904	004176	110022 				MOVB	R0,(R2)+	; STUFF IN BUFFER
    905	004200					SOB	R3,10$		; COUNT DOWN
    906	004204					POP	R1		; RESTORE STACK
    907	004206					RETURN
    908
    909					;
    910					; STANDARD DATA PATTERN GENERATION COROUTINE
    911					;
    912
    913	004210	112700 	000101 		SDATA:	MOVB	#'A,R0		; START WITH LETTERS
    914	004214				10$:	CALL	@(SP)+		; CALL CALLER
    915	004216	120027 	000132 			CMPB	R0,#'Z		; END OF LETTERS?
    916	004222	001003 				BNE	20$		; IF NO, TRY LETTERS
    917	004224	112700 	000060 			MOVB	#'0,R0		; ELSE, SWITCH TO NUMBERS
    918	004230	000771 				BR	10$		; KEEP GOING
    919	004232	120027 	000071 		20$:	CMPB	R0,#'9		; END OF NUMBERS?
    920	004236	001764 				BEQ	SDATA		; IF YES START OVER
    921	004240	105200 				INCB	R0		; ELSE, INCREMENT DATA
    922	004242	000764 				BR	10$
    923	004244					RETURN
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 19
BUFFER FILL AND TEST ROUTINES

    925	004246	122764 	000040 	000012 	BOMCHK:	CMPB	#NS.BOM,C.STS(R4)
    926	004254	001403 				BEQ	10$
    927	004256	122764 	000140 	000012 		CMPB	#NS.SOL,C.STS(R4)
    928	004264				10$:	RETURN
    929
    930	004266	122764 	000100 	000012 	EOMCHK:	CMPB	#NS.EOM,C.STS(R4)
    931	004274	001403 				BEQ	10$
    932	004276	122764 	000140 	000012 		CMPB	#NS.SOL,C.STS(R4)
    933	004304				10$:	RETURN
    934
    935	004306	062765 	000001 	000024 	CHKNR:	ADD	#1,RCVNR(R5)	; BUMP THE RECEIVE NUMBER
    936	004314	005565 	000026 			ADC	RCVNR+2(R5)
    937	004320	126522 	000024 			CMPB	RCVNR(R5),(R2)+ ; R2 POINTS AT LOW ORDER BYTE
    938	004324	001010 				BNE	10$
    939	004326	126522 	000025 			CMPB	RCVNR+1(R5),(R2)+
    940	004332	001005 				BNE	10$		; DISCONNECT WITH NO USER DATA ON BR
    941	004334	126522 	000026 			CMPB	RCVNR+2(R5),(R2)+ ; HIGH ORDER WORD
    942	004340	001002 				BNE	10$		; DISCONNECT
    943	004342	126522 	000027 			CMPB	RCVNR+3(R5),(R2)+
    944	004346				10$:	RETURN
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 20
BUFFER FILL AND TEST ROUTINES

    946					;
    947					; DISPLAY A MESSAGE OVER EVENT LOGGING IF REQUESTED
    948					;
    949	000636					.PSECT	TEXT,D
    950	000636	   074 	   104 	   124 	HEADER:	.ASCIZ	\<DTR> \
    951
    952	004350					.PSECT	CODE,I
    953	004350	032765 	020000 	000002 	PRINT:	BIT	#PROPT,STATUS(R5) ; IF PRINT OPTION SPECIFIED
    954	004356	001440 				BEQ	90$		; THEN
    955	004360	012767 	000000C	000000'		MOV	#PD$NSP*400,PDST ; SET LOGGING TARGET
    956	004366					PUSH	<R2,R3>
    957	004372	012700 	000000'			MOV	#PDST,R0
    958	004376					CALL	$CMLOG
    959	004402	103424 				BCS	80$
    960	004404	010200 				MOV	R2,R0		; GET BUFFER ADDRESS
    961	004406	112720 	000016 			MOVB	#E$DTXT,(R0)+	; SET TEXT DATA CODE
    962	004412	105020 				CLRB	(R0)+		; AND INIT TO ZERO.
    963	004414					PUSH	<R0,R1>		; SAVE BUFFER AND PATTERN ADDRESSES.
    964	004420	012702 	000636'			MOV	#HEADER,R2	; INSERT HEADER.
    965	004424					CALL	EDIT
    966	004430	012703 	000140'			MOV	#PARAM,R3	; NOW THE MESSAGE.
    967	004434					POP	R2
    968	004436					CALL	EDIT
    969	004442	010002 				MOV	R0,R2		; COPY THE CURRENT BUFFER POSITION
    970	004444					POP	R1		; AND THE BEGINNING OF THE TEXT.
    971	004446	160100 				SUB	R1,R0		; FIGURE LENGTH OF TEXT
    972	004450	110041 				MOVB	R0,-(R1)	; AND INSERT IN MESSAGE.
    973	004452					CALL	@(SP)+		; FINISH UP LOGGING MESSAGE.
    974	004454				80$:	POP	<R3,R2>
    975	004460				90$:	RETURN
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 21
BUFFER FILL AND TEST ROUTINES

    977	000136					.PSECT	DATA,D
    978		000376 			P$D	= -2&377
    979	000136	004506'				.WORD	EDDEC		; DECIMAL MAGNITUDE
    980	000140				PARAM:	.BLKW	5
    981
    982	004462					.PSECT	CODE,I
    983	004462	110120 			EDI1:	MOVB	R1,(R0)+	; STORE TEXT.
    984	004464	112201 			EDIT:	MOVB	(R2)+,R1	; GET NEXT BYTE
    985	004466	003375 				BGT	EDI1		; AND STORE IF CHARACTER.
    986	004470	001405 				BEQ	90$		; IF NOT END OF PATTERN
    987	004472					PUSH	R2		; SAVE VALUABLE STUFF
    988	004474					CALL	@PARAM(R1)	; AND EXECUTE REQUESTED FUNCTION.
    989	004500					POP	R2
    990	004502	000770 				BR	EDIT		; GO FOR MORE.
    991	004504				90$:	RETURN
    992
    993	004506	012301 			EDDEC:	MOV	(R3)+,R1	; WITH NEXT PARAMETER
    994	004510	000167 	000000G			JMP	$CBDMG		; AND DISPLAY AS DECIMAL MAGNITUDE.
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 22
BUFFER FILL AND TEST ROUTINES

    996					;+
    997					; GENERATE A RANDOM NUMBER BETWEEN 0 AND THE GIVEN NUMBER
    998					;
    999					; INPUT:
   1000					;	R0 - UPPER LIMIT OF DISTRIBUTION TO GET NUMBER FROM
   1001					;
   1002					; OUTPUT:
   1003					;	R0 - RANDOM NUMBER FROM UNIFORM DISTRIBUTION
   1004					;-
   1005
   1006	000152					.PSECT	DATA,D
   1007	000152	000000 	031415 		RNM:	.WORD	0,31415
   1008
   1009	004514					.PSECT	CODE,I
   1010	004514				$RND::	PUSH	<R4,R3,R2,R1>
   1011	004524	010003 				MOV	R0,R3
   1012	004526	003002 				BGT	10$
   1013	004530	005000 				CLR	R0
   1014	004532	000446 				BR	90$
   1015	004534	012700 	000152'		10$:	MOV	#RNM,R0
   1016	004540	012001 				MOV	(R0)+,R1	; PICK UP THE SEED.
   1017	004542	011002 				MOV	(R0),R2
   1018	004544	006302 				ASL	R2		; MUL BY 200003=65539.
   1019	004546	006101 				ROL	R1		; (A PRIME NUMBER)
   1020	004550	061002 				ADD	(R0),R2
   1021	004552	005501 				ADC	R1
   1022	004554	061001 				ADD	(R0),R1
   1023	004556	064001 				ADD	-(R0),R1
   1024	004560	042701 	100000 			BIC	#100000,R1	; MAKE IT POSITIVE
   1025	004564	010120 				MOV	R1,(R0)+	; AND SAVE IT
   1026	004566	010210 				MOV	R2,(R0)		; AS THE NEW SEED.
   1027	004570	006302 				ASL	R2
   1028	004572	006101 				ROL	R1
   1029	004574	005000 				CLR	R0
   1030	004576	010246 				MOV	R2,-(SP)	; SAVE MULTIPLICAND.
   1031	004600	010146 				MOV	R1,-(SP)
   1032	004602	012704 	000020 			MOV	#16.,R4
   1033	004606	006303 			20$:	ASL	R3
   1034	004610	005304 				DEC	R4
   1035	004612	103375 				BCC	20$
   1036	004614	001414 				BEQ	80$
   1037	004616	006302 			30$:	ASL	R2		; MULTIPLY BY 2.
   1038	004620	006101 				ROL	R1
   1039	004622	006100 				ROL	R0
   1040	004624	006303 				ASL	R3		; CHECK MULTIPLIER
   1041	004626	103005 				BCC	40$		; DON'T ADD
   1042	004630	066602 	000002 			ADD	2(SP),R2	; ADD MULTIPLICAND
   1043	004634	005501 				ADC	R1		; TO RESULT.
   1044	004636	061601 				ADD	(SP),R1
   1045	004640	005500 				ADC	R0
   1046	004642				40$:	SOB	R4,30$
   1047	004646	022626 			80$:	CMP	(SP)+,(SP)+
   1048	004650				90$:	POP	<R1,R2,R3,R4>	; THIS IS RANDOM NUMBER.
   1049	004660					RETURN
   1050
   1051		000001 				.END
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 22-1
SYMBOL TABLE

ACTIVE= 100000   	C.BUF1  000014   	E$DMCD= 000012   	FE.LSI= 000400   	KISAR5= 172352
A$$CHK= 000000   	C.BUF2  000024   	E$DNOD= 000011   	FE.MUP= 000002   	KISAR6= 172354
A$$CPS= 000000   	C.CNT   000020   	E$DOSI= 000010   	FE.MXT= 040000   	KISAR7= 172356
A$$PRI= 000000   	C.CNT1  000020   	E$DREC= 000007   	FE.NLG= 100000   	KISDR0= 172300
A$$TRP= 000000   	C.CNT2  000030   	E$DREG= 000001   	FE.PKT= 000100   	KISDR6= 172314
BADFLO  000560R     004	C.FLG   000022   	E$DRSN= 000006   	FE.PLA= 000020   	KISDR7= 172316
BOMCHK  004246R     003	C.FLG1  000022   	E$DTHR= 000015   	FILBUF  004172R     003	K$$CNT= 177546
BPCCNT  000013   	C.FLG2  000032   	E$DTIM= 000002   	FILRCV  000736R     003	K$$CSR= 177546
BPCNR   000017   	C.FNC   000010   	E$DTPC= 000014   	FILSTD  000714R     003	K$$LDC= 000000
CB.CCB= 000002   	C.LIN   000006   	E$DTXT= 000016   	FLOCNT  000010   	K$$TPS= 000074
CB.RDB= 000004   	C.LNK   000000   	E$DUPT= 000004   	FLOTYP  000007   	LD$LP = 000000
CE.ABO= 100362   	C.MOD   000011   	E$RABO= 000017   	FS.AST= 000000   	LLA     000004
CE.DIS= 100366   	C.NSP   000004   	E$RCRC= 000023   	FS.CIB= 002000   	LNKABO  000621R     004
CE.ERR= 100370   	C.RSV   000002   	E$RDSC= 000005   	FS.CRA= 001000   	L$$ASG= 000000
CE.MOP= 100372   	C.STA   000007   	E$RFRM= 000024   	FS.DIS= 013000   	L$$DRV= 000000
CE.NTE= 100361   	C.STS   000012   	E$RHFE= 000016   	FS.DVC= 001000   	L$$P11= 000001
CE.RTE= 100376   	DATINI  004114R     003	E$RLIN= 000003   	FS.ENB= 012000   	L$$11R= 000000
CE.SRC= 100364   	DATTST  000762R     003	E$RMOP= 000014   	FS.GET= 006000   	MPAR  = 172100
CE.TMO= 100374   	DATTYP  002746R     003	E$RMTL= 000013   	FS.INI= 000000   	MPCSR = 177746
CF.EOM= 000004   	DAT0    002774R     003	E$RNAK= 000032   	FS.KIL= 000000   	MSGSIZ  000014
CF.HDR= 000020   	DAT1    003000R     003	E$RNXM= 000002   	FS.LTM= 001000   	M$$CRB= 000124
CF.LB = 100000   	DAT2    003002R     003	E$ROVR= 000012   	FS.MNT= 004000   	M$$CRX= 000000
CF.SOM= 000010   	DAT3    003102R     003	E$RPEC= 000022   	FS.MSN= 014000   	M$$FCS= 000000
CF.SYN= 000040   	DIP   = 004000   	E$RPEM= 000021   	FS.RNG= 011000   	M$$MGE= 000000
CF.TRN= 000100   	DISTST  001502R     003	E$RPET= 000020   	FS.RTN= 001000   	M$$OVR= 000000
CHKNR   004306R     003	DISTYP  001726R     003	E$RPRC= 000025   	FS.SET= 005000   	NAKCNT  000012
CHNLST  000000   	DIS0    001740R     003	E$RPWF= 000007   	FS.STM= 000000   	NAKNR   000016
CMODE = 140000   	DIS1    001744R     003	E$RPWR= 000010   	FS.STP= 002000   	NC.FM0= 000000
CONN0   000526R     003	DIS2    001750R     003	E$RRET= 000031   	FS.STR= 001000   	NC.FM1= 000001
CONN1   000532R     003	DIS3    001756R     003	E$RRTE= 000011   	FS.TRM= 003000   	NC.FM2= 000002
CONN2   000536R     003	DIS4    001764R     003	E$RRTO= 000006   	FS.XKL= 002000   	NE.ABO= 177776
CONN3   000544R     003	DIS5    002024R     003	E$RSEL= 000030   	FS.XOF= 010000   	NE.ACT= 177771
CONN4   000552R     003	DONABO  002142R     003	E$RSIN= 000004   	FS.XON= 007000   	NE.CLS= 177767
CONN5   000622R     003	DONDAT  003266R     003	E$RSRC= 000015   	F$$LVL= 000001   	NE.DIS= 177777
CONTST  000446R     003	DONDIS  002142R     003	E$RTRN= 000026   	GETB    000402R     003	NE.FMT= 177770
CONTYP  000512R     003	DONINT  003656R     003	E$RUCL= 000001   	GETCHN  004066R     003	NE.NDT= 177766
CS.ABO= 000100   	DONNAK  002756R     003	E$RXTO= 000027   	G$$TPP= 000000   	NE.NOD= 177774
CS.BUF= 000200   	DSCDAT  000016   	E$TASC= 000001   	G$$TSS= 000000   	NE.REJ= 177775
CS.DCR= 000400   	DSCLNG  000014   	E$TASX= 000002   	G$$TTK= 000000   	NE.RES= 177773
CS.DEV= 000002   	DSCRCV  002116R     003	E$THDW= 000003   	G$$WRD= 000000   	NE.TIM= 177772
CS.DIS= 000040   	DSCSTD  002074R     003	E$TSFT= 000004   	HEADER  000636R     004	NIP   = 002000
CS.ENB= 000020   	DTRCCP  000106R     002	E$TTOP= 000005   	INIT  = 040000   	NOCCB   000000R     004
CS.EOF= 000001   	DTRRCP  000074R     002	E$$XPR= 000000   	INVBPC  000364R     004	NORSC   000033R     004
CS.ERR= 100000   	DTRTMO  000000R     003	FC.CCP= 000020   	INVBUF  000427R     004	NP$RTR= 000003
CS.HFE= 002000   	DTRXCP  000044R     002	FC.CTL= 000006   	INVCNT  000305R     004	NRCON = 000006
CS.LST= 040000   	D$$BUG= 177514   	FC.KCP= 000016   	INVCON  000156R     004	NRDAT = 000004
CS.MTL= 004000   	D$$ISK= 000000   	FC.KIL= 000004   	INVDAT  000213R     004	NRDIS = 000005
CS.RNG= 000010   	D$$L11= 000001   	FC.RCE= 000002   	INVDIS  000461R     004	NRTST = 000004
CS.ROV= 000004   	D$$YNC= 000000   	FC.RCP= 000014   	INVFLO  000245R     004	NRXMI = 000004
CS.RSN= 010000   	D$$YNM= 000000   	FC.TIM= 000010   	INVNAK  000333R     004	NS.BOM= 000040
CS.SUC= 000001   	EDDEC   004506R     003	FC.XCP= 000012   	INVTST  000063R     004	NS.EOM= 000100
CS.TMO= 020000   	EDIT    004464R     003	FC.XME= 000000   	INVXMI  000521R     004	NS.MFL= 000003
C$$CKP= 000000   	EDI1    004462R     003	FE.CAL= 000040   	I$$RAR= 000000   	NS.MOM= 000000
C$$ORE= 000400   	EOMCHK  004266R     003	FE.DRV= 000010   	I$$RDN= 000000   	NS.NFL= 000001
C$$RSH= 177564   	E$DDAT= 000003   	FE.EXP= 000200   	KDSAR0= 172360   	NS.SET= 000002
C.BID   000003   	E$DDEV= 000005   	FE.EXT= 000001   	KDSDR0= 172320   	NS.SFL= 000002
C.BUF   000014   	E$DLPC= 000013   	FE.EXV= 000004   	KISAR0= 172340   	NS.SOL= 000140
DTR - SYSTEM INTERFACE VERSION	MACRO M1110  13-OCT-79 09:53  PAGE 22-2
SYMBOL TABLE

NS.SUC= 000001   	NXTULA  000004   	N.SEG   000006   	RCVCON  000206R     003	UISAR4= 177650
NT$ABO= 000022   	N$$DAT= 000030   	N.SFMT  000034   	RCVDAT  002376R     003	UISAR5= 177652
NT$ACC= 000002   	N$$DIS= 000020   	N.SGRP  000036   	RCVDIS  003714R     003	UISAR6= 177654
NT$ADS= 000000   	N$$INT= 000020   	N.SOBJ  000035   	RCVINT  003324R     003	UISAR7= 177656
NT$CON= 000000   	N$$LDV= 000001   	N.SUSR  000040   	RCVNR   000024   	UISDR0= 177600
NT$DAT= 000002   	N$$MOV= 000010   	PARAM   000140R     002	REJECT  000436R     003	UISDR4= 177610
NT$DIS= 000010   	N$$OPT= 000020   	PATTRN  000034   	RESOUR  000426R     003	UISDR5= 177612
NT$INT= 000004   	N$$OVR= 000042   	PDST    000000R     002	RNM     000152R     002	UISDR6= 177614
NT$MOD= 000012   	N$$SYS= 000001   	PDT1    000004R     002	R$$DER= 000000   	UISDR7= 177616
NT$NAK= 000022   	N$$USR= 000001   	PDT2    000006R     002	R$$K11= 000001   	ULA     000002
NT$OFF= 000026   	N.ACNT  000116   	PD$NSP= ****** GX	R$$SND= 000000   	V$$CTR= 001000
NT$ON = 000002   	N.ACTL  000114   	PIRQ  = 177772   	R$$11M= 000000   	XMITST  002222R     003
NT$QRY= 000014   	N.DDL1  000012   	PLNG    000010R     002	SBTST   000006   	XMITYP  003510R     003
NT$REJ= 000004   	N.DDL2  000016   	PMODE = 030000   	SDATA   004210R     003	XMI0    003520R     003
NT$RTI= 000010   	N.DDS1  000014   	PNAM    000012R     002	SHTDAT  000110R     004	XMI1    003524R     003
NT$RTN= 000000   	N.DDS2  000020   	PRINT   004350R     003	SISDR0= 172200   	XMI2    003526R     003
NT$SNG= 000006   	N.DFMT  000010   	PROPT = 020000   	SNDNR   000020   	XMI3    003570R     003
NT$STP= 000004   	N.DGRP  000012   	PRSN    000002R     002	SR0   = 177572   	XOFF  = 010000
NT$XOF= 000020   	N.DOBJ  000011   	PR0   = 000000   	SR3   = 172516   	X$$DBT= 000000
NT$XON= 000016   	N.DUSR  000014   	PR1   = 000040   	STATUS  000002   	$CBDMG= ****** GX
NT.ACK= 000001   	N.LGTH= 000160   	PR4   = 000200   	SWR   = 177570   	$CCBGT= ****** GX
NT.BOM= 000040   	N.NODE  000000   	PR5   = 000240   	S$$WRG= 000000   	$CCBRT= ****** GX
NT.EOM= 000100   	N.OPDL  000136   	PR6   = 000300   	S$$YSZ= 007600   	$CMLOG= ****** GX
NT.FCN= 037400   	N.OPTD  000140   	PR7   = 000340   	TEST    000372R     003	$CMPDV= ****** GX
NT.MD1= 000420   	N.PASL  000102   	PS    = 177776   	TPS   = 177564   	$DTRTB  000022RG    002
NT.MFL= 000002   	N.PASS  000104   	PSTA    000020R     002	TST     000005   	$LDBGT= ****** GX
NT.MOD= 000020   	N.RQDL  000060   	PTAB    000016R     002	TSTBUF  004146R     003	$LDBRT= ****** GX
NT.MOM= 000000   	N.RQID  000062   	PTYP    000014R     002	T$$KMG= 000000   	$LLCRS= ****** GX
NT.NAK= 000002   	N.RSRV= 000030   	P$D   = 000376   	T$$MIN= 000000   	$MVTBF= ****** GX
NT.NFL= 000000   	N.SDL1  000036   	P$$P45= 000000   	UBMPR = 170200   	$RND    004514RG    003
NT.SFL= 000001   	N.SDL2  000042   	P$$WRD= 000000   	UDSAR0= 177660   	$$NARG= 000004
NT.SOL= 000140   	N.SDS1  000040   	Q$$OPT= 000010   	UDSDR0= 177620   	$$TYPE= 000000
NT.XOF= 000004   	N.SDS2  000056   	RCVCNT  000030   	UISAR0= 177640   	$$$DSP= 000000
NT.XON= 000010

. ABS.	000160	   000
      	000000	   001
DATA  	000156	   002
CODE  	004662	   003
TEXT  	000645	   004
ERRORS DETECTED:  0

VIRTUAL MEMORY USED:  10621 WORDS  ( 42 PAGES)
DYNAMIC MEMORY:  12172 WORDS  ( 46 PAGES)
ELAPSED TIME:  00:01:38
DTR,[131,34]DTR/CR/-SP=[130,10]NETLIB/ML,RSXMC4/PA:1,[131,10]DTR
DTR        CREATED BY  MACRO  ON 13-OCT-79 AT 09:53	PAGE 1

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

ACTIVE	= 100000	#5-105      7-190      8-232      9-335      10-423     11-472     11-549     12-581    
BADFLO	  000560 R	#12-568     12-585    
BOMCHK	  004246 R	 14-684     14-691    #19-925    
BPCCNT	  000013	#5-119      7-202     *10-398     13-616    
BPCNR 	  000017	#5-122     *7-194     *7-198     *7-207     *10-406    *13-618    *13-625    
CB.CCB	= 000002	 11-550    
CHKNR 	  004306 R	 14-686     15-791    #19-935    
CHNLST	  000000	#5-95       7-188      8-229      17-862    
CONN0 	  000526 R	 8-274      9-294     #9-306     
CONN1 	  000532 R	 9-295     #9-311     
CONN2 	  000536 R	 9-296     #9-316     
CONN3 	  000544 R	 9-297     #9-321     
CONN4 	  000552 R	 9-298     #9-326     
CONN5 	  000622 R	 9-299     #9-333     
CONTST	  000446 R	 8-256     #9-284     
CONTYP	  000512 R	 9-290     #9-293      9-300     
C.BID 	  000003	 11-550    
C.BUF 	  000014	 8-240      8-241      9-289      11-459     11-475     11-476     13-605     13-606     14-715    
                         14-715     15-749     15-750     15-811     15-811     16-837    
C.BUF1	  000014	*16-843    *16-843    
C.CNT 	  000020	 14-690     14-713    *14-714     15-746     15-795     15-806    *15-810    
C.CNT1	  000020	*9-328     *9-336     *10-424    *11-473    *11-516    *12-582    *16-843    
C.FNC 	  000010	*7-200     *7-211     *9-328     *9-336     *10-424    *10-427    *11-473    *11-516    *11-522    
                        *12-582    *13-613    *13-633    *14-722    *15-757    *15-759    *15-812    *16-843    *16-845    
C.LIN 	  000006	*7-200     *7-200     *7-211     *7-211      9-328     *9-328     *9-328      9-336     *9-336     
                        *9-336      10-424    *10-424    *10-424    *10-427    *10-427     11-473    *11-473    *11-473    
                        *11-516    *11-516    *11-522     12-582    *12-582    *12-582    *13-613    *13-633    *13-633    
                        *14-722    *14-722    *15-757    *15-759    *15-759    *15-812    *15-812    *16-843    *16-843    
                        *16-845     17-861    
C.NSP 	  000004	 8-239      9-328     *9-328      9-336     *9-336     *9-336      10-424    *10-424    *10-424    
                        *10-427     11-473    *11-473    *11-473    *11-522    *11-522    *11-522     12-582    *12-582    
                        *12-582    *13-613    *13-613    *13-613    *15-757    *15-757    *15-757    *16-845    *16-845    
                        *16-845    
C.STS 	  000012	*9-336     *10-383    *11-473     11-544    *12-582    *13-633    *14-716     14-721    *14-721    
                         14-721    *14-721     14-721    *14-721     14-721    *14-721     14-730     15-819     16-841    
                         19-925     19-927     19-930     19-932    
DATINI	  004114 R	 10-414     12-580    #17-872    
DATTST	  000762 R	 8-257     #10-373    
DATTYP	  002746 R	 13-608    #13-646     13-651    
DAT0  	  002774 R	 13-647    #14-673    
DAT1  	  003000 R	 13-648    #14-679    
DAT2  	  003002 R	 13-649    #14-684    
DAT3  	  003102 R	 13-650    #14-710    
DIP   	= 004000	#5-109      7-208      7-212      11-547    
DISTST	  001502 R	 8-258     #11-452    
DISTYP	  001726 R	 11-478    #11-482     11-488    
DIS0  	  001740 R	 11-482    #11-494    
DIS1  	  001744 R	 11-483    #11-499    
DIS2  	  001750 R	 11-484    #11-504    
DIS3  	  001756 R	 11-485    #11-509    
DIS4  	  001764 R	 11-486    #11-515    
DIS5  	  002024 R	#11-521    
DTR        CREATED BY  MACRO  ON 13-OCT-79 AT 09:53	PAGE 2

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

DONABO	  002142 R	 6-164     #11-542    
DONDAT	  003266 R	 6-156     #14-729    
DONDIS	  002142 R	 6-159     #11-543    
DONINT	  003656 R	 6-157     #15-818    
DONNAK	  002756 R	 6-181     #13-653    
DSCDAT	  000016	#5-130      11-463    
DSCLNG	  000014	#5-129      7-210     *11-462     11-533    *11-546    
DSCRCV	  002116 R	 11-515     11-521    #11-533    
DSCSTD	  002074 R	 11-504     11-509    #11-527    
DTRCCP	  000106 R	 6-152     #6-171     
DTRRCP	  000074 R	 6-150     #6-166     
DTRTMO	  000000 R	 6-148     #7-188     
DTRXCP	  000044 R	 6-149     #6-154     
EDDEC 	  004506 R	 21-979    #21-993    
EDIT  	  004464 R	 20-965     20-968    #21-984     21-990    
EDI1  	  004462 R	#21-983     21-985    
EOMCHK	  004266 R	 13-630    #19-930    
E$DTXT	= 000016	 20-961    
E$TSFT	= 000004	 5-137     
FC.RCE	= 000002	 9-328      9-336      10-424     11-473     12-582     13-633     15-759    
FC.XME	= 000000	 7-200      7-211      10-427     11-516     11-522     13-613     14-722     15-757     15-812    
                         16-843     16-845    
FILBUF	  004172 R	 9-343      11-529    #18-902    
FILRCV	  000736 R	 9-326      9-333     #9-347     
FILSTD	  000714 R	 9-316      9-321     #9-341     
FLOCNT	  000010	#5-117     *10-385     10-427    
FLOTYP	  000007	#5-116     *10-382     10-416    *12-576     13-626    
GETB  	  000402 R	 8-244     #8-263      9-284      10-373     10-378     10-384     10-387     10-397     10-407    
                         10-409     11-452     12-571     12-577    
GETCHN	  004066 R	 11-543     13-592     13-653     14-729     15-743     15-818     16-835    #17-861    
HEADER	  000636 R	#20-950     20-964    
INIT  	= 040000	#5-106      8-234      8-238     
INVBPC	  000364 R	#10-369     10-433    
INVBUF	  000427 R	#10-370     10-434    
INVCNT	  000305 R	#10-367     10-431    
INVCON	  000156 R	#9-281      9-291     
INVDAT	  000213 R	#10-365     10-429    
INVDIS	  000461 R	#11-449     11-479    
INVFLO	  000245 R	#10-366     10-430    
INVNAK	  000333 R	#10-368     10-432    
INVTST	  000063 R	#8-224      8-254     
INVXMI	  000521 R	#12-567     12-584    
KISAR6	= 172354	*8-240     *11-475    *13-605    *15-749    
LLA   	  000004	#5-113      7-200      7-211      8-239     *8-239      10-427     11-516     13-633     14-722    
                         15-759     15-812     16-843    
LNKABO	  000621 R	#16-832     16-846    
MSGSIZ	  000014	#5-120      5-128     *10-408    *10-410     10-412     10-434    *15-746    
M$$MGE	= 000000	 8-240      11-475     13-605     14-715     15-749     15-811    
NAKCNT	  000012	#5-118     *10-388     13-599    
NAKNR 	  000016	#5-121     *10-396    *13-601    *13-643    
NE.DIS	= 177777	 16-841    
NIP   	= 002000	#5-110      13-594     13-636     13-654    
DTR        CREATED BY  MACRO  ON 13-OCT-79 AT 09:53	PAGE 3

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

NOCCB 	  000000 R	#8-222      8-253     
NORSC 	  000033 R	#8-223      8-271     
NRCON 	= 000006	 9-285     #9-300     
NRDAT 	= 000004	 10-374    #13-651    
NRDIS 	= 000005	 11-453    #11-488    
NRTST 	= 000004	 8-248     #8-260     
NRXMI 	= 000004	 12-572    #15-766    
NS.BOM	= 000040	 14-721     19-925    
NS.EOM	= 000100	 14-721     19-930    
NS.MOM	= 000000	 14-721    
NS.SOL	= 000140	 14-721     19-927     19-932    
NS.SUC	= 000001	 14-732     15-821    
NT$ABO	= 000022	 11-522     13-613     15-757     16-845    
NT$ACC	= 000002	 9-336      10-424     11-473     12-582    
NT$DAT	= 000002	 14-722    
NT$DIS	= 000010	 7-211      11-516     16-843    
NT$INT	= 000004	 15-812    
NT$MOD	= 000012	 10-427    
NT$REJ	= 000004	 9-328     
NT$RTI	= 000010	 15-759    
NT$RTN	= 000000	 13-633    
NT$XON	= 000016	 7-200     
NT.ACK	= 000001	 13-596     13-615    
NT.BOM	= 000040	 14-721    
NT.EOM	= 000100	 14-721    
NT.MD1	= 000420	 13-632    
NT.MFL	= 000002	 9-336      10-437    
NT.MOM	= 000000	 14-721    
NT.NAK	= 000002	 13-637    
NT.NFL	= 000000	 10-437     11-473     12-582    
NT.SFL	= 000001	 10-437    
NT.SOL	= 000140	 14-721    
NT.XOF	= 000004	 13-621    
NXTULA	  000004	#5-96      *8-236      8-237     
N.OPDL	  000136	 8-242      9-348      11-460    
PARAM 	  000140 R	*8-254     *9-291     *10-429    *10-430    *10-431    *10-432    *10-433    *10-434    *11-479    
                        *12-584     20-966    #21-980     21-988    
PATTRN	  000034	#5-126      5-131      14-697     14-698    *14-700    *14-701    
PDST  	  000000 R	#5-137     *20-955     20-957    
PDT1  	  000004 R	#5-137     
PDT2  	  000006 R	#5-137     
PD$NSP	= ******  GX	 7-200      7-211      9-328      9-336      10-424     10-427     11-473     11-516     11-522    
                         12-582     13-613     13-633     14-722     15-757     15-759     15-812     16-843     16-845    
                         20-955    
PLNG  	  000010 R	#5-137     
PNAM  	  000012 R	#5-137     
PRINT 	  004350 R	 8-273      16-846    #20-953    
PROPT 	= 020000	#5-107      8-246      20-953    
PRSN  	  000002 R	#5-137     
PSTA  	  000020 R	#5-137     
PTAB  	  000016 R	#5-137     
PTYP  	  000014 R	#5-137     
DTR        CREATED BY  MACRO  ON 13-OCT-79 AT 09:53	PAGE 4

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

P$D   	= 000376	 8-224      9-281      10-365     10-366     10-367     10-368     10-369     10-370     11-449    
                         12-567    #21-978    
RCVCNT	  000030	#5-125     *13-603    *13-604    *15-747    *15-748    
RCVCON	  000206 R	 6-167     #8-228     
RCVDAT	  002376 R	 6-168     #13-592    
RCVDIS	  003714 R	 6-176     #16-835    
RCVINT	  003324 R	 6-169     #15-743    
RCVNR 	  000024	#5-124     *19-935    *19-936     19-937     19-939     19-941     19-943    
REJECT	  000436 R	 8-253      8-254      8-269      8-271     #8-273      9-291      10-429     10-430     10-431    
                         10-432     10-433     10-434     11-479     12-584     12-585    
RESOUR	  000426 R	#8-271      10-435     11-480    
RNM   	  000152 R	#22-1007    22-1015   
SBTST 	  000006	#5-115     *9-288     *10-377     10-411    *11-456     11-477    *12-575     13-607     15-751    
SDATA 	  004210 R	 9-341      11-527     14-695     15-798    #18-913     18-920    
SHTDAT	  000110 R	#8-225      8-269     
SNDNR 	  000020	#5-123     *14-734    *14-735    *15-823    *15-824     17-873    
STATUS	  000002	#5-104      7-190      7-192     *7-201      7-208     *7-212      8-232      8-234     *8-238     
                        *8-246     *9-335     *10-423    *11-472    *11-547    *11-549    *12-581     13-594    *13-620    
                        *13-636    *13-654     20-953    
TEST  	  000372 R	 8-252     #8-256      8-260     
TST   	  000005	#5-114     *8-251      13-597     15-744    
TSTBUF	  004146 R	 14-699     15-799    #18-892    
ULA   	  000002	#5-103     *8-237      9-336      10-424     11-473     11-522     12-582     13-613     15-757    
                         16-845     17-865    
XMITST	  002222 R	 8-259     #12-571    
XMITYP	  003510 R	 15-752    #15-762     15-766    
XMI0  	  003520 R	 15-762    #15-780    
XMI1  	  003524 R	 15-763    #15-786    
XMI2  	  003526 R	 15-764    #15-791    
XMI3  	  003570 R	 15-765    #15-806    
XOFF  	= 010000	#5-108      7-192      7-201      13-620    
$CBDMG	= ******  GX	 21-994    
$CCBGT	= ******  GX	 7-196      10-419     13-611     15-755    
$CCBRT	= ******  GX	 6-160      6-162      6-163      6-179      6-180      11-552     13-655     16-839    
$CMLOG	= ******  GX	 20-958    
$CMPDV	= ******  GX	 11-522     13-613     15-757     16-845    
$DTRTB	  000022 RG	#6-144     
$LDBGT	= ******  GX	 11-468     14-711     15-808    
$LDBRT	= ******  GX	 11-554     14-731     15-820    
$LLCRS	= ******  GX	 7-200      7-211      9-328      9-336      10-424     10-427     11-473     11-516     11-522    
                         12-582     13-613     13-633     14-722     15-757     15-759     15-812     16-843     16-845    
$MVTBF	= ******  GX	 14-715     15-811    
$RND  	  004514 RG	 7-205      10-393     10-403     13-623     13-641    #22-1010   
$$NARG	= 000004	#7-211      7-211     #11-516     11-516     11-516    #14-722     14-722    #15-812     15-812    
                        #16-843     16-843     16-843    
$$TYPE	= 000000	#8-239      8-239      8-239     #17-861     17-861    
$$$DSP	= 000000	#8-253     #8-254     *8-254     *8-254     #8-254     #8-269     #8-271     #8-273     #9-291     
                        *9-291     *9-291     #9-291     #10-429    *10-429    *10-429    #10-429    #10-430    *10-430    
                        *10-430    #10-430    #10-431    *10-431    *10-431    #10-431    #10-432    *10-432    *10-432    
                        #10-432    #10-433    *10-433    *10-433    #10-433    #10-434    *10-434    *10-434    #10-434    
                        #11-479    *11-479    *11-479    #11-479    #12-584    *12-584    *12-584    #12-584    #12-585    
                        #16-846    
DTR        CREATED BY  MACRO  ON 13-OCT-79 AT 09:53	PAGE 5

MACRO CROSS REFERENCE                                   CREF         

MACRO NAME	REFERENCES

CALL  		 7-196      7-200      7-205      7-211      8-244      9-284      9-316      9-321      9-326      9-328     
                 9-333      9-336      9-343      10-373     10-378     10-384     10-387     10-393     10-397     10-403    
                 10-407     10-409     10-414     10-419     10-424     10-427     11-452     11-468     11-473     11-504    
                 11-509     11-515     11-516     11-521     11-522     11-529     11-543     11-552     11-554     12-571    
                 12-577     12-580     12-582     13-592     13-608     13-611     13-613     13-623     13-630     13-633    
                 13-641     13-653     14-684     14-686     14-691     14-699     14-711     14-722     14-729     14-731    
                 15-743     15-752     15-755     15-757     15-759     15-791     15-799     15-808     15-812     15-818    
                 15-820     16-835     16-839     16-843     16-845     18-893     18-903     18-914     20-958     20-965    
                 20-968     20-973     21-988    
CALLR 		#13-655    
CCBDF$		#3-36       3-41      
CMLDF$		#3-39      #5-137     
DISPLA		#4-78      #8-273     #16-846    
EVLDF$		#3-39       3-44      
GTLLA$		#3-38      #8-239     
GTULA$		#3-38      #17-861    
HWDDF$		#3-36      #3-40      #8-240     #8-240     #11-475    #11-475    #13-605    #13-605    #15-749    #15-749    
MAP   		#3-39       8-240      11-475     13-605     15-749    
NABO$ 		#3-38       11-522     13-613     15-757     16-845    
NACC$ 		#3-37       9-336      10-424     11-473     12-582    
NCON$ 		#3-37      
NDAT$ 		#3-37       14-722    
NDIS$ 		#3-38       7-211      11-516     16-843    
NINT$ 		#3-37      #15-812    
NMOD$ 		#3-37      #10-427    
NREJ$ 		#3-37       9-328     
NRTI$ 		#3-37       15-759    
NRTN$ 		#3-37      #13-633    
NSPDF$		#3-36      #3-43      
NXON$ 		#3-38      #7-200     
POP   		#4-58       17-878     18-899     18-906     20-967     20-970     20-974     21-989     22-1048   
PUSH  		#4-52       17-872     18-892     18-902     20-956     20-963     21-987     22-1010   
REJECT		#4-66       8-253      8-254      8-269      8-271      9-291      10-429     10-430     10-431     10-432    
                 10-433     10-434     11-479     12-584     12-585    
RETURN		 7-215      8-267      9-329      9-337      9-345      9-354      10-428     11-517     11-523     11-531    
                 11-540     11-548     11-553     11-555     12-583     13-634     14-674     14-702     14-704     14-725    
                 14-736     15-760     15-781     15-800     15-802     15-814     15-825     16-844     16-847     17-867    
                 17-879     18-900     18-907     18-923     19-928     19-933     19-944     20-975     21-991     22-1049   
SOB   		#9-353     #11-466    #11-539    #17-877    #18-896    #18-905    #22-1046   
TMPDF$		#3-36      #3-42      
$MVFBF		#3-39      
$MVTBF		#3-39      #14-715    #15-811    
$$BUFD		#7-211     #7-211     #9-328     #11-516    #11-516    #14-722    #14-722    #15-812    #15-812    #16-843    
                #16-843    
$$GETB		#8-239      8-239     #17-861     17-861    
$$MOV 		#7-211     #9-328      9-328     #9-336      9-336      9-336      9-336     #10-424     10-424     10-424    
                 10-424    #11-473     11-473     11-473     11-473    #11-516     11-516     11-516     11-516    #12-582    
                 12-582     12-582     12-582    #13-633     13-633    #14-722     14-722    #15-812    #16-843     16-843    
                 16-843     16-843    
$$MOVB		#7-200      7-200     #7-211      7-211     #9-336      9-336     #10-424     10-424    #10-427     10-427    
                 10-427    #11-473     11-473    #11-516     11-516    #11-522     11-522     11-522    #12-582     12-582    
                #13-613     13-613     13-613    #13-633     13-633    #14-722     14-722    #15-757     15-757     15-757    
DTR        CREATED BY  MACRO  ON 13-OCT-79 AT 09:53	PAGE 6

MACRO CROSS REFERENCE                                   CREF         

MACRO NAME	REFERENCES

                #15-759     15-759    #15-812     15-812    #16-843     16-843    #16-845     16-845     16-845    
$$QUE 		#7-200      7-200     #7-211      7-211     #9-328      9-328     #9-336      9-336     #10-424     10-424    
                #10-427     10-427    #11-473     11-473    #11-516     11-516    #11-522     11-522    #12-582     12-582    
                #13-613     13-613    #13-633     13-633    #14-722     14-722    #15-757     15-757    #15-759     15-759    
                #15-812     15-812    #16-843     16-843    #16-845     16-845    
.BIN  		#3-42      
.CNB  		#3-42      
.CNW  		#3-42      
.CORE 		#3-42      
.CSR  		#3-42      
.DVCHA		#3-42      
.INT  		#3-42      
.INT1 		#3-42      
.INT2 		#3-42      
.INT3 		#3-42      
.LFLHD		#3-42      #5-95      
.LIBR 		#3-42      
.LINKS		#3-42      
.LSTHD		#3-42      
.LTAB 		#3-42      
.MPLHD		#3-42      
.POOL 		#3-42      
.PRI  		#3-42      
.SCOM 		#3-42      
.SECSR		#3-42      
.SLNB 		#3-42      
.SLNW 		#3-42      
.STNB 		#3-42      
.STNW 		#3-42      
.UNB  		#3-42      
.UNW  		#3-42      
.VFY  		#3-42