Google
 

Trailing-Edge - PDP-10 Archives - TOPS-20_V6.1_DECnetSrc_7-23-85 - mcb/sc/scres.lst
There is 1 other file named scres.lst in the archive. Click here to see a list.
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page   1
								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (1)

;	  0001	 module SCRES (	! System Interface and NSP Interface Resource Wait
;	  0002			ident = 'X01330'
;	  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	!
;	  0030	! FACILITY:	Session Control
;	  0031	!
;	  0032	! ABSTRACT:	This module fields all interactions with the System
;	  0033	!		Interface and NSP Interface, when potential resource
;	  0034	!		waits are encountered.
;	  0035	!
;	  0036	! ENVIRONMENT:	MCB
;	  0037	!
;	  0038	! AUTHOR:	Buren Hoffman		CREATION DATE: 7-Apr-80
;	  0039	!
;	  0040	! MODIFIED BY:
;	  0041	!	X01010	Changed code to use $byt_ptr macro in place of the
;	  0042	!		ch$ptr macro.
;	  0043	!	X01020	Repaired inconsistent linkage declarations to
;	  0044	!		external routines.
;	  0045	!	X01030	Fixed connect processing to put dest PIX in connect
;	  0046	!		request sent to NSP.
;	  0047	!	X01040	Don't set C_CHN in outgoing connect.
;	  0048	!	X01050	Set proper state transition for connection refused
;	  0049	!		inside of SC.
;	  0050	!	X01060	Changed SX$CNW processing to ignore queued CCB when
;	  0051	!		link is in CID state - i.e., waiting for response
;	  0052	!		from other end.
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page   2
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (1)

;	  0053	!	X01070	Changed NR$CRW to try for immediate port replacement.
;	  0054	!	X01080	PIX was not being set in output ccb from SX$ACW.
;	  0055	!	X01090	PIX was not being set in several routines.
;	  0056	!	X01100	Fixed problem of missing ref's in several declarations.
;	  0057	!	X01110	Wrong CCB being forwarded to LLCRS in NR$DRW, NR$DTW,
;	  0058	!		and NR$INW.
;	  0059	!	X01120	Wrong LIX was being set in NR$CRW, on link reject.
;	  0060	!	X01130	Fixed dot bug in call from SX$ABW to I$CLS.
;	  0061	!	X01140	Link closing error in call to I$CLS in SX$ABW.
;	  0062	!	X01150	Change to prevent two reject calls on same link
;	  0063	!	X01160	Fixed dequeueing bug in SX$RJW
;	  0064	!	X01170	Fix to assure proper optional data format is generated
;	  0065	!	X01180	Minor documentation cleanup
;	  0066	!	X01190	Connect accept was not recording ULA, and received data
;	  0067	!		was not forwarding the eom indicator.
;	  0068	!	X01200	Use new Comm/Exec to process linkage (.CRDAT for database)
;	  0069	!	X01210	Modified connect-xmit call to NSP to use modified paramater
;	  0070	!		list.
;	  0071	!	X01220	Updated to use library calls, instead of requires.
;	  0072	!	X01230	Moved link OPNer code call to SCDSP.
;	  0073	!	X01240	Fixed disconnect reason processing.
;	  0074	!	X01250	Fixed bug introduced in above fix.
;	  0075	!	X01260	Fixed race between CNR and DSR.
;	  0076	!	X01270	Changed Disconnect-Received code to pass reason
;	  0077	!		code in C_PRM2, instead of in disconnect data.
;	  0078	!	X01280	Changed Confidence-received call to be processed like a
;	  0079	!		disconnect-received, with status code of S_ENUR. This
;	  0080	!		change allows the task or process to synchronize with
;	  0081	!		the vanishing link - instead of being surprised when it
;	  0082	!		finds it gone.
;	  0083	!	X01290	Optimization work.
;	  0084	!	X01300	Bug fix in disconnect-received processing.
;	  0085	!
;	  0086	!	x01310  Use DSR space instead of LDB's for connect info
;	  0087	!       x01320  Set local node number in when connecting to loop node
;	  0088	!	x01330	move some code around in SX$ABW
;	  0089	!
;	  0090	!--
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page   3
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (2)

;	  0091	!
;	  0092	! INCLUDE FILES:
;	  0093	!
;	  0094	library 'SCPRM';		! Our parameter and macro definitions
;	  0095	library 'MCB:MCBLIB';
;	  0096	library 'MCB:RSXLIB';
;	  0097	library 'MCB:XPORTX';
;	  0098	library 'MCB:SCSYS';
;	  0099	
;	  0100	require 'NSP:NSINFO';
;	  0212	
;	  0213	!
;	  0214	! TABLE OF CONTENTS:
;	  0215	!
;	  0216	forward routine
;	  0217	    NR$CRW: novalue,		! Connect Received
;	  0218	    NR$DRW: novalue,		! Disconnect Received
;	  0219	    NR$DTW: novalue,		! Data Received
;	  0220	    NR$INW: novalue,		! Interrupt Received
;	  0221	
;	  0222	    SX$ABW: novalue,		! Abort
;	  0223	    SX$ACW: novalue,		! Accept
;	  0224	    SX$CNW: novalue,		! Connect
;	  0225	!   SX$DSW: novalue,		! Disconnect (See SX$ABW)
;	  0226	    SX$DRW: novalue,		! Data Request
;	  0227	    SX$IRW: novalue,		! Interrupt Request
;	  0228	!   SX$MRW: novalue,		! Message Request (See SX$DRW)
;	  0229	    SX$RJW: novalue,		! Reject
;	  0230	    SX$SDW: novalue,		! Send Data
;	  0231	    SX$SIW: novalue;		! Send Interrupt
;	  0232	
;	  0233	!
;	  0234	! MACROS:
;	  0235	!
;	  0236	!
;	  0237	! EQUATED SYMBOLS:
;	  0238	!
;	  0239	!
;	  0240	! OWN STORAGE:
;	  0241	!
;	  0242	!
;	  0243	! EXTERNAL REFERENCES:
;	  0244	!
;	  0245	
;	  0246	external routine
;	  0247	    CONBKI,				! Do connect block processing
;	  0248	    CONBKO,				! Do connect data translation
;	  0249	    STKCCB: novalue,			! Stack CCBs
;	  0250	
;	  0251	    I$CLS: novalue,			! NSP port closing
;	  0252	    I$OPN: novalue;			! NSP port opening
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page   4
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (3)

;	  0253	global routine NR$CRW (LNK): novalue =
;	  0254	
;	  0255	!++
;	  0256	! FUNCTIONAL DESCRIPTION:
;	  0257	!	Get resources to complete incoming connect notification.
;	  0258	!
;	  0259	! FORMAL PARAMETERS:
;	  0260	!	LNK	Logical link block address
;	  0261	!
;	  0262	! IMPLICIT INPUTS:
;	  0263	!	CCB contents
;	  0264	!
;	  0265	! IMPLICIT OUTPUTS:
;	  0266	!	None
;	  0267	!
;	  0268	! ROUTINE VALUE:
;	  0269	! COMPLETION CODES:
;	  0270	!	None
;	  0271	!
;	  0272	! SIDE EFFECTS:
;	  0273	!	None
;	  0274	!--
;	  0275	    begin
;	  0276	    $sc_get_data_base (SCDB);
;	  0277	    map	LNK: ref block field (LLT_FIELDS);
;	  0278	    local
;	  0279		CCB: ref block field (C_FIELDS),
;	  0280		LCCB: ref block field (C_FIELDS);
;	  0281	
;	  0282	    if not CCBGT$ (LCCB) then $SC_WAIT;
;	  0283	    CMQRM$ (LNK [L_IQUE], CCB);			! Got new CCB, so deque old one
;	  0284	    if CONBKI (.CCB, .LCCB, .LNK)		! Validate the connect message
;	  0285	    then
;	  0286		begin					! OK, tell user about connect
;	  0287		bind
;	  0288		    CB = LCCB [C_ADDR]: ref block field (CB_FIELDS);
;	  0289		$SC_DO_RCE (.CCB);			! Return NSP's CCB
;	  0290		LCCB [C_STS] = S_SSUC;
;	  0291		LCCB [C_PRM2] = LNK [L_TIMER] = .SCDB [SC_ITIME];
;	  0292		$SC_DO_RCP (.LCCB, S$CNR, .LNK);	! Tell user
;	  0293		LNK [LL_KLOK] = true;
;	  0294		SCDB [SCF_KLOK] = true
;	  0295		end
;	  0296	    else
;	  0297		begin					! No good
;	  0298		$SC_DO_RCE (.CCB);			! Return NSP's CCB
;	  0299		LNK [L_PIX] = 0;			! Prevent disconnect race
;	  0300		LCCB [C_ADDR] = byt$ptr (LCCB [C_PRM1]);
;	L 0301		%if %bliss (bliss16)
;	  0302		%then
;	  0303		    LCCB [C_PRM2] = 0;			! No optional data
;	U 0304		%else
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page   5
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (3)

;	U 0305		    begin
;	U 0306		    local PTR;
;	U 0307		    PTR = ch$plus (byt$ptr (LCCB [C_PRM1]), 2);
;	U 0308		    byt$tiny_string (uplit (0), PTR)
;	U 0309		    end;
;	  0310		%fi
;	  0311		LCCB [C_CNT] = 3;
;	  0312		$SC_DO_XME (.LCCB, N_XREJ, .LNK)
;	  0313		end
;	  0314	    end;


						.TITLE	SCRES
						.IDENT	/X01330/

						.GLOBL	CONBKI, CONBKO, STKCCB, I$CLS
						.GLOBL	I$OPN, .CRDAT, $CCBGT, $CMQRM
						.GLOBL	$SCHED, DO.RCP, DO.XME


						.SBTTL	NR$CRW
000000						.PSECT	$CODE$,  RO 

000000	004167  000000G			NR$CRW::JSR	R1,$SAVE5			;					0253
000004	016705  000002G				MOV	.CRDAT+2,R5			;					0275
000010	004767  000000G				JSR	PC,$CCBGT			;					0282
000014	103402 					BCS	1$
000016	010402 					MOV	R4,R2				; $MCB$R4,LCCB
000020	000405 					BR	2$
000022	052715  002000 			1$:	BIS	#2000,(R5)
000026	042715  010000 				BIC	#10000,(R5)
000032	000207 					RTS	PC
000034	016601  000016 			2$:	MOV	16(SP),R1			; LNK,*					0283
000040	012703  000016 				MOV	#16,R3
000044	060103 					ADD	R1,R3
000046	004767  000000G				JSR	PC,$CMQRM
000052	010446 					MOV	R4,-(SP)			; CCB,*					0284
000054	010246 					MOV	R2,-(SP)			; LCCB,*
000056	010146 					MOV	R1,-(SP)
000060	004767  000000G				JSR	PC,CONBKI
000064	062706  000006 				ADD	#6,SP
000070	006000 					ROR	R0
000072	103030 					BCC	3$
000074	112764  000004  000012 			MOVB	#4,12(R4)			; *,*(CCB)				0289
000102	004767  000000G				JSR	PC,$SCHED
000106	012762  000001  000014 			MOV	#1,14(R2)			; *,*(LCCB)				0290
000114	016500  000024 				MOV	24(R5),R0			;					0291
000120	010061  000012 				MOV	R0,12(R1)
000124	010062  000026 				MOV	R0,26(R2)			; *,*(LCCB)
000130	005046 					CLR	-(SP)				;					0292
000132	010146 					MOV	R1,-(SP)
000134	010204 					MOV	R2,R4				; LCCB,*
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page   6
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (3)

000136	004767  000000G				JSR	PC,DO.RCP
000142	052711  010000 				BIS	#10000,(R1)			;					0293
000146	052715  002000 				BIS	#2000,(R5)			;					0294
000152	000427 					BR	4$				;					0284
000154	112764  000004  000012 		3$:	MOVB	#4,12(R4)			; *,*(CCB)				0298
000162	004767  000000G				JSR	PC,$SCHED
000166	105061  000005 				CLRB	5(R1)				;					0299
000172	010262  000020 				MOV	R2,20(R2)			; LCCB,*(LCCB)				0300
000176	062762  000024  000020 			ADD	#24,20(R2)			; *,*(LCCB)
000204	005062  000026 				CLR	26(R2)				; *(LCCB)				0303
000210	012762  000003  000022 			MOV	#3,22(R2)			; *,*(LCCB)				0311
000216	012746  000014 				MOV	#14,-(SP)			;					0312
000222	010146 					MOV	R1,-(SP)
000224	010204 					MOV	R2,R4				; LCCB,*
000226	004767  000000G				JSR	PC,DO.XME
000232	022626 				4$:	CMP	(SP)+,(SP)+			;					0275
000234	000207 					RTS	PC				;					0253

; Routine Size:  79 words,	Routine Base:  $CODE$ + 0000
; Maximum stack depth per invocation:  10 words
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page   7
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (4)

;	  0315	global routine NR$DRW (LNK): novalue =
;	  0316	
;	  0317	!++
;	  0318	! FUNCTIONAL DESCRIPTION:
;	  0319	!	Get resources to handle incoming disconnect, or
;	  0320	!	receipt of confidence call on link.
;	  0321	!
;	  0322	! FORMAL PARAMETERS:
;	  0323	!	LNK	Logical link block address
;	  0324	!
;	  0325	! IMPLICIT INPUTS:
;	  0326	!	LLT mapped
;	  0327	!	CCB contents
;	  0328	!
;	  0329	! IMPLICIT OUTPUTS:
;	  0330	!	None
;	  0331	!
;	  0332	! ROUTINE VALUE:
;	  0333	! COMPLETION CODES:
;	  0334	!	None
;	  0335	!
;	  0336	! SIDE EFFECTS:
;	  0337	!	None
;	  0338	!--
;	  0339	    begin
;	  0340	    $sc_get_data_base (SCDB);
;	  0341	    map	LNK: ref block field (LLT_FIELDS);
;	  0342	    local
;	  0343		CCB: ref block field (C_FIELDS),
;	  0344		LCCB: ref block field (C_FIELDS);
;	  0345	
;	  0346	    if not CCBGT$ (LCCB) then $SC_WAIT;
;	  0347	
;	  0348	    CMQRM$ (LNK [L_IQUE], CCB);
;	  0349	    STKCCB (.LCCB, .CCB);
;	  0350	
;	  0351	    if .CCB [C_MOD] eql N_SCNF		! If confidence loss
;	  0352	    then				!  then
;	  0353		LCCB [C_PRM2] = S_ENUR		!   set appropriate code
;	  0354	    else
;	  0355		begin
;	  0356		MAP$ (.LCCB [C_BIAS]);		! Look at data buffer
;	  0357		if .LCCB [C_CNT] geq 2		! If have a reason code
;	  0358		then
;	  0359		    begin
;	  0360		    byt$string_short (LCCB [C_ADDR], LCCB [C_PRM2]);
;	  0361		    LCCB [C_CNT] = .LCCB [C_CNT] - 2
;	  0362		    end
;	  0363		else
;	  0364		    begin
;	  0365		    LCCB [C_PRM2] = 0;
;	  0366		    LCCB [C_CNT] = 0
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page   8
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (4)

;	  0367		    end;
;	  0368		if .LCCB [C_CNT] gtr 1		! If have data
;	  0369		then
;	  0370		    begin
;	  0371		    LCCB [C_ADDR] = ch$plus (.LCCB [C_ADDR], 1);
;	  0372		    LCCB [C_CNT] = .LCCB [C_CNT] - 1
;	  0373		    end
;	  0374		else
;	  0375		    begin
;	  0376		    LCCB [C_ADDR] = 0;
;	  0377		    LCCB [C_CNT] = 0
;	  0378		    end;
;	  0379		LCCB [C_PRM2] = -.LCCB [C_PRM2];
;	  0380		if .LCCB [C_PRM2] eql 0 then LCCB [C_PRM2] = S_EDBO;
;	  0381		MAP$ (.SCDB [SC_LLT_BIAS])
;	  0382		end;
;	  0383	
;	  0384	    $SC_DO_RCP (.LCCB, S$DSR, .LNK);
;	  0385	    LNK [L_STATE] = ST_DIR
;	  0386	    end;


						.GLOBL	KISAR6


						.SBTTL	NR$DRW
000000	004167  000000G			NR$DRW::JSR	R1,$SAVE5			;					0315
000004	016746  000002G				MOV	.CRDAT+2,-(SP)			;					0339
000010	004767  000000G				JSR	PC,$CCBGT			;					0346
000014	103402 					BCS	1$
000016	010402 					MOV	R4,R2				; $MCB$R4,LCCB
000020	000407 					BR	2$
000022	052776  002000  000000 		1$:	BIS	#2000,@0(SP)
000030	042776  010000  000000 			BIC	#10000,@0(SP)
000036	000516 					BR	11$
000040	016601  000020 			2$:	MOV	20(SP),R1			; LNK,*					0348
000044	012703  000016 				MOV	#16,R3
000050	060103 					ADD	R1,R3
000052	004767  000000G				JSR	PC,$CMQRM
000056	103401 					BCS	3$
000060	010403 					MOV	R4,R3				; $MCB$R4,CCB
000062	010246 				3$:	MOV	R2,-(SP)			; LCCB,*				0349
000064	010346 					MOV	R3,-(SP)			; CCB,*
000066	004767  000000G				JSR	PC,STKCCB
000072	012705  000026 				MOV	#26,R5				;					0353
000076	060205 					ADD	R2,R5				; LCCB,*
000100	105763  000013 				TSTB	13(R3)				; *(CCB)				0351
000104	001003 					BNE	4$
000106	012715  177731 				MOV	#-47,(R5)			;					0353
000112	000456 					BR	10$				;					0351
000114	016267  000016  000000G		4$:	MOV	16(R2),KISAR6			; *(LCCB),*				0356
000122	012704  000022 				MOV	#22,R4				;					0357
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page   9
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (4)

000126	060204 					ADD	R2,R4				; LCCB,*
000130	021427  000002 				CMP	(R4),#2
000134	002417 					BLT	5$
000136	012703  000020 				MOV	#20,R3				;					0360
000142	060203 					ADD	R2,R3				; LCCB,*
000144	005213 					INC	(R3)
000146	011300 					MOV	(R3),R0
000150	116015  177777 				MOVB	-1(R0),(R5)
000154	005213 					INC	(R3)
000156	011303 					MOV	(R3),R3
000160	116362  177777  000027 			MOVB	-1(R3),27(R2)			; *,*(LCCB)
000166	162714  000002 				SUB	#2,(R4)				;					0361
000172	000402 					BR	6$				;					0357
000174	005015 				5$:	CLR	(R5)				;					0365
000176	005014 					CLR	(R4)				;					0366
000200	012703  000020 			6$:	MOV	#20,R3				;					0371
000204	060203 					ADD	R2,R3				; LCCB,*
000206	021427  000001 				CMP	(R4),#1				;					0368
000212	003403 					BLE	7$
000214	005213 					INC	(R3)				;					0371
000216	005314 					DEC	(R4)				;					0372
000220	000402 					BR	8$				;					0368
000222	005013 				7$:	CLR	(R3)				;					0376
000224	005014 					CLR	(R4)				;					0377
000226	005415 				8$:	NEG	(R5)				;					0379
000230	001002 					BNE	9$				;					0380
000232	012715  177754 				MOV	#-24,(R5)
000236	016600  000004 			9$:	MOV	4(SP),R0			;					0381
000242	016067  000044  000000G			MOV	44(R0),KISAR6
000250	012716  000006 			10$:	MOV	#6,(SP)				;					0384
000254	010146 					MOV	R1,-(SP)
000256	010204 					MOV	R2,R4				; LCCB,*
000260	004767  000000G				JSR	PC,DO.RCP
000264	112711  000013 				MOVB	#13,(R1)			;					0385
000270	062706  000006 				ADD	#6,SP				;					0339
000274	005726 				11$:	TST	(SP)+				;					0315
000276	000207 					RTS	PC

; Routine Size:  96 words,	Routine Base:  $CODE$ + 0236
; Maximum stack depth per invocation:  11 words
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page  10
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (5)

;	  0387	global routine NR$DTW (LNK): novalue =
;	  0388	
;	  0389	!++
;	  0390	! FUNCTIONAL DESCRIPTION:
;	  0391	!	Get resources to deliver incoming data.
;	  0392	!
;	  0393	! FORMAL PARAMETERS:
;	  0394	!	LNK	Logical link block address
;	  0395	!
;	  0396	! IMPLICIT INPUTS:
;	  0397	!	CCB contents
;	  0398	!
;	  0399	! IMPLICIT OUTPUTS:
;	  0400	!	None
;	  0401	!
;	  0402	! ROUTINE VALUE:
;	  0403	! COMPLETION CODES:
;	  0404	!	None
;	  0405	!
;	  0406	! SIDE EFFECTS:
;	  0407	!	None
;	  0408	!--
;	  0409	    begin
;	  0410	    $sc_get_data_base (SCDB);
;	  0411	    map	LNK: ref block field (LLT_FIELDS);
;	  0412	    local
;	  0413		CCB: ref block field (C_FIELDS),
;	  0414		FLG,
;	  0415		LCCB: ref block field (C_FIELDS);
;	  0416	
;	  0417	    if not CCBGT$ (LCCB) then $SC_WAIT;
;	  0418	
;	  0419	    CMQRM$ (LNK [L_IQUE], CCB);
;	  0420	
;	  0421	    FLG = 0;
;	  0422	    if (.CCB [C_PRM1] and N$FBOM) neq 0 then FLG = .FLG or S$PBOM;
;	  0423	    if (.CCB [C_PRM1] and N$FEOM) neq 0 then FLG = .FLG or S$PEOM;
;	  0424	    if .FLG eql 0 then FLG = S$PMOM;
;	  0425	    LCCB [$sub_field (C_PRM1, HI_BYTE)] = .FLG;
;	  0426	    STKCCB (.LCCB, .CCB);
;	  0427	    $SC_DO_RCP (.LCCB, S$DAT, .LNK)
;	  0428	    end;


						.SBTTL	NR$DTW
000000	004167  000000G			NR$DTW::JSR	R1,$SAVE4			;					0387
000004	016700  000002G				MOV	.CRDAT+2,R0			;					0409
000010	004767  000000G				JSR	PC,$CCBGT			;					0417
000014	103402 					BCS	1$
000016	010401 					MOV	R4,R1				; $MCB$R4,LCCB
000020	000405 					BR	2$
000022	052710  002000 			1$:	BIS	#2000,(R0)
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page  11
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (5)

000026	042710  010000 				BIC	#10000,(R0)
000032	000207 					RTS	PC
000034	016603  000014 			2$:	MOV	14(SP),R3			; LNK,*					0419
000040	062703  000016 				ADD	#16,R3
000044	004767  000000G				JSR	PC,$CMQRM
000050	103401 					BCS	3$
000052	010403 					MOV	R4,R3				; $MCB$R4,CCB
000054	005000 				3$:	CLR	R0				; FLG					0421
000056	032763  000002  000024 			BIT	#2,24(R3)			; *,*(CCB)				0422
000064	001402 					BEQ	4$
000066	052700  000001 				BIS	#1,R0				; *,FLG
000072	032763  000001  000024 		4$:	BIT	#1,24(R3)			; *,*(CCB)				0423
000100	001402 					BEQ	5$
000102	052700  000004 				BIS	#4,R0				; *,FLG
000106	005700 				5$:	TST	R0				; FLG					0424
000110	001002 					BNE	6$
000112	012700  000002 				MOV	#2,R0				; *,FLG
000116	110061  000025 			6$:	MOVB	R0,25(R1)			; FLG,*(LCCB)				0425
000122	010146 					MOV	R1,-(SP)			; LCCB,*				0426
000124	010346 					MOV	R3,-(SP)			; CCB,*
000126	004767  000000G				JSR	PC,STKCCB
000132	012716  000002 				MOV	#2,(SP)				;					0427
000136	016646  000020 				MOV	20(SP),-(SP)			; LNK,*
000142	010104 					MOV	R1,R4				; LCCB,*
000144	004767  000000G				JSR	PC,DO.RCP
000150	062706  000006 				ADD	#6,SP				;					0409
000154	000207 					RTS	PC				;					0387

; Routine Size:  55 words,	Routine Base:  $CODE$ + 0536
; Maximum stack depth per invocation:  9 words
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page  12
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (6)

;	  0429	global routine NR$INW (LNK): novalue =
;	  0430	
;	  0431	!++
;	  0432	! FUNCTIONAL DESCRIPTION:
;	  0433	!	Get resources to deliver incoming interrupt data.
;	  0434	!
;	  0435	! FORMAL PARAMETERS:
;	  0436	!	LNK	Logical link block address
;	  0437	!
;	  0438	! IMPLICIT INPUTS:
;	  0439	!	CCB contents
;	  0440	!
;	  0441	! IMPLICIT OUTPUTS:
;	  0442	!	None
;	  0443	!
;	  0444	! ROUTINE VALUE:
;	  0445	! COMPLETION CODES:
;	  0446	!	None
;	  0447	!
;	  0448	! SIDE EFFECTS:
;	  0449	!	None
;	  0450	!--
;	  0451	    begin
;	  0452	    $sc_get_data_base (SCDB);
;	  0453	    map	LNK: ref block field (LLT_FIELDS);
;	  0454	    local
;	  0455		CCB: ref block field (C_FIELDS),
;	  0456		LCCB: ref block field (C_FIELDS);
;	  0457	
;	  0458	    if not CCBGT$ (LCCB) then $SC_WAIT;
;	  0459	
;	  0460	    CMQRM$ (LNK [L_IQUE], CCB);
;	  0461	    STKCCB (.LCCB, .CCB);
;	  0462	    $SC_DO_RCP (.LCCB, S$INT, .LNK)
;	  0463	    end;


						.SBTTL	NR$INW
000000	004167  000000G			NR$INW::JSR	R1,$SAVE4			;					0429
000004	016700  000002G				MOV	.CRDAT+2,R0			;					0451
000010	004767  000000G				JSR	PC,$CCBGT			;					0458
000014	103402 					BCS	1$
000016	010401 					MOV	R4,R1				; $MCB$R4,LCCB
000020	000405 					BR	2$
000022	052710  002000 			1$:	BIS	#2000,(R0)
000026	042710  010000 				BIC	#10000,(R0)
000032	000207 					RTS	PC
000034	016603  000014 			2$:	MOV	14(SP),R3			; LNK,*					0460
000040	062703  000016 				ADD	#16,R3
000044	004767  000000G				JSR	PC,$CMQRM
000050	103401 					BCS	3$
000052	010400 					MOV	R4,R0				; $MCB$R4,CCB
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page  13
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (6)

000054	010146 				3$:	MOV	R1,-(SP)			; LCCB,*				0461
000056	010046 					MOV	R0,-(SP)			; CCB,*
000060	004767  000000G				JSR	PC,STKCCB
000064	012716  000004 				MOV	#4,(SP)				;					0462
000070	016646  000020 				MOV	20(SP),-(SP)			; LNK,*
000074	010104 					MOV	R1,R4				; LCCB,*
000076	004767  000000G				JSR	PC,DO.RCP
000102	062706  000006 				ADD	#6,SP				;					0451
000106	000207 					RTS	PC				;					0429

; Routine Size:  36 words,	Routine Base:  $CODE$ + 0714
; Maximum stack depth per invocation:  9 words


;	  0464	
;	  0465	
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page  14
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (7)

;	  0466	global routine SX$ABW (LNK): novalue =
;	  0467	
;	  0468	!++
;	  0469	! FUNCTIONAL DESCRIPTION:
;	  0470	!	We are here to wait for resources to finish the abort,
;	  0471	!	or disconnect.
;	  0472	!
;	  0473	! FORMAL PARAMETERS:
;	  0474	!	LNK	Logical link block address
;	  0475	!
;	  0476	! IMPLICIT INPUTS:
;	  0477	!	CCB contents
;	  0478	!
;	  0479	! IMPLICIT OUTPUTS:
;	  0480	!	None
;	  0481	!
;	  0482	! ROUTINE VALUE:
;	  0483	! COMPLETION CODES:
;	  0484	!	None
;	  0485	!
;	  0486	! SIDE EFFECTS:
;	  0487	!	None
;	  0488	!--
;	  0489	    begin
;	  0490	    $sc_get_data_base (SCDB);
;	  0491	    map	LNK: ref block field (LLT_FIELDS);
;	  0492	    local
;	  0493		PTR,
;	  0494		CCB: ref block field (C_FIELDS),
;	  0495		LCCB: ref block field (C_FIELDS);
;	  0496	
;	  0497		! If we can't get the CCB, we are forced to wait awhile
;	  0498		if not CCBGT$ (LCCB) then $SC_WAIT;
;	  0499	
;	  0500		! We got it - set our context into it
;	  0501		CMQRM$ (LNK [L_OQUE], CCB);
;	  0502		LCCB [C_STK] = .CCB;
;	  0503	
;	  0504	    ! If not in RUN state, then don't call NSP
;	  0505	    if .LNK [L_STATE] eql ST_RUN
;	  0506	    then
;	  0507		begin
;	  0508		if .CCB [C_CNT] neq 0 then LCCB [C_CHN] = .CCB;
;	  0509		PTR = LCCB [C_ADDR] = byt$ptr (LCCB [C_PRM2]);
;	  0510		if .CCB [C_MOD] eql S$ABO
;	  0511		then
;	  0512		    begin
;	  0513		    byt$short_string (uplit (-S_EABO), PTR);
;	  0514		    LCCB [C_MOD] = N_XABT;
;	  0515		    LNK [L_STATE] = ST_ABI
;	  0516		    end
;	  0517		else
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page  15
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (7)

;	  0518		    begin
;	  0519		    byt$short_string (uplit (0), PTR);	! -S_EDBO
;	  0520		    LCCB [C_MOD] = N_XDSC;
;	  0521		    LNK [L_STATE] = ST_DI
;	  0522		    end;
;	  0523	
;	  0524		byt$tiny_string (CCB [C_CNT], PTR);
;	  0525		LCCB [C_CNT] = 3;
;	  0526		$SC_DO_XME (.LCCB, .LCCB [C_MOD], .LNK)
;	  0527		end
;	  0528	    else
;	  0529		begin
;	  0530		LNK[L_STATE] = ST_CLI;
;	  0531		$SC_DO_XME( .LCCB, N_PCLS, .LNK);
;	  0532		end
;	  0533	    end;



000000						.PSECT	$PLIT$,  RO ,  D  
000000	000011 				P.AAA:	.WORD	11
000002	000000 				P.AAB:	.WORD	0


						.SBTTL	SX$ABW
001024						.PSECT	$CODE$,  RO 

000000	004167  000000G			SX$ABW::JSR	R1,$SAVE4			;					0466
000004	016700  000002G				MOV	.CRDAT+2,R0			;					0489
000010	004767  000000G				JSR	PC,$CCBGT			;					0498
000014	103402 					BCS	1$
000016	010401 					MOV	R4,R1				; $MCB$R4,LCCB
000020	000405 					BR	2$
000022	052710  002000 			1$:	BIS	#2000,(R0)
000026	042710  010000 				BIC	#10000,(R0)
000032	000207 					RTS	PC
000034	016600  000014 			2$:	MOV	14(SP),R0			; LNK,*					0501
000040	012703  000022 				MOV	#22,R3
000044	060003 					ADD	R0,R3
000046	004767  000000G				JSR	PC,$CMQRM
000052	103401 					BCS	3$
000054	010403 					MOV	R4,R3				; $MCB$R4,CCB
000056	010361  000004 			3$:	MOV	R3,4(R1)			; CCB,*(LCCB)				0502
000062	121027  000014 				CMPB	(R0),#14			;					0505
000066	001070 					BNE	7$
000070	005763  000022 				TST	22(R3)				; *(CCB)				0508
000074	001402 					BEQ	4$
000076	010361  000002 				MOV	R3,2(R1)			; CCB,*(LCCB)
000102	010104 				4$:	MOV	R1,R4				; LCCB,*				0509
000104	062704  000026 				ADD	#26,R4
000110	010461  000020 				MOV	R4,20(R1)			; *,*(LCCB)
000114	010400 					MOV	R4,R0				; *,PTR
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page  16
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (7)

000116	126327  000013  000022 			CMPB	13(R3),#22			; *(CCB),*				0510
000124	001017 					BNE	5$
000126	016704  000000'				MOV	P.AAA,R4			; *,NUM					0513
000132	110420 					MOVB	R4,(R0)+			; NUM,PTR
000134	000304 					SWAB	R4				; NUM
000136	110410 					MOVB	R4,(R0)				; NUM,PTR
000140	010104 					MOV	R1,R4				; LCCB,*				0514
000142	062704  000012 				ADD	#12,R4
000146	112764  000020  000001 			MOVB	#20,1(R4)
000154	112776  000011  000014 			MOVB	#11,@14(SP)			; *,LNK					0515
000162	000416 					BR	6$				;					0510
000164	016704  000002'			5$:	MOV	P.AAB,R4			; *,NUM					0519
000170	110420 					MOVB	R4,(R0)+			; NUM,PTR
000172	000304 					SWAB	R4				; NUM
000174	110410 					MOVB	R4,(R0)				; NUM,PTR
000176	010104 					MOV	R1,R4				; LCCB,*				0520
000200	062704  000012 				ADD	#12,R4
000204	112764  000016  000001 			MOVB	#16,1(R4)
000212	112776  000012  000014 			MOVB	#12,@14(SP)			; *,LNK					0521
000220	005200 				6$:	INC	R0				; PTR					0513
000222	116320  000022 				MOVB	22(R3),(R0)+			; *(CCB),PTR				0524
000226	012761  000003  000022 			MOV	#3,22(R1)			; *,*(LCCB)				0525
000234	005046 					CLR	-(SP)				;					0526
000236	116416  000001 				MOVB	1(R4),(SP)
000242	016646  000016 				MOV	16(SP),-(SP)			; LNK,*
000246	000405 					BR	8$
000250	112710  000010 			7$:	MOVB	#10,(R0)			;					0530
000254	012746  000004 				MOV	#4,-(SP)			;					0531
000260	010046 					MOV	R0,-(SP)
000262	010104 				8$:	MOV	R1,R4				; LCCB,*
000264	004767  000000G				JSR	PC,DO.XME
000270	022626 					CMP	(SP)+,(SP)+			;					0489
000272	000207 					RTS	PC				;					0466

; Routine Size:  94 words,	Routine Base:  $CODE$ + 1024
; Maximum stack depth per invocation:  8 words
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page  17
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (8)

;	  0534	global routine SX$ACW (LNK): novalue =
;	  0535	
;	  0536	!++
;	  0537	! FUNCTIONAL DESCRIPTION:
;	  0538	!	We are here to obtain resource to finish user link
;	  0539	!	acceptance.
;	  0540	!
;	  0541	! FORMAL PARAMETERS:
;	  0542	!	LNK	Logical link block address
;	  0543	!
;	  0544	! IMPLICIT INPUTS:
;	  0545	!	CCB has been enqueued
;	  0546	!
;	  0547	! IMPLICIT OUTPUTS:
;	  0548	!	None
;	  0549	!
;	  0550	! ROUTINE VALUE:
;	  0551	! COMPLETION CODES:
;	  0552	!	None
;	  0553	!
;	  0554	! SIDE EFFECTS:
;	  0555	!	None
;	  0556	!--
;	  0557	    begin
;	  0558	    $sc_get_data_base (SCDB);
;	  0559	    map	LNK: ref block field (LLT_FIELDS);
;	  0560	    local
;	  0561		CCB: ref block field (C_FIELDS),
;	  0562		LCCB: ref block field (C_FIELDS);
;	  0563	
;	  0564	    ! If we can't get the CCB, we are forced to wait awhile
;	  0565	    if not CCBGT$ (LCCB) then $SC_WAIT;
;	  0566	
;	  0567	    CMQRM$ (LNK [L_OQUE], CCB);			! Got it, set context into it
;	  0568	    LCCB [C_PRM1] =				! Flow control method
;	  0569		begin
;	  0570		if .CCB [$sub_field (C_PRM1, HI_BYTE)] eql S$PMSG
;	  0571		then N$FMES
;	  0572		else N$FSEG
;	  0573		end;
;	  0574	    STKCCB (.LCCB, .CCB);			! Stack the CCBs
;	  0575	    if .CCB [C_CNT] neq 0 then LCCB [C_CHN] = .CCB;
;	L 0576	    %if %bliss (bliss16)
;	  0577	    %then
;	  0578		LCCB [C_PRM2] = .CCB [C_CNT];
;	U 0579	    %else
;	U 0580		begin
;	U 0581		local
;	U 0582		    LEN,
;	U 0583		    PTR;
;	U 0584		PTR = byt$ptr (LCCB [C_PRM2]);
;	U 0585		LEN = .CCB [C_CNT];
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page  18
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (8)

;	U 0586		byt$tiny_string (LEN, PTR)
;	U 0587		end;
;	  0588	    %fi
;	  0589	    LCCB [C_CNT] = 1;
;	  0590	    LCCB [C_ADDR] = byt$ptr (LCCB [C_PRM2]);
;	  0591	    LNK [L_ULA] = .CCB [$sub_field (C_PRM1, LO_BYTE)];
;	  0592	    $SC_DO_XME (.LCCB, N_XACC, .LNK);
;	  0593	    LNK [L_STATE] = ST_CA
;	  0594	    end;


						.SBTTL	SX$ACW
000000	004167  000000G			SX$ACW::JSR	R1,$SAVE4			;					0534
000004	016700  000002G				MOV	.CRDAT+2,R0			;					0557
000010	004767  000000G				JSR	PC,$CCBGT			;					0565
000014	103402 					BCS	1$
000016	010402 					MOV	R4,R2				; $MCB$R4,LCCB
000020	000405 					BR	2$
000022	052710  002000 			1$:	BIS	#2000,(R0)
000026	042710  010000 				BIC	#10000,(R0)
000032	000207 					RTS	PC
000034	016601  000014 			2$:	MOV	14(SP),R1			; LNK,*					0567
000040	012703  000022 				MOV	#22,R3
000044	060103 					ADD	R1,R3
000046	004767  000000G				JSR	PC,$CMQRM
000052	103401 					BCS	3$
000054	010403 					MOV	R4,R3				; $MCB$R4,CCB
000056	126327  000025  000002 		3$:	CMPB	25(R3),#2			; *(CCB),*				0570
000064	001003 					BNE	4$
000066	012700  000002 				MOV	#2,R0				;					0569
000072	000402 					BR	5$
000074	012700  000001 			4$:	MOV	#1,R0
000100	010062  000024 			5$:	MOV	R0,24(R2)			; *,*(LCCB)				0568
000104	010246 					MOV	R2,-(SP)			; LCCB,*				0574
000106	010346 					MOV	R3,-(SP)			; CCB,*
000110	004767  000000G				JSR	PC,STKCCB
000114	016300  000022 				MOV	22(R3),R0			; *(CCB),*				0575
000120	001402 					BEQ	6$
000122	010362  000002 				MOV	R3,2(R2)			; CCB,*(LCCB)
000126	010062  000026 			6$:	MOV	R0,26(R2)			; *,*(LCCB)				0578
000132	012762  000001  000022 			MOV	#1,22(R2)			; *,*(LCCB)				0589
000140	012762  000026  000020 			MOV	#26,20(R2)			; *,*(LCCB)				0590
000146	060262  000020 				ADD	R2,20(R2)			; LCCB,*(LCCB)
000152	116361  000024  000002 			MOVB	24(R3),2(R1)			; *(CCB),*				0591
000160	012716  000012 				MOV	#12,(SP)			;					0592
000164	010146 					MOV	R1,-(SP)
000166	010204 					MOV	R2,R4				; LCCB,*
000170	004767  000000G				JSR	PC,DO.XME
000174	112711  000007 				MOVB	#7,(R1)				;					0593
000200	062706  000006 				ADD	#6,SP				;					0557
000204	000207 					RTS	PC				;					0534
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page  19
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (8)

; Routine Size:  67 words,	Routine Base:  $CODE$ + 1320
; Maximum stack depth per invocation:  9 words
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page  20
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (9)

;	  0595	global routine SX$CNW (LNK): novalue =
;	  0596	
;	  0597	!++
;	  0598	! FUNCTIONAL DESCRIPTION:
;	  0599	!	This routine waits until a CCB/LDB is available, and
;	  0600	!	then proceeds with the Connect operation.
;	  0601	!
;	  0602	! FORMAL PARAMETERS:
;	  0603	!	LNK	Logical link block address
;	  0604	!
;	  0605	! IMPLICIT INPUTS:
;	  0606	!	Request CCB has been enqueued on the output queue for
;	  0607	!	this LL.
;	  0608	!
;	  0609	! IMPLICIT OUTPUTS:
;	  0610	!	Transition to next connect-state is made.
;	  0611	!
;	  0612	! ROUTINE VALUE:
;	  0613	! COMPLETION CODES:
;	  0614	!	None
;	  0615	!
;	  0616	! SIDE EFFECTS:
;	  0617	!	None
;	  0618	!--
;	  0619	    begin
;	  0620	    $sc_get_data_base (SCDB);
;	  0621	    map	LNK: ref block field (LLT_FIELDS);
;	  0622	    local
;	  0623		CCB: ref block field (C_FIELDS),
;	  0624		LCCB: ref block field (C_FIELDS);
;	  0625	
;	  0626	    if .LNK [L_STATE] eql ST_CID or
;	  0627		.LNK[ L_STATE] eql ST_CLI then return;	! We are just waiting for
;	  0628							!  response from other end
;	  0629	    if
;	  0630		begin
;	  0631		if CCBGT$( LCCB) then true else false
;	  0632		end
;	  0633	
;	  0634		and
;	  0635	
;	  0636		begin
;	  0637		if $MCB_GET_DSR( DSR_CONNECT_BLOCK_SIZE, LCCB[C_ADDR])
;	  0638		then true 
;	  0639		else 
;	  0640			begin
;	  0641			CCBRT$( .LCCB);
;	  0642			false
;	  0643			end
;	  0644		end
;	  0645	    then
;	  0646		LCCB[C_BIAS] = 0
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page  21
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (9)

;	  0647	    else
;	  0648		$SC_WAIT;
;	  0649	
;	  0650	    CMQRM$ (LNK [L_OQUE], CCB);			! Get request CCB off queue
;	  0651	    CONBKO (.CCB, .LCCB);			! Process connect block
;	  0652	
;	  0653	    if .CCB [C_STS] lss 0			! If any error detected -
;	  0654	    then
;	  0655		begin
;	  0656		$MCB_RETURN_DSR( DSR_CONNECT_BLOCK_SIZE, .LCCB[C_ADDR]);
;	  0657		CCBRT$( .LCCB);				! Give back resources, and
;	  0658		$SC_DO_XCP (.CCB)			!  send request back to user
;	  0659		end
;	  0660	    else
;	  0661		begin					! Made it, so request connect
;	  0662		LCCB [C_PRM1] = .LNK [L_RNA];		! Destination node address
;	  0663	        if .LCCB [C_PRM1] eql 0
;	  0664	        then
;	  0665	            LCCB [C_PRM1] = .SCDB [SC_LADDR];
;	  0666		LCCB [C_PRM2] = 			! Set flow control method
;	  0667		    begin
;	  0668		    if .CCB [$sub_field (C_PRM1, HI_BYTE)] eql S$PMSG
;	  0669		    then N$FMES
;	  0670		    else N$FSEG
;	  0671		    end;
;	  0672		LCCB [C_PRM3] = .LNK [L_CHN];		! Channel #
;	  0673		LCCB [C_PRM5] = .LNK;			! Remember our LL
;	  0674		LCCB [C_STK] = .CCB;			! Remember user CCB
;	  0675		$SC_DO_XME (.LCCB, N_XCON, .LNK);	! Finally send the Connect
;	  0676		LNK [L_TIMER] = .SCDB [SC_OTIME];	! Set timer value
;	  0677		LNK [L_STATE] = ST_CIS;			! Connect-Initiate-Sent
;	  0678		end
;	  0679	    end;


						.GLOBL	$DSRGT, $CCBRT, $DSRRT


						.SBTTL	SX$CNW
000000	004167  000000G			SX$CNW::JSR	R1,$SAVE5			;					0595
000004	016746  000002G				MOV	.CRDAT+2,-(SP)			;					0619
000010	016605  000020 				MOV	20(SP),R5			; LNK,*					0626
000014	121527  000002 				CMPB	(R5),#2
000020	001546 					BEQ	11$
000022	121527  000010 				CMPB	(R5),#10			;					0627
000026	001543 					BEQ	11$
000030	004767  000000G				JSR	PC,$CCBGT			;					0631
000034	103420 					BCS	3$
000036	010402 					MOV	R4,R2				; $MCB$R4,LCCB
000040	012701  000156 				MOV	#156,R1				;					0637
000044	004767  000000G				JSR	PC,$DSRGT
000050	103403 					BCS	1$
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page  22
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (9)

000052	010062  000020 				MOV	R0,20(R2)			; $MCB$R0,*(LCCB)
000056	000404 					BR	2$
000060	010204 				1$:	MOV	R2,R4				; LCCB,*				0641
000062	004767  000000G				JSR	PC,$CCBRT
000066	000403 					BR	3$				;					0640
000070	005062  000016 			2$:	CLR	16(R2)				; *(LCCB)				0646
000074	000407 					BR	4$				;					0629
000076	052776  002000  000000 		3$:	BIS	#2000,@0(SP)			;					0647
000104	042776  010000  000000 			BIC	#10000,@0(SP)
000112	000511 					BR	11$
000114	012703  000022 			4$:	MOV	#22,R3				;					0650
000120	060503 					ADD	R5,R3
000122	004767  000000G				JSR	PC,$CMQRM
000126	103401 					BCS	5$
000130	010403 					MOV	R4,R3				; $MCB$R4,CCB
000132	010346 				5$:	MOV	R3,-(SP)			; CCB,*					0651
000134	010246 					MOV	R2,-(SP)			; LCCB,*
000136	004767  000000G				JSR	PC,CONBKO
000142	005763  000014 				TST	14(R3)				; *(CCB)				0653
000146	002020 					BGE	6$
000150	016200  000020 				MOV	20(R2),R0			; *(LCCB),*				0656
000154	012701  000156 				MOV	#156,R1
000160	004767  000000G				JSR	PC,$DSRRT
000164	010204 					MOV	R2,R4				; LCCB,*				0657
000166	004767  000000G				JSR	PC,$CCBRT
000172	112763  000014  000012 			MOVB	#14,12(R3)			; *,*(CCB)				0658
000200	010304 					MOV	R3,R4				; CCB,*
000202	004767  000000G				JSR	PC,$SCHED
000206	000452 					BR	10$				;					0653
000210	012700  000024 			6$:	MOV	#24,R0				;					0662
000214	060200 					ADD	R2,R0				; LCCB,*
000216	016510  000006 				MOV	6(R5),(R0)
000222	001004 					BNE	7$				;					0663
000224	016601  000004 				MOV	4(SP),R1			;					0665
000230	016110  000010 				MOV	10(R1),(R0)
000234	126327  000025  000002 		7$:	CMPB	25(R3),#2			; *(CCB),*				0668
000242	001003 					BNE	8$
000244	012700  000002 				MOV	#2,R0				;					0667
000250	000402 					BR	9$
000252	012700  000001 			8$:	MOV	#1,R0
000256	010062  000026 			9$:	MOV	R0,26(R2)			; *,*(LCCB)				0666
000262	016562  000010  000030 			MOV	10(R5),30(R2)			; *,*(LCCB)				0672
000270	010562  000034 				MOV	R5,34(R2)			; *,*(LCCB)				0673
000274	010362  000004 				MOV	R3,4(R2)			; CCB,*(LCCB)				0674
000300	012716  000010 				MOV	#10,(SP)			;					0675
000304	010546 					MOV	R5,-(SP)
000306	010204 					MOV	R2,R4				; LCCB,*
000310	004767  000000G				JSR	PC,DO.XME
000314	016600  000006 				MOV	6(SP),R0			;					0676
000320	016065  000026  000012 			MOV	26(R0),12(R5)
000326	112715  000001 				MOVB	#1,(R5)				;					0677
000332	005726 					TST	(SP)+				;					0661
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page  23
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (9)

000334	022626 				10$:	CMP	(SP)+,(SP)+			;					0619
000336	005726 				11$:	TST	(SP)+				;					0595
000340	000207 					RTS	PC

; Routine Size:  113 words,	Routine Base:  $CODE$ + 1526
; Maximum stack depth per invocation:  11 words
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page  24
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (10)

;	  0680	global routine SX$DRW (LNK): novalue =
;	  0681	
;	  0682	!++
;	  0683	! FUNCTIONAL DESCRIPTION:
;	  0684	!	Here to wait for resources to process a data segment request,
;	  0685	!	or supply a receive buffer (SX$MRW)
;	  0686	!
;	  0687	! FORMAL PARAMETERS:
;	  0688	!	LNK	Logical link block address
;	  0689	!
;	  0690	! IMPLICIT INPUTS:
;	  0691	!	CCB contents
;	  0692	!
;	  0693	! IMPLICIT OUTPUTS:
;	  0694	!	None
;	  0695	!
;	  0696	! ROUTINE VALUE:
;	  0697	! COMPLETION CODES:
;	  0698	!	None
;	  0699	!
;	  0700	! SIDE EFFECTS:
;	  0701	!	None
;	  0702	!--
;	  0703	    begin
;	  0704	    $sc_get_data_base (SCDB);
;	  0705	    map	LNK: ref block field (LLT_FIELDS);
;	  0706	    local
;	  0707		CCB: ref block field (C_FIELDS),
;	  0708		LCCB: ref block field (C_FIELDS);
;	  0709	
;	  0710	    ! If we can't get the CCB, we are forced to wait awhile
;	  0711	    if not CCBGT$ (LCCB) then $SC_WAIT;
;	  0712	
;	  0713	    ! We got it - set our context into it
;	  0714	    CMQRM$ (LNK [L_OQUE], CCB);
;	  0715	
;	  0716	    if .CCB [C_MOD] eql S$DRQ
;	  0717	    then
;	  0718		begin
;	  0719		LCCB [C_MOD] = N_XDRQ;
;	  0720		LCCB [C_PRM1] = .CCB [$sub_field (C_PRM1, HI_BYTE)]
;	  0721		end
;	  0722	    else
;	  0723		begin
;	  0724		LCCB [C_MOD] = N_XBUF;
;	  0725		LCCB [C_PRM1] = 1
;	  0726		end;
;	  0727	
;	  0728	    STKCCB (.LCCB, .CCB);
;	  0729	    $SC_DO_XME (.LCCB, .LCCB [C_MOD], .LNK)
;	  0730	    end;
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page  25
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (10)


						.SBTTL	SX$DRW
000000	004167  000000G			SX$DRW::JSR	R1,$SAVE4			;					0680
000004	016700  000002G				MOV	.CRDAT+2,R0			;					0703
000010	004767  000000G				JSR	PC,$CCBGT			;					0711
000014	103402 					BCS	1$
000016	010401 					MOV	R4,R1				; $MCB$R4,LCCB
000020	000405 					BR	2$
000022	052710  002000 			1$:	BIS	#2000,(R0)
000026	042710  010000 				BIC	#10000,(R0)
000032	000207 					RTS	PC
000034	016603  000014 			2$:	MOV	14(SP),R3			; LNK,*					0714
000040	062703  000022 				ADD	#22,R3
000044	004767  000000G				JSR	PC,$CMQRM
000050	103401 					BCS	3$
000052	010400 					MOV	R4,R0				; $MCB$R4,CCB
000054	012703  000012 			3$:	MOV	#12,R3				;					0719
000060	060103 					ADD	R1,R3				; LCCB,*
000062	126027  000013  000012 			CMPB	13(R0),#12			; *(CCB),*				0716
000070	001011 					BNE	4$
000072	112763  000030  000001 			MOVB	#30,1(R3)			;					0719
000100	116061  000025  000024 			MOVB	25(R0),24(R1)			; *(CCB),*(LCCB)			0720
000106	105061  000025 				CLRB	25(R1)				; *(LCCB)
000112	000406 					BR	5$				;					0716
000114	112763  000032  000001 		4$:	MOVB	#32,1(R3)			;					0724
000122	012761  000001  000024 			MOV	#1,24(R1)			; *,*(LCCB)				0725
000130	010146 				5$:	MOV	R1,-(SP)			; LCCB,*				0728
000132	010046 					MOV	R0,-(SP)			; CCB,*
000134	004767  000000G				JSR	PC,STKCCB
000140	005016 					CLR	(SP)				;					0729
000142	116316  000001 				MOVB	1(R3),(SP)
000146	016646  000020 				MOV	20(SP),-(SP)			; LNK,*
000152	010104 					MOV	R1,R4				; LCCB,*
000154	004767  000000G				JSR	PC,DO.XME
000160	062706  000006 				ADD	#6,SP				;					0703
000164	000207 					RTS	PC				;					0680

; Routine Size:  59 words,	Routine Base:  $CODE$ + 2070
; Maximum stack depth per invocation:  9 words
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page  26
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (11)

;	  0731	global routine SX$IRW (LNK): novalue =
;	  0732	
;	  0733	!++
;	  0734	! FUNCTIONAL DESCRIPTION:
;	  0735	!	Here to wait for resources to process an interrupt request
;	  0736	!
;	  0737	! FORMAL PARAMETERS:
;	  0738	!	LNK	Logical link block address
;	  0739	!
;	  0740	! IMPLICIT INPUTS:
;	  0741	!	CCB contents
;	  0742	!
;	  0743	! IMPLICIT OUTPUTS:
;	  0744	!	None
;	  0745	!
;	  0746	! ROUTINE VALUE:
;	  0747	! COMPLETION CODES:
;	  0748	!	None
;	  0749	!
;	  0750	! SIDE EFFECTS:
;	  0751	!	None
;	  0752	!--
;	  0753	    begin
;	  0754	    $sc_get_data_base (SCDB);
;	  0755	    map	LNK: ref block field (LLT_FIELDS);
;	  0756	    local
;	  0757		CCB: ref block field (C_FIELDS),
;	  0758		LCCB: ref block field (C_FIELDS);
;	  0759	
;	  0760	    ! If we can't get the CCB, we are forced to wait awhile
;	  0761	    if not CCBGT$ (LCCB) then $SC_WAIT;
;	  0762	
;	  0763	    ! We got it - set our context into it
;	  0764	    CMQRM$ (LNK [L_INTQ], CCB);
;	  0765	    LCCB [C_PRM1] = .CCB [C_PRM1];
;	  0766	    STKCCB (.LCCB, .CCB);
;	  0767	    $SC_DO_XME (.LCCB, N_XIRQ, .LNK)
;	  0768	    end;


						.SBTTL	SX$IRW
000000	004167  000000G			SX$IRW::JSR	R1,$SAVE4			;					0731
000004	016700  000002G				MOV	.CRDAT+2,R0			;					0753
000010	004767  000000G				JSR	PC,$CCBGT			;					0761
000014	103402 					BCS	1$
000016	010401 					MOV	R4,R1				; $MCB$R4,LCCB
000020	000405 					BR	2$
000022	052710  002000 			1$:	BIS	#2000,(R0)
000026	042710  010000 				BIC	#10000,(R0)
000032	000207 					RTS	PC
000034	016603  000014 			2$:	MOV	14(SP),R3			; LNK,*					0764
000040	062703  000026 				ADD	#26,R3
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page  27
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (11)

000044	004767  000000G				JSR	PC,$CMQRM
000050	103401 					BCS	3$
000052	010400 					MOV	R4,R0				; $MCB$R4,CCB
000054	016061  000024  000024 		3$:	MOV	24(R0),24(R1)			; *(CCB),*(LCCB)			0765
000062	010146 					MOV	R1,-(SP)			; LCCB,*				0766
000064	010046 					MOV	R0,-(SP)			; CCB,*
000066	004767  000000G				JSR	PC,STKCCB
000072	012716  000026 				MOV	#26,(SP)			;					0767
000076	016646  000020 				MOV	20(SP),-(SP)			; LNK,*
000102	010104 					MOV	R1,R4				; LCCB,*
000104	004767  000000G				JSR	PC,DO.XME
000110	062706  000006 				ADD	#6,SP				;					0753
000114	000207 					RTS	PC				;					0731

; Routine Size:  39 words,	Routine Base:  $CODE$ + 2256
; Maximum stack depth per invocation:  9 words
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page  28
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (12)

;	  0769	global routine SX$RJW (LNK): novalue =
;	  0770	
;	  0771	!++
;	  0772	! FUNCTIONAL DESCRIPTION:
;	  0773	!	We are here to obtain resource to finish user link
;	  0774	!	rejection.
;	  0775	!
;	  0776	! FORMAL PARAMETERS:
;	  0777	!	LNK	Logical link block address
;	  0778	!
;	  0779	! IMPLICIT INPUTS:
;	  0780	!	CCB has been enqueued
;	  0781	!
;	  0782	! IMPLICIT OUTPUTS:
;	  0783	!	None
;	  0784	!
;	  0785	! ROUTINE VALUE:
;	  0786	! COMPLETION CODES:
;	  0787	!	None
;	  0788	!
;	  0789	! SIDE EFFECTS:
;	  0790	!	None
;	  0791	!--
;	  0792	    begin
;	  0793	    $sc_get_data_base (SCDB);
;	  0794	    map	LNK: ref block field (LLT_FIELDS);
;	  0795	    local
;	  0796		CCB: ref block field (C_FIELDS),
;	  0797		LCCB: ref block field (C_FIELDS),
;	  0798		PTR;
;	  0799	
;	  0800	    ! If we can't get the CCB, we are forced to wait awhile
;	  0801	    if not CCBGT$ (LCCB) then $SC_WAIT;
;	  0802	
;	  0803	    ! We got it - set our context into it
;	  0804	    CMQRM$ (LNK [L_OQUE], CCB);			! Dequeue original CCB
;	  0805	    STKCCB (.LCCB, .CCB);			! Stack our's on top
;	  0806	    if .CCB [C_CNT] neq 0 then LCCB [C_CHN] = .CCB;
;	  0807	    LCCB [C_ADDR] = byt$ptr (LCCB [C_PRM1]);	! Point to our reason code
;	  0808	    if (.CCB [C_PRM2] gtr 0) or (.CCB [C_PRM2] eql S_ERBO)
;	  0809	    then CCB [C_PRM2] = 0;
;	  0810	    if .CCB [C_PRM2] lss 0 then CCB [C_PRM2] = -.CCB [C_PRM2];
;	  0811	    PTR = byt$ptr (LCCB [C_PRM1]);
;	  0812	    byt$short_string (CCB [C_PRM2], PTR);
;	  0813	    byt$tiny_string (CCB [C_CNT], PTR);
;	  0814	    LCCB [C_CNT] = 3;				! ...
;	  0815	    $SC_DO_XME (.LCCB, N_XREJ, .LNK)		! Send it to NSP
;	  0816	    end;


						.SBTTL	SX$RJW
000000	004167  000000G			SX$RJW::JSR	R1,$SAVE4			;					0769
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page  29
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (12)

000004	016700  000002G				MOV	.CRDAT+2,R0			;					0792
000010	004767  000000G				JSR	PC,$CCBGT			;					0801
000014	103402 					BCS	1$
000016	010401 					MOV	R4,R1				; $MCB$R4,LCCB
000020	000405 					BR	2$
000022	052710  002000 			1$:	BIS	#2000,(R0)
000026	042710  010000 				BIC	#10000,(R0)
000032	000207 					RTS	PC
000034	016603  000014 			2$:	MOV	14(SP),R3			; LNK,*					0804
000040	062703  000022 				ADD	#22,R3
000044	004767  000000G				JSR	PC,$CMQRM
000050	010146 					MOV	R1,-(SP)			; LCCB,*				0805
000052	010446 					MOV	R4,-(SP)			; CCB,*
000054	004767  000000G				JSR	PC,STKCCB
000060	005764  000022 				TST	22(R4)				; *(CCB)				0806
000064	001402 					BEQ	3$
000066	010461  000002 				MOV	R4,2(R1)			; CCB,*(LCCB)
000072	010100 				3$:	MOV	R1,R0				; LCCB,*				0807
000074	062700  000024 				ADD	#24,R0
000100	010061  000020 				MOV	R0,20(R1)			; *,*(LCCB)
000104	012703  000026 				MOV	#26,R3				;					0808
000110	060403 					ADD	R4,R3				; CCB,*
000112	005713 					TST	(R3)
000114	003003 					BGT	4$
000116	021327  177754 				CMP	(R3),#-24
000122	001001 					BNE	5$
000124	005013 				4$:	CLR	(R3)				;					0809
000126	005713 				5$:	TST	(R3)				;					0810
000130	002001 					BGE	6$
000132	005413 					NEG	(R3)
000134	011303 				6$:	MOV	(R3),R3				; *,NUM					0812
000136	110320 					MOVB	R3,(R0)+			; NUM,PTR
000140	000303 					SWAB	R3				; NUM
000142	110320 					MOVB	R3,(R0)+			; NUM,PTR
000144	116420  000022 				MOVB	22(R4),(R0)+			; *(CCB),PTR				0813
000150	012761  000003  000022 			MOV	#3,22(R1)			; *,*(LCCB)				0814
000156	012716  000014 				MOV	#14,(SP)			;					0815
000162	016646  000020 				MOV	20(SP),-(SP)			; LNK,*
000166	010104 					MOV	R1,R4				; LCCB,*
000170	004767  000000G				JSR	PC,DO.XME
000174	062706  000006 				ADD	#6,SP				;					0792
000200	000207 					RTS	PC				;					0769

; Routine Size:  65 words,	Routine Base:  $CODE$ + 2374
; Maximum stack depth per invocation:  9 words
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page  30
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (13)

;	  0817	global routine SX$SDW (LNK): novalue =
;	  0818	
;	  0819	!++
;	  0820	! FUNCTIONAL DESCRIPTION:
;	  0821	!	Here to wait for resources to process a data xmission
;	  0822	!
;	  0823	! FORMAL PARAMETERS:
;	  0824	!	LNK	Logical link block address
;	  0825	!
;	  0826	! IMPLICIT INPUTS:
;	  0827	!	CCB contents
;	  0828	!
;	  0829	! IMPLICIT OUTPUTS:
;	  0830	!	None
;	  0831	!
;	  0832	! ROUTINE VALUE:
;	  0833	! COMPLETION CODES:
;	  0834	!	None
;	  0835	!
;	  0836	! SIDE EFFECTS:
;	  0837	!	None
;	  0838	!--
;	  0839	    begin
;	  0840	    $sc_get_data_base (SCDB);
;	  0841	    map	LNK: ref block field (LLT_FIELDS);
;	  0842	    local
;	  0843		CCB: ref block field (C_FIELDS),
;	  0844		LCCB: ref block field (C_FIELDS);
;	  0845	
;	  0846	    ! If we can't get the CCB, we are forced to wait awhile
;	  0847	    if not CCBGT$ (LCCB) then $SC_WAIT;
;	  0848	
;	  0849	    ! We got it - set our context into it
;	  0850	    CMQRM$ (LNK [L_OQUE], CCB);
;	  0851	    STKCCB (.LCCB, .CCB);			! Stack CCBs
;	  0852	    LCCB [C_PRM1] =
;	  0853		begin
;	  0854		if .CCB [$sub_field (C_PRM1, HI_BYTE)] eql S$PEOM
;	  0855		then N$FEOM
;	  0856		else 0
;	  0857		end;
;	  0858	    $SC_DO_XME (.LCCB, N_XDAT, .LNK)
;	  0859	    end;


						.SBTTL	SX$SDW
000000	004167  000000G			SX$SDW::JSR	R1,$SAVE4			;					0817
000004	016700  000002G				MOV	.CRDAT+2,R0			;					0839
000010	004767  000000G				JSR	PC,$CCBGT			;					0847
000014	103402 					BCS	1$
000016	010401 					MOV	R4,R1				; $MCB$R4,LCCB
000020	000405 					BR	2$
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page  31
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (13)

000022	052710  002000 			1$:	BIS	#2000,(R0)
000026	042710  010000 				BIC	#10000,(R0)
000032	000207 					RTS	PC
000034	016603  000014 			2$:	MOV	14(SP),R3			; LNK,*					0850
000040	062703  000022 				ADD	#22,R3
000044	004767  000000G				JSR	PC,$CMQRM
000050	103401 					BCS	3$
000052	010403 					MOV	R4,R3				; $MCB$R4,CCB
000054	010146 				3$:	MOV	R1,-(SP)			; LCCB,*				0851
000056	010346 					MOV	R3,-(SP)			; CCB,*
000060	004767  000000G				JSR	PC,STKCCB
000064	126327  000025  000004 			CMPB	25(R3),#4			; *(CCB),*				0854
000072	001003 					BNE	4$
000074	012700  000001 				MOV	#1,R0				;					0853
000100	000401 					BR	5$
000102	005000 				4$:	CLR	R0
000104	010061  000024 			5$:	MOV	R0,24(R1)			; *,*(LCCB)				0852
000110	012716  000022 				MOV	#22,(SP)			;					0858
000114	016646  000020 				MOV	20(SP),-(SP)			; LNK,*
000120	010104 					MOV	R1,R4				; LCCB,*
000122	004767  000000G				JSR	PC,DO.XME
000126	062706  000006 				ADD	#6,SP				;					0839
000132	000207 					RTS	PC				;					0817

; Routine Size:  46 words,	Routine Base:  $CODE$ + 2576
; Maximum stack depth per invocation:  9 words
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page  32
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (14)

;	  0860	global routine SX$SIW (LNK): novalue =
;	  0861	
;	  0862	!++
;	  0863	! FUNCTIONAL DESCRIPTION:
;	  0864	!	Here to wait for resources to process an interrupt data xmission
;	  0865	!
;	  0866	! FORMAL PARAMETERS:
;	  0867	!	LNK	Logical link block address
;	  0868	!
;	  0869	! IMPLICIT INPUTS:
;	  0870	!	CCB contents
;	  0871	!
;	  0872	! IMPLICIT OUTPUTS:
;	  0873	!	None
;	  0874	!
;	  0875	! ROUTINE VALUE:
;	  0876	! COMPLETION CODES:
;	  0877	!	None
;	  0878	!
;	  0879	! SIDE EFFECTS:
;	  0880	!	None
;	  0881	!--
;	  0882	    begin
;	  0883	    $sc_get_data_base (SCDB);
;	  0884	    map	LNK: ref block field (LLT_FIELDS);
;	  0885	    local
;	  0886		CCB: ref block field (C_FIELDS),
;	  0887		LCCB: ref block field (C_FIELDS);
;	  0888	
;	  0889	    if .LNK [LL_INTM] then return;		! Only one interrupt at a time
;	  0890	
;	  0891	    ! If we can't get the CCB, we are forced to wait awhile
;	  0892	    if not CCBGT$ (LCCB) then $SC_WAIT;
;	  0893	
;	  0894	    ! We got it - set our context into it
;	  0895	    CMQRM$ (LNK [L_INTQ], CCB);
;	  0896	    STKCCB (.LCCB, .CCB);			! Stack CCBs
;	  0897	    $SC_DO_XME (.LCCB, N_XINT, .LNK);
;	  0898	    LNK [LL_INTM] = true			! Interrupt outstanding now
;	  0899	    end;


						.SBTTL	SX$SIW
000000	004167  000000G			SX$SIW::JSR	R1,$SAVE4			;					0860
000004	016700  000002G				MOV	.CRDAT+2,R0			;					0882
000010	016601  000014 				MOV	14(SP),R1			; LNK,*					0889
000014	032711  020000 				BIT	#20000,(R1)
000020	001037 					BNE	4$
000022	004767  000000G				JSR	PC,$CCBGT			;					0892
000026	103402 					BCS	1$
000030	010402 					MOV	R4,R2				; $MCB$R4,LCCB
000032	000405 					BR	2$
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page  33
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (14)

000034	052710  002000 			1$:	BIS	#2000,(R0)
000040	042710  010000 				BIC	#10000,(R0)
000044	000207 					RTS	PC
000046	012703  000026 			2$:	MOV	#26,R3				;					0895
000052	060103 					ADD	R1,R3
000054	004767  000000G				JSR	PC,$CMQRM
000060	103401 					BCS	3$
000062	010400 					MOV	R4,R0				; $MCB$R4,CCB
000064	010246 				3$:	MOV	R2,-(SP)			; LCCB,*				0896
000066	010046 					MOV	R0,-(SP)			; CCB,*
000070	004767  000000G				JSR	PC,STKCCB
000074	012716  000024 				MOV	#24,(SP)			;					0897
000100	010146 					MOV	R1,-(SP)
000102	010204 					MOV	R2,R4				; LCCB,*
000104	004767  000000G				JSR	PC,DO.XME
000110	052711  020000 				BIS	#20000,(R1)			;					0898
000114	062706  000006 				ADD	#6,SP				;					0882
000120	000207 				4$:	RTS	PC				;					0860

; Routine Size:  41 words,	Routine Base:  $CODE$ + 2732
; Maximum stack depth per invocation:  9 words


;	  0900	
;	  0901	end
;	  0902	eludom



;					OTS external references
						.GLOBL	$SAVE5, $SAVE4


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




;				LIBRARY STATISTICS
;
;					     -------- Symbols --------    Blocks
;	File				     Total    Loaded   Percent      Read
;
;  NETPKG:<SC>SCPRM.L16.4		       262        83        31         0
;  NETPKG:<MCB>MCBLIB.L16.15		       372        43        11         0
;  NETPKG:<MCB>RSXLIB.L16.13		       317         0         0         0
;  NETPKG:<MCB>XPORTX.L16.15		       599         7         1         0
;  NETPKG:<MCB>SCSYS.L16.13		       113        44        38         0
SCRES								25-Jan-1983 10:19:58	TOPS-20 Bliss-16 2A(530)	    Page  34
X01330								30-Dec-1982 20:57:21	NETPKG:<SC>SCRES.BLI.10 (14)






; Size:		790 code + 2 data words
; Run Time:	00:14.1
; Elapsed Time:	00:56.1
; Memory Used:	41 pages
; Compilation Complete
BLISS16				 301	 576
BYT$PTR				 300	 307	 509	 584	 590	 807	 811
BYT$SHORT_STRING		 513	 519	 812
BYT$STRING_SHORT		 360
BYT$TINY_STRING			 308	 524	 586	 813
CB				 288#
CB_FIELDS			 288
CCB				 279	 283	 284	 289	 298	 343	 348	 349	 351	 413	 419	 422
				 423	 426	 455	 460	 461	 494	 501	 502	 508	 510	 524	 561
				 567	 570	 574	 575	 578	 585	 591	 623	 650	 651	 653	 658
				 668	 674	 707	 714	 716	 720	 728	 757	 764	 765	 766	 796
				 804	 805	 806	 808	 809#	 810#	 812	 813	 843	 850	 851	 854
				 886	 895	 896
CCBGT$				 282	 346	 417	 458	 498	 565	 631	 711	 761	 801	 847	 892
CCBRT$				 641	 657
CMQRM$				 283	 348	 419	 460	 501	 567	 650	 714	 764	 804	 850	 895
CONBKI				 247*	 284
CONBKO				 248	 651
C_ADDR				 288	 300	 360	 371	 376	 509	 590	 637	 656	 807
C_BIAS				 356	 646
C_CHN				 508	 575	 806
C_CNT				 311	 357	 361	 366	 368	 372	 377	 508	 524	 525	 575	 578
				 585	 589	 806	 813	 814
C_FIELDS			 279	 280	 343	 344	 413	 415	 455	 456	 494	 495	 561	 562
				 623	 624	 707	 708	 757	 758	 796	 797	 843	 844	 886	 887
C_MOD				 351	 510	 514	 520	 526	 716	 719	 724	 729
C_PRM1				 300	 307	 422	 423	 425	 568	 570	 591	 662	 663	 665	 668
				 720	 725	 765	 807	 811	 852	 854
C_PRM2				 291	 303	 353	 360	 365	 379	 380	 509	 578	 584	 590	 666
				 808	 809	 810	 812
C_PRM3				 672
C_PRM5				 673
C_STK				 502	 674
C_STS				 290	 653
DSR_CONNECT_BLOCK_SIZE		 637	 656
FALSE				 631	 642
FLG				 414	 421#	 422#	 423#	 424#	 425
HI_BYTE				 425	 570	 668	 720	 854
I$CLS				 251
I$OPN				 252
LCCB				 280	 282	 284	 288	 290#	 291#	 292	 300#	 303#	 307	 311#	 312
				 344	 346	 349	 353#	 356	 357	 360	 361#	 365#	 366#	 368	 371#
				 372#	 376#	 377#	 379#	 380#	 384	 415	 417	 425#	 426	 427	 456
				 458	 461	 462	 495	 498	 502#	 508#	 509#	 514#	 520#	 525#	 526
				 531	 562	 565	 568#	 574	 575#	 578#	 584	 589#	 590#	 592	 624
				 631	 637	 641	 646#	 651	 656	 657	 662#	 663	 665#	 666#	 672#
				 673#	 674#	 675	 708	 711	 719#	 720#	 724#	 725#	 728	 729	 758
				 761	 765#	 766	 767	 797	 801	 805	 806#	 807#	 811	 814#	 815
				 844	 847	 851	 852#	 858	 887	 892	 896	 897
LEN				 582	 585#	 586
LLT_FIELDS			 277	 341	 411	 453	 491	 559	 621	 705	 755	 794	 841	 884
LL_INTM				 889	 898
LL_KLOK				 293
LNK				 253	 277	 283	 284	 291#	 292	 293#	 299#	 312	 315	 341	 348
				 384	 385#	 387	 411	 419	 427	 429	 453	 460	 462	 466	 491
				 501	 505	 515#	 521#	 526	 530#	 531	 534	 559	 567	 591#	 592
				 593#	 595	 621	 626	 627	 650	 662	 672	 673	 675	 676#	 677#
				 680	 705	 714	 729	 731	 755	 764	 767	 769	 794	 804	 815
				 817	 841	 850	 858	 860	 884	 889	 895	 897	 898#
LO_BYTE				 591
L_CHN				 672
L_INTQ				 764	 895
L_IQUE				 283	 348	 419	 460
L_OQUE				 501	 567	 650	 714	 804	 850
L_PIX				 299
L_RNA				 662
L_STATE				 385	 505	 515	 521	 530	 593	 626	 627	 677
L_TIMER				 291	 676
L_ULA				 591
MAP$				 356	 381
N$EABL				 176+#
N$EABO				 168+#
N$EABR				 169+#
N$ECLS				 174+#
N$ECON				 165+#
N$ELST				 172+#
N$EMTL				 173+#
N$ENUR				 175+#
N$EOPN				 167+#
N$ERES				 164+#
N$ERMO				 171+#
N$ERUN				 177+#
N$ESTE				 166+#
N$ETMI				 170+#
N$ETRN				 178+#
N$FBOM				 187+#	 422
N$FCMP				 188+#
N$FEOM				 186+#	 423	 855
N$FMES				 185+#	 571	 669
N$FSEG				 184+#	 572	 670
N$HI				 160+#
N$LO				 179+#
N$SACC				 162+#
N$SCC				 198+#
N$SCD				 202+#
N$SCI				 199+#
N$SCL				 208+#
N$SCN				 209+#
N$SCR				 195+#
N$SDIC				 206+#
N$SDI				 205+#
N$SDN				 207+#
N$SDRC				 197+#
N$SDR				 196+#
N$SNC				 201+#
N$SNR				 200+#
N$SO				 194+#
N$SREJ				 161+#
N$SRJ				 203+#
N$SRUN				 204+#
N$SSUC				 163+#
NR$CRW				 217	 253*
NR$DRW				 218	 315*
NR$DTW				 219	 387*
NR$INW				 220	 429*
N_GSTA				 132+#
N_GSTS				 129+#
N_PCLS				 131+#	 531
N_POPN				 130+#
N_RCON				 147+#
N_RDAT				 149+#
N_RDSC				 148+#
N_RHI				 154+#
N_RINT				 150+#	 154+
N_SCNF				 145+#	 351
N_SCNS				 146+#
N_XABT				 137+#	 514
N_XACC				 134+#	 592
N_XBUF				 142+#	 724
N_XCON				 133+#	 675
N_XDAT				 138+#	 858
N_XDRQ				 141+#	 719
N_XDSC				 136+#	 520
N_XHI				 153+#
N_XINI				 143+#	 153+
N_XINT				 139+#	 897
N_XIRQ				 140+#	 767
N_XREJ				 135+#	 312	 815
PTR				 306	 307#	 308	 493	 509#	 513	 519	 524	 583	 584#	 586	 798
				 811#	 812	 813
S$ABO				 510
S$CNR				 292
S$DAT				 427
S$DRQ				 716
S$DSR				 384
S$INT				 462
S$PBOM				 422
S$PEOM				 423	 854
S$PMOM				 424
S$PMSG				 570	 668
SCDB				 276	 291	 294#	 340	 381	 410	 452	 490	 558	 620	 665	 676
				 704	 754	 793	 840	 883
SCF_KLOK			 294
SCRES				   1#
SC_ITIME			 291
SC_LADDR			 665
SC_LLT_BIAS			 381
SC_OTIME			 676
STKCCB				 249	 349	 426	 461	 574	 728	 766	 805	 851	 896
ST_ABI				 515
ST_CA				 593
ST_CID				 626
ST_CIS				 677
ST_CLI				 530	 627
ST_DIR				 385
ST_DI				 521
ST_RUN				 505
SX$ABW				 222	 466*
SX$ACW				 223	 534*
SX$CNW				 224	 595*
SX$DRW				 226	 680*
SX$IRW				 227	 731*
SX$RJW				 229	 769*
SX$SDW				 230	 817*
SX$SIW				 231	 860*
S_EABO				 513
S_EDBO				 380
S_ENUR				 353
S_ERBO				 808
S_SSUC				 290
TRUE				 293	 294	 631	 638	 898
$MCB_GET_DSR			 637
$MCB_RETURN_DSR			 656
$SC_DO_RCE			 289	 298
$SC_DO_RCP			 292	 384	 427	 462
$SC_DO_XCP			 658
$SC_DO_XME			 312	 526	 531	 592	 675	 729	 767	 815	 858	 897
$SC_GET_DATA_BASE		 276	 340	 410	 452	 490	 558	 620	 704	 754	 793	 840	 883
$SC_WAIT			 282	 346	 417	 458	 498	 565	 648	 711	 761	 801	 847	 892
$SUB_FIELD			 425	 570	 591	 668	 720	 854