Google
 

Trailing-Edge - PDP-10 Archives - BB-P363B-SM_1985 - mcb/cex/ini.lst
There is 1 other file named ini.lst in the archive. Click here to see a list.
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page   1
								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (1)

;	  0001	module INI (					! DN20 Initialization Process
;	  0002			ident = 'X03210',
;	  0003			language (bliss16)
;	  0004			) =
;	  0005	begin
;	  0006	!
;	  0007	!                    COPYRIGHT (c) 1980, 1981, 1982
;	  0008	!                    DIGITAL EQUIPMENT CORPORATION
;	  0009	!                        Maynard, Massachusetts
;	  0010	!
;	  0011	!     This software is furnished under a license and may  be  used
;	  0012	!     and copied only in accordance with the terms of such license
;	  0013	!     and with the inclusion of the above copyright notice.   This
;	  0014	!     software  or any other copies thereof may not be provided or
;	  0015	!     otherwise made available to any other person.  No  title  to
;	  0016	!     and ownership of the software is hereby transferred.
;	  0017	!
;	  0018	!     The information  in  this  software  is  subject  to  change
;	  0019	!     without  notice  and should not be construed as a commitment
;	  0020	!     by DIGITAL EQUIPMENT CORPORATION.
;	  0021	!
;	  0022	!     DIGITAL assumes no responsibility for the use or reliability
;	  0023	!     of  its  software  on  equipment  which  is  not supplied by
;	  0024	!     DIGITAL.
;	  0025	!
;	  0026	
;	  0027	!++
;	  0028	!
;	  0029	! FACILITY: DN20 Initialization
;	  0030	!
;	  0031	! ABSTRACT:
;	  0032	!
;	  0033	!	This process sets the load parameters, sends configuration
;	  0034	!	information to relavent processes, and starts the necessary
;	  0035	!	DECnet lines.
;	  0036	!
;	  0037	! ENVIRONMENT: MCB V3.0
;	  0038	!
;	  0039	! AUTHOR: Alan D. Peckham	CREATION DATE: 21-Oct-80
;	  0040	!
;	  0041	! MODIFIED BY:
;	  0042	!
;	  0043	!	Alan Peckham: 21-Oct-80
;	  0044	! 04	- Converted to BLISS.
;	  0045	! 05	- Make sure C_PRM5 state is DS_LIX2 when INILIX is called.
;	  0046	! 06	- Update process header for MCB V3.1
;	  0047	! 07	- Use Network Management interface calls for SC and NSP.
;	  0048	! 08	- Start up all lines at once.
;	  0049	! 10	- Line initialization in INILIX stopped with first unassigned line.
;	  0050	! 11	- Do SET LINE ON to PLP lines.
;	  0051	! 12	- Tell NMX what lines there are.
;	  0052	! 13	- Bug fix - we weren't setting the local node name in SC.
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page   2
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (1)

;	  0053	! 14	- (Lee Webber: 10-Jun-81)
;	  0054	!	  Modify to support new DLL/NM interface to TLI:
;	  0055	!	  o  Change "next routine" field in the INI function CCBs from
;	  0056	!	     C_PRM3 to C_PRM5;
;	  0057	!	  o  Add a routine to grant ownership of a circuit to its LLC
;	  0058	!	     before setting it ON;
;	  0059	!	  o  Do a "create circuit" before granting a circuit to the owner;
;	  0060	! 16	- Fix or/and bug in NSP_SET_ADDRESS.
;	  0061	!	  Do not set host number if no host given.
;	  0062	! 17	- do not setup node or host mapping in SC_ADD_NODE if blank
;	  0063	! 18	- Add support for DMR devices in INILIX.
;	  0064	! 19	- Fix INILIX to use new $MCB_GET_DEVICE_NAME for device names.
;	  0065	! 20	- Set proper host node number.
;	  0066	! 21    - (Jerry Weisbach 26-Feb-82) Add support for X.25 Line Entity.
;	  0067	!         o Remove routine DLC_SET_LINE_ON
;	  0068	!         o Add routines LLC_GRANT_LINE_OWNERSHIP and LLC_SET_LINE_ON.
;	  0069	!         o Modify INILIX to pass control start to Line owner.
;	  0070	
;	  0071	!--
;	  0072	
;	  0073	!
;	  0074	! INCLUDE FILES:
;	  0075	!
;	  0076	
;	  0077	library 'MCBLIB';
;	  0078	
;	  0079	library 'XPORTX';
;	  0080	
;	  0081	library 'NMXLIB';
;	  0082	
;	  0083	require 'DLLLIB';
;	  0337	
;	  0338	switches list (require);
;	  0339	$SHOW (FIELDS) $SHOW (LITERALS)
;	  0340	require 'INIDAT';
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page   3
X03210								30-Dec-1982 01:54:59	DNET61:<MCB.CEX>INIDAT.R16.1 (1)

;	 R0341	! [Beginning of INIDAT]
;	 R0342	!
;	 R0343	!
;	 R0344	!                    COPYRIGHT (c) 1980, 1981, 1982
;	 R0345	!                    DIGITAL EQUIPMENT CORPORATION
;	 R0346	!                        Maynard, Massachusetts
;	 R0347	!
;	 R0348	!     This software is furnished under a license and may  be  used
;	 R0349	!     and copied only in accordance with the terms of such license
;	 R0350	!     and with the inclusion of the above copyright notice.   This
;	 R0351	!     software  or any other copies thereof may not be provided or
;	 R0352	!     otherwise made available to any other person.  No  title  to
;	 R0353	!     and ownership of the software is hereby transferred.
;	 R0354	!
;	 R0355	!     The information  in  this  software  is  subject  to  change
;	 R0356	!     without  notice  and should not be construed as a commitment
;	 R0357	!     by DIGITAL EQUIPMENT CORPORATION.
;	 R0358	!
;	 R0359	!     DIGITAL assumes no responsibility for the use or reliability
;	 R0360	!     of  its  software  on  equipment  which  is  not supplied by
;	 R0361	!     DIGITAL.
;	 R0362	!
;	 R0363	
;	 R0364	!++
;	 R0365	!
;	 R0366	! FACILITY: DN20 Initialization
;	 R0367	!
;	 R0368	! ABSTRACT:
;	 R0369	!
;	 R0370	!	This contains the data structure definitions for DN20 initialization.
;	 R0371	!
;	 R0372	! ENVIRONMENT: MCB V3.0
;	 R0373	!
;	 R0374	! AUTHOR: Alan D. Peckham	CREATION DATE: 24-Oct-80
;	 R0375	!
;	 R0376	! MODIFIED BY:
;	 R0377	!
;	 R0378	!--
;	 R0379	!
;	 R0380	! Status Codes:
;	 R0381	!
;	 R0382	
;	 R0383	DECLARE_SEVERITY (INI, SEVERE);
;	 R0384	
;	 R0385	$INI_SEVERE (INI$_BAD_CODE, 'Value in C_PRM5 has been modified by called process')
;	 R0386	$INI_SEVERE (INI$_NO_CCB, 'Unable to allocate CCB during initialization')
;	 R0387	$INI_SEVERE (INI$_NO_INI, 'Unable to obtain my own PIX')
;	 R0388	$INI_SEVERE (INI$_NO_DSR, 'Unable to get DSR block')
;	 R0389	$INI_SEVERE (INI$_FAILED, 'Requested function failed')
;	 R0390	$INI_SEVERE (INI$_NO_CODE, 'No process for attached LLC PIX')
;	 R0391	
;	 R0392	!
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page   4
X03210								30-Dec-1982 01:54:59	DNET61:<MCB.CEX>INIDAT.R16.1 (1)

;	 R0393	! INI process data base
;	 R0394	!
;	 R0395	
;	 R0396	$FIELD
;	 R0397	    D_FIELDS =
;	 R0398		set
;	LR0399		D_TIM = [$BYTE],
; %PRINT:				  [0,0,8,0]   (+%O'0')
;	LR0400		D_LIX = [$BYTE],
; %PRINT:				  [0,8,8,0]   (+%O'1')
;	LR0401		D_ADR = [$SHORT_INTEGER],
; %PRINT:				  [1,0,16,1]   (+%O'2')
;	LR0402		D_NAM = [$BYTES (6)],
; %PRINT:				  [2,0,0,0]   (+%O'4')
;	LR0403		D_HST = [$BYTES (6)],
; %PRINT:				  [5,0,0,0]   (+%O'12')
;	LR0404		D_HAD = [$SHORT_INTEGER]
; %PRINT:				  [8,0,16,1]   (+%O'20')
;	 R0405		tes;
;	 R0406	
;	 R0407	$LITERAL
;	LR0408	    D_LEN = $FIELD_SET_SIZE;
; %PRINT:				  9 fullwords
;	 R0409	
;	 R0410	!
;	 R0411	! [End of INIDAT]
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page   5
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (1)

;	  0412	switches list (norequire);
;	  0413	
;	  0414	
;	  0415	!
;	  0416	! TABLE OF CONTENTS:
;	  0417	!
;	  0418	
;	  0419	forward routine
;	  0420	    CRASH_ON_NEGATIVE_STATUS : LINKAGE_DB_CCB,
;	  0421	    GET_NM_CCB,
;	  0422	    INICCP : MCB_DB_CCB_MOD novalue,
;	  0423	    INILIX : LINKAGE_DB_CCB,
;	  0424	    INITIM : MCB_DB_MOD novalue,
;	  0425	    LLC_GRANT_CIRCUIT_OWNERSHIP : LINKAGE_DB_CCB,
;	  0426	    LLC_SET_CIRCUIT_ON : LINKAGE_DB_CCB,
;	  0427	    LLC_GRANT_LINE_OWNERSHIP : LINKAGE_DB_CCB,
;	  0428	    LLC_SET_LINE_ON : LINKAGE_DB_CCB,
;	  0429	    NSP_SET_ADDRESS : LINKAGE_DB_CCB,
;	  0430	    RETURN_NM_CCB : LINKAGE_CCB novalue,
;	  0431	    SC_ADD_NODE : LINKAGE_DB_CCB,
;	  0432	    SC_SET_HOST : LINKAGE_DB_CCB,
;	  0433	    SC_SET_NODE_ON : LINKAGE_DB_CCB,
;	  0434	    XPT_INITIALIZE : LINKAGE_DB_CCB;
;	  0435	
;	  0436	!
;	  0437	! MACROS:
;	  0438	!
;	  0439	!	None
;	  0440	!
;	  0441	! EQUATED SYMBOLS:
;	  0442	!
;	  0443	
;	  0444	$field
;	  0445	    N_FIELDS =
;	  0446		set
;	L 0447		N_BYTES = [$BYTE],
; %PRINT:				  [0,0,8,0]   (+%O'0')
;	L 0448		N_STRING = [$BYTES (15)]
; %PRINT:				  [0,8,0,0]   (+%O'1')
;	  0449		tes;
;	  0450	
;	  0451	literal
;	L 0452	    N_LENGTH = $FIELD_SET_SIZE;
; %PRINT:				  8 fullwords
;	  0453	
;	  0454	literal
;	  0455	    DSR_LENGTH = (5 + 4 + N_LENGTH)^1,
;	  0456	    FALSE = 1 eql 0,
;	  0457	    TRUE = 1 eql 1;
;	  0458	
;	  0459	global literal
;	  0460	    %name ('D.LEN') = D_LEN^1;
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page   6
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (1)

;	  0461	
;	  0462	!
;	  0463	! OWN STORAGE:
;	  0464	!
;	  0465	
;	  0466	external routine
;	  0467	    $DSPCR : novalue;
;	  0468	
;	P 0469	$MCB_PROCESS (
;	P 0470	    NAME = INI,					! Process name
;	P 0471	    LLC_DISPATCH = TABLE$ ($DSPCR, FC_CCP,	! Dispatch vector:
;	P 0472		(FC_CCP, INICCP), 			!  control complete
;	  0473		(FC_TIM, INITIM)));			!  timeout
;	  0474	!
;	  0475	! EXTERNAL REFERENCES:
;	  0476	!
;	  0477	
;	  0478	external
;	  0479	    MCB$GAW_PROCESS_DATA_BASE : vector [2],
;	  0480	    MCB$GW_PROCESS_HANDLE;
;	  0481	
;	  0482	bind
;	  0483	    DB = MCB$GAW_PROCESS_DATA_BASE [1] : ref block field (D_FIELDS),
;	  0484	    DB_BIAS = MCB$GAW_PROCESS_DATA_BASE [0];
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page   7
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (2)

;	  0485	routine CRASH_ON_NEGATIVE_STATUS (DB, CCB) : LINKAGE_DB_CCB =
;	  0486	
;	  0487	!++
;	  0488	! FUNCTIONAL DESCRIPTION:
;	  0489	!
;	  0490	!
;	  0491	! FORMAL PARAMETERS:
;	  0492	!	None
;	  0493	!
;	  0494	! IMPLICIT INPUTS:
;	  0495	!	None
;	  0496	!
;	  0497	! IMPLICIT OUTPUTS:
;	  0498	!	None
;	  0499	!
;	  0500	! ROUTINE VALUE:
;	  0501	! COMPLETION CODES:
;	  0502	!	None
;	  0503	!
;	  0504	! SIDE EFFECTS:
;	  0505	!	None
;	  0506	!--
;	  0507	
;	  0508	    begin
;	  0509	
;	  0510	    map
;	  0511		DB : ref block field (D_FIELDS),
;	  0512		CCB : ref block field (C_FIELDS);
;	  0513	
;	  0514	    if .CCB [C_STS] lss 0
;	  0515	    then
;	  0516		SIGNAL_STOP (INI$_FAILED, .CCB [C_STS], .CCB);
;	  0517	
;	  0518	    CCB [C_PRM5] = .CCB [C_PRM4];
;	  0519	    CCB [C_PRM4] = 0;
;	  0520	    FALSE
;	  0521	    end;				!of routine CRASH_ON_NEGATIVE_STATUS


						.TITLE	INI
						.IDENT	/X03210/


000000						.PSECT	......,  D  
000000	035171 				HEADER: .RAD50	/INI/
000002	000403 					.WORD	403
000004	000000 					.WORD	0
000006	000000 					.WORD	0
000010	000000 					.WORD	0
000012	000000'					.WORD	P.AAA
000014	000000G					.WORD	.DSPCR
000016	000000G					.WORD	.DSPCR
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page   8
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (2)

000020	000000G					.WORD	MCB$V0
000022	000000G					.WORD	MCB$V1
000024	140310 					.WORD	140310
000026	143716 					.WORD	143716
000030	001400 					.WORD	1400
000032	000000 					.WORD	0
000034	000000 					.WORD	0
000036	000000 					.WORD	0



000000						.PSECT	$PLIT$,  RO ,  D  
000000	000000G				P.AAA:	.WORD	$DSPCR
000002	000000G					.WORD	$DSPCR
000004	000000G					.WORD	$DSPCR
000006	000000G					.WORD	$DSPCR
000010	000000G					.WORD	$DSPCR
000012	000000V					.WORD	INITIM
000014	000000G					.WORD	$DSPCR
000016	000000G					.WORD	$DSPCR
000020	000000G					.WORD	$DSPCR
000022	000000V					.WORD	INICCP


						.GLOBL	$DSPCR, .DSPCR, MCB$V0, MCB$V1
						.GLOBL	.CRDAT, .CRPIX


	000022 				D.LEN==		    22


						.SBTTL	CRASH.ON.NEGATIVE.STATUS
000000						.PSECT	$CODE$,  RO 

000000	016400  000014 			CRASH.ON.NEGATIVE.STATUS:
						MOV	14(R4),R0			; *(CCB),*				0514
000004	002012 					BGE	1$
000006	010446 					MOV	R4,-(SP)			; CCB,*					0516
000010	010046 					MOV	R0,-(SP)
000012	012746  100044 				MOV	#-77734,-(SP)
000016	012746  000003 				MOV	#3,-(SP)
000022	004767  000000G				JSR	PC,$STOP
000026	062706  000010 				ADD	#10,SP
000032	016464  000032  000034 		1$:	MOV	32(R4),34(R4)			; *(CCB),*(CCB)				0518
000040	005064  000032 				CLR	32(R4)				; *(CCB)				0519
000044	005000 					CLR	R0				;					0485
000046	000207 					RTS	PC

; Routine Size:  20 words,	Routine Base:  $CODE$ + 0000
; Maximum stack depth per invocation:  5 words
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page   9
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (3)

;	  0522	routine GET_NM_CCB (CCB_ADR) =
;	  0523	
;	  0524	!++
;	  0525	! FUNCTIONAL DESCRIPTION:
;	  0526	!
;	  0527	!
;	  0528	! FORMAL PARAMETERS:
;	  0529	!	None
;	  0530	!
;	  0531	! IMPLICIT INPUTS:
;	  0532	!	None
;	  0533	!
;	  0534	! IMPLICIT OUTPUTS:
;	  0535	!	None
;	  0536	!
;	  0537	! ROUTINE VALUE:
;	  0538	! COMPLETION CODES:
;	  0539	!	None
;	  0540	!
;	  0541	! SIDE EFFECTS:
;	  0542	!	None
;	  0543	!--
;	  0544	
;	  0545	    begin
;	  0546	
;	  0547	    local
;	  0548		CCB : ref block field (C_FIELDS);
;	  0549	
;	  0550	    if not $MCB_GET_CCB (CCB) then return FALSE;
;	  0551	
;	  0552	    if not $MCB_GET_DSR (DSR_LENGTH, CCB [C_ADDR])
;	  0553	    then
;	  0554		begin
;	  0555		$MCB_RETURN_CCB (.CCB);
;	  0556		return FALSE
;	  0557		end;
;	  0558	
;	  0559	    .CCB_ADR = .CCB;
;	  0560	    TRUE
;	  0561	    end;					!of routine GET_NM_CCB


						.GLOBL	$CCBGT, $DSRGT, $CCBRT


						.SBTTL	GET.NM.CCB
000000	004167  000000G			GET.NM.CCB:
						JSR	R1,$SAVE4			;					0522
000004	004767  000000G				JSR	PC,$CCBGT			;					0550
000010	103414 					BCS	2$
000012	010402 					MOV	R4,R2				; $MCB$R4,CCB
000014	012701  000042 				MOV	#42,R1				;					0552
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  10
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (3)

000020	004767  000000G				JSR	PC,$DSRGT
000024	103403 					BCS	1$
000026	010062  000020 				MOV	R0,20(R2)			; $MCB$R0,*(CCB)
000032	000405 					BR	3$
000034	010204 				1$:	MOV	R2,R4				; CCB,*					0555
000036	004767  000000G				JSR	PC,$CCBRT
000042	005000 				2$:	CLR	R0				;					0554
000044	000207 					RTS	PC
000046	010276  000014 			3$:	MOV	R2,@14(SP)			; CCB,CCB.ADR				0559
000052	012700  000001 				MOV	#1,R0				;					0522
000056	000207 					RTS	PC

; Routine Size:  24 words,	Routine Base:  $CODE$ + 0050
; Maximum stack depth per invocation:  6 words
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  11
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (4)

;	  0562	routine INICCP (DB, CCB, MODF) : MCB_DB_CCB_MOD novalue =
;	  0563	
;	  0564	!++
;	  0565	! FUNCTIONAL DESCRIPTION:
;	  0566	!
;	  0567	!
;	  0568	! FORMAL PARAMETERS:
;	  0569	!	None
;	  0570	!
;	  0571	! IMPLICIT INPUTS:
;	  0572	!	None
;	  0573	!
;	  0574	! IMPLICIT OUTPUTS:
;	  0575	!	None
;	  0576	!
;	  0577	! ROUTINE VALUE:
;	  0578	! COMPLETION CODES:
;	  0579	!	None
;	  0580	!
;	  0581	! SIDE EFFECTS:
;	  0582	!	None
;	  0583	!--
;	  0584	
;	  0585	    begin
;	  0586	
;	  0587	    map
;	  0588		DB : ref block field (D_FIELDS),
;	  0589		CCB : ref block field (C_FIELDS);
;	  0590	
;	  0591	    if .CCB [C_STS] lss 0
;	  0592	    then
;	  0593		SIGNAL_STOP (INI$_FAILED, .CCB [C_STS], .CCB);
;	  0594	
;	  0595	    do 0 until LINKAGE_DB_CCB (.CCB [C_PRM5], .DB, .CCB);
;	  0596	
;	  0597	    end;					!of routine INICCP


						.SBTTL	INICCP
000000	016400  000014 			INICCP: MOV	14(R4),R0			; *(CCB),*				0591
000004	002012 					BGE	1$
000006	010446 					MOV	R4,-(SP)			; CCB,*					0593
000010	010046 					MOV	R0,-(SP)
000012	012746  100044 				MOV	#-77734,-(SP)
000016	012746  000003 				MOV	#3,-(SP)
000022	004767  000000G				JSR	PC,$STOP
000026	062706  000010 				ADD	#10,SP
000032	004774  000034 			1$:	JSR	PC,@34(R4)			; *,*(CCB)				0595
000036	006000 					ROR	R0
000040	103374 					BCC	1$
000042	000207 					RTS	PC				;					0562
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  12
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (4)

; Routine Size:  18 words,	Routine Base:  $CODE$ + 0130
; Maximum stack depth per invocation:  5 words
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  13
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (5)

;	  0598	routine INILIX (DB, CCB) : LINKAGE_DB_CCB =
;	  0599	
;	  0600	!++
;	  0601	! FUNCTIONAL DESCRIPTION:
;	  0602	!
;	  0603	!
;	  0604	! FORMAL PARAMETERS:
;	  0605	!	None
;	  0606	!
;	  0607	! IMPLICIT INPUTS:
;	  0608	!	None
;	  0609	!
;	  0610	! IMPLICIT OUTPUTS:
;	  0611	!	None
;	  0612	!
;	  0613	! ROUTINE VALUE:
;	  0614	! COMPLETION CODES:
;	  0615	!	None
;	  0616	!
;	  0617	! SIDE EFFECTS:
;	  0618	!	None
;	  0619	!--
;	  0620	
;	  0621	    begin
;	  0622	
;	  0623	    map
;	  0624		DB : ref block field (D_FIELDS),
;	  0625		CCB : ref block field (C_FIELDS);
;	  0626	
;	  0627	    do
;	  0628		begin
;	  0629		CCB [C_LIX] = DB [D_LIX] = .DB [D_LIX] + 1;
;	  0630	
;	  0631		if GTPRC$ (.CCB)
;	  0632		then
;	  0633		    begin
;	  0634	
;	  0635		    local
;	  0636			NMX_PIX;
;	  0637	
;	  0638	!
;	  0639	!  Construct the circuit ID.
;	  0640	!
;	  0641	
;	  0642		    $MCB_GET_DEVICE_NAME (.CCB[C_LIX], .CCB [C_ADDR]);
;	  0643	
;	  0644	!
;	  0645	!  Create the circuit at Network Management
;	  0646	!
;	  0647	
;	  0648	
;	  0649		    if not $MCB_GET_PROCESS_HANDLE (%rad50_11'NMX', NMX_PIX)
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  14
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (5)

;	  0650		    then
;	  0651			NMX_PIX = 0;
;	  0652	
;	  0653	
;	  0654	!
;	  0655	!  Dispatch the CCB to the owner process
;	  0656	!
;	  0657	
;	  0658		    if .CCB [C_PRM1] neq 0
;	  0659		    then
;	  0660			begin
;	  0661	
;	  0662			local
;	  0663			    PROCESS;
;	  0664	
;	  0665			if not PDVNM$ (.CCB [C_PRM1], PROCESS)
;	  0666			then
;	  0667			    SIGNAL_STOP (INI$_NO_CODE);
;	  0668	
;	  0669			selectone .PROCESS of
;	  0670			    set
;	  0671			    [%rad50_11'TLI'] :
;	  0672				begin
;	  0673				if .NMX_PIX neq 0
;	  0674				then
;	  0675	                            NMX$CREATE_CIRCUIT (.NMX_PIX, .CCB[C_ADDR], 0, NMX_PIX);
;	  0676				CCB [C_PRM5] = LLC_GRANT_CIRCUIT_OWNERSHIP;
;	  0677				CCB [C_PRM4] = .CCB [C_PRM1];
;	  0678				CCB [C_PIX] = .MCB$GW_PROCESS_HANDLE;
;	  0679				CCB [C_FNC] = FC_CCP;
;	  0680				$MCB_SCHEDULE_CCB (.CCB);
;	  0681				end;
;	  0682	
;	  0683			    [%rad50_11'PLP'] :
;	  0684				begin
;	  0685				if .NMX_PIX neq 0
;	  0686				then
;	  0687	                            NMX$CREATE_LINE (.NMX_PIX, .CCB[C_ADDR], 0, NMX_PIX);
;	  0688				CCB [C_PRM5] = LLC_GRANT_LINE_OWNERSHIP;
;	  0689				CCB [C_PRM4] = .CCB [C_PRM1];
;	  0690				CCB [C_PIX] = .MCB$GW_PROCESS_HANDLE;
;	  0691				CCB [C_FNC] = FC_CCP;
;	  0692				$MCB_SCHEDULE_CCB (.CCB);
;	  0693				end;
;	  0694	
;	  0695			    [otherwise] :
;	  0696				RETURN_NM_CCB (.CCB);
;	  0697	
;	  0698			    tes;
;	  0699	
;	  0700			end
;	  0701		    else
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  15
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (5)

;	  0702			RETURN_NM_CCB (.CCB)
;	  0703	
;	  0704		    end
;	  0705		else
;	  0706		    begin
;	  0707		    RETURN_NM_CCB (.CCB);
;	  0708		    return TRUE;
;	  0709		    end;
;	  0710	
;	  0711		end
;	  0712	    while GET_NM_CCB (CCB);
;	  0713	
;	  0714	    FALSE
;	  0715	    end;					!of routine INILIX


						.GLOBL	S.LTGT, $CALLI, D.NMGT, P.DTGT
						.GLOBL	P.NMGT, $NMCRE, $CALLP, $SCHED


						.SBTTL	INILIX
000000	004167  000000G			INILIX: JSR	R1,$SAVE5			;					0598
000004	162706  000014 				SUB	#14,SP
000010	010466  000004 				MOV	R4,4(SP)			; *,CCB
000014	010566  000002 				MOV	R5,2(SP)
000020	016601  000004 			1$:	MOV	4(SP),R1			; CCB,*					0629
000024	012716  000010 				MOV	#10,(SP)
000030	060116 					ADD	R1,(SP)
000032	017600  000002 				MOV	@2(SP),R0
000036	105000 					CLRB	R0
000040	000300 					SWAB	R0
000042	005200 					INC	R0
000044	017646  000002 				MOV	@2(SP),-(SP)
000050	110066  000001 				MOVB	R0,1(SP)
000054	012676  000002 				MOV	(SP)+,@2(SP)
000060	110076  000000 				MOVB	R0,@0(SP)
000064	012746  000024 				MOV	#24,-(SP)			;					0631
000070	060116 					ADD	R1,(SP)
000072	005046 					CLR	-(SP)
000074	116116  000010 				MOVB	10(R1),(SP)
000100	012746  000002 				MOV	#2,-(SP)
000104	012746  000000G				MOV	#S.LTGT,-(SP)
000110	004767  000000G				JSR	PC,$CALLI
000114	062706  000010 				ADD	#10,SP
000120	032700  000001 				BIT	#1,R0
000124	001002 					BNE	2$
000126	000167  000432 				JMP	13$
000132	016103  000020 			2$:	MOV	20(R1),R3			;					0642
000136	010346 					MOV	R3,-(SP)
000140	005046 					CLR	-(SP)
000142	117616  000004 				MOVB	@4(SP),(SP)
000146	012746  000002 				MOV	#2,-(SP)
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  16
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (5)

000152	012746  000000G				MOV	#D.NMGT,-(SP)
000156	004767  000000G				JSR	PC,$CALLI
000162	012716  000022 				MOV	#22,(SP)			;					0649
000166	060616 					ADD	SP,(SP)				; $MCB$MY.INDEX,*
000170	012746  054640 				MOV	#54640,-(SP)
000174	012746  000002 				MOV	#2,-(SP)
000200	012746  000000G				MOV	#P.DTGT,-(SP)
000204	004767  000000G				JSR	PC,$CALLI
000210	062706  000006 				ADD	#6,SP
000214	010004 					MOV	R0,R4				; *,$MCB$STATUS
000216	006000 					ROR	R0
000220	103003 					BCC	3$
000222	016666  000022  000016 			MOV	22(SP),16(SP)			; $MCB$MY.INDEX,NMX.PIX
000230	032704  000001 			3$:	BIT	#1,R4				; *,$MCB$STATUS
000234	001002 					BNE	4$
000236	005066  000016 				CLR	16(SP)				; NMX.PIX				0651
000242	012702  000024 			4$:	MOV	#24,R2				;					0658
000246	060102 					ADD	R1,R2
000250	005712 					TST	(R2)
000252	001536 					BEQ	11$
000254	012716  000020 				MOV	#20,(SP)			;					0665
000260	060616 					ADD	SP,(SP)				; $MCB$NAME,*
000262	011246 					MOV	(R2),-(SP)
000264	012746  000002 				MOV	#2,-(SP)
000270	012746  000000G				MOV	#P.NMGT,-(SP)
000274	004767  000000G				JSR	PC,$CALLI
000300	062706  000006 				ADD	#6,SP
000304	010004 					MOV	R0,R4				; *,$MCB$STATUS
000306	006000 					ROR	R0
000310	103002 					BCC	5$
000312	016605  000020 				MOV	20(SP),R5			; $MCB$NAME,PROCESS
000316	032704  000001 			5$:	BIT	#1,R4				; *,$MCB$STATUS
000322	001007 					BNE	6$
000324	012716  100054 				MOV	#-77724,(SP)			;					0667
000330	012746  000001 				MOV	#1,-(SP)
000334	004767  000000G				JSR	PC,$STOP
000340	005726 					TST	(SP)+
000342	020527  077351 			6$:	CMP	R5,#77351			; PROCESS,*				0669
000346	001027 					BNE	8$
000350	016600  000016 				MOV	16(SP),R0			; NMX.PIX,*				0673
000354	001420 					BEQ	7$
000356	012716  000016 				MOV	#16,(SP)			;					0675
000362	060616 					ADD	SP,(SP)				; NMX.PIX,*
000364	005046 					CLR	-(SP)
000366	010346 					MOV	R3,-(SP)
000370	012746  002000 				MOV	#2000,-(SP)
000374	012746  000004 				MOV	#4,-(SP)
000400	012746  000000G				MOV	#$NMCRE,-(SP)
000404	010046 					MOV	R0,-(SP)
000406	004767  000000G				JSR	PC,$CALLP
000412	062706  000014 				ADD	#14,SP
000416	012761  000000V 000034 		7$:	MOV	#LLC.GRANT.CIRCUIT.OWNERSHIP,34(R1) ; 					0676
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  17
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (5)

000424	000431 					BR	10$				;					0677
000426	020527  062760 			8$:	CMP	R5,#62760			; PROCESS,*				0669
000432	001046 					BNE	11$
000434	016600  000016 				MOV	16(SP),R0			; NMX.PIX,*				0685
000440	001420 					BEQ	9$
000442	012716  000016 				MOV	#16,(SP)			;					0687
000446	060616 					ADD	SP,(SP)				; NMX.PIX,*
000450	005046 					CLR	-(SP)
000452	010346 					MOV	R3,-(SP)
000454	012746  001000 				MOV	#1000,-(SP)
000460	012746  000004 				MOV	#4,-(SP)
000464	012746  000000G				MOV	#$NMCRE,-(SP)
000470	010046 					MOV	R0,-(SP)
000472	004767  000000G				JSR	PC,$CALLP
000476	062706  000014 				ADD	#14,SP
000502	012761  000000V 000034 		9$:	MOV	#LLC.GRANT.LINE.OWNERSHIP,34(R1);					0688
000510	011261  000032 			10$:	MOV	(R2),32(R1)			;					0689
000514	017646  000010 				MOV	@10(SP),-(SP)			;					0690
000520	116766  000000G 000001 			MOVB	.CRPIX,1(SP)
000526	012676  000010 				MOV	(SP)+,@10(SP)
000532	112761  000022  000012 			MOVB	#22,12(R1)			;					0691
000540	010104 					MOV	R1,R4				;					0692
000542	004767  000000G				JSR	PC,$SCHED
000546	000403 					BR	12$				;					0669
000550	010104 				11$:	MOV	R1,R4				;					0702
000552	004767  000000V				JSR	PC,RETURN.NM.CCB
000556	062706  000010 			12$:	ADD	#10,SP				;					0633
000562	000406 					BR	14$				;					0631
000564	010104 				13$:	MOV	R1,R4				;					0707
000566	004767  000000V				JSR	PC,RETURN.NM.CCB
000572	012700  000001 				MOV	#1,R0				;					0706
000576	000413 					BR	16$
000600	012746  000006 			14$:	MOV	#6,-(SP)			;					0712
000604	060616 					ADD	SP,(SP)				; CCB,*
000606	004767  177042 				JSR	PC,GET.NM.CCB
000612	005726 					TST	(SP)+
000614	006000 					ROR	R0
000616	103002 					BHIS	15$
000620	000167  177174 				JMP	1$
000624	005000 				15$:	CLR	R0				;					0598
000626	062706  000014 			16$:	ADD	#14,SP
000632	000207 					RTS	PC

; Routine Size:  206 words,	Routine Base:  $CODE$ + 0174
; Maximum stack depth per invocation:  23 words
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  18
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (6)

;	  0716	routine INITIM (DB, MODF) : MCB_DB_MOD novalue =
;	  0717	
;	  0718	!++
;	  0719	! FUNCTIONAL DESCRIPTION:
;	  0720	!
;	  0721	!
;	  0722	! FORMAL PARAMETERS:
;	  0723	!	None
;	  0724	!
;	  0725	! IMPLICIT INPUTS:
;	  0726	!	None
;	  0727	!
;	  0728	! IMPLICIT OUTPUTS:
;	  0729	!	None
;	  0730	!
;	  0731	! ROUTINE VALUE:
;	  0732	! COMPLETION CODES:
;	  0733	!	None
;	  0734	!
;	  0735	! SIDE EFFECTS:
;	  0736	!	None
;	  0737	!--
;	  0738	
;	  0739	    if .MODF eql FM_PIN
;	  0740	    then
;	  0741		begin
;	  0742	
;	  0743		map
;	  0744		    DB : ref block field (D_FIELDS);
;	  0745	
;	  0746		local
;	  0747		    CCB : ref block field (C_FIELDS);
;	  0748	
;	  0749		external
;	  0750		    $SYSIZ : block [3];
;	  0751	
;	  0752		if .$SYSIZ [2, 0, 16, 1] eql -1 and .$SYSIZ [1, 8, 8, 1] eql -1
;	  0753		then
;	  0754		    begin
;	  0755	
;	  0756		    linkage
;	  0757			COPY_LINKAGE = jsr (register = 2, register = 0, register = 1) : nopreserve (0, 1, 2);
;	  0758	
;	  0759		    routine COPY (FROM_ADR, LNG, TO_ADR) : COPY_LINKAGE NOVALUE =
;	  0760	
;	  0761			if ..FROM_ADR neq 0
;	  0762			then
;	  0763	
;	  0764			    do ch$wchar_a (ch$rchar_a (FROM_ADR), TO_ADR)
;	  0765			    while (LNG = .LNG - 1) neq 0;
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  19
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (6)

						.GLOBL	$SYSIZ


						.SBTTL	COPY
000000	005712 				COPY:	TST	(R2)				; FROM.ADR				0761
000002	001402 					BEQ	2$
000004	112221 				1$:	MOVB	(R2)+,(R1)+			; FROM.ADR,TO.ADR			0764
000006	077002 					SOB	R0,1$				; LNG,*					0765
000010	000207 				2$:	RTS	PC				;					0759

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


;	  0766	
;	  0767		    MAP$ (.$SYSIZ [0, 0, 16, 0] - 1);
;	  0768		    COPY (%o'140000', 2, DB [D_ADR]);
;	  0769		    COPY (%o'140002', 6, DB [D_NAM]);
;	  0770		    COPY (%o'140010', 6, DB [D_HST]);
;	  0771		    COPY (%o'140016', 2, DB [D_HAD]);
;	  0772		    end;
;	  0773	
;	  0774		if not GET_NM_CCB (CCB) then return SIGNAL_STOP (INI$_NO_CCB);
;	  0775	
;	  0776		CCB [C_PIX] = .MCB$GW_PROCESS_HANDLE;
;	  0777		CCB [C_FNC] = FC_CCP;
;	  0778		CCB [C_MOD] = 0;
;	  0779		CCB [C_BIAS] = 0;
;	  0780		CCB [C_PRM5] = XPT_INITIALIZE;
;	  0781		CCB [C_PRM4] = 0;
;	  0782		$MCB_SCHEDULE_CCB (.CCB);
;	  0783		end;					!of routine INITIM


						.GLOBL	KISAR6


						.SBTTL	INITIM
000000	005746 				INITIM: TST	-(SP)				;					0716
000002	020327  000006 				CMP	R3,#6				; MODF,*				0739
000006	001123 					BNE	3$
000010	026727  000004G 177777 			CMP	$SYSIZ+4,#-1			;					0752
000016	001055 					BNE	1$
000020	126727  000003G 177777 			CMPB	$SYSIZ+3,#-1
000026	001051 					BNE	1$
000030	016700  000000G				MOV	$SYSIZ,R0			;					0767
000034	005300 					DEC	R0
000036	010067  000000G				MOV	R0,KISAR6
000042	010501 					MOV	R5,R1				; DB,*					0768
000044	062701  000002 				ADD	#2,R1
000050	012702  140000 				MOV	#-40000,R2
000054	012700  000002 				MOV	#2,R0
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  20
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (6)

000060	004767  177702 				JSR	PC,COPY
000064	010501 					MOV	R5,R1				; DB,*					0769
000066	062701  000004 				ADD	#4,R1
000072	012702  140002 				MOV	#-37776,R2
000076	012700  000006 				MOV	#6,R0
000102	004767  177660 				JSR	PC,COPY
000106	010501 					MOV	R5,R1				; DB,*					0770
000110	062701  000012 				ADD	#12,R1
000114	012702  140010 				MOV	#-37770,R2
000120	012700  000006 				MOV	#6,R0
000124	004767  177636 				JSR	PC,COPY
000130	062705  000020 				ADD	#20,R5				; *,DB					0771
000134	012702  140016 				MOV	#-37762,R2
000140	012700  000002 				MOV	#2,R0
000144	010501 					MOV	R5,R1
000146	004767  177614 				JSR	PC,COPY
000152	012746  000002 			1$:	MOV	#2,-(SP)			;					0774
000156	060616 					ADD	SP,(SP)				; CCB,*
000160	004767  176622 				JSR	PC,GET.NM.CCB
000164	005726 					TST	(SP)+
000166	006000 					ROR	R0
000170	103410 					BLO	2$
000172	012746  100014 				MOV	#-77764,-(SP)
000176	012746  000001 				MOV	#1,-(SP)
000202	004767  000000G				JSR	PC,$STOP
000206	022626 					CMP	(SP)+,(SP)+
000210	000422 					BR	3$
000212	011604 				2$:	MOV	(SP),R4				; CCB,*					0776
000214	116764  000000G 000011 			MOVB	.CRPIX,11(R4)
000222	112764  000022  000012 			MOVB	#22,12(R4)			;					0777
000230	105064  000013 				CLRB	13(R4)				;					0778
000234	005064  000016 				CLR	16(R4)				;					0779
000240	012764  000000V 000034 			MOV	#XPT.INITIALIZE,34(R4)		;					0780
000246	005064  000032 				CLR	32(R4)				;					0781
000252	004767  000000G				JSR	PC,$SCHED			;					0782
000256	005726 				3$:	TST	(SP)+				;					0716
000260	000207 					RTS	PC

; Routine Size:  89 words,	Routine Base:  $CODE$ + 1042
; Maximum stack depth per invocation:  4 words
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  21
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (7)

;	  0784	
;	  0785	routine LLC_GRANT_CIRCUIT_OWNERSHIP (DB, CCB): LINKAGE_DB_CCB =
;	  0786	
;	  0787	!++
;	  0788	! FUNCTIONAL DESCRIPTION:
;	  0789	!
;	  0790	! Constructs a "Grant Circuit Ownership" CCB and sends it to the
;	  0791	! LLC for the circuit.
;	  0792	!
;	  0793	! FORMAL PARAMETERS
;	  0794	!
;	  0795	!	DB	Address of INI data base.
;	  0796	!
;	  0797	!	CCB	Function CCB to be used:
;	  0798	!
;	  0799	!		CCB[C_LIN]	LIX for the circuit.
;	  0800	!		CCB[C_ADDR]	Address of a block of DSR.
;	  0801	!		CCB[C_PRM2]	Provider (DLC) PIX for the circuit.
;	  0802	!		CCB[C_PRM3]	Characteristics word for circuit
;	  0803	!		CCB[C_PRM4]	Owner (LLC) PIX for the circuit.
;	  0804	!
;	  0805	! IMPLICIT INPUTS
;	  0806	!
;	  0807	!	NONE.
;	  0808	!
;	  0809	! ROUTINE VALUE:
;	  0810	! COMPLETION CODES:
;	  0811	!
;	  0812	!	NONE.
;	  0813	!
;	  0814	! SIDE EFFECTS:
;	  0815	!
;	  0816	!	NONE.
;	  0817	!
;	  0818	!--
;	  0819	
;	  0820	    begin
;	  0821	
;	  0822	    map
;	  0823		DB : ref block field (D_FIELDS),
;	  0824		CCB : ref block field (C_FIELDS);
;	  0825	
;	  0826	
;	  0827	    CCB [$SUB_FIELD (C_PRM1, DLL$B_PROVIDER_LINE_INDEX)] = .CCB[C_LIX];
;	  0828	    CCB [$SUB_FIELD (C_PRM1, DLL$B_PROVIDER_PROCESS_INDEX)] = .CCB[C_PRM2];
;	  0829	    CCB [C_PRM2] = .CCB[C_ADDR];
;	  0830	    CCB [C_PRM3] = 0;
;	  0831	
;	  0832	    if ch$eql (3, uplit (%ascii 'DTE'), 3, ch$plus (.CCB [C_PRM2], 1))
;	  0833	    then
;	  0834		CCB [$SUB_FIELD (C_PRM3, DLL$V_DTE_CIRCUIT)] = 1;
;	  0835	
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  22
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (7)

;	  0836	    CCB [C_PRM5] = LLC_SET_CIRCUIT_ON;
;	  0837	    CCB [C_LIX] = 0;
;	  0838	    CCB [C_PIX] = .CCB[C_PRM4];
;	  0839	    CCB [C_FNC] = FC_CTL;
;	  0840	    CCB [C_MOD] = FM_STR;
;	  0841	
;	  0842	    $MCB_SCHEDULE_CCB (.CCB);
;	  0843	    TRUE
;	  0844	
;	  0845	    end;				!End of LLC_GRANT_CIRCUIT_OWNERSHIP



000024						.PSECT	$PLIT$,  RO ,  D  
000024	   104     124     105 		P.AAB:	.ASCII	/DTE/
000027	   000 					.ASCII	<00>


						.SBTTL	LLC.GRANT.CIRCUIT.OWNERSHIP
001324						.PSECT	$CODE$,  RO 

000000	004167  000000G			LLC.GRANT.CIRCUIT.OWNERSHIP:
						JSR	R1,$SAVE5			;					0785
000004	012705  000010 				MOV	#10,R5				;					0827
000010	060405 					ADD	R4,R5				; CCB,*
000012	111564  000024 				MOVB	(R5),24(R4)			; *,*(CCB)
000016	012700  000026 				MOV	#26,R0				;					0828
000022	060400 					ADD	R4,R0				; CCB,*
000024	111064  000025 				MOVB	(R0),25(R4)			; *,*(CCB)
000030	016410  000020 				MOV	20(R4),(R0)			; *(CCB),*				0829
000034	005064  000030 				CLR	30(R4)				; *(CCB)				0830
000040	012746  000003 				MOV	#3,-(SP)			;					0832
000044	012746  000024'				MOV	#P.AAB,-(SP)
000050	012746  000003 				MOV	#3,-(SP)
000054	011046 					MOV	(R0),-(SP)
000056	005216 					INC	(SP)
000060	005046 					CLR	-(SP)
000062	004767  000000G				JSR	PC,BL$EQL
000066	062706  000012 				ADD	#12,SP
000072	006000 					ROR	R0
000074	103003 					BCC	1$
000076	152764  000001  000030 			BISB	#1,30(R4)			; *,*(CCB)				0834
000104	012764  000000V 000034 		1$:	MOV	#LLC.SET.CIRCUIT.ON,34(R4)	; *,*(CCB)				0836
000112	105015 					CLRB	(R5)				;					0837
000114	116465  000032  000001 			MOVB	32(R4),1(R5)			; *(CCB),*				0838
000122	112764  000010  000012 			MOVB	#10,12(R4)			; *,*(CCB)				0839
000130	112764  000002  000013 			MOVB	#2,13(R4)			; *,*(CCB)				0840
000136	004767  000000G				JSR	PC,$SCHED			;					0842
000142	012700  000001 				MOV	#1,R0				;					0785
000146	000207 					RTS	PC

; Routine Size:  52 words,	Routine Base:  $CODE$ + 1324
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  23
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (7)

; Maximum stack depth per invocation:  12 words
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  24
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (8)

;	  0846	routine LLC_SET_CIRCUIT_ON (DB, CCB) : LINKAGE_DB_CCB =
;	  0847	
;	  0848	!++
;	  0849	! FUNCTIONAL DESCRIPTION:
;	  0850	!
;	  0851	! Constructs a "Set Circuit State ON" CCB and sends it to the circuit's
;	  0852	! owner.
;	  0853	!
;	  0854	! FORMAL PARAMETERS:
;	  0855	!	
;	  0856	!	DB	Address of the INI data base.
;	  0857	!
;	  0858	!	CCB	Function CCB:
;	  0859	!
;	  0860	!		CCB[C_LIN]	L.O. byte of the EID for the circuit (the
;	  0861	!				H.O. byte will be the owner PIX).
;	  0862	!		CCB[C_ADDR]	Pointer to some DSR.
;	  0863	!		CCB[C_PRM1]	Provider (DLC) PIX for the circuit.
;	  0864	!		CCB[C_PRM4]	Owner (LLC) PIX for the circuit.
;	  0865	!
;	  0866	! IMPLICIT INPUTS:
;	  0867	!	None
;	  0868	!
;	  0869	! IMPLICIT OUTPUTS:
;	  0870	!	None
;	  0871	!
;	  0872	! ROUTINE VALUE:
;	  0873	! COMPLETION CODES:
;	  0874	!	None
;	  0875	!
;	  0876	! SIDE EFFECTS:
;	  0877	!	None
;	  0878	!--
;	  0879	
;	  0880	    begin
;	  0881	
;	  0882	    map
;	  0883		DB : ref block field (D_FIELDS),
;	  0884		CCB : ref block field (C_NM_FIELDS);
;	  0885	
;	  0886	    CCB [C_PIX] = .CCB [C_PRM4];
;	  0887	    CCB [C_PRM5] = INILIX;
;	  0888	    CCB [C_NM_FUNC] = NMX$FNC_SET;
;	  0889	    CCB [C_NM_ENTITY] = NMX$ENT_CKT;
;	  0890	    begin
;	  0891	
;	  0892	    literal
;	  0893		PARAM_NUMBER = 0;
;	  0894	
;	  0895	    local
;	  0896		PTR;
;	  0897	
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  25
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (8)

;	  0898	    PTR = .CCB [C_ADDR];
;	  0899	    ch$wchar_a (PARAM_NUMBER and %o'377', PTR);
;	  0900	    ch$wchar_a (PARAM_NUMBER^-8 and %o'377', PTR);
;	  0901	    ch$wchar_a (0, PTR);
;	  0902	    CCB [C_CNT] = PTR = ch$diff (.PTR, .CCB [C_ADDR]);
;	  0903	    end;
;	  0904	    CCB [C_FNC] = FC_CTL;
;	  0905	    CCB [C_MOD] = FM_NM;
;	  0906	    $MCB_SCHEDULE_CCB (.CCB);
;	  0907	    TRUE
;	  0908	    end;					!of routine LLC_SET_CIRCUIT_ON


						.SBTTL	LLC.SET.CIRCUIT.ON
000000	010446 				LLC.SET.CIRCUIT.ON:
						MOV	R4,-(SP)			;					0846
000002	116464  000032  000011 			MOVB	32(R4),11(R4)			; *(CCB),*(CCB)				0886
000010	012764  000174' 000034 			MOV	#INILIX,34(R4)			; *,*(CCB)				0887
000016	042764  007774  000024 			BIC	#7774,24(R4)			; *,*(CCB)				0889
000024	052764  002002  000024 			BIS	#2002,24(R4)			; *,*(CCB)
000032	016400  000020 				MOV	20(R4),R0			; *(CCB),PTR				0898
000036	105020 					CLRB	(R0)+				; PTR					0899
000040	105020 					CLRB	(R0)+				; PTR					0900
000042	105020 					CLRB	(R0)+				; PTR					0901
000044	166400  000020 				SUB	20(R4),R0			; *(CCB),PTR				0902
000050	010064  000022 				MOV	R0,22(R4)			; PTR,*(CCB)
000054	112764  000010  000012 			MOVB	#10,12(R4)			; *,*(CCB)				0904
000062	112764  000006  000013 			MOVB	#6,13(R4)			; *,*(CCB)				0905
000070	004767  000000G				JSR	PC,$SCHED			;					0906
000074	012700  000001 				MOV	#1,R0				;					0846
000100	012604 					MOV	(SP)+,R4
000102	000207 					RTS	PC

; Routine Size:  34 words,	Routine Base:  $CODE$ + 1474
; Maximum stack depth per invocation:  2 words
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  26
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (9)

;	  0909	
;	  0910	routine LLC_GRANT_LINE_OWNERSHIP (DB, CCB): LINKAGE_DB_CCB =
;	  0911	
;	  0912	!++
;	  0913	! FUNCTIONAL DESCRIPTION:
;	  0914	!
;	  0915	! Constructs a "Grant Line Ownership" CCB and sends it to the
;	  0916	! LLC for the line.
;	  0917	!
;	  0918	! FORMAL PARAMETERS
;	  0919	!
;	  0920	!	DB	Address of INI data base.
;	  0921	!
;	  0922	!	CCB	Function CCB to be used:
;	  0923	!
;	  0924	!		CCB[C_LIN]	LIX for the line.
;	  0925	!		CCB[C_ADDR]	Address of a block of DSR.
;	  0926	!		CCB[C_PRM2]	Provider (DLC) PIX for the line.
;	  0927	!		CCB[C_PRM3]	Characteristics word for line
;	  0928	!		CCB[C_PRM4]	Owner (LLC) PIX for the line.
;	  0929	!
;	  0930	! IMPLICIT INPUTS
;	  0931	!
;	  0932	!	NONE.
;	  0933	!
;	  0934	! ROUTINE VALUE:
;	  0935	! COMPLETION CODES:
;	  0936	!
;	  0937	!	NONE.
;	  0938	!
;	  0939	! SIDE EFFECTS:
;	  0940	!
;	  0941	!	NONE.
;	  0942	!
;	  0943	!--
;	  0944	
;	  0945	    begin
;	  0946	
;	  0947	    map
;	  0948		DB : ref block field (D_FIELDS),
;	  0949		CCB : ref block field (C_FIELDS);
;	  0950	
;	  0951	
;	  0952	    CCB [$SUB_FIELD (C_PRM1, DLL$B_PROVIDER_LINE_INDEX)] = .CCB[C_LIX];
;	  0953	    CCB [$SUB_FIELD (C_PRM1, DLL$B_PROVIDER_PROCESS_INDEX)] = .CCB[C_PRM2];
;	  0954	    CCB [C_PRM2] = .CCB[C_ADDR];
;	  0955	    CCB [C_PRM3] = 0;
;	  0956	
;	  0957	    CCB [C_PRM5] = LLC_SET_LINE_ON;
;	  0958	    CCB [C_LIX] = 0;
;	  0959	    CCB [C_PIX] = .CCB[C_PRM4];
;	  0960	    CCB [C_FNC] = FC_CTL;
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  27
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (9)

;	  0961	    CCB [C_MOD] = FM_STR;
;	  0962	
;	  0963	    $MCB_SCHEDULE_CCB (.CCB);
;	  0964	    TRUE
;	  0965	
;	  0966	    end;				!End of LLC_GRANT_LINE_OWNERSHIP


						.SBTTL	LLC.GRANT.LINE.OWNERSHIP
000000	010446 				LLC.GRANT.LINE.OWNERSHIP:
						MOV	R4,-(SP)			;					0910
000002	012700  000010 				MOV	#10,R0				;					0952
000006	060400 					ADD	R4,R0				; CCB,*
000010	111064  000024 				MOVB	(R0),24(R4)			; *,*(CCB)
000014	116464  000026  000025 			MOVB	26(R4),25(R4)			; *(CCB),*(CCB)				0953
000022	016464  000020  000026 			MOV	20(R4),26(R4)			; *(CCB),*(CCB)				0954
000030	005064  000030 				CLR	30(R4)				; *(CCB)				0955
000034	012764  000000V 000034 			MOV	#LLC.SET.LINE.ON,34(R4)		; *,*(CCB)				0957
000042	105010 					CLRB	(R0)				;					0958
000044	116460  000032  000001 			MOVB	32(R4),1(R0)			; *(CCB),*				0959
000052	112764  000010  000012 			MOVB	#10,12(R4)			; *,*(CCB)				0960
000060	112764  000002  000013 			MOVB	#2,13(R4)			; *,*(CCB)				0961
000066	004767  000000G				JSR	PC,$SCHED			;					0963
000072	012700  000001 				MOV	#1,R0				;					0910
000076	012604 					MOV	(SP)+,R4
000100	000207 					RTS	PC

; Routine Size:  33 words,	Routine Base:  $CODE$ + 1600
; Maximum stack depth per invocation:  2 words
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  28
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (10)

;	  0967	routine LLC_SET_LINE_ON (DB, CCB) : LINKAGE_DB_CCB =
;	  0968	
;	  0969	!++
;	  0970	! FUNCTIONAL DESCRIPTION:
;	  0971	!
;	  0972	! Constructs a "Set Line State ON" CCB and sends it to the line's
;	  0973	! owner.
;	  0974	!
;	  0975	! FORMAL PARAMETERS:
;	  0976	!	
;	  0977	!	DB	Address of the INI data base.
;	  0978	!
;	  0979	!	CCB	Function CCB:
;	  0980	!
;	  0981	!		CCB[C_LIN]	L.O. byte of the EID for the line (the
;	  0982	!				H.O. byte will be the owner PIX).
;	  0983	!		CCB[C_ADDR]	Pointer to some DSR.
;	  0984	!		CCB[C_PRM1]	Provider (DLC) PIX for the line.
;	  0985	!		CCB[C_PRM4]	Owner (LLC) PIX for the line.
;	  0986	!
;	  0987	! IMPLICIT INPUTS:
;	  0988	!	None
;	  0989	!
;	  0990	! IMPLICIT OUTPUTS:
;	  0991	!	None
;	  0992	!
;	  0993	! ROUTINE VALUE:
;	  0994	! COMPLETION CODES:
;	  0995	!	None
;	  0996	!
;	  0997	! SIDE EFFECTS:
;	  0998	!	None
;	  0999	!--
;	  1000	
;	  1001	    begin
;	  1002	
;	  1003	    map
;	  1004		DB : ref block field (D_FIELDS),
;	  1005		CCB : ref block field (C_NM_FIELDS);
;	  1006	
;	  1007	    CCB [C_PIX] = .CCB [C_PRM4];
;	  1008	    CCB [C_PRM5] = INILIX;
;	  1009	    CCB [C_NM_FUNC] = NMX$FNC_SET;
;	  1010	    CCB [C_NM_ENTITY] = NMX$ENT_LIN;
;	  1011	    begin
;	  1012	
;	  1013	    literal
;	  1014		PARAM_NUMBER = 0;
;	  1015	
;	  1016	    local
;	  1017		PTR;
;	  1018	
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  29
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (10)

;	  1019	    PTR = .CCB [C_ADDR];
;	  1020	    ch$wchar_a (PARAM_NUMBER and %o'377', PTR);
;	  1021	    ch$wchar_a (PARAM_NUMBER^-8 and %o'377', PTR);
;	  1022	    ch$wchar_a (0, PTR);
;	  1023	    CCB [C_CNT] = PTR = ch$diff (.PTR, .CCB [C_ADDR]);
;	  1024	    end;
;	  1025	    CCB [C_FNC] = FC_CTL;
;	  1026	    CCB [C_MOD] = FM_NM;
;	  1027	    $MCB_SCHEDULE_CCB (.CCB);
;	  1028	    TRUE
;	  1029	    end;					!of routine LLC_SET_LINE_ON


						.SBTTL	LLC.SET.LINE.ON
000000	010446 				LLC.SET.LINE.ON:
						MOV	R4,-(SP)			;					0967
000002	116464  000032  000011 			MOVB	32(R4),11(R4)			; *(CCB),*(CCB)				1007
000010	012764  000174' 000034 			MOV	#INILIX,34(R4)			; *,*(CCB)				1008
000016	042764  007774  000024 			BIC	#7774,24(R4)			; *,*(CCB)				1010
000024	052764  001002  000024 			BIS	#1002,24(R4)			; *,*(CCB)
000032	016400  000020 				MOV	20(R4),R0			; *(CCB),PTR				1019
000036	105020 					CLRB	(R0)+				; PTR					1020
000040	105020 					CLRB	(R0)+				; PTR					1021
000042	105020 					CLRB	(R0)+				; PTR					1022
000044	166400  000020 				SUB	20(R4),R0			; *(CCB),PTR				1023
000050	010064  000022 				MOV	R0,22(R4)			; PTR,*(CCB)
000054	112764  000010  000012 			MOVB	#10,12(R4)			; *,*(CCB)				1025
000062	112764  000006  000013 			MOVB	#6,13(R4)			; *,*(CCB)				1026
000070	004767  000000G				JSR	PC,$SCHED			;					1027
000074	012700  000001 				MOV	#1,R0				;					0967
000100	012604 					MOV	(SP)+,R4
000102	000207 					RTS	PC

; Routine Size:  34 words,	Routine Base:  $CODE$ + 1702
; Maximum stack depth per invocation:  2 words
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  30
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (11)

;	  1030	routine NSP_SET_ADDRESS (DB, CCB) : LINKAGE_DB_CCB =
;	  1031	
;	  1032	!++
;	  1033	! FUNCTIONAL DESCRIPTION:
;	  1034	!
;	  1035	!
;	  1036	! FORMAL PARAMETERS:
;	  1037	!	None
;	  1038	!
;	  1039	! IMPLICIT INPUTS:
;	  1040	!	None
;	  1041	!
;	  1042	! IMPLICIT OUTPUTS:
;	  1043	!	None
;	  1044	!
;	  1045	! ROUTINE VALUE:
;	  1046	! COMPLETION CODES:
;	  1047	!	None
;	  1048	!
;	  1049	! SIDE EFFECTS:
;	  1050	!	None
;	  1051	!--
;	  1052	
;	  1053	    begin
;	  1054	
;	  1055	    map
;	  1056		DB : ref block field (D_FIELDS),
;	  1057		CCB : ref block field (C_NM_FIELDS);
;	  1058	
;	  1059	    if not $MCB_GET_PROCESS_HANDLE (%rad50_11 'NSP', CCB [C_PIX])
;	  1060	    then
;	  1061		begin
;	  1062		CCB [C_PRM5] = INILIX;
;	  1063		return FALSE
;	  1064		end;
;	  1065	
;	  1066	    CCB [C_PRM4] = SC_SET_HOST;
;	  1067	    CCB [C_PRM5] = CRASH_ON_NEGATIVE_STATUS;
;	  1068	    CCB [C_NM_FUNC] = NMX$FNC_SET;
;	  1069	    CCB [C_NM_ENTITY] = NMX$ENT_NOD;
;	  1070	    begin
;	  1071	
;	  1072	    literal
;	  1073		LOCAL_PARAM_NUMBER = 502;
;	  1074	
;	  1075	    local
;	  1076		PTR;
;	  1077	
;	  1078	    PTR = .CCB [C_ADDR];
;	  1079	    ch$wchar_a (LOCAL_PARAM_NUMBER and %o'377', PTR);
;	  1080	    ch$wchar_a (LOCAL_PARAM_NUMBER^-8 and %o'377', PTR);
;	  1081	    ch$wchar_a (.DB [$SUB_FIELD (D_ADR, 0, 0, 8, 0)], PTR);
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  31
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (11)

;	  1082	    ch$wchar_a (.DB [$SUB_FIELD (D_ADR, 0, 8, 8, 0)], PTR);
;	  1083	    ch$wchar_a (0, PTR);
;	  1084	    CCB [C_CNT] = PTR = ch$diff (.PTR, .CCB [C_ADDR]);
;	  1085	    end;
;	  1086	    begin
;	  1087	
;	  1088	    bind
;	  1089		NMPAR = vector [.CCB [C_ADDR], 5] : vector [4];
;	  1090	
;	  1091	    local
;	  1092		PTR;
;	  1093	
;	  1094	    CCB [C_PRM2] = NMPAR;
;	  1095	    NMPAR [0] = 0;
;	  1096	    NMPAR [1] = 0;
;	  1097	    PTR = ch$ptr (NMPAR [2],, 8);
;	  1098	    ch$wchar_a (.DB [$SUB_FIELD (D_ADR, 0, 0, 8, 0)], PTR);
;	  1099	    ch$wchar_a (.DB [$SUB_FIELD (D_ADR, 0, 8, 8, 0)], PTR);
;	  1100	    ch$wchar_a (0, PTR);
;	  1101	    end;
;	  1102	    CCB [C_FNC] = FC_CTL;
;	  1103	    CCB [C_MOD] = FM_NM;
;	  1104	    $MCB_SCHEDULE_CCB (.CCB);
;	  1105	    TRUE
;	  1106	    end;					!of routine NSP_SET_ADDRESS


						.SBTTL	NSP.SET.ADDRESS
000000	004167  000000G			NSP.SET.ADDRESS:
						JSR	R1,$SAVE4			;					1030
000004	005746 					TST	-(SP)
000006	012746  000002 				MOV	#2,-(SP)			;					1059
000012	060616 					ADD	SP,(SP)				; $MCB$MY.INDEX,*
000014	012746  055210 				MOV	#55210,-(SP)
000020	012746  000002 				MOV	#2,-(SP)
000024	012746  000000G				MOV	#P.DTGT,-(SP)
000030	004767  000000G				JSR	PC,$CALLI
000034	062706  000010 				ADD	#10,SP
000040	010001 					MOV	R0,R1				; *,$MCB$STATUS
000042	006000 					ROR	R0
000044	103002 					BCC	1$
000046	111664  000011 				MOVB	(SP),11(R4)			; $MCB$MY.INDEX,*(CCB)
000052	032701  000001 			1$:	BIT	#1,R1				; *,$MCB$STATUS
000056	001005 					BNE	2$
000060	012764  000174' 000034 			MOV	#INILIX,34(R4)			; *,*(CCB)				1062
000066	005000 					CLR	R0				;					1061
000070	000462 					BR	3$
000072	012764  000000V 000032 		2$:	MOV	#SC.SET.HOST,32(R4)		; *,*(CCB)				1066
000100	012764  000000' 000034 			MOV	#CRASH.ON.NEGATIVE.STATUS,34(R4); *,*(CCB)				1067
000106	042764  007774  000024 			BIC	#7774,24(R4)			; *,*(CCB)				1069
000114	052764  000402  000024 			BIS	#402,24(R4)			; *,*(CCB)
000122	016400  000020 				MOV	20(R4),R0			; *(CCB),PTR				1078
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  32
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (11)

000126	112720  000366 				MOVB	#366,(R0)+			; *,PTR					1079
000132	112720  000001 				MOVB	#1,(R0)+			; *,PTR					1080
000136	116520  000002 				MOVB	2(R5),(R0)+			; *(DB),PTR				1081
000142	116520  000003 				MOVB	3(R5),(R0)+			; *(DB),PTR				1082
000146	105020 					CLRB	(R0)+				; PTR					1083
000150	166400  000020 				SUB	20(R4),R0			; *(CCB),PTR				1084
000154	010064  000022 				MOV	R0,22(R4)			; PTR,*(CCB)
000160	016400  000020 				MOV	20(R4),R0			; *(CCB),*				1089
000164	062700  000012 				ADD	#12,R0
000170	010064  000026 				MOV	R0,26(R4)			; *,*(CCB)				1094
000174	005020 					CLR	(R0)+				;					1095
000176	005020 					CLR	(R0)+				;					1096
000200	116520  000002 				MOVB	2(R5),(R0)+			; *(DB),PTR				1098
000204	116520  000003 				MOVB	3(R5),(R0)+			; *(DB),PTR				1099
000210	105020 					CLRB	(R0)+				; PTR					1100
000212	112764  000010  000012 			MOVB	#10,12(R4)			; *,*(CCB)				1102
000220	112764  000006  000013 			MOVB	#6,13(R4)			; *,*(CCB)				1103
000226	004767  000000G				JSR	PC,$SCHED			;					1104
000232	012700  000001 				MOV	#1,R0				;					1030
000236	005726 				3$:	TST	(SP)+
000240	000207 					RTS	PC

; Routine Size:  81 words,	Routine Base:  $CODE$ + 2006
; Maximum stack depth per invocation:  11 words
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  33
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (12)

;	  1107	routine RETURN_NM_CCB (CCB) : LINKAGE_CCB novalue =
;	  1108	
;	  1109	!++
;	  1110	! FUNCTIONAL DESCRIPTION:
;	  1111	!
;	  1112	!
;	  1113	! FORMAL PARAMETERS:
;	  1114	!	None
;	  1115	!
;	  1116	! IMPLICIT INPUTS:
;	  1117	!	None
;	  1118	!
;	  1119	! IMPLICIT OUTPUTS:
;	  1120	!	None
;	  1121	!
;	  1122	! ROUTINE VALUE:
;	  1123	! COMPLETION CODES:
;	  1124	!	None
;	  1125	!
;	  1126	! SIDE EFFECTS:
;	  1127	!	None
;	  1128	!--
;	  1129	
;	  1130	    begin
;	  1131	
;	  1132	    map
;	  1133		CCB : ref block field (C_FIELDS);
;	  1134	
;	  1135	    $MCB_RETURN_DSR (DSR_LENGTH, .CCB [C_ADDR]);
;	  1136	    CCBRT$ (.CCB);
;	  1137	    end;					!of routine RETURN_NM_CCB


						.GLOBL	$DSRRT


						.SBTTL	RETURN.NM.CCB
000000	004167  000000G			RETURN.NM.CCB:
						JSR	R1,$SAVE4			;					1107
000004	016400  000020 				MOV	20(R4),R0			; *(CCB),*				1135
000010	012701  000042 				MOV	#42,R1
000014	004767  000000G				JSR	PC,$DSRRT
000020	004767  000000G				JSR	PC,$CCBRT			;					1136
000024	000207 					RTS	PC				;					1107

; Routine Size:  11 words,	Routine Base:  $CODE$ + 2250
; Maximum stack depth per invocation:  6 words
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  34
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (13)

;	  1138	routine SC_ADD_NODE (DB, CCB) : LINKAGE_DB_CCB =
;	  1139	
;	  1140	!++
;	  1141	! FUNCTIONAL DESCRIPTION:
;	  1142	!
;	  1143	!
;	  1144	! FORMAL PARAMETERS:
;	  1145	!	None
;	  1146	!
;	  1147	! IMPLICIT INPUTS:
;	  1148	!	None
;	  1149	!
;	  1150	! IMPLICIT OUTPUTS:
;	  1151	!	None
;	  1152	!
;	  1153	! ROUTINE VALUE:
;	  1154	! COMPLETION CODES:
;	  1155	!	None
;	  1156	!
;	  1157	! SIDE EFFECTS:
;	  1158	!	None
;	  1159	!--
;	  1160	
;	  1161	    begin
;	  1162	
;	  1163	    local
;	  1164		NODE_ADDR,
;	  1165		NODE_PTR;
;	  1166	
;	  1167	    map
;	  1168		DB : ref block field (D_FIELDS),
;	  1169		CCB : ref block field (C_NM_FIELDS);
;	  1170	
;	  1171	    if not $MCB_GET_PROCESS_HANDLE (%rad50_11 'SC', CCB [C_PIX])
;	  1172	    then
;	  1173		begin
;	  1174		CCB [C_PRM5] = INILIX;
;	  1175		return FALSE
;	  1176		end;
;	  1177	
;	  1178	    selectone .CCB [C_PRM3]  of
;	  1179	    set
;	  1180	
;	  1181	    [0]:	begin
;	  1182		CCB [C_PRM3] = .CCB [C_PRM3] + 1;
;	  1183		CCB [C_PRM4] = SC_ADD_NODE;
;	  1184		NODE_ADDR = .DB [D_ADR];
;	  1185		NODE_PTR = byt$ptr (DB [D_NAM]);
;	  1186			end;
;	  1187	    [1]:	begin
;	  1188		CCB [C_PRM4] = SC_SET_NODE_ON;
;	  1189		NODE_PTR = byt$ptr (DB [D_HST]);
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  35
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (13)

;	  1190		NODE_ADDR = .DB [D_HAD];
;	  1191			end;
;	  1192	    tes;
;	  1193	    CCB [C_PRM5] = CRASH_ON_NEGATIVE_STATUS;
;	  1194	
;	  1195	    if .NODE_ADDR eql 0 then return FALSE;
;	  1196	
;	  1197	    if ch$rchar (.NODE_PTR) eql %c' ' then return FALSE;
;	  1198	
;	  1199	    CCB [C_NM_FUNC] = NMX$FNC_SET;
;	  1200	    CCB [C_NM_ENTITY] = NMX$ENT_NOD;
;	  1201	    begin
;	  1202	
;	  1203	    literal
;	  1204		PARAM_NUMBER = 500;
;	  1205	
;	  1206	    local
;	  1207		LEN,
;	  1208		PTR;
;	  1209	
;	  1210	    PTR = .CCB [C_ADDR];
;	  1211	    ch$wchar_a (PARAM_NUMBER and %o'377', PTR);
;	  1212	    ch$wchar_a (PARAM_NUMBER^-8 and %o'377', PTR);
;	  1213	    LEN = ch$find_ch (6, .NODE_PTR, %c' ');
;	  1214	    if ch$fail (.LEN) then
;	  1215		LEN = 6
;	  1216	    else LEN = ch$diff (.LEN, .NODE_PTR);
;	  1217	    ch$wchar_a (.LEN, PTR);
;	  1218	    PTR = ch$move (.LEN, .NODE_PTR, .PTR);
;	  1219	    CCB [C_CNT] = PTR = ch$diff (.PTR, .CCB [C_ADDR]);
;	  1220	    end;
;	  1221	    begin
;	  1222	
;	  1223	    bind
;	  1224		NMPAR = vector [.CCB [C_ADDR], 5] : vector [4];
;	  1225	
;	  1226	    local
;	  1227		PTR;
;	  1228	
;	  1229	    CCB [C_PRM2] = NMPAR;
;	  1230	    NMPAR [0] = 0;
;	  1231	    NMPAR [1] = 0;
;	  1232	    PTR = ch$ptr (NMPAR [2],, 8);
;	  1233	    ch$wchar_a (.NODE_ADDR<0, 8, 0>, PTR);
;	  1234	    ch$wchar_a (.NODE_ADDR<8, 8, 0>, PTR);
;	  1235	    ch$wchar_a (0, PTR);
;	  1236	    end;
;	  1237	    CCB [C_FNC] = FC_CTL;
;	  1238	    CCB [C_MOD] = FM_NM;
;	  1239	    $MCB_SCHEDULE_CCB (.CCB);
;	  1240	    TRUE
;	  1241	    end;					!of routine SC_ADD_NODE
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  36
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (13)



						.SBTTL	SC.ADD.NODE
000000	004167  000000G			SC.ADD.NODE:
						JSR	R1,$SAVE5			;					1138
000004	005746 					TST	-(SP)
000006	012746  000002 				MOV	#2,-(SP)			;					1171
000012	060616 					ADD	SP,(SP)				; $MCB$MY.INDEX,*
000014	012746  073470 				MOV	#73470,-(SP)
000020	012746  000002 				MOV	#2,-(SP)
000024	012746  000000G				MOV	#P.DTGT,-(SP)
000030	004767  000000G				JSR	PC,$CALLI
000034	062706  000010 				ADD	#10,SP
000040	010001 					MOV	R0,R1				; *,$MCB$STATUS
000042	006000 					ROR	R0
000044	103002 					BCC	1$
000046	111664  000011 				MOVB	(SP),11(R4)			; $MCB$MY.INDEX,*(CCB)
000052	032701  000001 			1$:	BIT	#1,R1				; *,$MCB$STATUS
000056	001004 					BNE	2$
000060	012764  000174' 000034 			MOV	#INILIX,34(R4)			; *,*(CCB)				1174
000066	000441 					BR	5$				;					1173
000070	016400  000030 			2$:	MOV	30(R4),R0			; *(CCB),*				1178
000074	001013 					BNE	3$
000076	005264  000030 				INC	30(R4)				; *(CCB)				1182
000102	012764  002276' 000032 			MOV	#SC.ADD.NODE,32(R4)		; *,*(CCB)				1183
000110	016502  000002 				MOV	2(R5),R2			; *(DB),NODE.ADDR			1184
000114	010501 					MOV	R5,R1				; DB,NODE.PTR				1185
000116	062701  000004 				ADD	#4,R1				; *,NODE.PTR
000122	000413 					BR	4$				;					1178
000124	020027  000001 			3$:	CMP	R0,#1
000130	001010 					BNE	4$
000132	012764  000000V 000032 			MOV	#SC.SET.NODE.ON,32(R4)		; *,*(CCB)				1188
000140	010501 					MOV	R5,R1				; DB,NODE.PTR				1189
000142	062701  000012 				ADD	#12,R1				; *,NODE.PTR
000146	016502  000020 				MOV	20(R5),R2			; *(DB),NODE.ADDR			1190
000152	012764  000000' 000034 		4$:	MOV	#CRASH.ON.NEGATIVE.STATUS,34(R4); *,*(CCB)				1193
000160	005702 					TST	R2				; NODE.ADDR				1195
000162	001403 					BEQ	5$
000164	121127  000040 				CMPB	(R1),#40			; NODE.PTR,*				1197
000170	001002 					BNE	6$
000172	005000 				5$:	CLR	R0
000174	000475 					BR	9$
000176	042764  007774  000024 		6$:	BIC	#7774,24(R4)			; *,*(CCB)				1200
000204	052764  000402  000024 			BIS	#402,24(R4)			; *,*(CCB)
000212	016405  000020 				MOV	20(R4),R5			; *(CCB),PTR				1210
000216	112725  000364 				MOVB	#364,(R5)+			; *,PTR					1211
000222	112725  000001 				MOVB	#1,(R5)+			; *,PTR					1212
000226	012746  000006 				MOV	#6,-(SP)			;					1213
000232	010146 					MOV	R1,-(SP)			; NODE.PTR,*
000234	012746  000040 				MOV	#40,-(SP)
000240	004767  000000G				JSR	PC,BL$FCH
000244	005700 					TST	R0				; LEN					1214
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  37
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (13)

000246	001003 					BNE	7$
000250	012700  000006 				MOV	#6,R0				; *,LEN					1215
000254	000401 					BR	8$				;					1214
000256	160100 				7$:	SUB	R1,R0				; NODE.PTR,LEN				1216
000260	110025 				8$:	MOVB	R0,(R5)+			; LEN,PTR				1217
000262	010016 					MOV	R0,(SP)				; LEN,*					1218
000264	010146 					MOV	R1,-(SP)			; NODE.PTR,*
000266	010546 					MOV	R5,-(SP)			; PTR,*
000270	004767  000000G				JSR	PC,BL$MOV
000274	010005 					MOV	R0,R5				; *,PTR
000276	166405  000020 				SUB	20(R4),R5			; *(CCB),PTR				1219
000302	010564  000022 				MOV	R5,22(R4)			; PTR,*(CCB)
000306	016400  000020 				MOV	20(R4),R0			; *(CCB),*				1224
000312	062700  000012 				ADD	#12,R0
000316	010064  000026 				MOV	R0,26(R4)			; *,*(CCB)				1229
000322	005020 					CLR	(R0)+				;					1230
000324	005020 					CLR	(R0)+				;					1231
000326	110220 					MOVB	R2,(R0)+			; NODE.ADDR,PTR				1233
000330	010201 					MOV	R2,R1				; NODE.ADDR,*				1234
000332	000301 					SWAB	R1
000334	110120 					MOVB	R1,(R0)+			; *,PTR
000336	105020 					CLRB	(R0)+				; PTR					1235
000340	112764  000010  000012 			MOVB	#10,12(R4)			; *,*(CCB)				1237
000346	112764  000006  000013 			MOVB	#6,13(R4)			; *,*(CCB)				1238
000354	004767  000000G				JSR	PC,$SCHED			;					1239
000360	062706  000012 				ADD	#12,SP				;					1161
000364	012700  000001 				MOV	#1,R0				;					1138
000370	005726 				9$:	TST	(SP)+
000372	000207 					RTS	PC

; Routine Size:  126 words,	Routine Base:  $CODE$ + 2276
; Maximum stack depth per invocation:  13 words
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  38
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (14)

;	  1242	routine SC_SET_HOST (DB, CCB) : LINKAGE_DB_CCB =
;	  1243	
;	  1244	!++
;	  1245	! FUNCTIONAL DESCRIPTION:
;	  1246	!
;	  1247	!
;	  1248	! FORMAL PARAMETERS:
;	  1249	!	None
;	  1250	!
;	  1251	! IMPLICIT INPUTS:
;	  1252	!	None
;	  1253	!
;	  1254	! IMPLICIT OUTPUTS:
;	  1255	!	None
;	  1256	!
;	  1257	! ROUTINE VALUE:
;	  1258	! COMPLETION CODES:
;	  1259	!	None
;	  1260	!
;	  1261	! SIDE EFFECTS:
;	  1262	!	None
;	  1263	!--
;	  1264	
;	  1265	    begin
;	  1266	
;	  1267	    map
;	  1268		DB : ref block field (D_FIELDS),
;	  1269		CCB : ref block field (C_NM_FIELDS);
;	  1270	
;	  1271	    if not $MCB_GET_PROCESS_HANDLE (%rad50_11 'SC', CCB[C_PIX])
;	  1272	    then
;	  1273		begin
;	  1274		CCB [C_PRM5] = INILIX;
;	  1275		return FALSE
;	  1276		end;
;	  1277	
;	  1278	    CCB [C_PRM3] = 0;
;	  1279	    CCB [C_PRM4] = SC_ADD_NODE;
;	  1280	    CCB [C_PRM5] = CRASH_ON_NEGATIVE_STATUS;
;	  1281	
;	  1282	    if .DB [D_HAD] eql 0 then return FALSE;
;	  1283	
;	  1284	    CCB [C_NM_FUNC] = NMX$FNC_SET;
;	  1285	    CCB [C_NM_ENTITY] = NMX$ENT_NOD;
;	  1286	    begin
;	  1287	
;	  1288	    literal
;	  1289		HOST_PARAM_NUMBER = 141;
;	  1290	
;	  1291	    local
;	  1292		PTR;
;	  1293	
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  39
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (14)

;	  1294	    PTR = .CCB [C_ADDR];
;	  1295	    ch$wchar_a (HOST_PARAM_NUMBER and %o'377', PTR);
;	  1296	    ch$wchar_a (HOST_PARAM_NUMBER^-8 and %o'377', PTR);
;	  1297	    ch$wchar_a (.DB [$SUB_FIELD (D_HAD, 0, 0, 8, 0)], PTR);
;	  1298	    ch$wchar_a (.DB [$SUB_FIELD (D_HAD, 0, 8, 8, 0)], PTR);
;	  1299	    ch$wchar_a (0, PTR);
;	  1300	    CCB [C_CNT] = PTR = ch$diff (.PTR, .CCB [C_ADDR]);
;	  1301	    end;
;	  1302	    begin
;	  1303	
;	  1304	    bind
;	  1305		NMPAR = vector [.CCB [C_ADDR], 5] : vector [4];
;	  1306	
;	  1307	    local
;	  1308		PTR;
;	  1309	
;	  1310	    CCB [C_PRM2] = NMPAR;
;	  1311	    NMPAR [0] = 0;
;	  1312	    NMPAR [1] = 0;
;	  1313	    PTR = ch$ptr (NMPAR [2],, 8);
;	  1314	    ch$wchar_a (.DB [$SUB_FIELD (D_HAD, 0, 0, 8, 0)], PTR);
;	  1315	    ch$wchar_a (.DB [$SUB_FIELD (D_HAD, 0, 8, 8, 0)], PTR);
;	  1316	    ch$wchar_a (0, PTR);
;	  1317	    end;
;	  1318	    CCB [C_FNC] = FC_CTL;
;	  1319	    CCB [C_MOD] = FM_NM;
;	  1320	    $MCB_SCHEDULE_CCB (.CCB);
;	  1321	    TRUE
;	  1322	    end;					!of routine SC_SET_HOST


						.SBTTL	SC.SET.HOST
000000	004167  000000G			SC.SET.HOST:
						JSR	R1,$SAVE4			;					1242
000004	005746 					TST	-(SP)
000006	012746  000002 				MOV	#2,-(SP)			;					1271
000012	060616 					ADD	SP,(SP)				; $MCB$MY.INDEX,*
000014	012746  073470 				MOV	#73470,-(SP)
000020	012746  000002 				MOV	#2,-(SP)
000024	012746  000000G				MOV	#P.DTGT,-(SP)
000030	004767  000000G				JSR	PC,$CALLI
000034	062706  000010 				ADD	#10,SP
000040	010001 					MOV	R0,R1				; *,$MCB$STATUS
000042	006000 					ROR	R0
000044	103002 					BCC	1$
000046	111664  000011 				MOVB	(SP),11(R4)			; $MCB$MY.INDEX,*(CCB)
000052	032701  000001 			1$:	BIT	#1,R1				; *,$MCB$STATUS
000056	001004 					BNE	2$
000060	012764  000174' 000034 			MOV	#INILIX,34(R4)			; *,*(CCB)				1274
000066	000415 					BR	3$				;					1273
000070	005064  000030 			2$:	CLR	30(R4)				; *(CCB)				1278
000074	012764  002276' 000032 			MOV	#SC.ADD.NODE,32(R4)		; *,*(CCB)				1279
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  40
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (14)

000102	012764  000000' 000034 			MOV	#CRASH.ON.NEGATIVE.STATUS,34(R4); *,*(CCB)				1280
000110	012701  000020 				MOV	#20,R1				;					1282
000114	060501 					ADD	R5,R1				; DB,*
000116	005711 					TST	(R1)
000120	001002 					BNE	4$
000122	005000 				3$:	CLR	R0
000124	000451 					BR	5$
000126	042764  007774  000024 		4$:	BIC	#7774,24(R4)			; *,*(CCB)				1285
000134	052764  000402  000024 			BIS	#402,24(R4)			; *,*(CCB)
000142	016400  000020 				MOV	20(R4),R0			; *(CCB),PTR				1294
000146	112720  000215 				MOVB	#215,(R0)+			; *,PTR					1295
000152	105020 					CLRB	(R0)+				; PTR					1296
000154	111120 					MOVB	(R1),(R0)+			; *,PTR					1297
000156	116120  000001 				MOVB	1(R1),(R0)+			; *,PTR					1298
000162	105020 					CLRB	(R0)+				; PTR					1299
000164	166400  000020 				SUB	20(R4),R0			; *(CCB),PTR				1300
000170	010064  000022 				MOV	R0,22(R4)			; PTR,*(CCB)
000174	016400  000020 				MOV	20(R4),R0			; *(CCB),*				1305
000200	062700  000012 				ADD	#12,R0
000204	010064  000026 				MOV	R0,26(R4)			; *,*(CCB)				1310
000210	005020 					CLR	(R0)+				;					1311
000212	005020 					CLR	(R0)+				;					1312
000214	111120 					MOVB	(R1),(R0)+			; *,PTR					1314
000216	116120  000001 				MOVB	1(R1),(R0)+			; *,PTR					1315
000222	105020 					CLRB	(R0)+				; PTR					1316
000224	112764  000010  000012 			MOVB	#10,12(R4)			; *,*(CCB)				1318
000232	112764  000006  000013 			MOVB	#6,13(R4)			; *,*(CCB)				1319
000240	004767  000000G				JSR	PC,$SCHED			;					1320
000244	012700  000001 				MOV	#1,R0				;					1242
000250	005726 				5$:	TST	(SP)+
000252	000207 					RTS	PC

; Routine Size:  86 words,	Routine Base:  $CODE$ + 2672
; Maximum stack depth per invocation:  11 words
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  41
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (15)

;	  1323	routine SC_SET_NODE_ON (DB, CCB) : LINKAGE_DB_CCB =
;	  1324	
;	  1325	!++
;	  1326	! FUNCTIONAL DESCRIPTION:
;	  1327	!
;	  1328	!
;	  1329	! FORMAL PARAMETERS:
;	  1330	!	None
;	  1331	!
;	  1332	! IMPLICIT INPUTS:
;	  1333	!	None
;	  1334	!
;	  1335	! IMPLICIT OUTPUTS:
;	  1336	!	None
;	  1337	!
;	  1338	! ROUTINE VALUE:
;	  1339	! COMPLETION CODES:
;	  1340	!	None
;	  1341	!
;	  1342	! SIDE EFFECTS:
;	  1343	!	None
;	  1344	!--
;	  1345	
;	  1346	    begin
;	  1347	
;	  1348	    map
;	  1349		DB : ref block field (D_FIELDS),
;	  1350		CCB : ref block field (C_NM_FIELDS);
;	  1351	
;	  1352	    if not $MCB_GET_PROCESS_HANDLE (%rad50_11 'SC', CCB [C_PIX])
;	  1353	    then
;	  1354		begin
;	  1355		CCB [C_PRM5] = INILIX;
;	  1356		return FALSE
;	  1357		end;
;	  1358	
;	  1359	    CCB [C_PRM4] = INILIX;
;	  1360	    CCB [C_PRM5] = CRASH_ON_NEGATIVE_STATUS;
;	  1361	    CCB [C_NM_FUNC] = NMX$FNC_SET;
;	  1362	    CCB [C_NM_ENTITY] = NMX$ENT_NOD;
;	  1363	    begin
;	  1364	
;	  1365	    literal
;	  1366		PARAM_NUMBER = 0;
;	  1367	
;	  1368	    local
;	  1369		PTR;
;	  1370	
;	  1371	    PTR = .CCB [C_ADDR];
;	  1372	    ch$wchar_a (PARAM_NUMBER and %o'377', PTR);
;	  1373	    ch$wchar_a (PARAM_NUMBER^-8 and %o'377', PTR);
;	  1374	    ch$wchar_a (0, PTR);
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  42
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (15)

;	  1375	    CCB [C_CNT] = PTR = ch$diff (.PTR, .CCB [C_ADDR]);
;	  1376	    end;
;	  1377	    begin
;	  1378	
;	  1379	    bind
;	  1380		NMPAR = vector [.CCB [C_ADDR], 5] : vector [4];
;	  1381	
;	  1382	    local
;	  1383		PTR;
;	  1384	
;	  1385	    CCB [C_PRM2] = NMPAR;
;	  1386	    NMPAR [0] = 0;
;	  1387	    NMPAR [1] = 0;
;	  1388	    PTR = ch$ptr (NMPAR [2],, 8);
;	  1389	    ch$wchar_a (.DB [$SUB_FIELD (D_ADR, 0, 0, 8, 0)], PTR);
;	  1390	    ch$wchar_a (.DB [$SUB_FIELD (D_ADR, 0, 8, 8, 0)], PTR);
;	  1391	    ch$wchar_a (0, PTR);
;	  1392	    end;
;	  1393	    CCB [C_FNC] = FC_CTL;
;	  1394	    CCB [C_MOD] = FM_NM;
;	  1395	    $MCB_SCHEDULE_CCB (.CCB);
;	  1396	    TRUE
;	  1397	    end;					!of routine SC_SET_NODE_ON


						.SBTTL	SC.SET.NODE.ON
000000	004167  000000G			SC.SET.NODE.ON:
						JSR	R1,$SAVE4			;					1323
000004	005746 					TST	-(SP)
000006	012746  000002 				MOV	#2,-(SP)			;					1352
000012	060616 					ADD	SP,(SP)				; $MCB$MY.INDEX,*
000014	012746  073470 				MOV	#73470,-(SP)
000020	012746  000002 				MOV	#2,-(SP)
000024	012746  000000G				MOV	#P.DTGT,-(SP)
000030	004767  000000G				JSR	PC,$CALLI
000034	062706  000010 				ADD	#10,SP
000040	010001 					MOV	R0,R1				; *,$MCB$STATUS
000042	006000 					ROR	R0
000044	103002 					BCC	1$
000046	111664  000011 				MOVB	(SP),11(R4)			; $MCB$MY.INDEX,*(CCB)
000052	032701  000001 			1$:	BIT	#1,R1				; *,$MCB$STATUS
000056	001005 					BNE	2$
000060	012764  000174' 000034 			MOV	#INILIX,34(R4)			; *,*(CCB)				1355
000066	005000 					CLR	R0				;					1354
000070	000454 					BR	3$
000072	012764  000174' 000032 		2$:	MOV	#INILIX,32(R4)			; *,*(CCB)				1359
000100	012764  000000' 000034 			MOV	#CRASH.ON.NEGATIVE.STATUS,34(R4); *,*(CCB)				1360
000106	042764  007774  000024 			BIC	#7774,24(R4)			; *,*(CCB)				1362
000114	052764  000402  000024 			BIS	#402,24(R4)			; *,*(CCB)
000122	016400  000020 				MOV	20(R4),R0			; *(CCB),PTR				1371
000126	105020 					CLRB	(R0)+				; PTR					1372
000130	105020 					CLRB	(R0)+				; PTR					1373
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  43
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (15)

000132	105020 					CLRB	(R0)+				; PTR					1374
000134	166400  000020 				SUB	20(R4),R0			; *(CCB),PTR				1375
000140	010064  000022 				MOV	R0,22(R4)			; PTR,*(CCB)
000144	016400  000020 				MOV	20(R4),R0			; *(CCB),*				1380
000150	062700  000012 				ADD	#12,R0
000154	010064  000026 				MOV	R0,26(R4)			; *,*(CCB)				1385
000160	005020 					CLR	(R0)+				;					1386
000162	005020 					CLR	(R0)+				;					1387
000164	116520  000002 				MOVB	2(R5),(R0)+			; *(DB),PTR				1389
000170	116520  000003 				MOVB	3(R5),(R0)+			; *(DB),PTR				1390
000174	105020 					CLRB	(R0)+				; PTR					1391
000176	112764  000010  000012 			MOVB	#10,12(R4)			; *,*(CCB)				1393
000204	112764  000006  000013 			MOVB	#6,13(R4)			; *,*(CCB)				1394
000212	004767  000000G				JSR	PC,$SCHED			;					1395
000216	012700  000001 				MOV	#1,R0				;					1323
000222	005726 				3$:	TST	(SP)+
000224	000207 					RTS	PC

; Routine Size:  75 words,	Routine Base:  $CODE$ + 3146
; Maximum stack depth per invocation:  11 words
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  44
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (16)

;	  1398	routine XPT_INITIALIZE (DB, CCB) : LINKAGE_DB_CCB =
;	  1399	
;	  1400	!++
;	  1401	! FUNCTIONAL DESCRIPTION:
;	  1402	!
;	  1403	!
;	  1404	! FORMAL PARAMETERS:
;	  1405	!	None
;	  1406	!
;	  1407	! IMPLICIT INPUTS:
;	  1408	!	None
;	  1409	!
;	  1410	! IMPLICIT OUTPUTS:
;	  1411	!	None
;	  1412	!
;	  1413	! ROUTINE VALUE:
;	  1414	! COMPLETION CODES:
;	  1415	!	None
;	  1416	!
;	  1417	! SIDE EFFECTS:
;	  1418	!	None
;	  1419	!--
;	  1420	
;	  1421	    begin
;	  1422	
;	  1423	    map
;	  1424		DB : ref block field (D_FIELDS),
;	  1425		CCB : ref block field (C_FIELDS);
;	  1426	
;	  1427	    if not $MCB_GET_PROCESS_HANDLE (%rad50_11 'XPT', CCB [C_PIX])
;	  1428	    then
;	  1429		begin
;	  1430		CCB [C_PRM5] = INILIX;
;	  1431		return FALSE
;	  1432		end;
;	  1433	
;	  1434	    CCB [C_PRM3] = 0;
;	  1435	    CCB [C_PRM4] = NSP_SET_ADDRESS;
;	  1436	    CCB [C_PRM5] = CRASH_ON_NEGATIVE_STATUS;
;	  1437	    CCB [C_PRM1] = .DB [D_ADR];
;	  1438	    CCB [C_FNC] = FC_CTL;
;	  1439	    CCB [C_MOD] = 0;
;	  1440	    $MCB_SCHEDULE_CCB (.CCB);
;	  1441	    TRUE
;	  1442	    end;					!of routine XPT_INITIALIZE


						.SBTTL	XPT.INITIALIZE
000000	004167  000000G			XPT.INITIALIZE:
						JSR	R1,$SAVE4			;					1398
000004	005746 					TST	-(SP)
000006	012746  000002 				MOV	#2,-(SP)			;					1427
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  45
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (16)

000012	060616 					ADD	SP,(SP)				; $MCB$MY.INDEX,*
000014	012746  114224 				MOV	#-63554,-(SP)
000020	012746  000002 				MOV	#2,-(SP)
000024	012746  000000G				MOV	#P.DTGT,-(SP)
000030	004767  000000G				JSR	PC,$CALLI
000034	062706  000010 				ADD	#10,SP
000040	010001 					MOV	R0,R1				; *,$MCB$STATUS
000042	006000 					ROR	R0
000044	103002 					BCC	1$
000046	111664  000011 				MOVB	(SP),11(R4)			; $MCB$MY.INDEX,*(CCB)
000052	032701  000001 			1$:	BIT	#1,R1				; *,$MCB$STATUS
000056	001005 					BNE	2$
000060	012764  000174' 000034 			MOV	#INILIX,34(R4)			; *,*(CCB)				1430
000066	005000 					CLR	R0				;					1429
000070	000424 					BR	3$
000072	005064  000030 			2$:	CLR	30(R4)				; *(CCB)				1434
000076	012764  002006' 000032 			MOV	#NSP.SET.ADDRESS,32(R4)		; *,*(CCB)				1435
000104	012764  000000' 000034 			MOV	#CRASH.ON.NEGATIVE.STATUS,34(R4); *,*(CCB)				1436
000112	016564  000002  000024 			MOV	2(R5),24(R4)			; *(DB),*(CCB)				1437
000120	112764  000010  000012 			MOVB	#10,12(R4)			; *,*(CCB)				1438
000126	105064  000013 				CLRB	13(R4)				; *(CCB)				1439
000132	004767  000000G				JSR	PC,$SCHED			;					1440
000136	012700  000001 				MOV	#1,R0				;					1398
000142	005726 				3$:	TST	(SP)+
000144	000207 					RTS	PC

; Routine Size:  51 words,	Routine Base:  $CODE$ + 3374
; Maximum stack depth per invocation:  11 words


;	  1443	end
;	  1444	eludom



;					OTS external references
						.GLOBL	$SAVE5, $SAVE4, $STOP, BL$FCH
						.GLOBL	BL$EQL, BL$MOV


;					PSECT SUMMARY
;
;	Psect Name			Words	  Attributes
;	 $PLIT$				   12	    RO ,  D  ,  LCL,  REL,  CON
;	 ......				   16	    RW ,  D  ,  LCL,  REL,  CON
;	 $CODE$				  945	    RO ,  I  ,  LCL,  REL,  CON




;				LIBRARY STATISTICS
;
INI								28-May-1985 14:29:54	TOPS-20 Bliss-16 2A(530)	    Page  46
X03210								30-Dec-1982 01:54:35	DNET61:<MCB.CEX>INI.B16.1 (16)

;					     -------- Symbols --------    Blocks
;	File				     Total    Loaded   Percent      Read
;
;  DNET61:<MCB.MCB>MCBLIB.L16.1		       372        76        20         0
;  DNET61:<MCB.MCB>XPORTX.L16.1		       599        30         5         0
;  DNET61:<MCB.MCB>NMXLIB.L16.1		       200        15         7         0





; Size:		945 code + 28 data words
; Run Time:	00:22.9
; Elapsed Time:	01:36.8
; Memory Used:	48 pages
; Compilation Complete