Google
 

Trailing-Edge - PDP-10 Archives - BB-R595B-SM_11-9-85 - mcb/sc/scdsp.lst
There is 1 other file named scdsp.lst in the archive. Click here to see a list.
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page   1
								27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (1)

;	  0001	module SCDSP (			! CCB-Level Dispatching and Initialization
;	  0002			ident = 'X01500'
;	  0003			) =
;	  0004	begin
;	  0005	!
;	  0006	!                    COPYRIGHT (c) 1980, 1981, 1982
;	  0007	!                    DIGITAL EQUIPMENT CORPORATION
;	  0008	!                        Maynard, Massachusetts
;	  0009	!
;	  0010	!     This software is furnished under a license and may  be  used
;	  0011	!     and copied only in accordance with the terms of such license
;	  0012	!     and with the inclusion of the above copyright notice.   This
;	  0013	!     software  or any other copies thereof may not be provided or
;	  0014	!     otherwise made available to any other person.  No  title  to
;	  0015	!     and ownership of the software is hereby transferred.
;	  0016	!
;	  0017	!     The information  in  this  software  is  subject  to  change
;	  0018	!     without  notice  and should not be construed as a commitment
;	  0019	!     by DIGITAL EQUIPMENT CORPORATION.
;	  0020	!
;	  0021	!     DIGITAL assumes no responsibility for the use or reliability
;	  0022	!     of  its  software  on  equipment  which  is  not supplied by
;	  0023	!     DIGITAL.
;	  0024	!
;	  0025	
;	  0026	
;	  0027	
;	  0028	!++
;	  0029	! FACILITY:	Session Control
;	  0030	!
;	  0031	! ABSTRACT:	This is the top level module in the MCB implementation
;	  0032	!		of Session Control.  It is through this module that all
;	  0033	!		CCBs are dispatched to the appropriate processing
;	  0034	!		routines.  Additionally, SC initialization is performed
;	  0035	!		within this module.
;	  0036	!
;	  0037	! ENVIRONMENT:	MCB
;	  0038	!
;	  0039	! AUTHOR:	Buren Hoffman		CREATION DATE: 2-Apr-80
;	  0040	!
;	  0041	! MODIFIED BY:
;	  0042	!	X01010	Fixed NM turn on of SC to wait until NSP has returned
;	  0043	!		the necessary results for SC to really be on.
;	  0044	!	X01020	Changed code to use $byt_ptr macro in place of the
;	  0045	!		ch$ptr macro.
;	  0046	!	X01030	Corrected mapping bug in FCRCP.
;	  0047	!	X01040	Fixed linkage mismatches to called external routines.
;	  0048	!	X01050	Added more state checking in accept/reject completion
;	  0049	!		handling.
;	  0050	!	X01060	Fixed dot bug in connect-rejection processing.
;	  0051	!	X01070	Corrected mapping bug in FCXCP.
;	  0052	!	X01080	Simple formatting changes to make code read easier.
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page   2
X01500								27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (1)

;	  0053	!	X01090	Fixed dot bug in timeout handling.
;	  0054	!	X01100	Moved Port-Open code to routine I$CLS in SCSUB - removed
;	  0055	!		it from the timeout routine in this module.
;	  0056	!	X01110	Modified dispatch table definition to use the TABLE$ macro.
;	  0057	!	X01120	Fixed logic error in FCRCE - nonexistent ccb was being
;	  0058	!		released.
;	  0059	!	X01130	Fixed resource-release problem in connect-complete processing.
;	  0060	!		LDB was being released as an CCB.
;	  0061	!	X01140	Fixed connect-received processing to not forward data length
;	  0062	!		to user as part of data.
;	  0063	!	X01150	LIX was being retrieved from wrong CCB in FCRCE.
;	  0064	!	X01160	Removed redundant code in connect-received processing.
;	  0065	!	X01170	Fix in abort processing to cause processing of right lnk.
;	  0066	!	X01180	Dot bug fix in NR$CST
;	  0067	!	X01190	Set reject reason correctly on reject
;	  0068	!	X01200	Wrong state checking in NX$REJ fixed
;	  0069	!	X01210	Fixed code to prevent two rejects on one link
;	  0070	!	X01220	Fix to assure proper optional data format is generated
;	  0071	!	X01230	Improved documentation, and added info on SIGNAL_STOPs
;	  0072	!	X01240	Fixed completion of nonexistent CCB in reject code.
;	  0073	!	X01250	Removed network management stuff to its own module.
;	  0074	!	X01260	Made NM module an extension process.
;	  0075	!	X01270	Code cleanup, and status code reporting fixes.
;	  0076	!	X01280	Use new Comm/Exec to process linkage (.CRDAT for database)
;	  0077	!	X01290	Fixed state checking in NX$BUF, NX$DRQ, ..., to accept
;	  0078	!		ST_DIR state.
;	  0079	!	X01300	Changed GET-LOCAL-NODE-INFO to also be able to return
;	  0080	!		node addr / node name information.  Changed data-received
;	  0081	!		processing to give (beginning-of-message), (middle-of-message),
;	  0082	!		and (end-of-message) indications to the user.
;	  0083	!	X01310	Updated to use library calls, instead of requires.
;	  0084	!	X01320	Fixed bug in link selection in abort handling code.
;	  0085	!		Also, put call to I$OPN in connect received code.
;	  0086	!	X01330	Changed SC's state codes to correspond to NM's code numbers.
;	  0087	!	X01340	Fixed race between CNR and DSR.
;	  0088	!	X01350	More fix for above race.
;	  0089	!	X01360	Fixed length check for GLN function
;	  0090	!	X01370	Repaired info copy length in GLN.
;	  0091	!	X01380	Fixed state checking in SR$DAT and SR$INT to allow
;	  0092	!		ST_DIR state.
;	  0093	!	X01390	Modified connect-received processing to cause PIX-to-link
;	  0094	!		binding to be performed when the received connect is
;	  0095	!		acknowledged.
;	  0096	!	X01400	Changed Confidence-received call to be processed like a
;	  0097	!		disconnect-received, with status code of S_ENUR. This
;	  0098	!		change allows the task or process to synchronize with
;	  0099	!		the vanishing link - instead of being surprised when it
;	  0100	!		finds it gone.
;	  0101	!	X01410	Additional state check in XCP of disconnect complete from
;	  0102	!		NSP.
;	  0103	!	X01420	Implemented "paranoid" conditional assembly, and cleaned
;	  0104	!		up node-name location.
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page   3
X01500								27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (1)

;	  0105	!	X01430	Upgraded to use new long timer capability.
;	  0106	!	X01440	User PIX was not being set for outgoing connects.
;	  0107	!	X01450	Optimization work.
;	  0108	!	X01460	Fixed CCB completion for NX$INI to do CCP.
;	  0109	!	X01470	Added Host-Node-ID processing capability.
;	  0110	!	x01480  Use DSR space instead of LDB's for connect info
;	  0111	!	x01490	add some in NX$CLS
;	  0112	!       x01500  Fix a race condition in FCXCP (patch around it actually).
;	  0113	!
;	  0114	!--
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page   4
X01500								27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (2)

;	  0115	!
;	  0116	! REQUIRED FILES
;	  0117	!
;	  0118	library 'SCPRM';		! Our parameter and macro definitions
;	  0119	library 'MCB:MCBLIB';
;	  0120	library 'MCB:RSXLIB';
;	  0121	library 'MCB:NMXLIB';
;	  0122	library 'MCB:XPORTX';
;	  0123	library 'MCB:SCSYS';
;	  0124	
;	  0125	require 'NSP:NSINFO';
;	  0237	
;	  0238	
;	  0239	!
;	  0240	! TABLE OF CONTENTS:
;	  0241	!
;	  0242	forward routine
;	  0243	    FCCTL: mcb_db_ccb_mod novalue,	! Control function
;	  0244	    FCRCE: mcb_db_ccb_mod novalue,	! Receive enable
;	  0245	    FCRCP: mcb_db_ccb_mod novalue,	! Receive complete
;	  0246	    FCTMO: mcb_db_ccb_mod novalue,	! Timeout
;	  0247	    FCXCP: mcb_db_ccb_mod novalue,	! Transmit complete
;	  0248	    FCXME: mcb_db_ccb_mod novalue;	! Transmit enable
;	  0249	
;	  0250	!
;	  0251	! MACROS:
;	  0252	!
;	  0253	macro
;	M 0254	    RAD50 (STR) =
;	  0255	    %if %bliss (bliss36) %then %rad50_10 STR %else %rad50_11 STR %fi %;
;	  0256	
;	  0257	!
;	  0258	! EQUATED SYMBOLS:
;	  0259	!
;	  0260	
;	  0261	!
;	  0262	! OWN STORAGE:
;	  0263	!
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page   5
X01500								27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (3)

;	  0264	!
;	  0265	! EXTERNAL REFERENCES:
;	  0266	!
;	  0267	external
;	  0268	    $DSPCR;
;	  0269	
;	  0270	external routine 		! BLISS Routines
;	  0271	    FINDLL,			! Find a logical link
;	  0272	    FINDND,			! Determine node address
;	  0273	
;	  0274	    STSMAP,			! Map NSP status to SC status
;	  0275	
;	  0276	    I$CLS: novalue,		! Close
;	  0277	    I$OPN: novalue,		! Open
;	  0278	
;	  0279	    NR$CRW: novalue,		! Connect Received
;	  0280	    NR$DTW: novalue,		! Data Received
;	  0281	    NR$DRW: novalue,		! Disconnect Received
;	  0282	    NR$INW: novalue,		! Interrupt Received
;	  0283	
;	  0284	    SX$ABW: novalue,		! Abort
;	  0285	    SX$ACW: novalue,		! Accept
;	  0286	    SX$CNW: novalue,		! Connect
;	  0287	    SX$DRW: novalue,		! Data Segment Request
;	  0288	    SX$IRW: novalue,		! Interrupt Request
;	  0289	    SX$RJW: novalue,		! Reject
;	  0290	    SX$SDW: novalue,		! Data Transmit
;	  0291	    SX$SIW: novalue;		! Interrupt Transmit
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page   6
X01500								27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (4)

;	  0292	!+
;	  0293	!
;	  0294	! *** SESSION CONTROL DISPATCH VECTOR ***
;	  0295	!
;	  0296	! This vector is the route via which the MCB
;	  0297	! dispatches CCBs to Session Control.
;	  0298	!
;	  0299	!-
;	  0300	
;	  0301	global bind
;	P 0302	    $SCLL = TABLE$ ($DSPCR, FC_CCP,
;	P 0303		(FC_XME, FCXME),	! Transmit enable
;	P 0304		(FC_XCP, FCXCP),	! Transmit complete
;	P 0305		(FC_RCE, FCRCE),	! Receive enable
;	P 0306		(FC_RCP, FCRCP),	! Receive complete
;	P 0307		(FC_CTL, FCCTL),	! Control
;	  0308		(FC_TIM, FCTMO)),	! Timeout
;	  0309	
;	  0310	
;	P 0311	    RCPWT = TABLE$ ($DSPCR, N_RHI,
;	P 0312		(N_SCNF, NR$DRW),	! Confidence (treat as disc rcv'd)
;	P 0313		(N_RCON, NR$CRW),	! Connect received
;	P 0314		(N_RDSC, NR$DRW),	! Disconnect received
;	P 0315		(N_RDAT, NR$DTW),	! Data received
;	  0316		(N_RINT, NR$INW)),	! Interrupt received
;	  0317	
;	P 0318	    XMEWT = TABLE$ ($DSPCR, S$XHI,
;	P 0319		(S$CON, SX$CNW),	! Connect
;	P 0320		(S$ACC, SX$ACW),	! Accept connect
;	P 0321		(S$REJ, SX$RJW),	! Reject connect
;	P 0322		(S$SND, SX$SDW),	! Transmit data
;	P 0323		(S$MRQ, SX$DRW),	! Data message request (SX$MRW)
;	P 0324		(S$DRQ, SX$DRW),	! Data segment request
;	P 0325		(S$SNI, SX$SIW),	! Transmit interrupt data
;	P 0326		(S$IRQ, SX$IRW),	! Interrupt data request
;	P 0327		(S$DIS, SX$ABW),	! Disconnect (SX$DSW)
;	  0328		(S$ABO, SX$ABW));	! Abort
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page   7
X01500		Control Enable From Network Management		27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (5)

;	  0329	%sbttl 'Control Enable From Network Management'
;	  0330	routine FCCTL (SCDB, CCB, FCM): mcb_db_ccb_mod novalue =
;	  0331	
;	  0332	!++
;	  0333	! FUNCTIONAL DESCRIPTION:
;	  0334	!	This routine is activated by receipt of a Control
;	  0335	!	Enable from Network Management.
;	  0336	!
;	  0337	!
;	  0338	! FORMAL PARAMETERS:
;	  0339	!	CCB	CCB to pass to handler routine
;	  0340	!	FCM	Function code modifier
;	  0341	!
;	  0342	! IMPLICIT INPUTS:
;	  0343	!	CCB Contents
;	  0344	!
;	  0345	! IMPLICIT OUTPUTS:
;	  0346	!	None
;	  0347	!
;	  0348	! ROUTINE VALUE:
;	  0349	! COMPLETION CODES:
;	  0350	!	None
;	  0351	!
;	  0352	! SIDE EFFECTS:
;	  0353	!	None
;	  0354	!--
;	  0355	
;	  0356	    begin
;	  0357	    $sc_get_data_base (SCDB);
;	  0358	    map CCB: ref block field (C_FIELDS);
;	  0359	
;	  0360	    CALL$E (NM_EXT, .SCDB [SC_SNPIX], .CCB)
;	  0361	    end;


						.TITLE	SCDSP
						.IDENT	/X01500/


000000						.PSECT	$PLIT$,  RO ,  D  
000000	000000G				P.AAA:	.WORD	$DSPCR
000002	000000V					.WORD	FCXME
000004	000000V					.WORD	FCRCE
000006	000000G					.WORD	$DSPCR
000010	000000'					.WORD	FCCTL
000012	000000V					.WORD	FCTMO
000014	000000V					.WORD	FCXCP
000016	000000V					.WORD	FCRCP
000020	000000G					.WORD	$DSPCR
000022	000000G					.WORD	$DSPCR
000024	000000G				P.AAB:	.WORD	NR$DRW
000026	000000G					.WORD	$DSPCR
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page   8
X01500		Control Enable From Network Management		27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (5)

000030	000000G					.WORD	NR$CRW
000032	000000G					.WORD	NR$DRW
000034	000000G					.WORD	NR$DTW
000036	000000G					.WORD	NR$INW
000040	000000G				P.AAC:	.WORD	SX$CNW
000042	000000G					.WORD	SX$ACW
000044	000000G					.WORD	SX$RJW
000046	000000G					.WORD	SX$SDW
000050	000000G					.WORD	SX$DRW
000052	000000G					.WORD	SX$DRW
000054	000000G					.WORD	SX$SIW
000056	000000G					.WORD	SX$IRW
000060	000000G					.WORD	SX$ABW
000062	000000G					.WORD	SX$ABW
000064	000000G					.WORD	$DSPCR


						.GLOBL	$DSPCR, FINDLL, FINDND, STSMAP
						.GLOBL	I$CLS, I$OPN, NR$CRW, NR$DTW, NR$DRW
						.GLOBL	NR$INW, SX$ABW, SX$ACW, SX$CNW
						.GLOBL	SX$DRW, SX$IRW, SX$RJW, SX$SDW
						.GLOBL	SX$SIW, .CRDAT, NM.EXT, $CALLE


	000000'				$SCLL==		    P.AAA
	000024'				RCPWT==		    P.AAB
	000040'				XMEWT==		    P.AAC


						.SBTTL	FCCTL Control Enable From Network Management
000000						.PSECT	$CODE$,  RO 

000000	010446 				FCCTL:	MOV	R4,-(SP)			; CCB,*					0360
000002	012746  000001 				MOV	#1,-(SP)
000006	012746  000000G				MOV	#NM.EXT,-(SP)
000012	005046 					CLR	-(SP)
000014	116516  000004 				MOVB	4(R5),(SP)			; *(SCDB),*
000020	004767  000000G				JSR	PC,$CALLE
000024	062706  000010 				ADD	#10,SP				;					0356
000030	000207 					RTS	PC				;					0330

; Routine Size:  13 words,	Routine Base:  $CODE$ + 0000
; Maximum stack depth per invocation:  5 words
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page   9
X01500		Receive Complete From NSP			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (6)

;	  0362	%sbttl 'Receive Complete From NSP'
;	  0363	routine FCRCP (SCDB, CCB, FCM): mcb_db_ccb_mod novalue =
;	  0364	
;	  0365	!++
;	  0366	! FUNCTIONAL DESCRIPTION:
;	  0367	!	This routine is activated by receipt of a receive
;	  0368	!	complete CCB from NSP.
;	  0369	!
;	  0370	!
;	  0371	! FORMAL PARAMETERS:
;	  0372	!	CCB	CCB to pass to handler routine
;	  0373	!	FCM	Function code modifier
;	  0374	!
;	  0375	! IMPLICIT INPUTS:
;	  0376	!	CCB Contents
;	  0377	!
;	  0378	! IMPLICIT OUTPUTS:
;	  0379	!	None
;	  0380	!
;	  0381	! ROUTINE VALUE:
;	  0382	! COMPLETION CODES:
;	  0383	!	None
;	  0384	!
;	  0385	! SIDE EFFECTS:
;	  0386	!	None
;	  0387	!--
;	  0388	
;	  0389	    begin
;	  0390	    $sc_get_data_base (SCDB);
;	  0391	    map	CCB: ref block field (C_FIELDS);
;	  0392	    local
;	  0393		LNK: ref block field (LLT_FIELDS),
;	  0394		LCCB: ref block field (C_FIELDS),
;	  0395		STATUS;
;	  0396	    bind
;	  0397		LLT = SCDB [SC_LLT_ADDR]: ref blockvector [,L_SIZE] field (LLT_FIELDS),
;	  0398		PIV = LLT [.SCDB [SC_LINKS], L_TOP]: byte_vector;
;	  0399	
;	  0400	    MAP$ (.SCDB [SC_LLT_BIAS]);
;	  0401	    LNK = LLT [.PIV [.CCB [C_LIX]], L_TOP];
;	  0402	
;	  0403	
;	  0404	    case .FCM^-1 from 0 to N_RHI^-1 of
;	  0405		set
;	  0406	
;	  0407	
;	  0408	
;	  0409		! ************
;	  0410		! ** NR$CNR **
;	  0411		! ************
;	  0412		[N_RCON^-1]:
;	  0413		    begin
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  10
X01500		Receive Complete From NSP			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (6)

;	  0414		    %if paranoid %then
;	  0415			if .LNK [L_STATE] neq ST_OPN
;	  0416			then SIGNAL_STOP (SC$_LWS, .CCB, .LNK);
;	  0417		    %fi
;	  0418	
;	  0419		    CMQIF$ (LNK [L_IQUE], .CCB);
;	  0420		    LNK [L_STATE] = ST_CR;
;	  0421		    LNK [L_RNA] = .CCB [C_PRM1];
;	  0422		    SCDB [SC_IPORT] = .SCDB [SC_IPORT] - 1;	! We used up a port
;	  0423		    I$OPN ()					! Try to replace it
;	  0424		    end;
;	  0425	
;	  0426	
;	  0427	
;	  0428		! ************
;	  0429		! ** NR$CST **
;	  0430		! ************
;	  0431		[N_SCNS^-1]:
;	  0432		    begin
;	  0433		    if .LNK [L_STATE] eql ST_CID		! Conn-Init-Delivered ?
;	  0434		    then
;	  0435			begin					! Yes !
;	  0436			local
;	  0437			    CNT,
;	  0438			    PTR;
;	  0439			CMQRM$ (LNK [L_OQUE], LCCB);		! Take user CCB off que
;	  0440			LNK [L_TIMER] = 0;			! Disable timer
;	  0441			if .CCB [C_STS] eql N$SACC		! Link accepted ?
;	  0442			then LNK [L_STATE] = ST_RUN		! Yes, go to RUN state
;	  0443			else I$CLS (.LNK);			! No, so close the port
;	  0444			MAP$ (.CCB [C_BIAS]);			! Set to copy conn data
;	  0445			if (CNT = .CCB [C_CNT] - 1) lss 0 then CNT = 0;
;	  0446			LCCB [C_PRM4] = min (.LCCB [C_PRM4], .CNT);
;	  0447			PTR = ch$plus (.CCB [C_ADDR], 1);
;	  0448			MTBF$S (.LCCB [C_PRM4], .PTR, .LCCB [C_PRM2], .LCCB [C_PRM3]);
;	  0449			$SC_DO_XCP (.LCCB, STSMAP (.CCB [C_STS])) ! Complete to user
;	  0450			end;
;	  0451	
;	  0452			$SC_DO_RCE (.CCB);			! Return NSP's buffer
;	  0453		    return
;	  0454		    end;
;	  0455	
;	  0456	
;	  0457	
;	  0458		! *********************
;	  0459		! ** NR$DAT & NR$INT **
;	  0460		! *********************
;	  0461		[N_RDAT^-1, N_RINT^-1]:
;	  0462		    begin
;	  0463		    if not (
;	  0464			(.LNK [L_STATE] eql ST_RUN) or
;	  0465			(.LNK [L_STATE] eql ST_DI))
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  11
X01500		Receive Complete From NSP			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (6)

;	  0466		    then $SC_DO_RCE (.CCB)
;	  0467		    else
;	  0468			begin
;	  0469			if .FCM eql N_RDAT
;	  0470			then CMQIN$ (LNK [L_IQUE], .CCB)
;	  0471			else CMQIF$ (LNK [L_IQUE], .CCB)
;	  0472			end
;	  0473		    end;
;	  0474	
;	  0475	
;	  0476	
;	  0477		! *********************
;	  0478		! ** NR$CNF & NR$DSR **
;	  0479		! *********************
;	  0480		[N_SCNF^-1, N_RDSC^-1]:
;	  0481		    begin
;	  0482		    %if paranoid %then
;	  0483			if (.LNK [L_STATE] eql ST_OFF) or
;	  0484			   (.LNK [L_STATE] eql ST_OI) or
;	  0485			   (.LNK [L_STATE] eql ST_OPN)
;	  0486			then SIGNAL_STOP (SC$_LWS, .CCB, .LNK);
;	  0487		    %fi
;	  0488	
;	  0489		    LNK [L_STS] = (if .FCM eql N_SCNF then S_EABL else S_EABS);
;	  0490		    if	(.LNK [L_STATE] eql ST_CIS) or
;	  0491			(.LNK [L_STATE] eql ST_CLI) or
;	  0492			(.LNK [L_STATE] eql ST_ABI) or
;	  0493			(.LNK [L_PIX] eql 0)		! CNR was rcv'dfor no-such obj
;	  0494		    then
;	  0495			begin
;	  0496			$SC_DO_RCE (.CCB);
;	  0497			I$CLS (.LNK);
;	  0498			return
;	  0499			end;
;	  0500	
;	  0501		    while CMQRM$ (LNK [L_IQUE], LCCB) do $SC_DO_RCE (.LCCB);
;	  0502		    CMQIF$ (LNK [L_IQUE], .CCB)
;	  0503		    end;
;	  0504	
;	  0505	
;	  0506	
;	  0507		! ************
;	  0508		! ** NR$ERR **
;	  0509		! ************
;	  0510		[inrange, outrange]:
;	  0511		    %if paranoid %then
;	  0512			SIGNAL_STOP (SC$_ISC, .CCB)
;	  0513		    %fi;
;	  0514		tes;
;	  0515	
;	  0516	    $SC_DISPATCH_INPUT (LNK [L_IQUE])
;	  0517	    end;
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  12
X01500		Receive Complete From NSP			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (6)



						.GLOBL	KISAR6, $CMQIF, $CMQRM, $MVTBF
						.GLOBL	$SCHED, $CMQIN


						.SBTTL	FCRCP Receive Complete From NSP
000000	005746 				FCRCP:	TST	-(SP)				;					0363
000002	010301 					MOV	R3,R1				; *,FCM
000004	010446 					MOV	R4,-(SP)
000006	010502 					MOV	R5,R2				; *,SCDB
000010	016205  000016 				MOV	16(R2),R5			; *(SCDB),*				0398
000014	070527  000032 				MUL	#32,R5
000020	066205  000046 				ADD	46(R2),R5			; *(SCDB),*
000024	016267  000044  000000G			MOV	44(R2),KISAR6			; *(SCDB),*				0400
000032	005000 					CLR	R0				;					0401
000034	011603 					MOV	(SP),R3
000036	156300  000010 				BISB	10(R3),R0
000042	060005 					ADD	R0,R5
000044	111505 					MOVB	(R5),R5
000046	042705  177400 				BIC	#177400,R5
000052	070527  000032 				MUL	#32,R5
000056	066205  000046 				ADD	46(R2),R5			; *(SCDB),*
000062	010566  000002 				MOV	R5,2(SP)			; *,LNK
000066	010103 					MOV	R1,R3				; FCM,*					0404
000070	006203 					ASR	R3
000072	020327  000005 				CMP	R3,#5
000076	101003 					BHI	1$
000100	006303 					ASL	R3
000102	066307  000066'				ADD	P.AAD(R3),PC			; Case dispatch
000106	011646 				1$:	MOV	(SP),-(SP)			;					0512
000110	012746  100014 				MOV	#-77764,-(SP)
000114	012746  000002 				MOV	#2,-(SP)
000120	004767  000000G				JSR	PC,$STOP
000124	062706  000006 				ADD	#6,SP
000130	000445 					BR	4$				;					0404
000132	127627  000002  000004 		2$:	CMPB	@2(SP),#4			; LNK,*					0415
000140	001414 					BEQ	3$
000142	016646  000002 				MOV	2(SP),-(SP)			; LNK,*					0416
000146	016646  000002 				MOV	2(SP),-(SP)
000152	012746  100024 				MOV	#-77754,-(SP)
000156	012746  000003 				MOV	#3,-(SP)
000162	004767  000000G				JSR	PC,$STOP
000166	062706  000010 				ADD	#10,SP
000172	012700  000016 			3$:	MOV	#16,R0				;					0419
000176	066600  000002 				ADD	2(SP),R0			; LNK,*
000202	010003 					MOV	R0,R3
000204	011604 					MOV	(SP),R4
000206	004767  000000G				JSR	PC,$CMQIF
000212	112776  000005  000002 			MOVB	#5,@2(SP)			; *,LNK					0420
000220	016600  000002 				MOV	2(SP),R0			; LNK,*					0421
000224	011601 					MOV	(SP),R1
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  13
X01500		Receive Complete From NSP			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (6)

000226	016160  000024  000006 			MOV	24(R1),6(R0)			; *,*(LNK)
000234	105362  000006 				DECB	6(R2)				; *(SCDB)				0422
000240	004767  000000G				JSR	PC,I$OPN			;					0423
000244	000555 				4$:	BR	14$				;					0404
000246	127627  000002  000002 		5$:	CMPB	@2(SP),#2			; LNK,*					0433
000254	001106 					BNE	11$
000256	012700  000022 				MOV	#22,R0				;					0439
000262	066600  000002 				ADD	2(SP),R0			; LNK,*
000266	010003 					MOV	R0,R3
000270	004767  000000G				JSR	PC,$CMQRM
000274	103401 					BCS	6$
000276	010405 					MOV	R4,R5				; $MCB$R4,LCCB
000300	016600  000002 			6$:	MOV	2(SP),R0			; LNK,*					0440
000304	005060  000012 				CLR	12(R0)				; *(LNK)
000310	011600 					MOV	(SP),R0				;					0441
000312	026027  000014  000002 			CMP	14(R0),#2
000320	001004 					BNE	7$
000322	112776  000014  000002 			MOVB	#14,@2(SP)			; *,LNK					0442
000330	000405 					BR	8$				;					0441
000332	016646  000002 			7$:	MOV	2(SP),-(SP)			; LNK,*					0443
000336	004767  000000G				JSR	PC,I$CLS
000342	005726 					TST	(SP)+
000344	011600 				8$:	MOV	(SP),R0				;					0444
000346	016067  000016  000000G			MOV	16(R0),KISAR6
000354	016002  000022 				MOV	22(R0),R2			; *,CNT					0445
000360	005302 					DEC	R2				; CNT
000362	100001 					BPL	9$
000364	005002 					CLR	R2				; CNT
000366	012704  000032 			9$:	MOV	#32,R4				;					0446
000372	060504 					ADD	R5,R4				; LCCB,*
000374	011400 					MOV	(R4),R0
000376	020002 					CMP	R0,R2				; *,CNT
000400	003401 					BLE	10$
000402	010200 					MOV	R2,R0				; CNT,*
000404	010014 				10$:	MOV	R0,(R4)
000406	011600 					MOV	(SP),R0				;					0447
000410	016002  000020 				MOV	20(R0),R2			; *,PTR
000414	005202 					INC	R2				; PTR
000416	016546  000026 				MOV	26(R5),-(SP)			; *(LCCB),*				0448
000422	016546  000030 				MOV	30(R5),-(SP)			; *(LCCB),*
000426	011403 					MOV	(R4),R3
000430	004767  000000G				JSR	PC,$MVTBF
000434	112765  000014  000012 			MOVB	#14,12(R5)			; *,*(LCCB)				0449
000442	016600  000004 				MOV	4(SP),R0
000446	016016  000014 				MOV	14(R0),(SP)
000452	004767  000000G				JSR	PC,STSMAP
000456	010065  000014 				MOV	R0,14(R5)			; *,*(LCCB)
000462	010504 					MOV	R5,R4				; LCCB,*
000464	004767  000000G				JSR	PC,$SCHED
000470	022626 					CMP	(SP)+,(SP)+			;					0435
000472	011600 				11$:	MOV	(SP),R0				;					0452
000474	112760  000004  000012 			MOVB	#4,12(R0)
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  14
X01500		Receive Complete From NSP			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (6)

000502	010004 					MOV	R0,R4
000504	004767  000000G				JSR	PC,$SCHED
000510	000566 					BR	26$				;					0432
000512	127627  000002  000014 		12$:	CMPB	@2(SP),#14			; LNK,*					0464
000520	001414 					BEQ	13$
000522	127627  000002  000012 			CMPB	@2(SP),#12			; LNK,*					0465
000530	001410 					BEQ	13$
000532	011600 					MOV	(SP),R0				;					0466
000534	112760  000004  000012 			MOVB	#4,12(R0)
000542	010004 					MOV	R0,R4
000544	004767  000000G				JSR	PC,$SCHED
000550	000531 					BR	24$				;					0462
000552	012700  000016 			13$:	MOV	#16,R0				;					0470
000556	066600  000002 				ADD	2(SP),R0			; LNK,*
000562	010003 					MOV	R0,R3
000564	020127  000010 				CMP	R1,#10				; FCM,*					0469
000570	001116 					BNE	23$
000572	011604 					MOV	(SP),R4				;					0470
000574	004767  000000G				JSR	PC,$CMQIN
000600	000515 				14$:	BR	24$				;					0468
000602	105776  000002 			15$:	TSTB	@2(SP)				; LNK					0483
000606	001410 					BEQ	16$
000610	127627  000002  000003 			CMPB	@2(SP),#3			; LNK,*					0484
000616	001404 					BEQ	16$
000620	127627  000002  000004 			CMPB	@2(SP),#4			; LNK,*					0485
000626	001014 					BNE	17$
000630	016646  000002 			16$:	MOV	2(SP),-(SP)			; LNK,*					0486
000634	016646  000002 				MOV	2(SP),-(SP)
000640	012746  100024 				MOV	#-77754,-(SP)
000644	012746  000003 				MOV	#3,-(SP)
000650	004767  000000G				JSR	PC,$STOP
000654	062706  000010 				ADD	#10,SP
000660	005701 				17$:	TST	R1				; FCM					0489
000662	001003 					BNE	18$
000664	012700  177755 				MOV	#-23,R0
000670	000402 					BR	19$
000672	012700  177771 			18$:	MOV	#-7,R0
000676	016601  000002 			19$:	MOV	2(SP),R1			; LNK,*
000702	010061  000014 				MOV	R0,14(R1)			; *,*(LNK)
000706	121127  000001 				CMPB	(R1),#1				; LNK,*					0490
000712	001412 					BEQ	20$
000714	121127  000010 				CMPB	(R1),#10			; LNK,*					0491
000720	001407 					BEQ	20$
000722	121127  000011 				CMPB	(R1),#11			; LNK,*					0492
000726	001404 					BEQ	20$
000730	010100 					MOV	R1,R0				; LNK,*					0493
000732	105760  000005 				TSTB	5(R0)				; *(LNK)
000736	001014 					BNE	21$
000740	011600 				20$:	MOV	(SP),R0				;					0496
000742	112760  000004  000012 			MOVB	#4,12(R0)
000750	010004 					MOV	R0,R4
000752	004767  000000G				JSR	PC,$SCHED
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  15
X01500		Receive Complete From NSP			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (6)

000756	016646  000002 				MOV	2(SP),-(SP)			; LNK,*					0497
000762	004767  000000G				JSR	PC,I$CLS
000766	000436 					BR	25$				;					0490
000770	012700  000016 			21$:	MOV	#16,R0				;					0501
000774	066600  000002 				ADD	2(SP),R0			; LNK,*
001000	010003 					MOV	R0,R3
001002	004767  000000G			22$:	JSR	PC,$CMQRM
001006	103407 					BCS	23$
001010	010405 					MOV	R4,R5				; $MCB$R4,LCCB
001012	112765  000004  000012 			MOVB	#4,12(R5)			; *,*(LCCB)
001020	004767  000000G				JSR	PC,$SCHED
001024	000766 					BR	22$
001026	011604 				23$:	MOV	(SP),R4				;					0502
001030	004767  000000G				JSR	PC,$CMQIF
001034	016601  000002 			24$:	MOV	2(SP),R1			; LNK,*					0516
001040	016100  000016 				MOV	16(R1),R0			; *(LNK),*
001044	001410 					BEQ	26$
001046	116000  000013 				MOVB	13(R0),R0
001052	042700  177400 				BIC	#177400,R0
001056	010146 					MOV	R1,-(SP)			; LNK,*
001060	004770  000024'				JSR	PC,@RCPWT(R0)
001064	005726 				25$:	TST	(SP)+
001066	022626 				26$:	CMP	(SP)+,(SP)+			;					0363
001070	000207 					RTS	PC

; Routine Size:  285 words,	Routine Base:  $CODE$ + 0032
; Maximum stack depth per invocation:  7 words


000066						.PSECT	$PLIT$,  RO ,  D  

					P.AAD:						; CASE Table for FCRCP+0102		0404
000066	000474 					.WORD	474				; [15$]
000070	000140 					.WORD	140				; [5$]
000072	000024 					.WORD	24				; [2$]
000074	000474 					.WORD	474				; [15$]
000076	000404 					.WORD	404				; [12$]
000100	000404 					.WORD	404				; [12$]
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  16
X01500		Receive Enable From User			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (7)

;	  0518	%sbttl 'Receive Enable From User'
;	  0519	routine FCRCE (SCDB, CCB, FCM): mcb_db_ccb_mod novalue =
;	  0520	
;	  0521	!++
;	  0522	! FUNCTIONAL DESCRIPTION:
;	  0523	!	This routine is activated by a receive enable from
;	  0524	!	a System Interface user.
;	  0525	!
;	  0526	! FORMAL PARAMETERS:
;	  0527	!	CCB	CCB being returned
;	  0528	!	FCM	Function code modifier
;	  0529	!
;	  0530	! IMPLICIT INPUTS:
;	  0531	!	CCB Contents
;	  0532	!
;	  0533	! IMPLICIT OUTPUTS:
;	  0534	!	None
;	  0535	!
;	  0536	! ROUTINE VALUE:
;	  0537	! COMPLETION CODES:
;	  0538	!	None
;	  0539	!
;	  0540	! SIDE EFFECTS:
;	  0541	!	None
;	  0542	!--
;	  0543	
;	  0544	    begin
;	  0545	    $sc_get_data_base (SCDB);
;	  0546	    map	CCB: ref block field (C_FIELDS);
;	  0547	    local
;	  0548		LCCB: ref block field (C_FIELDS),
;	  0549		LNK: ref block field (LLT_FIELDS);
;	  0550	    bind
;	  0551		LLT = SCDB [SC_LLT_ADDR]: ref blockvector [,L_SIZE] field (LLT_FIELDS);
;	  0552	
;	  0553	    MAP$ (.SCDB [SC_LLT_BIAS]);
;	  0554	    LNK = LLT [.CCB [C_LIX], L_TOP];
;	  0555	    LCCB = .CCB [C_STK];
;	  0556	
;	  0557	    case .FCM^-1 from 0 to S$RHI^-1 of
;	  0558		set
;	  0559	
;	  0560	
;	  0561		! ************
;	  0562		! ** SR$CNR **
;	  0563		! ************
;	  0564		[S$CNR^-1]:
;	  0565		    begin
;	  0566		    %if paranoid %then
;	  0567			if not (
;	  0568			    (.LNK [L_STATE] eql ST_CR) or
;	  0569			    (.LNK [L_STATE] eql ST_CLI))
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  17
X01500		Receive Enable From User			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (7)

;	  0570			then SIGNAL_STOP (SC$_LWS, .CCB, .LNK);
;	  0571		    %fi
;	  0572	
;	  0573		    $MCB_RETURN_DSR (CB_SIZE*bytes_word, .CCB [C_ADDR]);
;	  0574								! Release CB memory
;	  0575		    LNK [L_TIMER] = 0;				! Turn off timer
;	  0576	
;	  0577		    ! Now do state checking to see if we go to next state
;	  0578		    if (.LNK [L_STATE] eql ST_CR) and (.CCB [C_STS] eql S_SSUC)
;	  0579		    then
;	  0580			begin				! OK !
;	  0581			LNK [L_PIX] = .CCB [C_PIX];	! Bind link to process
;	  0582			LNK [L_STATE] = ST_CRA;		! Advance to next state
;	  0583			CCBRT$ (.CCB)			! Release our CCB
;	  0584			end
;	  0585		    else
;	  0586			begin				! OOPS !
;	  0587			local
;	  0588			    PTR;
;	  0589			LNK [LL_ABTI] = true;		! Prevent two rejects
;	  0590			CCB [C_ADDR] = byt$ptr (CCB [C_PRM1]);
;	  0591			if (.CCB [C_STS] eql S_ERBO) or (.CCB [C_STS] gtr 0)
;	  0592			then CCB [C_STS] = 0;
;	  0593			if .CCB [C_STS] lss 0 then CCB [C_STS] = -.CCB [C_STS];
;	  0594			PTR = byt$ptr (CCB [C_PRM1]);
;	  0595			byt$short_string (CCB [C_STS], PTR);
;	  0596			byt$tiny_string (uplit (0), PTR);
;	  0597			CCB [C_CNT] = 3;
;	  0598			$SC_DO_XME (.CCB, N_XREJ, .LNK)
;	  0599			end;
;	  0600	
;	  0601		    return
;	  0602		    end;
;	  0603	
;	  0604	
;	  0605	
;	  0606		! *********************
;	  0607		! ** SR$DAT & SR$INT **
;	  0608		! *********************
;	  0609		[S$DAT^-1, S$INT^-1]:
;	  0610		    %if paranoid %then
;	  0611			if not (
;	  0612			    (.LNK [L_STATE] eql ST_RUN) or
;	  0613			    (.LNK [L_STATE] eql ST_DI) or
;	  0614			    (.LNK [L_STATE] eql ST_DIR) or
;	  0615			    (.LNK [L_STATE] eql ST_ABI) or
;	  0616			    (.LNK [L_STATE] eql ST_CLI))
;	  0617			then SIGNAL_STOP (SC$_LWS, .CCB, .LNK)
;	  0618		    %fi;
;	  0619	
;	  0620	
;	  0621	
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  18
X01500		Receive Enable From User			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (7)

;	  0622		! ************
;	  0623		! ** SR$DSR **
;	  0624		! ************
;	  0625		[S$DSR^-1]:
;	  0626		    %if paranoid %then
;	  0627			if not (
;	  0628			    (.LNK [L_STATE] eql ST_DIR) or
;	  0629			    (.LNK [L_STATE] eql ST_CLI))
;	  0630			then SIGNAL_STOP (SC$_LWS, .CCB, .LNK)
;	  0631		    %fi;
;	  0632	
;	  0633	
;	  0634	
;	  0635	
;	  0636		! ************
;	  0637		! ** SR$ERR **
;	  0638		! ************
;	  0639		[outrange]:
;	  0640		    %if paranoid %then
;	  0641			 SIGNAL_STOP (SC$_ISC, .CCB, .LNK)
;	  0642		    %fi;
;	  0643		tes;
;	  0644	
;	  0645	    ! Complete LCCB to NSP, and release our CCB
;	  0646	    $SC_DO_RCE (.LCCB);
;	  0647	    CCBRT$ (.CCB)
;	  0648	    end;


000102	000000 				P.AAF:	.WORD	0


						.GLOBL	$DSRRT, $CCBRT, DO.XME


						.SBTTL	FCRCE Receive Enable From User
001124						.PSECT	$CODE$,  RO 

000000	005746 				FCRCE:	TST	-(SP)				;					0519
000002	010402 					MOV	R4,R2				; *,CCB
000004	016567  000044  000000G			MOV	44(R5),KISAR6			; *(SCDB),*				0553
000012	005001 					CLR	R1				;					0554
000014	156201  000010 				BISB	10(R2),R1			; *(CCB),*
000020	070127  000032 				MUL	#32,R1
000024	010104 					MOV	R1,R4
000026	066504  000046 				ADD	46(R5),R4			; *(SCDB),*
000032	010416 					MOV	R4,(SP)				; *,LNK
000034	016205  000004 				MOV	4(R2),R5			; *(CCB),LCCB				0555
000040	006203 					ASR	R3				;					0557
000042	020327  000003 				CMP	R3,#3
000046	101003 					BHI	1$
000050	006303 					ASL	R3
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  19
X01500		Receive Enable From User			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (7)

000052	066307  000104'				ADD	P.AAE(R3),PC			; Case dispatch
000056	011646 				1$:	MOV	(SP),-(SP)			; LNK,*					0641
000060	010246 					MOV	R2,-(SP)			; CCB,*
000062	012746  100014 				MOV	#-77764,-(SP)
000066	000560 					BR	11$
000070	127627  000000  000005 		2$:	CMPB	@0(SP),#5			; LNK,*					0568
000076	001416 					BEQ	3$
000100	127627  000000  000010 			CMPB	@0(SP),#10			; LNK,*					0569
000106	001412 					BEQ	3$
000110	011646 					MOV	(SP),-(SP)			; LNK,*					0570
000112	010246 					MOV	R2,-(SP)			; CCB,*
000114	012746  100024 				MOV	#-77754,-(SP)
000120	012746  000003 				MOV	#3,-(SP)
000124	004767  000000G				JSR	PC,$STOP
000130	062706  000010 				ADD	#10,SP
000134	016200  000020 			3$:	MOV	20(R2),R0			; *(CCB),*				0573
000140	012701  000156 				MOV	#156,R1
000144	004767  000000G				JSR	PC,$DSRRT
000150	011600 					MOV	(SP),R0				; LNK,*					0575
000152	005060  000012 				CLR	12(R0)				; *(LNK)
000156	121027  000005 				CMPB	(R0),#5				; LNK,*					0578
000162	001012 					BNE	4$
000164	026227  000014  000001 			CMP	14(R2),#1			; *(CCB),*
000172	001006 					BNE	4$
000174	116260  000011  000005 			MOVB	11(R2),5(R0)			; *(CCB),*(LNK)				0581
000202	112710  000006 				MOVB	#6,(R0)				; *,LNK					0582
000206	000524 					BR	13$				;					0583
000210	052776  000400  000000 		4$:	BIS	#400,@0(SP)			; *,LNK					0589
000216	010200 					MOV	R2,R0				; CCB,*					0590
000220	062700  000024 				ADD	#24,R0
000224	010062  000020 				MOV	R0,20(R2)			; *,*(CCB)
000230	012701  000014 				MOV	#14,R1				;					0591
000234	060201 					ADD	R2,R1				; CCB,*
000236	021127  177754 				CMP	(R1),#-24
000242	001402 					BEQ	5$
000244	005711 					TST	(R1)
000246	003402 					BLE	6$
000250	005011 				5$:	CLR	(R1)				;					0592
000252	020707 					CMP	PC,PC				;					0593
000254	002001 				6$:	BGE	7$
000256	005411 					NEG	(R1)
000260	010003 				7$:	MOV	R0,R3				; *,PTR					0594
000262	011100 					MOV	(R1),R0				; *,NUM					0595
000264	110023 					MOVB	R0,(R3)+			; NUM,PTR
000266	000300 					SWAB	R0				; NUM
000270	110023 					MOVB	R0,(R3)+			; NUM,PTR
000272	116723  000102'				MOVB	P.AAF,(R3)+			; *,PTR					0596
000276	012762  000003  000022 			MOV	#3,22(R2)			; *,*(CCB)				0597
000304	012746  000014 				MOV	#14,-(SP)			;					0598
000310	016646  000002 				MOV	2(SP),-(SP)			; LNK,*
000314	010204 					MOV	R2,R4				; CCB,*
000316	004767  000000G				JSR	PC,DO.XME
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  20
X01500		Receive Enable From User			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (7)

000322	022626 					CMP	(SP)+,(SP)+			;					0586
000324	000460 					BR	14$				;					0565
000326	127627  000000  000014 		8$:	CMPB	@0(SP),#14			; LNK,*					0612
000334	001443 					BEQ	12$
000336	127627  000000  000012 			CMPB	@0(SP),#12			; LNK,*					0613
000344	001437 					BEQ	12$
000346	127627  000000  000013 			CMPB	@0(SP),#13			; LNK,*					0614
000354	001433 					BEQ	12$
000356	127627  000000  000011 			CMPB	@0(SP),#11			; LNK,*					0615
000364	001427 					BEQ	12$
000366	127627  000000  000010 			CMPB	@0(SP),#10			; LNK,*					0616
000374	001423 					BEQ	12$
000376	000410 					BR	10$				;					0617
000400	127627  000000  000013 		9$:	CMPB	@0(SP),#13			; LNK,*					0628
000406	001416 					BEQ	12$
000410	127627  000000  000010 			CMPB	@0(SP),#10			; LNK,*					0629
000416	001412 					BEQ	12$
000420	011646 				10$:	MOV	(SP),-(SP)			; LNK,*					0630
000422	010246 					MOV	R2,-(SP)			; CCB,*
000424	012746  100024 				MOV	#-77754,-(SP)
000430	012746  000003 			11$:	MOV	#3,-(SP)
000434	004767  000000G				JSR	PC,$STOP
000440	062706  000010 				ADD	#10,SP
000444	112765  000004  000012 		12$:	MOVB	#4,12(R5)			; *,*(LCCB)				0646
000452	010504 					MOV	R5,R4				; LCCB,*
000454	004767  000000G				JSR	PC,$SCHED
000460	010204 				13$:	MOV	R2,R4				; CCB,*					0647
000462	004767  000000G				JSR	PC,$CCBRT
000466	005726 				14$:	TST	(SP)+				;					0519
000470	000207 					RTS	PC

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


000104						.PSECT	$PLIT$,  RO ,  D  

					P.AAE:						; CASE Table for FCRCE+0052		0557
000104	000012 					.WORD	12				; [2$]
000106	000250 					.WORD	250				; [8$]
000110	000250 					.WORD	250				; [8$]
000112	000322 					.WORD	322				; [9$]
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  21
X01500		Timeout or Initialization From Comm/Exec	27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (8)

;	  0649	%sbttl 'Timeout or Initialization From Comm/Exec'
;	  0650	routine FCTMO (SCDB, CCB, FCM): mcb_db_ccb_mod novalue =
;	  0651	
;	  0652	!++
;	  0653	! FUNCTIONAL DESCRIPTION:
;	  0654	!	This routine is activated by some event noted by
;	  0655	!	the Comm/Exec.
;	  0656	!
;	  0657	! FORMAL PARAMETERS:
;	  0658	!	CCB	CCB to pass to handler routine
;	  0659	!	FCM	Function code modifier
;	  0660	!
;	  0661	! IMPLICIT INPUTS:
;	  0662	!	CCB Contents
;	  0663	!
;	  0664	! IMPLICIT OUTPUTS:
;	  0665	!	None
;	  0666	!
;	  0667	! ROUTINE VALUE:
;	  0668	! COMPLETION CODES:
;	  0669	!	None
;	  0670	!
;	  0671	! SIDE EFFECTS:
;	  0672	!	None
;	  0673	!--
;	  0674	
;	  0675	    begin
;	  0676	    $sc_get_data_base (SCDB);
;	  0677	    map	CCB: ref block field (C_FIELDS),
;	  0678		SCDB: ref block field (SC_FIELDS);
;	  0679	    bind
;	  0680		LLT = SCDB [SC_LLT_ADDR]: ref blockvector [,L_SIZE] field (LLT_FIELDS);
;	  0681	
;	  0682	    MAP$ (.SCDB [SC_LLT_BIAS]);
;	  0683	
;	  0684	    case .FCM^-1 from 0 to 3 of
;	  0685		set
;	  0686	
;	  0687	
;	  0688		! ************
;	  0689		! ** CX$LTM **		! Long timer
;	  0690		! ************
;	  0691		[1]:
;	  0692		    begin
;	  0693		    local
;	  0694			LL,
;	  0695			LNK: ref block field (LLT_FIELDS),
;	  0696			LCCB: ref block field (C_FIELDS);
;	  0697	
;	  0698		    SCDB [SC_TICK] = .SCDB [SC_TICK] + 1;	! Restart clock
;	  0699		    SCDB [SCF_SUCC] = true;
;	  0700		    LL = .SCDB [SC_LLINK];		! Figure which LL to start with
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  22
X01500		Timeout or Initialization From Comm/Exec	27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (8)

;	  0701	
;	  0702		    ! Check each logical link to see if something to do
;	  0703		    incr L from 0 to .SCDB [SC_LINKS]-1 do
;	  0704			begin
;	  0705	
;	  0706			if .SCDB [SCF_SUCC] then SCDB [SC_LLINK] = .LL;		! Remember last
;	  0707			if (LL = .LL + 1) geq .SCDB [SC_LINKS] then LL = 0;	!  & next link
;	  0708			LNK = LLT [.LL, L_TOP];
;	  0709	
;	  0710			if .SCDB [SCF_SUCC]
;	  0711			then
;	  0712			    begin			! Check on ...
;	  0713			    $SC_DISPATCH_OUTPUT (LNK [L_INTQ]);	! ... interrupt resource wait
;	  0714			    $SC_DISPATCH_INPUT (LNK [L_IQUE]);	! ... input resource wait
;	  0715			    $SC_DISPATCH_OUTPUT (LNK [L_OQUE])	! ... output resource wait
;	  0716			    end;
;	  0717	
;	  0718			! Finally, check to see if link timer running
;	  0719			if .LNK [LL_KLOK]
;	  0720			then
;	  0721			    begin
;	  0722			    if .LNK [L_TIMER] eql 0
;	  0723			    then LNK [LL_KLOK] = false
;	  0724			    else
;	  0725				begin
;	  0726				if (LNK [L_TIMER] = .LNK [L_TIMER] - 1) eql 0
;	  0727				then 
;	  0728					begin
;	  0729					LNK[L_STS] = S_ENRO;
;	  0730					I$CLS (.LNK);
;	  0731					end
;	  0732				end
;	  0733			    end
;	  0734			end;
;	  0735	
;	  0736		    I$OPN ()			! Open a port if needed
;	  0737		    end;
;	  0738	
;	  0739	
;	  0740	
;	  0741		! ************
;	  0742		! ** CX$PIN **		! Process initialization
;	  0743		! ************
;	  0744		[3]:
;	  0745		    begin
;	  0746		    PDVID$ (RAD50 ('SC1'), SCDB [SC_SNPIX]);
;	  0747		    SCDB [SCF_STAT] = S_ST_OFF		! We are OFF
;	  0748		    end;
;	  0749	
;	  0750	
;	  0751	
;	  0752		! ************
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  23
X01500		Timeout or Initialization From Comm/Exec	27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (8)

;	  0753		! ** CX$PWF **		! Power failure recovery
;	  0754		! ************
;	  0755		[2]: return;
;	  0756	
;	  0757	
;	  0758	
;	  0759		! ************
;	  0760		! ** CX$ERR **		! CX$STM
;	  0761		! ************
;	  0762		[inrange, outrange]:
;	  0763		    %if paranoid %then
;	  0764			SIGNAL_STOP (SC$_ISC)
;	  0765		    %fi;
;	  0766	
;	  0767		tes
;	  0768	    end;


						.GLOBL	P.DTGT, $CALLI


						.SBTTL	FCTMO Timeout or Initialization From Comm/Exec
001616						.PSECT	$CODE$,  RO 

000000	024646 				FCTMO:	CMP	-(SP),-(SP)			;					0650
000002	016567  000044  000000G			MOV	44(R5),KISAR6			; *(SCDB),*				0682
000010	006203 					ASR	R3				;					0684
000012	020327  000003 				CMP	R3,#3
000016	101003 					BHI	1$
000020	006303 					ASL	R3
000022	066307  000114'				ADD	P.AAG(R3),PC			; Case dispatch
000026	012746  100014 			1$:	MOV	#-77764,-(SP)			;					0764
000032	012746  000001 				MOV	#1,-(SP)
000036	004767  000000G				JSR	PC,$STOP
000042	022626 					CMP	(SP)+,(SP)+
000044	000563 					BR	15$				;					0684
000046	105215 				2$:	INCB	(R5)				; SCDB					0698
000050	052715  010000 				BIS	#10000,(R5)			; *,SCDB				0699
000054	005004 					CLR	R4				; LL					0700
000056	156504  000005 				BISB	5(R5),R4			; *(SCDB),LL
000062	016516  000016 				MOV	16(R5),(SP)			; *(SCDB),*				0703
000066	005002 					CLR	R2				; L
000070	000511 					BR	11$
000072	032715  010000 			3$:	BIT	#10000,(R5)			; *,SCDB				0706
000076	001402 					BEQ	4$
000100	110465  000005 				MOVB	R4,5(R5)			; LL,*(SCDB)
000104	005204 				4$:	INC	R4				; LL					0707
000106	020465  000016 				CMP	R4,16(R5)			; LL,*(SCDB)
000112	002401 					BLT	5$
000114	005004 					CLR	R4				; LL
000116	010403 				5$:	MOV	R4,R3				; LL,*					0708
000120	070327  000032 				MUL	#32,R3
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  24
X01500		Timeout or Initialization From Comm/Exec	27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (8)

000124	066503  000046 				ADD	46(R5),R3			; *(SCDB),*
000130	010301 					MOV	R3,R1				; *,LNK
000132	032715  010000 				BIT	#10000,(R5)			; *,SCDB				0710
000136	001441 					BEQ	8$
000140	016100  000026 				MOV	26(R1),R0			; *(LNK),*				0713
000144	001410 					BEQ	6$
000146	116000  000013 				MOVB	13(R0),R0
000152	042700  177400 				BIC	#177400,R0
000156	010146 					MOV	R1,-(SP)			; LNK,*
000160	004770  000040'				JSR	PC,@XMEWT(R0)
000164	005726 					TST	(SP)+
000166	016100  000016 			6$:	MOV	16(R1),R0			; *(LNK),*				0714
000172	001410 					BEQ	7$
000174	116000  000013 				MOVB	13(R0),R0
000200	042700  177400 				BIC	#177400,R0
000204	010146 					MOV	R1,-(SP)			; LNK,*
000206	004770  000024'				JSR	PC,@RCPWT(R0)
000212	005726 					TST	(SP)+
000214	016100  000022 			7$:	MOV	22(R1),R0			; *(LNK),*				0715
000220	001410 					BEQ	8$
000222	116000  000013 				MOVB	13(R0),R0
000226	042700  177400 				BIC	#177400,R0
000232	010146 					MOV	R1,-(SP)			; LNK,*
000234	004770  000040'				JSR	PC,@XMEWT(R0)
000240	005726 					TST	(SP)+
000242	032711  010000 			8$:	BIT	#10000,(R1)			; *,LNK					0719
000246	001421 					BEQ	10$
000250	012700  000012 				MOV	#12,R0				;					0722
000254	060100 					ADD	R1,R0				; LNK,*
000256	005710 					TST	(R0)
000260	001003 					BNE	9$
000262	042711  010000 				BIC	#10000,(R1)			; *,LNK					0723
000266	000411 					BR	10$				;					0721
000270	005310 				9$:	DEC	(R0)				;					0726
000272	001007 					BNE	10$
000274	012761  177732  000014 			MOV	#-46,14(R1)			; *,*(LNK)				0729
000302	010146 					MOV	R1,-(SP)			; LNK,*					0730
000304	004767  000000G				JSR	PC,I$CLS
000310	005726 					TST	(SP)+				;					0728
000312	005202 				10$:	INC	R2				; L					0703
000314	020216 				11$:	CMP	R2,(SP)				; L,*
000316	002665 					BLT	3$
000320	004767  000000G				JSR	PC,I$OPN			;					0736
000324	000433 					BR	15$				;					0684
000326	012746  000004 			12$:	MOV	#4,-(SP)			;					0746
000332	060616 					ADD	SP,(SP)				; $MCB$MY.INDEX,*
000334	012746  073527 				MOV	#73527,-(SP)
000340	012746  000002 				MOV	#2,-(SP)
000344	012746  000000G				MOV	#P.DTGT,-(SP)
000350	004767  000000G				JSR	PC,$CALLI
000354	062706  000010 				ADD	#10,SP
000360	010003 					MOV	R0,R3				; *,$MCB$STATUS
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  25
X01500		Timeout or Initialization From Comm/Exec	27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (8)

000362	006000 					ROR	R0
000364	103002 					BCC	13$
000366	016600  000002 				MOV	2(SP),R0			; $MCB$MY.INDEX,$MCB$HANDLE
000372	010304 				13$:	MOV	R3,R4				; $MCB$STATUS,$MCB$STATUS
000374	006003 					ROR	R3				; $MCB$STATUS
000376	103002 					BCC	14$
000400	110065  000004 				MOVB	R0,4(R5)			; $MCB$HANDLE,*(SCDB)
000404	042715  001400 			14$:	BIC	#1400,(R5)			; *,SCDB				0747
000410	052715  000400 				BIS	#400,(R5)			; *,SCDB
000414	022626 				15$:	CMP	(SP)+,(SP)+			;					0650
000416	000207 					RTS	PC

; Routine Size:  136 words,	Routine Base:  $CODE$ + 1616
; Maximum stack depth per invocation:  7 words


000114						.PSECT	$PLIT$,  RO ,  D  

					P.AAG:						; CASE Table for FCTMO+0022		0684
000114	000000 					.WORD	0				; [1$]
000116	000020 					.WORD	20				; [2$]
000120	000366 					.WORD	366				; [15$]
000122	000300 					.WORD	300				; [12$]
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  26
X01500		Transmit Complete From NSP			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (9)

;	  0769	%sbttl 'Transmit Complete From NSP'
;	  0770	routine FCXCP (SCDB, CCB, FCM): mcb_db_ccb_mod novalue =
;	  0771	
;	  0772	!++
;	  0773	! FUNCTIONAL DESCRIPTION:
;	  0774	!	This routine is activated by receipt of a transmit
;	  0775	!	complete CCB from NSP.
;	  0776	!
;	  0777	! FORMAL PARAMETERS:
;	  0778	!	CCB	CCB to pass to handler routine
;	  0779	!	FCM	Function code modifier
;	  0780	!
;	  0781	! IMPLICIT INPUTS:
;	  0782	!	CCB Contents
;	  0783	!
;	  0784	! IMPLICIT OUTPUTS:
;	  0785	!	None
;	  0786	!
;	  0787	! ROUTINE VALUE:
;	  0788	! COMPLETION CODES:
;	  0789	!	None
;	  0790	!
;	  0791	! SIDE EFFECTS:
;	  0792	!	None
;	  0793	!--
;	  0794	
;	  0795	    begin
;	  0796	    $sc_get_data_base (SCDB);
;	  0797	    map	CCB: ref block field (C_FIELDS);
;	  0798	    local
;	  0799		LNK: ref block field (LLT_FIELDS),
;	  0800		LCCB: ref block field (C_FIELDS),
;	  0801		STATUS;
;	  0802	    bind
;	  0803		LLT = SCDB [SC_LLT_ADDR]: ref blockvector [,L_SIZE] field (LLT_FIELDS),
;	  0804		PIV = LLT [.SCDB [SC_LINKS], L_TOP]: byte_vector;
;	  0805	
;	  0806	    MAP$ (.SCDB [SC_LLT_BIAS]);
;	  0807	
;	  0808	    LNK = LLT [.PIV [.CCB [C_LIX]], L_TOP];
;	  0809	    STATUS = STSMAP (.CCB [C_STS]);		! Set appropriate status info
;	  0810	    LCCB = .CCB [C_STK];			! Get user's CCB address
;	  0811	
;	  0812	
;	  0813	    case .FCM^-1 from 0 to N_XHI^-1 of
;	  0814		set
;	  0815	
;	  0816	
;	  0817	
;	  0818		! *********************
;	  0819		! ** NX$ABT & NX$DSC **
;	  0820		! *********************
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  27
X01500		Transmit Complete From NSP			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (9)

;	  0821		[N_XABT^-1, N_XDSC^-1]:
;	  0822		    begin
;	  0823		    %if paranoid %then
;	  0824			if not (
;	  0825			    (.LNK [L_STATE] eql ST_ABI) or
;	  0826			    (.LNK [L_STATE] eql ST_DIR) or
;	  0827			    (.LNK [L_STATE] eql ST_DI) or
;	  0828			    (.LNK [L_STATE] eql ST_CLI))
;	  0829			then SIGNAL_STOP (SC$_LWS, .CCB, .LNK);
;	  0830		    %fi
;	  0831	
;	  0832		    I$CLS (.LNK)
;	  0833		    end;
;	  0834	
;	  0835	
;	  0836	
;	  0837		! ************
;	  0838		! ** NX$ACC **
;	  0839		! ************
;	  0840		[N_XACC^-1]:
;	  0841		    begin
;	  0842		    %if paranoid %then
;	  0843			if not (
;	  0844			    (.LNK [L_STATE] eql ST_CA) or
;	  0845			    (.LNK [L_STATE] eql ST_CLI) or
;	  0846			    (.LNK [L_STATE] eql ST_DIR))
;	  0847			then SIGNAL_STOP (SC$_LWS, .CCB, .LNK);
;	  0848		    %fi
;	  0849	
;	  0850		    if (.LNK [L_STATE] eql ST_CA) and (.STATUS eql S_SSUC)
;	  0851		    then LNK [L_STATE] = ST_RUN
;	  0852		    end;
;	  0853	
;	  0854	
;	  0855	
;	  0856		! ************
;	  0857		! ** NX$REJ **
;	  0858		! ************
;	  0859		[N_XREJ^-1]:
;	  0860		    begin
;	  0861		    %if paranoid %then
;	  0862			if not (
;	  0863			    (.LNK [L_STATE] eql ST_CR) or
;	  0864			    (.LNK [L_STATE] eql ST_CRA) or
;	  0865			    (.LNK [L_STATE] eql ST_DIR) or
;	  0866			    (.LNK [L_STATE] eql ST_CLI))
;	  0867			then SIGNAL_STOP (SC$_LWS, .CCB, .LNK);
;	  0868		    %fi
;	  0869	
;	  0870		    I$CLS (.LNK)
;	  0871		    end;
;	  0872	
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  28
X01500		Transmit Complete From NSP			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (9)

;	  0873	
;	  0874	
;	  0875		! ************************************************
;	  0876		! ** NX$BUF & NX$DRQ & NX$IRQ & NX$SND & NX$SNI **
;	  0877		! ************************************************
;	  0878		[N_XBUF^-1, N_XDRQ^-1, N_XIRQ^-1, N_XDAT^-1, N_XINT^-1]:
;	  0879		    begin
;	  0880		    %if paranoid %then
;	  0881			if not (
;	  0882			    (.LNK [L_STATE] eql ST_RUN) or
;	  0883			    (.LNK [L_STATE] eql ST_DI) or
;	  0884			    (.LNK [L_STATE] eql ST_DIR) or
;	  0885			    (.LNK [L_STATE] eql ST_CLI) or
;	  0886			    (.LNK [L_STATE] eql ST_ABI))
;	  0887			then SIGNAL_STOP (SC$_LWS, .CCB, .LNK);
;	  0888		    %fi
;	  0889	
;	  0890		    selectoneu .FCM of
;	  0891			set
;	  0892			[N_XBUF]: LCCB [C_CNT] = .CCB [C_CNT];
;	  0893			[N_XINT]: LNK [LL_INTM] = false;
;	  0894			tes
;	  0895		    end;
;	  0896	
;	  0897	
;	  0898	
;	  0899		! ************
;	  0900		! ** NX$CLS **
;	  0901		! ************
;	  0902		[N_PCLS^-1]:
;	  0903		    begin
;	  0904	            ! The following hack prevents us from crashing due to a
;	  0905	            ! race condition which seems to be related to
;	  0906	            ! retransmitted DIs.  Until a better solution is thought
;	  0907	            ! out, we'll just ignore the fact that the link may
;	  0908	            ! already be shut down here.  This much is known to work.
;	  0909	            if .LNK [L_STATE] neq ST_OFF
;	  0910	            then
;	  0911	                begin
;	  0912	                %if paranoid %then
;	  0913	                    if .LNK [L_STATE] neq ST_CLI
;	  0914	                    then SIGNAL_STOP (SC$_LWS, .CCB, .LNK);
;	  0915	                %fi
;	  0916	
;	  0917	                LNK [L_STATE] = ST_OFF;
;	  0918	                LNK [L_FLAGS] = 0;
;	  0919	                while CMQRM$ (LNK [L_INTQ], LCCB) do
;	  0920	                      $SC_DO_XCP (.LCCB, .LNK [L_STS]);
;	  0921	                while CMQRM$ (LNK [L_OQUE], LCCB) do
;	  0922	                      begin
;	  0923	                      if (.LCCB [C_MOD] neq S$DIS) and (.LCCB [C_MOD] neq S$ABO)
;	  0924	                      then STATUS = .LNK [L_STS]
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  29
X01500		Transmit Complete From NSP			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (9)

;	  0925	                      else STATUS =STSMAP (.CCB [C_STS]);
;	  0926	                      $SC_DO_XCP (.LCCB, .STATUS)
;	  0927	                      end;
;	  0928	
;	  0929	                if (LCCB = .CCB[C_STK]) neq 0
;	  0930	                   then $SC_DO_XCP(.LCCB, S_SSUC);
;	  0931	                LCCB = 0
;	  0932	                end;
;	  0933		    end;
;	  0934	
;	  0935	
;	  0936	
;	  0937		! ************
;	  0938		! ** NX$CON **
;	  0939		! ************
;	  0940		[N_XCON^-1]:
;	  0941		    begin
;	  0942		    LNK = .CCB [C_PRM5];
;	  0943	
;	  0944		    %if paranoid %then
;	  0945			if not (
;	  0946			    (.LNK [L_STATE] eql ST_CIS) or
;	  0947			    (.LNK [L_STATE] eql ST_CLI))
;	  0948			then SIGNAL_STOP (SC$_LWS, .CCB, .LNK);
;	  0949		    %fi
;	  0950	
;	  0951		    if .LNK [L_STATE] eql ST_CIS		! Connect-Initiate ?
;	  0952		    then
;	  0953			begin
;	  0954			LNK [LL_KLOK] = true;			! Say we need timer
;	  0955			SCDB [SCF_KLOK] = true;			! Start the clock
;	  0956			LNK [L_PID] = .CCB [C_LIX];		! Set port id
;	  0957			PIV [.CCB [C_LIX]] = .LNK [L_LLA];	! Set reverse mapping
;	  0958			if .STATUS lss 0			! If connect failure
;	  0959			then
;	  0960			    begin				! Connect failure
;	  0961			    if .CCB [C_STS] neq N$ERES		! If not resource error
;	  0962			    then I$CLS (.LNK)			!   then close port
;	  0963			    else
;	  0964				begin
;	  0965				LNK [L_STATE] = ST_OFF;		! Resource error, so
;	  0966				LNK [L_FLAGS] = 0		!  no port to close
;	  0967				end
;	  0968			    end
;	  0969			else
;	  0970			    begin				! Connect ok so far
;	  0971			    LNK [L_STATE] = ST_CID;		! Set next link state
;	  0972			    CMQIF$ (LNK [L_OQUE], .LCCB);	! Put user CCB on queue
;	  0973			    LCCB = 0				! No CCB to complete
;	  0974			    end
;	  0975			end
;	  0976		    else
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  30
X01500		Transmit Complete From NSP			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (9)

;	  0977			STATUS = S_EABO;			! Link aborted
;	  0978	
;	  0979		    $MCB_RETURN_DSR( DSR_CONNECT_BLOCK_SIZE, .CCB[C_ADDR]);
;	  0980		    CCBRT$( .CCB);
;	  0981		    CCB = 0
;	  0982		    end;
;	  0983	
;	  0984	
;	  0985	
;	  0986		! ************
;	  0987		! ** NX$OPN **
;	  0988		! ************
;	  0989		[N_POPN^-1]:
;	  0990		    begin
;	  0991		    LNK = .CCB [C_PRM1];
;	  0992	
;	  0993		    %if paranoid %then
;	  0994			if .LNK [L_STATE] neq ST_OI
;	  0995			then SIGNAL_STOP (SC$_LWS, .CCB, .LNK);
;	  0996		    %fi
;	  0997	
;	  0998		    LNK [L_PID] = .CCB [C_LIX];
;	  0999		    PIV [.LNK [L_PID]] = .LNK [L_LLA];
;	  1000		    if .STATUS eql S_SSUC
;	  1001		    then
;	  1002			begin
;	  1003			LNK [L_STATE] = ST_OPN;
;	  1004			SCDB [SC_IPORT] = .SCDB [SC_IPORT] + 1
;	  1005			end
;	  1006		    else
;	  1007			begin
;	  1008			LNK [LL_BUSY] = false;
;	  1009			LNK [L_STATE] = ST_OFF
;	  1010			end;
;	  1011	
;	  1012		    SCDB [SCF_OPEN] = false;
;	  1013		    LCCB = 0
;	  1014		    end;
;	  1015	
;	  1016	
;	  1017	
;	  1018		! ************
;	  1019		! ** NX$INI **
;	  1020		! ************
;	  1021		[N_XINI^-1]:
;	  1022		    begin
;	  1023		    if .STATUS eql S_SSUC
;	  1024		    then
;	  1025			begin
;	  1026			local
;	  1027			    OLD_STATE;
;	  1028	
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  31
X01500		Transmit Complete From NSP			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (9)

;	  1029			STATUS = NM$SUC;			! Say we made it
;	  1030			SCDB [SC_LADDR] = .CCB [C_PRM1];	! Get our node address
;	  1031			SCDB [SC_SSIZE] = .CCB [C_CNT];		!   and segment size
;	  1032			OLD_STATE = .SCDB [SCF_STAT];		! Remember old state
;	  1033			SCDB [SCF_STAT] = S_ST_ON;		! Say we are turned on
;	  1034			CALL$E (NM_SIG, .SCDB [SC_SNPIX], 0, 1, .OLD_STATE);
;	  1035								! Tell NMX
;	  1036								! TYPE = 0, REASON = 1
;	  1037	
;	  1038			$MCB_ENABLE_LONG_TIMER ();		! Start the clock
;	  1039			SCDB [SC_TICK] = .SCDB [SC_TICK] + 1	! ...
;	  1040			end
;	  1041		    else
;	  1042			STATUS = $NM$ERR_UFO;
;	  1043	
;	  1044		    $SC_DO_CCP (.LCCB, .STATUS);		! Complete the CCB
;	  1045		    LCCB = 0					! ...
;	  1046		    end;
;	  1047	
;	  1048	
;	  1049	
;	  1050		! ************
;	  1051		! ** NX$ERR **
;	  1052		! ************
;	  1053		[inrange, outrange]:
;	  1054		    begin
;	  1055		    %if paranoid %then
;	  1056			SIGNAL_STOP (SC$_ISC, .CCB, .LNK);
;	  1057		    %fi
;	  1058	
;	  1059		    STATUS = S_EERR
;	  1060		    end;
;	  1061	
;	  1062		tes;
;	  1063	
;	  1064	    if .CCB neq 0 then CCBRT$ (.CCB);
;	  1065	    if .LCCB neq 0 then $SC_DO_XCP (.LCCB, .STATUS)
;	  1066	    end;


						.GLOBL	NM.SIG, $LTMEN


						.SBTTL	FCXCP Transmit Complete From NSP
002236						.PSECT	$CODE$,  RO 

000000	162706  000014 			FCXCP:	SUB	#14,SP				;					0770
000004	010302 					MOV	R3,R2				; *,FCM
000006	010466  000010 				MOV	R4,10(SP)
000012	010566  000012 				MOV	R5,12(SP)
000016	010500 					MOV	R5,R0				;					0804
000020	016005  000016 				MOV	16(R0),R5
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  32
X01500		Transmit Complete From NSP			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (9)

000024	070527  000032 				MUL	#32,R5
000030	010501 					MOV	R5,R1
000032	016600  000012 				MOV	12(SP),R0
000036	066001  000046 				ADD	46(R0),R1
000042	016067  000044  000000G			MOV	44(R0),KISAR6			;					0806
000050	012700  000010 				MOV	#10,R0				;					0808
000054	066600  000010 				ADD	10(SP),R0
000060	010066  000006 				MOV	R0,6(SP)
000064	005005 					CLR	R5
000066	151005 					BISB	(R0),R5
000070	060105 					ADD	R1,R5
000072	111505 					MOVB	(R5),R5
000074	042705  177400 				BIC	#177400,R5
000100	070527  000032 				MUL	#32,R5
000104	016600  000012 				MOV	12(SP),R0
000110	066005  000046 				ADD	46(R0),R5
000114	010566  000004 				MOV	R5,4(SP)			; *,LNK
000120	012700  000014 				MOV	#14,R0				;					0809
000124	066600  000010 				ADD	10(SP),R0
000130	010066  000002 				MOV	R0,2(SP)
000134	011046 					MOV	(R0),-(SP)
000136	004767  000000G				JSR	PC,STSMAP
000142	010005 					MOV	R0,R5				; *,STATUS
000144	016600  000012 				MOV	12(SP),R0			;					0810
000150	016066  000004  000002 			MOV	4(R0),2(SP)			; *,LCCB
000156	010203 					MOV	R2,R3				; FCM,*					0813
000160	006203 					ASR	R3
000162	020327  000016 				CMP	R3,#16
000166	101003 					BHI	1$
000170	006303 					ASL	R3
000172	066307  000124'				ADD	P.AAH(R3),PC			; Case dispatch
000176	016616  000006 			1$:	MOV	6(SP),(SP)			; LNK,*					1056
000202	016646  000012 				MOV	12(SP),-(SP)
000206	012746  100014 				MOV	#-77764,-(SP)
000212	012746  000003 				MOV	#3,-(SP)
000216	004767  000000G				JSR	PC,$STOP
000222	012705  177763 				MOV	#-15,R5				; *,STATUS				1059
000226	062706  000006 				ADD	#6,SP				;					1054
000232	000577 					BR	11$				;					0813
000234	127627  000006  000011 		2$:	CMPB	@6(SP),#11			; LNK,*					0825
000242	001514 					BEQ	8$
000244	127627  000006  000013 			CMPB	@6(SP),#13			; LNK,*					0826
000252	001510 					BEQ	8$
000254	127627  000006  000012 			CMPB	@6(SP),#12			; LNK,*					0827
000262	001504 					BEQ	8$
000264	127627  000006  000010 			CMPB	@6(SP),#10			; LNK,*					0828
000272	001500 					BEQ	8$
000274	000463 					BR	7$				;					0829
000276	127627  000006  000007 		3$:	CMPB	@6(SP),#7			; LNK,*					0844
000304	001430 					BEQ	5$
000306	127627  000006  000010 			CMPB	@6(SP),#10			; LNK,*					0845
000314	001420 					BEQ	4$
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  33
X01500		Transmit Complete From NSP			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (9)

000316	127627  000006  000013 			CMPB	@6(SP),#13			; LNK,*					0846
000324	001414 					BEQ	4$
000326	016616  000006 				MOV	6(SP),(SP)			; LNK,*					0847
000332	016646  000012 				MOV	12(SP),-(SP)
000336	012746  100024 				MOV	#-77754,-(SP)
000342	012746  000003 				MOV	#3,-(SP)
000346	004767  000000G				JSR	PC,$STOP
000352	062706  000006 				ADD	#6,SP
000356	127627  000006  000007 		4$:	CMPB	@6(SP),#7			; LNK,*					0850
000364	001131 					BNE	13$
000366	020527  000001 			5$:	CMP	R5,#1				; STATUS,*
000372	001126 					BNE	13$
000374	112776  000014  000006 			MOVB	#14,@6(SP)			; *,LNK					0851
000402	000522 					BR	13$				;					0813
000404	127627  000006  000005 		6$:	CMPB	@6(SP),#5			; LNK,*					0863
000412	001430 					BEQ	8$
000414	127627  000006  000006 			CMPB	@6(SP),#6			; LNK,*					0864
000422	001424 					BEQ	8$
000424	127627  000006  000013 			CMPB	@6(SP),#13			; LNK,*					0865
000432	001420 					BEQ	8$
000434	127627  000006  000010 			CMPB	@6(SP),#10			; LNK,*					0866
000442	001414 					BEQ	8$
000444	016616  000006 			7$:	MOV	6(SP),(SP)			; LNK,*					0867
000450	016646  000012 				MOV	12(SP),-(SP)
000454	012746  100024 				MOV	#-77754,-(SP)
000460	012746  000003 				MOV	#3,-(SP)
000464	004767  000000G				JSR	PC,$STOP
000470	062706  000006 				ADD	#6,SP
000474	016616  000006 			8$:	MOV	6(SP),(SP)			; LNK,*					0870
000500	004767  000000G				JSR	PC,I$CLS
000504	000461 					BR	13$				;					0813
000506	127627  000006  000014 		9$:	CMPB	@6(SP),#14			; LNK,*					0882
000514	001434 					BEQ	10$
000516	127627  000006  000012 			CMPB	@6(SP),#12			; LNK,*					0883
000524	001430 					BEQ	10$
000526	127627  000006  000013 			CMPB	@6(SP),#13			; LNK,*					0884
000534	001424 					BEQ	10$
000536	127627  000006  000010 			CMPB	@6(SP),#10			; LNK,*					0885
000544	001420 					BEQ	10$
000546	127627  000006  000011 			CMPB	@6(SP),#11			; LNK,*					0886
000554	001414 					BEQ	10$
000556	016616  000006 				MOV	6(SP),(SP)			; LNK,*					0887
000562	016646  000012 				MOV	12(SP),-(SP)
000566	012746  100024 				MOV	#-77754,-(SP)
000572	012746  000003 				MOV	#3,-(SP)
000576	004767  000000G				JSR	PC,$STOP
000602	062706  000006 				ADD	#6,SP
000606	020227  000032 			10$:	CMP	R2,#32				; FCM,*					0890
000612	001010 					BNE	12$
000614	016600  000002 				MOV	2(SP),R0			; LCCB,*				0892
000620	016602  000012 				MOV	12(SP),R2
000624	016260  000022  000022 			MOV	22(R2),22(R0)			; *,*(LCCB)
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  34
X01500		Transmit Complete From NSP			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (9)

000632	000406 				11$:	BR	13$				;					0890
000634	020227  000024 			12$:	CMP	R2,#24				; FCM,*
000640	001003 					BNE	13$
000642	042776  020000  000006 			BIC	#20000,@6(SP)			; *,LNK					0893
000650	000167  001156 			13$:	JMP	39$				;					0813
000654	105776  000006 			14$:	TSTB	@6(SP)				; LNK					0909
000660	001773 					BEQ	13$
000662	127627  000006  000010 			CMPB	@6(SP),#10			; LNK,*					0913
000670	001414 					BEQ	15$
000672	016616  000006 				MOV	6(SP),(SP)			; LNK,*					0914
000676	016646  000012 				MOV	12(SP),-(SP)
000702	012746  100024 				MOV	#-77754,-(SP)
000706	012746  000003 				MOV	#3,-(SP)
000712	004767  000000G				JSR	PC,$STOP
000716	062706  000006 				ADD	#6,SP
000722	105076  000006 			15$:	CLRB	@6(SP)				; LNK					0917
000726	042776  177400  000006 			BIC	#177400,@6(SP)			; *,LNK					0918
000734	012700  000026 				MOV	#26,R0				;					0919
000740	066600  000006 				ADD	6(SP),R0			; LNK,*
000744	010003 					MOV	R0,R3
000746	004767  000000G			16$:	JSR	PC,$CMQRM
000752	103416 					BCS	17$
000754	010466  000002 				MOV	R4,2(SP)			; $MCB$R4,LCCB
000760	010400 					MOV	R4,R0				; LCCB,*				0920
000762	112760  000014  000012 			MOVB	#14,12(R0)			; *,*(LCCB)
000770	016601  000006 				MOV	6(SP),R1			; LNK,*
000774	016160  000014  000014 			MOV	14(R1),14(R0)			; *(LNK),*(LCCB)
001002	004767  000000G				JSR	PC,$SCHED
001006	000757 					BR	16$				;					0919
001010	012700  000022 			17$:	MOV	#22,R0				;					0921
001014	066600  000006 				ADD	6(SP),R0			; LNK,*
001020	010003 					MOV	R0,R3
001022	004767  000000G			18$:	JSR	PC,$CMQRM
001026	103440 					BCS	21$
001030	010466  000002 				MOV	R4,2(SP)			; $MCB$R4,LCCB
001034	010400 					MOV	R4,R0				; LCCB,*				0923
001036	126027  000013  000020 			CMPB	13(R0),#20			; *(LCCB),*
001044	001411 					BEQ	19$
001046	126027  000013  000022 			CMPB	13(R0),#22			; *(LCCB),*
001054	001405 					BEQ	19$
001056	016600  000006 				MOV	6(SP),R0			; LNK,*					0924
001062	016005  000014 				MOV	14(R0),R5			; *(LNK),STATUS
001066	000405 					BR	20$				;					0923
001070	017616  000004 			19$:	MOV	@4(SP),(SP)			;					0925
001074	004767  000000G				JSR	PC,STSMAP
001100	010005 					MOV	R0,R5				; *,STATUS
001102	016600  000002 			20$:	MOV	2(SP),R0			; LCCB,*				0926
001106	112760  000014  000012 			MOVB	#14,12(R0)			; *,*(LCCB)
001114	010560  000014 				MOV	R5,14(R0)			; STATUS,*(LCCB)
001120	010004 					MOV	R0,R4				; LCCB,*
001122	004767  000000G				JSR	PC,$SCHED
001126	000735 					BR	18$				;					0921
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  35
X01500		Transmit Complete From NSP			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (9)

001130	016600  000012 			21$:	MOV	12(SP),R0			;					0929
001134	016066  000004  000002 			MOV	4(R0),2(SP)			; *,LCCB
001142	001002 					BNE	22$
001144	000167  000656 				JMP	38$
001150	016600  000002 			22$:	MOV	2(SP),R0			; LCCB,*				0930
001154	112760  000014  000012 			MOVB	#14,12(R0)			; *,*(LCCB)
001162	012760  000001  000014 			MOV	#1,14(R0)			; *,*(LCCB)
001170	000167  000622 				JMP	37$
001174	016600  000012 			23$:	MOV	12(SP),R0			;					0942
001200	016066  000034  000006 			MOV	34(R0),6(SP)			; *,LNK
001206	127627  000006  000001 			CMPB	@6(SP),#1			; LNK,*					0946
001214	001423 					BEQ	25$
001216	127627  000006  000010 			CMPB	@6(SP),#10			; LNK,*					0947
001224	001413 					BEQ	24$
001226	016616  000006 				MOV	6(SP),(SP)			; LNK,*					0948
001232	010046 					MOV	R0,-(SP)
001234	012746  100024 				MOV	#-77754,-(SP)
001240	012746  000003 				MOV	#3,-(SP)
001244	004767  000000G				JSR	PC,$STOP
001250	062706  000006 				ADD	#6,SP
001254	127627  000006  000001 		24$:	CMPB	@6(SP),#1			; LNK,*					0951
001262	001062 					BNE	28$
001264	052776  010000  000006 		25$:	BIS	#10000,@6(SP)			; *,LNK					0954
001272	052776  002000  000014 			BIS	#2000,@14(SP)			;					0955
001300	016600  000006 				MOV	6(SP),R0			; LNK,*					0956
001304	117660  000010  000004 			MOVB	@10(SP),4(R0)			; *,*(LNK)
001312	005000 					CLR	R0				;					0957
001314	157600  000010 				BISB	@10(SP),R0
001320	060001 					ADD	R0,R1
001322	016600  000006 				MOV	6(SP),R0			; LNK,*
001326	116011  000003 				MOVB	3(R0),(R1)			; *(LNK),*
001332	005705 					TST	R5				; STATUS				0958
001334	002016 					BGE	27$
001336	027627  000004  177777 			CMP	@4(SP),#-1			;					0961
001344	001404 					BEQ	26$
001346	010016 					MOV	R0,(SP)				; LNK,*					0962
001350	004767  000000G				JSR	PC,I$CLS
001354	000427 					BR	29$				;					0960
001356	105076  000006 			26$:	CLRB	@6(SP)				; LNK					0965
001362	042776  177400  000006 			BIC	#177400,@6(SP)			; *,LNK					0966
001370	000421 					BR	29$				;					0958
001372	112776  000002  000006 		27$:	MOVB	#2,@6(SP)			; *,LNK					0971
001400	012700  000022 				MOV	#22,R0				;					0972
001404	066600  000006 				ADD	6(SP),R0			; LNK,*
001410	010003 					MOV	R0,R3
001412	016604  000002 				MOV	2(SP),R4			; LCCB,*
001416	004767  000000G				JSR	PC,$CMQIF
001422	005066  000002 				CLR	2(SP)				; LCCB					0973
001426	000402 					BR	29$				;					0951
001430	012705  177767 			28$:	MOV	#-11,R5				; *,STATUS				0977
001434	016602  000012 			29$:	MOV	12(SP),R2			;					0979
001440	016200  000020 				MOV	20(R2),R0
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  36
X01500		Transmit Complete From NSP			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (9)

001444	012701  000156 				MOV	#156,R1
001450	004767  000000G				JSR	PC,$DSRRT
001454	016604  000012 				MOV	12(SP),R4			;					0980
001460	004767  000000G				JSR	PC,$CCBRT
001464	005066  000012 				CLR	12(SP)				;					0981
001470	000562 					BR	40$				;					0813
001472	016600  000012 			30$:	MOV	12(SP),R0			;					0991
001476	016066  000024  000006 			MOV	24(R0),6(SP)			; *,LNK
001504	127627  000006  000003 			CMPB	@6(SP),#3			; LNK,*					0994
001512	001413 					BEQ	31$
001514	016616  000006 				MOV	6(SP),(SP)			; LNK,*					0995
001520	010046 					MOV	R0,-(SP)
001522	012746  100024 				MOV	#-77754,-(SP)
001526	012746  000003 				MOV	#3,-(SP)
001532	004767  000000G				JSR	PC,$STOP
001536	062706  000006 				ADD	#6,SP
001542	016600  000006 			31$:	MOV	6(SP),R0			; LNK,*					0998
001546	117660  000010  000004 			MOVB	@10(SP),4(R0)			; *,*(LNK)
001554	005000 					CLR	R0				;					0999
001556	016602  000006 				MOV	6(SP),R2			; LNK,*
001562	156200  000004 				BISB	4(R2),R0			; *(LNK),*
001566	060001 					ADD	R0,R1
001570	010200 					MOV	R2,R0				; LNK,*
001572	116011  000003 				MOVB	3(R0),(R1)			; *(LNK),*
001576	020527  000001 				CMP	R5,#1				; STATUS,*				1000
001602	001007 					BNE	32$
001604	112712  000004 				MOVB	#4,(R2)				; *,LNK					1003
001610	016601  000014 				MOV	14(SP),R1			;					1004
001614	105261  000006 				INCB	6(R1)
001620	000405 					BR	33$				;					1000
001622	042776  004000  000006 		32$:	BIC	#4000,@6(SP)			; *,LNK					1008
001630	105076  000006 				CLRB	@6(SP)				; LNK					1009
001634	042776  004000  000014 		33$:	BIC	#4000,@14(SP)			;					1012
001642	000471 					BR	38$				;					1013
001644	020527  000001 			34$:	CMP	R5,#1				; STATUS,*				1023
001650	001051 					BNE	35$
001652	012705  000001 				MOV	#1,R5				; *,STATUS				1029
001656	016600  000014 				MOV	14(SP),R0			;					1030
001662	016601  000012 				MOV	12(SP),R1
001666	016160  000024  000010 			MOV	24(R1),10(R0)
001674	016160  000022  000014 			MOV	22(R1),14(R0)			;					1031
001702	011000 					MOV	(R0),R0				; *,OLD.STATE				1032
001704	072027  177770 				ASH	#-10,R0				; *,OLD.STATE
001710	042700  177774 				BIC	#177774,R0			; *,OLD.STATE
001714	042776  001400  000014 			BIC	#1400,@14(SP)			;					1033
001722	010016 					MOV	R0,(SP)				; OLD.STATE,*				1034
001724	010546 					MOV	R5,-(SP)
001726	005046 					CLR	-(SP)
001730	012746  000003 				MOV	#3,-(SP)
001734	012746  000000G				MOV	#NM.SIG,-(SP)
001740	005046 					CLR	-(SP)
001742	016600  000026 				MOV	26(SP),R0
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  37
X01500		Transmit Complete From NSP			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (9)

001746	116016  000004 				MOVB	4(R0),(SP)
001752	004767  000000G				JSR	PC,$CALLE
001756	004767  000000G				JSR	PC,$LTMEN			;					1038
001762	105276  000026 				INCB	@26(SP)				;					1039
001766	062706  000012 				ADD	#12,SP				;					1025
001772	000402 					BR	36$				;					1023
001774	012705  177777 			35$:	MOV	#-1,R5				; *,STATUS				1042
002000	016600  000002 			36$:	MOV	2(SP),R0			; LCCB,*				1044
002004	112760  000022  000012 			MOVB	#22,12(R0)			; *,*(LCCB)
002012	010560  000014 				MOV	R5,14(R0)			; STATUS,*(LCCB)
002016	016604  000002 			37$:	MOV	2(SP),R4			; LCCB,*
002022	004767  000000G				JSR	PC,$SCHED
002026	005066  000002 			38$:	CLR	2(SP)				; LCCB					1045
002032	005766  000012 			39$:	TST	12(SP)				;					1064
002036	001404 				40$:	BEQ	41$
002040	016604  000012 				MOV	12(SP),R4
002044	004767  000000G				JSR	PC,$CCBRT
002050	005766  000002 			41$:	TST	2(SP)				; LCCB					1065
002054	001412 					BEQ	42$
002056	016600  000002 				MOV	2(SP),R0			; LCCB,*
002062	112760  000014  000012 			MOVB	#14,12(R0)			; *,*(LCCB)
002070	010560  000014 				MOV	R5,14(R0)			; STATUS,*(LCCB)
002074	010004 					MOV	R0,R4				; LCCB,*
002076	004767  000000G				JSR	PC,$SCHED
002102	062706  000016 			42$:	ADD	#16,SP				;					0770
002106	000207 					RTS	PC

; Routine Size:  548 words,	Routine Base:  $CODE$ + 2236
; Maximum stack depth per invocation:  13 words


000124						.PSECT	$PLIT$,  RO ,  D  

					P.AAH:						; CASE Table for FCXCP+0172		0813
000124	000000 					.WORD	0				; [1$]
000126	001274 					.WORD	1274				; [30$]
000130	000456 					.WORD	456				; [14$]
000132	000000 					.WORD	0				; [1$]
000134	000776 					.WORD	776				; [23$]
000136	000100 					.WORD	100				; [3$]
000140	000206 					.WORD	206				; [6$]
000142	000036 					.WORD	36				; [2$]
000144	000036 					.WORD	36				; [2$]
000146	000310 					.WORD	310				; [9$]
000150	000310 					.WORD	310				; [9$]
000152	000310 					.WORD	310				; [9$]
000154	000310 					.WORD	310				; [9$]
000156	000310 					.WORD	310				; [9$]
000160	001446 					.WORD	1446				; [34$]
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  38
X01500		Transmit Enable From User			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (10)

;	  1067	%sbttl 'Transmit Enable From User'
;	  1068	routine FCXME (SCDB, CCB, FCM): mcb_db_ccb_mod novalue =
;	  1069	
;	  1070	!++
;	  1071	! FUNCTIONAL DESCRIPTION:
;	  1072	!	This routine is activated by a transmit enable from
;	  1073	!	a System Interface user.
;	  1074	!
;	  1075	! FORMAL PARAMETERS:
;	  1076	!	CCB	CCB to pass to handler routine
;	  1077	!	FCM	Function code modifier
;	  1078	!
;	  1079	! IMPLICIT INPUTS:
;	  1080	!	CCB Contents
;	  1081	!
;	  1082	! IMPLICIT OUTPUTS:
;	  1083	!	None
;	  1084	!
;	  1085	! ROUTINE VALUE:
;	  1086	! COMPLETION CODES:
;	  1087	!	None
;	  1088	!
;	  1089	! SIDE EFFECTS:
;	  1090	!	None
;	  1091	!--
;	  1092	
;	  1093	    begin
;	  1094	    $sc_get_data_base (SCDB);
;	  1095	    map	CCB: ref block field (C_FIELDS);
;	  1096	    local
;	  1097		LNK: ref block field (LLT_FIELDS),
;	  1098		QUE_TO_TAIL,
;	  1099		STATUS;
;	  1100	    bind
;	  1101		LLT = SCDB [SC_LLT_ADDR]: ref blockvector [,L_SIZE] field (LLT_FIELDS);
;	  1102	
;	  1103	    MAP$ (.SCDB [SC_LLT_BIAS]);
;	  1104	    LNK = LLT [.CCB [C_LIX], L_TOP];
;	  1105	    QUE_TO_TAIL = true;
;	  1106	    STATUS = S_SSUC;
;	  1107	
;	  1108	    if .SCDB [SCF_STAT] neq S_ST_ON
;	  1109	    then STATUS = S_ELNS
;	  1110	    else case .FCM^-1 from 0 to S$XHI^-1 of
;	  1111		set
;	  1112	
;	  1113	
;	  1114	
;	  1115		! ************
;	  1116		! ** SX$ABO **
;	  1117		! ************
;	  1118		[S$ABO^-1]:
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  39
X01500		Transmit Enable From User			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (10)

;	  1119		    begin
;	  1120		    ! Locate which LL the user is talking about
;	  1121		    STATUS = S_ENSL;		! Assume no such link
;	  1122		    incr LL from 0 to .SCDB [SC_LINKS]-1 do
;	  1123			begin
;	  1124			LNK = LLT [.LL, L_TOP];
;	  1125			if  (.LNK [L_ULA] eql .CCB [$sub_field (C_PRM1, LO_BYTE)]) and
;	  1126			    (.LNK [L_PIX] eql .CCB [C_PIX]) and
;	  1127			    (.LNK [L_STATE] neq ST_OFF) and
;	  1128			    (.LNK [L_STATE] neq ST_OPN) and
;	  1129			    (.LNK [L_STATE] neq ST_OI)
;	  1130			then
;	  1131			    begin
;	  1132			    STATUS = S_SSUC;		! We have a link
;	  1133			    LNK [L_STS] = S_EABO;	! User abort
;	  1134			    CCB [C_LIX] = .LNK [L_LLA];
;	  1135			    if
;	  1136				begin
;	  1137				(not .LNK [LL_ABTI]) and
;	  1138				((.LNK [L_STATE] eql ST_RUN) or
;	  1139				(.LNK [L_STATE] eql ST_DI) or
;	  1140				(.LNK [L_STATE] eql ST_CA) or
;	  1141				(.LNK [L_STATE] eql ST_CID) or
;	  1142				(.LNK [L_STATE] eql ST_DIR) or
;	  1143				not (.LNK [L_STATE] eql ST_CIS))
;	  1144				end
;	  1145			    then
;	  1146				begin
;	  1147				local
;	  1148				    LCCB;
;	  1149				if .LNK [L_STATE] neq ST_DIR
;	  1150				then
;	  1151				    begin
;	  1152				    LNK [LL_KLOK] = false;
;	  1153				    LNK [LL_ABTI] = true		! Abort started
;	  1154				    end;
;	  1155	
;	  1156				! *** Now to free queued input CCBs
;	  1157				while CMQRM$ (LNK [L_IQUE], LCCB) do $SC_DO_RCE (.LCCB)
;	  1158				end
;	  1159			    else
;	  1160				STATUS = (if .LNK [L_STATE] eql ST_CLI then S_ENOF else S_ELWS);
;	  1161	
;	  1162			    exitloop
;	  1163			    end
;	  1164			end;
;	  1165	
;	  1166		    QUE_TO_TAIL = false
;	  1167		    end;
;	  1168	
;	  1169	
;	  1170	
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  40
X01500		Transmit Enable From User			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (10)

;	  1171		! *********************
;	  1172		! ** SX$ACC & SX$REJ **
;	  1173		! *********************
;	  1174		[S$ACC^-1, S$REJ^-1]:
;	  1175		    begin
;	  1176		    if (.LNK [L_STATE] eql ST_CRA) and 	not .LNK [LL_ABTI]
;	  1177		    then
;	  1178			begin
;	  1179			if .FCM eql S$REJ then LNK [LL_ABTI] = true;
;	  1180			LNK [LL_KLOK] = false
;	  1181			end
;	  1182		    else
;	  1183			STATUS = (if .LNK [L_STATE] eql ST_CLI then S_ENOF else S_ELWS)
;	  1184		    end;
;	  1185	
;	  1186	
;	  1187	
;	  1188		! ************
;	  1189		! ** SX$CON **
;	  1190		! ************
;	  1191		[S$CON^-1]:
;	  1192		    begin
;	  1193		    local
;	  1194			LL;
;	  1195	
;	  1196		    if FINDLL (LL)			! Get logical link
;	  1197		    then
;	  1198		    ! We have found an available LL, so enqueue CCB,
;	  1199		    ! record user link address, determine destination
;	  1200		    ! node address, and  call the resource-wait routine.
;	  1201			begin
;	  1202			LNK = LLT [.LL, L_TOP];		! Record link block address
;	  1203			LNK [L_ULA] = .CCB [C_PRM1];	! Set ULA
;	  1204			LNK [L_PIX] = .CCB [C_PIX];	! Remember user PIX
;	  1205			CCB [C_LIX] = .LL;		! Tell user the LLA
;	  1206	
;	  1207			if FINDND (.CCB, .LNK)		! Find the node
;	  1208			then LNK [LL_BUSY] = true	! Mark the link in-use
;	  1209			else STATUS = S_EUNN
;	  1210			end
;	  1211		    else
;	  1212			STATUS = S_ERES			! No logical links available
;	  1213		    end;
;	  1214	
;	  1215	
;	  1216	
;	  1217		! ************
;	  1218		! ** SX$DIS **
;	  1219		! ************
;	  1220		[S$DIS^-1]:
;	  1221		    begin
;	  1222		    if	(not (
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  41
X01500		Transmit Enable From User			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (10)

;	  1223			(.LNK [L_STATE] eql ST_RUN) or
;	  1224			(.LNK [L_STATE] eql ST_DIR))) or
;	  1225			(.LNK [LL_ACDW] neq 0)
;	  1226		    then
;	  1227			STATUS = (if .LNK [L_STATE] eql ST_CLI then S_ENOF else S_ELWS)
;	  1228		    else
;	  1229			begin
;	  1230			if .LNK [L_STATE] neq ST_DIR
;	  1231			then LNK [LL_DSCI] = true
;	  1232			end
;	  1233		    end;
;	  1234	
;	  1235	
;	  1236	
;	  1237		! ******************************
;	  1238		! ** SX$DRQ & SX$IRQ & SX$MRQ **
;	  1239		! ******************************
;	  1240		[S$DRQ^-1, S$IRQ^-1, S$MRQ^-1]:
;	  1241		    begin
;	  1242		    if (not
;	  1243			((.LNK [L_STATE] eql ST_RUN) or
;	  1244			(.LNK [L_STATE] eql ST_DI))) or
;	  1245			(.LNK [LL_ABTI] neq 0)
;	  1246		    then
;	  1247			STATUS = (if .LNK [L_STATE] eql ST_CLI then S_ENOF else S_ELWS)
;	  1248		    else
;	  1249			begin
;	  1250			if .FCM eql S$IRQ
;	  1251			then
;	  1252			    begin
;	  1253			    CMQIF$ (LNK [L_INTQ], .CCB);
;	  1254			    $SC_DISPATCH_OUTPUT (LNK [L_INTQ]);
;	  1255			    return
;	  1256			    end
;	  1257			end
;	  1258		    end;
;	  1259	
;	  1260	
;	  1261	
;	  1262		! ************
;	  1263		! ** SX$GLN **
;	  1264		! ************
;	  1265		[S$GLN^-1]:
;	  1266		    begin
;	  1267		    local
;	  1268			PTR,
;	  1269			DPTR,
;	  1270			LPTR,
;	  1271			TMP,
;	  1272			NAML,
;	  1273			BUF: vector [NODE_ENTITY_LEN];
;	  1274	
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  42
X01500		Transmit Enable From User			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (10)

;	  1275		    if .CCB [C_CNT] lss 9
;	  1276		    then
;	  1277			begin
;	  1278			$SC_DO_XCP (.CCB, S_ELST);
;	  1279			return
;	  1280			end;
;	  1281	
;	  1282		    PTR = byt$ptr (BUF);
;	  1283	
;	  1284		    case .CCB [C_PRM1] from 0 to 3 of
;	  1285			set
;	  1286	
;	  1287			[0, 1, 3]:
;	  1288			    begin
;	  1289			    LPTR = .PTR;
;	  1290			    TMP = (if .CCB [C_PRM1] eql 3 then .SCDB [SC_HADDR] else .SCDB [SC_LADDR]);
;	  1291			    byt$short_string (TMP, LPTR);	! Specify our node addr
;	  1292			    ch$wchar_a (0, LPTR)		! Zero length name
;	  1293			    end;
;	  1294	
;	  1295			[2]:
;	  1296			    MFBF$S (9, .CCB [C_BIAS], .CCB [C_ADDR], .PTR);
;	  1297	
;	  1298			[outrange]:
;	  1299			    begin
;	  1300			    $SC_DO_XCP (.CCB, S_EERR);
;	  1301			    return
;	  1302			    end;
;	  1303			tes;
;	  1304	
;	  1305		    CALL$E (NM_NOD, .SCDB [SC_SNPIX], .PTR);
;	  1306		    LPTR = .PTR;				! Now, look at address
;	  1307		    byt$string_short (LPTR, TMP);		! ...
;	  1308		    if .TMP eql -1
;	  1309		    then
;	  1310			begin
;	  1311			$SC_DO_XCP (.CCB, S_EUNN);		! Zero means no findum
;	  1312			return
;	  1313			end;
;	  1314	
;	  1315		    NAML = ch$rchar_a (LPTR);			! Get name length
;	  1316		    MAP$ (.CCB [C_BIAS]);
;	  1317		    DPTR = .CCB [C_ADDR];
;	  1318	
;	  1319		    case .CCB [C_PRM1] from 0 to 3 of
;	  1320			set
;	  1321	
;	  1322			[0]:
;	  1323			    begin
;	  1324			    local
;	  1325				DPTR;
;	  1326			    DPTR = ch$move (.NAML, .LPTR, .DPTR);
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  43
X01500		Transmit Enable From User			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (10)

;	  1327			    DPTR = ch$fill (%c' ', (6 - .NAML), .DPTR);
;	  1328			    TMP = .SCDB [SC_SSIZE];
;	  1329			    byt$short_string (TMP, DPTR)
;	  1330			    end;
;	  1331	
;	  1332			[1, 2, 3]:
;	  1333			    DPTR = ch$move (.NAML + 3, .PTR, .DPTR);
;	  1334	
;	  1335			tes;
;	  1336	
;	  1337		    CCB [C_CNT] = ch$diff (.DPTR, .CCB [C_ADDR]);
;	  1338		    $SC_DO_XCP (.CCB, S_SSUC);
;	  1339		    return
;	  1340		    end;
;	  1341	
;	  1342	
;	  1343	
;	  1344		! *********************
;	  1345		! ** SX$SND & SX$SNI **
;	  1346		! *********************
;	  1347		[S$SND^-1, S$SNI^-1]:
;	  1348		    begin
;	  1349		    if	(.LNK [L_STATE] eql ST_RUN) and
;	  1350			(.LNK [LL_ACDW] eql 0)
;	  1351		    then
;	  1352			begin
;	  1353			if .FCM eql S$SNI
;	  1354			then
;	  1355			    begin
;	  1356			    CMQIN$ (LNK [L_INTQ], .CCB);
;	  1357			    $SC_DISPATCH_OUTPUT (LNK [L_INTQ]);
;	  1358			    return
;	  1359			    end
;	  1360			end
;	  1361		    else
;	  1362			STATUS = (if .LNK [L_STATE] eql ST_CLI then S_ENOF else S_ELWS)
;	  1363		    end;
;	  1364	
;	  1365	
;	  1366	
;	  1367		! ************
;	  1368		! ** SX$ERR **
;	  1369		! ************
;	  1370		[outrange, inrange]: STATUS = S_EERR;
;	  1371	
;	  1372		tes;
;	  1373	
;	  1374	
;	  1375	
;	  1376	    if .STATUS neq S_SSUC then $SC_DO_XCP (.CCB, .STATUS)
;	  1377	    else
;	  1378		begin
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  44
X01500		Transmit Enable From User			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (10)

;	  1379		if .QUE_TO_TAIL
;	  1380		then CMQIN$ (LNK [L_OQUE], .CCB)
;	  1381		else CMQIF$ (LNK [L_OQUE], .CCB);
;	  1382		$SC_DISPATCH_OUTPUT (LNK [L_OQUE])
;	  1383		end
;	  1384	    end;


						.GLOBL	$MVFBF, NM.NOD


						.SBTTL	FCXME Transmit Enable From User
004346						.PSECT	$CODE$,  RO 

000000	162706  000032 			FCXME:	SUB	#32,SP				;					1068
000004	010302 					MOV	R3,R2				; *,FCM
000006	010466  000006 				MOV	R4,6(SP)
000012	010566  000004 				MOV	R5,4(SP)
000016	010500 					MOV	R5,R0				;					1103
000020	016067  000044  000000G			MOV	44(R0),KISAR6
000026	016005  000046 				MOV	46(R0),R5			;					1104
000032	012700  000010 				MOV	#10,R0
000036	060400 					ADD	R4,R0
000040	010066  000010 				MOV	R0,10(SP)
000044	005003 					CLR	R3
000046	151003 					BISB	(R0),R3
000050	070327  000032 				MUL	#32,R3
000054	060503 					ADD	R5,R3
000056	010366  000002 				MOV	R3,2(SP)			; *,LNK
000062	012766  000001  000012 			MOV	#1,12(SP)			; *,QUE.TO.TAIL				1105
000070	012701  000001 				MOV	#1,R1				; *,STATUS				1106
000074	032776  001400  000004 			BIT	#1400,@4(SP)			;					1108
000102	001403 					BEQ	1$
000104	012701  177765 				MOV	#-13,R1				; *,STATUS				1109
000110	000575 					BR	13$				;					1108
000112	010203 				1$:	MOV	R2,R3				; FCM,*					1110
000114	006203 					ASR	R3
000116	020327  000012 				CMP	R3,#12
000122	101003 					BHI	2$
000124	006303 					ASL	R3
000126	066307  000162'				ADD	P.AAI(R3),PC			; Case dispatch
000132	012701  177763 			2$:	MOV	#-15,R1				; *,STATUS				1370
000136	000562 					BR	13$				;					1110
000140	012701  177756 			3$:	MOV	#-22,R1				; *,STATUS				1121
000144	005000 					CLR	R0				; LL					1122
000146	000547 					BR	11$
000150	010003 				4$:	MOV	R0,R3				; LL,*					1124
000152	070327  000032 				MUL	#32,R3
000156	060503 					ADD	R5,R3
000160	010366  000002 				MOV	R3,2(SP)			; *,LNK
000164	016602  000006 				MOV	6(SP),R2			;					1125
000170	126362  000002  000024 			CMPB	2(R3),24(R2)			; *(LNK),*
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  45
X01500		Transmit Enable From User			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (10)

000176	001132 					BNE	10$
000200	017603  000010 				MOV	@10(SP),R3			;					1126
000204	105003 					CLRB	R3
000206	000303 					SWAB	R3
000210	005002 					CLR	R2
000212	016604  000002 				MOV	2(SP),R4			; LNK,*
000216	156402  000005 				BISB	5(R4),R2			; *(LNK),*
000222	020203 					CMP	R2,R3
000224	001117 					BNE	10$
000226	105714 					TSTB	(R4)				; LNK					1127
000230	001515 					BEQ	10$
000232	121427  000004 				CMPB	(R4),#4				; LNK,*					1128
000236	001512 					BEQ	10$
000240	121427  000003 				CMPB	(R4),#3				; LNK,*					1129
000244	001507 					BEQ	10$
000246	012701  000001 				MOV	#1,R1				; *,STATUS				1132
000252	010402 					MOV	R4,R2				; LNK,*					1133
000254	012762  177767  000014 			MOV	#-11,14(R2)			; *,*(LNK)
000262	116276  000003  000010 			MOVB	3(R2),@10(SP)			; *(LNK),*				1134
000270	032776  000400  000002 			BIT	#400,@2(SP)			; *,LNK					1137
000276	001060 					BNE	8$
000300	127627  000002  000014 			CMPB	@2(SP),#14			; LNK,*					1138
000306	001423 					BEQ	5$
000310	127627  000002  000012 			CMPB	@2(SP),#12			; LNK,*					1139
000316	001417 					BEQ	5$
000320	127627  000002  000007 			CMPB	@2(SP),#7			; LNK,*					1140
000326	001413 					BEQ	5$
000330	127627  000002  000002 			CMPB	@2(SP),#2			; LNK,*					1141
000336	001407 					BEQ	5$
000340	127627  000002  000013 			CMPB	@2(SP),#13			; LNK,*					1142
000346	001415 					BEQ	6$
000350	127601  000002 				CMPB	@2(SP),R1			; LNK,*					1143
000354	001431 					BEQ	8$
000356	127627  000002  000013 		5$:	CMPB	@2(SP),#13			; LNK,*					1149
000364	001406 					BEQ	6$
000366	042776  010000  000002 			BIC	#10000,@2(SP)			; *,LNK					1152
000374	052776  000400  000002 			BIS	#400,@2(SP)			; *,LNK					1153
000402	012702  000016 			6$:	MOV	#16,R2				;					1157
000406	066602  000002 				ADD	2(SP),R2			; LNK,*
000412	010203 					MOV	R2,R3
000414	004767  000000G			7$:	JSR	PC,$CMQRM
000420	103427 					BCS	12$
000422	010402 					MOV	R4,R2				; $MCB$R4,LCCB
000424	112762  000004  000012 			MOVB	#4,12(R2)			; *,*(LCCB)
000432	004767  000000G				JSR	PC,$SCHED
000436	000766 					BR	7$
000440	127627  000002  000010 		8$:	CMPB	@2(SP),#10			; LNK,*					1160
000446	001003 					BNE	9$
000450	012701  177732 				MOV	#-46,R1				; *,STATUS
000454	000411 					BR	12$
000456	012701  177760 			9$:	MOV	#-20,R1				; *,STATUS
000462	000406 					BR	12$				;					1162
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  46
X01500		Transmit Enable From User			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (10)

000464	005200 				10$:	INC	R0				; LL					1122
000466	016602  000004 			11$:	MOV	4(SP),R2
000472	020062  000016 				CMP	R0,16(R2)			; LL,*
000476	002624 					BLT	4$
000500	005066  000012 			12$:	CLR	12(SP)				; QUE.TO.TAIL				1166
000504	000540 				13$:	BR	24$				;					1110
000506	127627  000002  000006 		14$:	CMPB	@2(SP),#6			; LNK,*					1176
000514	001016 					BNE	16$
000516	032776  000400  000002 			BIT	#400,@2(SP)			; *,LNK
000524	001012 					BNE	16$
000526	020227  000004 				CMP	R2,#4				; FCM,*					1179
000532	001003 					BNE	15$
000534	052776  000400  000002 			BIS	#400,@2(SP)			; *,LNK
000542	042776  010000  000002 		15$:	BIC	#10000,@2(SP)			; *,LNK					1180
000550	000516 					BR	24$				;					1175
000552	127627  000002  000010 		16$:	CMPB	@2(SP),#10			; LNK,*					1183
000560	001133 					BNE	28$
000562	000535 					BR	29$
000564	012746  000020 			17$:	MOV	#20,-(SP)			;					1196
000570	060616 					ADD	SP,(SP)				; LL,*
000572	004767  000000G				JSR	PC,FINDLL
000576	005726 					TST	(SP)+
000600	006000 					ROR	R0
000602	103046 					BCC	19$
000604	016603  000016 				MOV	16(SP),R3			; LL,*					1202
000610	070327  000032 				MUL	#32,R3
000614	060503 					ADD	R5,R3
000616	010366  000002 				MOV	R3,2(SP)			; *,LNK
000622	010300 					MOV	R3,R0				; LNK,*					1203
000624	016602  000006 				MOV	6(SP),R2
000630	116260  000024  000002 			MOVB	24(R2),2(R0)			; *,*(LNK)
000636	017600  000010 				MOV	@10(SP),R0			;					1204
000642	000300 					SWAB	R0
000644	010302 					MOV	R3,R2				; LNK,*
000646	110062  000005 				MOVB	R0,5(R2)			; *,*(LNK)
000652	116676  000016  000010 			MOVB	16(SP),@10(SP)			; LL,*					1205
000660	016646  000006 				MOV	6(SP),-(SP)			;					1207
000664	016646  000004 				MOV	4(SP),-(SP)			; LNK,*
000670	004767  000000G				JSR	PC,FINDND
000674	022626 					CMP	(SP)+,(SP)+
000676	006000 					ROR	R0
000700	103004 					BCC	18$
000702	052776  004000  000002 			BIS	#4000,@2(SP)			; *,LNK					1208
000710	000436 					BR	24$				;					1207
000712	012701  177776 			18$:	MOV	#-2,R1				; *,STATUS				1209
000716	000433 					BR	24$				;					1196
000720	012701  177777 			19$:	MOV	#-1,R1				; *,STATUS				1212
000724	000430 					BR	24$				;					1110
000726	127627  000002  000014 		20$:	CMPB	@2(SP),#14			; LNK,*					1223
000734	001404 					BEQ	21$
000736	127627  000002  000013 			CMPB	@2(SP),#13			; LNK,*					1224
000744	001004 					BNE	22$
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  47
X01500		Transmit Enable From User			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (10)

000746	032776  003400  000002 		21$:	BIT	#3400,@2(SP)			; *,LNK					1225
000754	001405 					BEQ	23$
000756	127627  000002  000010 		22$:	CMPB	@2(SP),#10			; LNK,*					1227
000764	001031 					BNE	28$
000766	000433 					BR	29$
000770	127627  000002  000013 		23$:	CMPB	@2(SP),#13			; LNK,*					1230
000776	001403 					BEQ	24$
001000	052776  002000  000002 			BIS	#2000,@2(SP)			; *,LNK					1231
001006	000167  001052 			24$:	JMP	49$				;					1110
001012	127627  000002  000014 		25$:	CMPB	@2(SP),#14			; LNK,*					1243
001020	001404 					BEQ	26$
001022	127627  000002  000012 			CMPB	@2(SP),#12			; LNK,*					1244
001030	001004 					BNE	27$
001032	032776  000400  000002 		26$:	BIT	#400,@2(SP)			; *,LNK					1245
001040	001410 					BEQ	30$
001042	127627  000002  000010 		27$:	CMPB	@2(SP),#10			; LNK,*					1247
001050	001402 				28$:	BEQ	29$
001052	000167  001002 				JMP	48$
001056	000167  000770 			29$:	JMP	47$
001062	020227  000016 			30$:	CMP	R2,#16				; FCM,*					1250
001066	001347 					BNE	24$
001070	012700  000026 				MOV	#26,R0				;					1253
001074	066600  000002 				ADD	2(SP),R0			; LNK,*
001100	010003 					MOV	R0,R3
001102	016604  000006 				MOV	6(SP),R4
001106	004767  000000G				JSR	PC,$CMQIF
001112	005713 					TST	(R3)				;					1254
001114	001002 					BNE	31$
001116	000167  001072 				JMP	56$
001122	000167  001042 			31$:	JMP	55$
001126	016600  000006 			32$:	MOV	6(SP),R0			;					1275
001132	026027  000022  000011 			CMP	22(R0),#11
001140	002007 					BGE	33$
001142	112760  000014  000012 			MOVB	#14,12(R0)			;					1278
001150	012760  177761  000014 			MOV	#-17,14(R0)
001156	000425 					BR	35$
001160	012716  000020 			33$:	MOV	#20,(SP)			; *,PTR					1282
001164	060616 					ADD	SP,(SP)				; BUF,PTR
001166	016602  000006 				MOV	6(SP),R2			;					1284
001172	016200  000024 				MOV	24(R2),R0
001176	020027  000003 				CMP	R0,#3
001202	101003 					BHI	34$
001204	006300 					ASL	R0
001206	066007  000210'				ADD	P.AAJ(R0),PC			; Case dispatch
001212	016600  000006 			34$:	MOV	6(SP),R0			;					1300
001216	112760  000014  000012 			MOVB	#14,12(R0)
001224	012760  177763  000014 			MOV	#-15,14(R0)
001232	000167  000652 			35$:	JMP	50$
001236	011666  000010 			36$:	MOV	(SP),10(SP)			; PTR,LPTR				1289
001242	016600  000006 				MOV	6(SP),R0			;					1290
001246	026027  000024  000003 			CMP	24(R0),#3
001254	001005 					BNE	37$
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  48
X01500		Transmit Enable From User			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (10)

001256	016600  000004 				MOV	4(SP),R0
001262	016005  000012 				MOV	12(R0),R5
001266	000404 					BR	38$
001270	016600  000004 			37$:	MOV	4(SP),R0
001274	016005  000010 				MOV	10(R0),R5
001300	010566  000014 			38$:	MOV	R5,14(SP)			; *,TMP
001304	010500 					MOV	R5,R0				; TMP,NUM				1291
001306	110076  000010 				MOVB	R0,@10(SP)			; NUM,LPTR
001312	005266  000010 				INC	10(SP)				; LPTR
001316	000300 					SWAB	R0				; NUM
001320	110076  000010 				MOVB	R0,@10(SP)			; NUM,LPTR
001324	005266  000010 				INC	10(SP)				; LPTR
001330	105076  000010 				CLRB	@10(SP)				; LPTR					1292
001334	005266  000010 				INC	10(SP)				; LPTR
001340	000415 					BR	40$				;					1284
001342	016600  000006 			39$:	MOV	6(SP),R0			;					1296
001346	016046  000016 				MOV	16(R0),-(SP)
001352	016046  000020 				MOV	20(R0),-(SP)
001356	016602  000004 				MOV	4(SP),R2			; PTR,*
001362	012703  000011 				MOV	#11,R3
001366	004767  000000G				JSR	PC,$MVFBF
001372	022626 					CMP	(SP)+,(SP)+
001374	011646 				40$:	MOV	(SP),-(SP)			; PTR,*					1305
001376	012746  000001 				MOV	#1,-(SP)
001402	012746  000000G				MOV	#NM.NOD,-(SP)
001406	005046 					CLR	-(SP)
001410	016600  000014 				MOV	14(SP),R0
001414	116016  000004 				MOVB	4(R0),(SP)
001420	004767  000000G				JSR	PC,$CALLE
001424	016666  000010  000020 			MOV	10(SP),20(SP)			; PTR,LPTR				1306
001432	005266  000020 				INC	20(SP)				; LPTR					1307
001436	016600  000020 				MOV	20(SP),R0			; LPTR,*
001442	116066  177777  000024 			MOVB	-1(R0),24(SP)			; *(LPTR),TMP
001450	005266  000020 				INC	20(SP)				; LPTR
001454	016600  000020 				MOV	20(SP),R0			; LPTR,*
001460	116066  177777  000025 			MOVB	-1(R0),25(SP)			; *(LPTR),TMP+1
001466	026627  000024  177777 			CMP	24(SP),#-1			; TMP,*					1308
001474	001016 					BNE	41$
001476	016600  000016 				MOV	16(SP),R0			;					1311
001502	112760  000014  000012 			MOVB	#14,12(R0)
001510	012760  177776  000014 			MOV	#-2,14(R0)
001516	010004 					MOV	R0,R4
001520	004767  000000G				JSR	PC,$SCHED
001524	062706  000010 				ADD	#10,SP				;					1308
001530	000573 					BR	51$				;					1310
001532	005266  000020 			41$:	INC	20(SP)				; LPTR					1315
001536	005002 					CLR	R2				; NAML
001540	016600  000020 				MOV	20(SP),R0			; LPTR,*
001544	156002  177777 				BISB	-1(R0),R2			; *(LPTR),NAML
001550	016600  000016 				MOV	16(SP),R0			;					1316
001554	016067  000016  000000G			MOV	16(R0),KISAR6
001562	016004  000020 				MOV	20(R0),R4			; *,DPTR				1317
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  49
X01500		Transmit Enable From User			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (10)

001566	010003 					MOV	R0,R3				;					1319
001570	016300  000024 				MOV	24(R3),R0
001574	006300 					ASL	R0
001576	066007  000220'				ADD	P.AAK(R0),PC			; Case dispatch
001602	010216 				42$:	MOV	R2,(SP)				; NAML,*				1326
001604	016646  000020 				MOV	20(SP),-(SP)			; LPTR,*
001610	010346 					MOV	R3,-(SP)			; DPTR,*
001612	004767  000000G				JSR	PC,BL$MOV
001616	010003 					MOV	R0,R3				; *,DPTR
001620	012716  000040 				MOV	#40,(SP)			;					1327
001624	012746  000006 				MOV	#6,-(SP)
001630	160216 					SUB	R2,(SP)				; NAML,*
001632	010346 					MOV	R3,-(SP)			; DPTR,*
001634	004767  000000G				JSR	PC,BL$FIL
001640	010003 					MOV	R0,R3				; *,DPTR
001642	016600  000024 				MOV	24(SP),R0			;					1328
001646	016066  000014  000034 			MOV	14(R0),34(SP)			; *,TMP
001654	016600  000034 				MOV	34(SP),R0			; TMP,NUM				1329
001660	110023 					MOVB	R0,(R3)+			; NUM,DPTR
001662	000300 					SWAB	R0				; NUM
001664	110023 					MOVB	R0,(R3)+			; NUM,DPTR
001666	022626 					CMP	(SP)+,(SP)+			;					1323
001670	000411 					BR	44$				;					1319
001672	010216 				43$:	MOV	R2,(SP)				; NAML,*				1333
001674	062716  000003 				ADD	#3,(SP)
001700	016646  000010 				MOV	10(SP),-(SP)			; PTR,*
001704	010446 					MOV	R4,-(SP)			; DPTR,*
001706	004767  000000G				JSR	PC,BL$MOV
001712	010004 					MOV	R0,R4				; *,DPTR
001714	016600  000022 			44$:	MOV	22(SP),R0			;					1337
001720	010460  000022 				MOV	R4,22(R0)			; DPTR,*
001724	010002 					MOV	R0,R2
001726	166260  000020  000022 			SUB	20(R2),22(R0)
001734	112760  000014  000012 			MOVB	#14,12(R0)			;					1338
001742	012760  000001  000014 			MOV	#1,14(R0)
001750	010204 					MOV	R2,R4
001752	004767  000000G				JSR	PC,$SCHED
001756	062706  000014 				ADD	#14,SP				;					1110
001762	000514 					BR	56$				;					1266
001764	127627  000002  000014 		45$:	CMPB	@2(SP),#14			; LNK,*					1349
001772	001023 					BNE	46$
001774	032776  003400  000002 			BIT	#3400,@2(SP)			; *,LNK					1350
002002	001017 					BNE	46$
002004	020227  000014 				CMP	R2,#14				; FCM,*					1353
002010	001025 					BNE	49$
002012	012700  000026 				MOV	#26,R0				;					1356
002016	066600  000002 				ADD	2(SP),R0			; LNK,*
002022	010003 					MOV	R0,R3
002024	016604  000006 				MOV	6(SP),R4
002030	004767  000000G				JSR	PC,$CMQIN
002034	005713 					TST	(R3)				;					1357
002036	001466 					BEQ	56$
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  50
X01500		Transmit Enable From User			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (10)

002040	000453 					BR	55$
002042	127627  000002  000010 		46$:	CMPB	@2(SP),#10			; LNK,*					1362
002050	001003 					BNE	48$
002052	012701  177732 			47$:	MOV	#-46,R1				; *,STATUS
002056	000402 					BR	49$
002060	012701  177760 			48$:	MOV	#-20,R1				; *,STATUS
002064	020127  000001 			49$:	CMP	R1,#1				; STATUS,*				1376
002070	001414 					BEQ	52$
002072	016600  000006 				MOV	6(SP),R0
002076	112760  000014  000012 			MOVB	#14,12(R0)
002104	010160  000014 				MOV	R1,14(R0)			; STATUS,*
002110	016604  000006 			50$:	MOV	6(SP),R4
002114	004767  000000G				JSR	PC,$SCHED
002120	000435 				51$:	BR	56$
002122	016603  000002 			52$:	MOV	2(SP),R3			; LNK,*					1380
002126	062703  000022 				ADD	#22,R3
002132	032766  000001  000012 			BIT	#1,12(SP)			; *,QUE.TO.TAIL				1379
002140	001405 					BEQ	53$
002142	016604  000006 				MOV	6(SP),R4			;					1380
002146	004767  000000G				JSR	PC,$CMQIN
002152	000404 					BR	54$				;					1379
002154	016604  000006 			53$:	MOV	6(SP),R4			;					1381
002160	004767  000000G				JSR	PC,$CMQIF
002164	005713 				54$:	TST	(R3)				;					1382
002166	001412 					BEQ	56$
002170	011300 				55$:	MOV	(R3),R0
002172	116000  000013 				MOVB	13(R0),R0
002176	042700  177400 				BIC	#177400,R0
002202	016646  000002 				MOV	2(SP),-(SP)			; LNK,*
002206	004770  000040'				JSR	PC,@XMEWT(R0)
002212	005726 					TST	(SP)+
002214	062706  000032 			56$:	ADD	#32,SP				;					1068
002220	000207 					RTS	PC

; Routine Size:  585 words,	Routine Base:  $CODE$ + 4346
; Maximum stack depth per invocation:  22 words


000162						.PSECT	$PLIT$,  RO ,  D  

					P.AAI:						; CASE Table for FCXME+0126		1110
000162	000432 					.WORD	432				; [17$]
000164	000354 					.WORD	354				; [14$]
000166	000354 					.WORD	354				; [14$]
000170	001632 					.WORD	1632				; [45$]
000172	000660 					.WORD	660				; [25$]
000174	000660 					.WORD	660				; [25$]
000176	001632 					.WORD	1632				; [45$]
000200	000660 					.WORD	660				; [25$]
000202	000574 					.WORD	574				; [20$]
000204	000006 					.WORD	6				; [3$]
000206	000774 					.WORD	774				; [32$]
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  51
X01500		Transmit Enable From User			27-Nov-1984 13:18:37	RATS:<BANKS.MCB.SC>SCDSP.BLI.2 (10)


					P.AAJ:						; CASE Table for FCXME+1206		1284
000210	000024 					.WORD	24				; [36$]
000212	000024 					.WORD	24				; [36$]
000214	000130 					.WORD	130				; [39$]
000216	000024 					.WORD	24				; [36$]

					P.AAK:						; CASE Table for FCXME+1576		1319
000220	000000 					.WORD	0				; [42$]
000222	000070 					.WORD	70				; [43$]
000224	000070 					.WORD	70				; [43$]
000226	000070 					.WORD	70				; [43$]



;	  1385	
;	  1386	end
;	  1387	eludom



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


;					PSECT SUMMARY
;
;	Psect Name			Words	  Attributes
;	 $PLIT$				   76	    RO ,  D  ,  LCL,  REL,  CON
;	 $CODE$				 1724	    RO ,  I  ,  LCL,  REL,  CON




;				LIBRARY STATISTICS
;
;					     -------- Symbols --------    Blocks
;	File				     Total    Loaded   Percent      Read
;
;  RATS:<BANKS.MCB.SC>SCPRM.L16.6	       262        95        36         0
;  RATS:<BANKS.MCB.MCB>MCBLIB.L16.6	       372        62        16         0
;  RATS:<BANKS.MCB.MCB>RSXLIB.L16.5	       317         0         0         0
;  RATS:<BANKS.MCB.MCB>NMXLIB.L16.5	       200         4         2         0
;  RATS:<BANKS.MCB.MCB>XPORTX.L16.10	       599         8         1         0
;  RATS:<BANKS.MCB.MCB>SCSYS.L16.5	       113        32        28         0





; Size:		1724 code + 76 data words
; Run Time:	00:34.8
SCDSP								27-Nov-1984 13:23:09	TOPS-20 Bliss-16 2A(530)	    Page  52
X01500		Transmit Enable From User						

; Elapsed Time:	03:04.3
; Memory Used:	100 pages
; Compilation Complete
BLISS36				 255
BUF				1273	1282
BYT$PTR				 590	 594	1282
BYT$SHORT_STRING		 595	1291	1329
BYT$STRING_SHORT		1307
BYT$TINY_STRING			 596
BYTES_WORD			 573
BYTE_VECTOR			 398	 804
CALL$E				 360	1034	1305
CB_SIZE				 573
CCB				 330	 358	 360	 363	 391	 401	 416	 419	 421	 441	 444	 445
				 447	 449	 452	 466	 470	 471	 486	 496	 502	 512	 519	 546
				 554	 555	 570	 573	 578	 581	 583	 590#	 591	 592#	 593#	 594
				 595	 597#	 598	 617	 630	 641	 647	 650	 677	 770	 797	 808
				 809	 810	 829	 847	 867	 887	 892	 914	 925	 929	 942	 948
				 956	 957	 961	 979	 980	 981#	 991	 995	 998	1030	1031	1056
				1064	1068	1095	1104	1125	1126	1134#	1203	1204	1205#	1207	1253
				1275	1278	1284	1290	1296	1300	1311	1316	1317	1319	1337#	1338
				1356	1376	1380	1381
CCBRT$				 583	 647	 980	1064
CMQIF$				 419	 471	 502	 972	1253	1381
CMQIN$				 470	1356	1380
CMQRM$				 439	 501	 919	 921	1157
CNT				 437	 445#	 446
C_ADDR				 447	 573	 590	 979	1296	1317	1337
C_BIAS				 444	1296	1316
C_CNT				 445	 597	 892	1031	1275	1337
C_FIELDS			 358	 391	 394	 546	 548	 677	 696	 797	 800	1095
C_LIX				 401	 554	 808	 956	 957	 998	1104	1134	1205
C_MOD				 923
C_PIX				 581	1126	1204
C_PRM1				 421	 590	 594	 991	1030	1125	1203	1284	1290	1319
C_PRM2				 448
C_PRM3				 448
C_PRM4				 446	 448
C_PRM5				 942
C_STK				 555	 810	 929
C_STS				 441	 449	 578	 591	 592	 593	 595	 809	 925	 961
DPTR				1269	1317#	1325	1326#	1327#	1329	1333#	1337
DSR_CONNECT_BLOCK_SIZE		 979
FALSE				 723	 893	1008	1012	1152	1166	1180
FCCTL				 243	 307	 330*
FCM				 330	 363	 404	 469	 489	 519	 557	 650	 684	 770	 813	 890
				1068	1110	1179	1250	1353
FCRCE				 244	 305	 519*
FCRCP				 245	 306	 363*
FCTMO				 246	 308	 650*
FCXCP				 247	 304	 770*
FCXME				 248	 303	1068*
FC_CCP				 302
FC_CTL				 307
FC_RCE				 305
FC_RCP				 306
FC_TIM				 308
FC_XCP				 304
FC_XME				 303
FINDLL				 271*	1196
FINDND				 272	1207
I$CLS				 276	 443	 497	 730	 832	 870	 962
I$OPN				 277	 423	 736
L				 703
LCCB				 394	 439	 446#	 448	 449	 501	 548	 555#	 646	 696	 800	 810#
				 892#	 919	 920	 921	 923	 926	 929#	 930	 931#	 972	 973#	1013#
				1044	1045#	1065	1148	1157
LL				 694	 700#	 706	 707#	 708	1122	1124	1194	1196	1202	1205
LLT				 397#	 398	 401	 551#	 554	 680#	 708	 803#	 804	 808	1101#	1104
				1124	1202
LLT_FIELDS			 393	 397	 549	 551	 680	 695	 799	 803	1097	1101
LL_ABTI				 589	1137	1153	1176	1179	1245
LL_ACDW				1225	1350
LL_BUSY				1008	1208
LL_DSCI				1231
LL_INTM				 893
LL_KLOK				 719	 723	 954	1152	1180
LNK				 393	 401#	 415	 416	 419	 420#	 421#	 433	 439	 440#	 442#	 443
				 464	 465	 470	 471	 483	 484	 485	 486	 489#	 490	 491	 492
				 493	 497	 501	 502	 516	 549	 554#	 568	 569	 570	 575#	 578
				 581#	 582#	 589#	 598	 612	 613	 614	 615	 616	 617	 628	 629
				 630	 641	 695	 708#	 713	 714	 715	 719	 722	 723#	 726#	 729#
				 730	 799	 808#	 825	 826	 827	 828	 829	 832	 844	 845	 846
				 847	 850	 851#	 863	 864	 865	 866	 867	 870	 882	 883	 884
				 885	 886	 887	 893#	 909	 913	 914	 917#	 918#	 919	 920	 921
				 924	 942#	 946	 947	 948	 951	 954#	 956#	 957	 962	 965#	 966#
				 971#	 972	 991#	 994	 995	 998#	 999	1003#	1008#	1009#	1056	1097
				1104#	1124#	1125	1126	1127	1128	1129	1133#	1134	1137	1138	1139
				1140	1141	1142	1143	1149	1152#	1153#	1157	1160	1176	1179#	1180#
				1183	1202#	1203#	1204#	1207	1208#	1223	1224	1225	1227	1230	1231#
				1243	1244	1245	1247	1253	1254	1349	1350	1356	1357	1362	1380
				1381	1382
LO_BYTE				1125
LPTR				1270	1289#	1291	1292	1306#	1307	1315	1326
L_FLAGS				 918	 966
L_INTQ				 713	 919	1253	1254	1356	1357
L_IQUE				 419	 470	 471	 501	 502	 516	 714	1157
L_LLA				 957	 999	1134
L_OQUE				 439	 715	 921	 972	1380	1381	1382
L_PID				 956	 998	 999
L_PIX				 493	 581	1126	1204
L_RNA				 421
L_SIZE				 397	 551	 680	 803	1101
L_STATE				 415	 420	 433	 442	 464	 465	 483	 484	 485	 490	 491	 492
				 568	 569	 578	 582	 612	 613	 614	 615	 616	 628	 629	 825
				 826	 827	 828	 844	 845	 846	 850	 851	 863	 864	 865	 866
				 882	 883	 884	 885	 886	 909	 913	 917	 946	 947	 951	 965
				 971	 994	1003	1009	1127	1128	1129	1138	1139	1140	1141	1142
				1143	1149	1160	1176	1183	1223	1224	1227	1230	1243	1244	1247
				1349	1362
L_STS				 489	 729	 920	 924	1133
L_TIMER				 440	 575	 722	 726
L_TOP				 398	 401	 554	 708	 804	 808	1104	1124	1202
L_ULA				1125	1203
MAP$				 400	 444	 553	 682	 806	1103	1316
MCB_DB_CCB_MOD			 243	 244	 245	 246	 247	 248	 330#	 363#	 519#	 650#	 770#	1068#
MFBF$S				1296
MTBF$S				 448
N$EABL				 201+#
N$EABO				 193+#
N$EABR				 194+#
N$ECLS				 199+#
N$ECON				 190+#
N$ELST				 197+#
N$EMTL				 198+#
N$ENUR				 200+#
N$EOPN				 192+#
N$ERES				 189+#	 961
N$ERMO				 196+#
N$ERUN				 202+#
N$ESTE				 191+#
N$ETMI				 195+#
N$ETRN				 203+#
N$FBOM				 212+#
N$FCMP				 213+#
N$FEOM				 211+#
N$FMES				 210+#
N$FSEG				 209+#
N$HI				 185+#
N$LO				 204+#
N$SACC				 187+#	 441
N$SCC				 223+#
N$SCD				 227+#
N$SCI				 224+#
N$SCL				 233+#
N$SCN				 234+#
N$SCR				 220+#
N$SDIC				 231+#
N$SDI				 230+#
N$SDN				 232+#
N$SDRC				 222+#
N$SDR				 221+#
N$SNC				 226+#
N$SNR				 225+#
N$SO				 219+#
N$SREJ				 186+#
N$SRJ				 228+#
N$SRUN				 229+#
N$SSUC				 188+#
NAML				1272	1315#	1326	1327	1333
NM$SUC				1029
NM_EXT				 360
NM_NOD				1305
NM_SIG				1034
NODE_ENTITY_LEN			1273
NR$CRW				 279	 313
NR$DRW				 281	 312	 314
NR$DTW				 280	 315
NR$INW				 282	 316
N_GSTA				 157+#
N_GSTS				 154+#
N_PCLS				 156+#	 902
N_POPN				 155+#	 989
N_RCON				 172+#	 313	 412
N_RDAT				 174+#	 315	 461	 469
N_RDSC				 173+#	 314	 480
N_RHI				 179+#	 311	 404
N_RINT				 175+#	 179+	 316	 461
N_SCNF				 170+#	 312	 480	 489
N_SCNS				 171+#	 431
N_XABT				 162+#	 821
N_XACC				 159+#	 840
N_XBUF				 167+#	 878	 892
N_XCON				 158+#	 940
N_XDAT				 163+#	 878
N_XDRQ				 166+#	 878
N_XDSC				 161+#	 821
N_XHI				 178+#	 813
N_XINI				 168+#	 178+	1021
N_XINT				 164+#	 878	 893
N_XIRQ				 165+#	 878
N_XREJ				 160+#	 598	 859
OLD_STATE			1027	1032#	1034
PARANOID			 414	 482	 511	 566	 610	 626	 640	 763	 823	 842	 861	 880
				 912	 944	 993	1055
PDVID$				 746
PIV				 398#	 401	 804#	 808	 957#	 999#
PTR				 438	 447#	 448	 588	 594#	 595	 596	1268	1282#	1289	1296	1305
				1306	1333
QUE_TO_TAIL			1098	1105#	1166#	1379
RAD50				 254#	 746
RCPWT				 311#
S$ABO				 328	 923	1118
S$ACC				 320	1174
S$CNR				 564
S$CON				 319	1191
S$DAT				 609
S$DIS				 327	 923	1220
S$DRQ				 324	1240
S$DSR				 625
S$GLN				1265
S$INT				 609
S$IRQ				 326	1240	1250
S$MRQ				 323	1240
S$REJ				 321	1174	1179
S$RHI				 557
S$SND				 322	1347
S$SNI				 325	1347	1353
S$XHI				 318	1110
SC$_ISC				 512	 641	 764	1056
SC$_LWS				 416	 486	 570	 617	 630	 829	 847	 867	 887	 914	 948	 995
SCDB				 330	 357	 360	 363	 390	 397	 398	 400	 422#	 519	 545	 551
				 553	 650	 676	 678	 680	 682	 698#	 699#	 700	 703	 706#	 707
				 710	 746	 747#	 770	 796	 803	 804	 806	 955#	1004#	1012#	1030#
				1031#	1032	1033#	1034	1039#	1068	1094	1101	1103	1108	1122	1290
				1305	1328
SCDSP				   1#
SCF_KLOK			 955
SCF_OPEN			1012
SCF_STAT			 747	1032	1033	1108
SCF_SUCC			 699	 706	 710
SC_FIELDS			 678
SC_HADDR			1290
SC_IPORT			 422	1004
SC_LADDR			1030	1290
SC_LINKS			 398	 703	 707	 804	1122
SC_LLINK			 700	 706
SC_LLT_ADDR			 397	 551	 680	 803	1101
SC_LLT_BIAS			 400	 553	 682	 806	1103
SC_SNPIX			 360	 746	1034	1305
SC_SSIZE			1031	1328
SC_TICK				 698	1039
STATUS				 395	 801	 809#	 850	 924#	 925#	 926	 958	 977#	1000	1023	1029#
				1042#	1044	1059#	1065	1099	1106#	1109#	1121#	1132#	1160#	1183#	1209#
				1212#	1227#	1247#	1362#	1370#	1376
STR				 254	 255
STSMAP				 274	 449	 809	 925
ST_ABI				 492	 615	 825	 886
ST_CA				 844	 850	1140
ST_CID				 433	 971	1141
ST_CIS				 490	 946	 951	1143
ST_CLI				 491	 569	 616	 629	 828	 845	 866	 885	 913	 947	1160	1183
				1227	1247	1362
ST_CRA				 582	 864	1176
ST_CR				 420	 568	 578	 863
ST_DIR				 614	 628	 826	 846	 865	 884	1142	1149	1224	1230
ST_DI				 465	 613	 827	 883	1139	1244
ST_OFF				 483	 909	 917	 965	1009	1127
ST_OI				 484	 994	1129
ST_OPN				 415	 485	1003	1128
ST_RUN				 442	 464	 612	 851	 882	1138	1223	1243	1349
SX$ABW				 284	 327	 328
SX$ACW				 285	 320
SX$CNW				 286	 319
SX$DRW				 287	 323	 324
SX$IRW				 288	 326
SX$RJW				 289	 321
SX$SDW				 290	 322
SX$SIW				 291	 325
S_EABL				 489
S_EABO				 977	1133
S_EABS				 489
S_EERR				1059	1300	1370
S_ELNS				1109
S_ELST				1278
S_ELWS				1160	1183	1227	1247	1362
S_ENOF				1160	1183	1227	1247	1362
S_ENRO				 729
S_ENSL				1121
S_ERBO				 591
S_ERES				1212
S_EUNN				1209	1311
S_SSUC				 578	 850	 930	1000	1023	1106	1132	1338	1376
S_ST_OFF			 747
S_ST_ON				1033	1108
TABLE$				 302	 311	 318
TMP				1271	1290#	1291	1307	1308	1328#	1329
TRUE				 589	 699	 954	 955	1105	1153	1179	1208	1231
XMEWT				 318#
$DSPCR				 268	 302	 311	 318
$MCB_ENABLE_LONG_TIMER		1038
$MCB_RETURN_DSR			 573	 979
$NM$ERR_UFO			1042
$SCLL				 302#
$SC_DISPATCH_INPUT		 516	 714
$SC_DISPATCH_OUTPUT		 713	 715	1254	1357	1382
$SC_DO_CCP			1044
$SC_DO_RCE			 452	 466	 496	 501	 646	1157
$SC_DO_XCP			 449	 920	 926	 930	1065	1278	1300	1311	1338	1376
$SC_DO_XME			 598
$SC_GET_DATA_BASE		 357	 390	 545	 676	 796	1094
$SUB_FIELD			1125