Google
 

Trailing-Edge - PDP-10 Archives - BB-P363B-SM_1985 - mcb/drivers/kdpini.lst
There are no other files named kdpini.lst in the archive.
KDPINI								25-Jan-1983 09:55:38	TOPS-20 Bliss-16 3(552)		    Page   1
								30-Dec-1982 03:15:25	NETPKG:<DRIVERS>KDPINI.B16.8 (1)

;	  0001	module KDPINI (	! KMC11/DUP11 Driver Initialization
;	  0002			ident = 'X04030',
;	  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 KDP Driver
;	  0031	!
;	  0032	! ABSTRACT:
;	  0033	!
;	  0034	!	This is the DDM process which services the KMC11 microprocessor
;	  0035	!	which controls DUP11 synchronous line devices.
;	  0036	!
;	  0037	! ENVIRONMENT: MCB V3.0
;	  0038	!
;	  0039	! AUTHOR: Alan D. Peckham	CREATION DATE: 9-Mar-81
;	  0040	!
;	  0041	! MODIFIED BY:
;	  0042	!
;	  0043	!	S. I. GOLDFARB, 25-MAR-1977
;	  0044	!	R. H. ROSENBAUM, 30-AUG-1977
;	  0045	!	L. J. TWAITS, 10-SEP-1977
;	  0046	!	D. B. TUTTLE, 10-OCT-1977
;	  0047	!
;	  0048	!	Alan D. Peckham, 9-Mar-81: Version 4
;	  0049	! 01	- Split off from KDP module.
;	  0050	! 02	- Avoid NXM signal unwinding by using flag (.CRDSP).
;	  0051	! 03	- Get NMXID for event logging.
;	  0052	!--
KDPINI								25-Jan-1983 09:55:38	TOPS-20 Bliss-16 3(552)		    Page   2
X04030								30-Dec-1982 03:15:25	NETPKG:<DRIVERS>KDPINI.B16.8 (1)

;	  0053	!
;	  0054	! INCLUDE FILES:
;	  0055	!
;	  0056	
;	  0057	library 'MCBLIB';
;	  0058	
;	  0059	library 'XPORT';
;	  0060	
;	  0061	library 'NMXLIB';
;	  0062	
;	  0063	library 'KDPDAT';
;	  0064	
;	  0065	!
;	  0066	! TABLE OF CONTENTS:
;	  0067	!
;	  0068	
;	  0069	forward routine
;	  0070	    KDPNMI,
;	  0071	    NXM_CATCHER,
;	  0072	    REGISTER_NXM : KDP_CSR_NUM;
;	  0073	
;	  0074	!
;	  0075	! MACROS:
;	  0076	!
;	  0077	
;	  0078	!
;	  0079	! EQUATED SYMBOLS:
;	  0080	!
;	  0081	
;	  0082	literal
;	  0083	    FALSE = 1 EQL 0,
;	  0084	    NO_OPERATION = 0,
;	  0085	    TRUE = 1 EQL 1;
;	  0086	
;	  0087	!
;	  0088	! OWN STORAGE:
;	  0089	!
;	  0090	
;	  0091	!
;	  0092	! EXTERNAL REFERENCES:
;	  0093	!
;	  0094	
;	  0095	external
;	  0096	    MCB$GAW_PROCESS_DATA_BASE : vector [2],
;	  0097	    MCB$GW_PROCESS_HANDLE;
;	  0098	
;	  0099	bind
;	  0100	    DB_BIAS = %name ('.CRDAT') [0];
;	  0101	
;	  0102	macro
;	M 0103	    GET_DUP_DATA_BASE (NAME) =
;	M 0104		%if %declared (NAME)
KDPINI								25-Jan-1983 09:55:38	TOPS-20 Bliss-16 3(552)		    Page   3
X04030								30-Dec-1982 03:15:25	NETPKG:<DRIVERS>KDPINI.B16.8 (1)

;	M 0105		%then map NAME : ref DUP_DATA_BASE
;	M 0106		%else bind NAME = .MCB$GAW_PROCESS_DATA_BASE [1] : DUP_DATA_BASE
;	  0107		%fi %,
;	M 0108	    GET_KMC_DATA_BASE (NAME) =
;	M 0109		%if %declared (NAME)
;	M 0110		%then map NAME : ref KMC_DATA_BASE
;	M 0111		%else bind NAME = .MCB$GAW_PROCESS_DATA_BASE [1] : KMC_DATA_BASE
;	  0112		%fi %;
KDPINI								25-Jan-1983 09:55:38	TOPS-20 Bliss-16 3(552)		    Page   4
X04030								30-Dec-1982 03:15:25	NETPKG:<DRIVERS>KDPINI.B16.8 (2)

;	  0113	global routine KDPNMI =
;	  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_DUP_DATA_BASE (DB);
;	  0138	
;	  0139	    local
;	  0140		NAME_BUFFER : vector [ch$allocation (17)],
;	  0141		NMXID,
;	  0142		NMXPIX,
;	  0143		SAVE_MAP;
;	  0144	
;	  0145	    bind
;	  0146		NAME_PTR = ch$ptr (NAME_BUFFER);
;	  0147	
;	  0148	    if not $MCB_GET_PROCESS_HANDLE (%rad50_11 'NMX', NMXPIX) then return FALSE;
;	  0149	
;	  0150	    SMAP$ (SAVE_MAP);
;	  0151	    MAP$ (.DB [D_EXT_BIAS]);
;	  0152	    $MCB_GET_DEVICE_NAME (.block [.DB [D_EXT_ADDR], E_ENTITY], NAME_PTR);
;	  0153	    NMX$OBTAIN_LINE_PROVIDER (.NMXPIX, NAME_PTR, NMXPIX, NMXID);
;	  0154	    block [.DB [D_EXT_ADDR], E_ENTITY] = .NMXID;
;	  0155	    MAP$ (.SAVE_MAP);
;	  0156	    TRUE
;	  0157	    end;			!of routine KDPNMI


						.TITLE	KDPINI
						.IDENT	/X04030/

						.GLOBL	.CRDAT, .CRPIX, P.DTGT, $CALLI
						.GLOBL	KISAR6, D.NMGT, $NMGID, $CALLP
KDPINI								25-Jan-1983 09:55:38	TOPS-20 Bliss-16 3(552)		    Page   5
X04030								30-Dec-1982 03:15:25	NETPKG:<DRIVERS>KDPINI.B16.8 (2)



						.SBTTL	KDPNMI
000000						.PSECT	$CODE$,  RO 

000000	004167  000000G			KDPNMI::JSR	R1,$SAVE2			;					0113
000004	162706  000030 				SUB	#30,SP
000010	016701  000002G				MOV	.CRDAT+2,R1			;					0136
000014	012746  000006 				MOV	#6,-(SP)			;					0148
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	016616  000004 				MOV	4(SP),(SP)			; $MCB$MY.INDEX,NMXPIX
000060	032700  000001 				BIT	#1,R0				; *,$MCB$STATUS
000064	001002 					BNE	2$
000066	005000 				1$:	CLR	R0
000070	000456 					BR	3$
000072	016702  000000G			2$:	MOV	KISAR6,R2			; *,SAVE.MAP				0150
000076	016167  000036  000000G			MOV	36(R1),KISAR6			;					0151
000104	012746  000010 				MOV	#10,-(SP)			;					0152
000110	060616 					ADD	SP,(SP)				; NAME.PTR,*
000112	016101  000040 				MOV	40(R1),R1
000116	016146  000014 				MOV	14(R1),-(SP)
000122	012746  000002 				MOV	#2,-(SP)
000126	012746  000000G				MOV	#D.NMGT,-(SP)
000132	004767  000000G				JSR	PC,$CALLI
000136	012716  000012 				MOV	#12,(SP)			;					0153
000142	060616 					ADD	SP,(SP)				; NMXID,*
000144	012746  000012 				MOV	#12,-(SP)
000150	060616 					ADD	SP,(SP)				; NMXPIX,*
000152	012746  000022 				MOV	#22,-(SP)
000156	060616 					ADD	SP,(SP)				; NAME.PTR,*
000160	012746  001004 				MOV	#1004,-(SP)
000164	012746  000004 				MOV	#4,-(SP)
000170	012746  000000G				MOV	#$NMGID,-(SP)
000174	016646  000022 				MOV	22(SP),-(SP)			; NMXPIX,*
000200	004767  000000G				JSR	PC,$CALLP
000204	016661  000026  000014 			MOV	26(SP),14(R1)			; NMXID,*				0154
000212	010267  000000G				MOV	R2,KISAR6			; SAVE.MAP,*				0155
000216	062706  000024 				ADD	#24,SP				;					0136
000222	012700  000001 				MOV	#1,R0				;					0113
000226	062706  000030 			3$:	ADD	#30,SP
000232	000207 					RTS	PC

; Routine Size:  78 words,	Routine Base:  $CODE$ + 0000
; Maximum stack depth per invocation:  26 words
KDPINI								25-Jan-1983 09:55:38	TOPS-20 Bliss-16 3(552)		    Page   6
X04030								30-Dec-1982 03:15:25	NETPKG:<DRIVERS>KDPINI.B16.8 (3)

;	  0158	routine NXM_CATCHER (SIG, MCH, ENB) =
;	  0159	
;	  0160	!++
;	  0161	! FUNCTIONAL DESCRIPTION:
;	  0162	!
;	  0163	!
;	  0164	! FORMAL PARAMETERS:
;	  0165	!	SIG = signal vector address
;	  0166	!	MCH = mechanism vector address
;	  0167	!	ENB = enable vector address
;	  0168	!
;	  0169	! IMPLICIT INPUTS:
;	  0170	!	None
;	  0171	!
;	  0172	! IMPLICIT OUTPUTS:
;	  0173	!	None
;	  0174	!
;	  0175	! ROUTINE VALUE:
;	  0176	! COMPLETION CODES:
;	  0177	!	None
;	  0178	!
;	  0179	! SIDE EFFECTS:
;	  0180	!	None
;	  0181	!--
;	  0182	
;	  0183	    begin
;	  0184	
;	  0185	    map
;	  0186		ENB : ref vector,
;	  0187		MCH : ref vector,
;	  0188		SIG : ref vector;
;	  0189	
;	  0190	    if .SIG [1] neq SS$NXM then return FALSE;
;	  0191	
;	  0192	    .ENB [1] = TRUE;
;	  0193	    TRUE
;	  0194	    end;			!of routine NXM_CATCHER


						.SBTTL	NXM.CATCHER
000000	016600  000006 			NXM.CATCHER:
						MOV	6(SP),R0			; SIG,*					0190
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,*					0192
000024	012770  000001  000002 			MOV	#1,@2(R0)
000032	012700  000001 				MOV	#1,R0				;					0158
000036	000207 					RTS	PC

; Routine Size:  16 words,	Routine Base:  $CODE$ + 0234
KDPINI								25-Jan-1983 09:55:38	TOPS-20 Bliss-16 3(552)		    Page   7
X04030								30-Dec-1982 03:15:25	NETPKG:<DRIVERS>KDPINI.B16.8 (3)

; Maximum stack depth per invocation:  0 words
KDPINI								25-Jan-1983 09:55:38	TOPS-20 Bliss-16 3(552)		    Page   8
X04030								30-Dec-1982 03:15:25	NETPKG:<DRIVERS>KDPINI.B16.8 (4)

;	  0195	global routine REGISTER_NXM
;	  0196	
;	  0197	!++
;	  0198	! FUNCTIONAL DESCRIPTION:
;	  0199	!
;	  0200	!
;	  0201	! FORMAL PARAMETERS:
;	  0202	       (CSR : ref vector volatile,
;	  0203		NUM)
;	  0204	!
;	  0205	! IMPLICIT INPUTS:
;	  0206	!	None
;	  0207	!
;	  0208	! IMPLICIT OUTPUTS:
;	  0209	!	None
;	  0210	!
;	  0211	! ROUTINE VALUE:
;	  0212		: KDP_CSR_NUM =
;	  0213	!
;	  0214	! SIDE EFFECTS:
;	  0215	!	None
;	  0216	!--
;	  0217	
;	  0218	    begin
;	  0219	
;	  0220	    local
;	  0221		FLAG : volatile, %(BLISS initializes to 0 = FALSE)%
;	  0222		TEMP;
;	  0223	
;	  0224	    enable
;	  0225		NXM_CATCHER (FLAG);
;	  0226	
;	  0227	    do
;	  0228		begin
;	  0229		TEMP = .CSR [0];
;	  0230		CSR = CSR [1];
;	  0231		end
;	  0232	    while (NUM = .NUM - 1) nequ 0;
;	  0233	
;	  0234	    .FLAG
;	  0235	    end;			!of routine REGISTER_NXM


						.SBTTL	KMCNXM
000000	004167  000000G			KMCNXM::JSR	R1,$SAVE5			;					0195
000004	005046 					CLR	-(SP)				; FLAG
000006	012746  000350'				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
000030	012002 				1$:	MOV	(R0)+,R2			; CSR,TEMP				0229
KDPINI								25-Jan-1983 09:55:38	TOPS-20 Bliss-16 3(552)		    Page   9
X04030								30-Dec-1982 03:15:25	NETPKG:<DRIVERS>KDPINI.B16.8 (4)

000032	077102 					SOB	R1,1$				; NUM,*					0232
000034	016600  000006 				MOV	6(SP),R0			; FLAG,*				0234
000040	017767  000000G 000000G			MOV	@$IGREG,$IGREG			;					0195
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  000234'				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$ + 0274
; Maximum stack depth per invocation:  14 words


;	  0236	end
;	  0237	eludom



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


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




;				LIBRARY STATISTICS
;
;					     -------- Symbols --------    Blocks
;	File				     Total    Loaded   Percent      Read
;
;  NETPKG:<V3P0>MCBLIB.L16.7		       372        12         3         0
;  NETPKG:<BLIS16>XPORT.L16.1		       568         0         0         0
;  NETPKG:<MCB>NMXLIB.L16.13		       200         6         3         0
;  NETPKG:<DRIVERS>KDPDAT.L16.3		       227        48        21         0





;	  0238	
; Size:		130 code + 0 data words
KDPINI								25-Jan-1983 09:55:38	TOPS-20 Bliss-16 3(552)		    Page  10
X04030											

; Run Time:	   00:02.6
; Elapsed Time:	   00:08.2
; Memory Used:	24 pages
; Compilation Complete
BLISS16				   3
CSR				 202	 229	 230#
DB				 137	 151	 152	 154
DB_BIAS				 100#
DUP_DATA_BASE			 105	 106
D_EXT_ADDR			 152	 154
D_EXT_BIAS			 151
ENB				 158	 186	 192#
E_ENTITY			 152	 154
FALSE				  83#	 148	 190
FLAG				 221	 225	 234
GET_DUP_DATA_BASE		 103#	 137
GET_KMC_DATA_BASE		 108#
KDPINI				   1#
KDPNMI				  70	 113*
KDP_CSR_NUM			  72	 212#
KMC_DATA_BASE			 110	 111
LANGUAGE			   3
MAP$				 151	 155
MCB$GAW_PROCESS_DATA_BASE	  96	 106	 111
MCB$GW_PROCESS_HANDLE		  97
MCH				 158	 187
NAME				 103	 104	 105	 106#	 108	 109	 110	 111#
NAME_BUFFER			 140	 146
NAME_PTR			 146#	 152	 153
NMX$OBTAIN_LINE_PROVIDER	 153#
NMXID				 141	 153	 154
NMXPIX				 142	 148	 153
NO_OPERATION			  84#
NUM				 203	 232#
NXM_CATCHER			  71	 158*	 225
REGISTER_NXM			  72	 195*
SAVE_MAP			 143	 150	 155
SIG				 158	 188	 190
SMAP$				 150
SS$NXM				 190
TEMP				 222	 229#
TRUE				  85#	 156	 192	 193
$MCB_GET_DEVICE_NAME		 152
$MCB_GET_PROCESS_HANDLE		 148