Google
 

Trailing-Edge - PDP-10 Archives - TOPS-20_V6.1_DECnetSrc_7-23-85 - mcb/xpt/xptini.lst
There is 1 other file named xptini.lst in the archive. Click here to see a list.
XPTINI								25-Jan-1983 09:57:21	TOPS-20 Bliss-16 2A(530)	    Page   1
								30-Dec-1982 21:27:45	NETPKG:<XPT>XPTINI.BLI.9 (1)

;	  0001	module XPTINI	(
;	  0002			IDENT = 'X01150'
;	  0003			) =
;	  0004	begin
;	  0005	
;	  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	! FACILITY:	Transport
;	  0029	!
;	  0030	! ABSTRACT:
;	  0031	!
;	  0032	!	Contains the Transport initialization and termination modules.
;	  0033	!
;	  0034	! ENVIRONMENT:	MCB
;	  0035	!
;	  0036	! AUTHOR: L. Webber , CREATION DATE: 27-Jul-79
;	  0037	!
;	  0038	! MODIFIED BY:
;	  0039	!
;	  0040	!	L. Webber, 27-Jul-79 : VERSION 1.00
;	  0041	!
;	  0042	! 1.01	L. Webber, 20-Dec-79
;	  0043	!	Modify for MCB changes; take line startup out of INIT_XPT
;	  0044	!
;	  0045	! 1.02	L. Webber, 24-Jan-80
;	  0046	!	Combine Hop and Cost into one matrix
;	  0047	!
;	  0048	! 1.03	L. Webber, 29-Jan-80
;	  0049	!	Modify dispatch table to dispatch to separate routines
;	  0050	!
;	  0051	! 1.04	L. Webber, 2-Feb-80
;	  0052	!	Modify to accomodate node and line sub-data-bases
XPTINI								25-Jan-1983 09:57:21	TOPS-20 Bliss-16 2A(530)	    Page   2
X01150								30-Dec-1982 21:27:45	NETPKG:<XPT>XPTINI.BLI.9 (1)

;	  0053	!	Take out dispatch table (moved to XPTITF)
;	  0054	!	Changed name to XPTINI from XPTMAIN
;	  0055	!
;	  0056	! 1.05	L. Webber, 27-Jun-80
;	  0057	!	Modify to use MCBLIB macros
;	  0058	!
;	  0059	! 1.06	A. Peckham, 15-Oct-80
;	  0060	!	Update for new function modifiers.
;	  0061	!
;	  0062	! 1.07	L. Webber, 11-Dec-80
;	  0063	!	Modify to support MCB 3.1
;	  0064	!
;	  0065	! 1.08	L. Webber, 6-Apr-81
;	  0066	!	Update to initialize INITtimer in line data base.
;	  0067	!	Also, change names of T5 and T6 to Hello_clock and T4, respectively.
;	  0068	!
;	  0069	! 1.09	L. Webber, 10-Apr-81
;	  0070	!	Fix call to RLS_BLK.
;	  0071	!
;	  0072	! 1.10	L. Webber, 6-May-81
;	  0073	!	Replace call to $LLLTM with a $MCB_ENABLE_LONG_TIMER.
;	  0074	!
;	  0075	! 1.11	L. Webber, 27-May-81
;	  0076	!	Add code to initialize the new circuit data base fields added
;	  0077	!	to support the new DLL interface.  Take out code to release
;	  0078	!	the node ID blocks; it would only be of use if Transport were
;	  0079	!	reinitialized during an MCB session.
;	  0080	!
;	  0081	! 1.12	L. Webber, 16-Jul-81
;	  0082	!	Add code to initialize the "Adjacent" field in the node data base.
;	  0083	!
;	  0084	! 1.13	L. Webber, 17-Sep-81
;	  0085	!	Add initialization for node data base field Phase2_node.
;	  0086	!
;	  0087	! 1.14	L. Webber, 23-Feb-82
;	  0088	!	Add initialization for DLLquota.
;	  0089	!
;	  0090	! 1.15	A. Peckham, 22-Apr-82
;	  0091	!	Eliminate references to GETLINE, GETNODE, RLS_BLK.
;	  0092	!
;	  0093	!--
XPTINI								25-Jan-1983 09:57:21	TOPS-20 Bliss-16 2A(530)	    Page   3
X01150								30-Dec-1982 21:27:45	NETPKG:<XPT>XPTINI.BLI.9 (2)

;	  0094	
;	  0095	!
;	  0096	! INCLUDE FILES:
;	  0097	!
;	  0098	
;	  0099	require 'XPTMAC';
;	  0197	
;	  0198	!
;	  0199	! TABLE OF CONTENTS
;	  0200	!
;	  0201	
;	  0202	forward routine
;	  0203		INIT_XPT: CALL$ novalue,
;	  0204		TERM_XPT: CALL$ novalue;
;	  0205	
;	  0206	!
;	  0207	! MACROS:
;	  0208	!
;	  0209	
;	  0210	!
;	  0211	! EQUATED SYMBOLS:
;	  0212	!
;	  0213	
;	  0214	!
;	  0215	! OWN STORAGE:
;	  0216	!
;	  0217	
;	  0218	$MCB_PROCESS(name=XPE)
;	  0219	
;	  0220	!
;	  0221	! EXTERNAL REFERENCES:
;	  0222	!
XPTINI								25-Jan-1983 09:57:21	TOPS-20 Bliss-16 2A(530)	    Page   4
X01150								30-Dec-1982 21:27:45	NETPKG:<XPT>XPTINI.BLI.9 (3)

;	  0223	global routine INIT_XPT (CCB): CALL$ novalue =
;	  0224	
;	  0225	!++
;	  0226	! FUNCTIONAL DESCRIPTION:
;	  0227	!
;	  0228	!  Initializes Transport.  All tables are set to their initial value,
;	  0229	!  and all lines are initialized.
;	  0230	!
;	  0231	! FORMAL PARAMETERS
;	  0232	!
;	  0233	!	CCB
;	  0234	!
;	  0235	! IMPLICIT INPUTS
;	  0236	!
;	  0237	!	All entries in the Transport Data Base
;	  0238	!
;	  0239	! ROUTINE VALUE:
;	  0240	! COMPLETION CODES:
;	  0241	!
;	  0242	!	NONE.
;	  0243	!
;	  0244	! SIDE EFFECTS:
;	  0245	!
;	  0246	!	All lines are initialized, all nodes become unreachable,
;	  0247	!	and all local transport users (including NSP) will have
;	  0248	!	to re-identify themselves.
;	  0249	!
;	  0250	!--
;	  0251	
;	  0252	begin
;	  0253	map CCB: ref block field (C_fields);
;	  0254	require 'XPTSYM';
;	  0291	
;	  0292	!
;	  0293	!  Initialize all the quotas
;	  0294	!
;	  0295	
;	  0296	Maxh = $MAXH;
;	  0297	Maxv = $MAXV;
;	  0298	Maxc = $MAXC;
;	  0299	Maxl = $MAXL;
;	  0300	UPDATEquota = $UPDQ;
;	  0301	ECLquota = $ECLQ;
;	  0302	INPUTquota = $INPQ;
;	  0303	DLLquota = $LINQ;
;	  0304	
;	  0305	!
;	  0306	!  Initialize the Transport identification (local node address)
;	  0307	!
;	  0308	
;	  0309	Tid = .CCB[C_PRM1];
;	  0310	
XPTINI								25-Jan-1983 09:57:21	TOPS-20 Bliss-16 2A(530)	    Page   5
X01150								30-Dec-1982 21:27:45	NETPKG:<XPT>XPTINI.BLI.9 (3)

;	  0311	!
;	  0312	! Run through the initialization password data base and
;	  0313	! update the TV messages.
;	  0314	! Also set flags if verification is needed.
;	  0315	!
;	  0316	
;	  0317	Request_TV = false;                     ! Assume verification not needed
;	  0318	Request_OTV = false;
;	  0319	
;	  0320	$TLI_for_each_PWDb_do_begin
;	  0321	    pointer PTR;
;	  0322	    if ch$rchar(byt$ptr(PWD2rcv)) neq 0
;	  0323	    then Request_OTV = true;            ! Phase II TV should be requested
;	  0324	    if .PWD3rcv_length neq 0
;	  0325	    then Request_TV = true;             ! Phase III TV should be requested
;	  0326	    PTR = ch$plus (PWD3TVmsg_ptr,1);
;	  0327	    byt$short_string(Tid,PTR);
;	  0328	    if (.PWDnode neq 0) and
;	  0329	       (.PWDlink eqla 0)
;	  0330	    then begin
;	  0331	         local CNT;
;	  0332	         CNT = getb(PTR);
;	  0333	         CNT = .CNT + ch$diff(.PTR,byt$ptr(PWD3rcv_length));
;	  0334	         PWDlink = vector [PWD3rcv_length,byt$allocation(.CNT)];
;	  0335	         end;
;	  0336	$TLI_next_PWDb_end;
;	  0337	
;	  0338	!
;	  0339	! Now the archetype TI, NI, and HELLO messages
;	  0340	!
;	  0341	
;	  0342	begin                                   !  The TI message
;	  0343	pointer PTR;
;	  0344	
;	  0345	if (PTR = .TI_msg_ADDR) eql 0
;	  0346	then if $MCB_GET_DSR (10, PTR)
;	  0347	     then TI_msg_ADDR = PTR = byt$ptr(.PTR)
;	  0348	     else return signal_stop (XPT$_REE);
;	  0349	
;	  0350	putb(INIT_CTLflg,PTR);                  ! Build the
;	  0351	byt$short_string(Tid,PTR);              !  control header
;	  0352	if .Request_TV                          ! Put in TV request
;	  0353	then putb(4+Full,PTR)                   !  and node type
;	  0354	else putb(0+Full,PTR);
;	  0355	byt$short_string(DLLsize,PTR);          ! Put in max message size
;	  0356	putb (1,PTR); putb(3,PTR); putb(0,ptr);	! Put in version (1,3,0)
;	  0357	putb (0,PTR);				! Put in (null) seed
;	  0358	PTR = ch$diff(.PTR,.TI_msg_ADDR);
;	  0359	TI_msg_CNT = .PTR;
;	  0360	end;
;	  0361	
;	  0362	begin                                   !  The NI message
XPTINI								25-Jan-1983 09:57:21	TOPS-20 Bliss-16 2A(530)	    Page   6
X01150								30-Dec-1982 21:27:45	NETPKG:<XPT>XPTINI.BLI.9 (3)

;	  0363	pointer PTR;
;	  0364	
;	  0365	if (PTR = .NI_msg_ADDR) eql 0
;	  0366	then if $MCB_GET_DSR (58, PTR)
;	  0367	     then NI_msg_ADDR = PTR = byt$ptr(.PTR)
;	  0368	     else return signal_stop (XPT$_REE);
;	  0369	
;	  0370	putb(OTI_CTLflg,PTR);                   ! Construct the MSGflgs
;	  0371	putb(INIT_SUBflg,PTR);                  !  and the "init" subflag
;	  0372	ex_putw(.Tid,PTR);                      ! Put in the local node address
;	  0373	putb(.NODEname_length,PTR);             ! Put in the node name
;	  0374	PTR = ch$move(.NODEname_length,         !  as an image field
;	  0375	    byt$ptr(NODEname,0),.PTR);
;	  0376	putb(OTIservices,PTR);                  ! Specify in SERVICES we have intercept
;	  0377	if .Request_OTV
;	  0378	then putb(1,PTR)                        ! Request node verification
;	  0379	else putb(0,PTR);                       ! Make no REQUESTS
;	  0380	byt$short_string(PH2size,PTR);          ! Put in the maximum blocksize
;	  0381	byt$short_string(PH2size,PTR);          !  and the maximum segment size
;	  0382	putw($MAXlk,PTR);                       !  and the maximum number of links
;	  0383	putb(0,PTR); putw(0,PTR);               ! Specify a routing version of (0,0,0)
;	  0384	putb(0,PTR); putw(0,PTR);               !  and a similar communications version
;	  0385	putb(0,PTR);                            ! Specify no system ID
;	  0386	PTR = ch$diff(.PTR,.NI_msg_ADDR);
;	  0387	NI_msg_CNT = .PTR;
;	  0388	end;
;	  0389	
;	  0390	begin                                   !  The false NI message
;	  0391	pointer PTR;
;	  0392	
;	  0393	if .False_NI_msg_ADDR eql 0
;	  0394	then if $MCB_GET_DSR (58, PTR)
;	  0395	     then False_NI_msg_ADDR = byt$ptr(.PTR)
;	  0396	     else return signal_stop (XPT$_REE);
;	  0397	
;	  0398	False_NI_msg_CNT = 0;
;	  0399	end;
;	  0400	
;	  0401	begin                                   !  The HELLO message
;	  0402	pointer PTR;
;	  0403	
;	  0404	if (PTR = .Hello_msg_ADDR) eql 0
;	  0405	then if $MCB_GET_DSR (4 + Default_Hello_data_length, PTR)
;	  0406	     then Hello_msg_ADDR = PTR = byt$ptr(.PTR)
;	  0407	     else return signal_stop (XPT$_REE);
;	  0408	
;	  0409	putb(HELLO_CTLflg,PTR);                 ! Move in control flags
;	  0410	byt$short_string(Tid,PTR);              !  and source node address
;	  0411	putb(12,PTR);                           !  and length of test data
;	  0412	PTR = ch$fill (%o'252',12,.PTR);        !  and test data
;	  0413	PTR = ch$diff(.PTR,.Hello_msg_ADDR);
;	  0414	Hello_msg_CNT = .PTR;
XPTINI								25-Jan-1983 09:57:21	TOPS-20 Bliss-16 2A(530)	    Page   7
X01150								30-Dec-1982 21:27:45	NETPKG:<XPT>XPTINI.BLI.9 (3)

;	  0415	end;
;	  0416	
;	  0417	!
;	  0418	!  Initialize the Hop/Cost matrix to "too far"/"too costly"
;	  0419	!
;	  0420	
;	  0421	MAP$(Hopcost_bias);
;	  0422	begin
;	  0423	    pointer P;
;	  0424	    P = Hopcost_address;
;	  0425	    decr IJ from NN*(NLN+1) to 1 do begin
;	  0426		.P = ((Infh^Hop_P) or (Infc^Cost_P));
;	  0427		P = vector[.P,1];
;	  0428		end;
;	  0429	    end;
;	  0430	
;	  0431	!
;	  0432	!  Initialize the node vectors to "unreachable" and "nowhere"
;	  0433	!
;	  0434	
;	  0435	begin
;	  0436	local NODEb: ref NODEblock;
;	  0437	
;	  0438	if (NODEb = .XPTDB[XPTnoddb]) eqla 0
;	  0439	then if $MCB_GET_DSR (NN*NODEsize*%upval, NODEb)
;	  0440	     then XPTDB[XPTnoddb] = .NODEb
;	  0441	     else return signal_stop (XPT$_REE);
;	  0442	
;	  0443	incr I from 1 to NN do begin
;	  0444	    NODEaddress = .I;                   ! The node address
;	  0445	    Minhop = Infh;                      ! Too many hops away
;	  0446	    Mincost = Infc;                     !  and too costly.
;	  0447	    OL = -1;                            ! No output line.
;	  0448	    Reach = false;                      ! Not reachable.
;	  0449	    Phase2_node = false;                ! Not a phase II node.
;	  0450	    Local_node = false;                 ! Not a local address
;	  0451	    NODEb = vector [.NODEb, NODEsize];
;	  0452	    end;
;	  0453	end;
;	  0454	
;	  0455	!
;	  0456	!  Initialize the line vectors and quotas
;	  0457	!
;	  0458	
;	  0459	begin
;	  0460	local LINEb: ref LINEblock;
;	  0461	
;	  0462	if (LINEb = .XPTDB[XPTlindb]) eqla 0
;	  0463	then if $MCB_GET_DSR (NLN*LINEsize*%upval, LINEb)
;	  0464	     then XPTDB[XPTlindb] = .LINEb
;	  0465	     else return signal_stop (XPT$_REE);
;	  0466	
XPTINI								25-Jan-1983 09:57:21	TOPS-20 Bliss-16 2A(530)	    Page   8
X01150								30-Dec-1982 21:27:45	NETPKG:<XPT>XPTINI.BLI.9 (3)

;	  0467	incr J from 1 to NLN do begin
;	  0468	    Nty = 0;                            ! No adjacent node, no type
;	  0469	    Nid = 0;                            !  and no address
;	  0470	    Nnml = 0;
;	  0471	    DTEcircuit = false;
;	  0472	    Send_hello = false;
;	  0473	    Srm = false;
;	  0474	    Freeing = false;
;	  0475	    Ph2only = false;
;	  0476	    Intercept = false;
;	  0477	    OWNED = false;                      ! Initialize the
;	  0478	    NMstate = OFF;                      !  various
;	  0479	    LINEstate = HA;                     !  circuit states
;	  0480	    XPTstate = OFF;
;	  0481	    DLLstate = DLL_FREE;
;	  0482	    LINEnumber = .J;
;	  0483	    XPThandle = PD_XPT^8 + .LINEnumber;
;	  0484	    TLIhandle = PD_TLI^8 + .LINEnumber;
;	  0485	    DLLhandle = 0;
;	  0486	    LINEquota = max($LINQ / (if NLN lss 3
;	  0487	                             then 1
;	  0488	                             else if NLN lss 7
;	  0489	                                  then 2
;	  0490	                                  else 3),
;	  0491	                    1);
;	  0492	    LINEccb = 0;
;	  0493	    LINEstate_desired = .LINEstate;
;	  0494	    LINEfunction = 0;
;	  0495	    Hello_clock = 0;
;	  0496	    Listen_clock = 0;
;	  0497	    LINEb = vector [.LINEb, LINEsize];
;	  0498	    end;
;	  0499	end;
;	  0500	
;	  0501	!
;	  0502	!  Initialize the link translate table
;	  0503	!
;	  0504	
;	  0505	begin
;	  0506	local LTT: ref LTTblock;
;	  0507	
;	  0508	if (LTT = .Ph2link_table) eqla 0
;	  0509	then if $MCB_GET_DSR (.Ph2link_allocated*4*%upval, LTT)
;	  0510	     then Ph2link_table = .LTT
;	  0511	     else return signal_stop (XPT$_REE);
;	  0512	
;	  0513	decru I from .Ph2link_allocated to 1 do
;	  0514	    begin
;	  0515	    LTT[LTTnode1] = -1;
;	  0516	    LTT[LTTlink1] = -1;
;	  0517	    LTT[LTTnode2] = -1;
;	  0518	    LTT[LTTlink2] = -1;
XPTINI								25-Jan-1983 09:57:21	TOPS-20 Bliss-16 2A(530)	    Page   9
X01150								30-Dec-1982 21:27:45	NETPKG:<XPT>XPTINI.BLI.9 (3)

;	  0519	    LTT = LTT[LTTlen];
;	  0520	    end;
;	  0521	end;
;	  0522	
;	  0523	!
;	  0524	!  Initialize the retry queue
;	  0525	!
;	  0526	
;	  0527	$MCB_INITIALIZE_QUEUE(REqueue);
;	  0528	
;	  0529	!
;	  0530	!  Set up the Transport flags
;	  0531	!
;	  0532	
;	  0533	XPTflags = Running;
;	  0534	
;	  0535	!
;	  0536	!  Start up the timers
;	  0537	!
;	  0538	
;	  0539	Routing_clock = .Routing_timer;
;	  0540	Update_clock = .Update_timer;
;	  0541	
;	  0542	$MCB_ENABLE_LONG_TIMER();
;	  0543	Timer = 1;
;	  0544	
;	  0545	!
;	  0546	!  Return "complete" to calling process
;	  0547	!
;	  0548	
;	  0549	CCB[C_STS] = CS_SUC;
;	  0550	CCB[C_FNC] = FC_CCP;
;	  0551	$MCB_SCHEDULE_CCB(.CCB);
;	  0552	end;				!End of INIT_XPT


						.TITLE	XPTINI
						.IDENT	/X01150/


000000						.PSECT	......,  D  
000000	114205 				; HEADER
					U.3:	.RAD50	/XPE/
000002	000403 					.WORD	403
000004	000000 					.WORD	0
000006	000000 					.WORD	0
000010	000000 					.WORD	0
000012	000000G					.WORD	.DSPCR
000014	000000G					.WORD	.DSPCR
000016	000000G					.WORD	.DSPCR
000020	000000G					.WORD	MCB$V0
000022	000000G					.WORD	MCB$V1
XPTINI								25-Jan-1983 09:57:21	TOPS-20 Bliss-16 2A(530)	    Page  10
X01150								30-Dec-1982 21:27:45	NETPKG:<XPT>XPTINI.BLI.9 (3)

000024	140310 					.WORD	140310
000026	143716 					.WORD	143716
000030	001400 					.WORD	1400
000032	000000 					.WORD	0
000034	000000 					.WORD	0
000036	000000 					.WORD	0


						.GLOBL	.DSPCR, MCB$V0, MCB$V1, .CRDAT
						.GLOBL	$DSRGT, KISAR6, $LTMEN, $SCHED


						.SBTTL	INIT.XPT
000000						.PSECT	$CODE$,  RO 

000000	162706  000010 			INIT.XPT::
					U.1:	SUB	#10,SP				;					0223
000004	016701  000002G				MOV	.CRDAT+2,R1			;					0290
000010	016161  000042  000044 			MOV	42(R1),44(R1)			;					0296
000016	016161  000046  000050 			MOV	46(R1),50(R1)			;					0297
000024	016161  000036  000040 			MOV	36(R1),40(R1)			;					0298
000032	016161  000052  000054 			MOV	52(R1),54(R1)			;					0299
000040	116161  000077  000100 			MOVB	77(R1),100(R1)			;					0300
000046	116161  000101  000102 			MOVB	101(R1),102(R1)			;					0301
000054	116161  000103  000104 			MOVB	103(R1),104(R1)			;					0302
000062	116161  000034  000035 			MOVB	34(R1),35(R1)			;					0303
000070	016500  000002 				MOV	2(R5),R0			; CCB(.AP.),*				0309
000074	016061  000024  000056 			MOV	24(R0),56(R1)
000102	042711  003000 				BIC	#3000,(R1)			;					0318
000106	016102  000152 				MOV	152(R1),R2			; *,PWDB
000112	001460 					BEQ	5$
000114	105762  000004 			1$:	TSTB	4(R2)				; *(PWDB)				0322
000120	001403 					BEQ	2$
000122	052777  001000  000002G			BIS	#1000,@.CRDAT+2			;					0323
000130	116201  000026 			2$:	MOVB	26(R2),R1			; *(PWDB),*				0324
000134	001403 					BEQ	3$
000136	052777  002000  000002G			BIS	#2000,@.CRDAT+2			;					0325
000144	010100 				3$:	MOV	R1,R0				;					0326
000146	060200 					ADD	R2,R0				; PWDB,*
000150	062700  000030 				ADD	#30,R0
000154	016701  000002G				MOV	.CRDAT+2,R1			;					0327
000160	016101  000056 				MOV	56(R1),R1			; *,NUM
000164	110120 					MOVB	R1,(R0)+			; NUM,PTR
000166	000301 					SWAB	R1				; NUM
000170	110120 					MOVB	R1,(R0)+			; NUM,PTR
000172	005762  000002 				TST	2(R2)				; *(PWDB)				0328
000176	001424 					BEQ	4$
000200	005712 					TST	(R2)				; PWDB					0329
000202	001022 					BNE	4$
000204	005001 					CLR	R1				; CNT					0332
000206	152001 					BISB	(R0)+,R1			; PTR,CNT
000210	160200 					SUB	R2,R0				; PWDB,*				0333
XPTINI								25-Jan-1983 09:57:21	TOPS-20 Bliss-16 2A(530)	    Page  11
X01150								30-Dec-1982 21:27:45	NETPKG:<XPT>XPTINI.BLI.9 (3)

000212	060100 					ADD	R1,R0				; CNT,*
000214	010001 					MOV	R0,R1				; *,CNT
000216	162701  000026 				SUB	#26,R1				; *,CNT
000222	010100 					MOV	R1,R0				; CNT,*					0334
000224	005200 					INC	R0
000226	010001 					MOV	R0,R1
000230	006700 					SXT	R0
000232	071027  000002 				DIV	#2,R0
000236	006300 					ASL	R0
000240	060200 					ADD	R2,R0				; PWDB,*
000242	010012 					MOV	R0,(R2)				; *,PWDB
000244	062712  000026 				ADD	#26,(R2)			; *,PWDB
000250	011202 				4$:	MOV	(R2),R2				; PWDB,PWDB				0335
000252	001320 					BNE	1$
000254	016700  000002G			5$:	MOV	.CRDAT+2,R0			;					0345
000260	016004  000154 				MOV	154(R0),R4			; *,PTR
000264	001012 					BNE	6$
000266	012701  000012 				MOV	#12,R1				;					0346
000272	004767  000000G				JSR	PC,$DSRGT
000276	103471 					BCS	9$
000300	010004 					MOV	R0,R4				; $MCB$R0,PTR
000302	016700  000002G				MOV	.CRDAT+2,R0			;					0347
000306	010460  000154 				MOV	R4,154(R0)			; PTR,*
000312	112724  000001 			6$:	MOVB	#1,(R4)+			; *,PTR					0350
000316	016700  000002G				MOV	.CRDAT+2,R0			;					0351
000322	016000  000056 				MOV	56(R0),R0			; *,NUM
000326	110024 					MOVB	R0,(R4)+			; NUM,PTR
000330	000300 					SWAB	R0				; NUM
000332	110024 					MOVB	R0,(R4)+			; NUM,PTR
000334	032777  002000  000002G			BIT	#2000,@.CRDAT+2			;					0352
000342	001403 					BEQ	7$
000344	112714  000006 				MOVB	#6,(R4)				; *,PTR					0353
000350	000402 					BR	8$				;					0352
000352	112714  000002 			7$:	MOVB	#2,(R4)				; *,PTR					0354
000356	005204 				8$:	INC	R4				; PTR					0353
000360	016700  000002G				MOV	.CRDAT+2,R0			;					0355
000364	016000  000124 				MOV	124(R0),R0			; *,NUM
000370	110024 					MOVB	R0,(R4)+			; NUM,PTR
000372	000300 					SWAB	R0				; NUM
000374	110024 					MOVB	R0,(R4)+			; NUM,PTR
000376	112724  000001 				MOVB	#1,(R4)+			; *,PTR					0356
000402	112724  000003 				MOVB	#3,(R4)+			; *,PTR
000406	105024 					CLRB	(R4)+				; PTR
000410	105024 					CLRB	(R4)+				; PTR					0357
000412	016700  000002G				MOV	.CRDAT+2,R0			;					0358
000416	166004  000154 				SUB	154(R0),R4			; *,PTR
000422	010460  000156 				MOV	R4,156(R0)			; PTR,*					0359
000426	016004  000160 				MOV	160(R0),R4			; *,PTR					0365
000432	001023 					BNE	10$
000434	012701  000072 				MOV	#72,R1				;					0366
000440	004767  000000G				JSR	PC,$DSRGT
000444	103406 					BCS	9$
XPTINI								25-Jan-1983 09:57:21	TOPS-20 Bliss-16 2A(530)	    Page  12
X01150								30-Dec-1982 21:27:45	NETPKG:<XPT>XPTINI.BLI.9 (3)

000446	010004 					MOV	R0,R4				; $MCB$R0,PTR
000450	016700  000002G				MOV	.CRDAT+2,R0			;					0367
000454	010460  000160 				MOV	R4,160(R0)			; PTR,*
000460	000410 					BR	10$				;					0366
000462	012746  100154 			9$:	MOV	#-77624,-(SP)			;					0368
000466	012746  000001 				MOV	#1,-(SP)
000472	004767  000000G				JSR	PC,$STOP
000476	022626 					CMP	(SP)+,(SP)+
000500	000575 					BR	17$
000502	112724  000130 			10$:	MOVB	#130,(R4)+			; *,PTR					0370
000506	112724  000001 				MOVB	#1,(R4)+			; *,PTR					0371
000512	016701  000002G				MOV	.CRDAT+2,R1			;					0372
000516	016100  000056 				MOV	56(R1),R0
000522	020027  000200 				CMP	R0,#200
000526	002420 					BLT	11$
000530	010066  000004 				MOV	R0,4(SP)			; *,X
000534	042700  177600 				BIC	#177600,R0
000540	062700  000200 				ADD	#200,R0
000544	110024 					MOVB	R0,(R4)+			; *,PTR
000546	016600  000004 				MOV	4(SP),R0			; X,*
000552	072027  177771 				ASH	#-7,R0
000556	042700  177600 				BIC	#177600,R0
000562	105014 					CLRB	(R4)				; PTR
000564	150014 					BISB	R0,(R4)				; *,PTR
000566	000401 					BR	12$
000570	110014 				11$:	MOVB	R0,(R4)				; *,PTR
000572	005204 				12$:	INC	R4				; PTR
000574	116124  000114 				MOVB	114(R1),(R4)+			; *,PTR					0373
000600	016146  000114 				MOV	114(R1),-(SP)			;					0375
000604	012746  000116 				MOV	#116,-(SP)
000610	060116 					ADD	R1,(SP)
000612	010446 					MOV	R4,-(SP)			; PTR,*
000614	004767  000000G				JSR	PC,BL$MOV
000620	010004 					MOV	R0,R4				; *,PTR					0374
000622	112724  000007 				MOVB	#7,(R4)+			; *,PTR					0376
000626	032777  001000  000002G			BIT	#1000,@.CRDAT+2			;					0377
000634	001403 					BEQ	13$
000636	112714  000001 				MOVB	#1,(R4)				; *,PTR					0378
000642	000401 					BR	14$				;					0377
000644	105014 				13$:	CLRB	(R4)				; PTR					0379
000646	005204 				14$:	INC	R4				; PTR					0378
000650	016700  000002G				MOV	.CRDAT+2,R0			;					0380
000654	016000  000126 				MOV	126(R0),R0			; *,NUM
000660	110024 					MOVB	R0,(R4)+			; NUM,PTR
000662	000300 					SWAB	R0				; NUM
000664	110024 					MOVB	R0,(R4)+			; NUM,PTR
000666	016700  000002G				MOV	.CRDAT+2,R0			;					0381
000672	016000  000126 				MOV	126(R0),R0			; *,NUM
000676	110024 					MOVB	R0,(R4)+			; NUM,PTR
000700	000300 					SWAB	R0				; NUM
000702	110024 					MOVB	R0,(R4)+			; NUM,PTR
000704	016700  000002G				MOV	.CRDAT+2,R0			;					0382
XPTINI								25-Jan-1983 09:57:21	TOPS-20 Bliss-16 2A(530)	    Page  13
X01150								30-Dec-1982 21:27:45	NETPKG:<XPT>XPTINI.BLI.9 (3)

000710	016066  000032  000014 			MOV	32(R0),14(SP)			; *,X
000716	116624  000014 				MOVB	14(SP),(R4)+			; X,PTR
000722	116624  000015 				MOVB	15(SP),(R4)+			; X,PTR
000726	105024 					CLRB	(R4)+				; PTR					0383
000730	105024 					CLRB	(R4)+				; PTR
000732	105024 					CLRB	(R4)+				; PTR
000734	105024 					CLRB	(R4)+				; PTR					0384
000736	105024 					CLRB	(R4)+				; PTR
000740	105024 					CLRB	(R4)+				; PTR
000742	105024 					CLRB	(R4)+				; PTR					0385
000744	166004  000160 				SUB	160(R0),R4			; *,PTR					0386
000750	010460  000162 				MOV	R4,162(R0)			; PTR,*					0387
000754	005760  000172 				TST	172(R0)				;					0393
000760	001011 					BNE	15$
000762	012701  000072 				MOV	#72,R1				;					0394
000766	004767  000000G				JSR	PC,$DSRGT
000772	103430 					BCS	16$
000774	016701  000002G				MOV	.CRDAT+2,R1			;					0395
001000	010061  000172 				MOV	R0,172(R1)			; PTR,*
001004	016700  000002G			15$:	MOV	.CRDAT+2,R0			;					0396
001010	005060  000174 				CLR	174(R0)				;					0398
001014	016004  000164 				MOV	164(R0),R4			; *,PTR					0404
001020	001027 					BNE	18$
001022	116001  000141 				MOVB	141(R0),R1			;					0405
001026	062701  000004 				ADD	#4,R1
001032	004767  000000G				JSR	PC,$DSRGT
001036	103406 					BCS	16$
001040	010004 					MOV	R0,R4				; $MCB$R0,PTR
001042	016700  000002G				MOV	.CRDAT+2,R0			;					0406
001046	010460  000164 				MOV	R4,164(R0)			; PTR,*
001052	000412 					BR	18$				;					0405
001054	012716  100154 			16$:	MOV	#-77624,(SP)			;					0407
001060	012746  000001 				MOV	#1,-(SP)
001064	004767  000000G				JSR	PC,$STOP
001070	062706  000010 				ADD	#10,SP
001074	000167  001060 			17$:	JMP	38$
001100	112724  000005 			18$:	MOVB	#5,(R4)+			; *,PTR					0409
001104	016700  000002G				MOV	.CRDAT+2,R0			;					0410
001110	016000  000056 				MOV	56(R0),R0			; *,NUM
001114	110024 					MOVB	R0,(R4)+			; NUM,PTR
001116	000300 					SWAB	R0				; NUM
001120	110024 					MOVB	R0,(R4)+			; NUM,PTR
001122	112724  000014 				MOVB	#14,(R4)+			; *,PTR					0411
001126	012716  000252 				MOV	#252,(SP)			;					0412
001132	012746  000014 				MOV	#14,-(SP)
001136	010446 					MOV	R4,-(SP)			; PTR,*
001140	004767  000000G				JSR	PC,BL$FIL
001144	010004 					MOV	R0,R4				; *,PTR
001146	016702  000002G				MOV	.CRDAT+2,R2			;					0413
001152	166204  000164 				SUB	164(R2),R4			; *,PTR
001156	010462  000166 				MOV	R4,166(R2)			; PTR,*					0414
001162	016267  000006  000000G			MOV	6(R2),KISAR6			;					0421
XPTINI								25-Jan-1983 09:57:21	TOPS-20 Bliss-16 2A(530)	    Page  14
X01150								30-Dec-1982 21:27:45	NETPKG:<XPT>XPTINI.BLI.9 (3)

001170	016200  000010 				MOV	10(R2),R0			; *,P					0424
001174	016201  000022 				MOV	22(R2),R1			;					0425
001200	005201 					INC	R1
001202	070162  000016 				MUL	16(R2),R1
001206	005701 					TST	R1				; IJ
001210	003403 					BLE	20$
001212	012720  077777 			19$:	MOV	#77777,(R0)+			; *,P					0426
001216	077103 					SOB	R1,19$				; IJ,*					0000
001220	016204  000012 			20$:	MOV	12(R2),R4			; *,NODEB				0438
001224	001015 					BNE	21$
001226	016201  000016 				MOV	16(R2),R1			;					0439
001232	072127  000003 				ASH	#3,R1
001236	010102 					MOV	R1,R2
001240	004767  000000G				JSR	PC,$DSRGT
001244	103445 					BCS	24$
001246	010004 					MOV	R0,R4				; $MCB$R0,NODEB
001250	016700  000002G				MOV	.CRDAT+2,R0			;					0440
001254	010460  000012 				MOV	R4,12(R0)			; NODEB,*
001260	016701  000002G			21$:	MOV	.CRDAT+2,R1			;					0443
001264	005000 					CLR	R0				; I
001266	000416 					BR	23$
001270	010064  000002 			22$:	MOV	R0,2(R4)			; I,*(NODEB)				0444
001274	012764  000037  000004 			MOV	#37,4(R4)			; *,*(NODEB)				0445
001302	012764  001777  000006 			MOV	#1777,6(R4)			; *,*(NODEB)				0446
001310	112714  000377 				MOVB	#377,(R4)			; *,NODEB				0447
001314	042724  101400 				BIC	#101400,(R4)+			; *,NODEB				0450
001320	062704  000006 				ADD	#6,R4				; *,NODEB				0451
001324	005200 				23$:	INC	R0				; I					0443
001326	020061  000016 				CMP	R0,16(R1)			; I,*
001332	003756 					BLE	22$
001334	016166  000020  000014 			MOV	20(R1),14(SP)			; *,LINEB				0462
001342	001016 					BNE	25$
001344	016101  000022 				MOV	22(R1),R1			;					0463
001350	070127  000104 				MUL	#104,R1
001354	004767  000000G				JSR	PC,$DSRGT
001360	103577 				24$:	BCS	33$
001362	010066  000014 				MOV	R0,14(SP)			; $MCB$R0,LINEB
001366	016700  000002G				MOV	.CRDAT+2,R0			;					0464
001372	016660  000014  000020 			MOV	14(SP),20(R0)			; LINEB,*
001400	016702  000002G			25$:	MOV	.CRDAT+2,R2			;					0467
001404	016203  000022 				MOV	22(R2),R3
001410	005066  000012 				CLR	12(SP)				; J
001414	000542 					BR	32$
001416	012701  000002 			26$:	MOV	#2,R1
001422	066601  000014 				ADD	14(SP),R1			; LINEB,*
001426	010100 					MOV	R1,R0
001430	105010 					CLRB	(R0)				;					0468
001432	016601  000014 				MOV	14(SP),R1			; LINEB,*				0469
001436	005061  000004 				CLR	4(R1)				; *(LINEB)
001442	105061  000007 				CLRB	7(R1)				; *(LINEB)				0470
001446	042710  012400 				BIC	#12400,(R0)			;					0476
001452	042711  034400 				BIC	#34400,(R1)			; *,LINEB				0477
XPTINI								25-Jan-1983 09:57:21	TOPS-20 Bliss-16 2A(530)	    Page  15
X01150								30-Dec-1982 21:27:45	NETPKG:<XPT>XPTINI.BLI.9 (3)

001456	010100 					MOV	R1,R0				; LINEB,*				0478
001460	112760  000002  000037 			MOVB	#2,37(R0)			; *,*(LINEB)
001466	105010 					CLRB	(R0)				; LINEB					0479
001470	112760  000002  000041 			MOVB	#2,41(R0)			; *,*(LINEB)				0480
001476	105060  000006 				CLRB	6(R0)				; *(LINEB)				0481
001502	012700  000026 				MOV	#26,R0
001506	060100 					ADD	R1,R0				; LINEB,*
001510	010001 					MOV	R0,R1
001512	116611  000012 				MOVB	12(SP),(R1)			; J,*					0482
001516	005000 					CLR	R0				;					0483
001520	156200  000004 				BISB	4(R2),R0
001524	072027  000010 				ASH	#10,R0
001530	005004 					CLR	R4
001532	151104 					BISB	(R1),R4
001534	060400 					ADD	R4,R0
001536	010011 					MOV	R0,(R1)
001540	005000 					CLR	R0				;					0484
001542	156200  000003 				BISB	3(R2),R0
001546	072027  000010 				ASH	#10,R0
001552	005004 					CLR	R4
001554	151104 					BISB	(R1),R4
001556	060400 					ADD	R4,R0
001560	016604  000014 				MOV	14(SP),R4			; LINEB,*
001564	010064  000030 				MOV	R0,30(R4)			; *,*(LINEB)
001570	010400 					MOV	R4,R0				; LINEB,*				0485
001572	005060  000032 				CLR	32(R0)				; *(LINEB)
001576	020327  000003 				CMP	R3,#3				;					0486
001602	002003 					BGE	27$
001604	012704  000001 				MOV	#1,R4
001610	000411 					BR	30$
001612	020327  000007 			27$:	CMP	R3,#7				;					0488
001616	002003 					BGE	28$
001620	012700  000002 				MOV	#2,R0
001624	000402 					BR	29$
001626	012700  000003 			28$:	MOV	#3,R0
001632	010004 				29$:	MOV	R0,R4				;					0486
001634	005001 				30$:	CLR	R1
001636	156201  000034 				BISB	34(R2),R1
001642	005000 					CLR	R0
001644	071004 					DIV	R4,R0
001646	005700 					TST	R0
001650	003002 					BGT	31$
001652	012700  000001 				MOV	#1,R0
001656	016601  000014 			31$:	MOV	14(SP),R1			; LINEB,*
001662	110061  000036 				MOVB	R0,36(R1)			; *,*(LINEB)
001666	010100 					MOV	R1,R0				; LINEB,*				0492
001670	005060  000050 				CLR	50(R0)				; *(LINEB)
001674	111160  000042 				MOVB	(R1),42(R0)			; LINEB,*(LINEB)			0493
001700	105060  000040 				CLRB	40(R0)				; *(LINEB)				0494
001704	005060  000044 				CLR	44(R0)				; *(LINEB)				0495
001710	005060  000046 				CLR	46(R0)				; *(LINEB)				0496
001714	062766  000104  000014 			ADD	#104,14(SP)			; *,LINEB				0497
XPTINI								25-Jan-1983 09:57:21	TOPS-20 Bliss-16 2A(530)	    Page  16
X01150								30-Dec-1982 21:27:45	NETPKG:<XPT>XPTINI.BLI.9 (3)

001722	005266  000012 			32$:	INC	12(SP)				; J					0467
001726	026603  000012 				CMP	12(SP),R3			; J,*
001732	003631 					BLE	26$
001734	016204  000026 				MOV	26(R2),R4			; *,LTT					0508
001740	001027 					BNE	35$
001742	016201  000030 				MOV	30(R2),R1			;					0509
001746	072127  000003 				ASH	#3,R1
001752	010102 					MOV	R1,R2
001754	004767  000000G				JSR	PC,$DSRGT
001760	103406 				33$:	BCS	34$
001762	010004 					MOV	R0,R4				; $MCB$R0,LTT
001764	016700  000002G				MOV	.CRDAT+2,R0			;					0510
001770	010460  000026 				MOV	R4,26(R0)			; LTT,*
001774	000411 					BR	35$				;					0509
001776	012716  100154 			34$:	MOV	#-77624,(SP)			;					0511
002002	012746  000001 				MOV	#1,-(SP)
002006	004767  000000G				JSR	PC,$STOP
002012	062706  000014 				ADD	#14,SP
002016	000460 					BR	38$
002020	016700  000002G			35$:	MOV	.CRDAT+2,R0			;					0513
002024	016001  000030 				MOV	30(R0),R1			; *,I
002030	001413 					BEQ	37$
002032	012714  177777 			36$:	MOV	#-1,(R4)			; *,LTT					0515
002036	011464  000002 				MOV	(R4),2(R4)			; *,*(LTT)				0516
002042	011464  000004 				MOV	(R4),4(R4)			; *,*(LTT)				0517
002046	012464  000004 				MOV	(R4)+,4(R4)			; *,*(LTT)				0518
002052	062704  000006 				ADD	#6,R4				; *,LTT					0519
002056	077113 					SOB	R1,36$				; I,*					0000
002060	012701  000110 			37$:	MOV	#110,R1				;					0527
002064	060001 					ADD	R0,R1
002066	005011 					CLR	(R1)
002070	010161  000002 				MOV	R1,2(R1)
002074	012760  000001  000106 			MOV	#1,106(R0)			;					0533
002102	016060  000060  000072 			MOV	60(R0),72(R0)			;					0539
002110	016060  000062  000074 			MOV	62(R0),74(R0)			;					0540
002116	004767  000000G				JSR	PC,$LTMEN			;					0542
002122	112777  000001  000002G			MOVB	#1,@.CRDAT+2			;					0543
002130	016504  000002 				MOV	2(R5),R4			; CCB(.AP.),*				0549
002134	012764  000001  000014 			MOV	#1,14(R4)
002142	112764  000022  000012 			MOVB	#22,12(R4)			;					0550
002150	004767  000000G				JSR	PC,$SCHED			;					0551
002154	062706  000012 				ADD	#12,SP				;					0252
002160	062706  000010 			38$:	ADD	#10,SP				;					0223
002164	000207 					RTS	PC

; Routine Size:  571 words,	Routine Base:  $CODE$ + 0000
; Maximum stack depth per invocation:  11 words
XPTINI								25-Jan-1983 09:57:21	TOPS-20 Bliss-16 2A(530)	    Page  17
X01150								30-Dec-1982 21:27:45	NETPKG:<XPT>XPTINI.BLI.9 (4)

;	  0553	global routine TERM_XPT (CCB): CALL$ novalue =
;	  0554	
;	  0555	!++
;	  0556	! FUNCTIONAL DESCRIPTION:
;	  0557	!
;	  0558	!  Terminates Transport without bringing it back up.  This is
;	  0559	!  done by terminating all the lines.
;	  0560	!
;	  0561	! FORMAL PARAMETERS
;	  0562	!
;	  0563	!	CCB
;	  0564	!
;	  0565	! IMPLICIT INPUTS
;	  0566	!
;	  0567	!	XPTflags
;	  0568	!
;	  0569	! ROUTINE VALUE:
;	  0570	! COMPLETION CODES:
;	  0571	!
;	  0572	!	NONE.
;	  0573	!
;	  0574	! SIDE EFFECTS:
;	  0575	!
;	  0576	!	NONE.
;	  0577	!
;	  0578	!--
;	  0579	
;	  0580	begin
;	  0581	map CCB: ref block field (C_fields);
;	  0582	require 'XPTSYM';
;	  0619	
;	  0620	!
;	  0621	!  If Transport isn't up, return an error
;	  0622	!
;	  0623	
;	  0624	if .XPTflags eql 0
;	  0625	then begin
;	  0626	     CCB[C_STS] = CE_DIS;
;	  0627	     CCB[C_FNC] = FC_CCP;
;	  0628	     $MCB_SCHEDULE_CCB(.CCB);
;	  0629	     return;
;	  0630	     end;
;	  0631	
;	  0632	!
;	  0633	!  Declare a "Transport Terminating" event
;	  0634	!
;	  0635	
;	  0636	%( TBS )%
;	  0637	
;	  0638	!
;	  0639	!  Clear out the retry queue
;	  0640	!
XPTINI								25-Jan-1983 09:57:21	TOPS-20 Bliss-16 2A(530)	    Page  18
X01150								30-Dec-1982 21:27:45	NETPKG:<XPT>XPTINI.BLI.9 (4)

;	  0641	
;	  0642	while true do
;	  0643	    begin                               ! Terminate each CCB on the queue
;	  0644	    local RETRY_CCB: ref block field (C_XPT_FIELDS);
;	  0645	    if not $MCB_DEQUEUE_CCB(REqueue, RETRY_CCB) then exitloop;
;	  0646	    RETRY_CCB[C_FNC] = FC_CCP;
;	  0647	    RETRY_CCB[C_STS] = CE_DIS;
;	  0648	    $MCB_SCHEDULE_CCB(.RETRY_CCB);
;	  0649	    end;
;	  0650	
;	  0651	!
;	  0652	!  Flag Transport as down
;	  0653	!
;	  0654	
;	  0655	XPTflags = 0;
;	  0656	Routing_clock = 0;
;	  0657	Update_clock = 0;
;	  0658	
;	  0659	!
;	  0660	!  Save the function CCB
;	  0661	!
;	  0662	
;	  0663	Tid = .CCB;				!Note this destroys the Transport ID
;	  0664	
;	  0665	!
;	  0666	!  Bring each line down
;	  0667	!
;	  0668	
;	  0669	$XPT_for_each_LINEb_do_begin
;	  0670	    Service_line = true;                ! Flag for line service.
;	  0671	$XPT_next_LINEb_end;
;	  0672	
;	  0673	end;				!End of TERM_XPT


						.GLOBL	$CMQRM


						.SBTTL	TERM.XPT
000000	016703  000002G			TERM.XPT::
					U.2:	MOV	.CRDAT+2,R3			;					0624
000004	005763  000106 				TST	106(R3)
000010	001013 					BNE	1$
000012	016504  000002 				MOV	2(R5),R4			; CCB(.AP.),*				0626
000016	012764  177520  000014 			MOV	#-260,14(R4)
000024	112764  000022  000012 			MOVB	#22,12(R4)			;					0627
000032	004767  000000G				JSR	PC,$SCHED			;					0628
000036	000207 					RTS	PC				;					0625
000040	016703  000002G			1$:	MOV	.CRDAT+2,R3			;					0645
000044	062703  000110 				ADD	#110,R3
000050	004767  000000G				JSR	PC,$CMQRM
000054	103411 					BCS	2$
XPTINI								25-Jan-1983 09:57:21	TOPS-20 Bliss-16 2A(530)	    Page  19
X01150								30-Dec-1982 21:27:45	NETPKG:<XPT>XPTINI.BLI.9 (4)

000056	112764  000022  000012 			MOVB	#22,12(R4)			; *,*(RETRY.CCB)			0646
000064	012764  177520  000014 			MOV	#-260,14(R4)			; *,*(RETRY.CCB)			0647
000072	004767  000000G				JSR	PC,$SCHED			;					0648
000076	000760 					BR	1$				;					0642
000100	016703  000002G			2$:	MOV	.CRDAT+2,R3			;					0649
000104	005063  000106 				CLR	106(R3)				;					0655
000110	005063  000072 				CLR	72(R3)				;					0656
000114	005063  000074 				CLR	74(R3)				;					0657
000120	016563  000002  000056 			MOV	2(R5),56(R3)			; CCB(.AP.),*				0663
000126	016304  000020 				MOV	20(R3),R4			; *,LINEB
000132	016303  000022 				MOV	22(R3),R3			; *,$XPT$LINEB.CNT
000136	001405 					BEQ	4$
000140	052724  040000 			3$:	BIS	#40000,(R4)+			; *,LINEB				0670
000144	062704  000102 				ADD	#102,R4				; *,LINEB
000150	077305 					SOB	R3,3$				; $XPT$LINEB.CNT,*			0000
000152	000207 				4$:	RTS	PC				;					0553

; Routine Size:  54 words,	Routine Base:  $CODE$ + 2166
; Maximum stack depth per invocation:  1 word


;	  0674	end				!End of Module XPTMAIN
;	  0675	eludom



;					OTS external references
						.GLOBL	$STOP, BL$FIL, BL$MOV


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




;				LIBRARY STATISTICS
;
;					     -------- Symbols --------    Blocks
;	File				     Total    Loaded   Percent      Read
;
;  NETPKG:<MCB>XPORTX.L16.15		       599         4         0         0
;  NETPKG:<MCB>MCBLIB.L16.15		       372        41        11         0
;  NETPKG:<MCB>NMXLIB.L16.13		       200         0         0         0
;  NETPKG:<XPT>XPTLIB.L16.3		       510       277        54         0
XPTINI								25-Jan-1983 09:57:21	TOPS-20 Bliss-16 2A(530)	    Page  20
X01150								30-Dec-1982 21:27:45	NETPKG:<XPT>XPTINI.BLI.9 (4)


; Size:		625 code + 16 data words
; Run Time:	00:16.1
; Elapsed Time:	00:59.0
; Memory Used:	118 pages
; Compilation Complete
ADDRESS				 151+	 153+	 154+	 156+	 157+	 159+	 160+	 166+	 167+	 170+	 171+	 172+
BPT				 180+#	 192+#
BUFCHK				 184+	 185+#	 194+	 195+#
BYT$ALLOCATION			 334
BYT$PTR				 322	 333	 347	 367	 375	 395	 406
BYT$SHORT_STRING		 327	 351	 355	 380	 381	 410
CALL$				 203	 204	 223#	 553#
CCB				 223	 253	 309	 549#	 550#	 551	 553	 581	 626#	 627#	 628	 663
CE_DIS				 626	 647
CHKBUF				 187+*	 188+
CNT				 331	 332#	 333#	 334
COST_P				 426
CS_SUC				 549
C_FIELDS			 253	 581
C_FNC				 550	 627	 646
C_PRM1				 309
C_STS				 549	 626	 647
C_XPT_FIELDS			 644
DEFAULT_HELLO_DATA_LENGTH	 405
DLLHANDLE			 485#
DLLQUOTA			 303#
DLLSIZE				 355
DLLSTATE			 481#
DLL_FREE			 481
DTECIRCUIT			 471#
ECLQUOTA			 301#
EX_PUTW				 372
FALSE_NI_MSG_ADDR		 393	 395#
FALSE_NI_MSG_CNT		 398#
FALSE				 317	 318	 448	 449	 450	 471	 472	 473	 474	 475	 476	 477
FC_CCP				 550	 627	 646
FREEING				 474#
FULL				 353	 354
GETB				 332
GETQ				 151+#
GETW				 130+#	 153+	 154+
HA				 479
HELLO_CLOCK			 495#
HELLO_CTLFLG			 409
HELLO_MSG_ADDR			 404	 406#	 413
HELLO_MSG_CNT			 414#
HOPCOST_ADDRESS			 424
HOPCOST_BIAS			 421
HOP_P				 426
I				 175+	 177+	 443	 444	 513
IJ				 425
INFC				 426	 446
INFH				 426	 445
INIT_CTLFLG			 350
INIT_SUBFLG			 371
INIT_XPT			 203	 223*
INPUTQUOTA			 302#
INTERCEPT			 476#
J				 175+	 177+	 467	 482
LINEBLOCK			 281+	 460	 609+
LINEB				 279+	 281+	 460	 462#	 463	 464	 497#	 607+	 609+
LINECCB				 492#
LINEFUNCTION			 494#
LINENUMBER			 482#	 483	 484
LINEQUOTA			 486#
LINESIZE			 463	 497
LINESTATE			 479#	 493
LINESTATE_DESIRED		 493#
LISTEN_CLOCK			 496#
LOCAL_NODE			 450#
LTT				 506	 508#	 509	 510	 515#	 516#	 517#	 518#	 519#
LTTBLOCK			 506
LTTLEN				 519
LTTLINK1			 516
LTTLINK2			 518
LTTNODE1			 515
LTTNODE2			 517
M				 175+	 176+
MAP$				 421
MATRIX				 175+#	 177+
MAXC				 298#
MAXH				 296#
MAXL				 299#
MAXV				 297#
MCB$GAW_PROCESS_DATA_BASE	 284+	 285+	 288+	 612+	 613+	 616+
MINCOST				 446#
MINHOP				 445#
N				 175+	 176+
NAME				 218#
NID				 469#
NI_MSG_ADDR			 365	 367#	 386
NI_MSG_CNT			 387#
NL				 175+	 177+
NLN				 425	 463	 467	 486	 488
NMSTATE				 478#
NN				 425	 439	 443
NNML				 470#
NODEADDRESS			 444#
NODEBLOCK			 276+	 436	 604+
NODEB				 274+	 276+	 436	 438#	 439	 440	 451#	 602+	 604+
NODENAME			 375
NODENAME_LENGTH			 373	 374
NODESIZE			 439	 451
NOP				 192+	 193+	 195+
NO_LINEB			 280+	 608+
NO_NODEB			 275+	 603+
NTY				 468#
OFF				 478	 480
OL				 447#
OTISERVICES			 376
OTI_CTLFLG			 370
OWNED				 477#
P				 423	 424#	 426#	 427#
PD_TLI				 484
PD_XPT				 483
PH2LINK_ALLOCATED		 509	 513
PH2LINK_TABLE			 508	 510#
PH2ONLY				 475#
PH2SIZE				 380	 381
PHASE2_NODE			 449#
POINTER				 321	 343	 363	 391	 402	 423
PTR				 130+	 133+	 134+	 137+	 140+	 141+	 147+	 148+	 151+	 153+	 154+	 156+
				 159+	 160+	 161+	 162+	 166+	 167+	 321	 326#	 327	 332	 333	 343
				 345#	 346	 347#	 350	 351	 353	 354	 355	 356	 357	 358#	 359
				 363	 365#	 366	 367#	 370	 371	 372	 373	 374#	 375	 376	 378
				 379	 380	 381	 382	 383	 384	 385	 386#	 387	 391	 394	 395
				 402	 404#	 405	 406#	 409	 410	 411	 412#	 413#	 414
PUTB				 350	 353	 354	 356	 357	 370	 371	 373	 376	 378	 379	 383
				 384	 385	 409	 411
PUTQ				 156+#
PUTW				 137+#	 166+	 167+	 382	 383	 384
PWD2RCV				 322
PWD3RCV_LENGTH			 324	 333	 334
PWD3TVMSG_PTR			 326
PWDLINK				 329	 334#
PWDNODE				 328
REACH				 448#
REQUEST_OTV			 318#	 323#	 377
REQUEST_TV			 317#	 325#	 352
REQUEUE				 527	 645
RETRY_CCB			 644	 645	 646#	 647#	 648
ROUTING_CLOCK			 539#	 656#
ROUTING_TIMER			 539
RUNNING				 533
SEND_HELLO			 472#
SERVICE_LINE			 670#
SRM				 473#
TERM_XPT			 204	 553*
TID				 309#	 327	 351	 372	 410	 663#
TIMER				 543#
TI_MSG_ADDR			 345	 347#	 358
TI_MSG_CNT			 359#
TLIHANDLE			 484#
TRUE				 323	 325	 642	 670
UNIT				 175+#	 176+	 177+
UPDATEQUOTA			 300#
UPDATE_CLOCK			 540#	 657#
UPDATE_TIMER			 540
VALUE				 137+	 138+	 140+	 141+	 146+
X				 132+	 133+#	 134+#	 135+	 145+	 146+#	 147+	 148+
XPE				 218
XPT$_REE			 348	 368	 396	 407	 441	 465	 511
XPTDBBLOCK			 290+	 618+
XPTDB				 287+	 288+#	 289+	 438	 440#	 462	 464#	 615+	 616+#	 617+
XPTFLAGS			 533#	 624	 655#
XPTHANDLE			 483#
XPTINI				   1#
XPTLINDB			 462	 464
XPTNODDB			 438	 440
XPTSTATE			 480#
ZEROQ				 170+#
$ECLQ				 301
$INPQ				 302
$LINQ				 303	 486
$MAXC				 298
$MAXH				 296
$MAXLK				 382
$MAXL				 299
$MAXV				 297
$MCB_DEQUEUE_CCB		 645
$MCB_ENABLE_LONG_TIMER		 542
$MCB_GET_DSR			 346	 366	 394	 405	 439	 463	 509
$MCB_INITIALIZE_QUEUE		 527
$MCB_PROCESS			 218
$MCB_SCHEDULE_CCB		 551	 628	 648
$TLI_FOR_EACH_PWDB_DO_BEGIN	 320
$TLI_NEXT_PWDB_END		 336
$UPDQ				 300
$XPT_FOR_EACH_LINEB_DO_BEGIN	 669
$XPT_NEXT_LINEB_END		 671
%CTCE				 138+	 157+
%REMAINING			 182+