Google
 

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

;	  0001	module SCXDSP (				! RSX User Interface Module
;	  0002			ident = 'X01340'
;	  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 handles all I/O packets originating from
;	  0033	!		the user, destined for Session Control.  The I/O packets
;	  0034	!		are handled like those in a device service routine.
;	  0035	!		CCBs arriving from Session Control are also handled here.
;	  0036	!
;	  0037	! ENVIRONMENT:	MCB
;	  0038	!
;	  0039	! AUTHOR:	Buren Hoffman		CREATION DATE: 1-Aug-80
;	  0040	!
;	  0041	! MODIFIED BY:
;	  0042	!	X01010	Changed code to use $byt_ptr macro in place of the
;	  0043	!		ch$ptr macro.
;	  0044	!	X01020	Fixed faulty dispatch vector processing, and
;	  0045	!		fixed xportability problems, concerning number of
;	  0046	!		bytes per word.
;	  0047	!	X01030	Corrected memory allocation problem in U$OPN.
;	  0048	!	X01040	Updated signal_stop processing to show more info.
;	  0049	!	X01050	Provide own queueing - can't use the CCB queueing
;	  0050	!		facilities in MCB, because they are for CCBs only.
;	  0051	!	X01060	Fixed byte-vector handling problem in user interface.
;	  0052	!	X01070	Use new Comm/Exec to process linkage (.CRDAT for database)
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page   2
X01340								30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (1)

;	  0053	!	X01080	Upgraded GLN support to return node addresses, ...
;	  0054	!	X01090	Updated to use library calls, instead of requires.
;	  0055	!	X01100	Fixed return to RSX so that RSX$ call is done before
;	  0056	!		returning.
;	  0057	!	X01110	Repaired bug in LUN number calculation.
;	  0058	!	X01120	Numerous minor bug fixes.
;	  0059	!	X01130	Added call to AST queueing routine.
;	  0060	!	X01140	Put in bullet proofing to keep user from using
;	  0061	!		unopened link.
;	  0062	!	X01150	Fixed resource wait dispatch vectors.
;	  0063	!	X01160	Fixed disconnect/reject/timeout processing to
;	  0064	!		keep proper count of active links.
;	  0065	!	X01170	Fix for memory and link management in abort/disconnect
;	  0066	!		processing.
;	  0067	!	X01180	?
;	  0068	!	X01190	Changed code in user abort or disconnect to expect
;	  0069	!		optional data as in a transfer function.
;	  0070	!	X01200	Changed disconnect processing to use control format
;	  0071	!		instead of the transfer function format.
;	  0072	!	X01210	Fixed memory management bug in Reject processing.
;	  0073	!	X01220	Took out fix of X01210, it was wrong.
;	  0074	!	X01230	Did away with old LLLTM$ clock usage - went to new clock.
;	  0075	!	X01240	Fixed LN2 cleanup on connect failures.
;	  0076	!	X01250	Optimization work.
;	  0077	!	X01260	Fixed error where database was being set up before $mcb call.
;	  0078	!	X01270	Fix for disconnect-received before connect received completion,
;	  0079	!		and fixed context error for $HEADR reference while in MCB mode.
;	  0080	!	X01280	Cleaned up LNK deallocation bug.
;	  0081	!	X01290	Fix of DSR management bug in connect-received processing.
;	  0082	!	X01300	Fixed active-link count for connect failure.
;	  0083	!	x01310  Use DSR space instead of LDB's for connect info
;	  0084	!	X01320	Fixed connect-accept failure to properly clean up link.
;	  0085	!	X01330	Repaired race condition when disconnect received.
;	  0086	!	X01340	Work on bug uncovered by edit #34.
;	  0087	!--
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page   3
X01340								30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (2)

;	  0088	!
;	  0089	! INCLUDE FILES:
;	  0090	!
;	  0091	library 'SCPRM';		! Our parameter and macro definitions
;	  0092	library 'MCB:MCBLIB';
;	  0093	library 'MCB:RSXLIB';
;	  0094	library 'MCB:XPORTX';
;	  0095	library 'MCB:SCSYS';
;	  0096	
;	  0097	require 'SCRSX';
;	  0191	
;	  0192	!
;	  0193	! TABLE OF CONTENTS:
;	  0194	!
;	  0195	forward routine
;	  0196	    U$DSP: rsx_ucb_scb_iop novalue,		! QIO dispatch
;	  0197	
;	  0198	    UFCRCP: mcb_db_ccb_mod novalue,		! Receive complete
;	  0199	    UFCTMO: mcb_db_ccb_mod novalue,		! Timeout
;	  0200	    UFCXCP: mcb_db_ccb_mod novalue;		! Transmit complete
;	  0201	
;	  0202	!
;	  0203	! MACROS:
;	  0204	!
;	  0205	
;	  0206	!
;	  0207	! EQUATED SYMBOLS:
;	  0208	!
;	  0209	
;	  0210	!
;	  0211	! OWN STORAGE:
;	  0212	!
;	  0213	
;	  0214	!
;	  0215	! EXTERNAL REFERENCES:
;	  0216	!
;	  0217	external
;	  0218	    $DSPCR,
;	  0219	    $HEADR: ref block field (HDR_FIELDS);
;	  0220	
;	  0221	external routine
;	  0222	    SRUDSW: novalue,			! Disconnect-received-wait
;	  0223	    SRUINW: novalue,			! Interrupt-received-wait
;	  0224	
;	  0225	    U$ABW: novalue,			! Abort-wait
;	  0226	    U$ACW: novalue,			! Accept-wait
;	  0227	    U$ARQ: novalue,			! * Abort-request-wait *
;	  0228	    U$CLW: novalue,			! Close-wait
;	  0229	    U$CNW: novalue,			! Connect-wait-processing
;	  0230	    U$DSW: novalue,			! Disconnect-wait
;	  0231	    U$GLW: novalue,			! Get-local-node-information-wait
;	  0232	    U$IRQ: novalue,			! * Interrupt-request-wait *
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page   4
X01340								30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (2)

;	  0233	    U$RCW: novalue,			! Receive-wait
;	  0234	    U$RJW: novalue,			! Reject-wait
;	  0235	    U$SNW: novalue,			! Send-wait
;	  0236	    U$XMW: novalue,			! Send-interrupt-wait
;	  0237	
;	  0238	    BUFCHK,				! User buffer verification and mapping
;	  0239	    FNDOBJ,				! Find specified object task
;	  0240	    GETLCB,				! Obtain and init LCB
;	  0241	    LCBKIL: novalue,			! Unlink and deallocate LCB
;	  0242	    MBPROC,				! Process mailbox queue
;	  0243	    NOOP: novalue,			! This routine just returns
;	  0244	    QUEAST,				! Queue an AST to RSX
;	  0245	    STXMAP,				! Map from SC codes to RSX User codes
;	  0246	    ULAGET,				! Find available ULA
;	  0247	    ULARD,				! Read specified ULA entry
;	  0248	    ULASET: novalue;			! Set value in specified ULA entry
;	  0249	
;	  0250	
;	  0251	!++
;	  0252	!
;	  0253	! *** RSX DISPATCH VECTOR ***
;	  0254	!
;	  0255	! This vector is the route via which RSX dispatches
;	  0256	! IOPs to SCX.
;	  0257	!
;	  0258	!--
;	  0259	
;	  0260	global bind
;	  0261	    $NSTBL = uplit (
;	  0262		U$DSP,			! QIO dispatcher
;	  0263		NOOP,			! I/O cancellation
;	  0264		NOOP,			! Timeout
;	  0265		NOOP),			! Power failure
;	  0266	
;	  0267	    $ODSP = uplit (
;	  0268		uplit (U$SNW, U$XMW),					! IOP_XMT
;	  0269		uplit (U$RCW),						! IOP_RCV
;	  0270		uplit (U$CNW, U$ACW),					! IOP_CON
;	  0271		uplit (U$DSW, U$ABW, U$RJW),				! IOP_DSC
;	  0272		uplit (U$CLW, U$CLW, -1, -1, -1, -1, -1, U$GLW)),	! IOP_CTL
;	  0273	
;	  0274	    $IDSP = uplit (
;	  0275		none_such,		! 
;	  0276		none_such,		! 
;	  0277		SRUINW,			! Interrupt received
;	  0278		SRUDSW);		! Disconnect received
;	  0279	
;	  0280	
;	  0281	!++
;	  0282	!
;	  0283	! *** MCB DISPATCH VECTOR ***
;	  0284	!
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page   5
X01340								30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (2)

;	  0285	! This vector is the route via which the MCB dispatches
;	  0286	! CCBs to SCX.
;	  0287	!
;	  0288	!--
;	  0289	
;	  0290	global bind
;	P 0291	    $SCXLL = TABLE$ ($DSPCR, FC_CCP,
;	P 0292		(FC_TIM, UFCTMO),		! UFCTMO - Timeout
;	P 0293		(FC_XCP, UFCXCP),		! UFCXCP - Transmit complete
;	  0294		(FC_RCP, UFCRCP));		! UFCRCP - Receive complete
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page   6
X01340		User Interface					30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (3)

;	  0295	%sbttl 'User Interface';
;	  0296	routine U$DSP (UCB, SCB, IOP): RSX_UCB_SCB_IOP novalue =
;	  0297	
;	  0298	!++
;	  0299	! FUNCTIONAL DESCRIPTION:
;	  0300	!
;	  0301	!
;	  0302	! FORMAL PARAMETERS:
;	  0303	!	UCB	The unit control block
;	  0304	!	SCB	The Status Control Block
;	  0305	!	IOP	The I/O packet
;	  0306	!
;	  0307	! IMPLICIT INPUTS:
;	  0308	!	IOP, SCB, & UCB contents
;	  0309	!
;	  0310	! IMPLICIT OUTPUTS:
;	  0311	!	None
;	  0312	!
;	  0313	! ROUTINE VALUE:
;	  0314	! COMPLETION CODES:
;	  0315	!	None
;	  0316	!
;	  0317	! SIDE EFFECTS:
;	  0318	!	None
;	  0319	!--
;	  0320	
;	  0321	    begin
;	  0322	    map IOP: ref block field (IOP_FIELDS);
;	  0323	    local
;	  0324		LUN,
;	  0325		MODIFIER,
;	  0326		QFLAG,
;	  0327		STS,
;	  0328		COUNT: byte_vector [2],
;	  0329		SCXDB: ref block field (SCXDB_FIELDS),
;	  0330		LCB: ref block field (LCB_FIELDS),
;	  0331		MB_PREV: ref block field (MBP_FIELDS),
;	  0332		MB: ref block field (MBP_FIELDS),
;	  0333		STATUS: byte_vector [2],
;	  0334		TNB: ref block field (TNB_FIELDS);
;	  0335	    bind
;	  0336		COUNT_WORD = COUNT [0],
;	  0337		STATUS_WORD = STATUS [0];
;	  0338	    label
;	  0339		DATA_PROC,
;	  0340		CONNECT_PROC,
;	  0341		DISCONNECT_PROC,
;	  0342		CONTROL_PROC;
;	  0343	    compiletime
;	  0344		LUN_OFFSET = %fieldexpand (H_LUN, 0) * %upval;
;	  0345	
;	  0346	    ! ** Become an MCB process
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page   7
X01340		User Interface					30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (3)

;	  0347	    MCB$ (.UCB, SCXDB);
;	  0348	    STATUS_WORD = 0;			! Initialize the STATUS vector
;	  0349	    STS = 0;				!   and status flag
;	  0350	    COUNT_WORD = 0;			!   and COUNT variables
;	  0351	    QFLAG = true;			! Assume to queue it to LC_OQUE
;	L 0352	    %if %bliss (bliss36)
;	U 0353	    %then
;	U 0354		IOP [I_LN2] = (.IOP [I_LN2])^%upval + .$HEADR + LUN_OFFSET - %upval;
;	  0355	    %fi
;	  0356	
;	  0357	    LUN = (.IOP [I_LN2] - .$HEADR - LUN_OFFSET + %upval) ^-%upval;
;	  0358	    LCB = TNB = (.(.IOP [I_LN2]) and -2);
;	  0359	    MODIFIER = .IOP [I_MOD] and %o'177';
;	  0360	
;	  0361	    STS =
;	  0362		begin
;	  0363		if (.IOP [I_FNC] eql IOP_CTL) and (.MODIFIER eql IOP$OPN)	! If OPEN
;	  0364		then (if .$HEADR [H_NML] neq 0 then IE_PRI else IS_SUC)		! Can't have two
;	  0365		else (if .$HEADR [H_NML] eql 0 then IE_PRI else IS_SUC)		! But must have one
;	  0366		end;
;	  0367	
;	  0368	    if .STS eql IS_SUC
;	  0369	    then STS =
;	  0370		begin
;	  0371		case .IOP [I_FNC] from IOP_LO to IOP_HI of
;	  0372		    set
;	  0373	
;	  0374		    ! ***************************
;	  0375		    ! ** Send and Receive Data **
;	  0376		    ! ***************************
;	  0377		    [IOP_XMT, IOP_RCV]: DATA_PROC:
;	  0378			! Expected inputs
;	  0379			! I_PRM1 = Buffer bias
;	  0380			! I_PRM2 = Buffer address
;	  0381			! I_PRM3 = Buffer length
;	  0382	
;	  0383			! ***************************
;	  0384			! ** U$SND & U$INT & U$RCV **
;	  0385			! ***************************
;	  0386			begin
;	  0387			if (.LCB eql 0) or .LCB [LCF_DSC]
;	  0388			then leave DATA_PROC with IE_PRI;
;	  0389	
;	  0390			TNB = .LCB [LC_TNB];
;	  0391			if .MODIFIER eql IOP$INT
;	  0392			then
;	  0393			    begin
;	  0394			    $SCX_ENQUEUE (LCB [LC_NQUE], .IOP);
;	  0395			    QFLAG = false
;	  0396			    end;
;	  0397	
;	  0398			IS_SUC
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page   8
X01340		User Interface					30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (3)

;	  0399			end;
;	  0400	
;	  0401	
;	  0402		    ! ************************
;	  0403		    ! ** Connect Processing **
;	  0404		    ! ************************
;	  0405		    [IOP_CON]: CONNECT_PROC:
;	  0406			begin
;	  0407			if .LCB neq 0 then leave CONNECT_PROC with IE_PRI;
;	  0408	
;	  0409			selectone .MODIFIER of
;	  0410			    set
;	  0411	
;	  0412			    ! ***********
;	  0413			    ! ** U$ACC **
;	  0414			    ! ***********
;	  0415			    [IOP$ACC]:
;	  0416				! Expected inputs
;	  0417				! I_PRM1 = Connect block bias
;	  0418				! I_PRM2 =    "      "   address
;	  0419				! I_PRM3 =    "      "   length
;	  0420				! I_PRM4 = Optional output buffer address
;	  0421				! I_PRM5 =    "       "      "    length
;	  0422	
;	  0423				begin
;	  0424				local
;	  0425				    TMP;
;	  0426				bind
;	  0427				    CND = IOP [I_PRM2]: ref block field (CND_FIELDS);
;	  0428	
;	  0429				if .IOP [I_PRM3] lss 2
;	  0430				then leave CONNECT_PROC with IE_BAD;
;	  0431	
;	  0432				if (TMP = BUFCHK (IOP [I_PRM4], IOP [I_PRM3], 16) lss 0)
;	  0433				then leave CONNECT_PROC with .TMP;
;	  0434	
;	  0435				TNB = .((.$HEADR [H_NML])^%upval + .$HEADR + LUN_OFFSET - %upval);
;	  0436				MAP$ (.IOP [I_PRM1]);			! Look at connect block
;	  0437				MB = TNB [TN_MBXQ];			! Scan mailbox
;	  0438				while (MB_PREV = .MB; MB = .MB [MB_LINK]) neq 0 do
;	  0439				    begin
;	  0440				    if .MB eql .CND [CND_TLA] then exitloop
;	  0441				    end;
;	  0442	
;	  0443				if .MB eql 0 then leave CONNECT_PROC with IE_BAD;
;	  0444	
;	  0445				if not GETLCB (TNB, LCB, .IOP [I_TCB])
;	  0446				then leave CONNECT_PROC with IE_RSU;
;	  0447				.IOP [I_LN2] = .LCB;
;	  0448				LCB [LC_LUN] = .LUN;
;	  0449				LCB [LC_LLA] = .MB [MB_LLA];
;	  0450				if (MB_PREV [MB_LINK] = .MB [MB_LINK]) eql 0
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page   9
X01340		User Interface					30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (3)

;	  0451				then TNB [TN_MBTL] = .MB_PREV;
;	  0452				$MCB_RETURN_DSR (MBP_SIZE*bytes_word + .MB [MB_CNT], .MB)
;	  0453				end;
;	  0454	
;	  0455	
;	  0456			    ! ***********
;	  0457			    ! ** U$CON **
;	  0458			    ! ***********
;	  0459			    [IOP$CON]:
;	  0460				! Expected inputs
;	  0461				! I_PRM1 = Connect block bias
;	  0462				! I_PRM2 =    "      "   address
;	  0463				! I_PRM3 =    "      "   length
;	  0464				! I_PRM4 = Optional output buffer address
;	  0465				! I_PRM5 =    "       "      "    length
;	  0466				! I_PRM6 = Optional input buffer address
;	  0467				! I_PRM7 =    "       "     "    length
;	  0468	
;	  0469				begin
;	  0470				local
;	  0471				    TMP;
;	  0472	
;	  0473				if .IOP [I_PRM3] neq N_RQL
;	  0474				then leave CONNECT_PROC with IE_BAD;
;	  0475	
;	  0476				if ((TMP = BUFCHK (IOP [I_PRM4], IOP [I_PRM3], 16)) lss 0) or
;	  0477				   ((TMP = BUFCHK (IOP [I_PRM6], IOP [I_PRM6], 16)) lss 0)
;	  0478				then leave CONNECT_PROC with .TMP;
;	  0479	
;	  0480				if not GETLCB (TNB, LCB, .IOP [I_TCB])
;	  0481				then leave CONNECT_PROC with IE_RSU;
;	  0482				TNB [TN_ACT] = .TNB [TN_ACT] + 1;
;	  0483				.IOP [I_LN2] = .LCB;
;	  0484				LCB [LC_LUN] = .LUN
;	  0485				end;
;	  0486	
;	  0487	
;	  0488	
;	  0489			    ! **********
;	  0490			    ! ** OOPS **
;	  0491			    ! **********
;	  0492			    [otherwise]: leave CONNECT_PROC with IE_PRI;
;	  0493	
;	  0494			    tes;
;	  0495	
;	  0496			leave CONNECT_PROC with IS_SUC
;	  0497			end;
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  10
X01340		User Interface					30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (4)

;	  0498		    ! ***************************
;	  0499		    ! ** Disconnect Processing **
;	  0500		    ! ***************************
;	  0501		    [IOP_DSC]: DISCONNECT_PROC:
;	  0502			! Expected inputs
;	  0503			! I_PRM1 =    "      "   address
;	  0504			! I_PRM2 =    "      "   length
;	  0505			! I_PRM4 = Optional output buffer address (REJ only)
;	  0506			! I_PRM5 =    "       "      "    length  ( "   "  )
;	  0507	
;	  0508			begin
;	  0509			local
;	  0510			    TMP;
;	  0511	
;	  0512			IOP [I_PRM5] = .IOP [I_PRM4];		! Copy PRM3 & PRM4
;	  0513			IOP [I_PRM4] = .IOP [I_PRM3];		!  to make room for
;	  0514								! expanded address
;	  0515			if (TMP = BUFCHK (IOP [I_PRM1], IOP [I_PRM1], 0)) lss 0
;	  0516			then leave DISCONNECT_PROC with TMP;
;	  0517	
;	  0518			selectone .MODIFIER of
;	  0519			    set
;	  0520		
;	  0521			    ! *******************
;	  0522			    ! ** U$ABO & U$DSC **
;	  0523			    ! *******************
;	  0524			    [IOP$ABO, IOP$DSC]:
;	  0525				! Expected inputs
;	  0526				! I_PRM1 = Optional Data bias
;	  0527				! I_PRM2 =    "      "   address
;	  0528				! I_PRM3 =    "      "   length
;	  0529	
;	  0530				begin
;	  0531				local
;	  0532				    TMP;
;	  0533				if (.LCB eql 0) or .LCB [LCF_DSC]
;	  0534				then leave DISCONNECT_PROC with IE_PRI;
;	  0535				TNB = .LCB [LC_TNB];
;	  0536				if .IOP [I_PRM3] gtr 16
;	  0537				then leave DISCONNECT_PROC with IE_BAD;
;	  0538				LCB [LCF_DSC] = true;		! Abort/Disc started
;	  0539				if .MODIFIER eql IOP$ABO
;	  0540				then
;	  0541				    begin
;	  0542				    $SCX_STACK (LCB [LC_NQUE], .IOP);
;	  0543				    QFLAG = false
;	  0544				    end
;	  0545				end;
;	  0546	
;	  0547	
;	  0548			    ! ***********
;	  0549			    ! ** U$REJ **
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  11
X01340		User Interface					30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (4)

;	  0550			    ! ***********
;	  0551			    [IOP$REJ]:
;	  0552				! Expected inputs
;	  0553				! I_PRM1 = Connect block bias
;	  0554				! I_PRM2 =    "      "   address
;	  0555				! I_PRM3 =    "      "   length
;	  0556				! I_PRM4 = Optional output buffer address
;	  0557				! I_PRM5 =    "       "      "    length
;	  0558	
;	  0559				begin
;	  0560				local
;	  0561				    TMP;
;	  0562				bind
;	  0563				    CND = IOP [I_PRM2]: ref block field (CND_FIELDS);
;	  0564	
;	  0565				LCB = 0;
;	  0566				if .LUN neq .$HEADR [H_NML]
;	  0567				then leave DISCONNECT_PROC with IE_PRI;
;	  0568	
;	  0569				if .IOP [I_PRM3] lss 2
;	  0570				then leave DISCONNECT_PROC with IE_BAD;
;	  0571	
;	  0572				if (TMP = BUFCHK (IOP [I_PRM4], IOP [I_PRM3], 16)) lss 0
;	  0573				then leave DISCONNECT_PROC with .TMP;
;	  0574				MAP$ (.IOP [I_PRM1]);			! Look at connect block
;	  0575				MB = TNB [TN_MBXQ];			! Scan mailbox
;	  0576				while (MB_PREV = .MB; MB = .MB [MB_LINK]) neq 0 do
;	  0577				    begin
;	  0578				    if .MB eql .CND [CND_TLA] then exitloop
;	  0579				    end;
;	  0580	
;	  0581				if .MB eql 0 then leave DISCONNECT_PROC with IE_BAD;
;	  0582	
;	  0583				IOP [I_PRM6] = .MB [MB_LLA];		! Remember LLA
;	  0584				if (MB_PREV [MB_LINK] = .MB [MB_LINK]) eql 0
;	  0585				then TNB [TN_MBTL] = .MB_PREV;
;	  0586				$MCB_RETURN_DSR (MBP_SIZE*bytes_word + .MB [MB_CNT], .MB);
;	  0587				$SCX_ENQUEUE (TNB [TN_OQUE], .IOP);
;	  0588				QFLAG = false
;	  0589				end;
;	  0590	
;	  0591	
;	  0592			    ! **********
;	  0593			    ! ** OOPS **
;	  0594			    ! **********
;	  0595			    [otherwise]: leave DISCONNECT_PROC with IE_PRI;
;	  0596	
;	  0597			    tes;
;	  0598	
;	  0599			leave DISCONNECT_PROC with IS_SUC
;	  0600			end;
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  12
X01340		User Interface					30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (5)

;	  0601		    ! *************
;	  0602		    ! ** Control **
;	  0603		    ! *************
;	  0604		    [IOP_CTL]: CONTROL_PROC:
;	  0605			begin
;	  0606			LCB = 0;
;	  0607			if .MODIFIER neq IOP$OPN
;	  0608			then
;	  0609			    begin
;	  0610			    if (.LUN neq .$HEADR [H_NML]) or (.TNB eql 0)
;	  0611			    then leave CONTROL_PROC with IE_PRI
;	  0612			    end;
;	  0613	
;	  0614			selectone .MODIFIER of
;	  0615			    set
;	  0616	
;	  0617			    ! ***********
;	  0618			    ! ** U$OPN **
;	  0619			    ! ***********
;	  0620			    [IOP$OPN]:
;	  0621				! Expected inputs
;	  0622				! I_PRM1 = Maximum allowed logical links
;	  0623	
;	  0624				begin
;	  0625				! Get TNB block of memory from DSR
;	  0626				if not $MCB_GET_DSR (TNB_SIZE*bytes_word, TNB)
;	  0627				then leave CONTROL_PROC with IE_RSU;
;	  0628	
;	  0629				! ** Zero and initialize block
;	  0630				ch$fill(0, SCXDB_SIZE*bytes_word, .TNB);
;	  0631				$HEADR [H_NML] = TNB [TN_LUN] =	.LUN;	! Record LUN #
;	  0632				TNB [TN_LINK] = .SCXDB [SCX_TNB];
;	  0633				SCXDB [SCX_TNB] = .TNB;
;	  0634				.(IOP [I_LN2]) = .TNB;		! Set TNB addr in LN2
;	  0635				TNB [TN_TASK] = .IOP [I_TCB];	! TCB address
;	  0636				TNB [TN_MAX] = .IOP [I_PRM1];	! Max # of links
;	  0637				TNB [TN_OQTL] = TNB [TN_OQHD];	! Init queue
;	  0638				TNB [TN_MBTL] = TNB [TN_MBHD];	!   headers
;	  0639				TNB [TN_IQTL] = TNB [TN_IQHD];	!     ...
;	  0640	
;	  0641				! ** Now move stuff from general delivery mailbox
;	  0642				! **   to the task's mailbox
;	  0643				MB = SCXDB [SCX_MBHD];					! Point to head of list
;	  0644				while (MB_PREV = .MB; MB = .MB [MB_LINK]) neq 0 do	! Go thru whole list
;	  0645				    begin
;	  0646				    if .MB [MB_TASK] eql .TNB [TN_TASK]	! If for this task
;	  0647				    then
;	  0648					begin
;	  0649					if (.MB [MB_FNC] eql MB$CON) and
;	  0650					((.TNB [TN_MAX] neq 0) and (.TNB [TN_ACT] geq .TNB [TN_MAX]))
;	  0651					then
;	  0652					    MB [MB_TIME] = 1	! Too many links, a short timeout
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  13
X01340		User Interface					30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (5)

;	  0653					else
;	  0654					    begin
;	  0655					    if .MB [MB_FNC] eql MB$CON
;	  0656					    then TNB [TN_ACT] = .TNB [TN_ACT] + 1;
;	  0657					    if (MB_PREV [MB_LINK] = .MB [MB_LINK]) eql 0
;	  0658					    then SCXDB [SCX_MBTL] = .MB_PREV;
;	  0659					    $SCX_ENQUEUE (TNB [TN_MBXQ], .MB);
;	  0660					    MB = .MB_PREV
;	  0661					    end
;	  0662					end
;	  0663				    end;
;	  0664	
;	  0665				STATUS [0] = .STS;
;	  0666				RSX$ (.SCXDB);
;	  0667				IOFIN$ (.UCB, .IOP, .STATUS_WORD, .COUNT_WORD);
;	  0668				return
;	  0669				end;
;	  0670	
;	  0671	
;	  0672			    ! ***********
;	  0673			    ! ** U$CLS **
;	  0674			    ! ***********
;	  0675			    [IOP$CLS]:
;	  0676				begin
;	  0677				$SCX_STACK (TNB [TN_OQUE], .IOP);	! Do it soon
;	  0678				TNB [TNF_CLS] = true;			! We started it
;	  0679				QFLAG = false;
;	  0680				leave CONTROL_PROC with IS_SUC
;	  0681				end;
;	  0682	
;	  0683	
;	  0684			    ! ***********
;	  0685			    ! ** U$SPA **
;	  0686			    ! ***********
;	  0687			    [IOP$SPA]:
;	  0688				! Expected inputs
;	  0689				! I_PRM1 = AST address
;	  0690	
;	  0691				begin
;	  0692				TNB [TN_SPA] = .IOP [I_PRM1];
;	  0693	
;	  0694				! Count number of things in queue
;	  0695				MB = TNB [TN_MBXQ];
;	  0696				while (MB = .MB [MB_LINK]) neq 0 do
;	  0697				    begin
;	  0698				    if .MB [MB_FNC] neq MB$CNP
;	  0699				    then COUNT [0] = .COUNT [0] + 1
;	  0700				    end;
;	  0701	
;	  0702				RSX$ (.SCXDB);
;	  0703				IOFIN$ (.UCB, .IOP, IS_SUC, .COUNT_WORD);
;	  0704				return
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  14
X01340		User Interface					30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (5)

;	  0705				end;
;	  0706	
;	  0707			    ! ***********
;	  0708			    ! ** U$GND **
;	  0709			    ! ***********
;	  0710			    [IOP$GND1, IOP$GND2, IOP$GND3]:
;	  0711				! Expected inputs
;	  0712				! I_PRM1 = Buffer address
;	  0713				! I_PRM2 = Buffer length
;	  0714				! I_PRM3 = Mask parameter
;	  0715				! I_PRM4 = (PRM3 will be copied to here)
;	  0716	
;	  0717				begin
;	  0718				local
;	  0719				    FNC,
;	  0720				    SELEKT;
;	  0721	
;	  0722				IOP [I_PRM4] = .IOP [I_PRM3];	! Copy mask parameter
;	  0723				if .MODIFIER neq IOP$GND2	! Check buffer, if must
;	  0724				then
;	  0725				    begin
;	  0726				    local TMP;
;	  0727				    if (TMP = BUFCHK (IOP [I_PRM1], IOP [I_PRM1], 0)) lss 0
;	  0728				    then leave CONTROL_PROC with .TMP
;	  0729				    end;
;	  0730	
;	  0731				! Now scan the mailbox queue
;	  0732				MB = TNB [TN_MBXQ];
;	  0733				while (MB_PREV = .MB; MB = .MB [MB_LINK]) neq 0 do
;	  0734				    begin
;	  0735				    SELEKT = true;			! Assume success
;	  0736				    if (FNC = .MB [MB_FNC]) eql MB$CNP	! Pending connects are invisible to caller
;	  0737				    then SELEKT = false			! No good
;	  0738				    else
;	  0739					begin
;	  0740					local
;	  0741					    TYPE_MASK,
;	  0742					    LUN_MASK;
;	  0743	
;	  0744					if .MODIFIER eql IOP$GND1	! If normal GND
;	  0745					then exitloop;			! Got it !
;	  0746	
;	  0747					TYPE_MASK = .IOP [$sub_field (I_PRM4, LO_BYTE)];
;	  0748					LUN_MASK = .IOP [$sub_field (I_PRM4, HI_BYTE)];
;	  0749	
;	  0750					if (
;	  0751					    ((.TYPE_MASK neq 0) and (.TYPE_MASK neq .FNC)) or
;	  0752					    ((.LUN_MASK neq 0) and (.LUN_MASK neq .MB [MB_LUN])))
;	  0753					then SELEKT = false;		! Didn't make it
;	  0754					end;
;	  0755	
;	  0756				    if .SELEKT then exitloop
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  15
X01340		User Interface					30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (5)

;	  0757				    end;
;	  0758	
;	  0759				if not .SELEKT then leave CONTROL_PROC with IE_NDA;
;	  0760	
;	  0761				if .MODIFIER eql IOP$GND2	! Length and type only
;	  0762				then
;	  0763				    begin
;	  0764				    STS = IS_SUC;
;	  0765				    STATUS [1] = .FNC;
;	  0766				    COUNT [0] = .MB [MB_CNT]
;	  0767				    end
;	  0768				else
;	  0769				    begin
;	  0770				    COUNT [0] = min (.MB [MB_CNT], .IOP [I_PRM3]);	! Determine size of xfer
;	  0771				    COUNT [1] = .MB [MB_LUN];				! Say which LUN (zero for connect)
;	  0772				    STS = (if .COUNT [0] geq .MB [MB_CNT] then IS_SUC else IE_DAO);
;	  0773				    STATUS [1] = .FNC;					! Tell user what it is
;	  0774				    MAP$ (.IOP [I_PRM1]);				! Map user buffer
;	  0775				    ch$move (.COUNT [0], byt$ptr (MB [MB_DATA]), byt$ptr (.IOP [I_PRM2]));
;	  0776	
;	  0777				    if .FNC eql MB$CON
;	  0778				    then
;	  0779					MB [MB_FNC] = MB$CNP		! Logically dequeue connect
;	  0780				    else
;	  0781					begin
;	  0782					if (MB_PREV [MB_LINK] = .MB [MB_LINK]) eql 0	! Physically dequeue MB
;	  0783					then TNB [TN_MBTL] = .MB_PREV;			!   entry, and
;	  0784					LCB = ULARD (.MB [MB_ULA]);	! Get ULA address
;	  0785					$MCB_RETURN_DSR (MBP_SIZE*bytes_word + .MB [MB_CNT], .MB);	!   dealc  memory
;	  0786	
;	  0787					if .FNC eql MB$INT
;	  0788					then U$IRQ (.LCB)
;	  0789					else
;	  0790					    begin
;	  0791						LCB [LCF_DSC] = true;
;	  0792						U$ARQ( .LCB)
;	  0793					    end
;	  0794					end
;	  0795				    end;
;	  0796	
;	  0797				STATUS [0] = .STS;
;	  0798				RSX$ (.SCXDB);
;	  0799				IOFIN$ (.UCB, .IOP, .STATUS_WORD, .COUNT_WORD);
;	  0800				return
;	  0801				end;
;	  0802	
;	  0803			    ! ***********
;	  0804			    ! ** U$GLN **
;	  0805			    ! ***********
;	  0806			    [IOP$GLN]:
;	  0807				! Expected inputs
;	  0808				! I_PRM1 = Buffer address
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  16
X01340		User Interface					30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (5)

;	  0809				! I_PRM2 = Buffer length
;	  0810				! I_PRM3 = Option selector
;	  0811	
;	  0812				begin
;	  0813				local
;	  0814				    TMP;
;	  0815	
;	  0816				IOP [I_PRM4] = .IOP [I_PRM3];
;	  0817				if (.IOP [I_PRM2] eql 0) or 
;	  0818				   (TMP = BUFCHK (IOP [I_PRM1], IOP [I_PRM1], 0)) lss 0
;	  0819				    then leave CONTROL_PROC with .TMP;
;	  0820	
;	  0821				$SCX_ENQUEUE (TNB [TN_OQUE], .IOP);
;	  0822				QFLAG = false
;	  0823				end;
;	  0824	
;	  0825	
;	  0826			    ! **********
;	  0827			    ! ** OOPS **
;	  0828			    ! **********
;	  0829			    [otherwise]: leave CONTROL_PROC with IE_PRI;
;	  0830	
;	  0831			    tes
;	  0832			end;
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  17
X01340		User Interface					30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (6)

;	  0833		    ! **********
;	  0834		    ! ** Zonk **
;	  0835		    ! **********
;	  0836		    [inrange, outrange]:
;	  0837			begin
;	  0838			selectoneu .IOP [I_FNC] of
;	  0839	
;	  0840			    set
;	  0841	
;	  0842			    ! ***********
;	  0843			    ! ** CLOSE **
;	  0844			    ! ***********
;	  0845			    [IOP$CLS]:
;	  0846				begin
;	  0847				if (.LUN neq .$HEADR [H_NML]) or (.TNB [TNF_CLS]) then return
;	  0848				IOP [I_FNC] = IOP_CTL;		! Change codes awhile
;	  0849				IOP [I_MOD] = IOP$CLO;
;	  0850				$SCX_STACK (TNB [TN_OQUE], .IOP);
;	  0851				QFLAG = false;
;	  0852				IS_SUC
;	  0853				end;
;	  0854	
;	  0855	
;	  0856			    ! ********************
;	  0857			    ! ** DISMOUNT, OR ? **
;	  0858			    ! ********************
;	  0859			    [otherwise]: IE_PRI;
;	  0860	
;	  0861			    tes
;	  0862			end
;	  0863		    tes
;	  0864		end;
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  18
X01340		User Interface					30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (7)

;	  0865	    STATUS [0] = .STS;
;	  0866	    if .STS geq 0
;	  0867	    then
;	  0868		begin
;	  0869		if .QFLAG then $SCX_ENQUEUE (LCB [LC_OQUE], .IOP);
;	  0870		if .TNB neq 0
;	  0871		    then $SCX_DISPATCH_OUTPUT (TNB [TN_OQUE], .TNB);
;	  0872		if .LCB neq 0
;	  0873		then
;	  0874		    begin
;	  0875		    $SCX_DISPATCH_OUTPUT (LCB [LC_NQUE], .LCB);
;	  0876		    $SCX_DISPATCH_OUTPUT (LCB [LC_OQUE], .LCB)
;	  0877		    end;
;	  0878		RSX$ (.SCXDB)
;	  0879		end
;	  0880	    else
;	  0881		begin
;	  0882		RSX$ (.SCXDB);
;	  0883		IOFIN$ (.UCB, .IOP, .STATUS_WORD, .COUNT_WORD)
;	  0884		end
;	  0885	    end;


						.TITLE	SCXDSP
						.IDENT	/X01340/


000000						.PSECT	$PLIT$,  RO ,  D  
000000	000000'				P.AAA:	.WORD	U$DSP
000002	000000G					.WORD	NOOP
000004	000000G					.WORD	NOOP
000006	000000G					.WORD	NOOP
000010	000000G				P.AAC:	.WORD	U$SNW
000012	000000G					.WORD	U$XMW
000014	000000G				P.AAD:	.WORD	U$RCW
000016	000000G				P.AAE:	.WORD	U$CNW
000020	000000G					.WORD	U$ACW
000022	000000G				P.AAF:	.WORD	U$DSW
000024	000000G					.WORD	U$ABW
000026	000000G					.WORD	U$RJW
000030	000000G				P.AAG:	.WORD	U$CLW
000032	000000G					.WORD	U$CLW
000034	177777 					.WORD	-1
000036	177777 					.WORD	-1
000040	177777 					.WORD	-1
000042	177777 					.WORD	-1
000044	177777 					.WORD	-1
000046	000000G					.WORD	U$GLW
000050	000010'				P.AAB:	.WORD	P.AAC
000052	000014'					.WORD	P.AAD
000054	000016'					.WORD	P.AAE
000056	000022'					.WORD	P.AAF
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  19
X01340		User Interface					30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (7)

000060	000030'					.WORD	P.AAG
000062	177777 				P.AAH:	.WORD	-1
000064	177777 					.WORD	-1
000066	000000G					.WORD	SRUINW
000070	000000G					.WORD	SRUDSW
000072	000000G				P.AAI:	.WORD	$DSPCR
000074	000000G					.WORD	$DSPCR
000076	000000G					.WORD	$DSPCR
000100	000000G					.WORD	$DSPCR
000102	000000G					.WORD	$DSPCR
000104	000000V					.WORD	UFCTMO
000106	000000V					.WORD	UFCXCP
000110	000000V					.WORD	UFCRCP
000112	000000G					.WORD	$DSPCR
000114	000000G					.WORD	$DSPCR


						.GLOBL	$DSPCR, $HEADR, SRUDSW, SRUINW
						.GLOBL	U$ABW, U$ACW, U$ARQ, U$CLW, U$CNW
						.GLOBL	U$DSW, U$GLW, U$IRQ, U$RCW, U$RJW
						.GLOBL	U$SNW, U$XMW, BUFCHK, FNDOBJ, GETLCB
						.GLOBL	LCBKIL, MBPROC, NOOP, QUEAST, STXMAP
						.GLOBL	ULAGET, ULARD, ULASET, $MCB, $SCQIN
						.GLOBL	KISAR6, $DSRRT, $SCQHD, $DSRGT
						.GLOBL	$RSX, $IOFIN


	000000'				$NSTBL==	    P.AAA
	000050'				$ODSP==		    P.AAB
	000062'				$IDSP==		    P.AAH
	000072'				$SCXLL==	    P.AAI
	000050'				ODSP=		    P.AAB
	000050'				ODSP=		    P.AAB
	000050'				ODSP=		    P.AAB


						.SBTTL	U$DSP User Interface
000000						.PSECT	$CODE$,  RO 

000000	162706  000034 			U$DSP:	SUB	#34,SP				;					0296
000004	010166  000014 				MOV	R1,14(SP)
000010	010566  000012 				MOV	R5,12(SP)
000014	004767  000000G				JSR	PC,$MCB				;					0347
000020	010566  000010 				MOV	R5,10(SP)			; $MCB$R5,SCXDB
000024	005066  000024 				CLR	24(SP)				; STATUS.WORD				0348
000030	005016 					CLR	(SP)				; STS					0349
000032	005066  000022 				CLR	22(SP)				; COUNT.WORD				0350
000036	012766  000001  000006 			MOV	#1,6(SP)			; *,QFLAG				0351
000044	012700  000006 				MOV	#6,R0				;					0357
000050	066600  000014 				ADD	14(SP),R0
000054	010066  000004 				MOV	R0,4(SP)
000060	011000 					MOV	(R0),R0
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  20
X01340		User Interface					30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (7)

000062	166700  000000G				SUB	$HEADR,R0
000066	162700  000074 				SUB	#74,R0
000072	010003 					MOV	R0,R3				; *,LUN
000074	006203 					ASR	R3				; LUN
000076	006203 					ASR	R3				; LUN
000100	017601  000004 				MOV	@4(SP),R1			;					0358
000104	011100 					MOV	(R1),R0
000106	042700  000001 				BIC	#1,R0
000112	010066  000032 				MOV	R0,32(SP)			; *,TNB
000116	010066  000030 				MOV	R0,30(SP)			; *,LCB
000122	012700  000012 				MOV	#12,R0				;					0359
000126	066600  000014 				ADD	14(SP),R0
000132	010002 					MOV	R0,R2
000134	111266  000002 				MOVB	(R2),2(SP)			; *,MODIFIER
000140	042766  177600  000002 			BIC	#177600,2(SP)			; *,MODIFIER
000146	016700  000000G				MOV	$HEADR,R0			;					0364
000152	062700  000060 				ADD	#60,R0
000156	126227  000001  000035 			CMPB	1(R2),#35			;					0363
000164	001011 					BNE	1$
000166	005766  000002 				TST	2(SP)				; MODIFIER
000172	001006 					BNE	1$
000174	005001 					CLR	R1				;					0364
000176	156001  000001 				BISB	1(R0),R1
000202	005701 					TST	R1
000204	001411 					BEQ	3$
000206	000405 					BR	2$
000210	005001 				1$:	CLR	R1				;					0365
000212	156001  000001 				BISB	1(R0),R1
000216	005701 					TST	R1
000220	001003 					BNE	3$
000222	012716  177760 			2$:	MOV	#-20,(SP)			; *,STS
000226	000402 					BR	4$
000230	012716  000001 			3$:	MOV	#1,(SP)				; *,STS
000234	021627  000001 			4$:	CMP	(SP),#1				; STS,*					0368
000240	001402 					BEQ	5$
000242	000167  003324 				JMP	78$
000246	005000 				5$:	CLR	R0				;					0370
000250	156200  000001 				BISB	1(R2),R0
000254	162700  000031 				SUB	#31,R0
000260	020027  000004 				CMP	R0,#4
000264	101003 					BHI	6$
000266	006300 					ASL	R0
000270	066007  000116'				ADD	P.AAJ(R0),PC			; Case dispatch
000274	126227  000001  000010 		6$:	CMPB	1(R2),#10			;					0838
000302	001025 					BNE	10$
000304	020301 					CMP	R3,R1				; LUN,*					0847
000306	001006 					BNE	7$
000310	016600  000032 				MOV	32(SP),R0			; TNB,*
000314	032760  000400  000016 			BIT	#400,16(R0)
000322	001405 					BEQ	8$
000324	112762  000035  000001 		7$:	MOVB	#35,1(R2)			;					0848
000332	000167  003532 				JMP	85$				;					0847
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  21
X01340		User Interface					30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (7)

000336	105012 				8$:	CLRB	(R2)				;					0849
000340	016646  000032 				MOV	32(SP),-(SP)			; TNB,*					0850
000344	000167  001042 				JMP	29$
000350	016600  000030 			9$:	MOV	30(SP),R0			; LCB,*					0387
000354	001002 					BNE	11$
000356	000167  003200 			10$:	JMP	76$
000362	032760  004000  000016 		11$:	BIT	#4000,16(R0)
000370	001372 					BNE	10$				;					0388
000372	016066  000004  000032 			MOV	4(R0),32(SP)			; *,TNB					0390
000400	026627  000002  000010 			CMP	2(SP),#10			; MODIFIER,*				0391
000406	001173 					BNE	19$
000410	010046 					MOV	R0,-(SP)			;					0394
000412	000167  001246 				JMP	35$
000416	005766  000030 			12$:	TST	30(SP)				; LCB					0407
000422	001355 					BNE	10$
000424	026627  000002  000010 			CMP	2(SP),#10			; MODIFIER,*				0409
000432	001162 					BNE	20$
000434	016600  000014 				MOV	14(SP),R0			;					0429
000440	026027  000030  000002 			CMP	30(R0),#2
000446	002002 					BGE	14$				;					0430
000450	000167  001122 			13$:	JMP	32$
000454	010046 				14$:	MOV	R0,-(SP)			;					0432
000456	062716  000032 				ADD	#32,(SP)
000462	012700  000030 				MOV	#30,R0
000466	066600  000016 				ADD	16(SP),R0
000472	010046 					MOV	R0,-(SP)
000474	012746  000020 				MOV	#20,-(SP)
000500	004767  000000G				JSR	PC,BUFCHK
000504	062706  000006 				ADD	#6,SP
000510	005001 					CLR	R1
000512	005700 					TST	R0
000514	002001 					BGE	15$
000516	005201 					INC	R1
000520	010100 				15$:	MOV	R1,R0				; *,TMP
000522	006001 					ROR	R1
000524	103002 					BHIS	16$				;					0433
000526	000167  003036 				JMP	77$
000532	016700  000000G			16$:	MOV	$HEADR,R0			;					0435
000536	116000  000061 				MOVB	61(R0),R0
000542	042700  177400 				BIC	#177400,R0
000546	006300 					ASL	R0
000550	006300 					ASL	R0
000552	066700  000000G				ADD	$HEADR,R0
000556	016066  000074  000032 			MOV	74(R0),32(SP)			; *,TNB
000564	016600  000014 				MOV	14(SP),R0			;					0436
000570	016067  000024  000000G			MOV	24(R0),KISAR6
000576	016666  000032  000016 			MOV	32(SP),16(SP)			; TNB,MB				0437
000604	062766  000026  000016 			ADD	#26,16(SP)			; *,MB
000612	016666  000016  000020 		17$:	MOV	16(SP),20(SP)			; MB,MB.PREV				0438
000620	017666  000016  000016 			MOV	@16(SP),16(SP)			; MB,MB
000626	001710 					BEQ	13$
000630	016600  000014 				MOV	14(SP),R0			;					0440
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  22
X01340		User Interface					30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (7)

000634	026670  000016  000026 			CMP	16(SP),@26(R0)			; MB,*
000642	001363 					BNE	17$
000644	005766  000016 				TST	16(SP)				; MB					0443
000650	001677 					BEQ	13$
000652	012746  000034 				MOV	#34,-(SP)			;					0445
000656	060616 					ADD	SP,(SP)				; TNB,*
000660	012746  000034 				MOV	#34,-(SP)
000664	060616 					ADD	SP,(SP)				; LCB,*
000666	016046  000004 				MOV	4(R0),-(SP)
000672	004767  000000G				JSR	PC,GETLCB
000676	062706  000006 				ADD	#6,SP
000702	006000 					ROR	R0
000704	103123 					BHIS	21$				;					0446
000706	016600  000030 				MOV	30(SP),R0			; LCB,*					0447
000712	017601  000004 				MOV	@4(SP),R1
000716	010011 					MOV	R0,(R1)
000720	110360  000016 				MOVB	R3,16(R0)			; LUN,*					0448
000724	016601  000016 				MOV	16(SP),R1			; MB,*					0449
000730	116160  000006  000021 			MOVB	6(R1),21(R0)			; *(MB),*
000736	011176  000020 				MOV	(R1),@20(SP)			; MB,MB.PREV				0450
000742	001005 					BNE	18$
000744	016600  000032 				MOV	32(SP),R0			; TNB,*					0451
000750	016660  000020  000030 			MOV	20(SP),30(R0)			; MB.PREV,*
000756	016600  000016 			18$:	MOV	16(SP),R0			; MB,*					0452
000762	016001  000002 				MOV	2(R0),R1			; *(MB),*
000766	062701  000020 				ADD	#20,R1
000772	004767  000000G				JSR	PC,$DSRRT
000776	000504 				19$:	BR	23$				;					0409
001000	005766  000002 			20$:	TST	2(SP)				; MODIFIER
001004	001163 					BNE	28$
001006	016600  000014 				MOV	14(SP),R0			;					0473
001012	026027  000030  000110 			CMP	30(R0),#110
001020	001213 					BNE	13$				;					0474
001022	010046 					MOV	R0,-(SP)			;					0476
001024	062716  000032 				ADD	#32,(SP)
001030	012700  000030 				MOV	#30,R0
001034	066600  000016 				ADD	16(SP),R0
001040	010046 					MOV	R0,-(SP)
001042	012746  000020 				MOV	#20,-(SP)
001046	004767  000000G				JSR	PC,BUFCHK
001052	062706  000006 				ADD	#6,SP
001056	010001 					MOV	R0,R1				; *,TMP
001060	002516 					BLT	25$
001062	016600  000014 				MOV	14(SP),R0			;					0477
001066	062700  000036 				ADD	#36,R0
001072	010046 					MOV	R0,-(SP)
001074	010046 					MOV	R0,-(SP)
001076	012746  000020 				MOV	#20,-(SP)
001102	004767  000000G				JSR	PC,BUFCHK
001106	062706  000006 				ADD	#6,SP
001112	010001 					MOV	R0,R1				; *,TMP
001114	002500 					BLT	25$				;					0478
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  23
X01340		User Interface					30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (7)

001116	012746  000034 				MOV	#34,-(SP)			;					0480
001122	060616 					ADD	SP,(SP)				; TNB,*
001124	012746  000034 				MOV	#34,-(SP)
001130	060616 					ADD	SP,(SP)				; LCB,*
001132	016600  000020 				MOV	20(SP),R0
001136	016046  000004 				MOV	4(R0),-(SP)
001142	004767  000000G				JSR	PC,GETLCB
001146	062706  000006 				ADD	#6,SP
001152	006000 					ROR	R0
001154	103402 				21$:	BLO	22$				;					0481
001156	000167  000614 				JMP	44$
001162	016600  000032 			22$:	MOV	32(SP),R0			; TNB,*					0482
001166	105260  000020 				INCB	20(R0)
001172	017600  000004 				MOV	@4(SP),R0			;					0483
001176	016610  000030 				MOV	30(SP),(R0)			; LCB,*
001202	011000 					MOV	(R0),R0				; LCB,*					0484
001204	110360  000016 				MOVB	R3,16(R0)			; LUN,*
001210	000167  000472 			23$:	JMP	37$				;					0409
001214	012700  000032 			24$:	MOV	#32,R0				;					0512
001220	066600  000014 				ADD	14(SP),R0
001224	010005 					MOV	R0,R5
001226	016600  000014 				MOV	14(SP),R0
001232	011560  000034 				MOV	(R5),34(R0)
001236	012700  000030 				MOV	#30,R0				;					0513
001242	066600  000014 				ADD	14(SP),R0
001246	010004 					MOV	R0,R4
001250	011415 					MOV	(R4),(R5)
001252	012700  000024 				MOV	#24,R0				;					0515
001256	066600  000014 				ADD	14(SP),R0
001262	010002 					MOV	R0,R2
001264	010246 					MOV	R2,-(SP)
001266	010246 					MOV	R2,-(SP)
001270	005046 					CLR	-(SP)
001272	004767  000000G				JSR	PC,BUFCHK
001276	062706  000006 				ADD	#6,SP
001302	010066  000026 				MOV	R0,26(SP)			; *,TMP
001306	002005 					BGE	26$
001310	012701  000026 				MOV	#26,R1				;					0516
001314	060601 					ADD	SP,R1				; TMP,*
001316	000167  002202 			25$:	JMP	74$
001322	005766  000002 			26$:	TST	2(SP)				; MODIFIER				0518
001326	001404 					BEQ	27$
001330	026627  000002  000010 			CMP	2(SP),#10			; MODIFIER,*
001336	001034 					BNE	30$
001340	016600  000030 			27$:	MOV	30(SP),R0			; LCB,*					0533
001344	001576 					BEQ	42$
001346	032760  004000  000016 			BIT	#4000,16(R0)
001354	001165 				28$:	BNE	39$				;					0534
001356	016066  000004  000032 			MOV	4(R0),32(SP)			; *,TNB					0535
001364	021427  000020 				CMP	(R4),#20			;					0536
001370	003102 					BGT	32$				;					0537
001372	052760  004000  000016 			BIS	#4000,16(R0)			;					0538
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  24
X01340		User Interface					30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (7)

001400	026627  000002  000010 			CMP	2(SP),#10			; MODIFIER,*				0539
001406	001137 					BNE	37$
001410	010046 					MOV	R0,-(SP)			;					0542
001412	062716  000012 			29$:	ADD	#12,(SP)
001416	016646  000016 				MOV	16(SP),-(SP)
001422	004767  000000G				JSR	PC,$SCQHD
001426	000524 					BR	36$				;					0543
001430	026627  000002  000020 		30$:	CMP	2(SP),#20			; MODIFIER,*				0518
001436	001134 					BNE	39$
001440	005066  000030 				CLR	30(SP)				; LCB					0565
001444	016700  000000G				MOV	$HEADR,R0			;					0566
001450	005001 					CLR	R1
001452	156001  000061 				BISB	61(R0),R1
001456	020301 					CMP	R3,R1				; LUN,*
001460	001123 					BNE	39$				;					0567
001462	021427  000002 				CMP	(R4),#2				;					0569
001466	002443 					BLT	32$				;					0570
001470	010546 					MOV	R5,-(SP)			;					0572
001472	010446 					MOV	R4,-(SP)
001474	012746  000020 				MOV	#20,-(SP)
001500	004767  000000G				JSR	PC,BUFCHK
001504	062706  000006 				ADD	#6,SP
001510	010001 					MOV	R0,R1				; *,TMP
001512	002701 					BLT	25$				;					0573
001514	011267  000000G				MOV	(R2),KISAR6			;					0574
001520	016604  000032 				MOV	32(SP),R4			; TNB,*					0575
001524	010466  000016 				MOV	R4,16(SP)			; *,MB
001530	062766  000026  000016 			ADD	#26,16(SP)			; *,MB
001536	016666  000016  000020 		31$:	MOV	16(SP),20(SP)			; MB,MB.PREV				0576
001544	017666  000016  000016 			MOV	@16(SP),16(SP)			; MB,MB
001552	001411 					BEQ	32$
001554	016600  000014 				MOV	14(SP),R0			;					0578
001560	026670  000016  000026 			CMP	16(SP),@26(R0)			; MB,*
001566	001363 					BNE	31$
001570	005766  000016 				TST	16(SP)				; MB					0581
001574	001003 					BNE	33$
001576	012716  177777 			32$:	MOV	#-1,(SP)			; *,STS
001602	000477 					BR	45$
001604	016600  000014 			33$:	MOV	14(SP),R0			;					0583
001610	016601  000016 				MOV	16(SP),R1			; MB,*
001614	116160  000006  000036 			MOVB	6(R1),36(R0)			; *(MB),*
001622	105060  000037 				CLRB	37(R0)
001626	011176  000020 				MOV	(R1),@20(SP)			; MB,MB.PREV				0584
001632	001003 					BNE	34$
001634	016664  000020  000030 			MOV	20(SP),30(R4)			; MB.PREV,*				0585
001642	016600  000016 			34$:	MOV	16(SP),R0			; MB,*					0586
001646	016001  000002 				MOV	2(R0),R1			; *(MB),*
001652	062701  000020 				ADD	#20,R1
001656	004767  000000G				JSR	PC,$DSRRT
001662	010446 					MOV	R4,-(SP)			;					0587
001664	062716  000012 			35$:	ADD	#12,(SP)
001670	016646  000016 				MOV	16(SP),-(SP)
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  25
X01340		User Interface					30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (7)

001674	004767  000000G				JSR	PC,$SCQIN
001700	005066  000012 			36$:	CLR	12(SP)				; QFLAG					0588
001704	022626 					CMP	(SP)+,(SP)+			;					0559
001706	012716  000001 			37$:	MOV	#1,(SP)				; *,STS					0599
001712	000433 					BR	45$				;					0370
001714	005066  000030 			38$:	CLR	30(SP)				; LCB					0606
001720	005766  000002 				TST	2(SP)				; MODIFIER				0607
001724	001414 					BEQ	43$
001726	020301 					CMP	R3,R1				; LUN,*					0610
001730	001402 				39$:	BEQ	41$
001732	000167  001624 			40$:	JMP	76$
001736	005766  000032 			41$:	TST	32(SP)				; TNB
001742	001773 				42$:	BEQ	40$				;					0611
001744	005766  000002 				TST	2(SP)				; MODIFIER				0614
001750	001402 					BEQ	43$
001752	000167  000426 				JMP	51$
001756	012701  000032 			43$:	MOV	#32,R1				;					0626
001762	004767  000000G				JSR	PC,$DSRGT
001766	103403 					BCS	44$
001770	010066  000032 				MOV	R0,32(SP)			; $MCB$R0,TNB
001774	000404 					BR	46$
001776	012716  177757 			44$:	MOV	#-21,(SP)			; *,STS					0627
002002	000167  001564 			45$:	JMP	78$
002006	005046 				46$:	CLR	-(SP)				;					0630
002010	012746  000030 				MOV	#30,-(SP)
002014	016601  000036 				MOV	36(SP),R1			; TNB,*
002020	010146 					MOV	R1,-(SP)
002022	004767  000000G				JSR	PC,BL$FIL
002026	016700  000000G				MOV	$HEADR,R0			;					0631
002032	110361  000016 				MOVB	R3,16(R1)			; LUN,*
002036	110360  000061 				MOVB	R3,61(R0)			; LUN,*
002042	016600  000016 				MOV	16(SP),R0			; SCXDB,*				0632
002046	016011  000006 				MOV	6(R0),(R1)			; *(SCXDB),*
002052	010160  000006 				MOV	R1,6(R0)			; *,*(SCXDB)				0633
002056	017600  000012 				MOV	@12(SP),R0			;					0634
002062	010110 					MOV	R1,(R0)
002064	016600  000022 				MOV	22(SP),R0			;					0635
002070	016061  000004  000002 			MOV	4(R0),2(R1)
002076	012704  000020 				MOV	#20,R4				;					0636
002102	060104 					ADD	R1,R4
002104	116064  000024  000001 			MOVB	24(R0),1(R4)
002112	012761  000012  000014 			MOV	#12,14(R1)			;					0637
002120	060161  000014 				ADD	R1,14(R1)
002124	012703  000026 				MOV	#26,R3				;					0638
002130	060103 					ADD	R1,R3
002132	010361  000030 				MOV	R3,30(R1)
002136	012761  000006  000010 			MOV	#6,10(R1)			;					0639
002144	060161  000010 				ADD	R1,10(R1)
002150	016666  000016  000024 			MOV	16(SP),24(SP)			; SCXDB,MB				0643
002156	062766  000012  000024 			ADD	#12,24(SP)			; *,MB
002164	016666  000024  000026 		47$:	MOV	24(SP),26(SP)			; MB,MB.PREV				0644
002172	017666  000024  000024 			MOV	@24(SP),24(SP)			; MB,MB
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  26
X01340		User Interface					30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (7)

002200	001456 					BEQ	50$
002202	016600  000024 				MOV	24(SP),R0			; MB,*					0646
002206	026061  000014  000002 			CMP	14(R0),2(R1)			; *(MB),*
002214	001363 					BNE	47$
002216	005000 					CLR	R0				;					0649
002220	016602  000024 				MOV	24(SP),R2			; MB,*
002224	126227  000004  000001 			CMPB	4(R2),#1			; *(MB),*
002232	001014 					BNE	48$
002234	005200 					INC	R0
002236	105764  000001 				TSTB	1(R4)				;					0650
002242	001410 					BEQ	48$
002244	121464  000001 				CMPB	(R4),1(R4)
002250	103405 					BLO	48$
002252	010200 					MOV	R2,R0				; MB,*					0652
002254	012760  000001  000012 			MOV	#1,12(R0)			; *,*(MB)
002262	000740 					BR	47$				;					0648
002264	006000 				48$:	ROR	R0				;					0655
002266	105514 					ADCB	(R4)				;					0656
002270	017676  000024  000026 			MOV	@24(SP),@26(SP)			; MB,MB.PREV				0657
002276	001005 					BNE	49$
002300	016600  000016 				MOV	16(SP),R0			; SCXDB,*				0658
002304	016660  000026  000014 			MOV	26(SP),14(R0)			; MB.PREV,*(SCXDB)
002312	010316 				49$:	MOV	R3,(SP)				;					0659
002314	016646  000024 				MOV	24(SP),-(SP)			; MB,*
002320	004767  000000G				JSR	PC,$SCQIN
002324	016666  000030  000026 			MOV	30(SP),26(SP)			; MB.PREV,MB				0660
002332	005726 					TST	(SP)+				;					0654
002334	000713 					BR	47$				;					0645
002336	116666  000006  000032 		50$:	MOVB	6(SP),32(SP)			; STS,STATUS				0665
002344	004767  000000G				JSR	PC,$RSX				;					0666
002350	016605  000020 				MOV	20(SP),R5			;					0667
002354	016603  000022 				MOV	22(SP),R3
002360	016600  000032 				MOV	32(SP),R0			; STATUS.WORD,*
002364	016601  000030 				MOV	30(SP),R1			; COUNT.WORD,*
002370	004767  000000G				JSR	PC,$IOFIN
002374	062706  000006 				ADD	#6,SP				;					0614
002400	000167  001464 				JMP	85$				;					0624
002404	026627  000002  000010 		51$:	CMP	2(SP),#10			; MODIFIER,*				0614
002412	001025 					BNE	52$
002414	016646  000032 				MOV	32(SP),-(SP)			; TNB,*					0677
002420	062716  000012 				ADD	#12,(SP)
002424	016646  000016 				MOV	16(SP),-(SP)
002430	004767  000000G				JSR	PC,$SCQHD
002434	016600  000036 				MOV	36(SP),R0			; TNB,*					0678
002440	052760  000400  000016 			BIS	#400,16(R0)
002446	005066  000012 				CLR	12(SP)				; QFLAG					0679
002452	012766  000001  000004 			MOV	#1,4(SP)			; *,STS					0680
002460	022626 					CMP	(SP)+,(SP)+
002462	000167  001104 				JMP	78$
002466	026627  000002  000020 		52$:	CMP	2(SP),#20			; MODIFIER,*				0614
002474	001042 					BNE	55$
002476	016600  000032 				MOV	32(SP),R0			; TNB,*					0692
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  27
X01340		User Interface					30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (7)

002502	016601  000014 				MOV	14(SP),R1
002506	016160  000024  000024 			MOV	24(R1),24(R0)
002514	010066  000016 				MOV	R0,16(SP)			; TNB,MB				0695
002520	062766  000026  000016 			ADD	#26,16(SP)			; *,MB
002526	017666  000016  000016 		53$:	MOV	@16(SP),16(SP)			; MB,MB					0696
002534	001410 					BEQ	54$
002536	016600  000016 				MOV	16(SP),R0			; MB,*					0698
002542	105760  000004 				TSTB	4(R0)				; *(MB)
002546	001767 					BEQ	53$
002550	105266  000022 				INCB	22(SP)				; COUNT					0699
002554	000764 					BR	53$				;					0696
002556	004767  000000G			54$:	JSR	PC,$RSX				;					0702
002562	016605  000012 				MOV	12(SP),R5			;					0703
002566	016603  000014 				MOV	14(SP),R3
002572	012700  000001 				MOV	#1,R0
002576	000167  001256 				JMP	84$
002602	026627  000002  000030 		55$:	CMP	2(SP),#30			; MODIFIER,*				0614
002610	001412 					BEQ	56$
002612	026627  000002  000040 			CMP	2(SP),#40			; MODIFIER,*
002620	001406 					BEQ	56$
002622	026627  000002  000050 			CMP	2(SP),#50			; MODIFIER,*
002630	001402 					BEQ	56$
002632	000167  000604 				JMP	73$
002636	012700  000032 			56$:	MOV	#32,R0				;					0722
002642	066600  000014 				ADD	14(SP),R0
002646	010004 					MOV	R0,R4
002650	016600  000014 				MOV	14(SP),R0
002654	016014  000030 				MOV	30(R0),(R4)
002660	026627  000002  000040 			CMP	2(SP),#40			; MODIFIER,*				0723
002666	001416 					BEQ	57$
002670	010003 					MOV	R0,R3				;					0727
002672	062703  000024 				ADD	#24,R3
002676	010346 					MOV	R3,-(SP)
002700	010346 					MOV	R3,-(SP)
002702	005046 					CLR	-(SP)
002704	004767  000000G				JSR	PC,BUFCHK
002710	062706  000006 				ADD	#6,SP
002714	010001 					MOV	R0,R1				; *,TMP
002716	002002 					BGE	57$				;					0728
002720	000167  000600 				JMP	74$
002724	016666  000032  000016 		57$:	MOV	32(SP),16(SP)			; TNB,MB				0732
002732	062766  000026  000016 			ADD	#26,16(SP)			; *,MB
002740	016666  000016  000020 		58$:	MOV	16(SP),20(SP)			; MB,MB.PREV				0733
002746	017666  000016  000016 			MOV	@16(SP),16(SP)			; MB,MB
002754	001443 					BEQ	62$
002756	012702  000001 				MOV	#1,R2				; *,SELEKT				0735
002762	005003 					CLR	R3				; FNC					0736
002764	016600  000016 				MOV	16(SP),R0			; MB,*
002770	156003  000004 				BISB	4(R0),R3			; *(MB),FNC
002774	005703 					TST	R3				; FNC
002776	001426 					BEQ	60$				;					0737
003000	026627  000002  000030 			CMP	2(SP),#30			; MODIFIER,*				0744
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  28
X01340		User Interface					30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (7)

003006	001426 					BEQ	62$				;					0745
003010	005000 					CLR	R0				; TYPE.MASK				0747
003012	151400 					BISB	(R4),R0				; *,TYPE.MASK
003014	005001 					CLR	R1				; LUN.MASK				0748
003016	156401  000001 				BISB	1(R4),R1			; *,LUN.MASK
003022	005700 					TST	R0				; TYPE.MASK				0751
003024	001402 					BEQ	59$
003026	020003 					CMP	R0,R3				; TYPE.MASK,FNC
003030	001011 					BNE	60$
003032	005701 				59$:	TST	R1				; LUN.MASK				0752
003034	001410 					BEQ	61$
003036	005000 					CLR	R0
003040	016605  000016 				MOV	16(SP),R5			; MB,*
003044	156500  000010 				BISB	10(R5),R0			; *(MB),*
003050	020100 					CMP	R1,R0				; LUN.MASK,*
003052	001401 					BEQ	61$
003054	005002 				60$:	CLR	R2				; SELEKT				0753
003056	032702  000001 			61$:	BIT	#1,R2				; *,SELEKT				0756
003062	001726 					BEQ	58$
003064	006002 				62$:	ROR	R2				; SELEKT				0759
003066	103404 					BLO	63$
003070	012716  177662 				MOV	#-116,(SP)			; *,STS
003074	000167  000472 				JMP	78$
003100	110366  000025 			63$:	MOVB	R3,25(SP)			; FNC,STATUS+1				0765
003104	012700  000002 				MOV	#2,R0				;					0766
003110	066600  000016 				ADD	16(SP),R0			; MB,*
003114	010001 					MOV	R0,R1
003116	026627  000002  000040 			CMP	2(SP),#40			; MODIFIER,*				0761
003124	001005 					BNE	64$
003126	012716  000001 				MOV	#1,(SP)				; *,STS					0764
003132	111166  000022 				MOVB	(R1),22(SP)			; *,COUNT				0766
003136	000536 					BR	72$				;					0761
003140	011100 				64$:	MOV	(R1),R0				;					0770
003142	016602  000014 				MOV	14(SP),R2
003146	020062  000030 				CMP	R0,30(R2)
003152	003402 					BLE	65$
003154	016200  000030 				MOV	30(R2),R0
003160	110066  000022 			65$:	MOVB	R0,22(SP)			; *,COUNT
003164	016600  000016 				MOV	16(SP),R0			; MB,*					0771
003170	116066  000010  000023 			MOVB	10(R0),23(SP)			; *(MB),COUNT+1
003176	005000 					CLR	R0				;					0772
003200	156600  000022 				BISB	22(SP),R0			; COUNT,*
003204	020011 					CMP	R0,(R1)
003206	002403 					BLT	66$
003210	012716  000001 				MOV	#1,(SP)				; *,STS
003214	000402 					BR	67$
003216	012716  177763 			66$:	MOV	#-15,(SP)			; *,STS
003222	016600  000014 			67$:	MOV	14(SP),R0			;					0774
003226	016067  000024  000000G			MOV	24(R0),KISAR6
003234	005046 					CLR	-(SP)				;					0775
003236	116616  000024 				MOVB	24(SP),(SP)			; COUNT,*
003242	012700  000020 				MOV	#20,R0
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  29
X01340		User Interface					30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (7)

003246	066600  000020 				ADD	20(SP),R0			; MB,*
003252	010046 					MOV	R0,-(SP)
003254	016600  000020 				MOV	20(SP),R0
003260	016046  000026 				MOV	26(R0),-(SP)
003264	004767  000000G				JSR	PC,BL$MOV
003270	020327  000001 				CMP	R3,#1				; FNC,*					0777
003274	001005 					BNE	68$
003276	016600  000024 				MOV	24(SP),R0			; MB,*					0779
003302	105060  000004 				CLRB	4(R0)				; *(MB)
003306	000450 					BR	71$				;					0777
003310	017676  000024  000026 		68$:	MOV	@24(SP),@26(SP)			; MB,MB.PREV				0782
003316	001005 					BNE	69$
003320	016600  000040 				MOV	40(SP),R0			; TNB,*					0783
003324	016660  000026  000030 			MOV	26(SP),30(R0)			; MB.PREV,*
003332	005016 				69$:	CLR	(SP)				;					0784
003334	016600  000024 				MOV	24(SP),R0			; MB,*
003340	116016  000007 				MOVB	7(R0),(SP)			; *(MB),*
003344	004767  000000G				JSR	PC,ULARD
003350	010066  000036 				MOV	R0,36(SP)			; *,LCB
003354	011101 					MOV	(R1),R1				;					0785
003356	062701  000020 				ADD	#20,R1
003362	016600  000024 				MOV	24(SP),R0			; MB,*
003366	004767  000000G				JSR	PC,$DSRRT
003372	016601  000036 				MOV	36(SP),R1			; LCB,*					0788
003376	020327  000002 				CMP	R3,#2				; FNC,*					0787
003402	001004 					BNE	70$
003404	010116 					MOV	R1,(SP)				;					0788
003406	004767  000000G				JSR	PC,U$IRQ
003412	000406 					BR	71$				;					0787
003414	052761  004000  000016 		70$:	BIS	#4000,16(R1)			;					0791
003422	010116 					MOV	R1,(SP)				;					0792
003424	004767  000000G				JSR	PC,U$ARQ
003430	062706  000006 			71$:	ADD	#6,SP				;					0769
003434	111666  000024 			72$:	MOVB	(SP),24(SP)			; STS,STATUS				0797
003440	000577 					BR	83$				;					0798
003442	026627  000002  000070 		73$:	CMP	2(SP),#70			; MODIFIER,*				0614
003450	001044 					BNE	76$
003452	016600  000014 				MOV	14(SP),R0			;					0816
003456	010001 					MOV	R0,R1
003460	016160  000030  000032 			MOV	30(R1),32(R0)
003466	005760  000026 				TST	26(R0)				;					0817
003472	001414 					BEQ	74$
003474	010003 					MOV	R0,R3				;					0818
003476	062703  000024 				ADD	#24,R3
003502	010346 					MOV	R3,-(SP)
003504	010346 					MOV	R3,-(SP)
003506	005046 					CLR	-(SP)
003510	004767  000000G				JSR	PC,BUFCHK
003514	062706  000006 				ADD	#6,SP
003520	010001 					MOV	R0,R1				; *,TMP
003522	002002 					BGE	75$
003524	010116 				74$:	MOV	R1,(SP)				; TMP,STS				0819
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  30
X01340		User Interface					30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (7)

003526	000421 					BR	78$
003530	016646  000032 			75$:	MOV	32(SP),-(SP)			; TNB,*					0821
003534	062716  000012 				ADD	#12,(SP)
003540	016646  000016 				MOV	16(SP),-(SP)
003544	004767  000000G				JSR	PC,$SCQIN
003550	005066  000012 				CLR	12(SP)				; QFLAG					0822
003554	022626 					CMP	(SP)+,(SP)+			;					0812
003556	005000 					CLR	R0				;					0614
003560	000403 					BR	77$
003562	012716  177760 			76$:	MOV	#-20,(SP)			; *,STS					0829
003566	000401 					BR	78$
003570	010016 				77$:	MOV	R0,(SP)				; *,STS					0371
003572	111666  000024 			78$:	MOVB	(SP),24(SP)			; STS,STATUS				0865
003576	005716 					TST	(SP)				; STS					0866
003600	002517 					BLT	83$
003602	032766  000001  000006 			BIT	#1,6(SP)			; *,QFLAG				0869
003610	001411 					BEQ	79$
003612	016646  000030 				MOV	30(SP),-(SP)			; LCB,*
003616	062716  000006 				ADD	#6,(SP)
003622	016646  000016 				MOV	16(SP),-(SP)
003626	004767  000000G				JSR	PC,$SCQIN
003632	022626 					CMP	(SP)+,(SP)+
003634	016602  000032 			79$:	MOV	32(SP),R2			; TNB,*					0870
003640	001423 					BEQ	80$
003642	016200  000012 				MOV	12(R2),R0			;					0871
003646	001420 					BEQ	80$
003650	005001 					CLR	R1
003652	156001  000013 				BISB	13(R0),R1
003656	006301 					ASL	R1
003660	116000  000012 				MOVB	12(R0),R0
003664	042700  177600 				BIC	#177600,R0
003670	006200 					ASR	R0
003672	006200 					ASR	R0
003674	066100  177766'				ADD	ODSP-62(R1),R0
003700	010246 					MOV	R2,-(SP)
003702	004770  000000 				JSR	PC,@0(R0)
003706	005726 					TST	(SP)+
003710	016602  000030 			80$:	MOV	30(SP),R2			; LCB,*					0872
003714	001446 					BEQ	82$
003716	016200  000012 				MOV	12(R2),R0			;					0875
003722	001420 					BEQ	81$
003724	005001 					CLR	R1
003726	156001  000013 				BISB	13(R0),R1
003732	006301 					ASL	R1
003734	116000  000012 				MOVB	12(R0),R0
003740	042700  177600 				BIC	#177600,R0
003744	006200 					ASR	R0
003746	006200 					ASR	R0
003750	066100  177766'				ADD	ODSP-62(R1),R0
003754	010246 					MOV	R2,-(SP)
003756	004770  000000 				JSR	PC,@0(R0)
003762	005726 					TST	(SP)+
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  31
X01340		User Interface					30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (7)

003764	016200  000006 			81$:	MOV	6(R2),R0			;					0876
003770	001420 					BEQ	82$
003772	005001 					CLR	R1
003774	156001  000013 				BISB	13(R0),R1
004000	006301 					ASL	R1
004002	116000  000012 				MOVB	12(R0),R0
004006	042700  177600 				BIC	#177600,R0
004012	006200 					ASR	R0
004014	006200 					ASR	R0
004016	066100  177766'				ADD	ODSP-62(R1),R0
004022	010246 					MOV	R2,-(SP)
004024	004770  000000 				JSR	PC,@0(R0)
004030	005726 					TST	(SP)+
004032	004767  000000G			82$:	JSR	PC,$RSX				;					0878
004036	000414 					BR	85$				;					0866
004040	004767  000000G			83$:	JSR	PC,$RSX				;					0882
004044	016605  000012 				MOV	12(SP),R5			;					0883
004050	016603  000014 				MOV	14(SP),R3
004054	016600  000024 				MOV	24(SP),R0			; STATUS.WORD,*
004060	016601  000022 			84$:	MOV	22(SP),R1			; COUNT.WORD,*
004064	004767  000000G				JSR	PC,$IOFIN
004070	062706  000034 			85$:	ADD	#34,SP				;					0296
004074	000207 					RTS	PC

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


000116						.PSECT	$PLIT$,  RO ,  D  

					P.AAJ:						; CASE Table for U$DSP+0270		0370
000116	000054 					.WORD	54				; [9$]
000120	000054 					.WORD	54				; [9$]
000122	000122 					.WORD	122				; [12$]
000124	000720 					.WORD	720				; [24$]
000126	001420 					.WORD	1420				; [38$]
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  32
X01340		Receive-Complete from Session Control		30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (8)

;	  0886	%sbttl 'Receive-Complete from Session Control';
;	  0887	routine UFCRCP (SCXDB, CCB, FCM): mcb_db_ccb_mod novalue =
;	  0888	
;	  0889	!++
;	  0890	! FUNCTIONAL DESCRIPTION:
;	  0891	!	This routine is activated by receipt of a receive
;	  0892	!	complete from Session Control.
;	  0893	!
;	  0894	! FORMAL PARAMETERS:
;	  0895	!	CCB	CCB to pass to handler routine
;	  0896	!	FCM	Function code modifier
;	  0897	!
;	  0898	! IMPLICIT INPUTS:
;	  0899	!	CCB contents
;	  0900	!
;	  0901	! IMPLICIT OUTPUTS:
;	  0902	!	None
;	  0903	!
;	  0904	! ROUTINE VALUE:
;	  0905	! COMPLETION CODES:
;	  0906	!	None
;	  0907	!
;	  0908	! SIDE EFFECTS:
;	  0909	!	None
;	  0910	!--
;	  0911	
;	  0912	    begin
;	  0913	    $scx_get_data_base (SCXDB);
;	  0914	    map CCB: ref block field (C_FIELDS);
;	  0915	    local
;	  0916		LCB: ref block field (LCB_FIELDS),
;	  0917		TNB: ref block field (TNB_FIELDS),
;	  0918		MB: ref block field (MBP_FIELDS);
;	  0919	
;	  0920	    case .FCM^-1 from 0 to 3 of
;	  0921		set
;	  0922	
;	  0923		! ************
;	  0924		! ** SRUCNR **
;	  0925		! ************
;	  0926		[S$CNR^-1]:
;	  0927		    begin
;	  0928		    local
;	  0929			STS,
;	  0930			MBD: ref block field (CND_FIELDS),
;	  0931			TCB: ref block field (TCB_FIELDS);
;	  0932		    bind
;	  0933			CB = CCB [C_ADDR]: ref block field (CB_FIELDS);
;	  0934		    literal
;	  0935			CB_L1 = (%fieldexpand (CB_SFMT, 0) - %fieldexpand (CB_DFMT, 0)) * bytes_word,
;	  0936			CB_L2 = (%fieldexpand (CB_ENDD, 0) - %fieldexpand (CB_SFMT, 0)) * bytes_word;
;	  0937	
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  33
X01340		Receive-Complete from Session Control		30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (8)

;	  0938		    MAP$ (.CCB [C_BIAS]);		! Look at connect block
;	  0939		    if not FNDOBJ (CB [CB_DFMT], TCB)
;	  0940		    then
;	  0941			begin
;	  0942			$SCX_DO_RCE (.CCB, S_EURO);
;	  0943			return
;	  0944			end;
;	  0945		    if not $MCB_GET_DSR (MBP_SIZE*bytes_word + CND_SIZE*bytes_word, MB)
;	  0946		    then
;	  0947			begin
;	  0948			$SCX_DO_RCE (.CCB, S_ERES);
;	  0949			return
;	  0950			end;
;	  0951	
;	  0952		    MBD = MB [MB_DATA];			! Set cb base
;	  0953		    MBD [CND_TLA] = .MB;		! Temporary LLA
;	  0954		    MBD [CND_SEG] = 0;
;	  0955		    ch$move (CB_L1, byt$ptr (CB [CB_DFMT]), byt$ptr (MBD [CND_DFMT]));
;	  0956		    ch$move (6, byt$ptr (CB [CB_NODE]), byt$ptr (MBD [CND_NODE]));
;	  0957		    ch$move (CB_L2, byt$ptr (CB [CB_SFMT]), byt$ptr (MBD [CND_SFMT]));
;	  0958		    MB [MB_CNT] = CND_SIZE*bytes_word;
;	  0959		    MB [MB_FNC] = MB$CON;
;	  0960		    MB [MB_FLG] = 0;
;	  0961		    MB [MB_LLA] = .CCB [C_LIX];
;	  0962		    MB [MB_LUN] = 0;
;	  0963		    MB [MB_TIME] = .CCB [C_PRM2] - 1;
;	  0964		    MB [MB_TASK] = .TCB;
;	  0965	
;	  0966		    TNB = .SCXDB [SCX_TNB];
;	  0967		    while .TNB neq 0 do
;	  0968			begin
;	  0969			if .TNB [TN_TASK] eql .TCB
;	  0970			then exitloop
;	  0971			else TNB = .TNB [TN_LINK]
;	  0972			end;
;	  0973	
;	  0974		    MB [MB_TNB] = .TNB;			! Remember where (if) the TNB
;	  0975		    STS = S_SSUC;
;	  0976		    if .TNB neq 0
;	  0977		    then
;	  0978			begin
;	  0979			if (.TNB [TN_MAX] neq 0) and (.TNB [TN_ACT] geq .TNB [TN_MAX])
;	  0980			then
;	  0981			    begin
;	  0982			    $MCB_RETURN_DSR (MBP_SIZE*bytes_word + .MB [MB_CNT], .MB);
;	  0983			    STS =  S_EOTB
;	  0984			    end
;	  0985			else
;	  0986			    begin
;	  0987			    TNB [TN_ACT] = .TNB [TN_ACT] + 1;
;	  0988			    $SCX_ENQUEUE (TNB [TN_MBXQ], .MB);
;	  0989			    QUEAST (.TNB);
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  34
X01340		Receive-Complete from Session Control		30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (8)

;	  0990			    end
;	  0991			end
;	  0992		    else
;	  0993			begin
;	  0994			if not TSKRT$ (.TCB, 0) then MB [MBF_REQ] = true;
;	  0995			$SCX_ENQUEUE (SCXDB [SCX_MBX], .MB);
;	  0996			SCXDB [SCXF_KLOK] = true
;	  0997			end;
;	  0998	
;	  0999		    $SCX_DO_RCE (.CCB, .STS);
;	  1000		    return
;	  1001		    end;
;	  1002	
;	  1003	
;	  1004		! *********************
;	  1005		! ** SRUINT & SRUDSR **
;	  1006		! *********************
;	  1007		[S$INT^-1, S$DSR^-1]:
;	  1008		    begin
;	  1009		    if (LCB = ULARD (.CCB [$sub_field (C_PRM1, LO_BYTE)])) eql 0
;	  1010		    then
;	  1011			begin
;	  1012			$SCX_DO_RCE (.CCB);
;	  1013			return
;	  1014			end;
;	  1015	
;	  1016		    TNB = .LCB [LC_TNB];
;	  1017		    $SCX_ENQUEUE (TNB [TN_IQUE], .CCB);
;	  1018		    $SCX_DISPATCH_INPUT (TNB [TN_IQUE])
;	  1019		    end;
;	  1020	
;	  1021		! ************
;	  1022		! ** SRUERR **
;	  1023		! ************
;	  1024		[inrange, outrange]: SIGNAL_STOP (SCX$_ISC, .CCB);
;	  1025	
;	  1026		tes;
;	  1027	    end;


						.GLOBL	.CRDAT, $SCHED, $TSKRT


	000062'				IDSP=		    P.AAH


						.SBTTL	UFCRCP Receive-Complete from Session Control
004076						.PSECT	$CODE$,  RO 

000000	162706  000012 			UFCRCP: SUB	#12,SP				;					0887
000004	010466  000004 				MOV	R4,4(SP)
000010	010566  000006 				MOV	R5,6(SP)
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  35
X01340		Receive-Complete from Session Control		30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (8)

000014	006203 					ASR	R3				;					0920
000016	020327  000003 				CMP	R3,#3
000022	101003 					BHI	1$
000024	006303 					ASL	R3
000026	066307  000130'				ADD	P.AAK(R3),PC			; Case dispatch
000032	016646  000004 			1$:	MOV	4(SP),-(SP)			;					1024
000036	012746  100014 				MOV	#-77764,-(SP)
000042	012746  000002 				MOV	#2,-(SP)
000046	004767  000000G				JSR	PC,$STOP
000052	062706  000006 				ADD	#6,SP
000056	000167  000736 				JMP	18$				;					0920
000062	016600  000004 			2$:	MOV	4(SP),R0			;					0938
000066	016067  000016  000000G			MOV	16(R0),KISAR6
000074	016002  000020 				MOV	20(R0),R2			;					0939
000100	010203 					MOV	R2,R3
000102	062703  000006 				ADD	#6,R3
000106	010346 					MOV	R3,-(SP)
000110	012746  000014 				MOV	#14,-(SP)
000114	060616 					ADD	SP,(SP)				; TCB,*
000116	004767  000000G				JSR	PC,FNDOBJ
000122	022626 					CMP	(SP)+,(SP)+
000124	006000 					ROR	R0
000126	103411 					BLO	3$
000130	016600  000004 				MOV	4(SP),R0			;					0942
000134	112760  000004  000012 			MOVB	#4,12(R0)
000142	012760  177774  000014 			MOV	#-4,14(R0)
000150	000417 					BR	5$
000152	012701  000202 			3$:	MOV	#202,R1				;					0945
000156	004767  000000G				JSR	PC,$DSRGT
000162	103402 					BCS	4$
000164	010005 					MOV	R0,R5				; $MCB$R0,MB
000166	000412 					BR	6$
000170	016600  000004 			4$:	MOV	4(SP),R0			;					0948
000174	112760  000004  000012 			MOVB	#4,12(R0)
000202	012760  177777  000014 			MOV	#-1,14(R0)
000210	000167  000512 			5$:	JMP	15$
000214	010501 				6$:	MOV	R5,R1				; MB,MBD				0952
000216	062701  000020 				ADD	#20,R1				; *,MBD
000222	010511 					MOV	R5,(R1)				; MB,MBD				0953
000224	005061  000002 				CLR	2(R1)				; *(MBD)				0954
000230	012746  000024 				MOV	#24,-(SP)			;					0955
000234	010346 					MOV	R3,-(SP)
000236	012746  000004 				MOV	#4,-(SP)
000242	060116 					ADD	R1,(SP)				; MBD,*
000244	004767  000000G				JSR	PC,BL$MOV
000250	012716  000006 				MOV	#6,(SP)				;					0956
000254	010246 					MOV	R2,-(SP)
000256	012746  000030 				MOV	#30,-(SP)
000262	060116 					ADD	R1,(SP)				; MBD,*
000264	004767  000000G				JSR	PC,BL$MOV
000270	012716  000124 				MOV	#124,(SP)			;					0957
000274	010246 					MOV	R2,-(SP)
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  36
X01340		Receive-Complete from Session Control		30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (8)

000276	062716  000032 				ADD	#32,(SP)
000302	012746  000036 				MOV	#36,-(SP)
000306	060116 					ADD	R1,(SP)				; MBD,*
000310	004767  000000G				JSR	PC,BL$MOV
000314	012765  000162  000002 			MOV	#162,2(R5)			; *,*(MB)				0958
000322	012766  000004  000016 			MOV	#4,16(SP)			;					0959
000330	060566  000016 				ADD	R5,16(SP)			; MB,*
000334	112776  000001  000016 			MOVB	#1,@16(SP)
000342	042776  177400  000016 			BIC	#177400,@16(SP)			;					0960
000350	016600  000022 				MOV	22(SP),R0			;					0961
000354	116065  000010  000006 			MOVB	10(R0),6(R5)			; *,*(MB)
000362	105065  000010 				CLRB	10(R5)				; *(MB)					0962
000366	016065  000026  000012 			MOV	26(R0),12(R5)			; *,*(MB)				0963
000374	005365  000012 				DEC	12(R5)				; *(MB)
000400	016600  000026 				MOV	26(SP),R0			; TCB,*					0964
000404	010065  000014 				MOV	R0,14(R5)			; *,*(MB)
000410	016601  000024 				MOV	24(SP),R1			;					0966
000414	016166  000006  000020 			MOV	6(R1),20(SP)			; *,TNB
000422	001410 				7$:	BEQ	8$				;					0967
000424	016601  000020 				MOV	20(SP),R1			; TNB,*					0969
000430	026100  000002 				CMP	2(R1),R0			; *(TNB),*
000434	001403 					BEQ	8$				;					0970
000436	011166  000020 				MOV	(R1),20(SP)			; TNB,TNB				0971
000442	000767 					BR	7$				;					0967
000444	016665  000020  000016 		8$:	MOV	20(SP),16(R5)			; TNB,*(MB)				0974
000452	012704  000001 				MOV	#1,R4				; *,STS					0975
000456	005766  000020 				TST	20(SP)				; TNB					0976
000462	001442 					BEQ	10$
000464	012701  000020 				MOV	#20,R1				;					0979
000470	066601  000020 				ADD	20(SP),R1			; TNB,*
000474	010102 					MOV	R1,R2
000476	105762  000001 				TSTB	1(R2)
000502	001415 					BEQ	9$
000504	121262  000001 				CMPB	(R2),1(R2)
000510	103412 					BLO	9$
000512	016501  000002 				MOV	2(R5),R1			; *(MB),*				0982
000516	062701  000020 				ADD	#20,R1
000522	010500 					MOV	R5,R0				; MB,*
000524	004767  000000G				JSR	PC,$DSRRT
000530	012704  177772 				MOV	#-6,R4				; *,STS					0983
000534	000440 					BR	13$				;					0978
000536	105212 				9$:	INCB	(R2)				;					0987
000540	016616  000020 				MOV	20(SP),(SP)			; TNB,*					0988
000544	062716  000026 				ADD	#26,(SP)
000550	010546 					MOV	R5,-(SP)			; MB,*
000552	004767  000000G				JSR	PC,$SCQIN
000556	016616  000022 				MOV	22(SP),(SP)			; TNB,*					0989
000562	004767  000000G				JSR	PC,QUEAST
000566	000422 					BR	12$				;					0986
000570	005001 				10$:	CLR	R1				;					0994
000572	004767  000000G				JSR	PC,$TSKRT
000576	103003 					BHIS	11$
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  37
X01340		Receive-Complete from Session Control		30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (8)

000600	052776  000400  000016 			BIS	#400,@16(SP)
000606	012700  000012 			11$:	MOV	#12,R0				;					0995
000612	066600  000024 				ADD	24(SP),R0
000616	010016 					MOV	R0,(SP)
000620	010546 					MOV	R5,-(SP)			; MB,*
000622	004767  000000G				JSR	PC,$SCQIN
000626	052776  000400  000026 			BIS	#400,@26(SP)			;					0996
000634	005726 				12$:	TST	(SP)+				;					0993
000636	016600  000022 			13$:	MOV	22(SP),R0			;					0999
000642	112760  000004  000012 			MOVB	#4,12(R0)
000650	010460  000014 				MOV	R4,14(R0)			; STS,*
000654	010004 					MOV	R0,R4
000656	004767  000000G				JSR	PC,$SCHED
000662	062706  000016 				ADD	#16,SP				;					0920
000666	000454 					BR	18$				;					0927
000670	005046 				14$:	CLR	-(SP)				;					1009
000672	016600  000006 				MOV	6(SP),R0
000676	116016  000024 				MOVB	24(R0),(SP)
000702	004767  000000G				JSR	PC,ULARD
000706	005726 					TST	(SP)+
000710	005700 					TST	R0				; LCB
000712	001012 					BNE	16$
000714	016601  000004 				MOV	4(SP),R1			;					1012
000720	112761  000004  000012 			MOVB	#4,12(R1)
000726	016604  000004 			15$:	MOV	4(SP),R4
000732	004767  000000G				JSR	PC,$SCHED
000736	000430 					BR	18$				;					1011
000740	016066  000004  000002 		16$:	MOV	4(R0),2(SP)			; *(LCB),TNB				1016
000746	016601  000002 				MOV	2(SP),R1			; TNB,*					1017
000752	062701  000006 				ADD	#6,R1
000756	010146 					MOV	R1,-(SP)
000760	016646  000006 				MOV	6(SP),-(SP)
000764	004767  000000G				JSR	PC,$SCQIN
000770	005711 					TST	(R1)				;					1018
000772	001411 					BEQ	17$
000774	011100 					MOV	(R1),R0
000776	116000  000013 				MOVB	13(R0),R0
001002	042700  177400 				BIC	#177400,R0
001006	016616  000006 				MOV	6(SP),(SP)			; TNB,*
001012	004770  000062'				JSR	PC,@$IDSP(R0)
001016	022626 				17$:	CMP	(SP)+,(SP)+			;					1008
001020	062706  000012 			18$:	ADD	#12,SP				;					0887
001024	000207 					RTS	PC

; Routine Size:  267 words,	Routine Base:  $CODE$ + 4076
; Maximum stack depth per invocation:  14 words


000130						.PSECT	$PLIT$,  RO ,  D  

					P.AAK:						; CASE Table for UFCRCP+0026		0920
000130	000030 					.WORD	30				; [2$]
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  38
X01340		Receive-Complete from Session Control		30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (8)

000132	000000 					.WORD	0				; [1$]
000134	000636 					.WORD	636				; [14$]
000136	000636 					.WORD	636				; [14$]
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  39
X01340		Timeout or Initialization From Comm/Exec	30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (9)

;	  1028	%sbttl 'Timeout or Initialization From Comm/Exec';
;	  1029	routine UFCTMO (SCXDB, CCB, FCM): mcb_db_ccb_mod novalue =
;	  1030	
;	  1031	!++
;	  1032	! FUNCTIONAL DESCRIPTION:
;	  1033	!	This routine is activated by some event noted by
;	  1034	!	the Comm/Exec.
;	  1035	!
;	  1036	! FORMAL PARAMETERS:
;	  1037	!	CCB	CCB to pass to handler routine
;	  1038	!	FCM	Function code modifier
;	  1039	!
;	  1040	! IMPLICIT INPUTS:
;	  1041	!	CCB Contents
;	  1042	!
;	  1043	! IMPLICIT OUTPUTS:
;	  1044	!	None
;	  1045	!
;	  1046	! ROUTINE VALUE:
;	  1047	! COMPLETION CODES:
;	  1048	!	None
;	  1049	!
;	  1050	! SIDE EFFECTS:
;	  1051	!	None
;	  1052	!--
;	  1053	
;	  1054	    begin
;	  1055	    $scx_get_data_base (SCXDB);
;	  1056	    map CCB: ref block field (C_FIELDS);
;	  1057	
;	  1058	    case .FCM^-1 from 0 to 3 of
;	  1059		set
;	  1060	
;	  1061		! ************
;	  1062		! ** CXULTM **
;	  1063		! ************
;	  1064		[1]:
;	  1065		    begin
;	  1066		    local
;	  1067			LCB: ref block field (LCB_FIELDS),
;	  1068			TNB: ref block field (TNB_FIELDS);
;	  1069	
;	  1070		    SCXDB [SCX_TICK] = .SCXDB [SCX_TICK] + 1;	! Restart clock
;	  1071		    SCXDB [SCXF_SUCC] = true;
;	  1072		    MBPROC (SCXDB [SCX_MBX]);		! Process Gen-Deliv connects
;	  1073	
;	  1074		    TNB = .SCXDB [SCX_TNB];		! Point to TNB list
;	  1075		    while .TNB neq 0 do			! Look at all TNBs
;	  1076			begin
;	  1077			MBPROC (TNB [TN_MBXQ]);			! Process TNB connects
;	  1078	
;	  1079			if .SCXDB [SCXF_SUCC] and .TNB [TNF_RWT] ! Anyone wanting resources ?
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  40
X01340		Timeout or Initialization From Comm/Exec	30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (9)

;	  1080			then
;	  1081			    begin				! Yes
;	  1082			    TNB [TNF_RWT] = false;		! Turn off request flag
;	  1083			    $SCX_DISPATCH_OUTPUT (TNB [TN_OQUE], .TNB);	! Do task level stuff
;	  1084	
;	  1085			    LCB = TNB [TN_LCB];			! Now, step thru LCBs
;	  1086			    while (LCB = .LCB [LC_LINK]) neq 0 do
;	  1087				begin
;	  1088				if .LCB [LCF_NRES]		! Interrupt request ?
;	  1089				then
;	  1090				    begin
;	  1091				    LCB [LCF_NRES] = false;
;	  1092				    U$IRQ (.LCB)
;	  1093				    end;
;	  1094				if .LCB [LCF_ARES]		! Abort request ?
;	  1095				then
;	  1096				    begin
;	  1097				    LCB [LCF_ARES] = false;
;	  1098				    LCB [LCF_DSC] = true;
;	  1099				    U$ARQ (.LCB)
;	  1100				    end;
;	  1101	
;	  1102				! Pump the interrupt, input, and output queues
;	  1103				if .SCXDB [SCXF_SUCC]
;	  1104				then
;	  1105				    begin
;	  1106				    $SCX_DISPATCH_OUTPUT (LCB [LC_NQHD], .LCB);
;	  1107				    $SCX_DISPATCH_OUTPUT (LCB [LC_OQHD], .LCB);
;	  1108				    $SCX_DISPATCH_INPUT (TNB [TN_IQHD])
;	  1109				    end
;	  1110				end
;	  1111			    end;
;	  1112	
;	  1113			if .TNB [TNF_CLS]		! Net being closed ?
;	  1114			then
;	  1115			    begin			! Yes
;	  1116			    local
;	  1117				NXT_TNB;
;	  1118	
;	  1119			    NXT_TNB = .TNB [TN_LINK];
;	  1120			    U$CLW (.TNB);		! Do the close
;	  1121			    TNB = .NXT_TNB
;	  1122			    end
;	  1123			else
;	  1124			    TNB = .TNB [TN_LINK]
;	  1125			end
;	  1126		    end;
;	  1127	
;	  1128	
;	  1129	
;	  1130		! ************
;	  1131		! ** CXUPWF **
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  41
X01340		Timeout or Initialization From Comm/Exec	30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (9)

;	  1132		! ************
;	  1133		[2]: return;
;	  1134	
;	  1135	
;	  1136	
;	  1137		! ************
;	  1138		! ** CXUPIN **
;	  1139		! ************
;	  1140		[3]:
;	  1141		    begin
;	  1142		    bind SC =
;	L 1143			%if %bliss (bliss36)
;	U 1144			%then %rad50_10 'SC'
;	  1145			%else %rad50_11 'SC'
;	  1146			%fi;
;	  1147	
;	  1148		    if not PDVID$ (SC, SCXDB [SCX_SCPIX])	! Set SC PIX
;	  1149		    then SIGNAL_STOP (SCX$_NSC);
;	  1150		    RSX$ (.SCXDB, SCXDB [SCX_UCB]);		! Record UCB address
;	  1151		    MCB$ (.SCXDB [SCX_UCB]);			! Back to MCB
;	  1152		    $MCB_ENABLE_LONG_TIMER ();			! Start clock
;	  1153		    SCXDB [SCX_TICK] = 1			! ...
;	  1154		    end;
;	  1155	
;	  1156	
;	  1157	
;	  1158		! ************
;	  1159		! ** CXUERR **
;	  1160		! ************
;	  1161		[inrange, outrange]: SIGNAL_STOP (SCX$_ISC);
;	  1162		tes
;	  1163	    end;


						.GLOBL	P.DTGT, $CALLI, $LTMEN


	000050'				ODSP=		    P.AAB
	000050'				ODSP=		    P.AAB
	000050'				ODSP=		    P.AAB
	000062'				IDSP=		    P.AAH
	073470 				SC=		    73470


						.SBTTL	UFCTMO Timeout or Initialization From Comm/Exec
005124						.PSECT	$CODE$,  RO 

000000	005746 				UFCTMO: TST	-(SP)				;					1029
000002	010501 					MOV	R5,R1				; *,SCXDB
000004	006203 					ASR	R3				;					1058
000006	020327  000003 				CMP	R3,#3
000012	101003 					BHI	1$
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  42
X01340		Timeout or Initialization From Comm/Exec	30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (9)

000014	006303 					ASL	R3
000016	066307  000140'				ADD	P.AAL(R3),PC			; Case dispatch
000022	012746  100014 			1$:	MOV	#-77764,-(SP)			;					1161
000026	012746  000001 				MOV	#1,-(SP)
000032	004767  000000G				JSR	PC,$STOP
000036	022626 					CMP	(SP)+,(SP)+
000040	000167  000540 				JMP	17$				;					1058
000044	105211 				2$:	INCB	(R1)				; SCXDB					1070
000046	052711  001000 				BIS	#1000,(R1)			; *,SCXDB				1071
000052	012746  000012 				MOV	#12,-(SP)			;					1072
000056	060116 					ADD	R1,(SP)				; SCXDB,*
000060	004767  000000G				JSR	PC,MBPROC
000064	016104  000006 				MOV	6(R1),R4			; *(SCXDB),TNB				1074
000070	001571 				3$:	BEQ	12$				;					1075
000072	012716  000026 				MOV	#26,(SP)			;					1077
000076	060416 					ADD	R4,(SP)				; TNB,*
000100	004767  000000G				JSR	PC,MBPROC
000104	032711  001000 				BIT	#1000,(R1)			; *,SCXDB				1079
000110	001545 					BEQ	10$
000112	032764  001000  000016 			BIT	#1000,16(R4)			; *,*(TNB)
000120	001541 					BEQ	10$
000122	042764  001000  000016 			BIC	#1000,16(R4)			; *,*(TNB)				1082
000130	016400  000012 				MOV	12(R4),R0			; *(TNB),*				1083
000134	001417 					BEQ	4$
000136	005003 					CLR	R3
000140	156003  000013 				BISB	13(R0),R3
000144	006303 					ASL	R3
000146	116000  000012 				MOVB	12(R0),R0
000152	042700  177600 				BIC	#177600,R0
000156	006200 					ASR	R0
000160	006200 					ASR	R0
000162	066300  177766'				ADD	ODSP-62(R3),R0
000166	010416 					MOV	R4,(SP)				; TNB,*
000170	004770  000000 				JSR	PC,@0(R0)
000174	012705  000004 			4$:	MOV	#4,R5				; *,LCB					1085
000200	060405 					ADD	R4,R5				; TNB,LCB
000202	011505 				5$:	MOV	(R5),R5				; LCB,LCB				1086
000204	001507 					BEQ	10$
000206	012703  000016 				MOV	#16,R3				;					1088
000212	060503 					ADD	R5,R3				; LCB,*
000214	032713  001000 				BIT	#1000,(R3)
000220	001405 					BEQ	6$
000222	042713  001000 				BIC	#1000,(R3)			;					1091
000226	010516 					MOV	R5,(SP)				; LCB,*					1092
000230	004767  000000G				JSR	PC,U$IRQ
000234	032713  002000 			6$:	BIT	#2000,(R3)			;					1094
000240	001407 					BEQ	7$
000242	042713  002000 				BIC	#2000,(R3)			;					1097
000246	052713  004000 				BIS	#4000,(R3)			;					1098
000252	010516 					MOV	R5,(SP)				; LCB,*					1099
000254	004767  000000G				JSR	PC,U$ARQ
000260	032711  001000 			7$:	BIT	#1000,(R1)			; *,SCXDB				1103
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  43
X01340		Timeout or Initialization From Comm/Exec	30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (9)

000264	001746 					BEQ	5$
000266	016500  000012 				MOV	12(R5),R0			; *(LCB),*				1106
000272	001417 					BEQ	8$
000274	005003 					CLR	R3
000276	156003  000013 				BISB	13(R0),R3
000302	006303 					ASL	R3
000304	116000  000012 				MOVB	12(R0),R0
000310	042700  177600 				BIC	#177600,R0
000314	006200 					ASR	R0
000316	006200 					ASR	R0
000320	066300  177766'				ADD	ODSP-62(R3),R0
000324	010516 					MOV	R5,(SP)				; LCB,*
000326	004770  000000 				JSR	PC,@0(R0)
000332	016500  000006 			8$:	MOV	6(R5),R0			; *(LCB),*				1107
000336	001417 					BEQ	9$
000340	005003 					CLR	R3
000342	156003  000013 				BISB	13(R0),R3
000346	006303 					ASL	R3
000350	116000  000012 				MOVB	12(R0),R0
000354	042700  177600 				BIC	#177600,R0
000360	006200 					ASR	R0
000362	006200 					ASR	R0
000364	066300  177766'				ADD	ODSP-62(R3),R0
000370	010516 					MOV	R5,(SP)				; LCB,*
000372	004770  000000 				JSR	PC,@0(R0)
000376	016400  000006 			9$:	MOV	6(R4),R0			; *(TNB),*				1108
000402	001677 					BEQ	5$
000404	116000  000013 				MOVB	13(R0),R0
000410	042700  177400 				BIC	#177400,R0
000414	010416 					MOV	R4,(SP)				; TNB,*
000416	004770  000062'				JSR	PC,@$IDSP(R0)
000422	000667 					BR	5$				;					1086
000424	032764  000400  000016 		10$:	BIT	#400,16(R4)			; *,*(TNB)				1113
000432	001406 					BEQ	11$
000434	011403 					MOV	(R4),R3				; TNB,NXT.TNB				1119
000436	010416 					MOV	R4,(SP)				; TNB,*					1120
000440	004767  000000G				JSR	PC,U$CLW
000444	010304 					MOV	R3,R4				; NXT.TNB,TNB				1121
000446	000610 					BR	3$				;					1113
000450	011404 				11$:	MOV	(R4),R4				; TNB,TNB				1124
000452	000606 					BR	3$				;					1075
000454	005726 				12$:	TST	(SP)+				;					1065
000456	000452 					BR	17$				;					1058
000460	012746  000002 			13$:	MOV	#2,-(SP)			;					1148
000464	060616 					ADD	SP,(SP)				; $MCB$MY.INDEX,*
000466	012746  073470 				MOV	#73470,-(SP)
000472	012746  000002 				MOV	#2,-(SP)
000476	012746  000000G				MOV	#P.DTGT,-(SP)
000502	004767  000000G				JSR	PC,$CALLI
000506	062706  000010 				ADD	#10,SP
000512	010004 					MOV	R0,R4				; *,$MCB$STATUS
000514	006000 					ROR	R0
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  44
X01340		Timeout or Initialization From Comm/Exec	30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (9)

000516	103001 					BCC	14$
000520	011600 					MOV	(SP),R0				; $MCB$MY.INDEX,$MCB$HANDLE
000522	010403 				14$:	MOV	R4,R3				; $MCB$STATUS,$MCB$STATUS
000524	006004 					ROR	R4				; $MCB$STATUS
000526	103002 					BCC	15$
000530	110061  000002 				MOVB	R0,2(R1)			; $MCB$HANDLE,*(SCXDB)
000534	032703  000001 			15$:	BIT	#1,R3				; *,$MCB$STATUS
000540	001007 					BNE	16$
000542	012746  100024 				MOV	#-77754,-(SP)			;					1149
000546	012746  000001 				MOV	#1,-(SP)
000552	004767  000000G				JSR	PC,$STOP
000556	022626 					CMP	(SP)+,(SP)+
000560	004767  000000G			16$:	JSR	PC,$RSX				;					1150
000564	010561  000004 				MOV	R5,4(R1)			; $MCB$R5,*(SCXDB)
000570	004767  000000G				JSR	PC,$MCB				;					1151
000574	004767  000000G				JSR	PC,$LTMEN			;					1152
000600	112711  000001 				MOVB	#1,(R1)				; *,SCXDB				1153
000604	005726 				17$:	TST	(SP)+				;					1029
000606	000207 					RTS	PC

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


000140						.PSECT	$PLIT$,  RO ,  D  

					P.AAL:						; CASE Table for UFCTMO+0016		1058
000140	000000 					.WORD	0				; [1$]
000142	000022 					.WORD	22				; [2$]
000144	000562 					.WORD	562				; [17$]
000146	000436 					.WORD	436				; [13$]
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  45
X01340		Transmit-Complete From Session Control		30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (10)

;	  1164	%sbttl 'Transmit-Complete From Session Control';
;	  1165	routine UFCXCP (SCXDB, CCB, FCM): mcb_db_ccb_mod novalue =
;	  1166	
;	  1167	!++
;	  1168	! FUNCTIONAL DESCRIPTION:
;	  1169	!	This routine is activated by receipt of an xmit
;	  1170	!	complete from Session Control.
;	  1171	!
;	  1172	! FORMAL PARAMETERS:
;	  1173	!	CCB	CCB to pass to handler routine
;	  1174	!	FCM	Function code modifier
;	  1175	!
;	  1176	! IMPLICIT INPUTS:
;	  1177	!	CCB contents
;	  1178	!
;	  1179	! IMPLICIT OUTPUTS:
;	  1180	!	None
;	  1181	!
;	  1182	! ROUTINE VALUE:
;	  1183	! COMPLETION CODES:
;	  1184	!	None
;	  1185	!
;	  1186	! SIDE EFFECTS:
;	  1187	!	None
;	  1188	!--
;	  1189	
;	  1190	    begin
;	  1191	    $scx_get_data_base (SCXDB);
;	  1192	    map CCB: ref block field (C_FIELDS);
;	  1193	    local
;	  1194		COUNT,
;	  1195		IOP: ref block field (IOP_FIELDS);
;	  1196	    compiletime
;	  1197		LUN_OFFSET = %fieldexpand (H_LUN, 0) * %upval;
;	  1198	    label
;	  1199		ABO_DIS;
;	  1200	
;	  1201	    COUNT = 0;
;	  1202	    IOP = .CCB [C_PRM5];		! Set up address of IOP
;	  1203	
;	  1204	    case .FCM^-1 from 0 to 10 of
;	  1205		set
;	  1206	
;	  1207		! ******************************
;	  1208		! ** SXUABO & SXUDIS & SXUACC **
;	  1209		! ******************************
;	  1210		[S$ABO^-1, S$DIS^-1, S$ACC^-1]: ABO_DIS:
;	  1211		    begin
;	  1212		    local
;	  1213			LCB: ref block field (LCB_FIELDS),
;	  1214			TNB: ref block field (TNB_FIELDS),
;	  1215			LIOP: ref block field (IOP_FIELDS),
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  46
X01340		Transmit-Complete From Session Control		30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (10)

;	  1216			MB: ref block field (MBP_FIELDS),
;	  1217			MB_PREV: ref block field (MBP_FIELDS);
;	  1218	
;	  1219		    LCB = ULARD (.CCB [$sub_field (C_PRM1, LO_BYTE)]);
;	  1220		    TNB = .LCB [LC_TNB];
;	  1221	
;	  1222		    if .FCM eql S$ACC
;	  1223		    then
;	  1224			begin
;	  1225			COUNT = .CCB [C_CNT];
;	  1226			leave ABO_DIS
;	  1227			end;
;	  1228	
;	  1229		    MB = TNB [TN_MBXQ];			! Flush mailbox for this link
;	  1230		    while (MB_PREV = .MB; MB = .MB [MB_LINK]) neq 0 do
;	  1231			begin
;	  1232			if .MB [MB_ULA] eql .CCB [$sub_field (C_PRM1, LO_BYTE)]
;	  1233			then
;	  1234			    begin
;	  1235			    if (MB_PREV [MB_LINK] = .MB [MB_LINK]) eql 0
;	  1236			    then TNB [TN_MBTL] = .MB_PREV;
;	  1237			    $MCB_RETURN_DSR (MBP_SIZE*bytes_word + .MB [MB_CNT], .MB)
;	  1238			    end
;	  1239			end;
;	  1240	
;	  1241		    ! Flush the output queues
;	  1242		    while $SCX_DEQUEUE (LCB [LC_OQUE], LIOP) do IOFIN$ (.SCXDB [SCX_UCB], .LIOP, IE_ABO, 0);
;	  1243		    while $SCX_DEQUEUE (LCB [LC_NQUE], LIOP) do IOFIN$ (.SCXDB [SCX_UCB], .LIOP, IE_ABO, 0);
;	  1244	
;	  1245		    ! Clear user's LN2 word, clear the ULA, and get rid of link
;	  1246		    ((.LCB [LC_LUN] ^%upval) + .$HEADR + LUN_OFFSET - %upval) = 0;
;	  1247		    ULASET (.LCB [LC_ULA], 0);
;	  1248		    TNB [TN_ACT] = .TNB [TN_ACT] - 1;
;	  1249		    LCBKIL (.LCB)
;	  1250		    end;
;	  1251	
;	  1252	
;	  1253	
;	  1254		! ************
;	  1255		! ** SXUCON **
;	  1256		! ************
;	  1257		[S$CON^-1]:
;	  1258		    begin
;	  1259		    local
;	  1260			LCB: ref block field (LCB_FIELDS);
;	  1261	
;	  1262		    LCB = (.(.IOP [I_LN2]) and -2);
;	  1263		    if .CCB [C_STS] neq S_SSUC
;	  1264		    then
;	  1265			begin
;	  1266			bind TNB = .LCB [LC_TNB]: block field (TNB_FIELDS);
;	  1267			TNB [TN_ACT] = .TNB [TN_ACT] - 1;
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  47
X01340		Transmit-Complete From Session Control		30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (10)

;	  1268			LCBKIL (.LCB);		! Deallocate LCB and ULA and LN2
;	  1269			ULASET (.CCB [$sub_field (C_PRM1, LO_BYTE)], 0);
;	  1270			(.IOP [I_LN2]) = 0;
;	  1271			end
;	  1272		    else
;	  1273			LCB [LC_LLA] = .CCB [C_LIX];
;	  1274	
;	  1275		    IOFIN$ (.IOP [I_UCB], .IOP, STXMAP (.CCB [C_STS]), .CCB [C_PRM4]);
;	  1276		    $MCB_RETURN_DSR( DSR_CONNECT_BLOCK_SIZE, .CCB[C_ADDR]);
;	  1277		    CCBRT$( .CCB);
;	  1278		    return
;	  1279		    end;
;	  1280	
;	  1281	
;	  1282	
;	  1283		! ************
;	  1284		! ** SXUREJ **
;	  1285		! ************
;	  1286		[S$REJ^-1]:
;	  1287		    begin
;	  1288		    bind
;	  1289			TNB = CCB [C_PRM4]: ref block field (TNB_FIELDS);
;	  1290	
;	  1291		    if .TNB neq 0 then TNB [TN_ACT] = .TNB [TN_ACT] - 1;
;	  1292		    COUNT = .CCB [C_CNT]
;	  1293		    end;
;	  1294	
;	  1295	
;	  1296	
;	  1297		! ********************************************
;	  1298		! ** SXUGLN, SXUIRQ, SXUMRQ, SXUSND, SXUSNI **
;	  1299		! ********************************************
;	  1300		[inrange]: COUNT = .CCB [C_CNT];
;	  1301	
;	  1302	
;	  1303	
;	  1304		! ************
;	  1305		! ** SXUERR **
;	  1306		! ************
;	  1307		[outrange]: SIGNAL_STOP (SCX$_ISC, .CCB);
;	  1308	
;	  1309		tes;
;	  1310	
;	  1311	    if .IOP neq 0 then IOFIN$ (.IOP [I_UCB], .IOP, STXMAP (.CCB [C_STS]), .COUNT);
;	  1312	    CCBRT$ (.CCB)
;	  1313	    end;


						.GLOBL	$SCQRM, $CCBRT


						.SBTTL	UFCXCP Transmit-Complete From Session Control
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  48
X01340		Transmit-Complete From Session Control		30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (10)

005734						.PSECT	$CODE$,  RO 

000000	162706  000010 			UFCXCP: SUB	#10,SP				;					1165
000004	010301 					MOV	R3,R1				; *,FCM
000006	010446 					MOV	R4,-(SP)
000010	010546 					MOV	R5,-(SP)
000012	005046 					CLR	-(SP)				; COUNT					1201
000014	010400 					MOV	R4,R0				;					1202
000016	016046  000034 				MOV	34(R0),-(SP)			; *,IOP
000022	006203 					ASR	R3				;					1204
000024	020327  000012 				CMP	R3,#12
000030	101003 					BHI	1$
000032	006303 					ASL	R3
000034	066307  000150'				ADD	P.AAM(R3),PC			; Case dispatch
000040	016646  000006 			1$:	MOV	6(SP),-(SP)			;					1307
000044	012746  100014 				MOV	#-77764,-(SP)
000050	012746  000002 				MOV	#2,-(SP)
000054	004767  000000G				JSR	PC,$STOP
000060	062706  000006 				ADD	#6,SP
000064	000167  000656 				JMP	17$				;					1204
000070	005046 				2$:	CLR	-(SP)				;					1219
000072	016600  000010 				MOV	10(SP),R0
000076	116016  000024 				MOVB	24(R0),(SP)
000102	004767  000000G				JSR	PC,ULARD
000106	010066  000014 				MOV	R0,14(SP)			; *,LCB
000112	016066  000004  000012 			MOV	4(R0),12(SP)			; *(LCB),TNB				1220
000120	020127  000002 				CMP	R1,#2				; FCM,*					1222
000124	001007 					BNE	3$
000126	016600  000010 				MOV	10(SP),R0			;					1225
000132	016066  000022  000004 			MOV	22(R0),4(SP)			; *,COUNT
000140	005746 					TST	-(SP)				;					1226
000142	000557 					BR	11$
000144	016602  000012 			3$:	MOV	12(SP),R2			; TNB,MB				1229
000150	062702  000026 				ADD	#26,R2				; *,MB
000154	010203 				4$:	MOV	R2,R3				; MB,MB.PREV				1230
000156	011202 					MOV	(R2),R2				; MB,MB
000160	001424 					BEQ	6$
000162	016600  000010 				MOV	10(SP),R0			;					1232
000166	126260  000007  000024 			CMPB	7(R2),24(R0)			; *(MB),*
000174	001367 					BNE	4$
000176	011213 					MOV	(R2),(R3)			; MB,MB.PREV				1235
000200	001004 					BNE	5$
000202	016600  000012 				MOV	12(SP),R0			; TNB,*					1236
000206	010360  000030 				MOV	R3,30(R0)			; MB.PREV,*(TNB)
000212	016201  000002 			5$:	MOV	2(R2),R1			; *(MB),*				1237
000216	062701  000020 				ADD	#20,R1
000222	010200 					MOV	R2,R0				; MB,*
000224	004767  000000G				JSR	PC,$DSRRT
000230	000751 					BR	4$				;					1230
000232	016666  000014  000016 		6$:	MOV	14(SP),16(SP)			; LCB,*					1242
000240	062766  000006  000016 			ADD	#6,16(SP)
000246	016616  000016 			7$:	MOV	16(SP),(SP)
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  49
X01340		Transmit-Complete From Session Control		30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (10)

000252	012746  000022 				MOV	#22,-(SP)
000256	060616 					ADD	SP,(SP)				; LIOP,*
000260	004767  000000G				JSR	PC,$SCQRM
000264	005726 					TST	(SP)+
000266	032700  000001 				BIT	#1,R0
000272	001414 					BEQ	8$
000274	016602  000006 				MOV	6(SP),R2
000300	016205  000004 				MOV	4(R2),R5
000304	016603  000020 				MOV	20(SP),R3			; LIOP,*
000310	012700  177761 				MOV	#-17,R0
000314	005001 					CLR	R1
000316	004767  000000G				JSR	PC,$IOFIN
000322	000751 					BR	7$
000324	016666  000014  000016 		8$:	MOV	14(SP),16(SP)			; LCB,*					1243
000332	062766  000012  000016 			ADD	#12,16(SP)
000340	016616  000016 			9$:	MOV	16(SP),(SP)
000344	012746  000022 				MOV	#22,-(SP)
000350	060616 					ADD	SP,(SP)				; LIOP,*
000352	004767  000000G				JSR	PC,$SCQRM
000356	005726 					TST	(SP)+
000360	032700  000001 				BIT	#1,R0
000364	001414 					BEQ	10$
000366	016602  000006 				MOV	6(SP),R2
000372	016205  000004 				MOV	4(R2),R5
000376	016603  000020 				MOV	20(SP),R3			; LIOP,*
000402	012700  177761 				MOV	#-17,R0
000406	005001 					CLR	R1
000410	004767  000000G				JSR	PC,$IOFIN
000414	000751 					BR	9$
000416	005000 				10$:	CLR	R0				;					1246
000420	016601  000014 				MOV	14(SP),R1			; LCB,*
000424	156100  000016 				BISB	16(R1),R0			; *(LCB),*
000430	006300 					ASL	R0
000432	006300 					ASL	R0
000434	066700  000000G				ADD	$HEADR,R0
000440	005060  000074 				CLR	74(R0)
000444	005016 					CLR	(SP)				;					1247
000446	010100 					MOV	R1,R0				; LCB,*
000450	116016  000020 				MOVB	20(R0),(SP)			; *(LCB),*
000454	005046 					CLR	-(SP)
000456	004767  000000G				JSR	PC,ULASET
000462	016601  000014 				MOV	14(SP),R1			; TNB,*					1248
000466	105361  000020 				DECB	20(R1)				; *(TNB)
000472	016616  000016 				MOV	16(SP),(SP)			; LCB,*					1249
000476	004767  000000G				JSR	PC,LCBKIL
000502	022626 				11$:	CMP	(SP)+,(SP)+			;					1204
000504	000520 					BR	17$
000506	011600 				12$:	MOV	(SP),R0				; IOP,*					1262
000510	017001  000006 				MOV	@6(R0),R1			; *(IOP),LCB
000514	042701  000001 				BIC	#1,R1				; *,LCB
000520	016600  000006 				MOV	6(SP),R0			;					1263
000524	026027  000014  000001 			CMP	14(R0),#1
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  50
X01340		Transmit-Complete From Session Control		30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (10)

000532	001425 					BEQ	13$
000534	016100  000004 				MOV	4(R1),R0			; *(LCB),*				1267
000540	105360  000020 				DECB	20(R0)
000544	010146 					MOV	R1,-(SP)			; LCB,*					1268
000546	004767  000000G				JSR	PC,LCBKIL
000552	005016 					CLR	(SP)				;					1269
000554	016600  000010 				MOV	10(SP),R0
000560	116016  000024 				MOVB	24(R0),(SP)
000564	005046 					CLR	-(SP)
000566	004767  000000G				JSR	PC,ULASET
000572	016600  000004 				MOV	4(SP),R0			; IOP,*					1270
000576	005070  000006 				CLR	@6(R0)				; *(IOP)
000602	022626 					CMP	(SP)+,(SP)+			;					1265
000604	000405 					BR	14$				;					1263
000606	016600  000006 			13$:	MOV	6(SP),R0			;					1273
000612	116061  000010  000021 			MOVB	10(R0),21(R1)			; *,*(LCB)
000620	016600  000006 			14$:	MOV	6(SP),R0			;					1275
000624	016046  000014 				MOV	14(R0),-(SP)
000630	004767  000000G				JSR	PC,STXMAP
000634	016602  000002 				MOV	2(SP),R2			; IOP,*
000640	016205  000010 				MOV	10(R2),R5			; *(IOP),*
000644	010203 					MOV	R2,R3				; IOP,*
000646	016602  000010 				MOV	10(SP),R2
000652	016201  000032 				MOV	32(R2),R1
000656	004767  000000G				JSR	PC,$IOFIN
000662	016602  000010 				MOV	10(SP),R2			;					1276
000666	016200  000020 				MOV	20(R2),R0
000672	012701  000156 				MOV	#156,R1
000676	004767  000000G				JSR	PC,$DSRRT
000702	016604  000010 				MOV	10(SP),R4			;					1277
000706	004767  000000G				JSR	PC,$CCBRT
000712	005726 					TST	(SP)+				;					1204
000714	000442 					BR	19$				;					1258
000716	016601  000006 			15$:	MOV	6(SP),R1			;					1291
000722	016100  000032 				MOV	32(R1),R0
000726	001402 					BEQ	16$
000730	105360  000020 				DECB	20(R0)
000734	016600  000006 			16$:	MOV	6(SP),R0			;					1300
000740	016066  000022  000002 			MOV	22(R0),2(SP)			; *,COUNT
000746	005716 				17$:	TST	(SP)				; IOP					1311
000750	001420 					BEQ	18$
000752	016600  000006 				MOV	6(SP),R0
000756	016046  000014 				MOV	14(R0),-(SP)
000762	004767  000000G				JSR	PC,STXMAP
000766	016602  000002 				MOV	2(SP),R2			; IOP,*
000772	016205  000010 				MOV	10(R2),R5			; *(IOP),*
000776	010203 					MOV	R2,R3				; IOP,*
001000	016601  000004 				MOV	4(SP),R1			; COUNT,*
001004	004767  000000G				JSR	PC,$IOFIN
001010	005726 					TST	(SP)+
001012	016604  000006 			18$:	MOV	6(SP),R4			;					1312
001016	004767  000000G				JSR	PC,$CCBRT
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  51
X01340		Transmit-Complete From Session Control		30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (10)

001022	062706  000020 			19$:	ADD	#20,SP				;					1165
001026	000207 					RTS	PC

; Routine Size:  268 words,	Routine Base:  $CODE$ + 5734
; Maximum stack depth per invocation:  12 words


000150						.PSECT	$PLIT$,  RO ,  D  

					P.AAM:						; CASE Table for UFCXCP+0034		1204
000150	000446 					.WORD	446				; [12$]
000152	000030 					.WORD	30				; [2$]
000154	000656 					.WORD	656				; [15$]
000156	000674 					.WORD	674				; [16$]
000160	000674 					.WORD	674				; [16$]
000162	000674 					.WORD	674				; [16$]
000164	000674 					.WORD	674				; [16$]
000166	000674 					.WORD	674				; [16$]
000170	000030 					.WORD	30				; [2$]
000172	000030 					.WORD	30				; [2$]
000174	000674 					.WORD	674				; [16$]



;	  1314	
;	  1315	end
;	  1316	eludom



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


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




;				LIBRARY STATISTICS
;
;					     -------- Symbols --------    Blocks
;	File				     Total    Loaded   Percent      Read
;
;  NETPKG:<SC>SCPRM.L16.4		       262       118        45         0
;  NETPKG:<MCB>MCBLIB.L16.15		       372        57        15         0
;  NETPKG:<MCB>RSXLIB.L16.13		       317       129        40         0
;  NETPKG:<MCB>XPORTX.L16.15		       599        30         5         0
SCXDSP								25-Jan-1983 10:24:21	TOPS-20 Bliss-16 2A(530)	    Page  52
X01340		Transmit-Complete From Session Control		30-Dec-1982 21:02:35	NETPKG:<SC>SCXDSP.BLI.10 (10)

;  NETPKG:<MCB>SCSYS.L16.13		       113        41        36         0





; Size:		1786 code + 63 data words
; Run Time:	00:33.6
; Elapsed Time:	01:56.2
; Memory Used:	151 pages
; Compilation Complete
ABO_DIS				1199	1210	1226
ALL				 125+
BLISS36				 352	1143
BUFCHK				 238	 432	 476	 477	 515	 572	 727	 818
BYT$PTR				 775	 955	 956	 957
BYTES_WORD			 152+	 452	 586	 626	 630	 785	 935	 936	 945	 958	 982	1237
BYTE_VECTOR			 328	 333
CB				 933#	 939	 955	 956	 957
CBU_ACNT			 147+#
CBU_ACTL			 146+#
CBU_DFMT			 136+#
CBU_DOBJ			 137+#
CBU_DST				 138+#
CBU_FIELDS			 132+#
CBU_NODE			 134+#
CBU_PASL			 143+#
CBU_PASW			 144+#
CBU_RQDL			 140+#
CBU_RQID			 141+#
CBU_SIZE			 151+#	 152+
CB_DFMT				 935	 939	 955
CB_ENDD				 936
CB_FIELDS			 933
CB_L1				 935#	 955
CB_L2				 936#	 957
CB_NODE				 956
CB_SFMT				 935	 936	 957
CCB				 887	 914	 933	 938	 942	 948	 961	 963	 999	1009	1012	1017
				1024	1029	1056	1165	1192	1202	1219	1225	1232	1263	1269	1273
				1275	1276	1277	1289	1292	1300	1307	1311	1312
CCBRT$				1277	1312
CND				 427#	 440	 563#	 578
CND_ACNT			 178+#
CND_ACTL			 177+#
CND_DFMT			 161+#	 955
CND_DOBJ			 162+#
CND_DST				 163+#
CND_FIELDS			 156+#	 427	 563	 930
CND_NODE			 165+#	 956
CND_OPDL			 180+#
CND_OPTD			 181+#
CND_PASL			 174+#
CND_PASW			 175+#
CND_RQDL			 171+#
CND_RQID			 172+#
CND_SEG				 159+#	 954
CND_SFMT			 167+#	 957
CND_SIZE			 185+#	 945	 958
CND_SOBJ			 168+#
CND_SRC				 169+#
CND_TLA				 158+#	 440	 578	 953
CONNECT_PROC			 340	 405	 407	 430	 433	 443	 446	 474	 478	 481	 492	 496
CONTROL_PROC			 342	 604	 611	 627	 680	 728	 759	 819	 829
COUNT_WORD			 336#	 350#	 667	 703	 799	 883
COUNT				 328	 336	 699#	 766#	 770#	 771#	 772	 775	1194	1201#	1225#	1292#
				1300#	1311
C_ADDR				 933	1276
C_BIAS				 938
C_CNT				1225	1292	1300
C_FIELDS			 914	1056	1192
C_LIX				 961	1273
C_PRM1				1009	1219	1232	1269
C_PRM2				 963
C_PRM4				1275	1289
C_PRM5				1202
C_STS				1263	1275	1311
DATA_PROC			 339	 377	 388
DISCONNECT_PROC			 341	 501	 516	 534	 537	 567	 570	 573	 581	 595	 599
DSR_CONNECT_BLOCK_SIZE		1276
FALSE				 395	 543	 588	 679	 737	 753	 822	 851	1082	1091	1097
FCM				 887	 920	1029	1058	1165	1204	1222
FC_CCP				 291
FC_RCP				 294
FC_TIM				 292
FC_XCP				 293
FNC				 719	 736#	 751	 765	 773	 777	 787
FNDOBJ				 239	 939
GETLCB				 240	 445	 480
HDR_FIELDS			 219
HI_BYTE				 748
H_LUN				 344	1197
H_NML				 364	 365	 435	 566	 610	 631	 847
IE_ABO				1242	1243
IE_BAD				 430	 443	 474	 537	 570	 581
IE_DAO				 772
IE_NDA				 759
IE_PRI				 364	 365	 388	 407	 492	 534	 567	 595	 611	 829	 859
IE_RSU				 446	 481	 627
IOFIN$				 667	 703	 799	 883	1242	1243#	1275	1311
IOP				 296	 322	 354#	 357	 358	 359	 363	 371	 394	 427	 429	 432
				 436	 445	 447#	 473	 476	 477	 480	 483#	 512#	 513#	 515	 536
				 542	 563	 569	 572	 574	 583#	 587	 634	 635	 636	 667	 677
				 692	 703	 722#	 727	 747	 748	 770	 774	 775	 799	 816#	 817
				 818	 821	 838	 848#	 849#	 850	 869	 883	1195	1202#	1262	1270
				1275	1311
IOP$ABO				 524	 539
IOP$ACC				 415
IOP$CLO				 849
IOP$CLS				 675	 845
IOP$CON				 459
IOP$DSC				 524
IOP$GLN				 806
IOP$GND1			 710	 744
IOP$GND2			 710	 723	 761
IOP$GND3			 710
IOP$INT				 391
IOP$OPN				 363	 607	 620
IOP$REJ				 551
IOP$SPA				 687
IOP_CON				 405
IOP_CTL				 363	 604	 848
IOP_DSC				 501
IOP_FIELDS			 322	1195	1215
IOP_HI				 371
IOP_LO				 371
IOP_RCV				 377
IOP_XMT				 377
IS_SUC				 364	 365	 368	 398	 496	 599	 680	 703	 764	 772	 852
I_FNC				 363	 371	 838	 848
I_LN2				 354	 357	 358	 447	 483	 634	1262	1270
I_MOD				 359	 849
I_PRM1				 436	 515	 574	 636	 692	 727	 774	 818
I_PRM2				 427	 563	 775	 817
I_PRM3				 429	 432	 473	 476	 513	 536	 569	 572	 722	 770	 816
I_PRM4				 432	 476	 512	 513	 572	 722	 747	 748	 816
I_PRM5				 512
I_PRM6				 477	 583
I_TCB				 445	 480	 635
I_UCB				1275	1311
LCB				 330	 358#	 387	 390	 394	 407	 445	 447	 448#	 449#	 480	 483
				 484#	 533	 535	 538#	 542	 565#	 606#	 784#	 788	 791#	 792	 869
				 872	 875	 876	 916	1009#	1016	1067	1085#	1086#	1088	1091#	1092
				1094	1097#	1098#	1099	1106	1107	1213	1219#	1220	1242	1243	1246
				1247	1249	1260	1262#	1266	1268	1273#
LCBKIL				 241	1249	1268
LCB_FIELDS			 330	 916	1067	1213	1260
LCF_ARES			1094	1097
LCF_DSC				 387	 533	 538	 791	1098
LCF_NRES			1088	1091
LC_LINK				1086
LC_LLA				 449	1273
LC_LUN				 448	 484	1246
LC_NQHD				1106
LC_NQUE				 394	 542	 875	1243
LC_OQHD				1107
LC_OQUE				 869	 876	1242
LC_TNB				 390	 535	1016	1220	1266
LC_ULA				1247
LIOP				1215	1242	1243
LO_BYTE				 747	1009	1219	1232	1269
LUN				 324	 357#	 448	 484	 566	 610	 631	 847
LUN_MASK			 742	 748#	 752
LUN_OFFSET			 344#	 354	 357	 435	1197#	1246
MAP$				 436	 574	 774	 938
MB				 332	 437#	 438#	 440	 443	 449	 450	 452	 575#	 576#	 578	 581
				 583	 584	 586	 643#	 644#	 646	 649	 652#	 655	 657	 659	 660#
				 695#	 696#	 698	 732#	 733#	 736	 752	 766	 770	 771	 772	 775
				 779#	 782	 784	 785	 918	 945	 952	 953	 958#	 959#	 960#	 961#
				 962#	 963#	 964#	 974#	 982	 988	 994#	 995	1216	1229#	1230#	1232
				1235	1237
MB$CNP				 698	 736	 779
MB$CON				 649	 655	 777	 959
MB$INT				 787
MBD				 930	 952#	 953#	 954#	 955	 956	 957
MBF_REQ				 994
MBPROC				 242	1072	1077
MBP_FIELDS			 331	 332	 918	1216	1217
MBP_SIZE			 452	 586	 785	 945	 982	1237
MB_CNT				 452	 586	 766	 770	 772	 785	 958	 982	1237
MB_DATA				 775	 952
MB_FLG				 960
MB_FNC				 649	 655	 698	 736	 779	 959
MB_LINK				 438	 450	 576	 584	 644	 657	 696	 733	 782	1230	1235
MB_LLA				 449	 583	 961
MB_LUN				 752	 771	 962
MB_PREV				 331	 438#	 450#	 451	 576#	 584#	 585	 644#	 657#	 658	 660	 733#
				 782#	 783	1217	1230#	1235#	1236
MB_TASK				 646	 964
MB_TIME				 652	 963
MB_TNB				 974
MB_ULA				 784	1232
MCB$				 347	1151
MCB_DB_CCB_MOD			 198	 199	 200	 887#	1029#	1165#
MODIFIER			 325	 359#	 363	 391	 409	 518	 539	 607	 614	 723	 744	 761
NONE_SUCH			 275	 276
NOOP				 243	 263	 264	 265
NXT_TNB				1117	1119#	1121
N_RQL				 152+#	 473
PDVID$				1148
QFLAG				 326	 351#	 395#	 543#	 588#	 679#	 822#	 851#	 869
QUEAST				 244	 989
RSX$				 666	 702	 798	 878	 882	1150
RSX_UCB_SCB_IOP			 196	 296#
S$ABO				1210
S$ACC				1210	1222
S$CNR				 926
S$CON				1257
S$DIS				1210
S$DSR				1007
S$INT				1007
S$REJ				1286
SC				1142#	1148
SCB				 296
SCX$_ISC			1024	1161	1307
SCX$_NSC			1149
SCXDB_FIELDS			 329
SCXDB_SIZE			 630
SCXDB				 329	 347	 632	 633#	 643	 658#	 666	 702	 798	 878	 882	 887
				 913	 966	 995	 996#	1029	1055	1070#	1071#	1072	1074	1079	1103
				1148	1150	1151	1153#	1165	1191	1242	1243
SCXDSP				   1#
SCXF_KLOK			 996
SCXF_SUCC			1071	1079	1103
SCX_MBHD			 643
SCX_MBTL			 658
SCX_MBX				 995	1072
SCX_SCPIX			1148
SCX_TICK			1070	1153
SCX_TNB				 632	 633	 966	1074
SCX_UCB				1150	1151	1242	1243
SELEKT				 720	 735#	 737#	 753#	 756	 759
SRUDSW				 222*	 278
SRUINW				 223	 277
STATUS				 333	 337	 665#	 765#	 773#	 797#	 865#
STATUS_WORD			 337#	 348#	 667	 799	 883
STS				 327	 349#	 361#	 368	 369#	 665	 764#	 772#	 797	 865	 866	 929
				 975#	 983#	 999
STXMAP				 245	1275	1311
S_EOTB				 983
S_ERES				 948
S_EURO				 942
S_SSUC				 975	1263
TABLE$				 291
TCB				 931	 939	 964	 969	 994
TCB_FIELDS			 931
TMP				 425	 432#	 433	 471	 476#	 477#	 478	 510	 515#	 516	 532	 561
				 572#	 573	 726	 727#	 728	 814	 818#	 819
TNB				 334	 358#	 390#	 435#	 437	 445	 451#	 480	 482#	 535#	 575	 585#
				 587	 610	 626	 630	 631#	 632#	 633#	 634	 635#	 636#	 637#	 638#
				 639#	 646	 650	 656#	 659	 677	 678#	 692#	 695	 732	 783#	 821
				 847	 850	 870	 871	 917	 966#	 967	 969	 971#	 974	 976	 979
				 987#	 988	 989	1016#	1017	1018	1068	1074#	1075	1077	1079	1082#
				1083	1085	1108	1113	1119	1120	1121#	1124#	1214	1220#	1229	1236#
				1248#	1266#	1267#	1289#	1291#
TNB_FIELDS			 334	 917	1068	1214	1266	1289
TNB_SIZE			 626
TNF_CLS				 678	 847	1113
TNF_RWT				1079	1082
TN_ACT				 482	 650	 656	 979	 987	1248	1267	1291
TN_IQHD				 639	1108
TN_IQTL				 639
TN_IQUE				1017	1018
TN_LCB				1085
TN_LINK				 632	 971	1119	1124
TN_LUN				 631
TN_MAX				 636	 650	 979
TN_MBHD				 638
TN_MBTL				 451	 585	 638	 783	1236
TN_MBXQ				 437	 575	 659	 695	 732	 988	1077	1229
TN_OQHD				 637
TN_OQTL				 637
TN_OQUE				 587	 677	 821	 850	 871	1083
TN_SPA				 692
TN_TASK				 635	 646	 969
TRUE				 351	 538	 678	 735	 791	 994	 996	1071	1098
TSKRT$				 994
TYPE_MASK			 741	 747#	 751
U$ABW				 225	 271
U$ACW				 226	 270
U$ARQ				 227	 792	1099
U$CLW				 228	 272	1120
U$CNW				 229	 270
U$DSP				 196	 262	 296*
U$DSW				 230	 271
U$GLW				 231	 272
U$IRQ				 232	 788	1092
U$RCW				 233	 269
U$RJW				 234	 271
U$SNW				 235	 268
U$XMW				 236	 268
UCB				 296	 347	 667	 703	 799	 883
UFCRCP				 198	 294	 887*
UFCTMO				 199	 292	1029*
UFCXCP				 200	 293	1165*
ULAGET				 246
ULARD				 247	 784	1009	1219
ULASET				 248	1247	1269#
XPO$K_VERSION			 122+
$ADDRESS			 158+
$BYTE_STRING			 134+	 138+	 141+	 144+	 147+	 163+	 165+	 169+	 172+	 175+	 178+	 181+
$BYTE				 136+	 137+	 161+	 162+	 167+	 168+
$DSPCR				 218	 291
$FIELD				 132+	 156+
$FIELD_SET_SIZE			 151+	 185+
$HEADR				 219	 354	 357	 364	 365	 435	 566	 610	 631#	 847	1246
$IDSP				 274#
$MCB_ENABLE_LONG_TIMER		1152
$MCB_GET_DSR			 626	 945
$MCB_RETURN_DSR			 452	 586	 785	 982	1237	1276
$NSTBL				 261#
$ODSP				 267#
$SCXLL				 291#
$SCX_DEQUEUE			1242	1243
$SCX_DISPATCH_INPUT		1018	1108
$SCX_DISPATCH_OUTPUT		 871	 875	 876	1083	1106	1107
$SCX_DO_RCE			 942	 948	 999	1012
$SCX_ENQUEUE			 394	 587	 659	 821	 869	 988	 995	1017
$SCX_GET_DATA_BASE		 913	1055	1191
$SCX_STACK			 542	 677	 850
$SHORT_INTEGER			 140+	 143+	 146+	 159+	 171+	 174+	 177+	 180+
$SHOW				 125+
$SUB_FIELD			 747	 748	1009	1219	1232	1269