NETXMT          - PROCESS XMT I/O REQUESTS                       22-AUG-1978 01:02:31   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)    3400  HISTORY

   (1)    4200  DECLARATIONS

   (1)    7500  TRANSMIT ON BEHALF OF A USER

   (1)   17300  LINK SERVICES MSG TRANSMISSION

   (1)   24900  TRANSMIT AN NSP MESSAGE

NETXMT          - PROCESS XMT I/O REQUESTS                       22-AUG-1978 01:02:31   VAX-11 MACRO X0.3-11               Page   1

X01                                                                                                                              (1)



                                     0000   100 

                                     0000   200 	.TITLE	NETXMT - PROCESS XMT I/O REQUESTS

                                     0000   300 	.IDENT	/X01/

                                     0000   400 

                                     0000   500 ;

                                     0000   600 ; COPYRIGHT (C) 1977, 1978

                                     0000   700 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS 01754

                                     0000   800 ;

                                     0000   900 ; THIS SOFTWARE IS FURNISHED  UNDER A LICENSE FOR USE ONLY ON A SINGLE

                                     0000  1000 ; COMPUTER  SYSTEM AND  MAY BE  COPIED ONLY WITH  THE INCLUSION OF THE

                                     0000  1100 ; ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE, OR ANY OTHER COPIES THEREOF,

                                     0000  1200 ; MAY NOT BE PROVIDED OR  OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON

                                     0000  1300 ; EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE

                                     0000  1400 ; TERMS.  TITLE TO AND  OWNERSHIP OF THE  SOFTWARE  SHALL AT ALL TIMES

                                     0000  1500 ; REMAIN IN DEC.

                                     0000  1600 ;

                                     0000  1700 ; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE

                                     0000  1800 ; AND SHOULD  NOT BE CONSTRUED  AS A COMMITMENT  BY DIGITAL  EQUIPMENT

                                     0000  1900 ; CORPORATION.

                                     0000  2000 ;

                                     0000  2100 ; DEC ASSUMES  NO  RESPONSIBILITY  FOR  THE USE OR  RELIABILITY OF ITS

                                     0000  2200 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.

                                     0000  2300 

                                     0000  2400 ;++

                                     0000  2500 ; FACILITY:	EXECUTIVE

                                     0000  2600 ;

                                     0000  2700 ; ABSTRACT:

                                     0000  2800 ;	THIS MODULE PROCESSES USER TRANSMIT REQUESTS

                                     0000  2900 ;

                                     0000  3000 ; ENVIRONMENT:

                                     0000  3100 ;	MODE = KERNEL

                                     0000  3200 ;--

NETXMT          - PROCESS XMT I/O REQUESTS                       22-AUG-1978 01:02:31   VAX-11 MACRO X0.3-11               Page   2

X01             HISTORY                                                                                                          (1)



                                     0000  3400 	.SBTTL	HISTORY

                                     0000  3500 ; AUTHOR:	SCOTT G. DAVIS, CREATION DATE: 17-OCT-77

                                     0000  3600 ;

                                     0000  3700 ; MODIFIED BY:

                                     0000  3800 ;

                                     0000  3900 ;	, : VERSION

                                     0000  4000 ; 01	- 

NETXMT          - PROCESS XMT I/O REQUESTS                       22-AUG-1978 01:02:31   VAX-11 MACRO X0.3-11               Page   3

X01             DECLARATIONS                                                                                                     (1)



                                     0000  4200 	.SBTTL	DECLARATIONS

                                     0000  4300 ;

                                     0000  4400 ; INCLUDE FILES:

                                     0000  4500 ;

                                     0000  4600 	$CXBDEF

                                     0000  4700 	$IRPDEF

                                     0000  4800 	$NDBDEF

                                     0000  4900 	$NETMSGDEF

                                     0000  5000 	$SSBDEF

                                     0000  5100 	$UCBDEF

                                     0000  5200 

                                     0000  5300 ;

                                     0000  5400 ; MACROS:

                                     0000  5500 ;

                                     0000  5600 

                                     0000  5700 ;

                                     0000  5800 ; EQUATED SYMBOLS:

                                     0000  5900 ;

                                     0000  6000 	$EQULST	NET_,LOCAL,,,<-

                                     0000  6100 		<LSLTH,16>,-		; MAX LTH OF A LINK SERVICES MSG

                                     0000  6200 		<ACKOFF,5>,-		; OFFSET TO ACKNUM IN MSG

                                     0000  6300 >

                                     0000  6400 

                                     0000  6500 ;

                                     0000  6600 ; OWN STORAGE:

                                     0000  6700 ;

                                     0000  6800 

                                 00000000  6900 	.PSECT	NET_IMPURE	WRT,NOEXE

                                     0000  7000 

                           00000000' 0000  7100 AST_ADDRESS:	.LONG	NET$SET_XMT_AST	; ADDRESS OF AST ROUTINE OR 0

                           00000008  0004  7200 NET$GL_RCVBUF::	.BLKL	1		; TO HOLD LOCAL RECEIVE BUFFER

NETXMT          - PROCESS XMT I/O REQUESTS                       22-AUG-1978 01:02:31   VAX-11 MACRO X0.3-11               Page   4

X01             DECLARATIONS                                                                                                     (1)



                                 00000000  7400 	.PSECT	NET_CODE,NOWRT

                                     0000  7500 	.SBTTL	TRANSMIT ON BEHALF OF A USER

                                     0000  7600 ;++

                                     0000  7700 ; FUNCTIONAL DESCRIPTION:

                                     0000  7800 ;

                                     0000  7900 ; $NETUSRXMT - TRANSMIT TO PARTNER ON LOGICAL LINK IF THERE IS

                                     0000  8000 ;		A SEGMENT TO GO AND IF A MESSAGE WAS SOLICITED, ELSE EXIT.

                                     0000  8100 ;		AS MANY SEGMENTS AS ARE AVAILABLE AND SOLICITED ARE SENT.

                                     0000  8200 ;

                                     0000  8300 ; CALLING SEQUENCE:

                                     0000  8400 ;

                                     0000  8500 ;	BSB	NET$USRXMT

                                     0000  8600 ;

                                     0000  8700 ; INPUT PARAMETERS:

                                     0000  8800 ;

                                     0000  8900 ;	R5 - LOGICAL LINK UCB ADDRESS

                                     0000  9000 ;

                                     0000  9100 ; IMPLICIT OUTPUTS:

                                     0000  9200 ;

                                     0000  9300 ;	MESSAGE MAY BE SENT TO PARTNER

                                     0000  9400 ;

                                     0000  9500 ;--

                                     0000  9600 

                                     0000  9700 

                                     0000  9800 

                                     0000  9900 NET$USRXMT::

            54         7C A5     B0  0000 10000 	MOVW	UCB$W_NT_CHAN(R5),R4	; GET THE PHYLK CHANNEL NO.

            52         74 A5     D0  0004 10100 	MOVL	UCB$L_NT_DATSSB(R5),R2	; POINT TO DATA SUBCHANNEL

                                     0008 10200 5$:

                     0000'CF     D4  0008 10300 	CLRL	W^AST_ADDRESS		; ASSUME NOT LAST SEGMENT OF BURST

            56         00 B2     0F  000C 10400 	REMQUE	@SSB$L_XQFL(R2),R6	; TRY TO DEQUEUE A SEGMENT TO XMIT

                          42     1D  0010 10500 	BVS	30$			; IF VS NONE

                          07     12  0012 10600 	BNEQ	10$			; IF NEQ Q NOT EMPTY

       0000'CF       0000'CF     DE  0014 10700 	MOVAL	W^NET$SET_XMT_AST,W^AST_ADDRESS ; CAUSE AN AST ON XMT COMPLETE

                                     001B 10800 10$:

                          54     B5  001B 10900 	TSTW	R4			; IS THIS FOR THE LOCAL CHANNEL?

                          15     12  001D 11000 	BNEQ	17$			; IF NEQ NO

       0004'CF         00 B2     0F  001F 11100 	REMQUE	@SSB$L_XQFL(R2),W^NET$GL_RCVBUF ; PICK UP THE ALLOCATED BUFFER

                          04     1C  0025 11200 	BVC	15$			; IF VC THERE IS ONE

                                     0027 11300 	BUG_CHECK	NORCVBUF,FATAL	; FATAL ERROR

                                     002B 11400 15$:

                          07     12  002B 11500 	BNEQ	17$			; IF NEQ NOT LAST

       0000'CF       0000'CF     DE  002D 11600 	MOVAL	W^NET$SET_XMT_AST,W^AST_ADDRESS ; CAUSE AN AST ON XMT COMPLETE

                                     0034 11700 17$:

                                     0034 11800 ;

                                     0034 11900 ; ATTEMPT TO TRANSMIT ON DATA SUBCHANNEL

                                     0034 12000 ;

         3D A5            05     E0  0034 12100 	BBS	#UCB$V_BACKP,UCB$B_REMSRV(R5),20$ ; IF BS CAN'T XMIT

                          0F         0038       

                       22 A2     95  0039 12200 	TSTB	SSB$B_REQCNT(R2)	; SEE IF ANY ITEMS REQUESTED

         3D A5            03     E0  003C 12300 	BBS	#UCB$V_MSGFLO,UCB$B_REMSRV(R5),35$ ; IF BS MSGFLOW

                          1B         0040       

         3D A5            02     E1  0041 12400 	BBC	#UCB$V_SEGFLO,UCB$B_REMSRV(R5),50$ ; IGNORE REQ CNT IF NO FLOWCTL

                          20         0045       

                                     0046 12500 ;

                                     0046 12600 ; SEGMENT FLOW CONTROL CHECK

                                     0046 12700 ;

NETXMT          - PROCESS XMT I/O REQUESTS                       22-AUG-1978 01:02:31   VAX-11 MACRO X0.3-11               Page   5

X01             TRANSMIT ON BEHALF OF A USER                                                                                     (1)



                          1B     12  0046 12800 	BNEQ	40$			; IF NEQ SEGMENTS REQUESTED

                                     0048 12900 20$:

                          54     B5  0048 13000 	TSTW	R4			; IS THIS A LOCAL CHANNEL?

                          05     12  004A 13100 	BNEQ	25$			; IF NEQ NO

            62       0004'DF     0E  004C 13200 	INSQUE	@W^NET$GL_RCVBUF,SSB$L_XQFL(R2) ; PUT BACK THE RCV BUFFER

                                     0051 13300 25$:

            62            66     0E  0051 13400 	INSQUE	(R6),SSB$L_XQFL(R2)	; NO - PUT BUFFER BACK AT HEAD OF QUEUE

                                     0054 13500 30$:

       0000'CF       0000'CF     DE  0054 13600 	MOVAL	W^NET$SET_XMT_AST,W^AST_ADDRESS ; RESET AST ADDRESS

                                 05  005B 13700 	RSB				; DONE

                                     005C 13800 ;

                                     005C 13900 ; MESSAGE FLOW CONTROL CHECK

                                     005C 14000 ;

                                     005C 14100 35$:

                          EA     13  005C 14200 	BEQL	20$			; IF EQL NO MSGS REQUESTED

                                     005E 14300 ;

                                     005E 14400 ; NEED TO FIND WHETHER THIS IS EOM SEGMENT

                                     005E 14500 ;

                       10 A6     D5  005E 14600 	TSTL	CXB$L_IRP(R6)		; END OF MESSAGE SEGMENT?

                          03     13  0061 14700 	BEQL	50$			; IF EQL NO

                                     0063 14800 					; FALL THROUGH TO DECREMENT REQCNT

                                     0063 14900 ;

                                     0063 15000 ; A BUFFER IS AVAILABLE AND SOLICITED - SEND IT

                                     0063 15100 ;

                                     0063 15200 40$:

                       22 A2     97  0063 15300 	DECB	SSB$B_REQCNT(R2)	; REQUESTED ITEM NOT THERE ANYMORE

                                     0066 15400 50$:

                                     0066 15500 ;

                                     0066 15600 ; SEE IF AN ACK CAN BE PIGGYBACKED

                                     0066 15700 ;

         1A A2            0F     E5  0066 15800 	BBCC	#SSB$V_ACKP,SSB$W_RCVSEGACK(R2),60$ ; IF BC NO PIGGYBACK

                          1A         006A       

                                     006B 15900 ;

                                     006B 16000 ; PIGGYBACK THE ACK

                                     006B 16100 ;

                          34     BB  006B 16200 	PUSHR	#^M<R2,R4,R5>		; SAVE SOME REGS

         1A A6            05     28  006D 16300 	MOVC3	#NET_ACKOFF,CXB$C_NSPSTART(R6),CXB$C_LENGTH(R6) ; MAKE ROOM

                       18 A6         0071       

                          34     BA  0073 16400 	POPR	#^M<R2,R4,R5>		; RESTORE REGS

                     8000 8F     A9  0075 16500 	BISW3	#NET$C_PIGGYBACK,SSB$W_RCVSEGACK(R2),- ; STUFF THE ACKNUM

         1D A6         1A A2         0079 16600 		CXB$C_LENGTH+NET_ACKOFF(R6)

         0C A6            02     A0  007D 16700 	ADDW	#2,CXB$W_LENGTH(R6)	; FIX MESSAGE LENGTH

         0E A6            02     A2  0081 16800 	SUBW	#2,CXB$W_OFFSET(R6)	; FIX OFFSET TO MESSAGE

                                     0085 16900 60$:

                          6E     10  0085 17000 	BSBB	NET$RE_XMT_MSG		; SEND THE MESSAGE

                          FF7E   31  0087 17100 	BRW	5$			; LOOP

NETXMT          - PROCESS XMT I/O REQUESTS                       22-AUG-1978 01:02:31   VAX-11 MACRO X0.3-11               Page   6

X01             LINK SERVICES MSG TRANSMISSION                                                                                   (1)



                                     008A 17300 	.SBTTL	LINK SERVICES MSG TRANSMISSION

                                     008A 17400 ;++

                                     008A 17500 ; FUNCTIONAL DESCRIPTION:

                                     008A 17600 ;

                                     008A 17700 ; NET$XMT_LNKSRV - THIS ROUTINE XMITS A LINK SERVICES MESSAGE, UPDATING

                                     008A 17800 ;		DATA REQUEST COUNTS.  IF AN INTERRUPT MSG IS BEING

                                     008A 17900 ;		SOLICITED, THE ACK FOR THE ONE JUST RECEIVED IS PIGGYBACKED

                                     008A 18000 ;

                                     008A 18100 ; CALLING SEQUENCE:

                                     008A 18200 ;

                                     008A 18300 ;	BSB	NET$XMT_LNKSRV

                                     008A 18400 ;

                                     008A 18500 ; INPUT PARAMETERS:

                                     008A 18600 ;

                                     008A 18700 ;	R2 - SSB ADDRESS

                                     008A 18800 ;	R5 - LOGICAL LINK UCB ADDRESS

                                     008A 18900 ;

                                     008A 19000 ; IMPLICIT INPUTS:

                                     008A 19100 ;

                                     008A 19200 ;	SEGMENT AND MESSAGE COUNTS FOR THE GIVEN LINK

                                     008A 19300 ;

                                     008A 19400 ; IMPLICIT OUTPUTS:

                                     008A 19500 ;

                                     008A 19600 ;	COUNTS FOR REQUESTED SEGMENTS AND MSGS ARE UPDATED.

                                     008A 19700 ;	COUNTS FOR UNREQUESTED SEGMENTS AND MSGS ARE RESET.

                                     008A 19800 ;

                                     008A 19900 ; SIDE EFFECTS:

                                     008A 20000 ;

                                     008A 20100 ;	LINK SERVICES MESSAGE IS TRANSMITTED

                                     008A 20200 ;

                                     008A 20300 ;--

                                     008A 20400 

                                     008A 20500 

                                     008A 20600 

                                     008A 20700 NET$XMT_LNKSRV::

                          52     DD  008A 20800 	PUSHL	R2			; SAVE THE SSB ADDRESS

            51            10     9A  008C 20900 	MOVZBL	#NET_LSLTH,R1		; SET MSG LTH

                          FF6E'  30  008F 21000 	BSBW	NET$ALLOCBUF		; ALLOCATE A BUFFER

            52         78 A5     D0  0092 21100 	MOVL	UCB$L_NT_INTSSB(R5),R2	; FIRST, DEAL WITH I/LS SUBCHANNEL

            83            52     D0  0096 21200 	MOVL	R2,(R3)+ 		; STORE THE SSB ADDRESS

         0B A6            02     90  0099 21300 	MOVB	#CXB$C_DDCDAT,CXB$B_CODE(R6) ; MARK AS DATA OUT

                          83     B4  009D 21400 	CLRW	(R3)+			; MAKE COMMON WITH DATA MSGS

            83            10     90  009F 21500 	MOVB	#<NET$C_MSGFLG@NET$V_MSGID>!- ; MSGID BYTE

                                     00A2 21600 		 <NET$C_DATAM@NET$V_MSGTYP>!- ; MSGTYP

                                     00A2 21700 		 <NET$M_INTLS>,(R3)+	; SUBTYP

            83         18 A5     D0  00A2 21800 	MOVL	UCB$W_DSTADDR(R5),(R3)+	; HIS LINK ADDRESS AND MINE

         1A A2            0F     E5  00A6 21900 	BBCC	#SSB$V_ACKP,SSB$W_RCVSEGACK(R2),10$ ; SEE IF ACK PENDING

                          07         00AA       

         1A A2       8000 8F     A9  00AB 22000 	BISW3	#NET$C_PIGGYBACK,SSB$W_RCVSEGACK(R2),(R3)+ ; PIGGYBACK AN ACK

                          83         00B1       

                                     00B2 22100 10$:

                       1C A2     B6  00B2 22200 	INCW	SSB$W_XMTSEGNUM(R2)	; BUMP SEGNUM

         1C A2       F000 8F     AB  00B5 22300 	BICW3	#^C<4095>,SSB$W_XMTSEGNUM(R2),(R3)+ ; STUFF IT

                          83         00BB       

                                     00BC 22400 

                                     00BC 22500 	ASSUME	NET$C_DATREQ EQ 0

                                     00BC 22600 

NETXMT          - PROCESS XMT I/O REQUESTS                       22-AUG-1978 01:02:31   VAX-11 MACRO X0.3-11               Page   7

X01             LINK SERVICES MSG TRANSMISSION                                                                                   (1)



                          83     94  00BC 22700 	CLRB	(R3)+			; ASSUME DATA REQUEST COUNT

                          52   8ED0  00BE 22800 	POPL	R2			; RESTORE THE SSB ADDRESS

            52         78 A5     D1  00C1 22900 	CMPL	UCB$L_NT_INTSSB(R5),R2	; IS LS MSG FOR INT/LS SUBCHAN?

                          06     12  00C5 23000 	BNEQ	20$			; IF NEQ NO

            02            01     F0  00C7 23100 	INSV	#NET$C_INTREQ,#NET$V_FCINT,#NET$S_FCINT,-1(R3) ; INTERRUPT REQ CNT

         FF A3            02         00CA       

                                     00CD 23200 20$:

                                     00CD 23300 ;

                                     00CD 23400 ; PROCESS SEGMENT COUNTS

                                     00CD 23500 ;

            63         21 A2     90  00CD 23600 	MOVB	SSB$B_FCVAL(R2),(R3)	; NO. OF AS YET UNREQUESTED ITEMS

                       21 A2     94  00D1 23700 	CLRB	SSB$B_FCVAL(R2)		; RESET THE COUNT

         23 A2            83     80  00D4 23800 	ADDB	(R3)+,SSB$B_PNDCNT(R2)	; UPDATE MY REQUESTED COUNT

            54         7C A5     B0  00D8 23900 	MOVW	UCB$W_NT_CHAN(R5),R4	; GET THE PHYLK CHANNEL NO.

                          11     12  00DC 24000 	BNEQ	40$			; IF NEQ NOT LOCAL CHANNEL

                          53     DD  00DE 24100 	PUSHL	R3			; SAVE EOM ADDRESS

            51         08 A6     3C  00E0 24200 	MOVZWL	CXB$W_SIZE(R6),R1	; GET LTH OF BUFFER

                          FF19'  30  00E4 24300 	BSBW	NET$ALONONPAGED		; ALLOCATE FOR COPY

                          53   8ED0  00E7 24400 	POPL	R3			; GET BACK EOM ADDRESS

       0004'CF            52     D0  00EA 24500 	MOVL	R2,W^NET$GL_RCVBUF	; KEEP THE BUFFER ADDRESS

                                     00EF 24600 40$:

                                     00EF 24700 					; FALL THROUGH TO TRANSMIT AND RETURN

NETXMT          - PROCESS XMT I/O REQUESTS                       22-AUG-1978 01:02:31   VAX-11 MACRO X0.3-11               Page   8

X01             TRANSMIT AN NSP MESSAGE                                                                                          (1)



                                     00EF 24900 	.SBTTL	TRANSMIT AN NSP MESSAGE

                                     00EF 25000 ;++

                                     00EF 25100 ; FUNCTIONAL DESCRIPTION:

                                     00EF 25200 ;

                                     00EF 25300 ; NET$XMT_MSG - THIS ROUTINE QUEUES A MSG TO TARGET NSP

                                     00EF 25400 ; NET$RE_XMT_MSG - FOR DATA TRANSMISSION OR INTL/LS RETRANSMISSION

                                     00EF 25500 ;

                                     00EF 25600 ; THE "TRANSMIT IN PROGRESS COUNT" FOR THE APPROPRIATE SUBCHANNEL

                                     00EF 25700 ; IS INCREMENTED.  CONNECTS GO ON DATA SUBCHANNEL.

                                     00EF 25800 ;

                                     00EF 25900 ; CALLING SEQUENCE:

                                     00EF 26000 ;

                                     00EF 26100 ;	BSB	NET$XMT_MSG/RE_XMT_MSG

                                     00EF 26200 ;

                                     00EF 26300 ; INPUT PARAMETERS:

                                     00EF 26400 ;

                                     00EF 26500 ;	R3 - END OF MSG BFR+1 (NET$XMT_MSG)

                                     00EF 26600 ;	R4 - CHANNEL NUMBER OF ASSOCIATED PHYSICAL LINK (0=>LOCAL MESSAGE)

                                     00EF 26700 ;	R6 - BEGINNING OF BUFIO BLOCK (NET$XMT_MSG)

                                     00EF 26800 ;	NET$GL_RCVBUF - ADDRESS OF LOCAL RCV BUFFER

                                     00EF 26900 ;

                                     00EF 27000 ; OUTPUT PARAMETERS:

                                     00EF 27100 ;

                                     00EF 27200 ;	R2 - SSB ADDRESS

                                     00EF 27300 ;

                                     00EF 27400 ; IMPLICIT OUTPUTS:

                                     00EF 27500 ;

                                     00EF 27600 ;	R5 PRESERVED

                                     00EF 27700 ;

                                     00EF 27800 ; SIDE EFFECTS:

                                     00EF 27900 ;

                                     00EF 28000 ;	R0,R1 CLOBBERED

                                     00EF 28100 ;--

                                     00EF 28200 

                                     00EF 28300 NET$XMT_MSG::

                 00000000'EF     16  00EF 28400 	JSB	L^NET$SET_LENGTH	; COMPUTE THE MESSAGE LENGTH

                                     00F5 28500 

                                     00F5 28600 NET$RE_XMT_MSG::

                                     00F5 28700 ;

                                     00F5 28800 ; ANOTHER TRANSMIT IN PROGRESS

                                     00F5 28900 ;

       0000'CF            54     B0  00F5 29000 	MOVW	R4,W^NET$GW_CHANNEL	; SET CHANNEL NO.

                          FF03'  30  00FA 29100 	BSBW	NET$FND_NDB_CHN		; FIND THE NDB

                          06     12  00FD 29200 	BNEQ	1$			; IF NEQ THERE IS AN NDB

            50            56     D0  00FF 29300 	MOVL	R6,R0			; SET TO DEALLOCATE

                          FEFB'  31  0102 29400 	BRW	NET$DEANONPAGED		; DEALLOCATE THE MESSAGE AND RETURN

                                     0105 29500 1$:

                     00B6 C9     B5  0105 29600 	TSTW	NDB$W_XMTBLKS(R9)	; IS COUNT LATCHED?

                          04     19  0109 29700 	BLSS	2$			; IF LSS YES

                     00B6 C9     B6  010B 29800 	INCW	NDB$W_XMTBLKS(R9)	; BUMP THE COUNT

                                     010F 29900 2$:

                     0000'CF     D5  010F 30000 	TSTL	W^AST_ADDRESS		; IS THIS TO HAVE AN AST?

                          09     13  0113 30100 	BEQL	5$			; IF EQL NO

            52         14 A6     D0  0115 30200 	MOVL	CXB$L_SSB(R6),R2	; GET THE SSB ADDRESS

                          03     13  0119 30300 	BEQL	5$			; IF EQL NO SSB

                       20 A2     96  011B 30400 	INCB	SSB$B_TIPC(R2)		; BUMP THE COUNTER

                                     011E 30500 5$:

NETXMT          - PROCESS XMT I/O REQUESTS                       22-AUG-1978 01:02:31   VAX-11 MACRO X0.3-11               Page   9

X01             TRANSMIT AN NSP MESSAGE                                                                                          (1)



                          54     B5  011E 30600 	TSTW	R4			; IS THIS A LOCAL CHANNEL?

                          4F     12  0120 30700 	BNEQ	20$			; IF NEQ NO

                                     0122 30800 ;

                                     0122 30900 ; MESSAGE IS FOR ME

                                     0122 31000 ;

                                     0122 31100 ;

                                     0122 31200 ; MAKE A COPY SO I CAN "RECEIVE" IT.

                                     0122 31300 ;

                                     0122 31400 ; YOU MAY WELL ASK WHY I AM COPYING A PERFECTLY GOOD BUFFER.  THE REASON

                                     0122 31500 ; IS FOR SYMMETRY OF PROCESSING.  OUTBOUND DATA MSGS REQUIRE AN ACK,

                                     0122 31600 ; SO I CAN'T DEALLOCATE THEM UNTIL I SEE AN ACK.  RECEIVED DATA MESSAGES ARE

                                     0122 31700 ; POSTED TO THE USER BY THE EXEC, AND THEN DEALLOCATED.  WE CAN'T BOTH DEALLOCATE

                                     0122 31800 ; THE SAME BUFFER!  THE SYMMETRY HAS TO DO WITH THE FACT THAT A SEGMENT THAT

                                     0122 31900 ; GOES OVER A PHYSICAL LINK EXISTS IN TWO PLACES.

                                     0122 32000 ;

            51         08 A6     3C  0122 32100 	MOVZWL	CXB$W_SIZE(R6),R1	; GET THE BUFFER SIZE

            02         0B A6     91  0126 32200 	CMPB	CXB$B_CODE(R6),#CXB$C_DDCDAT ; IS THIS A DATA MSG?

                          07     12  012A 32300 	BNEQ	12$			; IF NEQ NO

            52       0004'CF     D0  012C 32400 	MOVL	W^NET$GL_RCVBUF,R2	; PICK UP THE ALLOCATED BUFFER ADDRESS

                          03     11  0131 32500 	BRB	15$			; PROCEED

                                     0133 32600 12$:

                          FECA'  30  0133 32700 	BSBW	NET$ALONONPAGED		; ALLOCATE A BLOCK

                                     0136 32800 15$:

                          24     BB  0136 32900 	PUSHR	#^M<R2,R5>		; SAVE REGS

            66            51     28  0138 33000 	MOVC3	R1,(R6),(R2)		; COPY THE BUFFER

                          62         013B       

                          24     BA  013C 33100 	POPR	#^M<R2,R5>		; RESTORE REGS

                       10 A6     B4  013E 33200 	CLRW	CXB$W_CHANNEL(R6)	; USE THE "LOCAL" CHANNEL

         0B A6            03     90  0141 33300 	MOVB	#CXB$C_DDCRCV,CXB$B_CODE(R6) ; MARK THE BUFFER RECEIVED

       0004'DF            66     0E  0145 33400 	INSQUE	(R6),@W^NET$GL_NSPQFL+4	; PUT IT IN MY QUEUE

       0000'CF            01     88  014A 33500 	BISB	#1,W^NET$GB_AST_FLAG	; INDICATE AN AST IS REQUIRED

                                     014F 33600 ;

                                     014F 33700 ; DECLARE AN AST IF THIS IS LAST SEGMENT OF BURST

                                     014F 33800 ;

            56            52     D0  014F 33900 	MOVL	R2,R6			; SET FOR COMMON PROCESSING

            52         14 A6     D0  0152 34000 	MOVL	CXB$L_SSB(R6),R2	; GET THE SSB ADDRESS

            50       0000'CF     D0  0156 34100 	MOVL	W^AST_ADDRESS,R0	; GET THE AST ADDRESS

                          45     13  015B 34200 	BEQL	25$			; IF EQL DON'T DO IT

                                     015D 34300 	$DCLAST_S	ASTADR=(R0),ASTPRM=R6 ; MESSAGE OUT

            35            50     E8  016A 34400 	BLBS	R0,25$			; IF LBS OK

                                     016D 34500 	BUG_CHECK	NETSYSSRV,FATAL	; ERROR

                                     0171 34600 

                                     0171 34700 20$:

            50         0E A6     3C  0171 34800 	MOVZWL	CXB$W_OFFSET(R6),R0	; GET OFFSET TO NSP MSG

            50            56     C0  0175 34900 	ADDL	R6,R0			; POINT TO NSP MESSAGE

            51         0C A6     3C  0178 35000 	MOVZWL	CXB$W_LENGTH(R6),R1	; GET MSG BUFFER LENGTH

                                     017C 35100 	$QIO_S	CHAN=R4,FUNC=S^#IO$_WRITELBLK,- ; DO THE TRANSMIT

                                     017C 35200 		ASTADR=@W^AST_ADDRESS,ASTPRM=R6,- ; CXB ADDRESS AS PARAMETER

                                     017C 35300 		P1=(R0),P2=R1		;

            04            50     E8  019B 35400 	BLBS	R0,25$			; IF LBS OK

                                     019E 35500 	BUG_CHECK	NETSYSSRV,FATAL	; ERROR

                                     01A2 35600 25$:

         0B A6            02     91  01A2 35700 	CMPB	#CXB$C_DDCDAT,CXB$B_CODE(R6) ; WAS THAT DATA OUT?

                          0D     12  01A6 35800 	BNEQ	30$			; IF NEQ NO

         10 B2            66     0E  01A8 35900 	INSQUE	(R6),@SSB$L_WACKQBL(R2) ; PUT SEGMENT IN WACK QUEUE

                     0000'CF     D5  01AC 36000 	TSTL	W^AST_ADDRESS		; WILL THERE BE AN AST?

                          03     12  01B0 36100 	BNEQ	30$			; IF NEQ YES

NETXMT          - PROCESS XMT I/O REQUESTS                       22-AUG-1978 01:02:31   VAX-11 MACRO X0.3-11               Page  10

X01             TRANSMIT AN NSP MESSAGE                                                                                          (1)



                       0B A6     97  01B2 36200 	DECB	CXB$B_CODE(R6)		; MAKE SURE DEALLOCATION WILL OCCUR

                                     01B5 36300 30$:

                                 05  01B5 36400 	RSB

                                     01B6 36500 

                                     01B6 36600 	.END

NETXMT          - PROCESS XMT I/O REQUESTS                       22-AUG-1978 01:02:31   VAX-11 MACRO X0.3-11               Page  11

SYMBOL TABLE                                                                                                                     (1)



$$T1           = 00000000            IRP$M_PRIVIO   = 00000200            NDB$L_LINE_NAME  00000004            

AST_ADDRESS      00000000 R     03   IRP$M_SWAPIO   = 00000040            NDB$L_NEXT       00000000            

BIT...         = 00000000            IRP$M_VIRTUAL  = 00000010            NDB$M_CTL_LOOP = 00000008            

BUG$_NETSYSSRV   ********   X   04   IRP$Q_NT_PRVMSK  0000003C            NDB$M_LOOPBACK = 00000001            

BUG$_NORCVBUF    ********   X   04   IRP$S_FCODE    = 00000006            NDB$M_OFF      = 00000002            

CXB$B_CODE       0000000B            IRP$S_FMOD     = 0000000A            NDB$M_SHUT     = 00000004            

CXB$B_TYPE       0000000A            IRP$S_MODE     = 00000002            NDB$Q_AST        0000000C            

CXB$C_DDCCON   = 00000001            IRP$V_BUFIO    = 00000000            NDB$Q_ZEROTIME   000000AC            

CXB$C_DDCDAT   = 00000002            IRP$V_CHAINED  = 00000005            NDB$T_NAME       0000001A            

CXB$C_DDCERR   = 00000004            IRP$V_COMPLX   = 00000003            NDB$T_SYSVER     0000002E            

CXB$C_DDCRCV   = 00000003            IRP$V_DIAGBUF  = 00000007            NDB$V_CTL_LOOP = 00000003            

CXB$C_LENGTH     00000018            IRP$V_FCODE    = 00000000            NDB$V_LOOPBACK = 00000000            

CXB$C_NSPSTART   0000001A            IRP$V_FMOD     = 00000006            NDB$V_OFF      = 00000001            

CXB$K_LENGTH     00000018            IRP$V_FUNC     = 00000001            NDB$V_SHUT     = 00000002            

CXB$K_NSPSTART   0000001A            IRP$V_MBXIO    = 0000000A            NDB$W_BLKSIZE    00000022            

CXB$L_BL         00000004            IRP$V_MODE     = 00000000            NDB$W_BUFSIZE    000000A8            

CXB$L_FL         00000000            IRP$V_PAGIO    = 00000002            NDB$W_CHANNEL    00000014            

CXB$L_IRP        00000010            IRP$V_PHYSIO   = 00000008            NDB$W_CHAR       000000AA            

CXB$L_LINK       00000010            IRP$V_PRIVIO   = 00000009            NDB$W_HISBLKSIZ  000000B8            

CXB$L_SSB        00000014            IRP$V_SWAPIO   = 00000006            NDB$W_HISNSPSIZ  000000BA            

CXB$W_CHANNEL    00000010            IRP$V_VIRTUAL  = 00000004            NDB$W_MAXLNK     00000026            

CXB$W_LENGTH     0000000C            IRP$W_ABCNT      0000003C            NDB$W_NODEADDR   00000018            

CXB$W_OFFSET     0000000E            IRP$W_BCNT       00000032            NDB$W_NSPSIZE    00000024            

CXB$W_SIZE       00000008            IRP$W_BOFF       00000030            NDB$W_RCVBLKS    000000B4            

GBL...         = 00000000            IRP$W_CHAN       00000028            NDB$W_SIZE       00000008            

IO$_WRITELBLK    ********   X   04   IRP$W_FUNC       00000020            NDB$W_XMTBLKS    000000B6            

IRP$B_CARCON     00000038            IRP$W_OBCNT      0000003E            NET$ALLOCBUF     ********   X   04   

IRP$B_EFN        00000022            IRP$W_SIZE       00000008            NET$ALONONPAGED  ********   X   04   

IRP$B_PRI        00000023            IRP$W_STS        0000002A            NET$C_ACKM     = 00000001            

IRP$B_RMOD       0000000B            IRP$W_TT_PRMPT   0000003C            NET$C_ACKOFF   = 00000005            

IRP$B_TYPE       0000000A            NDB$B_COMMVER    0000002B            NET$C_CC       = 00000002            

IRP$C_LENGTH     0000004C            NDB$B_CONNTMO    0000004F            NET$C_CI       = 00000001            

IRP$K_LENGTH     0000004C            NDB$B_FUNC       00000021            NET$C_CTRLM    = 00000002            

IRP$L_AST        00000010            NDB$B_NONPRVACC  00000050            NET$C_DATAM    = 00000000            

IRP$L_ASTPRM     00000014            NDB$B_NUMBUF     0000000B            NET$C_DATREQ   = 00000000            

IRP$L_DIAGBUF    00000044            NDB$B_PRVACC     0000007C            NET$C_DC       = 00000004            

IRP$L_IOQBL      00000004            NDB$B_RTEVER     00000028            NET$C_DI       = 00000003            

IRP$L_IOQFL      00000000            NDB$B_STATE      00000016            NET$C_INTREQ   = 00000001            

IRP$L_IOSB       00000024            NDB$B_STATUS     00000017            NET$C_LOGLNK   = 00000001            

IRP$L_IOST1      00000034            NDB$B_TYPE       0000000A            NET$C_MAXNSPOVH= 00000018            

IRP$L_IOST2      00000038            NDB$C_CTL_LOOP = 00000005            NET$C_MSGFLG   = 00000000            

IRP$L_MEDIA      00000034            NDB$C_LENGTH     000000BC            NET$C_NODMSG   = 00000005            

IRP$L_PID        0000000C            NDB$C_LOOP     = 00000003            NET$C_NOP      = 00000000            

IRP$L_SEGVBN     00000040            NDB$C_MAINT    = 00000004            NET$C_NSPOVH   = 0000000B            

IRP$L_SEQNUM     00000048            NDB$C_MSG_DCHK = 00000009            NET$C_NSPV3    = 00000000            

IRP$L_SVAPTE     0000002C            NDB$C_MSG_DOWN = 00000003            NET$C_PIGGYBACK= 00008000            

IRP$L_TT_TERM    00000038            NDB$C_MSG_DSRCH= 00000007            NET$C_PRINRM   = 00000001            

IRP$L_UCB        0000001C            NDB$C_MSG_LOOPB= 00000008            NET$C_RTHDR    = 00000002            

IRP$L_WIND       00000018            NDB$C_MSG_MAINT= 00000002            NET$C_RTHDROVH = 0000000F            

IRP$M_BUFIO    = 00000001            NDB$C_MSG_NGINI= 00000004            NET$DEANONPAGED  ********   X   04   

IRP$M_CHAINED  = 00000020            NDB$C_MSG_OKINI= 00000005            NET$FND_NDB_CHN  ********   X   04   

IRP$M_COMPLX   = 00000008            NDB$C_MSG_SHUT = 00000006            NET$GB_AST_FLAG  ********   X   04   

IRP$M_DIAGBUF  = 00000080            NDB$C_MSG_START= 00000001            NET$GL_NSPQFL    ********   X   04   

IRP$M_FUNC     = 00000002            NDB$C_OFF      = 00000001            NET$GL_RCVBUF    00000004 RG    03   

IRP$M_MBXIO    = 00000400            NDB$C_ON       = 00000000            NET$GW_CHANNEL   ********   X   04   

IRP$M_PAGIO    = 00000004            NDB$C_SHUT     = 00000002            NET$M_BOM      = 00000020            

IRP$M_PHYSIO   = 00000100            NDB$K_LENGTH     000000BC            NET$M_EOM      = 00000040            

NETXMT          - PROCESS XMT I/O REQUESTS                       22-AUG-1978 01:02:31   VAX-11 MACRO X0.3-11               Page  12

SYMBOL TABLE                                                                                                                     (1)



NET$M_INTLS    = 00000010            SSB$M_NAKP     = 00007000            UCB$L_FR4        00000014            

NET$M_INTMSG   = 00000020            SSB$S_NAKP     = 00000003            UCB$L_IOQBL      00000044            

NET$RE_XMT_MSG   000000F5 RG    04   SSB$V_ACKP     = 0000000F            UCB$L_IOQFL      00000040            

NET$SET_LENGTH   ********   X   04   SSB$V_NAKP     = 0000000C            UCB$L_IRP        0000004C            

NET$SET_XMT_AST  ********   X   03   SSB$W_RCVSEGACK  0000001A            UCB$L_LINK       0000002C            

NET$S_ACKOPT   = 00000001            SSB$W_RCVSEGNUM  00000018            UCB$L_LOGADR     00000064            

NET$S_BOM      = 00000001            SSB$W_SIZE       00000008            UCB$L_MAXBLOCK   00000084            

NET$S_EFMT     = 00000002            SSB$W_XMTSEGACK  0000001E            UCB$L_MEDIA      0000008C            

NET$S_EOM      = 00000001            SSB$W_XMTSEGNUM  0000001C            UCB$L_NT_DATSSB  00000074            

NET$S_FCINT    = 00000002            SYS$DCLAST       ********   X   04   UCB$L_NT_INTSSB  00000078            

NET$S_FCMOD    = 00000002            SYS$QIO          ********   X   04   UCB$L_OPCNT      00000060            

NET$S_FCOPT    = 00000002            UCB$B_AMOD       00000053            UCB$L_OWNUIC     0000001C            

NET$S_INTLS    = 00000001            UCB$B_CEX        00000077            UCB$L_PID        00000028            

NET$S_INTMSG   = 00000001            UCB$B_CM1        0000004A            UCB$L_RQBL       00000004            

NET$S_LTYPE    = 00000002            UCB$B_CM2        0000004B            UCB$L_RQFL       00000000            

NET$S_MPRI     = 00000002            UCB$B_DEVCLASS   00000038            UCB$L_SVAPTE     00000068            

NET$S_MSGFLG   = 00000005            UCB$B_DEVTYPE    00000039            UCB$L_SVPN       00000064            

NET$S_MSGID    = 00000002            UCB$B_DIPL       00000052            UCB$L_TTCHAR     0000003C            

NET$S_MSGTYP   = 00000002            UCB$B_DX_SCTCNT  000000A6            UCB$L_VCB        00000030            

NET$S_REMLFS   = 00000004            UCB$B_ERTCNT     00000070            UCB$M_BACKP    = 00000020            

NET$S_RFMT     = 00000001            UCB$B_ERTMAX     00000071            UCB$M_BSY      = 00000100            

NET$S_SUBTYP   = 00000003            UCB$B_ESCAPE     0000004B            UCB$M_CANCEL   = 00000008            

NET$USRXMT       00000000 RG    04   UCB$B_FEX        00000076            UCB$M_DEADMO   = 00000400            

NET$V_ACKOPT   = 00000004            UCB$B_FIPL       0000000B            UCB$M_DELMBX   = 00000002            

NET$V_BOM      = 00000005            UCB$B_LOCSRV     0000003C            UCB$M_DIAGBUF  = 00000002            

NET$V_EFMT     = 00000004            UCB$B_OFFNDX     00000094            UCB$M_DX_WRITE = 00000008            

NET$V_EOM      = 00000006            UCB$B_OFFRTC     00000095            UCB$M_ECC      = 00000001            

NET$V_FCINT    = 00000002            UCB$B_REMSRV     0000003D            UCB$M_ERLOGIP  = 00000004            

NET$V_FCMOD    = 00000000            UCB$B_SECTORS    0000003C            UCB$M_INT      = 00000002            

NET$V_FCOPT    = 00000002            UCB$B_SLAVE      00000074            UCB$M_INTTYPE  = 00000080            

NET$V_INTLS    = 00000004            UCB$B_SPR        00000075            UCB$M_JOB      = 00000001            

NET$V_INTMSG   = 00000005            UCB$B_STATE      00000052            UCB$M_MOUNTING = 00000200            

NET$V_LTYPE    = 00000000            UCB$B_TRACKS     0000003D            UCB$M_NOCNVRT  = 00000004            

NET$V_MPRI     = 00000002            UCB$B_TYPE       0000000A            UCB$M_NT_BFROVF= 00000004            

NET$V_MSGFLG   = 00000002            UCB$B_VERTSZ     0000003F            UCB$M_NT_BREAK = 00000020            

NET$V_MSGID    = 00000000            UCB$C_LENGTH     00000074            UCB$M_NT_NAME  = 00000010            

NET$V_MSGTYP   = 00000002            UCB$C_LOGLNK   = 00000001            UCB$M_ONLINE   = 00000010            

NET$V_REMLFS   = 00000004            UCB$K_LENGTH     00000074            UCB$M_POWER    = 00000020            

NET$V_RFMT     = 00000006            UCB$L_AMB        00000054            UCB$M_PRMMBX   = 00000001            

NET$V_SUBTYP   = 00000004            UCB$L_ASTQBL     00000010            UCB$M_TIM      = 00000001            

NET$XMT_LNKSRV   0000008A RG    04   UCB$L_ASTQFL     0000000C            UCB$M_TIMOUT   = 00000040            

NET$XMT_MSG      000000EF RG    04   UCB$L_CPID       0000005C            UCB$M_TT_NOTIF = 00000004            

NET_ACKOFF     = 00000005            UCB$L_CRB        00000020            UCB$M_TT_TIMO  = 00000002            

NET_LSLTH      = 00000010            UCB$L_DDB        00000024            UCB$M_UNLOAD   = 00001000            

SSB$B_FCVAL      00000021            UCB$L_DEVCHAR    00000034            UCB$M_VALID    = 00000800            

SSB$B_PNDCNT     00000023            UCB$L_DEVDEPEND  0000003C            UCB$S_LNKPRI   = 00000002            

SSB$B_REQCNT     00000022            UCB$L_DPC        00000080            UCB$S_LTYPE    = 00000002            

SSB$B_TIPC       00000020            UCB$L_DUETIM     0000005C            UCB$T_PARTNER    0000000C            

SSB$B_TYPE       0000000A            UCB$L_DX_BFPNT   0000009C            UCB$V_BACKP    = 00000005            

SSB$C_LENGTH     00000024            UCB$L_DX_BUF     00000098            UCB$V_BSY      = 00000008            

SSB$K_LENGTH     00000024            UCB$L_DX_RXDB    000000A0            UCB$V_CANCEL   = 00000003            

SSB$L_UCB        00000014            UCB$L_EMB        00000078            UCB$V_DEADMO   = 0000000A            

SSB$L_WACKQBL    00000010            UCB$L_FIRST      00000014            UCB$V_DELMBX   = 00000001            

SSB$L_WACKQFL    0000000C            UCB$L_FPC        0000000C            UCB$V_DIAGBUF  = 00000001            

SSB$L_XQBL       00000004            UCB$L_FQBL       00000004            UCB$V_DX_WRITE = 00000003            

SSB$L_XQFL       00000000            UCB$L_FQFL       00000000            UCB$V_ECC      = 00000000            

SSB$M_ACKP     = 00008000            UCB$L_FR3        00000010            UCB$V_ERLOGIP  = 00000002            

NETXMT          - PROCESS XMT I/O REQUESTS                       22-AUG-1978 01:02:31   VAX-11 MACRO X0.3-11               Page  13

SYMBOL TABLE                                                                                                                     (1)



UCB$V_INT      = 00000001            

UCB$V_INTTYPE  = 00000007            

UCB$V_JOB      = 00000000            

UCB$V_LNKPRI   = 00000006            

UCB$V_LTYPE    = 00000000            

UCB$V_MOUNTING = 00000009            

UCB$V_MSGACK   = 00000004            

UCB$V_MSGFLO   = 00000003            

UCB$V_NOCNVRT  = 00000002            

UCB$V_NT_BFROVF= 00000002            

UCB$V_NT_BREAK = 00000005            

UCB$V_NT_NAME  = 00000004            

UCB$V_ONLINE   = 00000004            

UCB$V_POWER    = 00000005            

UCB$V_PRMMBX   = 00000000            

UCB$V_SEGFLO   = 00000002            

UCB$V_TIM      = 00000000            

UCB$V_TIMOUT   = 00000006            

UCB$V_TT_NOTIF = 00000002            

UCB$V_TT_TIMO  = 00000001            

UCB$V_UNLOAD   = 0000000C            

UCB$V_VALID    = 0000000B            

UCB$W_BCNT       0000006E            

UCB$W_BCR        00000096            

UCB$W_BOFF       0000006C            

UCB$W_BUFQUO     00000018            

UCB$W_BYTESTOGO  0000003E            

UCB$W_CHARGE     0000004A            

UCB$W_CYLINDERS  0000003E            

UCB$W_DA         0000008C            

UCB$W_DC         0000008E            

UCB$W_DEVBUFSIZ  0000003A            

UCB$W_DEVSTS     0000005A            

UCB$W_DIRSEQ     00000088            

UCB$W_DSTADDR    00000018            

UCB$W_DX_BCR     000000A4            

UCB$W_EC1        00000090            

UCB$W_EC2        00000092            

UCB$W_ERRCNT     00000072            

UCB$W_FUNC       0000007E            

UCB$W_MB_SEED    FFFFFFFC            

UCB$W_MSGCNT     00000016            

UCB$W_MSGMAX     00000014            

UCB$W_NT_CHAN    0000007C            

UCB$W_OFFSET     0000008A            

UCB$W_REFC       00000050            

UCB$W_SIZE       00000008            

UCB$W_SRCADDR    0000001A            

UCB$W_STS        00000058            

UCB$W_UNIT       00000048            

UCB$W_VPROT      0000001A            





PROGRAM SECTION SYNOPSIS



.  ABS  .        00000000      00     NOPIC   USR   CON   ABS   LCL NOSHR NOEXE NORD  NOWRT BYTE  

. BLANK .        00000000      01     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  

NETXMT          - PROCESS XMT I/O REQUESTS                       22-AUG-1978 01:02:31   VAX-11 MACRO X0.3-11               Page  14

PROGRAM SECTION SYNOPSIS                                                                                                         (1)



$ABS$            FFFFFFFE      02     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  

NET_IMPURE       00000008      03     NOPIC   USR   CON   REL   LCL NOSHR NOEXE   RD    WRT BYTE  

NET_CODE         000001B6      04     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD  NOWRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

13236. BYTES LEFT IN FREE MEMORY POOL.

2990. BYTES OF RECLAIMED MEMORY.

OBJ$:NETXMT,LIS$:NETXMT/-SP=EXECML$/ML,M1/ML,M2/ML,SRC$:NETXMT

69 MLB DIR RDS - 711 GETS TO DEFINE 23 MACROS. 44 INTER. FILE WRITES. 

