Google
 

Trailing-Edge - PDP-10 Archives - BB-P363B-SM_1985 - mcb/drivers/dcpnmx.lst
There are no other files named dcpnmx.lst in the archive.
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page   1
								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (1)

;	  0001	module DCPNMX (	! DDCMP Driver Network Management
;	  0002			ident = 'X01140',
;	  0003			language (bliss16)
;	  0004			) =
;	  0005	begin
;	  0006	
;	  0007	!
;	  0008	!                    COPYRIGHT (c) 1980, 1981, 1982
;	  0009	!                    DIGITAL EQUIPMENT CORPORATION
;	  0010	!                        Maynard, Massachusetts
;	  0011	!
;	  0012	!     This software is furnished under a license and may  be  used
;	  0013	!     and copied only in accordance with the terms of such license
;	  0014	!     and with the inclusion of the above copyright notice.   This
;	  0015	!     software  or any other copies thereof may not be provided or
;	  0016	!     otherwise made available to any other person.  No  title  to
;	  0017	!     and ownership of the software is hereby transferred.
;	  0018	!
;	  0019	!     The information  in  this  software  is  subject  to  change
;	  0020	!     without  notice  and should not be construed as a commitment
;	  0021	!     by DIGITAL EQUIPMENT CORPORATION.
;	  0022	!
;	  0023	!     DIGITAL assumes no responsibility for the use or reliability
;	  0024	!     of  its  software  on  equipment  which  is  not supplied by
;	  0025	!     DIGITAL.
;	  0026	!
;	  0027	
;	  0028	!++
;	  0029	!
;	  0030	! FACILITY: MCB DDCMP Protocol Driver
;	  0031	!
;	  0032	! ABSTRACT:
;	  0033	!
;	  0034	!	This module contains the DDCMP protocol Network Management routines.
;	  0035	!
;	  0036	! ENVIRONMENT: MCB V3.2
;	  0037	!
;	  0038	! AUTHOR: Alan D. Peckham	CREATION DATE: 5-Apr-81
;	  0039	!
;	  0040	! MODIFIED BY:
;	  0041	!
;	  0042	!	Alan D. Peckham, 5-Apr-81: Version 1
;	  0043	! 01	- New module for DCP.
;	  0044	! 03	- Maintain line state.
;	  0045	! 04	- Change to routine called by LINE ON/OFF coding.
;	  0046	! 05	- Handle 16 bits of RETRANSMIT TIMER.
;	  0047	! 06	- Use $MCB_GET_DEVICE_NAME to get line/device name.
;	  0048	!	  Remove common counter routines.
;	  0049	! 07	- Use NMX$PARAMETER to get CIRCUIT/LINE names.
;	  0050	!	  Add support of SERVICE TIMER.
;	  0051	!	  Update counters to NM V3.0 .
;	  0052	! 08	- Update parameters to V3.0 .
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page   2
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (1)

;	  0053	! 09	- Remove 'counters zeroed' event.
;	  0054	! 10	- Get parameters from KDP process for LINE CHARACTERISTICS.
;	  0055	! 11	- De-commit half-duplex.
;	  0056	! 12	- Fix CLEAR CIRCUIT/LINE ALL to work.
;	  0057	! 13	- Fix SET_LINE_RETRANSMIT_TIMER bug introduced in #5.
;	  0058	! 14	- Add seconds-since-last-zeroed support for lines.
;	  0059	!	  Eliminate double line counter report from owner and provider.
;	  0060	!--
;	  0061	!
;	  0062	! INCLUDE FILES:
;	  0063	!
;	  0064	
;	  0065	library 'MCBLIB';
;	  0066	
;	  0067	library 'XPORTX';
;	  0068	
;	  0069	library 'NMXLIB';
;	  0070	
;	  0071	library 'DCPDAT';
;	  0072	
;	  0073	!
;	  0074	! TABLE OF CONTENTS:
;	  0075	!
;	  0076	
;	  0077	linkage
;	  0078	    DCP_DB = jsr (register = 5) :
;	  0079		nopreserve (0, 1, 2, 3, 4),
;	  0080	    DCP_DB_CCB = jsr (register = 5, register = 4) :
;	  0081		nopreserve (0, 1, 2, 3),
;	  0082	    DCP_DB_NUM = jsr (register = 5, register = 0) : nopreserve (0, 1, 2);
;	  0083	
;	  0084	forward routine
;	  0085	    DCPNM : DCP_DB_CCB novalue,
;	  0086	    PARAMETER_CIRCUIT_COUNTERS : LINKAGE_DB novalue;
;	  0087	
;	  0088	forward routine
;	  0089	    CLEAR_CIRCUIT : DCP_DB_CCB,
;	  0090	    CLEAR_LINE : DCP_DB_CCB,
;	  0091	    IDENTIFY_PARAMETER,
;	  0092	    MANAGEMENT_PROGRAMMING_ERROR : DCP_DB_CCB,
;	  0093	    SET_CIRCUIT : DCP_DB_CCB,
;	  0094	    SET_LINE : DCP_DB_CCB,
;	  0095	    SET_LINE_CLOCK : DCP_DB_NUM,
;	  0096	    SET_LINE_CONTROLLER : DCP_DB_NUM,
;	  0097	    SET_LINE_DUPLEX : DCP_DB_NUM,
;	  0098	    SET_LINE_PROTOCOL : DCP_DB_NUM,
;	  0099	    SET_LINE_RETRANSMIT_TIMER : DCP_DB_NUM,
;	  0100	    SET_LINE_SERVICE_TIMER : DCP_DB_NUM,
;	  0101	    SET_LINE_STATE : DCP_DB_NUM,
;	  0102	    SHOW_AND_ZERO_CIRCUIT_COUNTERS : DCP_DB_CCB,
;	  0103	    SHOW_AND_ZERO_LINE_COUNTERS : DCP_DB_CCB,
;	  0104	    SHOW_CIRCUIT : DCP_DB_CCB,
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page   3
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (1)

;	  0105	    SHOW_LINE : DCP_DB_CCB,
;	  0106	    SHOW_SUCCESS : DCP_DB_CCB,
;	  0107	    SUCCESS : DCP_DB_CCB,
;	  0108	    ZERO_CIRCUIT_COUNTERS : DCP_DB_CCB,
;	  0109	    ZERO_LINE_COUNTERS : DCP_DB_CCB;
;	  0110	
;	  0111	!
;	  0112	! MACROS:
;	  0113	!
;	  0114	!	None
;	  0115	!
;	  0116	! EQUATED SYMBOLS:
;	  0117	!
;	  0118	
;	  0119	literal
;	  0120	    TRUE = 1 EQL 1,
;	  0121	    FALSE = 1 EQL 0,
;	  0122	    NO_OPERATION = 0;
;	  0123	
;	  0124	macro
;	M 0125	    $DCP_LINE_PARAMETERS =
;	  0126		0, 1100, 1105, 1110, 1111, 1112, 1113, 1120, 1121 %,
;	M 0127	    $DCP_PARAMETER_NAMES (ENTITY) [NUMBER] =
;	  0128		literal %name (ENTITY, '_', NUMBER) = %count; %,
;	M 0129	    $DCP_PARAMETER_NAME_LIST (ENTITY) [NUMBER] =
;	  0130		%name (ENTITY, '_', NUMBER) %,
;	M 0131	    $DCP_PARAMETER_NUMBER_LIST (ENTITY) [NUMBER] =
;	  0132		NUMBER %,
;	M 0133	    $DCP_PARAMETERS (ENTITY) =
;	M 0134		$DCP_PARAMETER_NAMES (ENTITY, %remaining)
;	M 0135		literal %name (ENTITY, '_MINIMUM') =
;	M 0136		    min ($DCP_PARAMETER_NAME_LIST (ENTITY, %remaining));
;	M 0137		literal %name (ENTITY, '_MAXIMUM') =
;	M 0138		    max ($DCP_PARAMETER_NAME_LIST (ENTITY, %remaining));
;	M 0139		bind %name (ENTITY, '_NUMBERS') =
;	  0140		    plit ($DCP_PARAMETER_NUMBER_LIST (ENTITY, %remaining)) : vector; %;
;	  0141	
;	  0142	$DCP_PARAMETERS (LINE, $DCP_LINE_PARAMETERS)
;	  0143	
;	  0144	!
;	  0145	! OWN STORAGE:
;	  0146	!
;	  0147	
;	  0148	external routine
;	  0149	    $DSPCR : novalue;
;	  0150	
;	  0151	!
;	  0152	! EXTERNAL REFERENCES:
;	  0153	!
;	  0154	
;	  0155	external routine
;	  0156	    SET_DEVICE : DCP_DB novalue,
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page   4
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (1)

;	  0157	    SET_LINK : DCP_DB novalue;
;	  0158	
;	  0159	external
;	  0160	    MCB$GAW_PROCESS_DATA_BASE : vector [2],
;	  0161	    MCB$GW_PROCESS_HANDLE;
;	  0162	
;	  0163	bind
;	  0164	    DB = MCB$GAW_PROCESS_DATA_BASE [1],
;	  0165	    DB_BIAS = MCB$GAW_PROCESS_DATA_BASE [0];
;	  0166	
;	  0167	macro
;	M 0168	    GET_DCP_DATA_BASE (NAME) =
;	M 0169		%if %declared (NAME)
;	M 0170		%then map NAME : ref
;	M 0171		%else bind NAME = .MCB$GAW_PROCESS_DATA_BASE [1] :
;	  0172		%fi block field (D_FIELDS) %;
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page   5
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (2)

;	  0173	routine CLEAR_CIRCUIT
;	  0174	
;	  0175	!++
;	  0176	! FUNCTIONAL DESCRIPTION:
;	  0177	!
;	  0178	!
;	  0179	! FORMAL PARAMETERS:
;	  0180	       (DB : ref block field (D_FIELDS),
;	  0181		CCB : ref block field (C_NM_FIELDS))
;	  0182	!
;	  0183	! IMPLICIT INPUTS:
;	  0184	!	None
;	  0185	!
;	  0186	! IMPLICIT OUTPUTS:
;	  0187	!	None
;	  0188	!
;	  0189	! ROUTINE VALUE:
;	  0190	!
;	  0191		: DCP_DB_CCB =
;	  0192	!
;	  0193	! COMPLETION CODES:
;	  0194	!	None
;	  0195	!
;	  0196	! SIDE EFFECTS:
;	  0197	!	None
;	  0198	!--
;	  0199	
;	  0200	    begin
;	  0201	    if .CCB [C_CNT] eql 0
;	  0202	    then
;	  0203		NM$SUC
;	  0204	    else
;	  0205		NE$PNA
;	  0206	    end;


						.TITLE	DCPNMX
						.IDENT	/X01140/


000000						.PSECT	$PLIT$,  RO ,  D  
000000	000011 					.WORD	11				; Plit count word
000002	000000 				P.AAA:	.WORD	0
000004	002114 					.WORD	2114
000006	002121 					.WORD	2121
000010	002126 					.WORD	2126
000012	002127 					.WORD	2127
000014	002130 					.WORD	2130
000016	002131 					.WORD	2131
000020	002140 					.WORD	2140
000022	002141 					.WORD	2141
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page   6
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (2)


						.GLOBL	$DSPCR, SETDEV, SETLNK, .CRDAT
						.GLOBL	.CRPIX


	000002'				LINE.NUMBERS=	    P.AAA


						.SBTTL	CLEAR.CIRCUIT
000000						.PSECT	$CODE$,  RO 

000000	005764  000022 			CLEAR.CIRCUIT:
						TST	22(R4)				; *(CCB)				0201
000004	001003 					BNE	1$
000006	012700  000001 				MOV	#1,R0				;					0200
000012	000207 					RTS	PC
000014	012700  177752 			1$:	MOV	#-26,R0
000020	000207 					RTS	PC				;					0173

; Routine Size:  9 words,	Routine Base:  $CODE$ + 0000
; Maximum stack depth per invocation:  0 words
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page   7
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (3)

;	  0207	routine CLEAR_LINE
;	  0208	
;	  0209	!++
;	  0210	! FUNCTIONAL DESCRIPTION:
;	  0211	!
;	  0212	!
;	  0213	! FORMAL PARAMETERS:
;	  0214	!
;	  0215	       (DB : ref block field (D_FIELDS),
;	  0216		CCB : ref block field (C_NM_FIELDS))
;	  0217	!
;	  0218	! IMPLICIT INPUTS:
;	  0219	!	None
;	  0220	!
;	  0221	! IMPLICIT OUTPUTS:
;	  0222	!	None
;	  0223	!
;	  0224	! ROUTINE VALUE:
;	  0225	!
;	  0226		: DCP_DB_CCB =
;	  0227	!
;	  0228	! COMPLETION CODES:
;	  0229	!	None
;	  0230	!
;	  0231	! SIDE EFFECTS:
;	  0232	!	None
;	  0233	!--
;	  0234	
;	  0235	    begin
;	  0236	    if .CCB [C_CNT] eql 0
;	  0237	    then
;	  0238		NM$SUC
;	  0239	    else
;	  0240		NE$PNA
;	  0241	    end;


						.SBTTL	CLEAR.LINE
000000	005764  000022 			CLEAR.LINE:
						TST	22(R4)				; *(CCB)				0236
000004	001003 					BNE	1$
000006	012700  000001 				MOV	#1,R0				;					0235
000012	000207 					RTS	PC
000014	012700  177752 			1$:	MOV	#-26,R0
000020	000207 					RTS	PC				;					0207

; Routine Size:  9 words,	Routine Base:  $CODE$ + 0022
; Maximum stack depth per invocation:  0 words
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page   8
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (4)

;	  0242	global routine DCPNM
;	  0243	
;	  0244	!++
;	  0245	! FUNCTIONAL DESCRIPTION:
;	  0246	!	This routine is activated by a control request from
;	  0247	!	Network Management.
;	  0248	!
;	  0249	! FORMAL PARAMETERS:
;	  0250	!
;	  0251	       (DB : ref block field (D_FIELDS),
;	  0252		CCB : ref block field (C_NM_FIELDS))
;	  0253	!
;	  0254	! IMPLICIT INPUTS:
;	  0255	!	CCB Contents
;	  0256	!
;	  0257	! IMPLICIT OUTPUTS:
;	  0258	!	None
;	  0259	!
;	  0260	! ROUTINE VALUE:
;	  0261	!
;	  0262		: DCP_DB_CCB novalue =
;	  0263	!
;	  0264	! SIDE EFFECTS:
;	  0265	!	None
;	  0266	!--
;	  0267	
;	  0268	    begin
;	  0269	    begin
;	  0270	
;	  0271	    bind
;	  0272		LIX = .CCB [C_LIX];
;	  0273	
;	  0274	    local
;	  0275		RTN;
;	  0276	
;	  0277	    RTN =
;	  0278		(case .CCB [C_NM_ENTITY] from NMX$ENT_lo to NMX$ENT_hi of
;	  0279		    set
;	  0280		    [NMX$ENT_ckt] : 			!  CIRCUIT parameter
;	  0281			case .CCB [C_NM_FUNC] from NMX$FNC_lo to NMX$FNC_hi of
;	  0282			    set
;	  0283			    [NMX$FNC_set] :		! Set parameters
;	  0284				SET_CIRCUIT;
;	  0285			    [NMX$FNC_clr] :		! Clear parameters
;	  0286				CLEAR_CIRCUIT;
;	  0287			    [NMX$FNC_zro] :		! Zero counters
;	  0288				ZERO_CIRCUIT_COUNTERS;
;	  0289			    [NMX$FNC_sho] :		! Show selected items
;	  0290				SHOW_CIRCUIT;
;	  0291			    [NMX$FNC_szc] :		! Show and zero counters
;	  0292				SHOW_AND_ZERO_CIRCUIT_COUNTERS;
;	  0293			    [inrange, outrange] :
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page   9
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (4)

;	  0294				MANAGEMENT_PROGRAMMING_ERROR;
;	  0295			    tes;
;	  0296		    [NMX$ENT_lin] : 			!  LINE parameter
;	  0297			case .CCB [C_NM_FUNC] from NMX$FNC_lo to NMX$FNC_hi of
;	  0298			    set
;	  0299			    [NMX$FNC_set] :		! Set parameters
;	P 0300				    .(LIX + TABLE$ (SUCCESS, DCP_K_NMID_HIGH,
;	P 0301					(DCP_K_LINE_OWNER, SET_LINE),
;	  0302					(DCP_K_LINE_PROVIDER, SET_LINE)));
;	  0303			    [NMX$FNC_clr] :		! Clear parameters
;	P 0304				    .(LIX + TABLE$ (SUCCESS, DCP_K_NMID_HIGH,
;	  0305					(DCP_K_LINE_PROVIDER, CLEAR_LINE)));
;	  0306			    [NMX$FNC_zro] :		! Zero counters
;	P 0307				    .(LIX + TABLE$ (SUCCESS, DCP_K_NMID_HIGH,
;	  0308					(DCP_K_LINE_PROVIDER, ZERO_LINE_COUNTERS)));
;	  0309			    [NMX$FNC_sho] :		! Show selected items
;	P 0310				    .(LIX + TABLE$ (SHOW_SUCCESS, DCP_K_NMID_HIGH,
;	  0311					(DCP_K_LINE_PROVIDER, SHOW_LINE)));
;	  0312			    [NMX$FNC_szc] :		! Show and zero counters
;	P 0313				    .(LIX + TABLE$ (SHOW_SUCCESS, DCP_K_NMID_HIGH,
;	  0314					(DCP_K_LINE_PROVIDER, SHOW_AND_ZERO_LINE_COUNTERS)));
;	  0315			    [inrange, outrange] :
;	  0316				MANAGEMENT_PROGRAMMING_ERROR;
;	  0317			    tes;
;	  0318	
;	  0319		    [inrange, outrange] :
;	  0320			MANAGEMENT_PROGRAMMING_ERROR;
;	  0321	
;	  0322		    tes);
;	  0323	
;	  0324	    if (CCB [C_STS] = DCP_DB_CCB (.RTN, DB [D_TIM], .CCB)) eql 0
;	  0325	    then
;	  0326		return;
;	  0327	
;	  0328	    end;
;	  0329	    CCB [C_FNC] = FC_CCP;
;	  0330	    $MCB_SCHEDULE_CCB (.CCB);
;	  0331	    end;				! of routine DCPNM



000024						.PSECT	$PLIT$,  RO ,  D  
000024	000000V				P.AAE:	.WORD	SET.LINE
000026	000000V					.WORD	SET.LINE
000030	000000V					.WORD	SUCCESS
000032	000022'				P.AAF:	.WORD	CLEAR.LINE
000034	000000V					.WORD	SUCCESS
000036	000000V					.WORD	SUCCESS
000040	000000V				P.AAG:	.WORD	ZERO.LINE.COUNTERS
000042	000000V					.WORD	SUCCESS
000044	000000V					.WORD	SUCCESS
000046	000000V				P.AAH:	.WORD	SHOW.LINE
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  10
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (4)

000050	000000V					.WORD	SHOW.SUCCESS
000052	000000V					.WORD	SHOW.SUCCESS
000054	000000V				P.AAI:	.WORD	SHOW.AND.ZERO.LINE.COUNTERS
000056	000000V					.WORD	SHOW.SUCCESS
000060	000000V					.WORD	SHOW.SUCCESS


						.GLOBL	$SCHED


						.SBTTL	DCPNM
000044						.PSECT	$CODE$,  RO 

000000	010446 				DCPNM:: MOV	R4,-(SP)			;					0242
000002	005001 					CLR	R1				;					0269
000004	156401  000010 				BISB	10(R4),R1			; *(CCB),*
000010	012700  000024 				MOV	#24,R0				;					0278
000014	060400 					ADD	R4,R0				; CCB,*
000016	011002 					MOV	(R0),R2
000020	072227  177770 				ASH	#-10,R2
000024	042702  177760 				BIC	#177760,R2
000030	005302 					DEC	R2
000032	020227  000004 				CMP	R2,#4
000036	101052 					BHI	10$
000040	006302 					ASL	R2
000042	066207  000062'				ADD	P.AAB(R2),PC			; Case dispatch
000046	000446 				1$:	BR	10$
000050	111000 				2$:	MOVB	(R0),R0				;					0281
000052	006200 					ASR	R0
000054	042700  177600 				BIC	#177600,R0
000060	005300 					DEC	R0
000062	020027  000005 				CMP	R0,#5
000066	101036 					BHI	10$
000070	006300 					ASL	R0
000072	066007  000074'				ADD	P.AAC(R0),PC			; Case dispatch
000076	000432 				3$:	BR	10$
000100	012700  000000V			4$:	MOV	#SET.CIRCUIT,R0			; *,RTN
000104	000450 					BR	16$
000106	012700  000000'			5$:	MOV	#CLEAR.CIRCUIT,R0		; *,RTN
000112	000445 					BR	16$
000114	012700  000000V			6$:	MOV	#ZERO.CIRCUIT.COUNTERS,R0	; *,RTN
000120	000442 					BR	16$
000122	012700  000000V			7$:	MOV	#SHOW.CIRCUIT,R0		; *,RTN
000126	000437 					BR	16$
000130	012700  000000V			8$:	MOV	#SHOW.AND.ZERO.CIRCUIT.COUNTERS,R0 ; 
											; *,RTN
000134	000434 					BR	16$				;					0278
000136	111000 				9$:	MOVB	(R0),R0				;					0297
000140	006200 					ASR	R0
000142	042700  177600 				BIC	#177600,R0
000146	005300 					DEC	R0
000150	020027  000005 				CMP	R0,#5
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  11
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (4)

000154	101003 					BHI	10$
000156	006300 					ASL	R0
000160	066007  000110'				ADD	P.AAD(R0),PC			; Case dispatch
000164	012700  000000V			10$:	MOV	#MANAGEMENT.PROGRAMMING.ERROR,R0; *,RTN
000170	000416 					BR	16$
000172	016100  000024'			11$:	MOV	P.AAE(R1),R0			; *,RTN
000176	000413 					BR	16$
000200	016100  000032'			12$:	MOV	P.AAF(R1),R0			; *,RTN
000204	000410 					BR	16$
000206	016100  000040'			13$:	MOV	P.AAG(R1),R0			; *,RTN
000212	000405 					BR	16$
000214	016100  000046'			14$:	MOV	P.AAH(R1),R0			; *,RTN
000220	000402 					BR	16$
000222	016100  000054'			15$:	MOV	P.AAI(R1),R0			; *,RTN
000226	004710 				16$:	JSR	PC,(R0)				; *,RTN					0324
000230	010064  000014 				MOV	R0,14(R4)			; *,*(CCB)
000234	001405 					BEQ	17$				;					0326
000236	112764  000022  000012 			MOVB	#22,12(R4)			; *,*(CCB)				0329
000244	004767  000000G				JSR	PC,$SCHED			;					0330
000250	012604 				17$:	MOV	(SP)+,R4			;					0242
000252	000207 					RTS	PC

; Routine Size:  86 words,	Routine Base:  $CODE$ + 0044
; Maximum stack depth per invocation:  2 words


000062						.PSECT	$PLIT$,  RO ,  D  

					P.AAB:						; CASE Table for DCPNM+0042		0278
000062	000116 					.WORD	116				; [10$]
000064	000070 					.WORD	70				; [9$]
000066	000116 					.WORD	116				; [10$]
000070	000002 					.WORD	2				; [2$]
000072	000116 					.WORD	116				; [10$]

					P.AAC:						; CASE Table for DCPNM+0072		0281
000074	000002 					.WORD	2				; [4$]
000076	000010 					.WORD	10				; [5$]
000100	000016 					.WORD	16				; [6$]
000102	000024 					.WORD	24				; [7$]
000104	000032 					.WORD	32				; [8$]
000106	000066 					.WORD	66				; [10$]

					P.AAD:						; CASE Table for DCPNM+0160		0297
000110	000006 					.WORD	6				; [11$]
000112	000014 					.WORD	14				; [12$]
000114	000022 					.WORD	22				; [13$]
000116	000030 					.WORD	30				; [14$]
000120	000036 					.WORD	36				; [15$]
000122	000000 					.WORD	0				; [10$]
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  12
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (5)

;	  0332	routine IDENTIFY_PARAMETER
;	  0333	
;	  0334	!++
;	  0335	! FUNCTIONAL DESCRIPTION:
;	  0336	!
;	  0337	!
;	  0338	! FORMAL PARAMETERS:
;	  0339	!
;	  0340	       (NUMBER,
;	  0341		TABLE : ref vector)
;	  0342	!
;	  0343	! IMPLICIT INPUTS:
;	  0344	!
;	  0345	! IMPLICIT OUTPUTS:
;	  0346	!	None
;	  0347	!
;	  0348	! ROUTINE VALUE:
;	  0349	!
;	  0350		=
;	  0351	!
;	  0352	! SIDE EFFECTS:
;	  0353	!	None
;	  0354	!--
;	  0355	
;	  0356	    begin
;	  0357	
;	  0358	    incru INDEX from 1 to .TABLE [-1] do
;	  0359	
;	  0360		if .NUMBER eql .TABLE [.INDEX - 1] then return .INDEX - 1;
;	  0361	
;	  0362	    .TABLE [-1]
;	  0363	    end;			!of routine IDENTIFY_PARAMETER


						.SBTTL	IDENTIFY.PARAMETER
000320						.PSECT	$CODE$,  RO 

000000	004167  000000G			IDENTIFY.PARAMETER:
						JSR	R1,$SAVE2			;					0332
000004	016602  000010 				MOV	10(SP),R2			; TABLE,*				0358
000010	012701  000001 				MOV	#1,R1				; *,INDEX
000014	000414 					BR	3$
000016	010100 				1$:	MOV	R1,R0				; INDEX,*				0360
000020	006300 					ASL	R0
000022	066600  000010 				ADD	10(SP),R0			; TABLE,*
000026	026660  000012  177776 			CMP	12(SP),-2(R0)			; NUMBER,*
000034	001003 					BNE	2$
000036	010100 					MOV	R1,R0				; INDEX,*
000040	005300 					DEC	R0
000042	000207 					RTS	PC
000044	005201 				2$:	INC	R1				; INDEX					0358
000046	020162  177776 			3$:	CMP	R1,-2(R2)			; INDEX,*
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  13
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (5)

000052	101761 					BLOS	1$
000054	016200  177776 				MOV	-2(R2),R0			;					0332
000060	000207 					RTS	PC

; Routine Size:  25 words,	Routine Base:  $CODE$ + 0320
; Maximum stack depth per invocation:  4 words
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  14
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (6)

;	  0364	routine MANAGEMENT_PROGRAMMING_ERROR
;	  0365	
;	  0366	!++
;	  0367	! FUNCTIONAL DESCRIPTION:
;	  0368	!
;	  0369	!
;	  0370	! FORMAL PARAMETERS:
;	  0371	       (DB : ref block field (D_FIELDS),
;	  0372		CCB : ref block field (C_NM_FIELDS))
;	  0373	!
;	  0374	! IMPLICIT INPUTS:
;	  0375	!	None
;	  0376	!
;	  0377	! IMPLICIT OUTPUTS:
;	  0378	!	None
;	  0379	!
;	  0380	! ROUTINE VALUE:
;	  0381	!
;	  0382		: DCP_DB_CCB =
;	  0383	!
;	  0384	! COMPLETION CODES:
;	  0385	!	None
;	  0386	!
;	  0387	! SIDE EFFECTS:
;	  0388	!	None
;	  0389	!--
;	  0390	
;	  0391	    begin
;	  0392	    $NM$ERR_MPE
;	  0393	    end;


						.SBTTL	MANAGEMENT.PROGRAMMING.ERROR
000000	012700  177773 			MANAGEMENT.PROGRAMMING.ERROR:
						MOV	#-5,R0				;					0364
000004	000207 					RTS	PC

; Routine Size:  3 words,	Routine Base:  $CODE$ + 0402
; Maximum stack depth per invocation:  0 words
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  15
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (7)

;	  0394	global routine PARAMETER_CIRCUIT_COUNTERS
;	  0395	
;	  0396	!++
;	  0397	! FUNCTIONAL DESCRIPTION:
;	  0398	!
;	  0399	!
;	  0400	! FORMAL PARAMETERS:
;	  0401	       (DB : ref block field (D_FIELDS))
;	  0402	!
;	  0403	! IMPLICIT INPUTS:
;	  0404	!	None
;	  0405	!
;	  0406	! IMPLICIT OUTPUTS:
;	  0407	!	None
;	  0408	!
;	  0409	! ROUTINE VALUE:
;	  0410	!
;	  0411		: LINKAGE_DB novalue =
;	  0412	!
;	  0413	! SIDE EFFECTS:
;	  0414	!	None
;	  0415	!--
;	  0416	
;	  0417	    begin
;	  0418	    COUNTER_32 (1000, DB [S_BYTES_RECEIVED]);
;	  0419	    COUNTER_32 (1001, DB [S_BYTES_TRANSMITTED]);
;	  0420	    COUNTER_32 (1010, DB [S_DATA_BLOCKS_RECEIVED]);
;	  0421	    COUNTER_32 (1011, DB [S_DATA_BLOCKS_TRANSMITTED]);
;	  0422	    COUNTER_8_BM (1020, DB [S_DATA_ERRORS_INBOUND]);
;	  0423	    COUNTER_8_BM (1021, DB [S_DATA_ERRORS_OUTBOUND]);
;	  0424	    COUNTER_8 (1030, DB [S_REMOTE_REPLY_TIMEOUTS]);
;	  0425	    COUNTER_8 (1031, DB [S_LOCAL_REPLY_TIMEOUTS]);
;	  0426	    COUNTER_8_BM (1040, DB [S_REMOTE_BUFFER_ERRORS]);
;	  0427	    COUNTER_8_BM (1041, DB [S_LOCAL_BUFFER_ERRORS]);
;	  0428	    COUNTER_8 (1050, DB [S_SELECTION_INTERVALS]);
;	  0429	    COUNTER_8_BM (1051, DB [S_SELECTION_TIMEOUTS]);
;	  0430	    end;			!of routine PARAMETER_CIRCUIT_COUNTERS


						.GLOBL	$DC32, $DC8B, $DC8


						.SBTTL	CKCTRS
000000	004167  000000G			CKCTRS::JSR	R1,$SAVE5			;					0394
000004	010501 					MOV	R5,R1				; *,DB
000006	012746  161750 				MOV	#-16030,-(SP)			;					0418
000012	062705  000020 				ADD	#20,R5
000016	010500 					MOV	R5,R0
000020	004767  000000G				JSR	PC,$DC32
000024	012716  161751 				MOV	#-16027,(SP)			;					0419
000030	010105 					MOV	R1,R5				; DB,*
000032	062705  000024 				ADD	#24,R5
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  16
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (7)

000036	010500 					MOV	R5,R0
000040	004767  000000G				JSR	PC,$DC32
000044	012716  161762 				MOV	#-16016,(SP)			;					0420
000050	010105 					MOV	R1,R5				; DB,*
000052	062705  000030 				ADD	#30,R5
000056	010500 					MOV	R5,R0
000060	004767  000000G				JSR	PC,$DC32
000064	012716  161763 				MOV	#-16015,(SP)			;					0421
000070	010105 					MOV	R1,R5				; DB,*
000072	062705  000034 				ADD	#34,R5
000076	010500 					MOV	R5,R0
000100	004767  000000G				JSR	PC,$DC32
000104	012716  131774 				MOV	#-46004,(SP)			;					0422
000110	016100  000044 				MOV	44(R1),R0			; *(DB),*
000114	004767  000000G				JSR	PC,$DC8B
000120	012716  131775 				MOV	#-46003,(SP)			;					0423
000124	016100  000042 				MOV	42(R1),R0			; *(DB),*
000130	004767  000000G				JSR	PC,$DC8B
000134	012716  122006 				MOV	#-55772,(SP)			;					0424
000140	116100  000055 				MOVB	55(R1),R0			; *(DB),*
000144	004767  000000G				JSR	PC,$DC8
000150	012716  122007 				MOV	#-55771,(SP)			;					0425
000154	116100  000054 				MOVB	54(R1),R0			; *(DB),*
000160	004767  000000G				JSR	PC,$DC8
000164	012716  132020 				MOV	#-45760,(SP)			;					0426
000170	016100  000050 				MOV	50(R1),R0			; *(DB),*
000174	004767  000000G				JSR	PC,$DC8B
000200	012716  132021 				MOV	#-45757,(SP)			;					0427
000204	016100  000046 				MOV	46(R1),R0			; *(DB),*
000210	004767  000000G				JSR	PC,$DC8B
000214	012716  122032 				MOV	#-55746,(SP)			;					0428
000220	116100  000040 				MOVB	40(R1),R0			; *(DB),*
000224	004767  000000G				JSR	PC,$DC8
000230	012716  132033 				MOV	#-45745,(SP)			;					0429
000234	016100  000052 				MOV	52(R1),R0			; *(DB),*
000240	004767  000000G				JSR	PC,$DC8B
000244	005726 					TST	(SP)+				;					0417
000246	000207 					RTS	PC				;					0394

; Routine Size:  84 words,	Routine Base:  $CODE$ + 0410
; Maximum stack depth per invocation:  8 words
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  17
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (8)

;	  0431	global routine PARAMETER_LINE_COUNTERS
;	  0432	
;	  0433	!++
;	  0434	! FUNCTIONAL DESCRIPTION:
;	  0435	!
;	  0436	!
;	  0437	! FORMAL PARAMETERS:
;	  0438	       (DB : ref block field (D_FIELDS))
;	  0439	!
;	  0440	! IMPLICIT INPUTS:
;	  0441	!	None
;	  0442	!
;	  0443	! IMPLICIT OUTPUTS:
;	  0444	!	None
;	  0445	!
;	  0446	! ROUTINE VALUE:
;	  0447	!
;	  0448		: LINKAGE_DB novalue =
;	  0449	!
;	  0450	! SIDE EFFECTS:
;	  0451	!	None
;	  0452	!--
;	  0453	
;	  0454	    begin
;	  0455	    COUNTER_16_TIME (0, DB [L_TIME_LINE_ZEROED]);
;	  0456	    COUNTER_8_BM (1100, DB [L_REMOTE_STATION_ERRORS]);
;	  0457	    COUNTER_8_BM (1101, DB [L_LOCAL_STATION_ERRORS]);
;	  0458	    end;			!of routine PARAMETER_LINE_COUNTERS


						.GLOBL	$DT16


						.SBTTL	LNCTRS
000000	004167  000000G			LNCTRS::JSR	R1,$SAVE5			;					0431
000004	010501 					MOV	R5,R1				; *,DB
000006	012746  140000 				MOV	#-40000,-(SP)			;					0455
000012	062705  000056 				ADD	#56,R5
000016	010500 					MOV	R5,R0
000020	004767  000000G				JSR	PC,$DT16
000024	012716  132114 				MOV	#-45664,(SP)			;					0456
000030	016100  000062 				MOV	62(R1),R0			; *(DB),*
000034	004767  000000G				JSR	PC,$DC8B
000040	012716  132115 				MOV	#-45663,(SP)			;					0457
000044	016100  000064 				MOV	64(R1),R0			; *(DB),*
000050	004767  000000G				JSR	PC,$DC8B
000054	005726 					TST	(SP)+				;					0454
000056	000207 					RTS	PC				;					0431

; Routine Size:  24 words,	Routine Base:  $CODE$ + 0660
; Maximum stack depth per invocation:  8 words
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  18
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (9)

;	  0459	routine SET_CIRCUIT
;	  0460	
;	  0461	!++
;	  0462	! FUNCTIONAL DESCRIPTION:
;	  0463	!
;	  0464	!
;	  0465	! FORMAL PARAMETERS:
;	  0466	!
;	  0467	       (DB : ref block field (D_FIELDS),
;	  0468		CCB : ref block field (C_FIELDS))
;	  0469	!
;	  0470	! IMPLICIT INPUTS:
;	  0471	!	None
;	  0472	!
;	  0473	! IMPLICIT OUTPUTS:
;	  0474	!	None
;	  0475	!
;	  0476	! ROUTINE VALUE:
;	  0477	!
;	  0478		: DCP_DB_CCB =
;	  0479	!
;	  0480	! COMPLETION CODES:
;	  0481	!	None
;	  0482	!
;	  0483	! SIDE EFFECTS:
;	  0484	!	None
;	  0485	!--
;	  0486	
;	  0487	    begin
;	  0488	    NE$PNA
;	  0489	    end;


						.SBTTL	SET.CIRCUIT
000000	012700  177752 			SET.CIRCUIT:
						MOV	#-26,R0				;					0459
000004	000207 					RTS	PC

; Routine Size:  3 words,	Routine Base:  $CODE$ + 0740
; Maximum stack depth per invocation:  0 words
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  19
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (10)

;	  0490	routine SET_LINE
;	  0491	
;	  0492	!++
;	  0493	! FUNCTIONAL DESCRIPTION:
;	  0494	!
;	  0495	!
;	  0496	! FORMAL PARAMETERS:
;	  0497	!
;	  0498	       (DB : ref block field (D_FIELDS),
;	  0499		CCB : ref block field (C_NM_FIELDS))
;	  0500	!
;	  0501	! IMPLICIT INPUTS:
;	  0502	!	None
;	  0503	!
;	  0504	! IMPLICIT OUTPUTS:
;	  0505	!	None
;	  0506	!
;	  0507	! ROUTINE VALUE:
;	  0508	!
;	  0509		: DCP_DB_CCB =
;	  0510	!
;	  0511	! COMPLETION CODES:
;	  0512	!	None
;	  0513	!
;	  0514	! SIDE EFFECTS:
;	  0515	!	None
;	  0516	!--
;	  0517	
;	  0518	    begin
;	  0519	
;	  0520	    local
;	  0521		BUF_PTR,
;	  0522		DATA_ID,
;	  0523		DATA_VALUE;
;	  0524	
;	  0525	    MAP$ (.CCB [C_BIAS]);
;	  0526	    BUF_PTR = .CCB [C_ADDR];
;	  0527	    BYT$STRING_SHORT (BUF_PTR, DATA_ID);
;	  0528	    DATA_ID = IDENTIFY_PARAMETER (.DATA_ID <0, 12>, LINE_NUMBERS);
;	  0529	    BYT$STRING_SHORT (BUF_PTR, DATA_VALUE);
;	  0530	    MAP$ (.DB_BIAS);
;	  0531	
;	  0532	    case .DATA_ID from LINE_MINIMUM to LINE_MAXIMUM of
;	  0533		set
;	  0534		[LINE_0] : SET_LINE_STATE (DB [D_TIM], .DATA_VALUE <0, 8>);
;	  0535		[LINE_1110] : SET_LINE_CONTROLLER (DB [D_TIM], .DATA_VALUE <0, 8>);
;	  0536	!	[LINE_1111] : SET_LINE_DUPLEX (DB [D_TIM], .DATA_VALUE <0, 8>);
;	  0537		[LINE_1112] : SET_LINE_PROTOCOL (DB [D_TIM], .DATA_VALUE <0, 8>);
;	  0538		[LINE_1113] : SET_LINE_CLOCK (DB [D_TIM], .DATA_VALUE <0, 8>);
;	  0539		[LINE_1120] : SET_LINE_SERVICE_TIMER (DB [D_TIM], .DATA_VALUE);
;	  0540		[LINE_1121] : SET_LINE_RETRANSMIT_TIMER (DB [D_TIM], .DATA_VALUE);
;	  0541		[inrange, outrange] :		! Parameter not applicable
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  20
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (10)

;	  0542		    NE$PNA;
;	  0543		tes
;	  0544	
;	  0545	    end;


						.GLOBL	KISAR6


						.SBTTL	SET.LINE
000000	024646 				SET.LINE:
						CMP	-(SP),-(SP)			;					0490
000002	016467  000016  000000G			MOV	16(R4),KISAR6			; *(CCB),*				0525
000010	016401  000020 				MOV	20(R4),R1			; *(CCB),BUF.PTR			0526
000014	112166  000002 				MOVB	(R1)+,2(SP)			; BUF.PTR,DATA.ID			0527
000020	112166  000003 				MOVB	(R1)+,3(SP)			; BUF.PTR,DATA.ID+1
000024	016646  000002 				MOV	2(SP),-(SP)			; DATA.ID,*				0528
000030	042716  170000 				BIC	#170000,(SP)
000034	012746  000002'				MOV	#LINE.NUMBERS,-(SP)
000040	004767  177306 				JSR	PC,IDENTIFY.PARAMETER
000044	010066  000006 				MOV	R0,6(SP)			; *,DATA.ID
000050	112166  000004 				MOVB	(R1)+,4(SP)			; BUF.PTR,DATA.VALUE			0529
000054	112166  000005 				MOVB	(R1)+,5(SP)			; BUF.PTR,DATA.VALUE+1
000060	016767  000000G 000000G			MOV	.CRDAT,KISAR6			;					0530
000066	020027  000010 				CMP	R0,#10				;					0532
000072	101003 					BHI	1$
000074	006300 					ASL	R0
000076	066007  000124'				ADD	P.AAJ(R0),PC			; Case dispatch
000102	012700  177752 			1$:	MOV	#-26,R0
000106	000441 					BR	8$
000110	005000 				2$:	CLR	R0				;					0534
000112	156600  000004 				BISB	4(SP),R0			; DATA.VALUE,*
000116	004767  000000V				JSR	PC,SET.LINE.STATE
000122	000433 					BR	8$				;					0532
000124	005000 				3$:	CLR	R0				;					0535
000126	156600  000004 				BISB	4(SP),R0			; DATA.VALUE,*
000132	004767  000000V				JSR	PC,SET.LINE.CONTROLLER
000136	000425 					BR	8$				;					0532
000140	005000 				4$:	CLR	R0				;					0537
000142	156600  000004 				BISB	4(SP),R0			; DATA.VALUE,*
000146	004767  000000V				JSR	PC,SET.LINE.PROTOCOL
000152	000417 					BR	8$				;					0532
000154	005000 				5$:	CLR	R0				;					0538
000156	156600  000004 				BISB	4(SP),R0			; DATA.VALUE,*
000162	004767  000000V				JSR	PC,SET.LINE.CLOCK
000166	000411 					BR	8$				;					0532
000170	016600  000004 			6$:	MOV	4(SP),R0			; DATA.VALUE,*				0539
000174	004767  000000V				JSR	PC,SET.LINE.SERVICE.TIMER
000200	000404 					BR	8$				;					0532
000202	016600  000004 			7$:	MOV	4(SP),R0			; DATA.VALUE,*				0540
000206	004767  000000V				JSR	PC,SET.LINE.RETRANSMIT.TIMER
000212	062706  000010 			8$:	ADD	#10,SP				;					0490
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  21
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (10)

000216	000207 					RTS	PC

; Routine Size:  72 words,	Routine Base:  $CODE$ + 0746
; Maximum stack depth per invocation:  5 words


000124						.PSECT	$PLIT$,  RO ,  D  

					P.AAJ:						; CASE Table for SET.LINE+0076		0532
000124	000006 					.WORD	6				; [2$]
000126	000000 					.WORD	0				; [1$]
000130	000000 					.WORD	0				; [1$]
000132	000022 					.WORD	22				; [3$]
000134	000000 					.WORD	0				; [1$]
000136	000036 					.WORD	36				; [4$]
000140	000052 					.WORD	52				; [5$]
000142	000066 					.WORD	66				; [6$]
000144	000100 					.WORD	100				; [7$]
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  22
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (11)

;	  0546	routine SET_LINE_CLOCK
;	  0547	
;	  0548	!++
;	  0549	! FUNCTIONAL DESCRIPTION:
;	  0550	!
;	  0551	!
;	  0552	! FORMAL PARAMETERS:
;	  0553	!
;	  0554	       (DB : ref block field (D_FIELDS),
;	  0555		CLOCK)
;	  0556	!
;	  0557	! IMPLICIT INPUTS:
;	  0558	!	None
;	  0559	!
;	  0560	! IMPLICIT OUTPUTS:
;	  0561	!	None
;	  0562	!
;	  0563	! ROUTINE VALUE:
;	  0564	!
;	  0565		: DCP_DB_NUM =
;	  0566	!
;	  0567	! COMPLETION CODES:
;	  0568	!	None
;	  0569	!
;	  0570	! SIDE EFFECTS:
;	  0571	!	None
;	  0572	!--
;	  0573	
;	  0574	    begin
;	  0575	
;	  0576	    literal
;	  0577		EXTERN = 0,
;	  0578		INTERN = 1;
;	  0579	
;	  0580	    if .DB [L_LINE_STATE] eql DL_ON then return NE$CWS;
;	  0581	
;	  0582	    selectone .CLOCK of
;	  0583		set
;	  0584		[EXTERN, INTERN] :
;	  0585		    begin
;	  0586		    DB [L_CLOCK] = .CLOCK;
;	  0587		    NM$SUC
;	  0588		    end;
;	  0589		[otherwise] : NE$IPV;
;	  0590		tes
;	  0591	
;	  0592	    end;


						.SBTTL	SET.LINE.CLOCK
001166						.PSECT	$CODE$,  RO 
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  23
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (11)

000000	105765  000014 			SET.LINE.CLOCK:
						TSTB	14(R5)				; *(DB)					0580
000004	001003 					BNE	1$
000006	012700  177765 				MOV	#-13,R0
000012	000207 					RTS	PC
000014	005700 				1$:	TST	R0				; CLOCK					0582
000016	002410 					BLT	2$
000020	020027  000001 				CMP	R0,#1				; CLOCK,*
000024	003005 					BGT	2$
000026	110065  000013 				MOVB	R0,13(R5)			; CLOCK,*(DB)				0586
000032	012700  000001 				MOV	#1,R0				;					0582
000036	000207 					RTS	PC
000040	012700  177760 			2$:	MOV	#-20,R0
000044	000207 					RTS	PC				;					0546

; Routine Size:  19 words,	Routine Base:  $CODE$ + 1166
; Maximum stack depth per invocation:  0 words
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  24
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (12)

;	  0593	routine SET_LINE_CONTROLLER
;	  0594	
;	  0595	!++
;	  0596	! FUNCTIONAL DESCRIPTION:
;	  0597	!
;	  0598	!
;	  0599	! FORMAL PARAMETERS:
;	  0600	!
;	  0601	       (DB : ref block field (D_FIELDS),
;	  0602		CONTROLLER)
;	  0603	!
;	  0604	! IMPLICIT INPUTS:
;	  0605	!	None
;	  0606	!
;	  0607	! IMPLICIT OUTPUTS:
;	  0608	!	None
;	  0609	!
;	  0610	! ROUTINE VALUE:
;	  0611	!
;	  0612		: DCP_DB_NUM =
;	  0613	!
;	  0614	! COMPLETION CODES:
;	  0615	!	None
;	  0616	!
;	  0617	! SIDE EFFECTS:
;	  0618	!	None
;	  0619	!--
;	  0620	
;	  0621	    begin
;	  0622	
;	  0623	    literal
;	  0624		LOOPBACK = 1,
;	  0625		NORMAL = 0;
;	  0626	
;	  0627	    if .DB [L_LINE_STATE] eql DL_ON then return NE$CWS;
;	  0628	
;	  0629	    selectone .CONTROLLER of
;	  0630		set
;	  0631		[NORMAL, LOOPBACK] :
;	  0632		    begin
;	  0633		    DB [L_CONTROLLER] = .CONTROLLER;
;	  0634		    NM$SUC
;	  0635		    end;
;	  0636		[otherwise] : NE$IPV;
;	  0637		tes
;	  0638	
;	  0639	    end;


						.SBTTL	SET.LINE.CONTROLLER
000000	105765  000014 			SET.LINE.CONTROLLER:
						TSTB	14(R5)				; *(DB)					0627
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  25
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (12)

000004	001003 					BNE	1$
000006	012700  177765 				MOV	#-13,R0
000012	000207 					RTS	PC
000014	005700 				1$:	TST	R0				; CONTROLLER				0629
000016	002410 					BLT	2$
000020	020027  000001 				CMP	R0,#1				; CONTROLLER,*
000024	003005 					BGT	2$
000026	110065  000011 				MOVB	R0,11(R5)			; CONTROLLER,*(DB)			0633
000032	012700  000001 				MOV	#1,R0				;					0629
000036	000207 					RTS	PC
000040	012700  177760 			2$:	MOV	#-20,R0
000044	000207 					RTS	PC				;					0593

; Routine Size:  19 words,	Routine Base:  $CODE$ + 1234
; Maximum stack depth per invocation:  0 words
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  26
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (13)

;	  0640	routine SET_LINE_DUPLEX
;	  0641	
;	  0642	!++
;	  0643	! FUNCTIONAL DESCRIPTION:
;	  0644	!
;	  0645	!
;	  0646	! FORMAL PARAMETERS:
;	  0647	!
;	  0648	       (DB : ref block field (D_FIELDS),
;	  0649		DUPLEX)
;	  0650	!
;	  0651	! IMPLICIT INPUTS:
;	  0652	!	None
;	  0653	!
;	  0654	! IMPLICIT OUTPUTS:
;	  0655	!	None
;	  0656	!
;	  0657	! ROUTINE VALUE:
;	  0658	!
;	  0659		: DCP_DB_NUM =
;	  0660	!
;	  0661	! COMPLETION CODES:
;	  0662	!	None
;	  0663	!
;	  0664	! SIDE EFFECTS:
;	  0665	!	None
;	  0666	!--
;	  0667	
;	  0668	    begin
;	  0669	
;	  0670	    literal
;	  0671		FULL = 0,
;	  0672		HALF = 1;
;	  0673	
;	  0674	    if .DB [L_LINE_STATE] eql DL_ON then return NE$CWS;
;	  0675	
;	  0676	    selectone .DUPLEX of
;	  0677		set
;	  0678		[FULL, HALF] : (DB [L_DUPLEX] = .DUPLEX; NM$SUC);
;	  0679		[otherwise] : NE$IPV;
;	  0680		tes
;	  0681	
;	  0682	    end;


						.SBTTL	SET.LINE.DUPLEX
000000	105765  000014 			SET.LINE.DUPLEX:
						TSTB	14(R5)				; *(DB)					0674
000004	001003 					BNE	1$
000006	012700  177765 				MOV	#-13,R0
000012	000207 					RTS	PC
000014	005700 				1$:	TST	R0				; DUPLEX				0676
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  27
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (13)

000016	002410 					BLT	2$
000020	020027  000001 				CMP	R0,#1				; DUPLEX,*
000024	003005 					BGT	2$
000026	110065  000012 				MOVB	R0,12(R5)			; DUPLEX,*(DB)				0678
000032	012700  000001 				MOV	#1,R0				;					0676
000036	000207 					RTS	PC
000040	012700  177760 			2$:	MOV	#-20,R0
000044	000207 					RTS	PC				;					0640

; Routine Size:  19 words,	Routine Base:  $CODE$ + 1302
; Maximum stack depth per invocation:  0 words
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  28
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (14)

;	  0683	routine SET_LINE_PROTOCOL
;	  0684	
;	  0685	!++
;	  0686	! FUNCTIONAL DESCRIPTION:
;	  0687	!
;	  0688	!
;	  0689	! FORMAL PARAMETERS:
;	  0690	!
;	  0691	       (DB : ref block field (D_FIELDS),
;	  0692		PROTOCOL)
;	  0693	!
;	  0694	! IMPLICIT INPUTS:
;	  0695	!	None
;	  0696	!
;	  0697	! IMPLICIT OUTPUTS:
;	  0698	!	None
;	  0699	!
;	  0700	! ROUTINE VALUE:
;	  0701	!
;	  0702		: DCP_DB_NUM =
;	  0703	!
;	  0704	! COMPLETION CODES:
;	  0705	!	None
;	  0706	!
;	  0707	! SIDE EFFECTS:
;	  0708	!	None
;	  0709	!--
;	  0710	
;	  0711	    begin
;	  0712	
;	  0713	    literal
;	  0714		DDCMP_POINT = 0,
;	  0715		DDCMP_CONTROL = 1,
;	  0716		DDCMP_TRIBUTARY = 2,
;	  0717		DDCMP_DMC = 4;
;	  0718	
;	  0719	    if .DB [L_LINE_STATE] eql DL_ON then return NE$CWS;
;	  0720	
;	  0721	    selectone .PROTOCOL of
;	  0722		set
;	  0723		[DDCMP_POINT, DDCMP_DMC] : (DB [L_PROTOCOL] = .PROTOCOL; NM$SUC);
;	  0724		[otherwise] : NE$IPV;
;	  0725		tes
;	  0726	
;	  0727	    end;


						.SBTTL	SET.LINE.PROTOCOL
000000	105765  000014 			SET.LINE.PROTOCOL:
						TSTB	14(R5)				; *(DB)					0719
000004	001003 					BNE	1$
000006	012700  177765 				MOV	#-13,R0
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  29
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (14)

000012	000207 					RTS	PC
000014	005700 				1$:	TST	R0				; PROTOCOL				0721
000016	001403 					BEQ	2$
000020	020027  000004 				CMP	R0,#4				; PROTOCOL,*
000024	001005 					BNE	3$
000026	110065  000010 			2$:	MOVB	R0,10(R5)			; PROTOCOL,*(DB)			0723
000032	012700  000001 				MOV	#1,R0				;					0721
000036	000207 					RTS	PC
000040	012700  177760 			3$:	MOV	#-20,R0
000044	000207 					RTS	PC				;					0683

; Routine Size:  19 words,	Routine Base:  $CODE$ + 1350
; Maximum stack depth per invocation:  0 words
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  30
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (15)

;	  0728	routine SET_LINE_RETRANSMIT_TIMER
;	  0729	
;	  0730	!++
;	  0731	! FUNCTIONAL DESCRIPTION:
;	  0732	!
;	  0733	!
;	  0734	! FORMAL PARAMETERS:
;	  0735	!
;	  0736	       (DB : ref block field (D_FIELDS),
;	  0737		TIME)
;	  0738	!
;	  0739	! IMPLICIT INPUTS:
;	  0740	!	None
;	  0741	!
;	  0742	! IMPLICIT OUTPUTS:
;	  0743	!	None
;	  0744	!
;	  0745	! ROUTINE VALUE:
;	  0746	!
;	  0747		: DCP_DB_NUM =
;	  0748	!
;	  0749	! COMPLETION CODES:
;	  0750	!	None
;	  0751	!
;	  0752	! SIDE EFFECTS:
;	  0753	!	None
;	  0754	!--
;	  0755	
;	  0756	    begin
;	  0757	
;	  0758	    if .TIME<0, 1, 0> neq 0 or
;	  0759		(.TIME<1, 15, 0> mod (1000/2)) neq 0
;	  0760	    then return NE$IPV;
;	  0761	
;	  0762	    DB [L_RETRANSMIT_TIMER] = .TIME<1, 15, 0>/(1000/2);
;	  0763	    NM$SUC
;	  0764	    end;


						.SBTTL	SET.LINE.RETRANSMIT.TIMER
000000	010002 				SET.LINE.RETRANSMIT.TIMER:
						MOV	R0,R2				; *,TIME				0728
000002	032702  000001 				BIT	#1,R2				; *,TIME				0758
000006	001011 					BNE	1$
000010	010201 					MOV	R2,R1				; TIME,*				0759
000012	006201 					ASR	R1
000014	042701  100000 				BIC	#100000,R1
000020	006700 					SXT	R0
000022	071027  000764 				DIV	#764,R0
000026	005701 					TST	R1
000030	001403 					BEQ	2$
000032	012700  177760 			1$:	MOV	#-20,R0				;					0760
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  31
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (15)

000036	000207 					RTS	PC
000040	010201 				2$:	MOV	R2,R1				; TIME,*				0762
000042	006201 					ASR	R1
000044	042701  100000 				BIC	#100000,R1
000050	005000 					CLR	R0
000052	071027  000764 				DIV	#764,R0
000056	010065  000112 				MOV	R0,112(R5)			; *,*(DB)
000062	012700  000001 				MOV	#1,R0				;					0728
000066	000207 					RTS	PC

; Routine Size:  28 words,	Routine Base:  $CODE$ + 1416
; Maximum stack depth per invocation:  0 words
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  32
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (16)

;	  0765	routine SET_LINE_SERVICE_TIMER
;	  0766	
;	  0767	!++
;	  0768	! FUNCTIONAL DESCRIPTION:
;	  0769	!
;	  0770	!
;	  0771	! FORMAL PARAMETERS:
;	  0772	!
;	  0773	       (DB : ref block field (D_FIELDS),
;	  0774		TIME)
;	  0775	!
;	  0776	! IMPLICIT INPUTS:
;	  0777	!	None
;	  0778	!
;	  0779	! IMPLICIT OUTPUTS:
;	  0780	!	None
;	  0781	!
;	  0782	! ROUTINE VALUE:
;	  0783	!
;	  0784		: DCP_DB_NUM =
;	  0785	!
;	  0786	! COMPLETION CODES:
;	  0787	!	None
;	  0788	!
;	  0789	! SIDE EFFECTS:
;	  0790	!	None
;	  0791	!--
;	  0792	
;	  0793	    begin
;	  0794	
;	  0795	    if (.TIME<1, 15, 0> mod 1000) neq 0 or
;	  0796		.TIME<0, 1, 0> neq 0 then return NE$IPV;
;	  0797	
;	  0798	    DB [L_SERVICE_TIMER] = .TIME<1, 15, 0>/(1000/2);
;	  0799	    NM$SUC
;	  0800	    end;


						.SBTTL	SET.LINE.SERVICE.TIMER
000000	010002 				SET.LINE.SERVICE.TIMER:
						MOV	R0,R2				; *,TIME				0765
000002	010201 					MOV	R2,R1				; TIME,*				0795
000004	006201 					ASR	R1
000006	042701  100000 				BIC	#100000,R1
000012	006700 					SXT	R0
000014	071027  001750 				DIV	#1750,R0
000020	005701 					TST	R1
000022	001003 					BNE	1$
000024	032702  000001 				BIT	#1,R2				; *,TIME				0796
000030	001403 					BEQ	2$
000032	012700  177760 			1$:	MOV	#-20,R0
000036	000207 					RTS	PC
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  33
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (16)

000040	010201 				2$:	MOV	R2,R1				; TIME,*				0798
000042	006201 					ASR	R1
000044	042701  100000 				BIC	#100000,R1
000050	005000 					CLR	R0
000052	071027  000764 				DIV	#764,R0
000056	010065  000110 				MOV	R0,110(R5)			; *,*(DB)
000062	012700  000001 				MOV	#1,R0				;					0765
000066	000207 					RTS	PC

; Routine Size:  28 words,	Routine Base:  $CODE$ + 1506
; Maximum stack depth per invocation:  0 words
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  34
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (17)

;	  0801	routine SET_LINE_STATE
;	  0802	
;	  0803	!++
;	  0804	! FUNCTIONAL DESCRIPTION:
;	  0805	!
;	  0806	!
;	  0807	! FORMAL PARAMETERS:
;	  0808	!
;	  0809	       (DB : ref block field (D_FIELDS),
;	  0810		STATE)
;	  0811	!
;	  0812	! IMPLICIT INPUTS:
;	  0813	!	None
;	  0814	!
;	  0815	! IMPLICIT OUTPUTS:
;	  0816	!	None
;	  0817	!
;	  0818	! ROUTINE VALUE:
;	  0819	!
;	  0820		: DCP_DB_NUM =
;	  0821	!
;	  0822	! COMPLETION CODES:
;	  0823	!	None
;	  0824	!
;	  0825	! SIDE EFFECTS:
;	  0826	!	None
;	  0827	!--
;	  0828	
;	  0829	    begin
;	  0830	
;	  0831	    literal
;	  0832		CLEARED = 3,
;	  0833		OFF = 1,
;	  0834		ON = 0,
;	  0835		SERVICE = 2;
;	  0836	
;	  0837	    if .STATE eql .DB [L_LINE_STATE] then return NM$SUC;
;	  0838	
;	  0839	    selectone .STATE of
;	  0840		set
;	  0841		[ON] :
;	  0842		    begin
;	  0843		    DB [L_LINE_STATE] = .STATE;
;	  0844		    DB [DC_SET_REQUESTED_STATE] = TRUE;
;	  0845		    SET_DEVICE (DB [D_TIM]);
;	  0846		    NM$SUC
;	  0847		    end;
;	  0848		[OFF] :
;	  0849		    begin
;	  0850		    DB [L_LINE_STATE] = .STATE;
;	  0851		    SET_LINK (DB [D_TIM], SS_HALTED);
;	  0852		    SET_DEVICE (DB [D_TIM]);
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  35
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (17)

;	  0853		    NM$SUC
;	  0854		    end;
;	  0855		[otherwise] : NE$IPV;
;	  0856		tes
;	  0857	
;	  0858	    end;


						.SBTTL	SET.LINE.STATE
000000	010346 				SET.LINE.STATE:
						MOV	R3,-(SP)			;					0801
000002	010446 					MOV	R4,-(SP)
000004	012701  000014 				MOV	#14,R1				;					0837
000010	060501 					ADD	R5,R1				; DB,*
000012	111102 					MOVB	(R1),R2
000014	020002 					CMP	R0,R2				; STATE,*
000016	001423 					BEQ	2$
000020	005700 					TST	R0				; STATE					0839
000022	001007 					BNE	1$
000024	110011 					MOVB	R0,(R1)				; STATE,*				0843
000026	052765  004000  000006 			BIS	#4000,6(R5)			; *,*(DB)				0844
000034	004767  000000G				JSR	PC,SETDEV			;					0845
000040	000412 					BR	2$				;					0839
000042	020027  000001 			1$:	CMP	R0,#1				; STATE,*
000046	001012 					BNE	3$
000050	110011 					MOVB	R0,(R1)				; STATE,*				0850
000052	005046 					CLR	-(SP)				;					0851
000054	004767  000000G				JSR	PC,SETLNK
000060	004767  000000G				JSR	PC,SETDEV			;					0852
000064	005726 					TST	(SP)+				;					0849
000066	012700  000001 			2$:	MOV	#1,R0				;					0839
000072	000402 					BR	4$
000074	012700  177760 			3$:	MOV	#-20,R0
000100	012604 				4$:	MOV	(SP)+,R4			;					0801
000102	012603 					MOV	(SP)+,R3
000104	000207 					RTS	PC

; Routine Size:  35 words,	Routine Base:  $CODE$ + 1576
; Maximum stack depth per invocation:  4 words
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  36
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (18)

;	  0859	routine SHOW_AND_ZERO_CIRCUIT_COUNTERS
;	  0860	
;	  0861	!++
;	  0862	! FUNCTIONAL DESCRIPTION:
;	  0863	!	This routine writes the counter contents into the NM buffer.
;	  0864	!
;	  0865	! FORMAL PARAMETERS:
;	  0866	!
;	  0867	       (DB : ref block field (D_FIELDS),
;	  0868		CCB : ref block field (C_NM_FIELDS))
;	  0869	!
;	  0870	! IMPLICIT INPUTS:
;	  0871	!	None
;	  0872	!
;	  0873	! IMPLICIT OUTPUTS:
;	  0874	!	None
;	  0875	!
;	  0876	! ROUTINE VALUE:
;	  0877	!
;	  0878		: DCP_DB_CCB =
;	  0879	!
;	  0880	! COMPLETION CODES:
;	  0881	!	None
;	  0882	!
;	  0883	! SIDE EFFECTS:
;	  0884	!	None
;	  0885	!--
;	  0886	
;	  0887	    begin
;	  0888	    $NM_RESPONSE_BEGIN  (.CCB);
;	  0889	    PARAMETER_CIRCUIT_COUNTERS (DB [D_TIM]);
;	  0890	    $NM_RESPONSE_END (.CCB);
;	  0891	    ZERO_CIRCUIT_COUNTERS (DB [D_TIM], .CCB);
;	  0892	    .CCB [C_STS]
;	  0893	    end;


						.GLOBL	$NRBEG, $NREND


						.SBTTL	SHOW.AND.ZERO.CIRCUIT.COUNTERS
000000	004767  000000G			SHOW.AND.ZERO.CIRCUIT.COUNTERS:
						JSR	PC,$NRBEG			;					0888
000004	004767  176474 				JSR	PC,CKCTRS			;					0889
000010	004767  000000G				JSR	PC,$NREND			;					0890
000014	004767  000000V				JSR	PC,ZERO.CIRCUIT.COUNTERS	;					0891
000020	016400  000014 				MOV	14(R4),R0			; *(CCB),*				0859
000024	000207 					RTS	PC

; Routine Size:  11 words,	Routine Base:  $CODE$ + 1704
; Maximum stack depth per invocation:  1 word
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  37
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (19)

;	  0894	routine SHOW_AND_ZERO_LINE_COUNTERS
;	  0895	
;	  0896	!++
;	  0897	! FUNCTIONAL DESCRIPTION:
;	  0898	!	This routine writes the counter contents into the NM buffer.
;	  0899	!
;	  0900	! FORMAL PARAMETERS:
;	  0901	!
;	  0902	       (DB : ref block field (D_FIELDS),
;	  0903		CCB : ref block field (C_NM_FIELDS))
;	  0904	!
;	  0905	! IMPLICIT INPUTS:
;	  0906	!	None
;	  0907	!
;	  0908	! IMPLICIT OUTPUTS:
;	  0909	!	None
;	  0910	!
;	  0911	! ROUTINE VALUE:
;	  0912	!
;	  0913		: DCP_DB_CCB =
;	  0914	!
;	  0915	! COMPLETION CODES:
;	  0916	!	None
;	  0917	!
;	  0918	! SIDE EFFECTS:
;	  0919	!	None
;	  0920	!--
;	  0921	
;	  0922	    begin
;	  0923	    $NM_RESPONSE_BEGIN (.CCB);
;	  0924	    PARAMETER_LINE_COUNTERS (DB [D_TIM]);
;	  0925	    $NM_RESPONSE_END (.CCB);
;	  0926	    ZERO_LINE_COUNTERS (DB [D_TIM], .CCB);
;	  0927	    .CCB [C_STS]
;	  0928	    end;


						.SBTTL	SHOW.AND.ZERO.LINE.COUNTERS
000000	004767  000000G			SHOW.AND.ZERO.LINE.COUNTERS:
						JSR	PC,$NRBEG			;					0923
000004	004767  176716 				JSR	PC,LNCTRS			;					0924
000010	004767  000000G				JSR	PC,$NREND			;					0925
000014	004767  000000V				JSR	PC,ZERO.LINE.COUNTERS		;					0926
000020	016400  000014 				MOV	14(R4),R0			; *(CCB),*				0894
000024	000207 					RTS	PC

; Routine Size:  11 words,	Routine Base:  $CODE$ + 1732
; Maximum stack depth per invocation:  1 word
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  38
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (20)

;	  0929	routine SHOW_CIRCUIT
;	  0930	
;	  0931	!++
;	  0932	! FUNCTIONAL DESCRIPTION:
;	  0933	!
;	  0934	!
;	  0935	! FORMAL PARAMETERS:
;	  0936	!
;	  0937	       (DB : ref block field (D_FIELDS),
;	  0938		CCB : ref block field (C_NM_FIELDS))
;	  0939	!
;	  0940	! IMPLICIT INPUTS:
;	  0941	!	None
;	  0942	!
;	  0943	! IMPLICIT OUTPUTS:
;	  0944	!	None
;	  0945	!
;	  0946	! ROUTINE VALUE:
;	  0947	!
;	  0948		: DCP_DB_CCB =
;	  0949	!
;	  0950	! COMPLETION CODES:
;	  0951	!	None
;	  0952	!
;	  0953	! SIDE EFFECTS:
;	  0954	!	None
;	  0955	!--
;	  0956	
;	  0957	    begin
;	  0958	    $NM_RESPONSE_BEGIN (.CCB);
;	  0959	
;	  0960	    selectone .CCB [C_NM_SELECT] of
;	  0961		set
;	  0962	
;	  0963		[NMX$SEL_sum, NMX$SEL_sta] :
;	  0964		    NMX$PARAMETER_CIRCUIT_USER (.DB [D_NMX_PIX], .DB [L_LINE_ENTITY], 1000);
;	  0965	
;	  0966		[NMX$SEL_cha] :
;	  0967		    begin
;	  0968		    NMX$PARAMETER_CIRCUIT_OWNER (.DB [D_NMX_PIX], .DB [L_LINE_ENTITY], 1100);
;	  0969		    NMX$PARAMETER_LINE (.DB [D_NMX_PIX], .DB [L_LINE_ENTITY], 1110);
;	  0970		    PARAMETER_C_1 (1112, DB [L_PROTOCOL]);	! TYPE
;	  0971		    end;
;	  0972	
;	  0973		[NMX$SEL_cou] :
;	  0974		    PARAMETER_CIRCUIT_COUNTERS (DB [D_TIM]);
;	  0975	
;	  0976		[otherwise] :
;	  0977		    return $NM$ERR_MPE;
;	  0978	
;	  0979		tes;
;	  0980	
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  39
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (20)

;	  0981	    $NM_RESPONSE_END (.CCB);
;	  0982	    .CCB [C_STS]
;	  0983	    end;


						.GLOBL	$NPUSR, $CALLP, $NPOWN, $NPNAM
						.GLOBL	$DPC1


						.SBTTL	SHOW.CIRCUIT
000000	004767  000000G			SHOW.CIRCUIT:
						JSR	PC,$NRBEG			;					0958
000004	016400  000024 				MOV	24(R4),R0			; *(CCB),*				0960
000010	072027  177764 				ASH	#-14,R0
000014	042700  177760 				BIC	#177760,R0
000020	003425 					BLE	1$
000022	020027  000002 				CMP	R0,#2
000026	003022 					BGT	1$
000030	012746  001750 				MOV	#1750,-(SP)			;					0964
000034	016546  000142 				MOV	142(R5),-(SP)			; *(DB),*
000040	012746  002004 				MOV	#2004,-(SP)
000044	012746  000003 				MOV	#3,-(SP)
000050	012746  000000G				MOV	#$NPUSR,-(SP)
000054	005046 					CLR	-(SP)
000056	116516  000100 				MOVB	100(R5),(SP)			; *(DB),*
000062	004767  000000G				JSR	PC,$CALLP
000066	062706  000014 				ADD	#14,SP
000072	000463 					BR	4$				;					0960
000074	020027  000003 			1$:	CMP	R0,#3
000100	001047 					BNE	2$
000102	012746  002114 				MOV	#2114,-(SP)			;					0968
000106	016546  000142 				MOV	142(R5),-(SP)			; *(DB),*
000112	012746  002000 				MOV	#2000,-(SP)
000116	012746  000003 				MOV	#3,-(SP)
000122	012746  000000G				MOV	#$NPOWN,-(SP)
000126	005046 					CLR	-(SP)
000130	116516  000100 				MOVB	100(R5),(SP)			; *(DB),*
000134	004767  000000G				JSR	PC,$CALLP
000140	012716  002126 				MOV	#2126,(SP)			;					0969
000144	016546  000142 				MOV	142(R5),-(SP)			; *(DB),*
000150	012746  001004 				MOV	#1004,-(SP)
000154	012746  000003 				MOV	#3,-(SP)
000160	012746  000000G				MOV	#$NPNAM,-(SP)
000164	005046 					CLR	-(SP)
000166	116516  000100 				MOVB	100(R5),(SP)			; *(DB),*
000172	004767  000000G				JSR	PC,$CALLP
000176	012716  002130 				MOV	#2130,(SP)			;					0970
000202	116500  000010 				MOVB	10(R5),R0			; *(DB),*
000206	004767  000000G				JSR	PC,$DPC1
000212	062706  000026 				ADD	#26,SP				;					0967
000216	000411 					BR	4$				;					0960
000220	020027  000004 			2$:	CMP	R0,#4
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  40
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (20)

000224	001003 					BNE	3$
000226	004767  176176 				JSR	PC,CKCTRS			;					0974
000232	000403 					BR	4$				;					0960
000234	012700  177773 			3$:	MOV	#-5,R0				;					0977
000240	000207 					RTS	PC
000242	004767  000000G			4$:	JSR	PC,$NREND			;					0981
000246	016400  000014 				MOV	14(R4),R0			; *(CCB),*				0929
000252	000207 					RTS	PC

; Routine Size:  86 words,	Routine Base:  $CODE$ + 1760
; Maximum stack depth per invocation:  12 words
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  41
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (21)

;	  0984	routine SHOW_LINE
;	  0985	
;	  0986	!++
;	  0987	! FUNCTIONAL DESCRIPTION:
;	  0988	!
;	  0989	!
;	  0990	! FORMAL PARAMETERS:
;	  0991	!
;	  0992	       (DB : ref block field (D_FIELDS),
;	  0993		CCB : ref block field (C_NM_FIELDS))
;	  0994	!
;	  0995	! IMPLICIT INPUTS:
;	  0996	!	None
;	  0997	!
;	  0998	! IMPLICIT OUTPUTS:
;	  0999	!	None
;	  1000	!
;	  1001	! ROUTINE VALUE:
;	  1002	!
;	  1003		: DCP_DB_CCB =
;	  1004	!
;	  1005	! COMPLETION CODES:
;	  1006	!	None
;	  1007	!
;	  1008	! SIDE EFFECTS:
;	  1009	!	None
;	  1010	!--
;	  1011	
;	  1012	    begin
;	  1013	    $NM_RESPONSE_BEGIN (.CCB);
;	  1014	
;	  1015	    selectone .CCB [C_NM_SELECT] of
;	  1016		set
;	  1017	
;	  1018		[NMX$SEL_sum, NMX$SEL_sta] :
;	  1019		    begin
;	  1020		    PARAMETER_C_1 (0, DB [L_LINE_STATE]);		! STATE
;	  1021		    end;
;	  1022	
;	  1023		[NMX$SEL_cha] :
;	  1024		    begin
;	  1025	
;	  1026		    local
;	  1027			PRM;
;	  1028	
;	  1029		    NMX$PARAMETER_LINE (.DB [D_NMX_PIX], .DB [L_LINE_ENTITY], 1100);
;	  1030								! DEVICE
;	  1031		    PARAMETER_C_1 (1110, DB [L_CONTROLLER]);	! CONTROLLER
;	  1032		    PARAMETER_C_1 (1111, DB [L_DUPLEX]);	! DUPLEX
;	  1033		    PARAMETER_C_1 (1112, DB [L_PROTOCOL]);	! PROTOCOL
;	  1034		    PARAMETER_C_1 (1113, DB [L_CLOCK]);		! CLOCK
;	  1035		    PRM = .DB [L_SERVICE_TIMER]*1000;
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  42
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (21)

;	  1036		    PARAMETER_DU_2 (1120, PRM);			! SERVICE TIMER
;	  1037		    PRM = .DB [L_RETRANSMIT_TIMER]*1000;
;	  1038		    PARAMETER_DU_2 (1121, PRM);			! RETRANSMIT TIMER
;	  1039	
;	  1040		    if .DB [K_REGISTER] neqa 0
;	  1041		    then
;	  1042			begin
;	  1043			PARAMETER_O_2 (2650, DB [K_REGISTER]);
;	  1044			PARAMETER_O_2 (2651, DB [D_REGISTER]);
;	  1045			PARAMETER_O_2 (2655, DB [K_VECTOR]);
;	  1046			PARAMETER_DU_1 (2660, DB [K_PRIORITY]);
;	  1047			end;
;	  1048	
;	  1049		    end;
;	  1050	
;	  1051		[NMX$SEL_cou] :
;	  1052		    PARAMETER_LINE_COUNTERS (DB [D_TIM]);
;	  1053	
;	  1054		[otherwise] :
;	  1055		    return $NM$ERR_MPE;
;	  1056	
;	  1057		tes;
;	  1058	
;	  1059	    $NM_RESPONSE_END (.CCB);
;	  1060	    .CCB [C_STS]
;	  1061	    end;


						.GLOBL	$DPDU2, $DPO2, $DPDU1


						.SBTTL	SHOW.LINE
000000	004767  000000G			SHOW.LINE:
						JSR	PC,$NRBEG			;					1013
000004	016400  000024 				MOV	24(R4),R0			; *(CCB),*				1015
000010	072027  177764 				ASH	#-14,R0
000014	042700  177760 				BIC	#177760,R0
000020	003412 					BLE	1$
000022	020027  000002 				CMP	R0,#2
000026	003007 					BGT	1$
000030	005046 					CLR	-(SP)				;					1020
000032	116500  000014 				MOVB	14(R5),R0			; *(DB),*
000036	004767  000000G				JSR	PC,$DPC1
000042	005726 					TST	(SP)+				;					1019
000044	000541 					BR	5$				;					1015
000046	020027  000003 			1$:	CMP	R0,#3
000052	001125 					BNE	3$
000054	012746  002114 				MOV	#2114,-(SP)			;					1029
000060	016546  000142 				MOV	142(R5),-(SP)			; *(DB),*
000064	012746  001004 				MOV	#1004,-(SP)
000070	012746  000003 				MOV	#3,-(SP)
000074	012746  000000G				MOV	#$NPNAM,-(SP)
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  43
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (21)

000100	005046 					CLR	-(SP)
000102	116516  000100 				MOVB	100(R5),(SP)			; *(DB),*
000106	004767  000000G				JSR	PC,$CALLP
000112	012716  002126 				MOV	#2126,(SP)			;					1031
000116	116500  000011 				MOVB	11(R5),R0			; *(DB),*
000122	004767  000000G				JSR	PC,$DPC1
000126	012716  002127 				MOV	#2127,(SP)			;					1032
000132	116500  000012 				MOVB	12(R5),R0			; *(DB),*
000136	004767  000000G				JSR	PC,$DPC1
000142	012716  002130 				MOV	#2130,(SP)			;					1033
000146	116500  000010 				MOVB	10(R5),R0			; *(DB),*
000152	004767  000000G				JSR	PC,$DPC1
000156	012716  002131 				MOV	#2131,(SP)			;					1034
000162	116500  000013 				MOVB	13(R5),R0			; *(DB),*
000166	004767  000000G				JSR	PC,$DPC1
000172	016501  000110 				MOV	110(R5),R1			; *(DB),*				1035
000176	070127  001750 				MUL	#1750,R1
000202	012716  002140 				MOV	#2140,(SP)			;					1036
000206	010100 					MOV	R1,R0				; PRM,*
000210	004767  000000G				JSR	PC,$DPDU2
000214	016501  000112 				MOV	112(R5),R1			; *(DB),*				1037
000220	070127  001750 				MUL	#1750,R1
000224	012716  002141 				MOV	#2141,(SP)			;					1038
000230	010100 					MOV	R1,R0				; PRM,*
000232	004767  000000G				JSR	PC,$DPDU2
000236	016500  000102 				MOV	102(R5),R0			; *(DB),*				1040
000242	001426 					BEQ	2$
000244	012716  005132 				MOV	#5132,(SP)			;					1043
000250	004767  000000G				JSR	PC,$DPO2
000254	012716  005133 				MOV	#5133,(SP)			;					1044
000260	016500  000106 				MOV	106(R5),R0			; *(DB),*
000264	004767  000000G				JSR	PC,$DPO2
000270	012716  005137 				MOV	#5137,(SP)			;					1045
000274	016500  000104 				MOV	104(R5),R0			; *(DB),*
000300	004767  000000G				JSR	PC,$DPO2
000304	012716  005144 				MOV	#5144,(SP)			;					1046
000310	116500  000101 				MOVB	101(R5),R0			; *(DB),*
000314	004767  000000G				JSR	PC,$DPDU1
000320	062706  000014 			2$:	ADD	#14,SP				;					1024
000324	000411 					BR	5$				;					1015
000326	020027  000004 			3$:	CMP	R0,#4
000332	001003 					BNE	4$
000334	004767  176064 				JSR	PC,LNCTRS			;					1052
000340	000403 					BR	5$				;					1015
000342	012700  177773 			4$:	MOV	#-5,R0				;					1055
000346	000207 					RTS	PC
000350	004767  000000G			5$:	JSR	PC,$NREND			;					1059
000354	016400  000014 				MOV	14(R4),R0			; *(CCB),*				0984
000360	000207 					RTS	PC

; Routine Size:  121 words,	Routine Base:  $CODE$ + 2234
; Maximum stack depth per invocation:  7 words
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  44
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (22)

;	  1062	routine SHOW_SUCCESS
;	  1063	
;	  1064	!++
;	  1065	! FUNCTIONAL DESCRIPTION:
;	  1066	!
;	  1067	!
;	  1068	! FORMAL PARAMETERS:
;	  1069	!
;	  1070	       (DB : ref block field (D_FIELDS),
;	  1071		CCB : ref block field (C_NM_FIELDS))
;	  1072	!
;	  1073	! IMPLICIT INPUTS:
;	  1074	!	None
;	  1075	!
;	  1076	! IMPLICIT OUTPUTS:
;	  1077	!	None
;	  1078	!
;	  1079	! ROUTINE VALUE:
;	  1080	!
;	  1081		: DCP_DB_CCB =
;	  1082	!
;	  1083	! COMPLETION CODES:
;	  1084	!	None
;	  1085	!
;	  1086	! SIDE EFFECTS:
;	  1087	!	None
;	  1088	!--
;	  1089	
;	  1090	    begin
;	  1091	    CCB [C_CNT] = 0;
;	  1092	    NM$SUC
;	  1093	    end;


						.SBTTL	SHOW.SUCCESS
000000	005064  000022 			SHOW.SUCCESS:
						CLR	22(R4)				; *(CCB)				1091
000004	012700  000001 				MOV	#1,R0				;					1062
000010	000207 					RTS	PC

; Routine Size:  5 words,	Routine Base:  $CODE$ + 2616
; Maximum stack depth per invocation:  0 words
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  45
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (23)

;	  1094	routine SUCCESS
;	  1095	
;	  1096	!++
;	  1097	! FUNCTIONAL DESCRIPTION:
;	  1098	!
;	  1099	!
;	  1100	! FORMAL PARAMETERS:
;	  1101	!
;	  1102	       (DB : ref block field (D_FIELDS),
;	  1103		CCB : ref block field (C_NM_FIELDS))
;	  1104	!
;	  1105	! IMPLICIT INPUTS:
;	  1106	!	None
;	  1107	!
;	  1108	! IMPLICIT OUTPUTS:
;	  1109	!	None
;	  1110	!
;	  1111	! ROUTINE VALUE:
;	  1112	!
;	  1113		: DCP_DB_CCB =
;	  1114	!
;	  1115	! COMPLETION CODES:
;	  1116	!	None
;	  1117	!
;	  1118	! SIDE EFFECTS:
;	  1119	!	None
;	  1120	!--
;	  1121	
;	  1122	    begin
;	  1123	    NM$SUC
;	  1124	    end;


						.SBTTL	SUCCESS
000000	012700  000001 			SUCCESS:MOV	#1,R0				;					1094
000004	000207 					RTS	PC

; Routine Size:  3 words,	Routine Base:  $CODE$ + 2630
; Maximum stack depth per invocation:  0 words
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  46
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (24)

;	  1125	routine ZERO_CIRCUIT_COUNTERS
;	  1126	
;	  1127	!++
;	  1128	! FUNCTIONAL DESCRIPTION:
;	  1129	!
;	  1130	!
;	  1131	! FORMAL PARAMETERS:
;	  1132	!
;	  1133	       (DB : ref block field (D_FIELDS),
;	  1134		CCB : ref block field (C_FIELDS))
;	  1135	!
;	  1136	! IMPLICIT INPUTS:
;	  1137	!	None
;	  1138	!
;	  1139	! IMPLICIT OUTPUTS:
;	  1140	!	None
;	  1141	!
;	  1142	! ROUTINE VALUE:
;	  1143	!
;	  1144		: DCP_DB_CCB =
;	  1145	!
;	  1146	! COMPLETION CODES:
;	  1147	!	None
;	  1148	!
;	  1149	! SIDE EFFECTS:
;	  1150	!	None
;	  1151	!--
;	  1152	
;	  1153	    begin
;	  1154	    COUNTER_ZERO (DB, S_BYTES_RECEIVED);
;	  1155	    COUNTER_ZERO (DB, S_BYTES_TRANSMITTED);
;	  1156	    COUNTER_ZERO (DB, S_DATA_BLOCKS_RECEIVED);
;	  1157	    COUNTER_ZERO (DB, S_DATA_BLOCKS_TRANSMITTED);
;	  1158	    COUNTER_ZERO (DB, S_DATA_ERRORS_INBOUND, 8);
;	  1159	    COUNTER_ZERO (DB, S_DATA_ERRORS_OUTBOUND, 8);
;	  1160	    COUNTER_ZERO (DB, S_REMOTE_REPLY_TIMEOUTS);
;	  1161	    COUNTER_ZERO (DB, S_LOCAL_REPLY_TIMEOUTS);
;	  1162	    COUNTER_ZERO (DB, S_REMOTE_BUFFER_ERRORS, 8);
;	  1163	    COUNTER_ZERO (DB, S_LOCAL_BUFFER_ERRORS, 8);
;	  1164	    COUNTER_ZERO (DB, S_SELECTION_INTERVALS);
;	  1165	    COUNTER_ZERO (DB, S_SELECTION_TIMEOUTS, 8);
;	  1166	    NM$SUC
;	  1167	    end;


						.SBTTL	ZERO.CIRCUIT.COUNTERS
000000	005065  000020 			ZERO.CIRCUIT.COUNTERS:
						CLR	20(R5)				; *(DB)					1154
000004	005065  000022 				CLR	22(R5)				; *(DB)
000010	005065  000024 				CLR	24(R5)				; *(DB)					1155
000014	005065  000026 				CLR	26(R5)				; *(DB)
000020	005065  000030 				CLR	30(R5)				; *(DB)					1156
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  47
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (24)

000024	005065  000032 				CLR	32(R5)				; *(DB)
000030	005065  000034 				CLR	34(R5)				; *(DB)					1157
000034	005065  000036 				CLR	36(R5)				; *(DB)
000040	005065  000044 				CLR	44(R5)				; *(DB)					1158
000044	005065  000042 				CLR	42(R5)				; *(DB)					1159
000050	105065  000055 				CLRB	55(R5)				; *(DB)					1160
000054	105065  000054 				CLRB	54(R5)				; *(DB)					1161
000060	005065  000050 				CLR	50(R5)				; *(DB)					1162
000064	005065  000046 				CLR	46(R5)				; *(DB)					1163
000070	005065  000040 				CLR	40(R5)				; *(DB)					1164
000074	005065  000052 				CLR	52(R5)				; *(DB)					1165
000100	012700  000001 				MOV	#1,R0				;					1125
000104	000207 					RTS	PC

; Routine Size:  35 words,	Routine Base:  $CODE$ + 2636
; Maximum stack depth per invocation:  0 words
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  48
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (25)

;	  1168	routine ZERO_LINE_COUNTERS
;	  1169	
;	  1170	!++
;	  1171	! FUNCTIONAL DESCRIPTION:
;	  1172	!
;	  1173	!
;	  1174	! FORMAL PARAMETERS:
;	  1175	!
;	  1176	       (DB : ref block field (D_FIELDS),
;	  1177		CCB : ref block field (C_FIELDS))
;	  1178	!
;	  1179	! IMPLICIT INPUTS:
;	  1180	!	None
;	  1181	!
;	  1182	! IMPLICIT OUTPUTS:
;	  1183	!	None
;	  1184	!
;	  1185	! ROUTINE VALUE:
;	  1186	!
;	  1187		: DCP_DB_CCB =
;	  1188	!
;	  1189	! COMPLETION CODES:
;	  1190	!	None
;	  1191	!
;	  1192	! SIDE EFFECTS:
;	  1193	!	None
;	  1194	!--
;	  1195	
;	  1196	    begin
;	  1197	    $NM_TIME (DB [L_TIME_LINE_ZEROED]);
;	  1198	    COUNTER_ZERO (DB, L_REMOTE_STATION_ERRORS, 8);
;	  1199	    COUNTER_ZERO (DB, L_LOCAL_STATION_ERRORS, 8);
;	  1200	    NM$SUC
;	  1201	    end;


						.GLOBL	$ST32


						.SBTTL	ZERO.LINE.COUNTERS
000000	010500 				ZERO.LINE.COUNTERS:
						MOV	R5,R0				; DB,*					1197
000002	062700  000056 				ADD	#56,R0
000006	004767  000000G				JSR	PC,$ST32
000012	005065  000062 				CLR	62(R5)				; *(DB)					1198
000016	005065  000064 				CLR	64(R5)				; *(DB)					1199
000022	012700  000001 				MOV	#1,R0				;					1168
000026	000207 					RTS	PC

; Routine Size:  12 words,	Routine Base:  $CODE$ + 2744
; Maximum stack depth per invocation:  1 word
;	  1202	end
DCPNMX								25-Jan-1983 10:00:23	TOPS-20 Bliss-16 3(552)		    Page  49
X01140								30-Dec-1982 02:28:54	NETPKG:<DRIVERS>DCPNMX.B16.10 (25)

;	  1203	eludom



;					OTS external references
						.GLOBL	$SAVE5, $SAVE2


;					PSECT SUMMARY
;
;	Psect Name			Words	  Attributes
;	 $PLIT$				   51	    RO ,  D  ,  LCL,  REL,  CON
;	 $CODE$				  766	    RO ,  I  ,  LCL,  REL,  CON




;				LIBRARY STATISTICS
;
;					     -------- Symbols --------    Blocks
;	File				     Total    Loaded   Percent      Read
;
;  NETPKG:<V3P0>MCBLIB.L16.7		       372        35         9         0
;  NETPKG:<MCB>XPORTX.L16.15		       599         3         0         0
;  NETPKG:<MCB>NMXLIB.L16.13		       200        52        26         0
;  NETPKG:<DRIVERS>DCPDAT.L16.2		       186       119        63         0





; Size:		766 code + 51 data words
; Run Time:	   00:13.4
; Elapsed Time:	   00:45.1
; Memory Used:	40 pages
; Compilation Complete
BLISS16				   3
BUF_PTR				 521	 526#	 527	 529
BYT$STRING_SHORT		 527	 529
CCB				 181	 201	 216	 236	 252	 272	 278	 281	 297	 324#	 329#	 330
				 372	 468	 499	 525	 526	 868	 888	 890	 891	 892	 903	 923
				 925	 926	 927	 938	 958	 960	 981	 982	 993	1013	1015	1059
				1060	1071	1091#	1103	1134	1177
CLEARED				 832#
CLEAR_CIRCUIT			  89	 173*	 286
CLEAR_LINE			  90	 207*	 305
CLOCK				 555	 582	 586
CONTROLLER			 602	 629	 633
COUNTER_16_TIME			 455
COUNTER_32			 418	 419	 420	 421
COUNTER_8			 424	 425	 428
COUNTER_8_BM			 422	 423	 426	 427	 429	 456	 457
COUNTER_ZERO			1154	1155	1156	1157	1158	1159	1160	1161	1162	1163	1164	1165
				1198	1199
C_ADDR				 526
C_BIAS				 525
C_CNT				 201	 236	1091
C_FIELDS			 468	1134	1177
C_FNC				 329
C_LIX				 272
C_NM_ENTITY			 278
C_NM_FIELDS			 181	 216	 252	 372	 499	 868	 903	 938	 993	1071	1103
C_NM_FUNC			 281	 297
C_NM_SELECT			 960	1015
C_STS				 324	 892	 927	 982	1060
DATA_ID				 522	 527	 528#	 532
DATA_VALUE			 523	 529	 534	 535	 537	 538	 539	 540
DB				 164#	 180	 215	 251	 324	 371	 401	 418	 419	 420	 421	 422
				 423	 424	 425	 426	 427	 428	 429	 438	 455	 456	 457	 467
				 498	 534	 535	 537	 538	 539	 540	 554	 580	 586#	 601	 627
				 633#	 648	 674	 678#	 691	 719	 723#	 736	 762#	 773	 798#	 809
				 837	 843#	 844#	 845	 850#	 851	 852	 867	 889	 891	 902	 924
				 926	 937	 964	 968	 969	 970	 974	 992	1020	1029	1031	1032
				1033	1034	1035	1037	1040	1043	1044	1045	1046	1052	1070	1102
				1133	1154	1155	1156	1157	1158	1159	1160	1161	1162	1163	1164
				1165	1176	1197	1198	1199
DB_BIAS				 165#	 530
DCPNMX				   1#
DCPNM				  85	 242*
DCP_DB				  78#	 156	 157
DCP_DB_CCB			  80#	  85	  89	  90	  92	  93	  94	 102	 103	 104	 105	 106
				 107	 108	 109	 191#	 226#	 262#	 324	 382#	 478#	 509#	 878#	 913#
				 948#	1003#	1081#	1113#	1144#	1187#
DCP_DB_NUM			  82#	  95	  96	  97	  98	  99	 100	 101	 565#	 612#	 659#	 702#
				 747#	 784#	 820#
DCP_K_LINE_OWNER		 301
DCP_K_LINE_PROVIDER		 302	 305	 308	 311	 314
DCP_K_NMID_HIGH			 300	 304	 307	 310	 313
DC_SET_REQUESTED_STATE		 844
DDCMP_CONTROL			 715#
DDCMP_DMC			 717#	 723
DDCMP_POINT			 714#	 723
DDCMP_TRIBUTARY			 716#
DL_ON				 580	 627	 674	 719
DUPLEX				 649	 676	 678
D_FIELDS			 172	 180	 215	 251	 371	 401	 438	 467	 498	 554	 601	 648
				 691	 736	 773	 809	 867	 902	 937	 992	1070	1102	1133	1176
D_NMX_PIX			 964	 968	 969	1029
D_REGISTER			1044
D_TIM				 324	 534	 535	 537	 538	 539	 540	 845	 851	 852	 889	 891
				 924	 926	 974	1052
ENTITY				 127	 128	 129	 130	 131	 133	 134	 135	 136	 137	 138	 139
				 140
EXTERN				 577#	 584
FALSE				 121#
FC_CCP				 329
FULL				 671#	 678
GET_DCP_DATA_BASE		 168#
HALF				 672#	 678
IDENTIFY_PARAMETER		  91	 332*	 528
INDEX				 358	 360
INTERN				 578#	 584
K_PRIORITY			1046
K_REGISTER			1040	1043
K_VECTOR			1045
LANGUAGE			   3
LINE				 142
LINE_MAXIMUM			 532
LINE_MINIMUM			 532
LINE_NUMBERS			 528
LINE_0				 534
LINE_1110			 535
LINE_1112			 537
LINE_1113			 538
LINE_1120			 539
LINE_1121			 540
LINKAGE_DB			  86	 411#	 448#
LIX				 272#	 300	 304	 307	 310	 313
LOOPBACK			 624#	 631
L_CLOCK				 586	1034
L_CONTROLLER			 633	1031
L_DUPLEX			 678	1032
L_LINE_ENTITY			 964	 968	 969	1029
L_LINE_STATE			 580	 627	 674	 719	 837	 843	 850	1020
L_LOCAL_STATION_ERRORS		 457	1199
L_PROTOCOL			 723	 970	1033
L_REMOTE_STATION_ERRORS		 456	1198
L_RETRANSMIT_TIMER		 762	1037
L_SERVICE_TIMER			 798	1035
L_TIME_LINE_ZEROED		 455	1197
MANAGEMENT_PROGRAMMING_ERROR	  92	 294	 316	 320	 364*
MAP$				 525	 530
MCB$GAW_PROCESS_DATA_BASE	 160	 164	 165	 171
MCB$GW_PROCESS_HANDLE		 161
NAME				 168	 169	 170	 171#
NE$CWS				 580	 627	 674	 719
NE$IPV				 589	 636	 679	 724	 760	 796	 855
NE$PNA				 205	 240	 488	 542
NM$SUC				 203	 238	 587	 634	 678	 723	 763	 799	 837	 846	 853	1092
				1123	1166	1200
NMX$ENT_CKT			 280
NMX$ENT_HI			 278
NMX$ENT_LIN			 296
NMX$ENT_LO			 278
NMX$FNC_CLR			 285	 303
NMX$FNC_HI			 281	 297
NMX$FNC_LO			 281	 297
NMX$FNC_SET			 283	 299
NMX$FNC_SHO			 289	 309
NMX$FNC_SZC			 291	 312
NMX$FNC_ZRO			 287	 306
NMX$PARAMETER_CIRCUIT_OWNER	 968
NMX$PARAMETER_CIRCUIT_USER	 964
NMX$PARAMETER_LINE		 969	1029
NMX$SEL_CHA			 966	1023
NMX$SEL_COU			 973	1051
NMX$SEL_STA			 963	1018
NMX$SEL_SUM			 963	1018
NORMAL				 625#	 631
NO_OPERATION			 122#
NUMBER				 127	 128	 129	 130	 131	 132	 340	 360
OFF				 833#	 848
ON				 834#	 841
PARAMETER_CIRCUIT_COUNTERS	  86	 394*	 889	 974
PARAMETER_C_1			 970	1020	1031	1032	1033	1034
PARAMETER_DU_1			1046
PARAMETER_DU_2			1036	1038
PARAMETER_LINE_COUNTERS		 431*	 924	1052
PARAMETER_O_2			1043	1044	1045
PRM				1027	1035#	1036	1037#	1038
PROTOCOL			 692	 721	 723
RTN				 275	 277#	 324
SERVICE				 835#
SET_CIRCUIT			  93	 284	 459*
SET_DEVICE			 156*	 845	 852
SET_LINE			  94	 301	 302	 490*
SET_LINE_CLOCK			  95	 538	 546*
SET_LINE_CONTROLLER		  96	 535	 593*
SET_LINE_DUPLEX			  97	 640*
SET_LINE_PROTOCOL		  98	 537	 683*
SET_LINE_RETRANSMIT_TIMER	  99	 540	 728*
SET_LINE_SERVICE_TIMER		 100	 539	 765*
SET_LINE_STATE			 101	 534	 801*
SET_LINK			 157	 851
SHOW_AND_ZERO_CIRCUIT_COUNTERS	 102	 292	 859*
SHOW_AND_ZERO_LINE_COUNTERS	 103	 314	 894*
SHOW_CIRCUIT			 104	 290	 929*
SHOW_LINE			 105	 311	 984*
SHOW_SUCCESS			 106	 310	 313	1062*
SS_HALTED			 851
STATE				 810	 837	 839	 843	 850
SUCCESS				 107	 300	 304	 307	1094*
S_BYTES_RECEIVED		 418	1154
S_BYTES_TRANSMITTED		 419	1155
S_DATA_BLOCKS_RECEIVED		 420	1156
S_DATA_BLOCKS_TRANSMITTED	 421	1157
S_DATA_ERRORS_INBOUND		 422	1158
S_DATA_ERRORS_OUTBOUND		 423	1159
S_LOCAL_BUFFER_ERRORS		 427	1163
S_LOCAL_REPLY_TIMEOUTS		 425	1161
S_REMOTE_BUFFER_ERRORS		 426	1162
S_REMOTE_REPLY_TIMEOUTS		 424	1160
S_SELECTION_INTERVALS		 428	1164
S_SELECTION_TIMEOUTS		 429	1165
TABLE				 341	 358	 360	 362
TABLE$				 300	 304	 307	 310	 313
TIME				 737	 758	 759	 762	 774	 795	 796	 798
TRUE				 120#	 844
ZERO_CIRCUIT_COUNTERS		 108	 288	 891	1125*
ZERO_LINE_COUNTERS		 109	 308	 926	1168*
$DCP_LINE_PARAMETERS		 125#	 142
$DCP_PARAMETERS			 133#	 142
$DCP_PARAMETER_NAMES		 127#	 134#
$DCP_PARAMETER_NAME_LIST	 129#	 136	 138
$DCP_PARAMETER_NUMBER_LIST	 131#	 140
$DSPCR				 149*
$MCB_SCHEDULE_CCB		 330
$NM$ERR_MPE			 392	 977	1055
$NM_RESPONSE_BEGIN		 888	 923	 958	1013
$NM_RESPONSE_END		 890	 925	 981	1059
$NM_TIME			1197
%REMAINING			 134	 136	 138	 140