Google
 

Trailing-Edge - PDP-10 Archives - BB-R595B-SM_11-9-85 - mcb/sc/scsub.lst
There is 1 other file named scsub.lst in the archive. Click here to see a list.
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page   1
								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (1)

;	  0001	module SCSUB (			! Session Control Subroutines
;	  0002			ident = 'X01250'
;	  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	!
;	  0029	! FACILITY:	Session Control
;	  0030	!
;	  0031	! ABSTRACT:	Support subroutines for the MCB Session Control
;	  0032	!
;	  0033	! ENVIRONMENT:	MCB
;	  0034	!
;	  0035	! AUTHOR: 	Buren Hoffman		CREATION DATE: 24-Jun-80
;	  0036	!
;	  0037	! MODIFIED BY:
;	  0038	!	X01010	Changed code to use $byt_ptr macro in place of the
;	  0039	!		ch$ptr macro.
;	  0040	!	X01020	Fixed mapping problem in CONBKI.
;	  0041	!	X01030	Provided error recording byte pointer in CONBKI.
;	  0042	!	X01040	Fixed improper reference to byte value in CONBKI, and
;	  0043	!		corrected dot bug in FINDOB.
;	  0044	!	X01050	Incorporated I$OPN routine.
;	  0045	!	X01060	Fixed logic problems in CONBKI and CONBKO.
;	  0046	!	X01070	CONBKI was storing PIX in wrong location.
;	  0047	!	X01080	Fixed error where buffer length was not being set
;	  0048	!		on incoming connects.
;	  0049	!	X01090	Install new FINDOB routine to allow mapping of named
;	  0050	!		processes on incoming connects.
;	  0051	!	X01100	Removed old external reference to previous mapping table.
;	  0052	!	X01110	Fixed mapping bug in new FINDOB routine.
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page   2
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (1)

;	  0053	!	X01120	CONBKI wasn't releasing memory on error condition.
;	  0054	!	X01130	Fixed mapping bug in CONBKI.
;	  0055	!	X01140	Improved documentation, and added info on SIGNAL_STOPs
;	  0056	!	X01150	Bias was not being set for connect block buffer sent to user
;	  0057	!	X01160	Mods to support new Network Management interface.
;	  0058	!	X01170	Use new Comm/Exec to process linkage (.CRDAT for database)
;	  0059	!	X01180	Updated to use library calls, instead of requires.
;	  0060	!	X01190	Fixed bug in decimal to ascii conversion (CNVDA$).
;	  0061	!	X01200	Put routines into alphabetical order
;	  0062	!	X01210	Changed STKCCB to pass along user-provided chain of CCBs.
;	  0063	!	X01220	Cleaned up node-finding in FINDND
;	  0064	!	X01230	Cleanup of CNVAD$ routine
;	  0065	!	X01240	Optimization work
;	  0066	!	x01250	add range check code to FINDND
;	  0067	!--
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page   3
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (2)

;	  0068	!
;	  0069	! INCLUDE FILES:
;	  0070	!
;	  0071	library 'SCPRM';		! Our parameter and macro definitions
;	  0072	library 'MCB:MCBLIB';
;	  0073	library 'MCB:RSXLIB';
;	  0074	library 'MCB:XPORTX';
;	  0075	library 'MCB:SCSYS';
;	  0076	
;	  0077	require 'NSP:NSINFO';
;	  0189	
;	  0190	!
;	  0191	! TABLE OF CONTENTS:
;	  0192	!
;	  0193	forward routine
;	  0194	    CNVAD$,				! Convert ASCII to decimal
;	  0195	    CNVDA$: novalue,			! Convert decimal to ASCII
;	  0196	    CONBKI,				! Do connect data translation
;	  0197	    CONBKO,				! ...
;	  0198	    DO_RCP: linkage_ccb novalue,	! Do RCP processing
;	  0199	    DO_XME: linkage_ccb novalue,	! Do XME processing
;	  0200	    DST_SRC_I,				! Validate dest/src object descriptors
;	  0201	    DST_SRC_O,				!   (same, except for outgoing)
;	  0202	    FINDLL,				! Find available logical link
;	  0203	    FINDND,				! Find node address
;	  0204	    FINDOB,				! Find specified object type
;	  0205	    I$CLS: novalue,			! Close a port
;	  0206	    I$OPN: novalue,			! Open a port
;	  0207	    STKCCB: novalue,			! Stack CCBs and set C_BUF
;	  0208	    STSMAP;				! Map from NSP to SC status
;	  0209	
;	  0210	!
;	  0211	! MACROS:
;	  0212	!
;	  0213	!
;	  0214	! EQUATED SYMBOLS:
;	  0215	!
;	  0216	literal				! MENU word in connect message
;	  0217	    U_INFO = 1,			! USRID, PASSWD, and ACCNT info
;	  0218	    U_DATA = 2;			! Optional data
;	  0219	
;	  0220	!
;	  0221	! OWN STORAGE:
;	  0222	!
;	  0223	
;	  0224	!
;	  0225	! EXTERNAL REFERENCES:
;	  0226	!
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page   4
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (3)

;	  0227	global routine CNVAD$ (PTR , LEN) =
;	  0228	
;	  0229	!++
;	  0230	! FUNCTIONAL DESCRIPTION:
;	  0231	!	This routine converts a decimal ASCII field to binary.
;	  0232	!	If a non-numeric character, other than a blank or null
;	  0233	!	is found, zero is returned. A blank or null terminates
;	  0234	!	the conversion.
;	  0235	!
;	  0236	! FORMAL PARAMETERS:
;	  0237	!	PTR = String pointer to the field
;	  0238	!	LEN = Length of the field
;	  0239	!
;	  0240	! IMPLICIT INPUTS:
;	  0241	!	None
;	  0242	!
;	  0243	! ROUTINE VALUE:
;	  0244	!	Numeric value, or zero if non-numeric
;	  0245	!
;	  0246	! COMPLETION CODES:
;	  0247	! SIDE EFFECTS:
;	  0248	!	None
;	  0249	!--
;	  0250	
;	  0251	    begin
;	  0252	    local
;	  0253		DIGIT, VALUE;
;	  0254	    register
;	  0255		P;
;	  0256	
;	  0257	    VALUE = 0;
;	  0258	    P = .PTR;
;	  0259	
;	  0260	    incr I from 1 to .LEN do
;	  0261		begin
;	  0262		DIGIT = ch$rchar_a (P);
;	  0263		if (.DIGIT eql 0) or (.DIGIT eql %c' ') then return .VALUE;
;	  0264		if (.DIGIT geq %c'0') and (.DIGIT leq %c'9')
;	  0265		then VALUE = (.VALUE * 10) + .DIGIT - %c'0'
;	  0266		else return 0
;	  0267		end;
;	  0268	
;	  0269	    return .VALUE
;	  0270	    end;


						.TITLE	SCSUB
						.IDENT	/X01250/

						.SBTTL	CNVAD$
000000						.PSECT	$CODE$,  RO 
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page   5
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (3)

000000	004167  000000G			CNVAD$::JSR	R1,$SAVE4			;					0227
000004	005004 					CLR	R4				; VALUE					0257
000006	016600  000016 				MOV	16(SP),R0			; PTR,P					0258
000012	005003 					CLR	R3				; I					0260
000014	000424 					BR	2$
000016	005002 				1$:	CLR	R2				; DIGIT					0262
000020	152002 					BISB	(R0)+,R2			; P,DIGIT
000022	005702 					TST	R2				; DIGIT					0263
000024	001424 					BEQ	3$
000026	020227  000040 				CMP	R2,#40				; DIGIT,*
000032	001421 					BEQ	3$
000034	020227  000060 				CMP	R2,#60				; DIGIT,*				0264
000040	002420 					BLT	4$
000042	020227  000071 				CMP	R2,#71				; DIGIT,*
000046	003015 					BGT	4$
000050	010401 					MOV	R4,R1				; VALUE,*				0265
000052	070127  000012 				MUL	#12,R1
000056	060201 					ADD	R2,R1				; DIGIT,*
000060	010104 					MOV	R1,R4				; *,VALUE
000062	162704  000060 				SUB	#60,R4				; *,VALUE
000066	005203 				2$:	INC	R3				; I					0260
000070	020366  000014 				CMP	R3,14(SP)			; I,LEN
000074	003750 					BLE	1$
000076	010400 				3$:	MOV	R4,R0				; VALUE,*				0251
000100	000207 					RTS	PC
000102	005000 				4$:	CLR	R0				;					0227
000104	000207 					RTS	PC

; Routine Size:  35 words,	Routine Base:  $CODE$ + 0000
; Maximum stack depth per invocation:  6 words
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page   6
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (4)

;	  0271	global routine CNVDA$ (NUM, PTR): novalue =
;	  0272	
;	  0273	!++
;	  0274	! FUNCTIONAL DESCRIPTION:
;	  0275	!	This routine converts a decimal integer to ASCII.
;	  0276	!
;	  0277	! FORMAL PARAMETERS:
;	  0278	!	NUM = Decimal positive integer
;	  0279	!	PTR = Address of string pointer
;	  0280	!
;	  0281	! IMPLICIT INPUTS:
;	  0282	!	None
;	  0283	!
;	  0284	! ROUTINE VALUE:
;	  0285	! COMPLETION CODES:
;	  0286	!	None
;	  0287	!
;	  0288	! SIDE EFFECTS:
;	  0289	!	None
;	  0290	!--
;	  0291	
;	  0292	    begin
;	  0293	    local
;	  0294		DIGIT;
;	  0295	
;	  0296	    DIGIT = (.NUM mod 10) + %c'0';
;	  0297	    NUM = .NUM / 10;
;	  0298	    if .NUM gtr 0 then CNVDA$ (.NUM, .PTR);
;	  0299	    ch$wchar_a (.DIGIT, .PTR)
;	  0300	    end;


						.SBTTL	CNVDA$
000000	004167  000000G			CNVDA$::JSR	R1,$SAVE2			;					0271
000004	016601  000012 				MOV	12(SP),R1			; NUM,*					0296
000010	006700 					SXT	R0
000012	071027  000012 				DIV	#12,R0
000016	010102 					MOV	R1,R2				; *,DIGIT
000020	062702  000060 				ADD	#60,R2				; *,DIGIT
000024	016601  000012 				MOV	12(SP),R1			; NUM,*					0297
000030	006700 					SXT	R0
000032	071027  000012 				DIV	#12,R0
000036	010066  000012 				MOV	R0,12(SP)			; *,NUM
000042	003406 					BLE	1$				;					0298
000044	010046 					MOV	R0,-(SP)
000046	016646  000012 				MOV	12(SP),-(SP)			; PTR,*
000052	004767  177722 				JSR	PC,CNVDA$
000056	022626 					CMP	(SP)+,(SP)+
000060	017600  000010 			1$:	MOV	@10(SP),R0			; PTR,*					0299
000064	110210 					MOVB	R2,(R0)				; DIGIT,*
000066	005276  000010 				INC	@10(SP)				; PTR
000072	000207 					RTS	PC				;					0271
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page   7
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (4)


; Routine Size:  30 words,	Routine Base:  $CODE$ + 0106
; Maximum stack depth per invocation:  6 words
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page   8
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (5)

;	  0301	global routine CONBKI (CCB, LCCB, LNK) =
;	  0302	
;	  0303	!++
;	  0304	! FUNCTIONAL DESCRIPTION:
;	  0305	!	Process incoming connect message.
;	  0306	!
;	  0307	! FORMAL PARAMETERS:
;	  0308	!	CCB	CCB which owns received message
;	  0309	!	LCCB	CCB which owns connect block
;	  0310	!	LNK	Logical link block in use
;	  0311	!
;	  0312	! IMPLICIT INPUTS:
;	  0313	!	LLT mapped
;	  0314	!
;	  0315	! IMPLICIT OUTPUTS:
;	  0316	!	Connect block built in LCCB [C_BUF]
;	  0317	!	LNK [C_PIX] set for destination process
;	  0318	!
;	  0319	! ROUTINE VALUE:
;	  0320	!	True, if successful
;	  0321	!	False, if failure
;	  0322	!
;	  0323	! COMPLETION CODES:
;	  0324	!	LCCB [C_PRM1] set for error xmission
;	  0325	!
;	  0326	! SIDE EFFECTS:
;	  0327	!	None
;	  0328	!--
;	  0329	    begin
;	  0330	    $sc_get_data_base (SCDB);
;	  0331	    map
;	  0332		CCB: ref block field (C_FIELDS),
;	  0333		LCCB: ref block field (C_FIELDS),
;	  0334		LNK: ref block field (LLT_FIELDS);
;	  0335	    local
;	  0336		PTR,
;	  0337		EPTR,
;	  0338		ERR,
;	  0339		MENU;
;	  0340	    bind
;	  0341		CB = LCCB [C_ADDR]: ref block field (CB_FIELDS),
;	  0342		NMT = SCDB [SC_NMT_ADDR]: ref blockvector [, NMT_SIZE] field (NMT_FIELDS);
;	  0343	    label
;	  0344		CBE;
;	  0345	
;	  0346	    EPTR = byt$ptr (LCCB [C_PRM1]);		! This is where to write code
;	  0347	    if not $MCB_GET_DSR (CB_SIZE*bytes_word, CB) ! Get connect block memory
;	  0348	    then
;	  0349		begin					! No luck, so grouse a bit
;	  0350		byt$short_string (uplit (-S_ERES), EPTR);
;	  0351		return false
;	  0352		end;
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page   9
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (5)

;	  0353	
;	  0354	    LCCB [C_BIAS] = 0;
;	  0355	    ch$fill (0, CB_SIZE*bytes_word, .CB);		! Clear block to zeroes
;	  0356	    MAP$ (.SCDB [SC_NMT_BIAS]);				! Look at node mapping table
;	  0357	    PTR = byt$ptr (NMT [.CCB [C_PRM1], NMT_NAME]);	! Examine subject name
;	  0358	    if ch$rchar (.PTR) neq 0				! If a name is defined,
;	  0359	    then ch$move (6, .PTR, byt$ptr (CB [CB_NODE]))	!   then move it to CB
;	  0360	    else
;	  0361		begin
;	  0362		PTR = byt$ptr (CB [CB_NODE]);			! Undefined, concoct a
;	  0363		CNVDA$ (.CCB [C_PRM1], PTR);			!   name from number
;	  0364		ch$fill (%c' ', 6 - ch$diff (.PTR, byt$ptr (CB [CB_NODE])), .PTR)
;	  0365		end;
;	  0366	
;	  0367	    MAP$ (.CCB [C_BIAS]);			! Look at connect message
;	  0368	    PTR = .CCB [C_ADDR];			! ...
;	  0369	
;	  0370	    if not (DST_SRC_I (CB [CB_DFMT], PTR) and DST_SRC_I (CB [CB_SFMT], PTR))
;	  0371	    then ERR = -S_EIOF
;	  0372	    else ERR = CBE:
;	  0373		begin
;	  0374		MENU = ch$rchar_a (PTR);		! Get menu byte
;	  0375	
;	  0376		if (.MENU and U_INFO) neq 0
;	  0377		then
;	  0378		    begin
;	  0379		    if (CB [CB_RQDL] = ch$rchar_a (PTR)) gtr 16
;	  0380			then leave CBE with -S_ECBE;
;	  0381		    ch$move (.CB [CB_RQDL], .PTR, CB [CB_RQID]);
;	  0382		    PTR = ch$plus (.PTR, .CB [CB_RQDL]);
;	  0383		    if (CB [CB_PASL] = ch$rchar_a (PTR)) gtr 8
;	  0384			then leave CBE with -S_ECBE;
;	  0385		    ch$move (.CB [CB_PASL], .PTR, CB [CB_PASW]);
;	  0386		    PTR = ch$plus (.PTR, .CB [CB_PASL]);
;	  0387		    if (CB [CB_ACTL] = ch$rchar_a (PTR)) gtr 16
;	  0388			then leave CBE with -S_ECBE;
;	  0389		    ch$move (.CB [CB_ACTL], .PTR, CB [CB_ACNT]);
;	  0390		    PTR = ch$plus (.PTR, .CB [CB_ACTL])
;	  0391		    end;
;	  0392	
;	  0393		if (.MENU and U_DATA) neq 0
;	  0394		then
;	  0395		    begin
;	  0396		    if (CB [CB_OPDL] = ch$rchar_a (PTR)) gtr 16
;	  0397			then leave CBE with -S_ECBE;
;	  0398		    ch$move (.CB [CB_OPDL], .PTR, CB [CB_OPTD]);
;	  0399		    PTR = ch$plus (.PTR, .CB [CB_OPDL])
;	  0400		    end;
;	  0401	
;	  0402		S_SSUC
;	  0403		end;
;	  0404	
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  10
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (5)

;	  0405	    MAP$ (.SCDB [SC_LLT_BIAS]);			! Back to original mapping
;	  0406	
;	  0407	    if .ERR eql S_SSUC
;	  0408	    then
;	  0409		begin
;	  0410		local
;	  0411		    PIX;
;	  0412		if not FINDOB (CB [CB_DFMT], PIX)
;	  0413		then ERR = -S_EURO else LNK [L_PIX] = .PIX
;	  0414		end;
;	  0415	
;	  0416	    byt$short_string (ERR, EPTR);		! Record the error code
;	  0417	
;	  0418	    if .ERR eql S_SSUC
;	  0419	    then
;	  0420		begin
;	  0421		LCCB [C_CNT] = CB_SIZE*bytes_word;	! Set connect block length
;	  0422		return true
;	  0423		end
;	  0424	    else
;	  0425		begin
;	  0426		$MCB_RETURN_DSR (CB_SIZE*bytes_word, .CB);
;	  0427		return false
;	  0428		end
;	  0429	    end;



000000						.PSECT	$PLIT$,  RO ,  D  
000000	000001 				P.AAA:	.WORD	1


						.GLOBL	.CRDAT, $DSRGT, KISAR6, $DSRRT


						.SBTTL	CONBKI
000202						.PSECT	$CODE$,  RO 

000000	004167  000000G			CONBKI::JSR	R1,$SAVE5			;					0301
000004	162706  000006 				SUB	#6,SP
000010	016704  000002G				MOV	.CRDAT+2,R4			;					0329
000014	016605  000026 				MOV	26(SP),R5			; LCCB,*				0341
000020	062705  000020 				ADD	#20,R5
000024	016646  000026 				MOV	26(SP),-(SP)			; LCCB,EPTR				0346
000030	062716  000024 				ADD	#24,(SP)			; *,EPTR
000034	012701  000156 				MOV	#156,R1				;					0347
000040	004767  000000G				JSR	PC,$DSRGT
000044	103402 					BCS	1$
000046	010015 					MOV	R0,(R5)				; $MCB$R0,*
000050	000413 					BR	2$
000052	016700  000000'			1$:	MOV	P.AAA,R0			; *,NUM					0350
000056	110076  000000 				MOVB	R0,@0(SP)			; NUM,EPTR
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  11
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (5)

000062	005216 					INC	(SP)				; EPTR
000064	000300 					SWAB	R0				; NUM
000066	110076  000000 				MOVB	R0,@0(SP)			; NUM,EPTR
000072	005216 					INC	(SP)				; EPTR
000074	000167  001046 				JMP	19$				;					0349
000100	016600  000030 			2$:	MOV	30(SP),R0			; LCCB,*				0354
000104	005060  000016 				CLR	16(R0)
000110	005046 					CLR	-(SP)				;					0355
000112	012746  000156 				MOV	#156,-(SP)
000116	011546 					MOV	(R5),-(SP)
000120	004767  000000G				JSR	PC,BL$FIL
000124	016467  000050  000000G			MOV	50(R4),KISAR6			;					0356
000132	016602  000040 				MOV	40(SP),R2			; CCB,*					0357
000136	016201  000024 				MOV	24(R2),R1
000142	070127  000014 				MUL	#14,R1
000146	066401  000052 				ADD	52(R4),R1
000152	010166  000014 				MOV	R1,14(SP)			; *,PTR
000156	005266  000014 				INC	14(SP)				; PTR
000162	016600  000014 				MOV	14(SP),R0			; PTR,*					0358
000166	105710 					TSTB	(R0)
000170	001407 					BEQ	3$
000172	012716  000006 				MOV	#6,(SP)				;					0359
000176	010046 					MOV	R0,-(SP)
000200	011546 					MOV	(R5),-(SP)
000202	004767  000000G				JSR	PC,BL$MOV
000206	000426 					BR	4$				;					0358
000210	011566  000014 			3$:	MOV	(R5),14(SP)			; *,PTR					0362
000214	016216  000024 				MOV	24(R2),(SP)			;					0363
000220	012746  000016 				MOV	#16,-(SP)
000224	060616 					ADD	SP,(SP)				; PTR,*
000226	004767  177452 				JSR	PC,CNVDA$
000232	012716  000040 				MOV	#40,(SP)			;					0364
000236	011500 					MOV	(R5),R0
000240	166600  000016 				SUB	16(SP),R0			; PTR,*
000244	010046 					MOV	R0,-(SP)
000246	062716  000006 				ADD	#6,(SP)
000252	016646  000020 				MOV	20(SP),-(SP)			; PTR,*
000256	004767  000000G				JSR	PC,BL$FIL
000262	005726 					TST	(SP)+				;					0361
000264	016267  000016  000000G		4$:	MOV	16(R2),KISAR6			;					0367
000272	016266  000020  000020 			MOV	20(R2),20(SP)			; *,PTR					0368
000300	011566  000014 				MOV	(R5),14(SP)			;					0370
000304	062766  000006  000014 			ADD	#6,14(SP)
000312	016616  000014 				MOV	14(SP),(SP)
000316	012746  000022 				MOV	#22,-(SP)
000322	060616 					ADD	SP,(SP)				; PTR,*
000324	004767  000000V				JSR	PC,DST.SRC.I
000330	005726 					TST	(SP)+
000332	006000 					ROR	R0
000334	103013 					BCC	5$
000336	011516 					MOV	(R5),(SP)
000340	062716  000032 				ADD	#32,(SP)
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  12
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (5)

000344	012746  000022 				MOV	#22,-(SP)
000350	060616 					ADD	SP,(SP)				; PTR,*
000352	004767  000000V				JSR	PC,DST.SRC.I
000356	005726 					TST	(SP)+
000360	006000 					ROR	R0
000362	103403 					BLO	6$
000364	012701  000005 			5$:	MOV	#5,R1				; *,ERR					0371
000370	000563 					BR	11$				;					0370
000372	005266  000020 			6$:	INC	20(SP)				; PTR					0374
000376	016600  000020 				MOV	20(SP),R0			; PTR,*
000402	005003 					CLR	R3				; MENU
000404	156003  177777 				BISB	-1(R0),R3			; *,MENU
000410	032703  000001 				BIT	#1,R3				; *,MENU				0376
000414	001525 					BEQ	9$
000416	011500 					MOV	(R5),R0				;					0379
000420	012702  000056 				MOV	#56,R2
000424	060002 					ADD	R0,R2
000426	005266  000020 				INC	20(SP)				; PTR
000432	016600  000020 				MOV	20(SP),R0			; PTR,*
000436	116012  177777 				MOVB	-1(R0),(R2)
000442	105062  000001 				CLRB	1(R2)
000446	021227  000020 				CMP	(R2),#20
000452	003130 					BGT	10$				;					0380
000454	011216 					MOV	(R2),(SP)			;					0381
000456	010046 					MOV	R0,-(SP)			; PTR,*
000460	011546 					MOV	(R5),-(SP)
000462	062716  000060 				ADD	#60,(SP)
000466	004767  000000G				JSR	PC,BL$MOV
000472	061266  000024 				ADD	(R2),24(SP)			; *,PTR					0382
000476	011500 					MOV	(R5),R0				;					0383
000500	012702  000100 				MOV	#100,R2
000504	060002 					ADD	R0,R2
000506	005266  000024 				INC	24(SP)				; PTR
000512	016600  000024 				MOV	24(SP),R0			; PTR,*
000516	116012  177777 				MOVB	-1(R0),(R2)
000522	105062  000001 				CLRB	1(R2)
000526	021227  000010 				CMP	(R2),#10
000532	003404 					BLE	7$
000534	012701  000014 				MOV	#14,R1				; *,ERR					0384
000540	022626 					CMP	(SP)+,(SP)+
000542	000514 					BR	14$
000544	011216 				7$:	MOV	(R2),(SP)			;					0385
000546	016646  000024 				MOV	24(SP),-(SP)			; PTR,*
000552	011546 					MOV	(R5),-(SP)
000554	062716  000102 				ADD	#102,(SP)
000560	004767  000000G				JSR	PC,BL$MOV
000564	061266  000030 				ADD	(R2),30(SP)			; *,PTR					0386
000570	011500 					MOV	(R5),R0				;					0387
000572	012702  000112 				MOV	#112,R2
000576	060002 					ADD	R0,R2
000600	005266  000030 				INC	30(SP)				; PTR
000604	016600  000030 				MOV	30(SP),R0			; PTR,*
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  13
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (5)

000610	116012  177777 				MOVB	-1(R0),(R2)
000614	105062  000001 				CLRB	1(R2)
000620	021227  000020 				CMP	(R2),#20
000624	003405 					BLE	8$
000626	012701  000014 				MOV	#14,R1				; *,ERR					0388
000632	062706  000010 				ADD	#10,SP
000636	000456 					BR	14$
000640	011216 				8$:	MOV	(R2),(SP)			;					0389
000642	016646  000030 				MOV	30(SP),-(SP)			; PTR,*
000646	011546 					MOV	(R5),-(SP)
000650	062716  000114 				ADD	#114,(SP)
000654	004767  000000G				JSR	PC,BL$MOV
000660	061266  000034 				ADD	(R2),34(SP)			; *,PTR					0390
000664	062706  000014 				ADD	#14,SP				;					0378
000670	032703  000002 			9$:	BIT	#2,R3				; *,MENU				0393
000674	001435 					BEQ	13$
000676	011500 					MOV	(R5),R0				;					0396
000700	012703  000134 				MOV	#134,R3
000704	060003 					ADD	R0,R3
000706	005266  000020 				INC	20(SP)				; PTR
000712	016600  000020 				MOV	20(SP),R0			; PTR,*
000716	116013  177777 				MOVB	-1(R0),(R3)
000722	105063  000001 				CLRB	1(R3)
000726	021327  000020 				CMP	(R3),#20
000732	003403 					BLE	12$
000734	012701  000014 			10$:	MOV	#14,R1				; *,ERR					0397
000740	000415 				11$:	BR	14$
000742	011316 				12$:	MOV	(R3),(SP)			;					0398
000744	016646  000020 				MOV	20(SP),-(SP)			; PTR,*
000750	011546 					MOV	(R5),-(SP)
000752	062716  000136 				ADD	#136,(SP)
000756	004767  000000G				JSR	PC,BL$MOV
000762	061366  000024 				ADD	(R3),24(SP)			; *,PTR					0399
000766	022626 					CMP	(SP)+,(SP)+			;					0395
000770	012701  000001 			13$:	MOV	#1,R1				; *,ERR					0372
000774	016467  000044  000000G		14$:	MOV	44(R4),KISAR6			;					0405
001002	020127  000001 				CMP	R1,#1				; ERR,*					0407
001006	001022 					BNE	16$
001010	016616  000014 				MOV	14(SP),(SP)			;					0412
001014	012746  000020 				MOV	#20,-(SP)
001020	060616 					ADD	SP,(SP)				; PIX,*
001022	004767  000000V				JSR	PC,FINDOB
001026	005726 					TST	(SP)+
001030	006000 					ROR	R0
001032	103403 					BLO	15$
001034	012701  000004 				MOV	#4,R1				; *,ERR					0413
001040	000405 					BR	16$				;					0412
001042	016600  000040 			15$:	MOV	40(SP),R0			; LNK,*					0413
001046	116660  000016  000005 			MOVB	16(SP),5(R0)			; PIX,*
001054	010100 				16$:	MOV	R1,R0				; ERR,NUM				0416
001056	110076  000012 				MOVB	R0,@12(SP)			; NUM,EPTR
001062	005266  000012 				INC	12(SP)				; EPTR
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  14
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (5)

001066	000300 					SWAB	R0				; NUM
001070	110076  000012 				MOVB	R0,@12(SP)			; NUM,EPTR
001074	005266  000012 				INC	12(SP)				; EPTR
001100	005301 					DEC	R1				; ERR					0418
001102	001010 					BNE	17$
001104	016600  000042 				MOV	42(SP),R0			; LCCB,*				0421
001110	012760  000156  000022 			MOV	#156,22(R0)
001116	012700  000001 				MOV	#1,R0				;					0418
001122	000406 					BR	18$
001124	011500 				17$:	MOV	(R5),R0				;					0426
001126	012701  000156 				MOV	#156,R1
001132	004767  000000G				JSR	PC,$DSRRT
001136	005000 					CLR	R0				;					0418
001140	062706  000012 			18$:	ADD	#12,SP				;					0301
001144	000401 					BR	20$				;					0329
001146	005000 				19$:	CLR	R0				;					0301
001150	062706  000010 			20$:	ADD	#10,SP
001154	000207 					RTS	PC

; Routine Size:  311 words,	Routine Base:  $CODE$ + 0202
; Maximum stack depth per invocation:  22 words
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  15
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (6)

;	  0430	global routine CONBKO (CCB, LCCB) =
;	  0431	
;	  0432	!++
;	  0433	! FUNCTIONAL DESCRIPTION:
;	  0434	!	Translates connect block to protocol form, in buffer
;	  0435	!
;	  0436	! FORMAL PARAMETERS:
;	  0437	!	CCB	CCB which owns connect block
;	  0438	!	LCCB	CCB which owns xmit buffer
;	  0439	!
;	  0440	! IMPLICIT INPUTS:
;	  0441	!	None
;	  0442	!
;	  0443	! IMPLICIT OUTPUTS:
;	  0444	!	Connect message built in LCCB [C_BUF]
;	  0445	!
;	  0446	! ROUTINE VALUE:
;	  0447	!	True, if successful
;	  0448	!	False, if failure
;	  0449	!
;	  0450	! COMPLETION CODES:
;	  0451	!	CCB [C_STS] set for error
;	  0452	!
;	  0453	! SIDE EFFECTS:
;	  0454	!	None
;	  0455	!--
;	  0456	    begin
;	  0457	    $sc_get_data_base (SCDB);
;	  0458	    map CCB: ref block field (C_FIELDS),
;	  0459		LCCB: ref block field (C_FIELDS);
;	  0460	    local
;	  0461		PTR,				! Dest buffer pointer
;	  0462		MENU,				! Message word to construct
;	  0463		CB: ref block field (CB_FIELDS),! The connect block
;	  0464		SAV_MAP;
;	  0465	    label CB_PARSE;
;	  0466	
;	  0467	    if not $MCB_GET_DSR (CB_SIZE*bytes_word, CB) ! Memory to copy connect block
;	  0468	    then
;	  0469		begin
;	  0470		CCB [C_STS] = S_ERES;		! Not enuf memory !!
;	  0471		return false
;	  0472		end;
;	  0473	
;	  0474	    SMAP$ (SAV_MAP);			! Save current mapping
;	  0475	    MAP$ (.CCB [C_BIAS]);		! Map to user connect block and copy it
;	  0476	    ch$move (CB_SIZE*bytes_word, .CCB [C_ADDR], byt$ptr (.CB));
;	  0477	    MAP$ (.LCCB [C_BIAS]);		! Map to connect message buffer
;	  0478	    PTR = .LCCB [C_ADDR];		! Point to buffer
;	  0479	
;	  0480	    CCB [C_STS] = CB_PARSE:
;	  0481		begin
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  16
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (6)

;	  0482	
;	  0483		! Check destination & source specs, and copy to msg buffer
;	  0484		if not (DST_SRC_O(CB [CB_DFMT], PTR) and DST_SRC_O(CB [CB_SFMT], PTR))
;	  0485		then leave CB_PARSE with S_EIOF;
;	  0486	
;	  0487		MENU = 0;			! See what rest of message contains
;	  0488		if .CB [CB_RQDL] neq 0 then MENU = U_INFO;		! We have ID
;	  0489		if .CB [CB_OPDL] neq 0 then MENU = .MENU or U_DATA;	!  and data
;	  0490		ch$wchar_a (.MENU, PTR);				! Write menu
;	  0491	
;	  0492		if (.MENU and U_INFO) neq 0
;	  0493		then
;	  0494		    begin
;	  0495		    ch$wchar_a (.CB [CB_RQDL], PTR);
;	  0496		    PTR = ch$move (.CB [CB_RQDL], byt$ptr (CB [CB_RQID]), .PTR);
;	  0497		    ch$wchar_a (.CB [CB_PASL], PTR);
;	  0498		    PTR = ch$move (.CB [CB_PASL], byt$ptr (CB [CB_PASW]), .PTR);
;	  0499		    ch$wchar_a (.CB [CB_ACTL], PTR);
;	  0500		    PTR = ch$move (.CB [CB_ACTL], byt$ptr (CB [CB_ACNT]), .PTR)
;	  0501		    end;
;	  0502	
;	  0503		if (.MENU and U_DATA) neq 0
;	  0504		then
;	  0505		    begin
;	  0506		    ch$wchar_a (.CB [CB_OPDL], PTR);
;	  0507		    PTR = ch$move (.CB [CB_OPDL], byt$ptr (CB [CB_OPTD]), .PTR)
;	  0508		    end;
;	  0509	
;	  0510		LCCB [C_CNT] = ch$diff (.PTR, .LCCB [C_ADDR]);
;	  0511		S_SSUC
;	  0512		end;
;	  0513	
;	  0514	    $MCB_RETURN_DSR (CB_SIZE*bytes_word, .CB);	! Recover memory
;	  0515	    MAP$ (.SAV_MAP);				! Finally restore mapping
;	  0516	
;	  0517	    if .CCB [C_STS] geq 0
;	  0518	    then return true
;	  0519	    else return false
;	  0520	    end;


						.SBTTL	CONBKO
000000	004167  000000G			CONBKO::JSR	R1,$SAVE5			;					0430
000004	024646 					CMP	-(SP),-(SP)
000006	012701  000156 				MOV	#156,R1				;					0467
000012	004767  000000G				JSR	PC,$DSRGT
000016	103402 					BCS	1$
000020	010003 					MOV	R0,R3				; $MCB$R0,CB
000022	000407 					BR	2$
000024	016600  000024 			1$:	MOV	24(SP),R0			; CCB,*					0470
000030	012760  177777  000014 			MOV	#-1,14(R0)
000036	000167  000476 				JMP	12$				;					0469
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  17
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (6)

000042	016716  000000G			2$:	MOV	KISAR6,(SP)			; *,SAV.MAP				0474
000046	016604  000024 				MOV	24(SP),R4			; CCB,*					0475
000052	016467  000016  000000G			MOV	16(R4),KISAR6
000060	012746  000156 				MOV	#156,-(SP)			;					0476
000064	016446  000020 				MOV	20(R4),-(SP)
000070	010346 					MOV	R3,-(SP)			; CB,*
000072	004767  000000G				JSR	PC,BL$MOV
000076	016602  000030 				MOV	30(SP),R2			; LCCB,*				0477
000102	016267  000016  000000G			MOV	16(R2),KISAR6
000110	016266  000020  000010 			MOV	20(R2),10(SP)			; *,PTR					0478
000116	010316 					MOV	R3,(SP)				; CB,*					0484
000120	062716  000006 				ADD	#6,(SP)
000124	012746  000012 				MOV	#12,-(SP)
000130	060616 					ADD	SP,(SP)				; PTR,*
000132	004767  000000V				JSR	PC,DST.SRC.O
000136	005726 					TST	(SP)+
000140	006000 					ROR	R0
000142	103013 					BCC	3$
000144	010316 					MOV	R3,(SP)				; CB,*
000146	062716  000032 				ADD	#32,(SP)
000152	012746  000012 				MOV	#12,-(SP)
000156	060616 					ADD	SP,(SP)				; PTR,*
000160	004767  000000V				JSR	PC,DST.SRC.O
000164	005726 					TST	(SP)+
000166	006000 					ROR	R0
000170	103403 					BLO	4$
000172	012700  177773 			3$:	MOV	#-5,R0				;					0485
000176	000534 					BR	9$
000200	005001 				4$:	CLR	R1				; MENU					0487
000202	016300  000056 				MOV	56(R3),R0			; *(CB),*				0488
000206	001402 					BEQ	5$
000210	012701  000001 				MOV	#1,R1				; *,MENU
000214	012705  000134 			5$:	MOV	#134,R5				;					0489
000220	060305 					ADD	R3,R5				; CB,*
000222	005715 					TST	(R5)
000224	001402 					BEQ	6$
000226	052701  000002 				BIS	#2,R1				; *,MENU
000232	110176  000010 			6$:	MOVB	R1,@10(SP)			; MENU,PTR				0490
000236	005266  000010 				INC	10(SP)				; PTR
000242	032701  000001 				BIT	#1,R1				; *,MENU				0492
000246	001456 					BEQ	7$
000250	110076  000010 				MOVB	R0,@10(SP)			; *,PTR					0495
000254	005266  000010 				INC	10(SP)				; PTR
000260	010016 					MOV	R0,(SP)				;					0496
000262	010346 					MOV	R3,-(SP)			; CB,*
000264	062716  000060 				ADD	#60,(SP)
000270	016646  000012 				MOV	12(SP),-(SP)			; PTR,*
000274	004767  000000G				JSR	PC,BL$MOV
000300	010066  000014 				MOV	R0,14(SP)			; *,PTR
000304	116310  000100 				MOVB	100(R3),(R0)			; *(CB),PTR				0497
000310	005266  000014 				INC	14(SP)				; PTR
000314	016316  000100 				MOV	100(R3),(SP)			; *(CB),*				0498
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  18
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (6)

000320	010346 					MOV	R3,-(SP)			; CB,*
000322	062716  000102 				ADD	#102,(SP)
000326	016646  000016 				MOV	16(SP),-(SP)			; PTR,*
000332	004767  000000G				JSR	PC,BL$MOV
000336	010066  000020 				MOV	R0,20(SP)			; *,PTR
000342	116310  000112 				MOVB	112(R3),(R0)			; *(CB),PTR				0499
000346	005266  000020 				INC	20(SP)				; PTR
000352	016316  000112 				MOV	112(R3),(SP)			; *(CB),*				0500
000356	010346 					MOV	R3,-(SP)			; CB,*
000360	062716  000114 				ADD	#114,(SP)
000364	016646  000022 				MOV	22(SP),-(SP)			; PTR,*
000370	004767  000000G				JSR	PC,BL$MOV
000374	010066  000024 				MOV	R0,24(SP)			; *,PTR
000400	062706  000014 				ADD	#14,SP				;					0494
000404	032701  000002 			7$:	BIT	#2,R1				; *,MENU				0503
000410	001417 					BEQ	8$
000412	111576  000010 				MOVB	(R5),@10(SP)			; *,PTR					0506
000416	005266  000010 				INC	10(SP)				; PTR
000422	011516 					MOV	(R5),(SP)			;					0507
000424	010346 					MOV	R3,-(SP)			; CB,*
000426	062716  000136 				ADD	#136,(SP)
000432	016646  000012 				MOV	12(SP),-(SP)			; PTR,*
000436	004767  000000G				JSR	PC,BL$MOV
000442	010066  000014 				MOV	R0,14(SP)			; *,PTR
000446	022626 					CMP	(SP)+,(SP)+			;					0505
000450	016662  000010  000022 		8$:	MOV	10(SP),22(R2)			; PTR,*					0510
000456	166262  000020  000022 			SUB	20(R2),22(R2)
000464	012700  000001 				MOV	#1,R0				;					0480
000470	010064  000014 			9$:	MOV	R0,14(R4)
000474	010300 					MOV	R3,R0				; CB,*					0514
000476	012701  000156 				MOV	#156,R1
000502	004767  000000G				JSR	PC,$DSRRT
000506	016667  000006  000000G			MOV	6(SP),KISAR6			; SAV.MAP,*				0515
000514	005764  000014 				TST	14(R4)				;					0517
000520	002403 					BLT	10$
000522	012700  000001 				MOV	#1,R0
000526	000401 					BR	11$
000530	005000 				10$:	CLR	R0
000532	062706  000006 			11$:	ADD	#6,SP				;					0430
000536	000401 					BR	13$				;					0456
000540	005000 				12$:	CLR	R0				;					0430
000542	022626 				13$:	CMP	(SP)+,(SP)+
000544	000207 					RTS	PC

; Routine Size:  179 words,	Routine Base:  $CODE$ + 1360
; Maximum stack depth per invocation:  18 words
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  19
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (7)

;	  0521	global routine DO_RCP (CCB, MODIFIER, LNK): linkage_ccb novalue =
;	  0522	
;	  0523	!++
;	  0524	! FUNCTIONAL DESCRIPTION:
;	  0525	!	Do RCP processing
;	  0526	!
;	  0527	! FORMAL PARAMETERS:
;	  0528	!	CCB	CCB address
;	  0529	!	MODIFIER RCP modifier
;	  0530	!	LNK	LNK address
;	  0531	!
;	  0532	! IMPLICIT INPUTS:
;	  0533	!	LLT mapped
;	  0534	!
;	  0535	! IMPLICIT OUTPUTS:
;	  0536	!	CCB scheduled
;	  0537	!
;	  0538	! ROUTINE VALUE:
;	  0539	! COMPLETION CODES:
;	  0540	!	None
;	  0541	!
;	  0542	! SIDE EFFECTS:
;	  0543	!	None
;	  0544	!--
;	  0545	    begin
;	  0546	    $sc_get_data_base (SCDB);
;	  0547	    map CCB: ref block field (C_FIELDS),
;	  0548		LNK: ref block field (LLT_FIELDS);
;	  0549	
;	  0550	    CCB [C_FNC] = FC_RCP;
;	  0551	    CCB [C_MOD] = .MODIFIER;
;	  0552	    CCB [C_PIX] = .LNK [L_PIX];
;	  0553	    CCB [C_LIX] = .LNK [L_LLA];
;	  0554	    CCB [$sub_field (C_PRM1, LO_BYTE)] = .LNK [L_ULA];
;	  0555	    $MCB_SCHEDULE_CCB (.CCB)
;	  0556	    end;


						.GLOBL	$SCHED


						.SBTTL	DO.RCP
000000	010446 				DO.RCP::MOV	R4,-(SP)			;					0521
000002	112764  000016  000012 			MOVB	#16,12(R4)			; *,*(CCB)				0550
000010	116664  000006  000013 			MOVB	6(SP),13(R4)			; MODIFIER,*(CCB)			0551
000016	016600  000004 				MOV	4(SP),R0			; LNK,*					0552
000022	116064  000005  000011 			MOVB	5(R0),11(R4)			; *,*(CCB)
000030	116064  000003  000010 			MOVB	3(R0),10(R4)			; *,*(CCB)				0553
000036	116064  000002  000024 			MOVB	2(R0),24(R4)			; *,*(CCB)				0554
000044	004767  000000G				JSR	PC,$SCHED			;					0555
000050	012604 					MOV	(SP)+,R4			;					0521
000052	000207 					RTS	PC
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  20
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (7)


; Routine Size:  22 words,	Routine Base:  $CODE$ + 2126
; Maximum stack depth per invocation:  2 words
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  21
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (8)

;	  0557	global routine DO_XME (CCB, MODIFIER, LNK): linkage_ccb novalue =
;	  0558	
;	  0559	!++
;	  0560	! FUNCTIONAL DESCRIPTION:
;	  0561	!	Do XME processing
;	  0562	!
;	  0563	! FORMAL PARAMETERS:
;	  0564	!	CCB	CCB address
;	  0565	!	MODIFIER RCP modifier
;	  0566	!	LNK	LNK address
;	  0567	!
;	  0568	! IMPLICIT INPUTS:
;	  0569	!	LLT mapped
;	  0570	!
;	  0571	! IMPLICIT OUTPUTS:
;	  0572	!	CCB scheduled
;	  0573	!
;	  0574	! ROUTINE VALUE:
;	  0575	! COMPLETION CODES:
;	  0576	!	None
;	  0577	!
;	  0578	! SIDE EFFECTS:
;	  0579	!	None
;	  0580	!--
;	  0581	    begin
;	  0582	    $sc_get_data_base (SCDB);
;	  0583	    map CCB: ref block field (C_FIELDS),
;	  0584		LNK: ref block field (LLT_FIELDS);
;	  0585	
;	  0586	    CCB [C_FNC] = FC_XME;
;	  0587	    CCB [C_MOD] = .MODIFIER;
;	  0588	    CCB [C_PIX] = .SCDB [SC_NSPIX];
;	  0589	    CCB [C_LIX] = .LNK [L_PID];
;	  0590	    $MCB_SCHEDULE_CCB (.CCB)
;	  0591	    end;


						.SBTTL	DO.XME
000000	010446 				DO.XME::MOV	R4,-(SP)			;					0557
000002	112764  000002  000012 			MOVB	#2,12(R4)			; *,*(CCB)				0586
000010	116664  000006  000013 			MOVB	6(SP),13(R4)			; MODIFIER,*(CCB)			0587
000016	016700  000002G				MOV	.CRDAT+2,R0			;					0588
000022	116064  000002  000011 			MOVB	2(R0),11(R4)			; *,*(CCB)
000030	016600  000004 				MOV	4(SP),R0			; LNK,*					0589
000034	116064  000004  000010 			MOVB	4(R0),10(R4)			; *,*(CCB)
000042	004767  000000G				JSR	PC,$SCHED			;					0590
000046	012604 					MOV	(SP)+,R4			;					0557
000050	000207 					RTS	PC

; Routine Size:  21 words,	Routine Base:  $CODE$ + 2202
; Maximum stack depth per invocation:  2 words
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  22
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (9)

;	  0592	global routine DST_SRC_I (BLK, PTR) =
;	  0593	
;	  0594	!++
;	  0595	! FUNCTIONAL DESCRIPTION:
;	  0596	!	This routine transcribes source and destination
;	  0597	!	specifications from the message indicated by PTR
;	  0598	!	to the connect block segment identified by BLK.
;	  0599	!	The descriptors are also validated for correct format.
;	  0600	!
;	  0601	! FORMAL PARAMETERS:
;	  0602	!	BLK	DST/SRC block address
;	  0603	!	PTR	Buffer pointer address
;	  0604	!
;	  0605	! IMPLICIT INPUTS:
;	  0606	!	None
;	  0607	!
;	  0608	! IMPLICIT OUTPUTS:
;	  0609	!	PTR is updated
;	  0610	!
;	  0611	! ROUTINE VALUE:
;	  0612	!	True is success, else False
;	  0613	!
;	  0614	! COMPLETION CODES:
;	  0615	!	None
;	  0616	!
;	  0617	! SIDE EFFECTS:
;	  0618	!	None
;	  0619	!--
;	  0620	
;	  0621	    begin
;	  0622	    map BLK: ref block field (CBSD_FIELDS);
;	  0623	    bind
;	  0624		P = .PTR;
;	  0625	
;	  0626	    BLK [CB_FMT] = ch$rchar_a (P);		! Get Format Code
;	  0627	    BLK [CB_OBJ] = ch$rchar_a (P);		! Get Object Type
;	  0628	
;	  0629	    case .BLK [CB_FMT] from 0 to 2 of
;	  0630		set
;	  0631	
;	  0632		[0]:
;	  0633		    if .BLK [CB_OBJ] eql 0
;	  0634		    then return false;
;	  0635	
;	  0636		[1]:
;	  0637		    begin
;	  0638		    if	(.BLK [CB_OBJ] neq 0) or
;	  0639			((BLK [CB_LEN] = ch$rchar_a (P)) eql 0) or
;	  0640			(.BLK [CB_LEN] gtr 16)
;	  0641		    then
;	  0642			return false
;	  0643		    else
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  23
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (9)

;	  0644			begin
;	  0645			ch$move (.BLK [CB_LEN], .P, byt$ptr (BLK [CB_NAM]));
;	  0646			P = ch$plus (.P, .BLK [CB_LEN])
;	  0647			end
;	  0648		    end;
;	  0649	
;	  0650		[2]:
;	  0651		    begin
;	  0652		    if .BLK [CB_OBJ] neq 0 then return false;
;	  0653		    ch$move (4, .P, byt$ptr (BLK [CB_GRP]));
;	  0654		    P = ch$plus (.P, 4);
;	  0655		    if ((BLK [CB_LN2] = ch$rchar_a (P)) eql 0) or
;	  0656			(.BLK [CB_LN2] gtr 12)
;	  0657		    then return false;
;	  0658		    ch$move (.BLK [CB_LN2], .P, byt$ptr (BLK [CB_NM2]));
;	  0659		    P = ch$plus (.P, .BLK [CB_LN2])
;	  0660		    end;
;	  0661	
;	  0662		[inrange, outrange]:
;	  0663		    return false;
;	  0664	
;	  0665		tes;
;	  0666	
;	  0667	    return true
;	  0668	    end;


						.SBTTL	DST.SRC.I
000000	004167  000000G			DST.SRC.I::
						JSR	R1,$SAVE3			;					0592
000004	016603  000012 				MOV	12(SP),R3			; PTR,*					0621
000010	016602  000014 				MOV	14(SP),R2			; BLK,*					0626
000014	005213 					INC	(R3)
000016	011300 					MOV	(R3),R0
000020	116012  177777 				MOVB	-1(R0),(R2)
000024	005213 					INC	(R3)				;					0627
000026	011300 					MOV	(R3),R0
000030	116062  177777  000001 			MOVB	-1(R0),1(R2)
000036	005000 					CLR	R0				;					0629
000040	151200 					BISB	(R2),R0
000042	020027  000002 				CMP	R0,#2
000046	101120 					BHI	8$
000050	006300 					ASL	R0
000052	066007  000002'				ADD	P.AAB(R0),PC			; Case dispatch
000056	000514 				1$:	BR	8$				;					0663
000060	105762  000001 			2$:	TSTB	1(R2)				;					0633
000064	001106 					BNE	7$
000066	000510 					BR	8$				;					0634
000070	105762  000001 			3$:	TSTB	1(R2)				;					0638
000074	001105 					BNE	8$
000076	005213 					INC	(R3)				;					0639
000100	011300 					MOV	(R3),R0
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  24
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (9)

000102	116062  177777  000002 			MOVB	-1(R0),2(R2)
000110	105062  000003 				CLRB	3(R2)
000114	005762  000002 				TST	2(R2)
000120	001473 					BEQ	8$
000122	026227  000002  000020 			CMP	2(R2),#20			;					0640
000130	003067 					BGT	8$				;					0642
000132	016246  000002 				MOV	2(R2),-(SP)			;					0645
000136	010046 					MOV	R0,-(SP)
000140	012746  000004 				MOV	#4,-(SP)
000144	060216 					ADD	R2,(SP)
000146	004767  000000G				JSR	PC,BL$MOV
000152	066213  000002 				ADD	2(R2),(R3)			;					0646
000156	062706  000006 				ADD	#6,SP				;					0644
000162	000447 					BR	7$				;					0629
000164	105762  000001 			4$:	TSTB	1(R2)				;					0652
000170	001047 					BNE	8$
000172	012746  000004 				MOV	#4,-(SP)			;					0653
000176	011346 					MOV	(R3),-(SP)
000200	012746  000002 				MOV	#2,-(SP)
000204	060216 					ADD	R2,(SP)
000206	004767  000000G				JSR	PC,BL$MOV
000212	012701  000006 				MOV	#6,R1				;					0655
000216	060201 					ADD	R2,R1
000220	062713  000005 				ADD	#5,(R3)
000224	011300 					MOV	(R3),R0
000226	116011  177777 				MOVB	-1(R0),(R1)
000232	105061  000001 				CLRB	1(R1)
000236	005711 					TST	(R1)
000240	001403 					BEQ	5$
000242	021127  000014 				CMP	(R1),#14			;					0656
000246	003403 					BLE	6$
000250	062706  000006 			5$:	ADD	#6,SP				;					0657
000254	000415 					BR	8$
000256	011116 				6$:	MOV	(R1),(SP)			;					0658
000260	011346 					MOV	(R3),-(SP)
000262	012746  000010 				MOV	#10,-(SP)
000266	060216 					ADD	R2,(SP)
000270	004767  000000G				JSR	PC,BL$MOV
000274	061113 					ADD	(R1),(R3)			;					0659
000276	062706  000012 				ADD	#12,SP				;					0651
000302	012700  000001 			7$:	MOV	#1,R0				;					0621
000306	000207 					RTS	PC
000310	005000 				8$:	CLR	R0				;					0592
000312	000207 					RTS	PC

; Routine Size:  102 words,	Routine Base:  $CODE$ + 2254
; Maximum stack depth per invocation:  10 words


000002						.PSECT	$PLIT$,  RO ,  D  

					P.AAB:						; CASE Table for DST.SRC.I+0052		0629
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  25
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (9)

000002	000002 					.WORD	2				; [2$]
000004	000012 					.WORD	12				; [3$]
000006	000106 					.WORD	106				; [4$]



;	  0669	
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  26
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (10)

;	  0670	routine DST_SRC_O (BLK, PTR) =
;	  0671	
;	  0672	!++
;	  0673	! FUNCTIONAL DESCRIPTION:
;	  0674	!	This routine validates the destination or source object
;	  0675	!	specification in a connect block, and copies it to the
;	  0676	!	buffer.
;	  0677	!
;	  0678	! FORMAL PARAMETERS:
;	  0679	!	BLK	DST/SRC block address
;	  0680	!	PTR	Buffer pointer address
;	  0681	!
;	  0682	! IMPLICIT INPUTS:
;	  0683	!	None
;	  0684	!
;	  0685	! IMPLICIT OUTPUTS:
;	  0686	!	PTR is updated
;	  0687	!
;	  0688	! ROUTINE VALUE:
;	  0689	! COMPLETION CODES:
;	  0690	!	True is success, else False
;	  0691	!
;	  0692	! SIDE EFFECTS:
;	  0693	!	None
;	  0694	!--
;	  0695	    begin
;	  0696	    map BLK: ref block field (CBSD_FIELDS);
;	  0697	    local
;	  0698		LEN,
;	  0699		DAT;
;	  0700	    bind
;	  0701		P = .PTR;
;	  0702	
;	  0703	    ch$wchar_a (.BLK [CB_FMT], P);
;	  0704	    ch$wchar_a (.BLK [CB_OBJ], P);
;	  0705	
;	  0706	    case .BLK [CB_FMT] from 0 to 2 of
;	  0707		set
;	  0708	
;	  0709		[0]:
;	  0710		    if .BLK [CB_OBJ] eql 0
;	  0711		    then return false
;	  0712		    else return true;
;	  0713	
;	  0714		[1]:
;	  0715		    begin
;	  0716		    if (.BLK [CB_OBJ] neq 0) or (.BLK [CB_LEN] eql 0)
;	  0717		    then return false;
;	  0718		    LEN = .BLK [CB_LEN];
;	  0719		    DAT = BLK [CB_NAM]
;	  0720		    end;
;	  0721	
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  27
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (10)

;	  0722		[2]:
;	  0723		    begin
;	  0724		    if .BLK [CB_OBJ] neq 0 then return false;
;	  0725		    P = ch$move (4, byt$ptr (BLK [CB_DES]), .P);
;	  0726		    LEN = .BLK [CB_LN2];
;	  0727		    DAT = BLK [CB_NM2]
;	  0728		    end;
;	  0729	
;	  0730		[inrange, outrange]:
;	  0731		    return false;
;	  0732	
;	  0733		tes;
;	  0734	
;	  0735	    P = ch$move (1, byt$ptr (LEN), .P);
;	  0736	    P = ch$move (.LEN, byt$ptr (.DAT), .P);
;	  0737	    return true
;	  0738	    end;


						.SBTTL	DST.SRC.O
002570						.PSECT	$CODE$,  RO 

000000	004167  000000G			DST.SRC.O:
						JSR	R1,$SAVE3			;					0670
000004	005746 					TST	-(SP)
000006	016602  000014 				MOV	14(SP),R2			; PTR,*					0695
000012	016603  000016 				MOV	16(SP),R3			; BLK,*					0703
000016	111372  000000 				MOVB	(R3),@0(R2)
000022	005212 					INC	(R2)
000024	116372  000001  000000 			MOVB	1(R3),@0(R2)			;					0704
000032	005212 					INC	(R2)
000034	005000 					CLR	R0				;					0706
000036	151300 					BISB	(R3),R0
000040	020027  000002 				CMP	R0,#2
000044	101075 					BHI	7$
000046	006300 					ASL	R0
000050	066007  000010'				ADD	P.AAC(R0),PC			; Case dispatch
000054	000471 				1$:	BR	7$				;					0731
000056	105763  000001 			2$:	TSTB	1(R3)				;					0710
000062	001063 					BNE	6$
000064	000465 					BR	7$				;					0706
000066	105763  000001 			3$:	TSTB	1(R3)				;					0716
000072	001062 					BNE	7$
000074	005763  000002 				TST	2(R3)
000100	001457 					BEQ	7$				;					0717
000102	016316  000002 				MOV	2(R3),(SP)			; *,LEN					0718
000106	012701  000004 				MOV	#4,R1				; *,DAT					0719
000112	060301 					ADD	R3,R1				; *,DAT
000114	000424 					BR	5$				;					0706
000116	105763  000001 			4$:	TSTB	1(R3)				;					0724
000122	001046 					BNE	7$
000124	012746  000004 				MOV	#4,-(SP)			;					0725
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  28
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (10)

000130	012746  000002 				MOV	#2,-(SP)
000134	060316 					ADD	R3,(SP)
000136	011246 					MOV	(R2),-(SP)
000140	004767  000000G				JSR	PC,BL$MOV
000144	010012 					MOV	R0,(R2)
000146	016366  000006  000006 			MOV	6(R3),6(SP)			; *,LEN					0726
000154	012701  000010 				MOV	#10,R1				; *,DAT					0727
000160	060301 					ADD	R3,R1				; *,DAT
000162	062706  000006 				ADD	#6,SP				;					0723
000166	012746  000001 			5$:	MOV	#1,-(SP)			;					0735
000172	012746  000004 				MOV	#4,-(SP)
000176	060616 					ADD	SP,(SP)				; LEN,*
000200	011246 					MOV	(R2),-(SP)
000202	004767  000000G				JSR	PC,BL$MOV
000206	010012 					MOV	R0,(R2)
000210	016616  000006 				MOV	6(SP),(SP)			; LEN,*					0736
000214	010146 					MOV	R1,-(SP)			; DAT,*
000216	010046 					MOV	R0,-(SP)
000220	004767  000000G				JSR	PC,BL$MOV
000224	010012 					MOV	R0,(R2)
000226	062706  000012 				ADD	#12,SP				;					0670
000232	012700  000001 			6$:	MOV	#1,R0				;					0695
000236	000401 					BR	8$
000240	005000 				7$:	CLR	R0				;					0670
000242	005726 				8$:	TST	(SP)+
000244	000207 					RTS	PC

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


000010						.PSECT	$PLIT$,  RO ,  D  

					P.AAC:						; CASE Table for DST.SRC.O+0050		0706
000010	000002 					.WORD	2				; [2$]
000012	000012 					.WORD	12				; [3$]
000014	000042 					.WORD	42				; [4$]
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  29
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (11)

;	  0739	global routine FINDLL (LL) =
;	  0740	
;	  0741	!++
;	  0742	! FUNCTIONAL DESCRIPTION:
;	  0743	!	Locate an available logical link, and return its index
;	  0744	!	in LL.
;	  0745	!
;	  0746	! FORMAL PARAMETERS:
;	  0747	!	LL	Word to receive logical link index
;	  0748	!
;	  0749	! IMPLICIT INPUTS:
;	  0750	!	LLT mapped
;	  0751	!
;	  0752	! IMPLICIT OUTPUTS:
;	  0753	!	LL block is initialized
;	  0754	!
;	  0755	! ROUTINE VALUE:
;	  0756	!	true = logical link found
;	  0757	!	false = logical link not found
;	  0758	!
;	  0759	! SIDE EFFECTS:
;	  0760	!	None
;	  0761	!--
;	  0762	    begin
;	  0763	    $sc_get_data_base (SCDB);
;	  0764	    bind
;	  0765		LLT = SCDB [SC_LLT_ADDR]: ref blockvector [,L_SIZE] field (LLT_FIELDS);
;	  0766	
;	  0767	    .LL =
;	  0768		begin
;	  0769		incr L from 0 to .SCDB [SC_LINKS]-1 do
;	  0770		    begin
;	  0771		    bind
;	  0772			LNK = LLT [.L, L_TOP]: block field (LLT_FIELDS);
;	  0773	
;	  0774		    if (.LNK [L_STATE] eql ST_OFF) and (.LNK [L_FLAGS] eql 0)
;	  0775		    then
;	  0776			begin
;	  0777			ch$fill (0, L_SIZE*bytes_word, byt$ptr (LNK));
;	  0778			LNK [L_FLAGS] = 0;
;	  0779			LNK [L_I_TAIL] = LNK [L_I_HEAD];
;	  0780			LNK [L_O_TAIL] = LNK [L_O_HEAD];
;	  0781			LNK [L_N_TAIL] = LNK [L_N_HEAD];
;	  0782			LNK [L_LLA] = .L;
;	  0783			exitloop .L
;	  0784			end
;	  0785		    end
;	  0786		end;
;	  0787	
;	  0788	    if ..LL eql -1
;	  0789	    then false
;	  0790	    else true
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  30
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (11)

;	  0791	    end;


						.SBTTL	FINDLL
003036						.PSECT	$CODE$,  RO 

000000	004167  000000G			FINDLL::JSR	R1,$SAVE4			;					0739
000004	016704  000002G				MOV	.CRDAT+2,R4			;					0765
000010	062704  000046 				ADD	#46,R4
000014	016703  000002G				MOV	.CRDAT+2,R3			;					0769
000020	005002 					CLR	R2				; L
000022	000447 					BR	3$
000024	010201 				1$:	MOV	R2,R1				; L,*					0772
000026	070127  000032 				MUL	#32,R1
000032	061401 					ADD	(R4),R1
000034	105711 					TSTB	(R1)				;					0774
000036	001040 					BNE	2$
000040	105761  000001 				TSTB	1(R1)
000044	001035 					BNE	2$
000046	005046 					CLR	-(SP)				;					0777
000050	012746  000032 				MOV	#32,-(SP)
000054	010146 					MOV	R1,-(SP)
000056	004767  000000G				JSR	PC,BL$FIL
000062	105061  000001 				CLRB	1(R1)				;					0778
000066	012761  000016  000020 			MOV	#16,20(R1)			;					0779
000074	060161  000020 				ADD	R1,20(R1)
000100	012761  000022  000024 			MOV	#22,24(R1)			;					0780
000106	060161  000024 				ADD	R1,24(R1)
000112	012761  000026  000030 			MOV	#26,30(R1)			;					0781
000120	060161  000030 				ADD	R1,30(R1)
000124	110261  000003 				MOVB	R2,3(R1)			; L,*					0782
000130	010201 					MOV	R2,R1				; L,*					0783
000132	062706  000006 				ADD	#6,SP
000136	000406 					BR	4$
000140	005202 				2$:	INC	R2				; L					0769
000142	020263  000016 			3$:	CMP	R2,16(R3)			; L,*
000146	002726 					BLT	1$
000150	012701  177777 				MOV	#-1,R1				;					0768
000154	010176  000014 			4$:	MOV	R1,@14(SP)			; *,LL					0767
000160	020127  177777 				CMP	R1,#-1				; LL,*					0788
000164	001002 					BNE	5$
000166	005000 					CLR	R0
000170	000207 					RTS	PC
000172	012700  000001 			5$:	MOV	#1,R0
000176	000207 					RTS	PC				;					0739

; Routine Size:  64 words,	Routine Base:  $CODE$ + 3036
; Maximum stack depth per invocation:  9 words
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  31
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (12)

;	  0792	global routine FINDND (CCB, LNK) =
;	  0793	
;	  0794	!++
;	  0795	! FUNCTIONAL DESCRIPTION:
;	  0796	!	Determine address of node specified in connect block.
;	  0797	!
;	  0798	! FORMAL PARAMETERS:
;	  0799	!	CCB	CCB pointing to connect block
;	  0800	!	LNK	Link block address
;	  0801	!
;	  0802	! IMPLICIT INPUTS:
;	  0803	!	LLT mapped
;	  0804	!
;	  0805	! IMPLICIT OUTPUTS:
;	  0806	!	LNK [L_RNA] = remote node address
;	  0807	!	LNK [L_CHN] = channel #
;	  0808	!
;	  0809	! ROUTINE VALUE:
;	  0810	!	true = Node address determined
;	  0811	!	false = Node address not determined
;	  0812	!
;	  0813	! SIDE EFFECTS:
;	  0814	!	None
;	  0815	!--
;	  0816	    begin
;	  0817	    $sc_get_data_base (SCDB);
;	  0818	    map
;	  0819		CCB: ref block field (C_FIELDS),
;	  0820		LNK: ref block field (LLT_FIELDS);
;	  0821	    local
;	  0822		REMOTE_NODE_ADDR,
;	  0823		CHANNEL_NUMBER,
;	  0824		CH,
;	  0825		LEN,
;	  0826		PTR,
;	  0827		NODE: vector [byt$allocation (6)];
;	  0828	    bind
;	  0829		NMT = SCDB [SC_NMT_ADDR]: ref blockvector [ , NMT_SIZE] field (NMT_FIELDS);
;	  0830	
;	  0831	    MFBF$S (6, .CCB [C_BIAS], .CCB [C_ADDR], byt$ptr (NODE));
;	  0832	
;	  0833	    PTR = byt$ptr (NODE);
;	  0834	    LEN = 0;					! Calc length of name
;	  0835	    incr I from 1 to 6 do
;	  0836		if (CH = ch$rchar_a (PTR)) eql %c' ' or .CH eql 0
;	  0837		then exitloop
;	  0838		else LEN = .LEN + 1;
;	  0839	
;	  0840	    LNK [L_CHN] = 0;				! Assume not loopnode
;	  0841	    if (LNK [L_RNA] = CNVAD$ (byt$ptr (NODE), .LEN)) neq 0
;	  0842		then if (.LNK[L_RNA] gtru .SCDB[SC_NODES])
;	  0843			then return false
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  32
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (12)

;	  0844			else return true;
;	  0845	
;	  0846	    PTR = byt$ptr (NODE);
;	  0847	    incr I from 1 to 6 do			! Do the shift to uppercase
;	  0848		begin
;	  0849		if (CH = ch$rchar (.PTR)) geq %c'a' and .CH leq %c'z'
;	  0850		then CH = .CH - (%c'a' - %c'A');
;	  0851		ch$wchar_a (.CH, PTR)
;	  0852		end;
;	  0853	
;	  0854	    if .LEN eql 0
;	  0855	    then
;	  0856		begin
;	  0857		LNK [L_RNA] = .SCDB [SC_LADDR];
;	  0858		return true
;	  0859		end;
;	  0860	
;	  0861	    MAP$ (.SCDB [SC_NMT_BIAS]);
;	  0862	    REMOTE_NODE_ADDR = CHANNEL_NUMBER = 0;
;	  0863	
;	  0864	    incr N from 0 to .SCDB [SC_NODES] + .SCDB [SC_LOOPS] - 1 do
;	  0865		begin
;	  0866		if ch$eql (.LEN, byt$ptr (NODE), .NMT [.N, NMT_NAML], byt$ptr (NMT [.N, NMT_NAME]), 0)
;	  0867		then
;	  0868		    begin
;	  0869		    if .N lss .SCDB [SC_NODES]
;	  0870		    then
;	  0871			REMOTE_NODE_ADDR = .NMT [.N, NMT_ADDR]
;	  0872		    else
;	  0873			CHANNEL_NUMBER = .NMT [.N, NMT_CHAN];
;	  0874		    exitloop
;	  0875		    end
;	  0876		end;
;	  0877	
;	  0878	    MAP$ (.SCDB [SC_LLT_BIAS]);
;	  0879	    LNK [L_RNA] = .REMOTE_NODE_ADDR;
;	  0880	    LNK [L_CHN] = .CHANNEL_NUMBER;
;	  0881	    if (.REMOTE_NODE_ADDR + .CHANNEL_NUMBER) neq 0 then return true else false
;	  0882	    end;


						.GLOBL	$MVFBF


						.SBTTL	FINDND
000000	004167  000000G			FINDND::JSR	R1,$SAVE5			;					0792
000004	162706  000020 				SUB	#20,SP
000010	016766  000002G 000006 			MOV	.CRDAT+2,6(SP)			;					0816
000016	016600  000040 				MOV	40(SP),R0			; CCB,*					0831
000022	016046  000016 				MOV	16(R0),-(SP)
000026	016046  000020 				MOV	20(R0),-(SP)
000032	012702  000016 				MOV	#16,R2
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  33
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (12)

000036	060602 					ADD	SP,R2				; NODE,*
000040	012703  000006 				MOV	#6,R3
000044	004767  000000G				JSR	PC,$MVFBF
000050	012701  000016 				MOV	#16,R1				; *,PTR					0833
000054	060601 					ADD	SP,R1				; NODE,PTR
000056	005066  000010 				CLR	10(SP)				; LEN					0834
000062	012700  000001 				MOV	#1,R0				; *,I					0835
000066	005002 				1$:	CLR	R2				; CH					0836
000070	152102 					BISB	(R1)+,R2			; PTR,CH
000072	020227  000040 				CMP	R2,#40				; CH,*
000076	001410 					BEQ	2$
000100	005702 					TST	R2				; CH
000102	001406 					BEQ	2$				;					0837
000104	005266  000010 				INC	10(SP)				; LEN					0838
000110	005200 					INC	R0				; I					0835
000112	020027  000006 				CMP	R0,#6				; I,*
000116	003763 					BLE	1$
000120	016666  000042  000004 		2$:	MOV	42(SP),4(SP)			; LNK,*					0840
000126	016600  000004 				MOV	4(SP),R0
000132	005060  000010 				CLR	10(R0)
000136	012766  000006  000014 			MOV	#6,14(SP)			;					0841
000144	060066  000014 				ADD	R0,14(SP)
000150	012716  000016 				MOV	#16,(SP)
000154	060616 					ADD	SP,(SP)				; NODE,*
000156	016646  000010 				MOV	10(SP),-(SP)			; LEN,*
000162	004767  174354 				JSR	PC,CNVAD$
000166	005726 					TST	(SP)+
000170	010076  000014 				MOV	R0,@14(SP)
000174	001411 					BEQ	3$
000176	016600  000012 				MOV	12(SP),R0			;					0842
000202	027660  000014  000020 			CMP	@14(SP),20(R0)
000210	101163 					BHI	13$				;					0841
000212	012700  000001 				MOV	#1,R0
000216	000561 					BR	14$
000220	012701  000016 			3$:	MOV	#16,R1				; *,PTR					0846
000224	060601 					ADD	SP,R1				; NODE,PTR
000226	012700  000001 				MOV	#1,R0				; *,I					0847
000232	005002 				4$:	CLR	R2				; CH					0849
000234	151102 					BISB	(R1),R2				; PTR,CH
000236	020227  000141 				CMP	R2,#141				; CH,*
000242	002405 					BLT	5$
000244	020227  000172 				CMP	R2,#172				; CH,*
000250	003002 					BGT	5$
000252	162702  000040 				SUB	#40,R2				; *,CH					0850
000256	110221 				5$:	MOVB	R2,(R1)+			; CH,PTR				0851
000260	005200 					INC	R0				; I					0847
000262	020027  000006 				CMP	R0,#6				; I,*
000266	003761 					BLE	4$
000270	005766  000010 				TST	10(SP)				; LEN					0854
000274	001006 					BNE	6$
000276	016600  000012 				MOV	12(SP),R0			;					0857
000302	016076  000010  000014 			MOV	10(R0),@14(SP)
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  34
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (12)

000310	000517 					BR	12$				;					0854
000312	016600  000012 			6$:	MOV	12(SP),R0			;					0861
000316	016067  000050  000000G			MOV	50(R0),KISAR6
000324	005004 					CLR	R4				; CHANNEL.NUMBER			0862
000326	005005 					CLR	R5				; REMOTE.NODE.ADD
000330	010001 					MOV	R0,R1				;					0864
000332	016100  000020 				MOV	20(R1),R0
000336	016601  000012 				MOV	12(SP),R1
000342	066100  000022 				ADD	22(R1),R0
000346	010066  000006 				MOV	R0,6(SP)
000352	005001 					CLR	R1				; N
000354	000454 					BR	10$
000356	016616  000010 			7$:	MOV	10(SP),(SP)			; LEN,*					0866
000362	012746  000020 				MOV	#20,-(SP)
000366	060616 					ADD	SP,(SP)				; NODE,*
000370	016600  000014 				MOV	14(SP),R0
000374	016002  000052 				MOV	52(R0),R2
000400	010103 					MOV	R1,R3				; N,*
000402	070327  000014 				MUL	#14,R3
000406	010300 					MOV	R3,R0
000410	060200 					ADD	R2,R0
000412	105710 					TSTB	(R0)
000414	006746 					SXT	-(SP)
000416	111016 					MOVB	(R0),(SP)
000420	012746  000001 				MOV	#1,-(SP)
000424	060016 					ADD	R0,(SP)
000426	005046 					CLR	-(SP)
000430	004767  000000G				JSR	PC,BL$EQL
000434	062706  000010 				ADD	#10,SP
000440	006000 					ROR	R0
000442	103020 					BCC	9$
000444	016600  000012 				MOV	12(SP),R0			;					0869
000450	020160  000020 				CMP	R1,20(R0)			; N,*
000454	002005 					BGE	8$
000456	010300 					MOV	R3,R0				;					0871
000460	060200 					ADD	R2,R0
000462	016005  000010 				MOV	10(R0),R5			; *,REMOTE.NODE.ADD
000466	000412 					BR	11$				;					0869
000470	010300 				8$:	MOV	R3,R0				;					0873
000472	060200 					ADD	R2,R0
000474	005004 					CLR	R4				; CHANNEL.NUMBER
000476	156004  000007 				BISB	7(R0),R4			; *,CHANNEL.NUMBER
000502	000404 					BR	11$				;					0874
000504	005201 				9$:	INC	R1				; N					0864
000506	020166  000006 			10$:	CMP	R1,6(SP)			; N,*
000512	002721 					BLT	7$
000514	016600  000012 			11$:	MOV	12(SP),R0			;					0878
000520	016067  000044  000000G			MOV	44(R0),KISAR6
000526	010576  000014 				MOV	R5,@14(SP)			; REMOTE.NODE.ADD,*			0879
000532	016600  000004 				MOV	4(SP),R0			;					0880
000536	010460  000010 				MOV	R4,10(R0)			; CHANNEL.NUMBER,*
000542	010400 					MOV	R4,R0				; CHANNEL.NUMBER,*			0881
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  35
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (12)

000544	060500 					ADD	R5,R0				; REMOTE.NODE.ADD,*
000546	001404 					BEQ	13$
000550	022626 				12$:	CMP	(SP)+,(SP)+
000552	012700  000001 				MOV	#1,R0
000556	000402 					BR	15$
000560	005000 				13$:	CLR	R0
000562	022626 				14$:	CMP	(SP)+,(SP)+			;					0816
000564	062706  000020 			15$:	ADD	#20,SP				;					0792
000570	000207 					RTS	PC

; Routine Size:  189 words,	Routine Base:  $CODE$ + 3236
; Maximum stack depth per invocation:  21 words
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  36
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (13)

;	  0883	routine FINDOB (DST, PIX) =
;	  0884	
;	  0885	!++
;	  0886	! FUNCTIONAL DESCRIPTION:
;	  0887	!	Locate object type, and return process index
;	  0888	!
;	  0889	! FORMAL PARAMETERS:
;	  0890	!	DST	Destination portion of connect block
;	  0891	!	PIX	Place to return process index
;	  0892	!
;	  0893	! IMPLICIT INPUTS:
;	  0894	!	Connect block format checking already performed.
;	  0895	!
;	  0896	! IMPLICIT OUTPUTS:
;	  0897	!	None
;	  0898	!
;	  0899	! ROUTINE VALUE:
;	  0900	!	True if object found
;	  0901	!	False if object not found
;	  0902	!
;	  0903	! COMPLETION CODES:
;	  0904	!	None
;	  0905	!
;	  0906	! SIDE EFFECTS:
;	  0907	!	None
;	  0908	!--
;	  0909	    begin
;	  0910	    $sc_get_data_base (SCDB);
;	  0911	    map DST: ref block field (CBSD_FIELDS);
;	  0912	    local
;	  0913		SAV_MAP,
;	  0914		PROC_NAM,
;	  0915		NAM_LEN,
;	  0916		NAM_PTR,
;	  0917		NAME: vector [byt$allocation (6)];
;	  0918	    bind
;	  0919		OTN = SCDB [SC_OTN_ADDR]: ref blockvector [,OTN_SIZE] field (OTN_FIELDS),
;	  0920		ONP = SCDB [SC_ONP_ADDR]: ref blockvector [,ONP_SIZE] field (ONP_FIELDS);
;	  0921	
;	  0922	    SMAP$ (SAV_MAP);
;	  0923	    case .DST [CB_FMT] from 0 to 2 of
;	  0924		set
;	  0925	
;	  0926		[0]:			! Format 0
;	  0927		    begin
;	  0928		    MAP$ (.SCDB [SC_OTN_BIAS]);		! Set to object table map
;	  0929		    NAM_LEN = 0;			! Be pessimistic
;	  0930		    incr I from 0 to .SCDB [SC_OTN_LEN]-1 do
;	  0931			begin
;	  0932			if .DST [CB_OBJ] eql .OTN [.I, OTN_TYPE]
;	  0933			then
;	  0934			    begin
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  37
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (13)

;	  0935			    NAM_PTR = byt$ptr (NAME);	! Copy name to local store
;	  0936			    ch$move (6, byt$ptr (OTN [.I, OTN_NAME]), .NAM_PTR);
;	  0937			    NAM_LEN = .OTN [.I, OTN_NLEN];
;	  0938			    exitloop
;	  0939			    end
;	  0940			end;
;	  0941	
;	  0942		    if .NAM_LEN eql 0
;	  0943		    then
;	  0944			begin
;	  0945			MAP$ (.SAV_MAP);		! Restore mapping
;	  0946			return false			!   and bomb
;	  0947			end
;	  0948		    end;
;	  0949	
;	  0950		[1]:			! Format 1
;	  0951		    begin
;	  0952		    NAM_PTR = byt$ptr (DST [CB_NAM]);
;	  0953		    NAM_LEN = .DST [CB_LEN]
;	  0954		    end;
;	  0955	
;	  0956		[2]:			! Format 2
;	  0957		    begin
;	  0958		    NAM_PTR = byt$ptr (DST [CB_NM2]);
;	  0959		    NAM_LEN = .DST [CB_LN2]
;	  0960		    end;
;	  0961		tes;
;	  0962	
;	  0963	    MAP$ (.SCDB [SC_ONP_BIAS]);		! Now look at object-to-process table
;	  0964	    PROC_NAM = 0;			! Again, be a pessimist
;	  0965	
;	  0966	    incr I from 0 to .SCDB [SC_ONP_LEN]-1 do
;	  0967		begin
;	  0968		if ch$eql (.NAM_LEN, .NAM_PTR, .ONP [.I, ONP_NLEN], byt$ptr (ONP [.I, ONP_NAME]), %c'.')
;	  0969		then
;	  0970		    begin
;	  0971		    PROC_NAM = .ONP [.I, ONP_PROC];	! Set selected process name
;	  0972		    exitloop
;	  0973		    end
;	  0974		end;
;	  0975	
;	  0976	    MAP$ (.SAV_MAP);				! Restore mapping
;	  0977	    if .PROC_NAM eql 0 then PROC_NAM =		! Default to SCX
;	  0978		%if %bliss (bliss36) %then %rad50_10 'SCX' %else %rad50_11 'SCX' %fi;
;	  0979	    PDVID$ (.PROC_NAM, .PIX)			! Locate the PIX
;	  0980	    end;


						.GLOBL	P.DTGT, $CALLI


						.SBTTL	FINDOB
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  38
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (13)

000000	004167  000000G			FINDOB: JSR	R1,$SAVE5			;					0883
000004	162706  000012 				SUB	#12,SP
000010	016704  000002G				MOV	.CRDAT+2,R4			;					0909
000014	016746  000000G				MOV	KISAR6,-(SP)			; *,SAV.MAP				0922
000020	016646  000034 				MOV	34(SP),-(SP)			; DST,*					0923
000024	005000 					CLR	R0
000026	157600  000000 				BISB	@0(SP),R0
000032	006300 					ASL	R0
000034	066007  000016'				ADD	P.AAD(R0),PC			; Case dispatch
000040	016467  000034  000000G		1$:	MOV	34(R4),KISAR6			;					0928
000046	005005 					CLR	R5				; NAM.LEN				0929
000050	005002 					CLR	R2				; I					0930
000052	000450 					BR	4$
000054	010200 				2$:	MOV	R2,R0				; I,*					0932
000056	072027  000003 				ASH	#3,R0
000062	010001 					MOV	R0,R1
000064	010103 					MOV	R1,R3
000066	066403  000036 				ADD	36(R4),R3
000072	111346 					MOVB	(R3),-(SP)
000074	105066  000001 				CLRB	1(SP)
000100	017600  000002 				MOV	@2(SP),R0
000104	105000 					CLRB	R0
000106	000300 					SWAB	R0
000110	020026 					CMP	R0,(SP)+
000112	001027 					BNE	3$
000114	012766  000010  000004 			MOV	#10,4(SP)			; *,NAM.PTR				0935
000122	060666  000004 				ADD	SP,4(SP)			; NAME,NAM.PTR
000126	012746  000006 				MOV	#6,-(SP)			;					0936
000132	010100 					MOV	R1,R0
000134	066400  000036 				ADD	36(R4),R0
000140	010046 					MOV	R0,-(SP)
000142	062716  000002 				ADD	#2,(SP)
000146	016646  000010 				MOV	10(SP),-(SP)			; NAM.PTR,*
000152	004767  000000G				JSR	PC,BL$MOV
000156	005005 					CLR	R5				; NAM.LEN				0937
000160	156305  000001 				BISB	1(R3),R5			; *,NAM.LEN
000164	062706  000006 				ADD	#6,SP				;					0938
000170	000404 					BR	5$
000172	005202 				3$:	INC	R2				; I					0930
000174	020264  000030 			4$:	CMP	R2,30(R4)			; I,*
000200	002725 					BLT	2$
000202	005705 				5$:	TST	R5				; NAM.LEN				0942
000204	001026 					BNE	8$
000206	016667  000002  000000G			MOV	2(SP),KISAR6			; SAV.MAP,*				0945
000214	005000 					CLR	R0				;					0944
000216	000524 					BR	15$
000220	012700  000004 			6$:	MOV	#4,R0				;					0952
000224	061600 					ADD	(SP),R0
000226	010066  000004 				MOV	R0,4(SP)			; *,NAM.PTR
000232	011600 					MOV	(SP),R0				;					0953
000234	016005  000002 				MOV	2(R0),R5			; *,NAM.LEN
000240	000410 					BR	8$				;					0923
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  39
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (13)

000242	012700  000010 			7$:	MOV	#10,R0				;					0958
000246	061600 					ADD	(SP),R0
000250	010066  000004 				MOV	R0,4(SP)			; *,NAM.PTR
000254	011600 					MOV	(SP),R0				;					0959
000256	016005  000006 				MOV	6(R0),R5			; *,NAM.LEN
000262	016467  000040  000000G		8$:	MOV	40(R4),KISAR6			;					0963
000270	005003 					CLR	R3				; PROC.NAM				0964
000272	005002 					CLR	R2				; I					0966
000274	000435 					BR	11$
000276	010546 				9$:	MOV	R5,-(SP)			; NAM.LEN,*				0968
000300	016646  000006 				MOV	6(SP),-(SP)			; NAM.PTR,*
000304	010201 					MOV	R2,R1				; I,*
000306	070127  000012 				MUL	#12,R1
000312	010100 					MOV	R1,R0
000314	066400  000042 				ADD	42(R4),R0
000320	005046 					CLR	-(SP)
000322	111016 					MOVB	(R0),(SP)
000324	012746  000001 				MOV	#1,-(SP)
000330	060016 					ADD	R0,(SP)
000332	012746  000056 				MOV	#56,-(SP)
000336	004767  000000G				JSR	PC,BL$EQL
000342	062706  000012 				ADD	#12,SP
000346	006000 					ROR	R0
000350	103006 					BCC	10$
000352	010100 					MOV	R1,R0				;					0971
000354	066400  000042 				ADD	42(R4),R0
000360	016003  000010 				MOV	10(R0),R3			; *,PROC.NAM
000364	000404 					BR	12$				;					0972
000366	005202 				10$:	INC	R2				; I					0966
000370	020264  000032 			11$:	CMP	R2,32(R4)			; I,*
000374	002740 					BLT	9$
000376	016667  000002  000000G		12$:	MOV	2(SP),KISAR6			; SAV.MAP,*				0976
000404	005703 					TST	R3				; PROC.NAM				0977
000406	001002 					BNE	13$
000410	012703  073520 				MOV	#73520,R3			; *,PROC.NAM
000414	012746  000010 			13$:	MOV	#10,-(SP)			;					0979
000420	060616 					ADD	SP,(SP)				; $MCB$MY.INDEX,*
000422	010346 					MOV	R3,-(SP)			; PROC.NAM,*
000424	012746  000002 				MOV	#2,-(SP)
000430	012746  000000G				MOV	#P.DTGT,-(SP)
000434	004767  000000G				JSR	PC,$CALLI
000440	062706  000010 				ADD	#10,SP
000444	010001 					MOV	R0,R1				; *,$MCB$STATUS
000446	006000 					ROR	R0
000450	103002 					BCC	14$
000452	016602  000006 				MOV	6(SP),R2			; $MCB$MY.INDEX,$MCB$HANDLE
000456	010100 				14$:	MOV	R1,R0				; $MCB$STATUS,$MCB$STATUS
000460	006001 					ROR	R1				; $MCB$STATUS
000462	103002 					BCC	15$
000464	010276  000034 				MOV	R2,@34(SP)			; $MCB$HANDLE,PIX
000470	062706  000016 			15$:	ADD	#16,SP				;					0883
000474	000207 					RTS	PC
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  40
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (13)


; Routine Size:  159 words,	Routine Base:  $CODE$ + 4030
; Maximum stack depth per invocation:  19 words


000016						.PSECT	$PLIT$,  RO ,  D  

					P.AAD:						; CASE Table for FINDOB+0034		0923
000016	000000 					.WORD	0				; [1$]
000020	000160 					.WORD	160				; [6$]
000022	000202 					.WORD	202				; [7$]
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  41
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (14)

;	  0981	global routine I$CLS (LNK): novalue =
;	  0982	
;	  0983	!++
;	  0984	! FUNCTIONAL DESCRIPTION:
;	  0985	!	Issue a close on the specified link to NSP.
;	  0986	!
;	  0987	! FORMAL PARAMETERS:
;	  0988	!	LNK	Link data base address
;	  0989	!
;	  0990	! IMPLICIT INPUTS:
;	  0991	!	None
;	  0992	!
;	  0993	! IMPLICIT OUTPUTS:
;	  0994	!	None
;	  0995	!
;	  0996	! ROUTINE VALUE:
;	  0997	! COMPLETION CODES:
;	  0998	!	None
;	  0999	!
;	  1000	! SIDE EFFECTS:
;	  1001	!	None
;	  1002	!--
;	  1003	    begin
;	  1004	    $sc_get_data_base (SCDB);
;	  1005	    map LNK: ref block field (LLT_FIELDS);
;	  1006	    local
;	  1007		CCB: ref block field (C_FIELDS);
;	  1008	
;	  1009	    if .LNK [L_STATE] eql ST_CLI then return;	! If close started, then return
;	  1010	    LNK [LL_CLSI] = true;			! Ok, we are fixing to start
;	  1011	    if CCBGT$ (CCB)
;	  1012	    then
;	  1013		begin
;	  1014		$SC_DO_XME (.CCB, N_PCLS, .LNK);
;	  1015		LNK [L_STATE] = ST_CLI			! Now we've done it
;	  1016		end
;	  1017	    else
;	  1018		begin
;	  1019		LNK [LL_KLOK] = true;			! Request clock service
;	  1020		LNK [L_TIMER] = 1;			! ...
;	  1021		SCDB [SCF_KLOK] = true			! ...
;	  1022		end
;	  1023	    end;


						.GLOBL	$CCBGT


						.SBTTL	I$CLS
004526						.PSECT	$CODE$,  RO 

000000	004167  000000G			I$CLS:: JSR	R1,$SAVE4			;					0981
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  42
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (14)

000004	016702  000002G				MOV	.CRDAT+2,R2			;					1003
000010	016601  000014 				MOV	14(SP),R1			; LNK,*					1009
000014	121127  000010 				CMPB	(R1),#10
000020	001425 					BEQ	2$
000022	052711  001000 				BIS	#1000,(R1)			;					1010
000026	004767  000000G				JSR	PC,$CCBGT			;					1011
000032	103411 					BCS	1$
000034	012746  000004 				MOV	#4,-(SP)			;					1014
000040	010146 					MOV	R1,-(SP)
000042	004767  175406 				JSR	PC,DO.XME
000046	112711  000010 				MOVB	#10,(R1)			;					1015
000052	022626 					CMP	(SP)+,(SP)+			;					1013
000054	000207 					RTS	PC				;					1011
000056	052711  010000 			1$:	BIS	#10000,(R1)			;					1019
000062	012761  000001  000012 			MOV	#1,12(R1)			;					1020
000070	052712  002000 				BIS	#2000,(R2)			;					1021
000074	000207 				2$:	RTS	PC				;					0981

; Routine Size:  31 words,	Routine Base:  $CODE$ + 4526
; Maximum stack depth per invocation:  8 words
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  43
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (15)

;	  1024	global routine I$OPN: novalue =
;	  1025	
;	  1026	!++
;	  1027	! FUNCTIONAL DESCRIPTION:
;	  1028	!	Open an NSP port if one is needed.
;	  1029	!
;	  1030	! FORMAL PARAMETERS:
;	  1031	!	None
;	  1032	!
;	  1033	! IMPLICIT INPUTS:
;	  1034	!	None
;	  1035	!
;	  1036	! IMPLICIT OUTPUTS:
;	  1037	!	None
;	  1038	!
;	  1039	! ROUTINE VALUE:
;	  1040	! COMPLETION CODES:
;	  1041	!	None
;	  1042	!
;	  1043	! SIDE EFFECTS:
;	  1044	!	None
;	  1045	!--
;	  1046	    begin
;	  1047	    $sc_get_data_base (SCDB);
;	  1048	    local
;	  1049		LL,
;	  1050		SAV_MAP,
;	  1051		CCB: ref block field (C_FIELDS);
;	  1052	    bind
;	  1053		LLT = SCDB [SC_LLT_ADDR]: ref blockvector [,L_SIZE] field (LLT_FIELDS);
;	  1054	
;	  1055	    if (not .SCDB [SCF_OPEN]) and (.SCDB [SC_IPORT] lss .SCDB [SC_RPORT])
;	  1056	    then
;	  1057		begin
;	  1058		if not CCBGT$ (CCB) then return;
;	  1059		SMAP$ (SAV_MAP);
;	  1060		MAP$ (.SCDB [SC_LLT_BIAS]);
;	  1061		if FINDLL (LL)
;	  1062		then
;	  1063		    begin
;	  1064		    bind
;	  1065			LNK = LLT [.LL, L_TOP]: block field (LLT_FIELDS);
;	  1066	
;	  1067		    CCB [C_PRM1] = LLT [.LL, L_TOP];
;	  1068		    $SC_DO_XME (.CCB, N_POPN, LNK [L_TOP]);
;	  1069		    LNK [LL_BUSY] = true;
;	  1070		    LNK [L_STATE] = ST_OI;
;	  1071		    SCDB [SCF_OPEN] = true
;	  1072		    end
;	  1073		else
;	  1074		    CCBRT$ (.CCB);
;	  1075	
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  44
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (15)

;	  1076		MAP$ (.SAV_MAP)
;	  1077		end
;	  1078	    end;


						.GLOBL	$CCBRT


						.SBTTL	I$OPN
000000	004167  000000G			I$OPN:: JSR	R1,$SAVE4			;					1024
000004	005746 					TST	-(SP)
000006	016702  000002G				MOV	.CRDAT+2,R2			;					1046
000012	032712  004000 				BIT	#4000,(R2)			;					1055
000016	001054 					BNE	3$
000020	126262  000006  000007 			CMPB	6(R2),7(R2)
000026	103050 					BHIS	3$
000030	004767  000000G				JSR	PC,$CCBGT			;					1058
000034	103445 					BCS	3$
000036	016703  000000G				MOV	KISAR6,R3			; *,SAV.MAP				1059
000042	016267  000044  000000G			MOV	44(R2),KISAR6			;					1060
000050	012746  000002 				MOV	#2,-(SP)			;					1061
000054	060616 					ADD	SP,(SP)				; LL,*
000056	004767  176130 				JSR	PC,FINDLL
000062	005726 					TST	(SP)+
000064	006000 					ROR	R0
000066	103024 					BCC	1$
000070	011601 					MOV	(SP),R1				; LL,*					1065
000072	070127  000032 				MUL	#32,R1
000076	066201  000046 				ADD	46(R2),R1
000102	010164  000024 				MOV	R1,24(R4)			; *,*(CCB)				1067
000106	012746  000002 				MOV	#2,-(SP)			;					1068
000112	010146 					MOV	R1,-(SP)
000114	004767  175236 				JSR	PC,DO.XME
000120	052711  004000 				BIS	#4000,(R1)			;					1069
000124	112711  000003 				MOVB	#3,(R1)				;					1070
000130	052712  004000 				BIS	#4000,(R2)			;					1071
000134	022626 					CMP	(SP)+,(SP)+			;					1063
000136	000402 					BR	2$				;					1061
000140	004767  000000G			1$:	JSR	PC,$CCBRT			;					1074
000144	010367  000000G			2$:	MOV	R3,KISAR6			; SAV.MAP,*				1076
000150	005726 				3$:	TST	(SP)+				;					1024
000152	000207 					RTS	PC

; Routine Size:  54 words,	Routine Base:  $CODE$ + 4624
; Maximum stack depth per invocation:  9 words
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  45
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (16)

;	  1079	global routine STKCCB (NCCB, OCCB): novalue =
;	  1080	
;	  1081	!++
;	  1082	! FUNCTIONAL DESCRIPTION:
;	  1083	!	Performs stacking of NCCB onto OCCB, and transfers
;	  1084	!	buffer pointers.
;	  1085	!
;	  1086	! FORMAL PARAMETERS:
;	  1087	!	NCCB	New top-level CCB
;	  1088	!	OCCB	Old instigator CCB
;	  1089	!
;	  1090	! IMPLICIT INPUTS:
;	  1091	!	None
;	  1092	!
;	  1093	! IMPLICIT OUTPUTS:
;	  1094	!	None
;	  1095	!
;	  1096	! ROUTINE VALUE:
;	  1097	! COMPLETION CODES:
;	  1098	!	None
;	  1099	!
;	  1100	! SIDE EFFECTS:
;	  1101	!	None
;	  1102	!--
;	  1103	    begin
;	  1104	    map
;	  1105		NCCB: ref block field (C_FIELDS),
;	  1106		OCCB: ref block field (C_FIELDS);
;	  1107	
;	  1108	    NCCB [C_STK] = .OCCB;		! Point to originator CCB
;	  1109	    NCCB [C_CHN] = .OCCB [C_CHN];	! Copy chain info
;	  1110	    NCCB [C_BIAS] = .OCCB [C_BIAS];	! Copy buffer info
;	  1111	    NCCB [C_ADDR] = .OCCB [C_ADDR];	! ...
;	  1112	    NCCB [C_CNT] = .OCCB [C_CNT]	! ...
;	  1113	    end;


						.SBTTL	STKCCB
000000	010146 				STKCCB::MOV	R1,-(SP)			;					1079
000002	016601  000006 				MOV	6(SP),R1			; NCCB,*				1108
000006	016600  000004 				MOV	4(SP),R0			; OCCB,*
000012	010061  000004 				MOV	R0,4(R1)
000016	016061  000002  000002 			MOV	2(R0),2(R1)			;					1109
000024	016061  000016  000016 			MOV	16(R0),16(R1)			;					1110
000032	016061  000020  000020 			MOV	20(R0),20(R1)			;					1111
000040	016061  000022  000022 			MOV	22(R0),22(R1)			;					1112
000046	012601 					MOV	(SP)+,R1			;					1079
000050	000207 					RTS	PC

; Routine Size:  21 words,	Routine Base:  $CODE$ + 5000
; Maximum stack depth per invocation:  2 words
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  46
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (17)

;	  1114	global routine STSMAP (CODE) =
;	  1115	
;	  1116	!++
;	  1117	! FUNCTIONAL DESCRIPTION:
;	  1118	!	Map from NSP error code to SC error code
;	  1119	!
;	  1120	! FORMAL PARAMETERS:
;	  1121	!	CODE	The NSP error code
;	  1122	!
;	  1123	! IMPLICIT INPUTS:
;	  1124	!	None
;	  1125	!
;	  1126	! IMPLICIT OUTPUTS:
;	  1127	!	None
;	  1128	!
;	  1129	! ROUTINE VALUE:
;	  1130	!	SC code value
;	  1131	!
;	  1132	! COMPLETION CODES:
;	  1133	!	None
;	  1134	!
;	  1135	! SIDE EFFECTS:
;	  1136	!	None
;	  1137	!--
;	  1138	    begin
;	  1139	    macro
;	  1140		C (NSP_CODE, SC_CODE) = ((NSP_CODE - N$LO)^1, SC_CODE) %;
;	  1141	    bind
;	P 1142		STATUS_MAP = TABLE$ (S_EERR, (N$HI - N$LO)^1,
;	P 1143		    C (N$SSUC, S_SSUC),
;	P 1144		    C (N$SACC, S_SSUC),
;	P 1145		    C (N$SREJ, S_ERBO),
;	P 1146		    C (N$ERES, S_ERES),
;	P 1147		    C (N$ECON, S_ENUR),
;	P 1148		    C (N$ESTE, S_EERR),
;	P 1149		    C (N$EOPN, S_ERES),
;	P 1150		    C (N$EABR, S_EABS),
;	P 1151		    C (N$ETMI, S_EERR),
;	P 1152		    C (N$ERMO, S_EIDM),
;	P 1153		    C (N$ELST, S_ELST),
;	P 1154		    C (N$EMTL, S_EMTL),
;	P 1155		    C (N$ECLS, S_EABL),
;	P 1156		    C (N$EABL, S_EABO),
;	  1157		    C (N$ENUR, S_ENUR)): vector;
;	  1158	
;	  1159	    .STATUS_MAP [.CODE - N$LO]
;	  1160	    end;



000024						.PSECT	$PLIT$,  RO ,  D  
000024	177763 				P.AAE:	.WORD	-15
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  47
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (17)

000026	177763 					.WORD	-15
000030	177767 					.WORD	-11
000032	177731 					.WORD	-47
000034	177755 					.WORD	-23
000036	177757 					.WORD	-21
000040	177761 					.WORD	-17
000042	177762 					.WORD	-16
000044	177763 					.WORD	-15
000046	177771 					.WORD	-7
000050	177777 					.WORD	-1
000052	177763 					.WORD	-15
000054	177731 					.WORD	-47
000056	177777 					.WORD	-1
000060	177763 					.WORD	-15
000062	000001 					.WORD	1
000064	000001 					.WORD	1
000066	177754 					.WORD	-24


	000024'				STATUS.MAP=	    P.AAE


						.SBTTL	STSMAP
005052						.PSECT	$CODE$,  RO 

000000	016600  000002 			STSMAP::MOV	2(SP),R0			; CODE,*				1159
000004	006300 					ASL	R0
000006	016000  000060'				MOV	STATUS.MAP+34(R0),R0		;					1114
000012	000207 					RTS	PC

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


;	  1161	
;	  1162	end
;	  1163	eludom



;					OTS external references
						.GLOBL	$SAVE5, $SAVE4, $SAVE3, $SAVE2
						.GLOBL	BL$EQL, BL$FIL, BL$MOV


;					PSECT SUMMARY
;
;	Psect Name			Words	  Attributes
;	 $CODE$				 1307	    RO ,  I  ,  LCL,  REL,  CON
;	 $PLIT$				   28	    RO ,  D  ,  LCL,  REL,  CON
SCSUB								25-Jan-1983 10:20:59	TOPS-20 Bliss-16 2A(530)	    Page  48
X01250								30-Dec-1982 20:59:22	NETPKG:<SC>SCSUB.BLI.11 (17)


;				LIBRARY STATISTICS
;
;					     -------- Symbols --------    Blocks
;	File				     Total    Loaded   Percent      Read
;
;  NETPKG:<SC>SCPRM.L16.4		       262        91        34         0
;  NETPKG:<MCB>MCBLIB.L16.15		       372        52        13         0
;  NETPKG:<MCB>RSXLIB.L16.13		       317         0         0         0
;  NETPKG:<MCB>XPORTX.L16.15		       599         7         1         0
;  NETPKG:<MCB>SCSYS.L16.13		       113        54        47         0





;	  1164	
; Size:		1307 code + 28 data words
; Run Time:	00:32.9
; Elapsed Time:	01:57.2
; Memory Used:	56 pages
; Compilation Complete
BLISS36				 978
BLK				 592	 622	 626#	 627#	 629	 633	 638	 639#	 640	 645	 646	 652
				 653	 655#	 656	 658	 659	 670	 696	 703	 704	 706	 710	 716
				 718	 719	 724	 725	 726	 727
BYT$ALLOCATION			 827	 917
BYT$PTR				 346	 357	 359	 362	 364	 476	 496	 498	 500	 507	 645	 653
				 658	 725	 735	 736	 777	 831	 833	 841	 846	 866	 935	 936
				 952	 958	 968
BYT$SHORT_STRING		 350	 416
BYTES_WORD			 347	 355	 421	 426	 467	 476	 514	 777
C				1140#	1143	1144	1145	1146	1147	1148	1149	1150	1151	1152	1153
				1154	1155	1156	1157
CB				 341#	 347	 355	 359	 362	 364	 370	 379#	 381	 382	 383#	 385
				 386	 387#	 389	 390	 396#	 398	 399	 412	 426	 463	 467	 476
				 484	 488	 489	 495	 496	 497	 498	 499	 500	 506	 507	 514
CBE				 344	 372	 380	 384	 388	 397
CBSD_FIELDS			 622	 696	 911
CB_ACNT				 389	 500
CB_ACTL				 387	 389	 390	 499	 500
CB_DES				 725
CB_DFMT				 370	 412	 484
CB_FIELDS			 341	 463
CB_FMT				 626	 629	 703	 706	 923
CB_GRP				 653
CB_LEN				 639	 640	 645	 646	 716	 718	 953
CB_LN2				 655	 656	 658	 659	 726	 959
CB_NAM				 645	 719	 952
CB_NM2				 658	 727	 958
CB_NODE				 359	 362	 364
CB_OBJ				 627	 633	 638	 652	 704	 710	 716	 724	 932
CB_OPDL				 396	 398	 399	 489	 506	 507
CB_OPTD				 398	 507
CB_PARSE			 465	 480	 485
CB_PASL				 383	 385	 386	 497	 498
CB_PASW				 385	 498
CB_RQDL				 379	 381	 382	 488	 495	 496
CB_RQID				 381	 496
CB_SFMT				 370	 484
CB_SIZE				 347	 355	 421	 426	 467	 476	 514
CCB				 301	 332	 357	 363	 367	 368	 430	 458	 470#	 475	 476	 480#
				 517	 521	 547	 550#	 551#	 552#	 553#	 554#	 555	 557	 583	 586#
				 587#	 588#	 589#	 590	 792	 819	 831	1007	1011	1014	1051	1058
				1067#	1068	1074
CCBGT$				1011	1058
CCBRT$				1074
CH				 824	 836#	 849#	 850#	 851
CHANNEL_NUMBER			 823	 862#	 873#	 880	 881
CNVAD$				 194	 227*	 841
CNVDA$				 195	 271*	 298	 363
CONBKI				 196	 301*
CONBKO				 197	 430*
C_ADDR				 341	 368	 476	 478	 510	 831	1111
C_BIAS				 354	 367	 475	 477	 831	1110
C_CHN				1109
C_CNT				 421	 510	1112
C_FIELDS			 332	 333	 458	 459	 547	 583	 819	1007	1051	1105	1106
C_FNC				 550	 586
C_LIX				 553	 589
C_MOD				 551	 587
C_PIX				 552	 588
C_PRM1				 346	 357	 363	 554	1067
C_STK				1108
C_STS				 470	 480	 517
DAT				 699	 719#	 727#	 736
DIGIT				 253	 262#	 263	 264	 265	 294	 296#	 299
DO_RCP				 198	 521*
DO_XME				 199	 557*
DST				 883	 911	 923	 932	 952	 953	 958	 959
DST_SRC_I			 200	 370	 592*
DST_SRC_O			 201	 484	 670*
EPTR				 337	 346#	 350	 416
ERR				 338	 371#	 372#	 407	 413#	 416	 418
FALSE				 351	 427	 471	 519	 634	 642	 652	 657	 663	 711	 717	 724
				 731	 789	 843	 881	 946
FC_RCP				 550
FC_XME				 586
FINDLL				 202	 739*	1061
FINDND				 203	 792*
FINDOB				 204	 412	 883*
I				 260	 835	 847	 930	 932	 936	 937	 966	 968	 971
I$CLS				 205	 981*
I$OPN				 206	1024*
L				 769	 772	 782	 783
LCCB				 301	 333	 341	 346	 354#	 421#	 430	 459	 477	 478	 510#
LEN				 227	 260	 698	 718#	 726#	 735	 736	 825	 834#	 838#	 841	 854
				 866
LINKAGE_CCB			 198	 199	 521#	 557#
LL				 739	 767#	 788	1049	1061	1065	1067
LLT				 765#	 772	1053#	1065	1067
LLT_FIELDS			 334	 548	 584	 765	 772	 820	1005	1053	1065
LL_BUSY				1069
LL_CLSI				1010
LL_KLOK				1019
LNK				 301	 334	 413#	 521	 548	 552	 553	 554	 557	 584	 589	 772#
				 774	 777	 778#	 779#	 780#	 781#	 782#	 792	 820	 840#	 841#	 842
				 857#	 879#	 880#	 981	1005	1009	1010#	1014	1015#	1019#	1020#	1065#
				1068	1069#	1070#
LO_BYTE				 554
L_CHN				 840	 880
L_FLAGS				 774	 778
L_I_HEAD			 779
L_I_TAIL			 779
L_LLA				 553	 782
L_N_HEAD			 781
L_N_TAIL			 781
L_O_HEAD			 780
L_O_TAIL			 780
L_PID				 589
L_PIX				 413	 552
L_RNA				 841	 842	 857	 879
L_SIZE				 765	 777	1053
L_STATE				 774	1009	1015	1070
L_TIMER				1020
L_TOP				 772	1065	1067	1068
L_ULA				 554
MAP$				 356	 367	 405	 475	 477	 515	 861	 878	 928	 945	 963	 976
				1060	1076
MENU				 339	 374#	 376	 393	 462	 487#	 488#	 489#	 490	 492	 503
MFBF$S				 831
MODIFIER			 521	 551	 557	 587
N				 864	 866	 869	 871	 873
N$EABL				 153+#	1156
N$EABO				 145+#
N$EABR				 146+#	1150
N$ECLS				 151+#	1155
N$ECON				 142+#	1147
N$ELST				 149+#	1153
N$EMTL				 150+#	1154
N$ENUR				 152+#	1157
N$EOPN				 144+#	1149
N$ERES				 141+#	1146
N$ERMO				 148+#	1152
N$ERUN				 154+#
N$ESTE				 143+#	1148
N$ETMI				 147+#	1151
N$ETRN				 155+#
N$FBOM				 164+#
N$FCMP				 165+#
N$FEOM				 163+#
N$FMES				 162+#
N$FSEG				 161+#
N$HI				 137+#	1142
N$LO				 156+#	1140	1142	1159
N$SACC				 139+#	1144
N$SCC				 175+#
N$SCD				 179+#
N$SCI				 176+#
N$SCL				 185+#
N$SCN				 186+#
N$SCR				 172+#
N$SDIC				 183+#
N$SDI				 182+#
N$SDN				 184+#
N$SDRC				 174+#
N$SDR				 173+#
N$SNC				 178+#
N$SNR				 177+#
N$SO				 171+#
N$SREJ				 138+#	1145
N$SRJ				 180+#
N$SRUN				 181+#
N$SSUC				 140+#	1143
NAME				 917	 935
NAM_LEN				 915	 929#	 937#	 942	 953#	 959#	 968
NAM_PTR				 916	 935#	 936	 952#	 958#	 968
NCCB				1079	1105	1108#	1109#	1110#	1111#	1112#
NMT				 342#	 357	 829#	 866	 871	 873
NMT_ADDR			 871
NMT_CHAN			 873
NMT_FIELDS			 342	 829
NMT_NAME			 357	 866
NMT_NAML			 866
NMT_SIZE			 342	 829
NODE				 827	 831	 833	 841	 846	 866
NSP_CODE			1140
NUM				 271	 296	 297#	 298
N_GSTA				 109+#
N_GSTS				 106+#
N_PCLS				 108+#	1014
N_POPN				 107+#	1068
N_RCON				 124+#
N_RDAT				 126+#
N_RDSC				 125+#
N_RHI				 131+#
N_RINT				 127+#	 131+
N_SCNF				 122+#
N_SCNS				 123+#
N_XABT				 114+#
N_XACC				 111+#
N_XBUF				 119+#
N_XCON				 110+#
N_XDAT				 115+#
N_XDRQ				 118+#
N_XDSC				 113+#
N_XHI				 130+#
N_XINI				 120+#	 130+
N_XINT				 116+#
N_XIRQ				 117+#
N_XREJ				 112+#
OCCB				1079	1106	1108	1109	1110	1111	1112
ONP				 920#	 968	 971
ONP_FIELDS			 920
ONP_NAME			 968
ONP_NLEN			 968
ONP_PROC			 971
ONP_SIZE			 920
OTN				 919#	 932	 936	 937
OTN_FIELDS			 919
OTN_NAME			 936
OTN_NLEN			 937
OTN_SIZE			 919
OTN_TYPE			 932
P				 255	 258#	 262	 624#	 626	 627	 639	 645	 646#	 653	 654#	 655
				 658	 659#	 701#	 703	 704	 725#	 735#	 736#
PDVID$				 979
PIX				 411	 412	 413	 883	 979
PROC_NAM			 914	 964#	 971#	 977#	 979
PTR				 227	 258	 271	 298	 299	 336	 357#	 358	 359	 362#	 363	 364
				 368#	 370	 374	 379	 381	 382#	 383	 385	 386#	 387	 389	 390#
				 396	 398	 399#	 461	 478#	 484	 490	 495	 496#	 497	 498#	 499
				 500#	 506	 507#	 510	 592	 624	 670	 701	 826	 833#	 836	 846#
				 849	 851
REMOTE_NODE_ADDR		 822	 862#	 871#	 879	 881
SAV_MAP				 464	 474	 515	 913	 922	 945	 976	1050	1059	1076
SCDB				 330	 342	 356	 405	 457	 546	 582	 588	 763	 765	 769	 817
				 829	 842	 857	 861	 864	 869	 878	 910	 919	 920	 928	 930
				 963	 966	1004	1021#	1047	1053	1055	1060	1071#
SCF_KLOK			1021
SCF_OPEN			1055	1071
SCSUB				   1#
SC_CODE				1140
SC_IPORT			1055
SC_LADDR			 857
SC_LINKS			 769
SC_LLT_ADDR			 765	1053
SC_LLT_BIAS			 405	 878	1060
SC_LOOPS			 864
SC_NMT_ADDR			 342	 829
SC_NMT_BIAS			 356	 861
SC_NODES			 842	 864	 869
SC_NSPIX			 588
SC_ONP_ADDR			 920
SC_ONP_BIAS			 963
SC_ONP_LEN			 966
SC_OTN_ADDR			 919
SC_OTN_BIAS			 928
SC_OTN_LEN			 930
SC_RPORT			1055
SMAP$				 474	 922	1059
STATUS_MAP			1142#	1159
STKCCB				 207	1079*
STSMAP				 208	1114*
ST_CLI				1009	1015
ST_OFF				 774
ST_OI				1070
S_EABL				1155
S_EABO				1156
S_EABS				1150
S_ECBE				 380	 384	 388	 397
S_EERR				1142	1148	1151
S_EIDM				1152
S_EIOF				 371	 485
S_ELST				1153
S_EMTL				1154
S_ENUR				1147	1157
S_ERBO				1145
S_ERES				 350	 470	1146	1149
S_EURO				 413
S_SSUC				 402	 407	 418	 511	1143	1144
TABLE$				1142
TRUE				 422	 518	 667	 712	 737	 790	 844	 858	 881	1010	1019	1021
				1069	1071
U_DATA				 218#	 393	 489	 503
U_INFO				 217#	 376	 488	 492
VALUE				 253	 257#	 263	 265#	 269
$MCB_GET_DSR			 347	 467
$MCB_RETURN_DSR			 426	 514
$MCB_SCHEDULE_CCB		 555	 590
$SC_DO_XME			1014	1068
$SC_GET_DATA_BASE		 330	 457	 546	 582	 763	 817	 910	1004	1047
$SUB_FIELD			 554