Trailing-Edge
-
PDP-10 Archives
-
BB-P363B-SM_1985
-
mcb/drivers/dtenmx.lst
There are no other files named dtenmx.lst in the archive.
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page   1
								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (1)
;	  0001	module DTENMX (	! DTE20 Driver Network Management
;	  0002			ident = 'X01130',
;	  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 DTE Driver
;	  0031	!
;	  0032	! ABSTRACT:
;	  0033	!
;	  0034	!	This module contains the DTE driver Network Management routines.
;	  0035	!
;	  0036	! ENVIRONMENT: MCB V3.2
;	  0037	!
;	  0038	! AUTHOR: Alan D. Peckham	CREATION DATE: 3-Mar-81
;	  0039	!
;	  0040	! MODIFIED BY:
;	  0041	!
;	  0042	!	Alan D. Peckham, 3-Mar-81: Version 1
;	  0043	! 01	- Split off from DTE module.
;	  0044	! 02	- Identify line and circuit to NMX in SET_DTE_DEVICE.
;	  0045	! 03	- Correct dispatches in DTENM.
;	  0046	!	  Get counters from unmapped data base.
;	  0047	! 04	- Correct interaction between line state and protocol state.
;	  0048	! 05	- Optimize out useless code.
;	  0049	! 06	- Use NMX$PARAMETER routines.
;	  0050	!	  Move line counters to circuit counters.
;	  0051	! 07	- Update to NM V3.0 .
;	  0052	!	  Fix circuit handling to call the zero counter routines.
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page   2
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (1)
;	  0053	!	  (found by LEAPLINE).
;	  0054	! 08	- Remove 'counters zeroed' event.
;	  0055	! 09	- Display pause timeout value in LINE CHARACTERISTICS.
;	  0056	! 10	- Support new system specific line counters (2500,2501,2502).
;	  0057	! 12	- fix output of parameter #1110 in CIRCUIT CHARACTERISTICS.
;	  0058	! 13	- Add seconds-since-last-zeroed support for line.
;	  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 'DTEDAT';
;	  0072	
;	  0073	!
;	  0074	! TABLE OF CONTENTS:
;	  0075	!
;	  0076	
;	  0077	linkage
;	  0078	    DTE_DB = jsr (register = 5),
;	  0079	    DTE_DB_NUM = jsr (register = 5, register = 0);
;	  0080	
;	  0081	forward routine
;	  0082	    CLEAR_CIRCUIT : LINKAGE_CCB,
;	  0083	    CLEAR_LINE : LINKAGE_CCB,
;	  0084	    DTENM : MCB_CCB novalue,
;	  0085	    PARAMETER_CIRCUIT_COUNTERS : LINKAGE_DB novalue,
;	  0086	    PARAMETER_LINE_COUNTERS : LINKAGE_DB novalue,
;	  0087	    SET_CIRCUIT : LINKAGE_CCB,
;	  0088	    SET_LINE : LINKAGE_CCB,
;	  0089	    SET_LINE_STATE : DTE_DB_NUM,
;	  0090	    SHOW_AND_ZERO_CIRCUIT_COUNTERS : LINKAGE_CCB,
;	  0091	    SHOW_AND_ZERO_LINE_COUNTERS : LINKAGE_CCB,
;	  0092	    SHOW_CIRCUIT : LINKAGE_CCB,
;	  0093	    SHOW_LINE : LINKAGE_CCB,
;	  0094	    SHOW_SUCCESS : LINKAGE_CCB,
;	  0095	    SUCCESS : LINKAGE_CCB,
;	  0096	    ZERO_CIRCUIT_COUNTERS : LINKAGE_CCB,
;	  0097	    ZERO_LINE_COUNTERS : LINKAGE_CCB;
;	  0098	
;	  0099	!
;	  0100	! MACROS:
;	  0101	!
;	  0102	!	None
;	  0103	!
;	  0104	! EQUATED SYMBOLS:
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page   3
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (1)
;	  0105	!
;	  0106	
;	  0107	literal
;	  0108	    TRUE = 1 EQL 1,
;	  0109	    FALSE = 1 EQL 0,
;	  0110	    NO_OPERATION = 0;
;	  0111	
;	  0112	!
;	  0113	! OWN STORAGE:
;	  0114	!
;	  0115	
;	  0116	external routine
;	  0117	    $DSPCR : novalue;
;	  0118	
;	  0119	!
;	  0120	! EXTERNAL REFERENCES:
;	  0121	!
;	  0122	
;	  0123	linkage
;	  0124	    LNK_DB = jsr (register = 5) : nopreserve (0, 1, 2, 3, 4);
;	  0125	
;	  0126	external routine
;	  0127	    DTEIN : MCB_INTERRUPT novalue,
;	  0128	    DTESTP : LNK_DB novalue,
;	  0129	    DTESTR : LNK_DB novalue;
;	  0130	
;	  0131	external
;	  0132	    MCB$GAW_PROCESS_DATA_BASE : vector [2],
;	  0133	    MCB$GW_PROCESS_HANDLE;
;	  0134	
;	  0135	bind
;	  0136	    DB_BIAS = MCB$GAW_PROCESS_DATA_BASE [0];
;	  0137	
;	  0138	macro
;	M 0139	    GET_DTE_DATA_BASE (NAME) =
;	M 0140		%if %declared (NAME)
;	M 0141		%then map NAME : ref
;	M 0142		%else bind NAME = .MCB$GAW_PROCESS_DATA_BASE [1] :
;	  0143		%fi block field (D_FIELDS); %;
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page   4
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (2)
;	  0144	routine CLEAR_CIRCUIT (CCB) : LINKAGE_CCB =
;	  0145	
;	  0146	!++
;	  0147	! FUNCTIONAL DESCRIPTION:
;	  0148	!
;	  0149	!
;	  0150	! FORMAL PARAMETERS:
;	  0151	!	CCB	Address of CCB
;	  0152	!
;	  0153	! IMPLICIT INPUTS:
;	  0154	!	None
;	  0155	!
;	  0156	! IMPLICIT OUTPUTS:
;	  0157	!	None
;	  0158	!
;	  0159	! ROUTINE VALUE:
;	  0160	!	The appropriate NM status code
;	  0161	!
;	  0162	! COMPLETION CODES:
;	  0163	!	None
;	  0164	!
;	  0165	! SIDE EFFECTS:
;	  0166	!	None
;	  0167	!--
;	  0168	
;	  0169	    begin
;	  0170	    GET_DTE_DATA_BASE (DB)
;	  0171	
;	  0172	    map
;	  0173		CCB: ref block field (C_NM_FIELDS);
;	  0174	
;	  0175	    if .CCB [C_CNT] eql 0
;	  0176	    then
;	  0177		NM$SUC
;	  0178	    else
;	  0179		NE$PNA
;	  0180	
;	  0181	    end;
						.TITLE	DTENMX
						.IDENT	/X01130/
						.GLOBL	$DSPCR, DTEIN, DTESTP, DTESTR
						.GLOBL	.CRDAT, .CRPIX
						.SBTTL	CLEAR.CIRCUIT
000000						.PSECT	$CODE$,  RO 
000000	005764  000022 			CLEAR.CIRCUIT:
						TST	22(R4)				; *(CCB)				0175
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page   5
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (2)
000004	001003 					BNE	1$
000006	012700  000001 				MOV	#1,R0
000012	000207 					RTS	PC
000014	012700  177752 			1$:	MOV	#-26,R0
000020	000207 					RTS	PC				;					0144
; Routine Size:  9 words,	Routine Base:  $CODE$ + 0000
; Maximum stack depth per invocation:  0 words
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page   6
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (3)
;	  0182	routine CLEAR_LINE (CCB) : LINKAGE_CCB =
;	  0183	
;	  0184	!++
;	  0185	! FUNCTIONAL DESCRIPTION:
;	  0186	!
;	  0187	!
;	  0188	! FORMAL PARAMETERS:
;	  0189	!	CCB	Address of CCB
;	  0190	!
;	  0191	! IMPLICIT INPUTS:
;	  0192	!	None
;	  0193	!
;	  0194	! IMPLICIT OUTPUTS:
;	  0195	!	None
;	  0196	!
;	  0197	! ROUTINE VALUE:
;	  0198	!	The appropriate NM status code
;	  0199	!
;	  0200	! COMPLETION CODES:
;	  0201	!	None
;	  0202	!
;	  0203	! SIDE EFFECTS:
;	  0204	!	None
;	  0205	!--
;	  0206	
;	  0207	    begin
;	  0208	    GET_DTE_DATA_BASE (DB)
;	  0209	
;	  0210	    map
;	  0211		CCB: ref block field (C_NM_FIELDS);
;	  0212	
;	  0213	    if .CCB [C_CNT] eql 0
;	  0214	    then
;	  0215		NM$SUC
;	  0216	    else
;	  0217		NE$PNA
;	  0218	
;	  0219	    end;
						.SBTTL	CLEAR.LINE
000000	005764  000022 			CLEAR.LINE:
						TST	22(R4)				; *(CCB)				0213
000004	001003 					BNE	1$
000006	012700  000001 				MOV	#1,R0
000012	000207 					RTS	PC
000014	012700  177752 			1$:	MOV	#-26,R0
000020	000207 					RTS	PC				;					0182
; Routine Size:  9 words,	Routine Base:  $CODE$ + 0022
; Maximum stack depth per invocation:  0 words
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page   7
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (4)
;	  0220	global routine DTENM (CCB) : MCB_CCB novalue =
;	  0221	
;	  0222	!++
;	  0223	! FUNCTIONAL DESCRIPTION:
;	  0224	!	This routine is activated by a control request from
;	  0225	!	Network Management.
;	  0226	!
;	  0227	! FORMAL PARAMETERS:
;	  0228	!	CCB	CCB to pass to handler routine
;	  0229	!
;	  0230	! IMPLICIT INPUTS:
;	  0231	!	CCB Contents
;	  0232	!
;	  0233	! IMPLICIT OUTPUTS:
;	  0234	!	None
;	  0235	!
;	  0236	! ROUTINE VALUE:
;	  0237	! COMPLETION CODES:
;	  0238	!	None
;	  0239	!
;	  0240	! SIDE EFFECTS:
;	  0241	!	None
;	  0242	!--
;	  0243	
;	  0244	    begin
;	  0245	
;	  0246	    map
;	  0247		CCB: ref block field (C_NM_FIELDS);
;	  0248	
;	  0249	    CCB [C_STS] =
;	  0250		begin
;	  0251	
;	  0252		case .CCB [C_NM_ENTITY] from NMX$ENT_lo to NMX$ENT_hi of
;	  0253		    set
;	  0254		    [NMX$ENT_ckt] :			! NM function for
;	  0255			begin				!  CIRCUIT parameter
;	  0256			case .CCB [C_NM_FUNC] from NMX$FNC_lo to NMX$FNC_hi of
;	  0257			    set
;	  0258			    [NMX$FNC_set] :		! Set parameters
;	  0259				SET_CIRCUIT (.CCB);
;	  0260			    [NMX$FNC_clr] :		! Clear parameters
;	  0261				CLEAR_CIRCUIT (.CCB);
;	  0262			    [NMX$FNC_sho] :		! Show selected items
;	  0263				SHOW_CIRCUIT (.CCB);
;	  0264			    [NMX$FNC_zro] :		! Zero counters
;	  0265				ZERO_CIRCUIT_COUNTERS (.CCB);
;	  0266			    [NMX$FNC_szc] :		! Show and zero counters
;	  0267				SHOW_AND_ZERO_CIRCUIT_COUNTERS (.CCB);
;	  0268			    [inrange] :
;	  0269				$NM$ERR_SFS;
;	  0270			    [outrange] :
;	  0271				$NM$ERR_MPE;
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page   8
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (4)
;	  0272			    tes
;	  0273			end;
;	  0274	
;	  0275		    [NMX$ENT_lin] : 			! NM function for
;	  0276			begin				!  LINE parameter
;	  0277			case .CCB [C_NM_FUNC] from NMX$FNC_lo to NMX$FNC_hi of
;	  0278			    set
;	  0279			    [NMX$FNC_set] :		! Set parameters
;	P 0280				DISPATCH$ (.CCB [C_LIX],
;	P 0281				    TABLE$ (SUCCESS, DTE_K_NMID_HIGH,
;	P 0282					(DTE_K_LINE_OWNER, SET_LINE),
;	P 0283					(DTE_K_LINE_PROVIDER, SET_LINE)),
;	  0284				    (.CCB), LINKAGE_CCB);
;	  0285			    [NMX$FNC_clr] :		! Clear parameters
;	P 0286				DISPATCH$ (.CCB [C_LIX],
;	P 0287				    TABLE$ (SUCCESS, DTE_K_NMID_HIGH,
;	P 0288					(DTE_K_LINE_OWNER, CLEAR_LINE),
;	P 0289					(DTE_K_LINE_PROVIDER, CLEAR_LINE)),
;	  0290				    (.CCB), LINKAGE_CCB);
;	  0291			    [NMX$FNC_sho] :		! Show selected items
;	P 0292				DISPATCH$ (.CCB [C_LIX],
;	P 0293				    TABLE$ (SHOW_SUCCESS, DTE_K_NMID_HIGH,
;	P 0294					(DTE_K_LINE_OWNER, SHOW_SUCCESS),
;	P 0295					(DTE_K_LINE_PROVIDER, SHOW_LINE)),
;	  0296				    (.CCB), LINKAGE_CCB);
;	  0297			    [NMX$FNC_zro] :		! Zero counters
;	P 0298				DISPATCH$ (.CCB [C_LIX],
;	P 0299				    TABLE$ (SUCCESS, DTE_K_NMID_HIGH,
;	P 0300					(DTE_K_LINE_OWNER, ZERO_LINE_COUNTERS),
;	P 0301					(DTE_K_LINE_PROVIDER, ZERO_LINE_COUNTERS)),
;	  0302				    (.CCB), LINKAGE_CCB);
;	  0303			    [NMX$FNC_szc] :		! Show and zero counters
;	P 0304				DISPATCH$ (.CCB [C_LIX],
;	P 0305				    TABLE$ (SUCCESS, DTE_K_NMID_HIGH,
;	P 0306					(DTE_K_LINE_PROVIDER, SHOW_AND_ZERO_LINE_COUNTERS)),
;	  0307				    (.CCB), LINKAGE_CCB);
;	  0308			    [inrange] :
;	  0309				$NM$ERR_SFS;
;	  0310			    [outrange] :
;	  0311				$NM$ERR_MPE;
;	  0312			    tes
;	  0313			end;
;	  0314	
;	  0315		    [inrange, outrange] :
;	  0316			$NM$ERR_MPE;
;	  0317	
;	  0318		    tes
;	  0319	
;	  0320		end;
;	  0321	
;	  0322	    CCB [C_FNC] = FC_CCP;
;	  0323	    LLCRS$ (.CCB);
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page   9
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (4)
;	  0324	    end;
000000						.PSECT	$PLIT$,  RO ,  D  
000000	000000V				P.AAD:	.WORD	SET.LINE
000002	000000V					.WORD	SET.LINE
000004	000000V					.WORD	SUCCESS
000006	000022'				P.AAE:	.WORD	CLEAR.LINE
000010	000022'					.WORD	CLEAR.LINE
000012	000000V					.WORD	SUCCESS
000014	000000V				P.AAF:	.WORD	SHOW.LINE
000016	000000V					.WORD	SHOW.SUCCESS
000020	000000V					.WORD	SHOW.SUCCESS
000022	000000V				P.AAG:	.WORD	ZERO.LINE.COUNTERS
000024	000000V					.WORD	ZERO.LINE.COUNTERS
000026	000000V					.WORD	SUCCESS
000030	000000V				P.AAH:	.WORD	SHOW.AND.ZERO.LINE.COUNTERS
000032	000000V					.WORD	SUCCESS
000034	000000V					.WORD	SUCCESS
						.GLOBL	$SCHED
						.SBTTL	DTENM
000044						.PSECT	$CODE$,  RO 
000000	012700  000024 			DTENM:: MOV	#24,R0				;					0252
000004	060400 					ADD	R4,R0				; CCB,*
000006	011001 					MOV	(R0),R1				;					0250
000010	072127  177770 				ASH	#-10,R1
000014	042701  177760 				BIC	#177760,R1
000020	005301 					DEC	R1
000022	020127  000004 				CMP	R1,#4
000026	101052 					BHI	10$
000030	006301 					ASL	R1
000032	066107  000036'				ADD	P.AAA(R1),PC			; Case dispatch
000036	000446 				1$:	BR	10$
000040	111000 				2$:	MOVB	(R0),R0				;					0255
000042	006200 					ASR	R0
000044	042700  177600 				BIC	#177600,R0
000050	005300 					DEC	R0
000052	020027  000005 				CMP	R0,#5
000056	101036 					BHI	10$
000060	006300 					ASL	R0
000062	066007  000050'				ADD	P.AAB(R0),PC			; Case dispatch
000066	000432 				3$:	BR	10$
000070	004767  000000V			4$:	JSR	PC,SET.CIRCUIT			;					0259
000074	000472 					BR	17$				;					0255
000076	004767  177632 			5$:	JSR	PC,CLEAR.CIRCUIT		;					0261
000102	000467 					BR	17$				;					0255
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page  10
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (4)
000104	004767  000000V			6$:	JSR	PC,SHOW.CIRCUIT			;					0263
000110	000464 					BR	17$				;					0255
000112	004767  000000V			7$:	JSR	PC,ZERO.CIRCUIT.COUNTERS	;					0265
000116	000461 					BR	17$				;					0255
000120	004767  000000V			8$:	JSR	PC,SHOW.AND.ZERO.CIRCUIT.COUNTERS ; 					0267
000124	000456 					BR	17$				;					0255
000126	111000 				9$:	MOVB	(R0),R0				;					0276
000130	006200 					ASR	R0
000132	042700  177600 				BIC	#177600,R0
000136	005300 					DEC	R0
000140	020027  000005 				CMP	R0,#5
000144	101003 					BHI	10$
000146	006300 					ASL	R0
000150	066007  000064'				ADD	P.AAC(R0),PC			; Case dispatch
000154	012700  177773 			10$:	MOV	#-5,R0
000160	000440 					BR	17$
000162	005000 				11$:	CLR	R0				;					0284
000164	156400  000010 				BISB	10(R4),R0			; *(CCB),*
000170	004770  000000'				JSR	PC,@P.AAD(R0)
000174	000432 					BR	17$				;					0276
000176	005000 				12$:	CLR	R0				;					0290
000200	156400  000010 				BISB	10(R4),R0			; *(CCB),*
000204	004770  000006'				JSR	PC,@P.AAE(R0)
000210	000424 					BR	17$				;					0276
000212	005000 				13$:	CLR	R0				;					0296
000214	156400  000010 				BISB	10(R4),R0			; *(CCB),*
000220	004770  000014'				JSR	PC,@P.AAF(R0)
000224	000416 					BR	17$				;					0276
000226	005000 				14$:	CLR	R0				;					0302
000230	156400  000010 				BISB	10(R4),R0			; *(CCB),*
000234	004770  000022'				JSR	PC,@P.AAG(R0)
000240	000410 					BR	17$				;					0276
000242	005000 				15$:	CLR	R0				;					0307
000244	156400  000010 				BISB	10(R4),R0			; *(CCB),*
000250	004770  000030'				JSR	PC,@P.AAH(R0)
000254	000402 					BR	17$				;					0276
000256	012700  177746 			16$:	MOV	#-32,R0
000262	010064  000014 			17$:	MOV	R0,14(R4)			; *,*(CCB)				0249
000266	112764  000022  000012 			MOVB	#22,12(R4)			; *,*(CCB)				0322
000274	004767  000000G				JSR	PC,$SCHED			;					0323
000300	000207 					RTS	PC				;					0220
; Routine Size:  97 words,	Routine Base:  $CODE$ + 0044
; Maximum stack depth per invocation:  1 word
000036						.PSECT	$PLIT$,  RO ,  D  
					P.AAA:						; CASE Table for DTENM+0032		0250
000036	000116 					.WORD	116				; [10$]
000040	000070 					.WORD	70				; [9$]
000042	000116 					.WORD	116				; [10$]
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page  11
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (4)
000044	000002 					.WORD	2				; [2$]
000046	000116 					.WORD	116				; [10$]
					P.AAB:						; CASE Table for DTENM+0062		0255
000050	000002 					.WORD	2				; [4$]
000052	000010 					.WORD	10				; [5$]
000054	000024 					.WORD	24				; [7$]
000056	000016 					.WORD	16				; [6$]
000060	000032 					.WORD	32				; [8$]
000062	000170 					.WORD	170				; [16$]
					P.AAC:						; CASE Table for DTENM+0150		0276
000064	000006 					.WORD	6				; [11$]
000066	000022 					.WORD	22				; [12$]
000070	000052 					.WORD	52				; [14$]
000072	000036 					.WORD	36				; [13$]
000074	000066 					.WORD	66				; [15$]
000076	000102 					.WORD	102				; [16$]
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page  12
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (5)
;	  0325	global routine PARAMETER_CIRCUIT_COUNTERS
;	  0326	
;	  0327	!++
;	  0328	! FUNCTIONAL DESCRIPTION:
;	  0329	!
;	  0330	!
;	  0331	! FORMAL PARAMETERS:
;	  0332	       (DB : ref block field (D_FIELDS))
;	  0333	!
;	  0334	! IMPLICIT INPUTS:
;	  0335	!	None
;	  0336	!
;	  0337	! IMPLICIT OUTPUTS:
;	  0338	!	None
;	  0339	!
;	  0340	! ROUTINE VALUE:
;	  0341		: LINKAGE_DB novalue =
;	  0342	!
;	  0343	! SIDE EFFECTS:
;	  0344	!	None
;	  0345	!--
;	  0346	
;	  0347	    begin
;	  0348	    COUNTER_32 (1000, DB [D_BYTES_RECEIVED]);
;	  0349	    COUNTER_32 (1001, DB [D_BYTES_SENT]);
;	  0350	    COUNTER_32 (1010, DB [D_DATA_BLOCKS_RECEIVED]);
;	  0351	    COUNTER_32 (1011, DB [D_DATA_BLOCKS_SENT]);
;	  0352	    end;			!of routine PARAMETER_CIRCUIT_COUNTERS
						.GLOBL	$DC32
						.SBTTL	PARAMETER.CIRCUIT.COUNTERS
000346						.PSECT	$CODE$,  RO 
000000	010546 				PARAMETER.CIRCUIT.COUNTERS::
						MOV	R5,-(SP)			;					0325
000002	012746  161750 				MOV	#-16030,-(SP)			;					0348
000006	010500 					MOV	R5,R0				; DB,*
000010	062700  000136 				ADD	#136,R0
000014	004767  000000G				JSR	PC,$DC32
000020	012716  161751 				MOV	#-16027,(SP)			;					0349
000024	010500 					MOV	R5,R0				; DB,*
000026	062700  000142 				ADD	#142,R0
000032	004767  000000G				JSR	PC,$DC32
000036	012716  161762 				MOV	#-16016,(SP)			;					0350
000042	010500 					MOV	R5,R0				; DB,*
000044	062700  000146 				ADD	#146,R0
000050	004767  000000G				JSR	PC,$DC32
000054	012716  161763 				MOV	#-16015,(SP)			;					0351
000060	062705  000152 				ADD	#152,R5				; *,DB
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page  13
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (5)
000064	010500 					MOV	R5,R0
000066	004767  000000G				JSR	PC,$DC32
000072	005726 					TST	(SP)+				;					0347
000074	012605 					MOV	(SP)+,R5			;					0325
000076	000207 					RTS	PC
; Routine Size:  32 words,	Routine Base:  $CODE$ + 0346
; Maximum stack depth per invocation:  3 words
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page  14
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (6)
;	  0353	global routine PARAMETER_LINE_COUNTERS
;	  0354	
;	  0355	!++
;	  0356	! FUNCTIONAL DESCRIPTION:
;	  0357	!
;	  0358	!
;	  0359	! FORMAL PARAMETERS:
;	  0360	       (DB : ref block field (D_FIELDS))
;	  0361	!
;	  0362	! IMPLICIT INPUTS:
;	  0363	!	None
;	  0364	!
;	  0365	! IMPLICIT OUTPUTS:
;	  0366	!	None
;	  0367	!
;	  0368	! ROUTINE VALUE:
;	  0369		: LINKAGE_DB novalue =
;	  0370	!
;	  0371	! SIDE EFFECTS:
;	  0372	!	None
;	  0373	!--
;	  0374	
;	  0375	    begin
;	  0376	    COUNTER_16_TIME (0, DB [D_TIME_LINE_ZEROED]);
;	  0377	
;	  0378	    if .DB [D_CONFIGURATION_ERRORS] neq 0
;	  0379	    then
;	  0380		COUNTER_8_BM (2500, DB [D_CONFIGURATION_ERRORS]);
;	  0381	
;	  0382	    if .DB [D_DEVICE_SERVICE_ERRORS] neq 0
;	  0383	    then
;	  0384		COUNTER_8_BM (2501, DB [D_DEVICE_SERVICE_ERRORS]);
;	  0385	
;	  0386	    if .DB [D_FATAL_DEVICE_ERRORS] neq 0
;	  0387	    then
;	  0388		COUNTER_8_BM (2502, DB [D_FATAL_DEVICE_ERRORS]);
;	  0389	
;	  0390	    end;			!of routine PARAMETER_LINE_COUNTERS
						.GLOBL	$DT16, $DC8B
						.SBTTL	PLN
000000	010146 				PLN::	MOV	R1,-(SP)			;					0353
000002	012746  140000 				MOV	#-40000,-(SP)			;					0376
000006	010500 					MOV	R5,R0				; DB,*
000010	062700  000156 				ADD	#156,R0
000014	004767  000000G				JSR	PC,$DT16
000020	012701  000162 				MOV	#162,R1				;					0378
000024	060501 					ADD	R5,R1				; DB,*
000026	105711 					TSTB	(R1)
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page  15
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (6)
000030	001405 					BEQ	1$
000032	012716  134704 				MOV	#-43074,(SP)			;					0380
000036	011100 					MOV	(R1),R0
000040	004767  000000G				JSR	PC,$DC8B
000044	012701  000164 			1$:	MOV	#164,R1				;					0382
000050	060501 					ADD	R5,R1				; DB,*
000052	105711 					TSTB	(R1)
000054	001405 					BEQ	2$
000056	012716  134705 				MOV	#-43073,(SP)			;					0384
000062	011100 					MOV	(R1),R0
000064	004767  000000G				JSR	PC,$DC8B
000070	012701  000166 			2$:	MOV	#166,R1				;					0386
000074	060501 					ADD	R5,R1				; DB,*
000076	105711 					TSTB	(R1)
000100	001405 					BEQ	3$
000102	012716  134706 				MOV	#-43072,(SP)			;					0388
000106	011100 					MOV	(R1),R0
000110	004767  000000G				JSR	PC,$DC8B
000114	005726 				3$:	TST	(SP)+				;					0375
000116	012601 					MOV	(SP)+,R1			;					0353
000120	000207 					RTS	PC
; Routine Size:  41 words,	Routine Base:  $CODE$ + 0446
; Maximum stack depth per invocation:  3 words
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page  16
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (7)
;	  0391	routine SET_CIRCUIT (CCB) : LINKAGE_CCB =
;	  0392	
;	  0393	!++
;	  0394	! FUNCTIONAL DESCRIPTION:
;	  0395	!
;	  0396	!
;	  0397	! FORMAL PARAMETERS:
;	  0398	!	CCB	Address of CCB
;	  0399	!
;	  0400	! IMPLICIT INPUTS:
;	  0401	!	None
;	  0402	!
;	  0403	! IMPLICIT OUTPUTS:
;	  0404	!	None
;	  0405	!
;	  0406	! ROUTINE VALUE:
;	  0407	!	The appropriate NM status code
;	  0408	!
;	  0409	! COMPLETION CODES:
;	  0410	!	None
;	  0411	!
;	  0412	! SIDE EFFECTS:
;	  0413	!	None
;	  0414	!--
;	  0415	
;	  0416	    begin
;	  0417	    GET_DTE_DATA_BASE (DB)
;	  0418	
;	  0419	    map
;	  0420		CCB: ref block field (C_NM_FIELDS);
;	  0421	
;	  0422	    if .CCB [C_CNT] eql 0
;	  0423	    then
;	  0424		NM$SUC
;	  0425	    else
;	  0426		NE$PNA
;	  0427	
;	  0428	    end;
						.SBTTL	SET.CIRCUIT
000000	005764  000022 			SET.CIRCUIT:
						TST	22(R4)				; *(CCB)				0422
000004	001003 					BNE	1$
000006	012700  000001 				MOV	#1,R0
000012	000207 					RTS	PC
000014	012700  177752 			1$:	MOV	#-26,R0
000020	000207 					RTS	PC				;					0391
; Routine Size:  9 words,	Routine Base:  $CODE$ + 0570
; Maximum stack depth per invocation:  0 words
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page  17
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (8)
;	  0429	routine SET_LINE (CCB) : LINKAGE_CCB =
;	  0430	
;	  0431	!++
;	  0432	! FUNCTIONAL DESCRIPTION:
;	  0433	!
;	  0434	!
;	  0435	! FORMAL PARAMETERS:
;	  0436	!	CCB	Address of CCB
;	  0437	!
;	  0438	! IMPLICIT INPUTS:
;	  0439	!	None
;	  0440	!
;	  0441	! IMPLICIT OUTPUTS:
;	  0442	!	None
;	  0443	!
;	  0444	! ROUTINE VALUE:
;	  0445	!	The appropriate NM status code
;	  0446	!
;	  0447	! COMPLETION CODES:
;	  0448	!	None
;	  0449	!
;	  0450	! SIDE EFFECTS:
;	  0451	!	None
;	  0452	!--
;	  0453	
;	  0454	    begin
;	  0455	    GET_DTE_DATA_BASE (DB)
;	  0456	
;	  0457	    map
;	  0458		CCB: ref block field (C_NM_FIELDS);
;	  0459	
;	  0460	    local
;	  0461		BUF_PTR,
;	  0462		DATA_ID,
;	  0463		DATA_VALUE;
;	  0464	
;	  0465	    if .CCB [C_CNT] eql 0
;	  0466	    then
;	  0467		begin
;	  0468		return NM$SUC;
;	  0469		end;
;	  0470	
;	  0471	    MAP$ (.CCB [C_BIAS]);
;	  0472	    BUF_PTR = .CCB [C_ADDR];
;	  0473	    DATA_ID <0, 8> = ch$rchar_a (BUF_PTR);
;	  0474	    DATA_ID <8, 8> = ch$rchar_a (BUF_PTR);
;	  0475	    DATA_ID = .DATA_ID <0, 12>;
;	  0476	    DATA_VALUE <0, 8> = ch$rchar_a (BUF_PTR);
;	  0477	    DATA_VALUE <8, 8> = ch$rchar_a (BUF_PTR);
;	  0478	    MAP$ (.DB_BIAS);
;	  0479	
;	  0480	    selectone .DATA_ID of
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page  18
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (8)
;	  0481		set
;	  0482		[0] : SET_LINE_STATE (DB [D_TIM], .DATA_VALUE);
;	  0483		[otherwise] : NE$PNA;
;	  0484		tes
;	  0485	
;	  0486	    end;
						.GLOBL	KISAR6
						.SBTTL	SET.LINE
000000	004167  000000G			SET.LINE:
						JSR	R1,$SAVE5			;					0429
000004	005764  000022 				TST	22(R4)				; *(CCB)				0465
000010	001003 					BNE	1$
000012	012700  000001 				MOV	#1,R0				;					0467
000016	000207 					RTS	PC
000020	016467  000016  000000G		1$:	MOV	16(R4),KISAR6			; *(CCB),*				0471
000026	016404  000020 				MOV	20(R4),R4			; *(CCB),BUF.PTR			0472
000032	105005 					CLRB	R5				; DATA.ID				0473
000034	152405 					BISB	(R4)+,R5			; BUF.PTR,DATA.ID
000036	010546 					MOV	R5,-(SP)			; DATA.ID,*				0474
000040	112466  000001 				MOVB	(R4)+,1(SP)			; BUF.PTR,*
000044	012605 					MOV	(SP)+,R5			; *,DATA.ID
000046	042705  170000 				BIC	#170000,R5			; *,DATA.ID				0475
000052	105000 					CLRB	R0				; DATA.VALUE				0476
000054	152400 					BISB	(R4)+,R0			; BUF.PTR,DATA.VALUE
000056	010046 					MOV	R0,-(SP)			; DATA.VALUE,*				0477
000060	112466  000001 				MOVB	(R4)+,1(SP)			; BUF.PTR,*
000064	012600 					MOV	(SP)+,R0			; *,DATA.VALUE
000066	016767  000000G 000000G			MOV	.CRDAT,KISAR6			;					0478
000074	005705 					TST	R5				; DATA.ID				0480
000076	001005 					BNE	2$
000100	016705  000002G				MOV	.CRDAT+2,R5			;					0482
000104	004767  000000V				JSR	PC,SET.LINE.STATE
000110	000207 					RTS	PC				;					0480
000112	012700  177752 			2$:	MOV	#-26,R0
000116	000207 					RTS	PC				;					0429
; Routine Size:  40 words,	Routine Base:  $CODE$ + 0612
; Maximum stack depth per invocation:  7 words
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page  19
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (9)
;	  0487	routine SET_LINE_STATE (DB, STATE) : DTE_DB_NUM =
;	  0488	
;	  0489	!++
;	  0490	! FUNCTIONAL DESCRIPTION:
;	  0491	!
;	  0492	!
;	  0493	! FORMAL PARAMETERS:
;	  0494	!	STATE = (OFF, ON)
;	  0495	!
;	  0496	! IMPLICIT INPUTS:
;	  0497	!	None
;	  0498	!
;	  0499	! IMPLICIT OUTPUTS:
;	  0500	!	None
;	  0501	!
;	  0502	! ROUTINE VALUE:
;	  0503	!	The appropriate NM status code
;	  0504	!
;	  0505	! COMPLETION CODES:
;	  0506	!	None
;	  0507	!
;	  0508	! SIDE EFFECTS:
;	  0509	!	None
;	  0510	!--
;	  0511	
;	  0512	    begin
;	  0513	    GET_DTE_DATA_BASE (DB)
;	  0514	    STATE = .STATE <0, 8>;
;	  0515	
;	  0516	    selectone .STATE of
;	  0517		set
;	  0518		[DL_ON] :
;	  0519		    begin
;	  0520		    $MCB_ENABLE_LONG_TIMER ();
;	  0521	
;	  0522		    if .DB [D_REQUESTED_STATE] eql DS_RUNNING
;	  0523		    then
;	  0524			DTESTR (DB [D_TIM]);
;	  0525	
;	  0526		    DB [D_LINE_STATE] = .STATE;
;	  0527		    NM$SUC
;	  0528		    end;
;	  0529		[DL_OFF] :
;	  0530		    begin
;	  0531	
;	  0532		    if .DB [D_PROTOCOL_STATE] neq DS_HALTED
;	  0533		    then
;	  0534			DTESTP (DB [D_TIM]);
;	  0535	
;	  0536		    DB [D_LINE_STATE] = .STATE;
;	  0537		    NM$SUC
;	  0538		    end;
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page  20
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (9)
;	  0539		[otherwise] : NE$MPE;
;	  0540		tes
;	  0541	
;	  0542	    end;
						.GLOBL	$LTMEN
						.SBTTL	SET.LINE.STATE
000000	004167  000000G			SET.LINE.STATE:
						JSR	R1,$SAVE4			;					0487
000004	010046 					MOV	R0,-(SP)
000006	105066  000001 				CLRB	1(SP)				;					0514
000012	005716 					TST	(SP)				;					0516
000014	001011 					BNE	1$
000016	004767  000000G				JSR	PC,$LTMEN			;					0520
000022	126527  000013  000003 			CMPB	13(R5),#3			; *(DB),*				0522
000030	001013 					BNE	2$
000032	004767  000000G				JSR	PC,DTESTR			;					0524
000036	000410 					BR	2$				;					0526
000040	021627  000001 			1$:	CMP	(SP),#1				;					0516
000044	001012 					BNE	3$
000046	105765  000012 				TSTB	12(R5)				; *(DB)					0532
000052	001402 					BEQ	2$
000054	004767  000000G				JSR	PC,DTESTP			;					0534
000060	111665  000015 			2$:	MOVB	(SP),15(R5)			; *,*(DB)				0536
000064	012700  000001 				MOV	#1,R0				;					0516
000070	000402 					BR	4$
000072	012700  177773 			3$:	MOV	#-5,R0
000076	005726 				4$:	TST	(SP)+				;					0487
000100	000207 					RTS	PC
; Routine Size:  33 words,	Routine Base:  $CODE$ + 0732
; Maximum stack depth per invocation:  7 words
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page  21
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (10)
;	  0543	routine SHOW_AND_ZERO_CIRCUIT_COUNTERS (CCB) : LINKAGE_CCB =
;	  0544	
;	  0545	!++
;	  0546	! FUNCTIONAL DESCRIPTION:
;	  0547	!	This routine writes the counter contents into the NM buffer.
;	  0548	!
;	  0549	! FORMAL PARAMETERS:
;	  0550	!	DB	Database address
;	  0551	!	CCB	Address of CCB
;	  0552	!
;	  0553	! IMPLICIT INPUTS:
;	  0554	!	None
;	  0555	!
;	  0556	! IMPLICIT OUTPUTS:
;	  0557	!	None
;	  0558	!
;	  0559	! ROUTINE VALUE:
;	  0560	!	The appropriate NM status code
;	  0561	!
;	  0562	! COMPLETION CODES:
;	  0563	!	None
;	  0564	!
;	  0565	! SIDE EFFECTS:
;	  0566	!	None
;	  0567	!--
;	  0568	
;	  0569	    begin
;	  0570	    GET_DTE_DATA_BASE (DB)
;	  0571	
;	  0572	    map
;	  0573		CCB: ref block field (C_NM_FIELDS);
;	  0574	
;	  0575	    $NM_RESPONSE_BEGIN (.CCB);
;	  0576	    PARAMETER_CIRCUIT_COUNTERS (DB [D_TIM]);
;	  0577	    $NM_RESPONSE_END (.CCB);
;	  0578	    ZERO_CIRCUIT_COUNTERS (.CCB);
;	  0579	    .CCB [C_STS]
;	  0580	    end;
						.GLOBL	$NRBEG, $NREND
						.SBTTL	SHOW.AND.ZERO.CIRCUIT.COUNTERS
000000	010546 				SHOW.AND.ZERO.CIRCUIT.COUNTERS:
						MOV	R5,-(SP)			;					0543
000002	016705  000002G				MOV	.CRDAT+2,R5			;					0569
000006	004767  000000G				JSR	PC,$NRBEG			;					0575
000012	004767  177274 				JSR	PC,PARAMETER.CIRCUIT.COUNTERS	;					0576
000016	004767  000000G				JSR	PC,$NREND			;					0577
000022	004767  000000V				JSR	PC,ZERO.CIRCUIT.COUNTERS	;					0578
000026	016400  000014 				MOV	14(R4),R0			; *(CCB),*				0543
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page  22
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (10)
000032	012605 					MOV	(SP)+,R5
000034	000207 					RTS	PC
; Routine Size:  15 words,	Routine Base:  $CODE$ + 1034
; Maximum stack depth per invocation:  2 words
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page  23
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (11)
;	  0581	routine SHOW_AND_ZERO_LINE_COUNTERS (CCB) : LINKAGE_CCB =
;	  0582	
;	  0583	!++
;	  0584	! FUNCTIONAL DESCRIPTION:
;	  0585	!	This routine writes the counter contents into the NM buffer.
;	  0586	!
;	  0587	! FORMAL PARAMETERS:
;	  0588	!	DB	Database address
;	  0589	!	CCB	Address of CCB
;	  0590	!
;	  0591	! IMPLICIT INPUTS:
;	  0592	!	None
;	  0593	!
;	  0594	! IMPLICIT OUTPUTS:
;	  0595	!	None
;	  0596	!
;	  0597	! ROUTINE VALUE:
;	  0598	!	The appropriate NM status code
;	  0599	!
;	  0600	! COMPLETION CODES:
;	  0601	!	None
;	  0602	!
;	  0603	! SIDE EFFECTS:
;	  0604	!	None
;	  0605	!--
;	  0606	
;	  0607	    begin
;	  0608	    GET_DTE_DATA_BASE (DB)
;	  0609	
;	  0610	    map
;	  0611		CCB: ref block field (C_NM_FIELDS);
;	  0612	
;	  0613	    $NM_RESPONSE_BEGIN (.CCB);
;	  0614	    PARAMETER_LINE_COUNTERS (DB [D_TIM]);
;	  0615	    $NM_RESPONSE_END (.CCB);
;	  0616	    ZERO_LINE_COUNTERS (.CCB);
;	  0617	    .CCB [C_STS]
;	  0618	    end;
						.SBTTL	SHOW.AND.ZERO.LINE.COUNTERS
000000	010546 				SHOW.AND.ZERO.LINE.COUNTERS:
						MOV	R5,-(SP)			;					0581
000002	016705  000002G				MOV	.CRDAT+2,R5			;					0607
000006	004767  000000G				JSR	PC,$NRBEG			;					0613
000012	004767  177336 				JSR	PC,PLN				;					0614
000016	004767  000000G				JSR	PC,$NREND			;					0615
000022	004767  000000V				JSR	PC,ZERO.LINE.COUNTERS		;					0616
000026	016400  000014 				MOV	14(R4),R0			; *(CCB),*				0581
000032	012605 					MOV	(SP)+,R5
000034	000207 					RTS	PC
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page  24
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (11)
; Routine Size:  15 words,	Routine Base:  $CODE$ + 1072
; Maximum stack depth per invocation:  2 words
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page  25
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (12)
;	  0619	routine SHOW_CIRCUIT (CCB) : LINKAGE_CCB =
;	  0620	
;	  0621	!++
;	  0622	! FUNCTIONAL DESCRIPTION:
;	  0623	!
;	  0624	!
;	  0625	! FORMAL PARAMETERS:
;	  0626	!	CCB	Address of CCB
;	  0627	!
;	  0628	! IMPLICIT INPUTS:
;	  0629	!	None
;	  0630	!
;	  0631	! IMPLICIT OUTPUTS:
;	  0632	!	None
;	  0633	!
;	  0634	! ROUTINE VALUE:
;	  0635	!	The appropriate NM status code
;	  0636	!
;	  0637	! COMPLETION CODES:
;	  0638	!	None
;	  0639	!
;	  0640	! SIDE EFFECTS:
;	  0641	!	None
;	  0642	!--
;	  0643	
;	  0644	    begin
;	  0645	    GET_DTE_DATA_BASE (DB)
;	  0646	
;	  0647	    map
;	  0648		CCB: ref block field (C_NM_FIELDS);
;	  0649	
;	  0650	    $NM_RESPONSE_BEGIN (.CCB);
;	  0651	
;	  0652	    selectone .CCB [C_NM_SELECT] of
;	  0653		set
;	  0654	
;	  0655		[NMX$SEL_sum, NMX$SEL_sta] :
;	  0656		    NMX$PARAMETER_CIRCUIT_USER (.DB [D_NMX_PIX], .DB [D_CIRCUIT_ENTITY], 1000);
;	  0657	
;	  0658		[NMX$SEL_cha]:
;	  0659		    begin
;	  0660		    NMX$PARAMETER_CIRCUIT_OWNER (.DB [D_NMX_PIX], .DB [D_CIRCUIT_ENTITY], 1100);
;	  0661		    NMX$PARAMETER_LINE (.DB [D_NMX_PIX], .DB [D_LINE_ENTITY], 1110);
;	  0662		    end;
;	  0663	
;	  0664		[NMX$SEL_cou] :
;	  0665		    PARAMETER_CIRCUIT_COUNTERS (DB [D_TIM]);
;	  0666	
;	  0667		[otherwise] :
;	  0668		    return $NM$ERR_MPE;
;	  0669	
;	  0670		tes;
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page  26
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (12)
;	  0671	
;	  0672	    $NM_RESPONSE_END (.CCB);
;	  0673	    .CCB [C_STS]
;	  0674	    end;
						.GLOBL	$NPUSR, $CALLP, $NPOWN, $NPNAM
						.SBTTL	SHOW.CIRCUIT
000000	010546 				SHOW.CIRCUIT:
						MOV	R5,-(SP)			;					0619
000002	016705  000002G				MOV	.CRDAT+2,R5			;					0644
000006	004767  000000G				JSR	PC,$NRBEG			;					0650
000012	016400  000024 				MOV	24(R4),R0			; *(CCB),*				0652
000016	072027  177764 				ASH	#-14,R0
000022	042700  177760 				BIC	#177760,R0
000026	003425 					BLE	1$
000030	020027  000002 				CMP	R0,#2
000034	003022 					BGT	1$
000036	012746  001750 				MOV	#1750,-(SP)			;					0656
000042	016546  000040 				MOV	40(R5),-(SP)
000046	012746  002004 				MOV	#2004,-(SP)
000052	012746  000003 				MOV	#3,-(SP)
000056	012746  000000G				MOV	#$NPUSR,-(SP)
000062	005046 					CLR	-(SP)
000064	116516  000017 				MOVB	17(R5),(SP)
000070	004767  000000G				JSR	PC,$CALLP
000074	062706  000014 				ADD	#14,SP
000100	000455 					BR	4$				;					0652
000102	020027  000003 			1$:	CMP	R0,#3
000106	001041 					BNE	2$
000110	012746  002114 				MOV	#2114,-(SP)			;					0660
000114	016546  000040 				MOV	40(R5),-(SP)
000120	012746  002000 				MOV	#2000,-(SP)
000124	012746  000003 				MOV	#3,-(SP)
000130	012746  000000G				MOV	#$NPOWN,-(SP)
000134	005046 					CLR	-(SP)
000136	116516  000017 				MOVB	17(R5),(SP)
000142	004767  000000G				JSR	PC,$CALLP
000146	012716  002126 				MOV	#2126,(SP)			;					0661
000152	016546  000042 				MOV	42(R5),-(SP)
000156	012746  001004 				MOV	#1004,-(SP)
000162	012746  000003 				MOV	#3,-(SP)
000166	012746  000000G				MOV	#$NPNAM,-(SP)
000172	005046 					CLR	-(SP)
000174	116516  000017 				MOVB	17(R5),(SP)
000200	004767  000000G				JSR	PC,$CALLP
000204	062706  000026 				ADD	#26,SP				;					0659
000210	000411 					BR	4$				;					0652
000212	020027  000004 			2$:	CMP	R0,#4
000216	001003 					BNE	3$
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page  27
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (12)
000220	004767  176772 				JSR	PC,PARAMETER.CIRCUIT.COUNTERS	;					0665
000224	000403 					BR	4$				;					0652
000226	012700  177773 			3$:	MOV	#-5,R0				;					0668
000232	000404 					BR	5$
000234	004767  000000G			4$:	JSR	PC,$NREND			;					0672
000240	016400  000014 				MOV	14(R4),R0			; *(CCB),*				0619
000244	012605 				5$:	MOV	(SP)+,R5
000246	000207 					RTS	PC
; Routine Size:  84 words,	Routine Base:  $CODE$ + 1130
; Maximum stack depth per invocation:  13 words
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page  28
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (13)
;	  0675	routine SHOW_LINE (CCB) : LINKAGE_CCB =
;	  0676	
;	  0677	!++
;	  0678	! FUNCTIONAL DESCRIPTION:
;	  0679	!
;	  0680	!
;	  0681	! FORMAL PARAMETERS:
;	  0682	!	CCB	Address of CCB
;	  0683	!
;	  0684	! IMPLICIT INPUTS:
;	  0685	!	None
;	  0686	!
;	  0687	! IMPLICIT OUTPUTS:
;	  0688	!	None
;	  0689	!
;	  0690	! ROUTINE VALUE:
;	  0691	!	The appropriate NM status code
;	  0692	!
;	  0693	! COMPLETION CODES:
;	  0694	!	None
;	  0695	!
;	  0696	! SIDE EFFECTS:
;	  0697	!	None
;	  0698	!--
;	  0699	
;	  0700	    begin
;	  0701	    GET_DTE_DATA_BASE (DB)
;	  0702	
;	  0703	    map
;	  0704		CCB: ref block field (C_NM_FIELDS);
;	  0705	
;	  0706	    $NM_RESPONSE_BEGIN (.CCB);
;	  0707	
;	  0708	    selectone .CCB [C_NM_SELECT] of
;	  0709		set
;	  0710	
;	  0711		[NMX$SEL_sum, NMX$SEL_sta]:
;	  0712		    begin
;	  0713		    PARAMETER_C_1 (0, DB [D_LINE_STATE]);
;	  0714		    end;
;	  0715	
;	  0716		[NMX$SEL_cha]:
;	  0717		    begin
;	  0718		    NMX$PARAMETER_LINE (.DB [D_NMX_PIX], .DB [D_LINE_ENTITY], 1100);
;	  0719							! DEVICE
;	  0720		    begin
;	  0721		    local REG;
;	  0722		    REG = .DB [D_REGISTER] and not %o'37';
;	  0723		    PARAMETER_O_2 (2650, REG);
;	  0724		    end;
;	  0725		    PARAMETER_O_2 (2655, DB [D_VECTOR]);
;	  0726		    PARAMETER_DU_1 (2660, DB [D_PRIORITY]);
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page  29
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (13)
;	  0727		    PARAMETER_DU_2 (2670, uplit (DTE_K_PAUSE_TIMEOUT));
;	  0728		    end;
;	  0729	
;	  0730		[NMX$SEL_cou] :
;	  0731		    begin
;	  0732		    PARAMETER_LINE_COUNTERS (DB [D_TIM]);
;	  0733		    end;
;	  0734	
;	  0735		[otherwise] :
;	  0736		    return $NM$ERR_MPE;
;	  0737	
;	  0738		tes;
;	  0739	
;	  0740	    $NM_RESPONSE_END (.CCB);
;	  0741	    .CCB [C_STS]
;	  0742	    end;
000100						.PSECT	$PLIT$,  RO ,  D  
000100	000036 				P.AAI:	.WORD	36
						.GLOBL	$DPC1, $DPO2, $DPDU1, $DPDU2
						.SBTTL	SHOW.LINE
001400						.PSECT	$CODE$,  RO 
000000	010546 				SHOW.LINE:
						MOV	R5,-(SP)			;					0675
000002	016705  000002G				MOV	.CRDAT+2,R5			;					0700
000006	004767  000000G				JSR	PC,$NRBEG			;					0706
000012	016400  000024 				MOV	24(R4),R0			; *(CCB),*				0708
000016	072027  177764 				ASH	#-14,R0
000022	042700  177760 				BIC	#177760,R0
000026	003412 					BLE	1$
000030	020027  000002 				CMP	R0,#2
000034	003007 					BGT	1$
000036	005046 					CLR	-(SP)				;					0713
000040	116500  000015 				MOVB	15(R5),R0
000044	004767  000000G				JSR	PC,$DPC1
000050	005726 					TST	(SP)+				;					0712
000052	000470 					BR	4$				;					0708
000054	020027  000003 			1$:	CMP	R0,#3
000060	001054 					BNE	2$
000062	012746  002114 				MOV	#2114,-(SP)			;					0718
000066	016546  000042 				MOV	42(R5),-(SP)
000072	012746  001004 				MOV	#1004,-(SP)
000076	012746  000003 				MOV	#3,-(SP)
000102	012746  000000G				MOV	#$NPNAM,-(SP)
000106	005046 					CLR	-(SP)
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page  30
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (13)
000110	116516  000017 				MOVB	17(R5),(SP)
000114	004767  000000G				JSR	PC,$CALLP
000120	016500  000002 				MOV	2(R5),R0			; *,REG					0722
000124	042700  000037 				BIC	#37,R0				; *,REG
000130	012716  005132 				MOV	#5132,(SP)			;					0723
000134	004767  000000G				JSR	PC,$DPO2
000140	012716  005137 				MOV	#5137,(SP)			;					0725
000144	016500  000004 				MOV	4(R5),R0
000150	004767  000000G				JSR	PC,$DPO2
000154	012716  005144 				MOV	#5144,(SP)			;					0726
000160	116500  000006 				MOVB	6(R5),R0
000164	004767  000000G				JSR	PC,$DPDU1
000170	012716  005156 				MOV	#5156,(SP)			;					0727
000174	016700  000100'				MOV	P.AAI,R0
000200	004767  000000G				JSR	PC,$DPDU2
000204	062706  000014 				ADD	#14,SP				;					0717
000210	000411 					BR	4$				;					0708
000212	020027  000004 			2$:	CMP	R0,#4
000216	001003 					BNE	3$
000220	004767  176622 				JSR	PC,PLN				;					0732
000224	000403 					BR	4$				;					0708
000226	012700  177773 			3$:	MOV	#-5,R0				;					0736
000232	000404 					BR	5$
000234	004767  000000G			4$:	JSR	PC,$NREND			;					0740
000240	016400  000014 				MOV	14(R4),R0			; *(CCB),*				0675
000244	012605 				5$:	MOV	(SP)+,R5
000246	000207 					RTS	PC
; Routine Size:  84 words,	Routine Base:  $CODE$ + 1400
; Maximum stack depth per invocation:  8 words
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page  31
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (14)
;	  0743	routine SHOW_SUCCESS (CCB) : LINKAGE_CCB =
;	  0744	
;	  0745	!++
;	  0746	! FUNCTIONAL DESCRIPTION:
;	  0747	!
;	  0748	!
;	  0749	! FORMAL PARAMETERS:
;	  0750	!	CCB	Address of CCB
;	  0751	!
;	  0752	! IMPLICIT INPUTS:
;	  0753	!	None
;	  0754	!
;	  0755	! IMPLICIT OUTPUTS:
;	  0756	!	None
;	  0757	!
;	  0758	! ROUTINE VALUE:
;	  0759	!	The appropriate NM status code
;	  0760	!
;	  0761	! COMPLETION CODES:
;	  0762	!	None
;	  0763	!
;	  0764	! SIDE EFFECTS:
;	  0765	!	None
;	  0766	!--
;	  0767	
;	  0768	    begin
;	  0769	
;	  0770	    map
;	  0771		CCB: ref block field (C_NM_FIELDS);
;	  0772	
;	  0773	    CCB [C_CNT] = 0;
;	  0774	    NM$SUC
;	  0775	    end;
						.SBTTL	SHOW.SUCCESS
000000	005064  000022 			SHOW.SUCCESS:
						CLR	22(R4)				; *(CCB)				0773
000004	012700  000001 				MOV	#1,R0				;					0743
000010	000207 					RTS	PC
; Routine Size:  5 words,	Routine Base:  $CODE$ + 1650
; Maximum stack depth per invocation:  0 words
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page  32
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (15)
;	  0776	routine SUCCESS (CCB) : LINKAGE_CCB =
;	  0777	
;	  0778	!++
;	  0779	! FUNCTIONAL DESCRIPTION:
;	  0780	!
;	  0781	!
;	  0782	! FORMAL PARAMETERS:
;	  0783	!	CCB	Address of CCB
;	  0784	!
;	  0785	! IMPLICIT INPUTS:
;	  0786	!	None
;	  0787	!
;	  0788	! IMPLICIT OUTPUTS:
;	  0789	!	None
;	  0790	!
;	  0791	! ROUTINE VALUE:
;	  0792	!	The appropriate NM status code
;	  0793	!
;	  0794	! COMPLETION CODES:
;	  0795	!	None
;	  0796	!
;	  0797	! SIDE EFFECTS:
;	  0798	!	None
;	  0799	!--
;	  0800	
;	  0801	    begin
;	  0802	
;	  0803	    map
;	  0804		CCB: ref block field (C_NM_FIELDS);
;	  0805	
;	  0806	    NM$SUC
;	  0807	    end;
						.SBTTL	SUCCESS
000000	012700  000001 			SUCCESS:MOV	#1,R0				;					0776
000004	000207 					RTS	PC
; Routine Size:  3 words,	Routine Base:  $CODE$ + 1662
; Maximum stack depth per invocation:  0 words
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page  33
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (16)
;	  0808	routine ZERO_CIRCUIT_COUNTERS (CCB) : LINKAGE_CCB =
;	  0809	
;	  0810	!++
;	  0811	! FUNCTIONAL DESCRIPTION:
;	  0812	!
;	  0813	!
;	  0814	! FORMAL PARAMETERS:
;	  0815	!	DB	Database address
;	  0816	!	CCB	Address of CCB
;	  0817	!
;	  0818	! IMPLICIT INPUTS:
;	  0819	!	None
;	  0820	!
;	  0821	! IMPLICIT OUTPUTS:
;	  0822	!	None
;	  0823	!
;	  0824	! ROUTINE VALUE:
;	  0825	!	The appropriate NM status code
;	  0826	!
;	  0827	! COMPLETION CODES:
;	  0828	!	None
;	  0829	!
;	  0830	! SIDE EFFECTS:
;	  0831	!	None
;	  0832	!--
;	  0833	
;	  0834	    begin
;	  0835	    GET_DTE_DATA_BASE (DB)
;	  0836	    COUNTER_ZERO (DB, D_BYTES_RECEIVED);
;	  0837	    COUNTER_ZERO (DB, D_BYTES_SENT);
;	  0838	    COUNTER_ZERO (DB, D_DATA_BLOCKS_RECEIVED);
;	  0839	    COUNTER_ZERO (DB, D_DATA_BLOCKS_SENT);
;	  0840	    return NM$SUC
;	  0841	    end;
						.SBTTL	ZERO.CIRCUIT.COUNTERS
000000	016700  000002G			ZERO.CIRCUIT.COUNTERS:
						MOV	.CRDAT+2,R0			;					0834
000004	005060  000136 				CLR	136(R0)				;					0836
000010	005060  000140 				CLR	140(R0)
000014	005060  000142 				CLR	142(R0)				;					0837
000020	005060  000144 				CLR	144(R0)
000024	005060  000146 				CLR	146(R0)				;					0838
000030	005060  000150 				CLR	150(R0)
000034	005060  000152 				CLR	152(R0)				;					0839
000040	005060  000154 				CLR	154(R0)
000044	012700  000001 				MOV	#1,R0				;					0834
000050	000207 					RTS	PC				;					0808
; Routine Size:  21 words,	Routine Base:  $CODE$ + 1670
; Maximum stack depth per invocation:  0 words
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page  34
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (17)
;	  0842	routine ZERO_LINE_COUNTERS (CCB) : LINKAGE_CCB =
;	  0843	
;	  0844	!++
;	  0845	! FUNCTIONAL DESCRIPTION:
;	  0846	!
;	  0847	!
;	  0848	! FORMAL PARAMETERS:
;	  0849	!	DB	Database address
;	  0850	!	CCB	Address of CCB
;	  0851	!
;	  0852	! IMPLICIT INPUTS:
;	  0853	!	None
;	  0854	!
;	  0855	! IMPLICIT OUTPUTS:
;	  0856	!	None
;	  0857	!
;	  0858	! ROUTINE VALUE:
;	  0859	!	The appropriate NM status code
;	  0860	!
;	  0861	! COMPLETION CODES:
;	  0862	!	None
;	  0863	!
;	  0864	! SIDE EFFECTS:
;	  0865	!	None
;	  0866	!--
;	  0867	
;	  0868	    begin
;	  0869	    GET_DTE_DATA_BASE (DB)
;	  0870	    $NM_TIME (DB [D_TIME_LINE_ZEROED]);
;	  0871	    COUNTER_ZERO (DB, D_CONFIGURATION_ERRORS, 8);
;	  0872	    COUNTER_ZERO (DB, D_DEVICE_SERVICE_ERRORS, 8);
;	  0873	    COUNTER_ZERO (DB, D_FATAL_DEVICE_ERRORS, 8);
;	  0874	    return NM$SUC
;	  0875	    end;
						.GLOBL	$ST32
						.SBTTL	ZERO.LINE.COUNTERS
000000	010446 				ZERO.LINE.COUNTERS:
						MOV	R4,-(SP)			;					0842
000002	016704  000002G				MOV	.CRDAT+2,R4			;					0868
000006	010400 					MOV	R4,R0				;					0870
000010	062700  000156 				ADD	#156,R0
000014	004767  000000G				JSR	PC,$ST32
000020	005064  000162 				CLR	162(R4)				;					0871
000024	005064  000164 				CLR	164(R4)				;					0872
000030	005064  000166 				CLR	166(R4)				;					0873
000034	012700  000001 				MOV	#1,R0				;					0868
000040	012604 					MOV	(SP)+,R4			;					0842
000042	000207 					RTS	PC
DTENMX								25-Jan-1983 10:07:24	TOPS-20 Bliss-16 3(552)		    Page  35
X01130								30-Dec-1982 02:57:19	NETPKG:<DRIVERS>DTENMX.B16.9 (17)
; Routine Size:  18 words,	Routine Base:  $CODE$ + 1742
; Maximum stack depth per invocation:  2 words
;	  0876	end
;	  0877	eludom
;					OTS external references
						.GLOBL	$SAVE5, $SAVE4
;					PSECT SUMMARY
;
;	Psect Name			Words	  Attributes
;	 $CODE$				  515	    RO ,  I  ,  LCL,  REL,  CON
;	 $PLIT$				   33	    RO ,  D  ,  LCL,  REL,  CON
;				LIBRARY STATISTICS
;
;					     -------- Symbols --------    Blocks
;	File				     Total    Loaded   Percent      Read
;
;  NETPKG:<V3P0>MCBLIB.L16.7		       372        41        11         0
;  NETPKG:<MCB>XPORTX.L16.15		       599         2         0         0
;  NETPKG:<MCB>NMXLIB.L16.13		       200        51        25         0
;  NETPKG:<DRIVERS>DTEDAT.L16.2		       244        93        38         0
; Size:		515 code + 33 data words
; Run Time:	   00:10.5
; Elapsed Time:	   00:33.0
; Memory Used:	33 pages
; Compilation Complete