Google
 

Trailing-Edge - PDP-10 Archives - BB-P363B-SM_1985 - mcb/drivers/dteini.lst
There are no other files named dteini.lst in the archive.
DTEINI								25-Jan-1983 10:07:59	TOPS-20 Bliss-16 3(552)		    Page   1
								30-Dec-1982 02:55:34	NETPKG:<DRIVERS>DTEINI.B16.9 (1)

;	  0001	module DTEINI (	! DTE20 Driver Initialization
;	  0002			ident = 'X01070',
;	  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 Initialization routines.
;	  0035	!
;	  0036	! ENVIRONMENT: MCB V3.2
;	  0037	!
;	  0038	! AUTHOR: Alan D. Peckham	CREATION DATE: 13-Jun-81
;	  0039	!
;	  0040	! MODIFIED BY:
;	  0041	!
;	  0042	!	Alan D. Peckham, 13-Jun-81: Version 1
;	  0043	! 01	- Split off from DTENMX module.
;	  0044	! 03	- Fix device register existence checking.
;	  0045	! 04	- Fix for getting device name for NMX functions.
;	  0046	! 05	- Save NMX PIX for later.
;	  0047	! 06	- Support system specific line counters.
;	  0048	! 07	- Zero counters on startup.
;	  0049	!--
;	  0050	!
;	  0051	! INCLUDE FILES:
;	  0052	!
DTEINI								25-Jan-1983 10:07:59	TOPS-20 Bliss-16 3(552)		    Page   2
X01070								30-Dec-1982 02:55:34	NETPKG:<DRIVERS>DTEINI.B16.9 (1)

;	  0053	
;	  0054	library 'MCBLIB';
;	  0055	
;	  0056	library 'XPORTX';
;	  0057	
;	  0058	library 'NMXLIB';
;	  0059	
;	  0060	library 'DTEDAT';
;	  0061	
;	  0062	!
;	  0063	! TABLE OF CONTENTS:
;	  0064	!
;	  0065	
;	  0066	linkage
;	  0067	    DTE_CSR_NUM = jsr (register = 0, register = 1);
;	  0068	
;	  0069	forward routine
;	  0070	    DTEDBI : novalue,
;	  0071	    DTEDVI,
;	  0072	    DTENMI,
;	  0073	    NXM_CATCHER,
;	  0074	    REGISTER_NXM : DTE_CSR_NUM;
;	  0075	
;	  0076	!
;	  0077	! MACROS:
;	  0078	!
;	  0079	!	None
;	  0080	!
;	  0081	! EQUATED SYMBOLS:
;	  0082	!
;	  0083	
;	  0084	literal
;	  0085	    TRUE = 1 EQL 1,
;	  0086	    FALSE = 1 EQL 0,
;	  0087	    NO_OPERATION = 0;
;	  0088	
;	  0089	!
;	  0090	! OWN STORAGE:
;	  0091	!
;	  0092	!	None
;	  0093	!
;	  0094	! EXTERNAL REFERENCES:
;	  0095	!
;	  0096	
;	  0097	external routine
;	  0098	    DTEIN : MCB_INTERRUPT novalue;
;	  0099	
;	  0100	external
;	  0101	    MCB$GAW_PROCESS_DATA_BASE : vector [2],
;	  0102	    MCB$GW_PROCESS_HANDLE;
;	  0103	
;	  0104	bind
DTEINI								25-Jan-1983 10:07:59	TOPS-20 Bliss-16 3(552)		    Page   3
X01070								30-Dec-1982 02:55:34	NETPKG:<DRIVERS>DTEINI.B16.9 (1)

;	  0105	    DB_BIAS = MCB$GAW_PROCESS_DATA_BASE [0];
;	  0106	
;	  0107	macro
;	M 0108	    GET_DTE_DATA_BASE (NAME) =
;	M 0109		%if %declared (NAME)
;	M 0110		%then map NAME : ref
;	M 0111		%else bind NAME = .MCB$GAW_PROCESS_DATA_BASE [1] :
;	  0112		%fi block field (D_FIELDS); %;
DTEINI								25-Jan-1983 10:07:59	TOPS-20 Bliss-16 3(552)		    Page   4
X01070								30-Dec-1982 02:55:34	NETPKG:<DRIVERS>DTEINI.B16.9 (2)

;	  0113	global routine DTEDBI : novalue =
;	  0114	
;	  0115	!++
;	  0116	! FUNCTIONAL DESCRIPTION:
;	  0117	!
;	  0118	!
;	  0119	! FORMAL PARAMETERS:
;	  0120	!	None
;	  0121	!
;	  0122	! IMPLICIT INPUTS:
;	  0123	!	None
;	  0124	!
;	  0125	! IMPLICIT OUTPUTS:
;	  0126	!	None
;	  0127	!
;	  0128	! ROUTINE VALUE:
;	  0129	! COMPLETION CODES:
;	  0130	!	None
;	  0131	!
;	  0132	! SIDE EFFECTS:
;	  0133	!	None
;	  0134	!--
;	  0135	
;	  0136	    begin
;	  0137	    GET_DTE_DATA_BASE (DB)
;	  0138	    DB [$SUB_FIELD (D_REGISTER, 0, 0, 5, 0)] = CSTOFF*%upval;
;	  0139	    $NM_TIME (DB [D_TIME_LINE_ZEROED]);
;	  0140	    end;			!of routine DTEDBI


						.TITLE	DTEINI
						.IDENT	/X01070/

						.GLOBL	DTEIN, .CRDAT, .CRPIX, $ST32


						.SBTTL	DTEDBI
000000						.PSECT	$CODE$,  RO 

000000	016700  000002G			DTEDBI::MOV	.CRDAT+2,R0			;					0138
000004	142760  000037  000002 			BICB	#37,2(R0)
000012	152760  000034  000002 			BISB	#34,2(R0)
000020	062700  000156 				ADD	#156,R0				;					0139
000024	004767  000000G				JSR	PC,$ST32
000030	000207 					RTS	PC				;					0113

; Routine Size:  13 words,	Routine Base:  $CODE$ + 0000
; Maximum stack depth per invocation:  1 word
DTEINI								25-Jan-1983 10:07:59	TOPS-20 Bliss-16 3(552)		    Page   5
X01070								30-Dec-1982 02:55:34	NETPKG:<DRIVERS>DTEINI.B16.9 (3)

;	  0141	global routine DTEDVI =
;	  0142	
;	  0143	!++
;	  0144	! FUNCTIONAL DESCRIPTION:
;	  0145	!
;	  0146	!
;	  0147	! FORMAL PARAMETERS:
;	  0148	!	None
;	  0149	!
;	  0150	! IMPLICIT INPUTS:
;	  0151	!	None
;	  0152	!
;	  0153	! IMPLICIT OUTPUTS:
;	  0154	!	None
;	  0155	!
;	  0156	! ROUTINE VALUE:
;	  0157	! COMPLETION CODES:
;	  0158	!	None
;	  0159	!
;	  0160	! SIDE EFFECTS:
;	  0161	!	None
;	  0162	!--
;	  0163	
;	  0164	    begin
;	  0165	    GET_DTE_DATA_BASE (DB)
;	  0166	    DB [D_DEVICE_STATE] = DD_CLEARED;
;	  0167	
;	  0168	    if .DB [D_REGISTER] lssa %o'160000'
;	  0169	    then
;	  0170		begin
;	  0171		COUNTER_INCREMENT (DB, D_INVALID_CONTROLLER_REGISTER);
;	  0172		COUNTER_INCREMENT (DB, D_CONFIGURATION_ERRORS);
;	  0173		return FALSE
;	  0174		end;
;	  0175	
;	  0176	    if REGISTER_NXM ((.DB [D_REGISTER] and not %o'37'), 16)
;	  0177	    then
;	  0178		begin
;	  0179		COUNTER_INCREMENT (DB, D_NXM_CONTROLLER_REGISTER);
;	  0180		COUNTER_INCREMENT (DB, D_CONFIGURATION_ERRORS);
;	  0181		return FALSE
;	  0182		end;
;	  0183	
;	  0184	    begin
;	  0185	
;	  0186	    local
;	  0187		STATUS;
;	  0188	
;	  0189	    STATUS = $MCB_SET_VECTOR (.DB [D_VECTOR], DTEIN, .DB [D_PRIORITY]);
;	  0190	
;	  0191	    if not .STATUS
;	  0192	    then
DTEINI								25-Jan-1983 10:07:59	TOPS-20 Bliss-16 3(552)		    Page   6
X01070								30-Dec-1982 02:55:34	NETPKG:<DRIVERS>DTEINI.B16.9 (3)

;	  0193		begin
;	  0194	
;	  0195		selectone .STATUS of
;	  0196		    set
;	  0197		    [CE$VEC]:
;	  0198			COUNTER_INCREMENT (DB, D_INVALID_VECTOR);
;	  0199		    [CE$VCU]:
;	  0200			COUNTER_INCREMENT (DB, D_CONFLICTING_VECTOR);
;	  0201		    [CE$PRI]:
;	  0202			COUNTER_INCREMENT (DB, D_INVALID_PRIORITY);
;	  0203		    tes;
;	  0204	
;	  0205		COUNTER_INCREMENT (DB, D_CONFIGURATION_ERRORS);
;	  0206		return FALSE
;	  0207		end;
;	  0208	
;	  0209	    end;
;	  0210	    DB [D_DEVICE_STATE] = DD_RUNNING;
;	  0211	    TRUE
;	  0212	    end;			!of routine DTEDVI


						.GLOBL	$IC8, V.ECST, $CALLI


						.SBTTL	DTEDVI
000000	004167  000000G			DTEDVI::JSR	R1,$SAVE2			;					0141
000004	016702  000002G				MOV	.CRDAT+2,R2			;					0164
000010	105062  000016 				CLRB	16(R2)				;					0166
000014	026227  000002  160000 			CMP	2(R2),#160000			;					0168
000022	103004 					BHIS	1$
000024	052762  000400  000162 			BIS	#400,162(R2)			;					0171
000032	000415 					BR	2$				;					0172
000034	016200  000002 			1$:	MOV	2(R2),R0			;					0176
000040	042700  000037 				BIC	#37,R0
000044	012701  000020 				MOV	#20,R1
000050	004767  000000V				JSR	PC,REGISTER.NXM
000054	006000 					ROR	R0
000056	103011 					BCC	3$
000060	052762  001000  000162 			BIS	#1000,162(R2)			;					0179
000066	012700  000162 			2$:	MOV	#162,R0				;					0180
000072	060200 					ADD	R2,R0
000074	004767  000000G				JSR	PC,$IC8
000100	000453 					BR	7$				;					0178
000102	116200  000006 			3$:	MOVB	6(R2),R0			;					0189
000106	010046 					MOV	R0,-(SP)
000110	012746  000000G				MOV	#DTEIN,-(SP)
000114	016246  000004 				MOV	4(R2),-(SP)
000120	012746  000003 				MOV	#3,-(SP)
000124	012746  000000G				MOV	#V.ECST,-(SP)
000130	004767  000000G				JSR	PC,$CALLI
000134	032700  000001 				BIT	#1,R0				; *,STATUS				0191
DTEINI								25-Jan-1983 10:07:59	TOPS-20 Bliss-16 3(552)		    Page   7
X01070								30-Dec-1982 02:55:34	NETPKG:<DRIVERS>DTEINI.B16.9 (3)

000140	001035 					BNE	8$
000142	020027  000742 				CMP	R0,#742				; STATUS,*				0195
000146	001004 					BNE	4$
000150	052762  010000  000162 			BIS	#10000,162(R2)			;					0198
000156	000415 					BR	6$				;					0195
000160	020027  000762 			4$:	CMP	R0,#762				; STATUS,*
000164	001004 					BNE	5$
000166	052762  020000  000162 			BIS	#20000,162(R2)			;					0200
000174	000406 					BR	6$				;					0195
000176	020027  000602 			5$:	CMP	R0,#602				; STATUS,*
000202	001003 					BNE	6$
000204	052762  040000  000162 			BIS	#40000,162(R2)			;					0202
000212	010200 				6$:	MOV	R2,R0				;					0205
000214	062700  000162 				ADD	#162,R0
000220	004767  000000G				JSR	PC,$IC8
000224	062706  000012 				ADD	#12,SP				;					0191
000230	005000 				7$:	CLR	R0				;					0193
000232	000207 					RTS	PC
000234	112762  000001  000016 		8$:	MOVB	#1,16(R2)			;					0210
000242	062706  000012 				ADD	#12,SP				;					0164
000246	012700  000001 				MOV	#1,R0				;					0141
000252	000207 					RTS	PC

; Routine Size:  86 words,	Routine Base:  $CODE$ + 0032
; Maximum stack depth per invocation:  9 words
DTEINI								25-Jan-1983 10:07:59	TOPS-20 Bliss-16 3(552)		    Page   8
X01070								30-Dec-1982 02:55:34	NETPKG:<DRIVERS>DTEINI.B16.9 (4)

;	  0213	global routine DTENMI =
;	  0214	
;	  0215	!++
;	  0216	! FUNCTIONAL DESCRIPTION:
;	  0217	!
;	  0218	!
;	  0219	! FORMAL PARAMETERS:
;	  0220	!	None
;	  0221	!
;	  0222	! IMPLICIT INPUTS:
;	  0223	!	None
;	  0224	!
;	  0225	! IMPLICIT OUTPUTS:
;	  0226	!	None
;	  0227	!
;	  0228	! ROUTINE VALUE:
;	  0229	! COMPLETION CODES:
;	  0230	!	None
;	  0231	!
;	  0232	! SIDE EFFECTS:
;	  0233	!	None
;	  0234	!--
;	  0235	
;	  0236	    begin
;	  0237	    GET_DTE_DATA_BASE (DB)
;	  0238	
;	  0239	    local
;	  0240		NAME_BUFFER : vector [ch$allocation (17)],
;	  0241		NMXID,
;	  0242		NMXPIX;
;	  0243	
;	  0244	    bind
;	  0245		NAME_PTR = ch$ptr (NAME_BUFFER,, 8);
;	  0246	
;	  0247	    if not $MCB_GET_PROCESS_HANDLE (%rad50_11 'NMX', NMXPIX) then return FALSE;
;	  0248	
;	  0249	    DB [D_NMX_PIX] = .NMXPIX;
;	  0250	    $MCB_GET_DEVICE_NAME (.DB [D_LINE_ENTITY], NAME_PTR);
;	  0251	    NMX$CREATE_LINE (.NMXPIX, NAME_PTR, 0, NMXID);
;	P 0252	    NMX$MODIFY_LINE_PROVIDER (.NMXPIX, NAME_PTR,
;	P 0253		.MCB$GW_PROCESS_HANDLE^8 + DTE_K_LINE_PROVIDER,
;	  0254		DB [D_LINE_ENTITY]);
;	P 0255	    NMX$MODIFY_LINE_OWNER (.NMXPIX, NAME_PTR,
;	P 0256		.MCB$GW_PROCESS_HANDLE^8 + DTE_K_LINE_OWNER,
;	  0257		NMXID);
;	  0258	    NMX$CREATE_CIRCUIT (.NMXPIX, NAME_PTR, 0, NMXID);
;	P 0259	    NMX$MODIFY_CIRCUIT_PROVIDER (.NMXPIX, NAME_PTR,
;	P 0260		.MCB$GW_PROCESS_HANDLE^8 + DTE_K_CIRCUIT_PROVIDER,
;	  0261		DB [D_CIRCUIT_ENTITY]);
;	  0262	
;	  0263	    TRUE
;	  0264	    end;			!of routine DTENMI
DTEINI								25-Jan-1983 10:07:59	TOPS-20 Bliss-16 3(552)		    Page   9
X01070								30-Dec-1982 02:55:34	NETPKG:<DRIVERS>DTEINI.B16.9 (4)



						.GLOBL	P.DTGT, D.NMGT, $NMCRE, $CALLP
						.GLOBL	$NMMID


						.SBTTL	DTENMI
000000	004167  000000G			DTENMI::JSR	R1,$SAVE2			;					0213
000004	162706  000026 				SUB	#26,SP
000010	016701  000002G				MOV	.CRDAT+2,R1			;					0236
000014	012746  000004 				MOV	#4,-(SP)			;					0247
000020	060616 					ADD	SP,(SP)				; $MCB$MY.INDEX,*
000022	012746  054640 				MOV	#54640,-(SP)
000026	012746  000002 				MOV	#2,-(SP)
000032	012746  000000G				MOV	#P.DTGT,-(SP)
000036	004767  000000G				JSR	PC,$CALLI
000042	062706  000010 				ADD	#10,SP
000046	032700  000001 				BIT	#1,R0				; *,$MCB$STATUS
000052	001405 					BEQ	1$
000054	016602  000002 				MOV	2(SP),R2			; $MCB$MY.INDEX,NMXPIX
000060	032700  000001 				BIT	#1,R0				; *,$MCB$STATUS
000064	001002 					BNE	2$
000066	005000 				1$:	CLR	R0
000070	000561 					BR	3$
000072	110261  000017 			2$:	MOVB	R2,17(R1)			; NMXPIX,*				0249
000076	012746  000006 				MOV	#6,-(SP)			;					0250
000102	060616 					ADD	SP,(SP)				; NAME.PTR,*
000104	016146  000042 				MOV	42(R1),-(SP)
000110	012746  000002 				MOV	#2,-(SP)
000114	012746  000000G				MOV	#D.NMGT,-(SP)
000120	004767  000000G				JSR	PC,$CALLI
000124	012716  000010 				MOV	#10,(SP)			;					0251
000130	060616 					ADD	SP,(SP)				; NMXID,*
000132	005046 					CLR	-(SP)
000134	012746  000020 				MOV	#20,-(SP)
000140	060616 					ADD	SP,(SP)				; NAME.PTR,*
000142	012746  001000 				MOV	#1000,-(SP)
000146	012746  000004 				MOV	#4,-(SP)
000152	012746  000000G				MOV	#$NMCRE,-(SP)
000156	010246 					MOV	R2,-(SP)			; NMXPIX,*
000160	004767  000000G				JSR	PC,$CALLP
000164	012716  000042 				MOV	#42,(SP)			;					0254
000170	060116 					ADD	R1,(SP)
000172	016700  000000G				MOV	.CRPIX,R0
000176	072027  000010 				ASH	#10,R0
000202	010046 					MOV	R0,-(SP)
000204	012746  000034 				MOV	#34,-(SP)
000210	060616 					ADD	SP,(SP)				; NAME.PTR,*
000212	012746  001004 				MOV	#1004,-(SP)
000216	012746  000004 				MOV	#4,-(SP)
000222	012746  000000G				MOV	#$NMMID,-(SP)
000226	010246 					MOV	R2,-(SP)			; NMXPIX,*
DTEINI								25-Jan-1983 10:07:59	TOPS-20 Bliss-16 3(552)		    Page  10
X01070								30-Dec-1982 02:55:34	NETPKG:<DRIVERS>DTEINI.B16.9 (4)

000230	004767  000000G				JSR	PC,$CALLP
000234	012716  000040 				MOV	#40,(SP)			;					0257
000240	060616 					ADD	SP,(SP)				; NMXID,*
000242	016700  000000G				MOV	.CRPIX,R0
000246	072027  000010 				ASH	#10,R0
000252	010046 					MOV	R0,-(SP)
000254	062716  000002 				ADD	#2,(SP)
000260	012746  000050 				MOV	#50,-(SP)
000264	060616 					ADD	SP,(SP)				; NAME.PTR,*
000266	012746  001002 				MOV	#1002,-(SP)
000272	012746  000004 				MOV	#4,-(SP)
000276	012746  000000G				MOV	#$NMMID,-(SP)
000302	010246 					MOV	R2,-(SP)			; NMXPIX,*
000304	004767  000000G				JSR	PC,$CALLP
000310	012716  000054 				MOV	#54,(SP)			;					0258
000314	060616 					ADD	SP,(SP)				; NMXID,*
000316	005046 					CLR	-(SP)
000320	012746  000064 				MOV	#64,-(SP)
000324	060616 					ADD	SP,(SP)				; NAME.PTR,*
000326	012746  002000 				MOV	#2000,-(SP)
000332	012746  000004 				MOV	#4,-(SP)
000336	012746  000000G				MOV	#$NMCRE,-(SP)
000342	010246 					MOV	R2,-(SP)			; NMXPIX,*
000344	004767  000000G				JSR	PC,$CALLP
000350	010116 					MOV	R1,(SP)				;					0261
000352	062716  000040 				ADD	#40,(SP)
000356	016700  000000G				MOV	.CRPIX,R0
000362	072027  000010 				ASH	#10,R0
000366	010046 					MOV	R0,-(SP)
000370	062716  000004 				ADD	#4,(SP)
000374	012746  000100 				MOV	#100,-(SP)
000400	060616 					ADD	SP,(SP)				; NAME.PTR,*
000402	012746  002004 				MOV	#2004,-(SP)
000406	012746  000004 				MOV	#4,-(SP)
000412	012746  000000G				MOV	#$NMMID,-(SP)
000416	010246 					MOV	R2,-(SP)			; NMXPIX,*
000420	004767  000000G				JSR	PC,$CALLP
000424	062706  000104 				ADD	#104,SP				;					0236
000430	012700  000001 				MOV	#1,R0				;					0213
000434	062706  000026 			3$:	ADD	#26,SP
000440	000207 					RTS	PC

; Routine Size:  145 words,	Routine Base:  $CODE$ + 0306
; Maximum stack depth per invocation:  49 words
DTEINI								25-Jan-1983 10:07:59	TOPS-20 Bliss-16 3(552)		    Page  11
X01070								30-Dec-1982 02:55:34	NETPKG:<DRIVERS>DTEINI.B16.9 (5)

;	  0265	routine NXM_CATCHER (SIG, MCH, ENB) =
;	  0266	
;	  0267	!++
;	  0268	! FUNCTIONAL DESCRIPTION:
;	  0269	!
;	  0270	!
;	  0271	! FORMAL PARAMETERS:
;	  0272	!	SIG = signal vector address
;	  0273	!	MCH = mechanism vector address
;	  0274	!	ENB = enable vector address
;	  0275	!
;	  0276	! IMPLICIT INPUTS:
;	  0277	!	None
;	  0278	!
;	  0279	! IMPLICIT OUTPUTS:
;	  0280	!	None
;	  0281	!
;	  0282	! ROUTINE VALUE:
;	  0283	! COMPLETION CODES:
;	  0284	!	None
;	  0285	!
;	  0286	! SIDE EFFECTS:
;	  0287	!	None
;	  0288	!--
;	  0289	
;	  0290	    begin
;	  0291	
;	  0292	    map
;	  0293		ENB : ref vector,
;	  0294		MCH : ref vector,
;	  0295		SIG : ref vector;
;	  0296	
;	  0297	    if .SIG [1] neq SS$NXM then return FALSE;
;	  0298	
;	  0299	    .ENB [1] = TRUE;
;	  0300	    TRUE
;	  0301	    end;			!of routine NXM_CATCHER


						.SBTTL	NXM.CATCHER
000000	016600  000006 			NXM.CATCHER:
						MOV	6(SP),R0			; SIG,*					0297
000004	026027  000002  000114 			CMP	2(R0),#114
000012	001402 					BEQ	1$
000014	005000 					CLR	R0
000016	000207 					RTS	PC
000020	016600  000002 			1$:	MOV	2(SP),R0			; ENB,*					0299
000024	012770  000001  000002 			MOV	#1,@2(R0)
000032	012700  000001 				MOV	#1,R0				;					0265
000036	000207 					RTS	PC

; Routine Size:  16 words,	Routine Base:  $CODE$ + 0750
DTEINI								25-Jan-1983 10:07:59	TOPS-20 Bliss-16 3(552)		    Page  12
X01070								30-Dec-1982 02:55:34	NETPKG:<DRIVERS>DTEINI.B16.9 (5)

; Maximum stack depth per invocation:  0 words
DTEINI								25-Jan-1983 10:07:59	TOPS-20 Bliss-16 3(552)		    Page  13
X01070								30-Dec-1982 02:55:34	NETPKG:<DRIVERS>DTEINI.B16.9 (6)

;	  0302	routine REGISTER_NXM
;	  0303	
;	  0304	!++
;	  0305	! FUNCTIONAL DESCRIPTION:
;	  0306	!
;	  0307	!
;	  0308	! FORMAL PARAMETERS:
;	  0309	       (CSR : ref vector volatile,
;	  0310		NUM)
;	  0311	!
;	  0312	! IMPLICIT INPUTS:
;	  0313	!	None
;	  0314	!
;	  0315	! IMPLICIT OUTPUTS:
;	  0316	!	None
;	  0317	!
;	  0318	! ROUTINE VALUE:
;	  0319		: DTE_CSR_NUM =
;	  0320	!
;	  0321	! SIDE EFFECTS:
;	  0322	!	None
;	  0323	!--
;	  0324	
;	  0325	    begin
;	  0326	
;	  0327	    local
;	  0328		FLAG : volatile, %(BLISS initializes to 0 = FALSE)%
;	  0329		TEMP;
;	  0330	
;	  0331	    enable
;	  0332		NXM_CATCHER (FLAG);
;	  0333	
;	  0334	    do
;	  0335		begin
;	  0336		TEMP = .CSR [0];
;	  0337		CSR = CSR [1];
;	  0338		end
;	  0339	    while (NUM = .NUM - 1) nequ 0;
;	  0340	
;	  0341	    .FLAG
;	  0342	    end;			!of routine REGISTER_NXM


						.SBTTL	REGISTER.NXM
000000	004167  000000G			REGISTER.NXM:
						JSR	R1,$SAVE5			;					0302
000004	005046 					CLR	-(SP)				; FLAG
000006	012746  001064'				MOV	#2$,-(SP)
000012	012746  177776 				MOV	#-2,-(SP)
000016	060616 					ADD	SP,(SP)
000020	016746  000000G				MOV	$IGREG,-(SP)
000024	010667  000000G				MOV	SP,$IGREG
DTEINI								25-Jan-1983 10:07:59	TOPS-20 Bliss-16 3(552)		    Page  14
X01070								30-Dec-1982 02:55:34	NETPKG:<DRIVERS>DTEINI.B16.9 (6)

000030	012002 				1$:	MOV	(R0)+,R2			; CSR,TEMP				0336
000032	077102 					SOB	R1,1$				; NUM,*					0339
000034	016600  000006 				MOV	6(SP),R0			; FLAG,*				0341
000040	017767  000000G 000000G			MOV	@$IGREG,$IGREG			;					0302
000046	062706  000010 				ADD	#10,SP
000052	000207 					RTS	PC
000054	012746  000010 			2$:	MOV	#10,-(SP)
000060	060616 					ADD	SP,(SP)				; FLAG,*
000062	066716  000000G				ADD	$HANSP,(SP)
000066	012746  000001 				MOV	#1,-(SP)
000072	012746  000750'				MOV	#NXM.CATCHER,-(SP)
000076	004767  000000G				JSR	PC,$HANDL
000102	062706  000016 				ADD	#16,SP
000106	000207 					RTS	PC

; Routine Size:  36 words,	Routine Base:  $CODE$ + 1010
; Maximum stack depth per invocation:  14 words


;	  0343	end
;	  0344	eludom



;					OTS external references
						.GLOBL	$HANSP, $IGREG, $SAVE5, $SAVE2
						.GLOBL	$HANDL


;					PSECT SUMMARY
;
;	Psect Name			Words	  Attributes
;	 $CODE$				  296	    RO ,  I  ,  LCL,  REL,  CON




;				LIBRARY STATISTICS
;
;					     -------- Symbols --------    Blocks
;	File				     Total    Loaded   Percent      Read
;
;  NETPKG:<V3P0>MCBLIB.L16.7		       372        16         4         0
;  NETPKG:<MCB>XPORTX.L16.15		       599         2         0         0
;  NETPKG:<MCB>NMXLIB.L16.13		       200        16         8         0
;  NETPKG:<DRIVERS>DTEDAT.L16.2		       244        91        37         0





; Size:		296 code + 0 data words
DTEINI								25-Jan-1983 10:07:59	TOPS-20 Bliss-16 3(552)		    Page  15
X01070											

; Run Time:	   00:05.3
; Elapsed Time:	   00:31.7
; Memory Used:	34 pages
; Compilation Complete
BLISS16				   3
CE$PRI				 201
CE$VCU				 199
CE$VEC				 197
COUNTER_INCREMENT		 171	 172	 179	 180	 198	 200	 202	 205
CSR				 309	 336	 337#
CSTOFF				 138
DB				 137	 138#	 139	 165	 166#	 168	 171	 172	 176	 179	 180	 189
				 198	 200	 202	 205	 210#	 237	 249#	 250	 254	 261
DB_BIAS				 105#
DD_CLEARED			 166
DD_RUNNING			 210
DTEDBI				  70	 113*
DTEDVI				  71	 141*
DTEINI				   1#
DTEIN				  98*	 189
DTENMI				  72	 213*
DTE_CSR_NUM			  67#	  74	 319#
DTE_K_CIRCUIT_PROVIDER		 260
DTE_K_LINE_OWNER		 256
DTE_K_LINE_PROVIDER		 253
D_CIRCUIT_ENTITY		 261
D_CONFIGURATION_ERRORS		 172	 180	 205
D_CONFLICTING_VECTOR		 200
D_DEVICE_STATE			 166	 210
D_FIELDS			 112
D_INVALID_CONTROLLER_REGISTER	 171
D_INVALID_PRIORITY		 202
D_INVALID_VECTOR		 198
D_LINE_ENTITY			 250	 254
D_NMX_PIX			 249
D_NXM_CONTROLLER_REGISTER	 179
D_PRIORITY			 189
D_REGISTER			 138	 168	 176
D_TIME_LINE_ZEROED		 139
D_VECTOR			 189
ENB				 265	 293	 299#
FALSE				  86#	 173	 181	 206	 247	 297
FLAG				 328	 332	 341
GET_DTE_DATA_BASE		 108#	 137	 165	 237
LANGUAGE			   3
MCB$GAW_PROCESS_DATA_BASE	 101	 105	 111
MCB$GW_PROCESS_HANDLE		 102	 253	 256	 260
MCB_INTERRUPT			  98
MCH				 265	 294
NAME				 108	 109	 110	 111#
NAME_BUFFER			 240	 245
NAME_PTR			 245#	 250	 251	 252	 255	 258	 259
NMX$CREATE_CIRCUIT		 258
NMX$CREATE_LINE			 251
NMX$MODIFY_CIRCUIT_PROVIDER	 259
NMX$MODIFY_LINE_OWNER		 255
NMX$MODIFY_LINE_PROVIDER	 252
NMXID				 241	 251	 257	 258
NMXPIX				 242	 247	 249	 251	 252	 255	 258	 259
NO_OPERATION			  87#
NUM				 310	 339#
NXM_CATCHER			  73	 265*	 332
REGISTER_NXM			  74	 176	 302*
SIG				 265	 295	 297
SS$NXM				 297
STATUS				 187	 189#	 191	 195
TEMP				 329	 336#
TRUE				  85#	 211	 263	 299	 300
$MCB_GET_DEVICE_NAME		 250
$MCB_GET_PROCESS_HANDLE		 247
$MCB_SET_VECTOR			 189
$NM_TIME			 139
$SUB_FIELD			 138