Google
 

Trailing-Edge - PDP-10 Archives - BB-R595B-SM_11-9-85 - mcb/utilities/ndt.lst
There is 1 other file named ndt.lst in the archive. Click here to see a list.
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page   1
								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (1)

;	  0001	module NDT (					! Node Debugging Tool
;	  0002			ident = 'X01050',
;	  0003			language (bliss16)
;	  0004			) =
;	  0005	begin
;	  0006	!
;	  0007	!                    COPYRIGHT (c) 1980, 1981, 1982
;	  0008	!                    DIGITAL EQUIPMENT CORPORATION
;	  0009	!                        Maynard, Massachusetts
;	  0010	!
;	  0011	!     This software is furnished under a license and may  be  used
;	  0012	!     and copied only in accordance with the terms of such license
;	  0013	!     and with the inclusion of the above copyright notice.   This
;	  0014	!     software  or any other copies thereof may not be provided or
;	  0015	!     otherwise made available to any other person.  No  title  to
;	  0016	!     and ownership of the software is hereby transferred.
;	  0017	!
;	  0018	!     The information  in  this  software  is  subject  to  change
;	  0019	!     without  notice  and should not be construed as a commitment
;	  0020	!     by DIGITAL EQUIPMENT CORPORATION.
;	  0021	!
;	  0022	!     DIGITAL assumes no responsibility for the use or reliability
;	  0023	!     of  its  software  on  equipment  which  is  not supplied by
;	  0024	!     DIGITAL.
;	  0025	!
;	  0026	
;	  0027	!++
;	  0028	!
;	  0029	! FACILITY: DN20 Node Debugging Tool
;	  0030	!
;	  0031	! ABSTRACT:
;	  0032	!
;	  0033	!	This is a hack process to let DNDDT talk to the DN20.
;	  0034	!
;	  0035	! ENVIRONMENT: MCB V3.0
;	  0036	!
;	  0037	! AUTHOR: Alan D. Peckham	CREATION DATE: 02-Sep-81
;	  0038	!
;	  0039	! MODIFIED BY:
;	  0040	!
;	  0041	!	Alan Peckham, 02-Sep-81
;	  0042	! 01	- New process for DN20 testing.
;	  0043	! 02	- Pick up data message from right CCB.
;	  0044	!	  Fix up call linkages on RETURN_CCB calls.
;	  0045	! 03	- Make sure no optional data on ACCEPT.
;	  0046	! 04	- Fix problems with large EXAMINEs (buffering)
;	  0047	!--
;	  0048	
;	  0049	!
;	  0050	! INCLUDE FILES:
;	  0051	!
;	  0052	
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page   2
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (1)

;	  0053	library 'MCBLIB';
;	  0054	
;	  0055	library 'XPORTX';
;	  0056	
;	  0057	require 'SCSYS';
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page   3
X01050								30-Dec-1982 17:27:41	NETPKG:<MCB>SCSYS.REQ.7 (4)

; %PRINT:				  [0,0,0,0]   (+%O'0')
; %PRINT:				  [3,0,8,0]   (+%O'6')
; %PRINT:				  [3,8,8,0]   (+%O'7')
; %PRINT:				  [4,0,0,0]   (+%O'10')
; %PRINT:				  [13,0,8,0]   (+%O'32')
; %PRINT:				  [13,8,8,0]   (+%O'33')
; %PRINT:				  [14,0,0,0]   (+%O'34')
; %PRINT:				  [23,0,16,1]   (+%O'56')
; %PRINT:				  [24,0,0,0]   (+%O'60')
; %PRINT:				  [32,0,16,1]   (+%O'100')
; %PRINT:				  [33,0,0,0]   (+%O'102')
; %PRINT:				  [37,0,16,1]   (+%O'112')
; %PRINT:				  [38,0,0,0]   (+%O'114')
; %PRINT:				  [46,0,16,1]   (+%O'134')
; %PRINT:				  [47,0,0,0]   (+%O'136')
; %PRINT:				  [55,0,0,0]   (+%O'156')
; %PRINT:				  [4,0,16,1]   (+%O'10')
; %PRINT:				  [5,0,0,0]   (+%O'12')
; %PRINT:				  [4,0,16,1]   (+%O'10')
; %PRINT:				  [5,0,16,1]   (+%O'12')
; %PRINT:				  [6,0,16,1]   (+%O'14')
; %PRINT:				  [7,0,0,0]   (+%O'16')
; %PRINT:				  [14,0,16,1]   (+%O'34')
; %PRINT:				  [15,0,0,0]   (+%O'36')
; %PRINT:				  [14,0,16,1]   (+%O'34')
; %PRINT:				  [15,0,16,1]   (+%O'36')
; %PRINT:				  [16,0,16,1]   (+%O'40')
; %PRINT:				  [17,0,0,0]   (+%O'42')
; %PRINT:				  55 fullwords
; %PRINT:				  [0,0,8,0]   (+%O'0')
; %PRINT:				  [0,8,8,0]   (+%O'1')
; %PRINT:				  [1,0,0,0]   (+%O'2')
; %PRINT:				  [1,0,16,1]   (+%O'2')
; %PRINT:				  [2,0,0,0]   (+%O'4')
; %PRINT:				  [1,0,16,1]   (+%O'2')
; %PRINT:				  [2,0,16,1]   (+%O'4')
; %PRINT:				  [3,0,16,1]   (+%O'6')
; %PRINT:				  [4,0,0,0]   (+%O'10')
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page   4
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (1)

;	  0414	
;	  0415	library 'NDTDAT';
;	  0416	
;	  0417	!
;	  0418	! TABLE OF CONTENTS:
;	  0419	!
;	  0420	
;	  0421	linkage
;	  0422	    NDT_DB_CCB = jsr (register = 5, register = 4) : nopreserve (4),
;	  0423	    NDT_DB_CCB_X = jsr (register = 5, register = 4) : nopreserve (1, 2, 3, 4, 5);
;	  0424	
;	  0425	forward routine
;	  0426	    DO_ABORT : NDT_DB_CCB novalue,
;	  0427	    DO_ACCEPT : NDT_DB_CCB novalue,
;	  0428	    DO_DATA : NDT_DB_CCB_X novalue,
;	  0429	    DO_REQUEST : NDT_DB_CCB novalue,
;	  0430	    DO_SEND : NDT_DB_CCB novalue,
;	  0431	    MEMORY_EXISTS,
;	  0432	    NEW_PROCESS : CALL$,
;	  0433	    NDTTIM : MCB_DB_CCB_MOD novalue,	
;	  0434	    NXM_CATCHER,
;	  0435	    RCV_ABO : MCB_DB_CCB novalue,
;	  0436	    RCV_ACC : MCB_DB_CCB novalue,
;	  0437	    RCV_CNR : MCB_DB_CCB novalue,
;	  0438	    RCV_DAT : MCB_DB_CCB novalue,
;	  0439	    RCV_DRQ : MCB_DB_CCB novalue,
;	  0440	    RCV_DSR : MCB_DB_CCB novalue,
;	  0441	    RCV_SND : MCB_DB_CCB novalue,
;	  0442	    RETURN_CCB : NDT_DB_CCB novalue,
;	  0443	    START_ABORT : LINKAGE_DB novalue;
;	  0444	
;	  0445	!
;	  0446	! MACROS:
;	  0447	!
;	  0448	!	None
;	  0449	!
;	  0450	! EQUATED SYMBOLS:
;	  0451	!
;	  0452	
;	  0453	literal
;	  0454	    FALSE = 1 eql 0,
;	  0455	    NO_OPERATION = 0,
;	  0456	    TRUE = 1 eql 1;
;	  0457	
;	  0458	global literal
;	  0459	    %name ('D.LEN') = D_LENGTH*%upval;
;	  0460	
;	  0461	field	word_0 = [0, 0, 16, 0],
;	  0462		word_1 = [1, 0, 16, 0],
;	  0463		byte_0 = [0, 0, 8, 0],
;	  0464		byte_1 = [0, 8, 8, 0];
;	  0465	
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page   5
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (1)

;	  0466	!
;	  0467	! OWN STORAGE:
;	  0468	!
;	  0469	
;	  0470	external routine
;	  0471	    $DSPCR : novalue;
;	  0472	
;	  0473	routine SCRCP (DB, CCB, MODF) : MCB_DB_CCB_MOD novalue =
;	P 0474	    DISPATCH$ (TABLE$ ($DSPCR, 6,
;	P 0475		(S$CNR, RCV_CNR),
;	P 0476		(S$DAT, RCV_DAT),
;	P 0477		(S$DSR, RCV_DSR)),
;	  0478		.MODF, (.DB, .CCB), MCB_DB_CCB);


						.TITLE	NDT
						.IDENT	/X01050/


000000						.PSECT	$PLIT$,  RO ,  D  
000000	000000V				P.AAA:	.WORD	RCV.CNR
000002	000000V					.WORD	RCV.DAT
000004	000000G					.WORD	$DSPCR
000006	000000V					.WORD	RCV.DSR


						.GLOBL	$DSPCR


	000010 				D.LEN==		    10


						.SBTTL	SCRCP
000000						.PSECT	$CODE$,  RO 

000000	004773  000000'			SCRCP:	JSR	PC,@P.AAA(R3)			; *,*(MODF)				0478
000004	000207 					RTS	PC				;					0473

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


;	  0479	
;	  0480	routine SCXCP (DB, CCB, MODF) : MCB_DB_CCB_MOD novalue =
;	P 0481	    DISPATCH$ (TABLE$ ($DSPCR, 20,
;	P 0482		(S$ABO, RCV_ABO),
;	P 0483		(S$ACC, RCV_ACC),
;	P 0484		(S$DRQ, RCV_DRQ),
;	P 0485		(S$SND, RCV_SND)),
;	  0486		.MODF, (.DB, .CCB), MCB_DB_CCB);
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page   6
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (1)


000010						.PSECT	$PLIT$,  RO ,  D  
000010	000000G				P.AAB:	.WORD	$DSPCR
000012	000000V					.WORD	RCV.ACC
000014	000000G					.WORD	$DSPCR
000016	000000V					.WORD	RCV.SND
000020	000000G					.WORD	$DSPCR
000022	000000V					.WORD	RCV.DRQ
000024	000000G					.WORD	$DSPCR
000026	000000G					.WORD	$DSPCR
000030	000000G					.WORD	$DSPCR
000032	000000V					.WORD	RCV.ABO
000034	000000G					.WORD	$DSPCR


						.SBTTL	SCXCP
000006						.PSECT	$CODE$,  RO 

000000	004773  000010'			SCXCP:	JSR	PC,@P.AAB(R3)			; *,*(MODF)				0486
000004	000207 					RTS	PC				;					0480

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


;	  0487	
;	  0488	bind
;	P 0489	    DISPATCH = TABLE$ ($DSPCR, FC_CCP,		! LLC Dispatch vector:
;	P 0490			(FC_RCP, SCRCP),
;	P 0491			(FC_XCP, SCXCP),
;	  0492			(FC_TIM, NDTTIM));		!  timeout
;	  0493	
;	P 0494	$MCB_PROCESS (NAME = NDT,			! Process name
;	  0495	    LLC_DISPATCH = DISPATCH);
;	  0496	!
;	  0497	! EXTERNAL REFERENCES:
;	  0498	!
;	  0499	
;	  0500	external
;	  0501	    MCB$GA_PROCESS_DISPATCH,
;	  0502	    MCB$GAW_PROCESS_DATA_BASE : vector [2],
;	  0503	    MCB$GW_PROCESS_HANDLE;
;	  0504	
;	  0505	bind
;	  0506	    DB_ADDR = MCB$GAW_PROCESS_DATA_BASE [1] : ref block field (D_FIELDS),
;	  0507	    DB_BIAS = MCB$GAW_PROCESS_DATA_BASE [0];
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page   7
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (2)

;	  0508	routine DO_ABORT
;	  0509	
;	  0510	!++
;	  0511	! FUNCTIONAL DESCRIPTION:
;	  0512	!
;	  0513	!
;	  0514	! FORMAL PARAMETERS:
;	  0515	!
;	  0516	       (DB : ref block field (D_FIELDS),
;	  0517		CCB : ref block field (C_FIELDS))
;	  0518	!
;	  0519	! IMPLICIT INPUTS:
;	  0520	!	None
;	  0521	!
;	  0522	! IMPLICIT OUTPUTS:
;	  0523	!	None
;	  0524	!
;	  0525	! ROUTINE VALUE:
;	  0526	!
;	  0527		: NDT_DB_CCB novalue =
;	  0528	!
;	  0529	! SIDE EFFECTS:
;	  0530	!	None
;	  0531	!--
;	  0532	
;	  0533	    begin
;	  0534	    $MCB_CANCEL_CCB_REQUEST ();
;	  0535	    $SC_ABORT (.CCB, .DB [D_SC_PIX], .MCB$GW_PROCESS_HANDLE, (0, 0, 0));
;	  0536	    end;					!of routine DO_ABORT



000000						.PSECT	......,  D  
000000	054064 				HEADER: .RAD50	/NDT/
000002	000403 					.WORD	403
000004	000000 					.WORD	0
000006	000000 					.WORD	0
000010	000000 					.WORD	0
000012	000036'					.WORD	DISPATCH
000014	000000G					.WORD	.DSPCR
000016	000000G					.WORD	.DSPCR
000020	000000G					.WORD	MCB$V0
000022	000000G					.WORD	MCB$V1
000024	140310 					.WORD	140310
000026	143716 					.WORD	143716
000030	001400 					.WORD	1400
000032	000000 					.WORD	0
000034	000000 					.WORD	0
000036	000000 					.WORD	0
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page   8
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (2)

000036						.PSECT	$PLIT$,  RO ,  D  
000036	000000G				P.AAC:	.WORD	$DSPCR
000040	000000G					.WORD	$DSPCR
000042	000000G					.WORD	$DSPCR
000044	000000G					.WORD	$DSPCR
000046	000000G					.WORD	$DSPCR
000050	000000V					.WORD	NDTTIM
000052	000006'					.WORD	SCXCP
000054	000000'					.WORD	SCRCP
000056	000000G					.WORD	$DSPCR
000060	000000G					.WORD	$DSPCR


						.GLOBL	.DSPCR, MCB$V0, MCB$V1, .CRDSP
						.GLOBL	.CRDAT, .CRPIX, $CCBCN, $SCHED


	000036'				DISPATCH=	    P.AAC


						.SBTTL	DO.ABORT
000014						.PSECT	$CODE$,  RO 

000000	004767  000000G			DO.ABORT:
						JSR	PC,$CCBCN			;					0534
000004	116564  000002  000011 			MOVB	2(R5),11(R4)			; *(DB),*(CCB)				0535
000012	116764  000000G 000024 			MOVB	.CRPIX,24(R4)			; *,*(CCB)
000020	005064  000016 				CLR	16(R4)				; *(CCB)
000024	005064  000020 				CLR	20(R4)				; *(CCB)
000030	005064  000022 				CLR	22(R4)				; *(CCB)
000034	112764  000002  000012 			MOVB	#2,12(R4)			; *,*(CCB)
000042	112764  000022  000013 			MOVB	#22,13(R4)			; *,*(CCB)
000050	004767  000000G				JSR	PC,$SCHED
000054	000207 					RTS	PC				;					0508

; Routine Size:  23 words,	Routine Base:  $CODE$ + 0014
; Maximum stack depth per invocation:  1 word
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page   9
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (3)

;	  0537	routine DO_ACCEPT
;	  0538	
;	  0539	!++
;	  0540	! FUNCTIONAL DESCRIPTION:
;	  0541	!
;	  0542	!
;	  0543	! FORMAL PARAMETERS:
;	  0544	!
;	  0545	       (DB : ref block field (D_FIELDS),
;	  0546		CCB : ref block field (C_FIELDS))
;	  0547	!
;	  0548	! IMPLICIT INPUTS:
;	  0549	!	None
;	  0550	!
;	  0551	! IMPLICIT OUTPUTS:
;	  0552	!	None
;	  0553	!
;	  0554	! ROUTINE VALUE:
;	  0555	!
;	  0556		: NDT_DB_CCB novalue =
;	  0557	!
;	  0558	! SIDE EFFECTS:
;	  0559	!	None
;	  0560	!--
;	  0561	
;	  0562	    begin
;	  0563	    $SC_ACCEPT (.CCB, .DB [D_SC_PIX], .DB [D_LLA], .MCB$GW_PROCESS_HANDLE, S$PSEG, (0, 0, 0));
;	  0564	    end;					!of routine DO_ACCEPT


						.SBTTL	DO.ACCEPT
000000	116564  000002  000011 		DO.ACCEPT:
						MOVB	2(R5),11(R4)			; *(DB),*(CCB)				0563
000006	116564  000003  000010 			MOVB	3(R5),10(R4)			; *(DB),*(CCB)
000014	116764  000000G 000024 			MOVB	.CRPIX,24(R4)			; *,*(CCB)
000022	112764  000001  000025 			MOVB	#1,25(R4)			; *,*(CCB)
000030	005064  000016 				CLR	16(R4)				; *(CCB)
000034	005064  000020 				CLR	20(R4)				; *(CCB)
000040	005064  000022 				CLR	22(R4)				; *(CCB)
000044	112764  000002  000012 			MOVB	#2,12(R4)			; *,*(CCB)
000052	112764  000002  000013 			MOVB	#2,13(R4)			; *,*(CCB)
000060	004767  000000G				JSR	PC,$SCHED
000064	000207 					RTS	PC				;					0537

; Routine Size:  27 words,	Routine Base:  $CODE$ + 0072
; Maximum stack depth per invocation:  1 word
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  10
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (4)

;	  0565	routine DO_DATA
;	  0566	
;	  0567	!++
;	  0568	! FUNCTIONAL DESCRIPTION:
;	  0569	!
;	  0570	!
;	  0571	! FORMAL PARAMETERS:
;	  0572	!
;	  0573	       (DB : ref block field (D_FIELDS),
;	  0574		CCB : ref block field (C_FIELDS))
;	  0575	!
;	  0576	! IMPLICIT INPUTS:
;	  0577	!	None
;	  0578	!
;	  0579	! IMPLICIT OUTPUTS:
;	  0580	!	None
;	  0581	!
;	  0582	! ROUTINE VALUE:
;	  0583	!
;	  0584		: NDT_DB_CCB_X novalue =
;	  0585	!
;	  0586	! SIDE EFFECTS:
;	  0587	!	None
;	  0588	!--
;	  0589	
;	  0590	    begin
;	  0591	
;	  0592	    local
;	  0593		ADDR,
;	  0594		BIAS,
;	  0595		CMD,
;	  0596		CNT,
;	  0597		PTR;
;	  0598	
;	  0599	    begin
;	  0600	
;	  0601	    bind
;	  0602		DAT_CCB = .DB [D_PENDING_DATA_CCB] : block field (C_FIELDS);
;	  0603	
;	  0604	    CCB [C_STK] = DAT_CCB;
;	  0605	    MAP$ (.DAT_CCB [C_BIAS]);
;	  0606	    PTR = .DAT_CCB [C_ADDR];
;	  0607	    end;
;	  0608	    DB [D_PENDING_DATA_CCB] = 0;
;	  0609	
;	  0610	    CMD = ch$rchar_a (PTR);
;	  0611	    PTR = ch$plus (.PTR, 1);
;	  0612	
;	  0613	    ADDR = ch$rchar_a (PTR);
;	  0614	    ADDR = .ADDR or %o'140000';
;	  0615	
;	  0616	    BIAS <0, 8> = ch$rchar_a (PTR);
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  11
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (4)

;	  0617	    BIAS <8, 8> = ch$rchar_a (PTR);
;	  0618	    BIAS = .BIAS^2;
;	  0619	    PTR = ch$plus (.PTR, 1);
;	  0620	
;	  0621	    CNT = ch$rchar_a (PTR);
;	  0622	
;	  0623	    CCB [C_BIAS] = 0;
;	  0624	    ch$wchar (18, CCB [C_ADDR] = ch$ptr (CCB [C_PRM2],, 8));
;	  0625	    CCB [C_CNT] = 1;
;	  0626	
;	  0627	    selectone .CMD of
;	  0628		set
;	  0629		[12] :				! Deposit
;	  0630		    begin
;	  0631	
;	  0632		    if MEMORY_EXISTS (.CNT, .BIAS, .ADDR)
;	  0633		    then
;	  0634			begin
;	  0635			$MCB_MOVE_BUFFER_TO_BUFFER (.CNT, .PTR, (.BIAS, .ADDR));
;	  0636			ch$wchar (1, .CCB [C_ADDR]);
;	  0637			end;
;	  0638	
;	  0639		    end;
;	  0640		[13] :				! Examine
;	  0641	
;	  0642		    if MEMORY_EXISTS (.CNT, .BIAS, .ADDR)
;	  0643		    then
;	  0644			begin
;	  0645	
;	  0646			local
;	  0647			    BUF;
;	  0648	
;	  0649			if .CNT leq 6
;	  0650			then
;	  0651			    begin
;	  0652			    BUF = .CCB [C_ADDR];
;	  0653			    ch$wchar_a (1, BUF);
;	  0654			    ch$wchar_a (.CNT, BUF);
;	  0655			    $MCB_MOVE_BUFFER_TO_BUFFER (.CNT, (.BIAS, .ADDR), .BUF);
;	  0656			    CCB [C_BIAS] = 0;
;	  0657			    CCB [C_CNT] = CNT = .CNT + 2;
;	  0658			    end
;	  0659			else
;	  0660	
;	  0661			    if $MCB_GET_BUFFER (.CNT+2, BUF)
;	  0662			    then
;	  0663				begin
;	  0664				SMAP$ (CCB [C_BIAS]);
;	  0665				CCB [C_ADDR] = .BUF;
;	  0666				ch$wchar_a (1, BUF);
;	  0667				ch$wchar_a (.CNT, BUF);
;	  0668				$MCB_MOVE_BUFFER_TO_BUFFER (.CNT, (.BIAS, .ADDR), .BUF);
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  12
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (4)

;	  0669				CCB [C_CNT] = CNT = .CNT + 2;
;	  0670				end;
;	  0671	
;	  0672			end;
;	  0673	
;	  0674		[otherwise] :
;	  0675		    begin
;	  0676		    START_ABORT (DB [D_BASE]);
;	  0677		    $SC_DATA_SEGMENT_RETURN (.CCB [C_STK]);
;	  0678		    RETURN_CCB (DB [D_BASE], .CCB);
;	  0679		    return;
;	  0680		    end;
;	  0681		tes;
;	  0682	
;	  0683	    $SC_DATA_SEGMENT_RETURN (.CCB [C_STK]);
;	  0684	    DO_SEND (DB [D_BASE], .CCB);
;	  0685	    end;					!of routine DO_DATA


						.GLOBL	KISAR6, $MVTBF, $MVFBF, $CORGT


						.SBTTL	DO.DATA
000000	005746 				DO.DATA:TST	-(SP)				;					0565
000002	010446 					MOV	R4,-(SP)
000004	010546 					MOV	R5,-(SP)
000006	010501 					MOV	R5,R1				;					0599
000010	016100  000006 				MOV	6(R1),R0
000014	012701  000004 				MOV	#4,R1				;					0604
000020	060401 					ADD	R4,R1
000022	010146 					MOV	R1,-(SP)
000024	010011 					MOV	R0,(R1)
000026	016067  000016  000000G			MOV	16(R0),KISAR6			;					0605
000034	016002  000020 				MOV	20(R0),R2			; *,PTR					0606
000040	010500 					MOV	R5,R0				;					0608
000042	005060  000006 				CLR	6(R0)
000046	005000 					CLR	R0				; CMD					0610
000050	152200 					BISB	(R2)+,R0			; PTR,CMD
000052	005202 					INC	R2				; PTR					0613
000054	112246 					MOVB	(R2)+,-(SP)			; PTR,ADDR
000056	105066  000001 				CLRB	1(SP)				; ADDR
000062	052716  140000 				BIS	#140000,(SP)			; *,ADDR				0614
000066	112246 					MOVB	(R2)+,-(SP)			; PTR,BIAS				0616
000070	112266  000001 				MOVB	(R2)+,1(SP)			; PTR,BIAS				0617
000074	006316 					ASL	(SP)				; BIAS					0618
000076	006316 					ASL	(SP)				; BIAS
000100	005202 					INC	R2				; PTR					0621
000102	005005 					CLR	R5				; CNT
000104	152205 					BISB	(R2)+,R5			; PTR,CNT
000106	012701  000016 				MOV	#16,R1				;					0623
000112	060401 					ADD	R4,R1
000114	010146 					MOV	R1,-(SP)
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  13
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (4)

000116	005011 					CLR	(R1)
000120	012701  000020 				MOV	#20,R1				;					0624
000124	060401 					ADD	R4,R1
000126	010146 					MOV	R1,-(SP)
000130	062704  000026 				ADD	#26,R4
000134	010411 					MOV	R4,(R1)
000136	112714  000022 				MOVB	#22,(R4)
000142	012701  000022 				MOV	#22,R1				;					0625
000146	066601  000014 				ADD	14(SP),R1
000152	010104 					MOV	R1,R4
000154	012714  000001 				MOV	#1,(R4)
000160	020027  000014 				CMP	R0,#14				; CMD,*					0627
000164	001027 					BNE	1$
000166	010546 					MOV	R5,-(SP)			; CNT,*					0632
000170	016646  000006 				MOV	6(SP),-(SP)			; BIAS,*
000174	016646  000012 				MOV	12(SP),-(SP)			; ADDR,*
000200	004767  000000V				JSR	PC,MEMORY.EXISTS
000204	062706  000006 				ADD	#6,SP
000210	006000 					ROR	R0
000212	103156 					BCC	6$
000214	016646  000004 				MOV	4(SP),-(SP)			; BIAS,*				0635
000220	016646  000010 				MOV	10(SP),-(SP)			; ADDR,*
000224	010503 					MOV	R5,R3				; CNT,*
000226	004767  000000G				JSR	PC,$MVTBF
000232	017600  000004 				MOV	@4(SP),R0			;					0636
000236	112710  000001 				MOVB	#1,(R0)
000242	000515 					BR	4$				;					0634
000244	020027  000015 			1$:	CMP	R0,#15				; CMD,*					0627
000250	001114 					BNE	5$
000252	010546 					MOV	R5,-(SP)			; CNT,*					0642
000254	016646  000006 				MOV	6(SP),-(SP)			; BIAS,*
000260	016646  000012 				MOV	12(SP),-(SP)			; ADDR,*
000264	004767  000000V				JSR	PC,MEMORY.EXISTS
000270	062706  000006 				ADD	#6,SP
000274	006000 					ROR	R0
000276	103124 					BCC	6$
000300	020527  000006 				CMP	R5,#6				; CNT,*					0649
000304	003030 					BGT	2$
000306	017666  000000  000016 			MOV	@0(SP),16(SP)			; *,BUF					0652
000314	112776  000001  000016 			MOVB	#1,@16(SP)			; *,BUF					0653
000322	005266  000016 				INC	16(SP)				; BUF
000326	110576  000016 				MOVB	R5,@16(SP)			; CNT,BUF				0654
000332	005266  000016 				INC	16(SP)				; BUF
000336	016646  000004 				MOV	4(SP),-(SP)			; BIAS,*				0655
000342	016646  000010 				MOV	10(SP),-(SP)			; ADDR,*
000346	016602  000022 				MOV	22(SP),R2			; BUF,*
000352	010503 					MOV	R5,R3				; CNT,*
000354	004767  000000G				JSR	PC,$MVFBF
000360	005076  000006 				CLR	@6(SP)				;					0656
000364	000441 					BR	3$				;					0657
000366	010503 				2$:	MOV	R5,R3				; CNT,*					0661
000370	062703  000002 				ADD	#2,R3
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  14
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (4)

000374	010301 					MOV	R3,R1
000376	004767  000000G				JSR	PC,$CORGT
000402	103462 					BCS	6$
000404	010066  000016 				MOV	R0,16(SP)			; $MCB$R0,BUF
000410	016776  000000G 000002 			MOV	KISAR6,@2(SP)			;					0664
000416	016676  000016  000000 			MOV	16(SP),@0(SP)			; BUF,*					0665
000424	112776  000001  000016 			MOVB	#1,@16(SP)			; *,BUF					0666
000432	005266  000016 				INC	16(SP)				; BUF
000436	110576  000016 				MOVB	R5,@16(SP)			; CNT,BUF				0667
000442	005266  000016 				INC	16(SP)				; BUF
000446	016646  000004 				MOV	4(SP),-(SP)			; BIAS,*				0668
000452	016646  000010 				MOV	10(SP),-(SP)			; ADDR,*
000456	016602  000022 				MOV	22(SP),R2			; BUF,*
000462	010503 					MOV	R5,R3				; CNT,*
000464	004767  000000G				JSR	PC,$MVFBF
000470	062705  000002 			3$:	ADD	#2,R5				; *,CNT					0669
000474	010514 					MOV	R5,(R4)				; CNT,*
000476	022626 				4$:	CMP	(SP)+,(SP)+			;					0663
000500	000423 					BR	6$				;					0642
000502	016605  000012 			5$:	MOV	12(SP),R5			;					0676
000506	004767  000000V				JSR	PC,START.ABORT
000512	017600  000010 				MOV	@10(SP),R0			;					0677
000516	112760  000004  000012 			MOVB	#4,12(R0)
000524	010004 					MOV	R0,R4
000526	004767  000000G				JSR	PC,$SCHED
000532	016605  000012 				MOV	12(SP),R5			;					0678
000536	016604  000014 				MOV	14(SP),R4
000542	004767  000000V				JSR	PC,RETURN.CCB
000546	000416 					BR	7$				;					0675
000550	017600  000010 			6$:	MOV	@10(SP),R0			;					0683
000554	112760  000004  000012 			MOVB	#4,12(R0)
000562	010004 					MOV	R0,R4
000564	004767  000000G				JSR	PC,$SCHED
000570	016605  000012 				MOV	12(SP),R5			;					0684
000574	016604  000014 				MOV	14(SP),R4
000600	004767  000000V				JSR	PC,DO.SEND
000604	062706  000020 			7$:	ADD	#20,SP				;					0565
000610	000207 					RTS	PC

; Routine Size:  197 words,	Routine Base:  $CODE$ + 0160
; Maximum stack depth per invocation:  12 words
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  15
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (5)

;	  0686	routine DO_REQUEST
;	  0687	
;	  0688	!++
;	  0689	! FUNCTIONAL DESCRIPTION:
;	  0690	!
;	  0691	!
;	  0692	! FORMAL PARAMETERS:
;	  0693	!
;	  0694	       (DB : ref block field (D_FIELDS),
;	  0695		CCB : ref block field (C_FIELDS))
;	  0696	!
;	  0697	! IMPLICIT INPUTS:
;	  0698	!	None
;	  0699	!
;	  0700	! IMPLICIT OUTPUTS:
;	  0701	!	None
;	  0702	!
;	  0703	! ROUTINE VALUE:
;	  0704	!
;	  0705		: NDT_DB_CCB novalue =
;	  0706	!
;	  0707	! SIDE EFFECTS:
;	  0708	!	None
;	  0709	!--
;	  0710	
;	  0711	    begin
;	  0712	
;	  0713	    if .DB [D_STATE] eql DS_RUN
;	  0714	    then
;	  0715		$SC_DATA_SEGMENT_REQUEST (.CCB, .DB [D_SC_PIX], .DB [D_LLA], .MCB$GW_PROCESS_HANDLE, 1)
;	  0716	    else
;	  0717		RETURN_CCB (DB [D_BASE], .CCB);
;	  0718	
;	  0719	    end;					!of routine DO_REQUEST


						.SBTTL	DO.REQUEST
000000	121527  000002 			DO.REQUEST:
						CMPB	(R5),#2				; DB,*					0713
000004	001025 					BNE	1$
000006	116564  000002  000011 			MOVB	2(R5),11(R4)			; *(DB),*(CCB)				0715
000014	116564  000003  000010 			MOVB	3(R5),10(R4)			; *(DB),*(CCB)
000022	116764  000000G 000024 			MOVB	.CRPIX,24(R4)			; *,*(CCB)
000030	112764  000001  000025 			MOVB	#1,25(R4)			; *,*(CCB)
000036	112764  000002  000012 			MOVB	#2,12(R4)			; *,*(CCB)
000044	112764  000012  000013 			MOVB	#12,13(R4)			; *,*(CCB)
000052	004767  000000G				JSR	PC,$SCHED
000056	000207 					RTS	PC				;					0713
000060	004767  000000V			1$:	JSR	PC,RETURN.CCB			;					0717
000064	000207 					RTS	PC				;					0686

; Routine Size:  27 words,	Routine Base:  $CODE$ + 0772
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  16
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (5)

; Maximum stack depth per invocation:  1 word
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  17
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (6)

;	  0720	routine DO_SEND
;	  0721	
;	  0722	!++
;	  0723	! FUNCTIONAL DESCRIPTION:
;	  0724	!
;	  0725	!
;	  0726	! FORMAL PARAMETERS:
;	  0727	!
;	  0728	       (DB : ref block field (D_FIELDS),
;	  0729		CCB : ref block field (C_FIELDS))
;	  0730	!
;	  0731	! IMPLICIT INPUTS:
;	  0732	!	None
;	  0733	!
;	  0734	! IMPLICIT OUTPUTS:
;	  0735	!	None
;	  0736	!
;	  0737	! ROUTINE VALUE:
;	  0738	!
;	  0739		: NDT_DB_CCB novalue =
;	  0740	!
;	  0741	! SIDE EFFECTS:
;	  0742	!	None
;	  0743	!--
;	  0744	
;	  0745	    begin
;	  0746	
;	  0747	    if .DB [D_STATE] eql DS_RUN
;	  0748	    then
;	  0749		$SC_DATA_SEGMENT_TRANSMIT (.CCB, .DB [D_SC_PIX], .DB [D_LLA], .MCB$GW_PROCESS_HANDLE, S$PEOM)
;	  0750	    else
;	  0751		RETURN_CCB (DB [D_BASE], .CCB);
;	  0752	
;	  0753	    end;					!of routine DO_SEND


						.SBTTL	DO.SEND
000000	121527  000002 			DO.SEND:CMPB	(R5),#2				; DB,*					0747
000004	001025 					BNE	1$
000006	116564  000002  000011 			MOVB	2(R5),11(R4)			; *(DB),*(CCB)				0749
000014	116564  000003  000010 			MOVB	3(R5),10(R4)			; *(DB),*(CCB)
000022	116764  000000G 000024 			MOVB	.CRPIX,24(R4)			; *,*(CCB)
000030	112764  000004  000025 			MOVB	#4,25(R4)			; *,*(CCB)
000036	112764  000002  000012 			MOVB	#2,12(R4)			; *,*(CCB)
000044	112764  000006  000013 			MOVB	#6,13(R4)			; *,*(CCB)
000052	004767  000000G				JSR	PC,$SCHED
000056	000207 					RTS	PC				;					0747
000060	004767  000000V			1$:	JSR	PC,RETURN.CCB			;					0751
000064	000207 					RTS	PC				;					0720

; Routine Size:  27 words,	Routine Base:  $CODE$ + 1060
; Maximum stack depth per invocation:  1 word
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  18
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (7)

;	  0754	routine MEMORY_EXISTS
;	  0755	
;	  0756	!++
;	  0757	! FUNCTIONAL DESCRIPTION:
;	  0758	!
;	  0759	!
;	  0760	! FORMAL PARAMETERS:
;	  0761	!
;	  0762	       (CNT,
;	  0763		BIAS,
;	  0764		ADDR)
;	  0765	!
;	  0766	! IMPLICIT INPUTS:
;	  0767	!	None
;	  0768	!
;	  0769	! IMPLICIT OUTPUTS:
;	  0770	!	None
;	  0771	!
;	  0772	! ROUTINE VALUE:
;	  0773	!
;	  0774		=
;	  0775	!
;	  0776	! SIDE EFFECTS:
;	  0777	!	None
;	  0778	!--
;	  0779	
;	  0780	    begin
;	  0781	
;	  0782	    local
;	  0783		BYTES,
;	  0784		FLAG : volatile, %(BLISS initializes to 0 = FALSE)%
;	  0785		PTR,
;	  0786		SAVE_MAP,
;	  0787		TEMP;
;	  0788	
;	  0789	    enable
;	  0790		NXM_CATCHER (FLAG);
;	  0791	
;	  0792	    if (BYTES = .CNT) eqlu 0 then return not .FLAG;
;	  0793	
;	  0794	    SMAP$ (SAVE_MAP);
;	  0795	    MAP$ (.BIAS);
;	  0796	    PTR = .ADDR;
;	  0797	
;	  0798	    do (TEMP = ch$rchar_a (PTR)) while (BYTES = .BYTES - 1) nequ 0;
;	  0799	
;	  0800	    MAP$ (.SAVE_MAP);
;	  0801	    not .FLAG
;	  0802	    end;			!of routine MEMORY_EXISTS


						.SBTTL	MEMORY.EXISTS
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  19
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (7)

000000	004167  000000G			MEMORY.EXISTS:
						JSR	R1,$SAVE5			;					0754
000004	005046 					CLR	-(SP)				; FLAG
000006	012746  001256'				MOV	#3$,-(SP)
000012	012746  177776 				MOV	#-2,-(SP)
000016	060616 					ADD	SP,(SP)
000020	016746  000000G				MOV	$IGREG,-(SP)
000024	010667  000000G				MOV	SP,$IGREG
000030	016601  000032 				MOV	32(SP),R1			; CNT,BYTES				0792
000034	001414 					BEQ	2$
000036	016703  000000G				MOV	KISAR6,R3			; *,SAVE.MAP				0794
000042	016667  000030  000000G			MOV	30(SP),KISAR6			; BIAS,*				0795
000050	016600  000026 				MOV	26(SP),R0			; ADDR,PTR				0796
000054	005002 				1$:	CLR	R2				; TEMP					0798
000056	152002 					BISB	(R0)+,R2			; PTR,TEMP
000060	077103 					SOB	R1,1$				; BYTES,*
000062	010367  000000G				MOV	R3,KISAR6			; SAVE.MAP,*				0800
000066	016600  000006 			2$:	MOV	6(SP),R0			; FLAG,*				0801
000072	005100 					COM	R0
000074	017767  000000G 000000G			MOV	@$IGREG,$IGREG			;					0754
000102	062706  000010 				ADD	#10,SP
000106	000207 					RTS	PC
000110	012746  000010 			3$:	MOV	#10,-(SP)
000114	060616 					ADD	SP,(SP)				; FLAG,*
000116	066716  000000G				ADD	$HANSP,(SP)
000122	012746  000001 				MOV	#1,-(SP)
000126	012746  000000V				MOV	#NXM.CATCHER,-(SP)
000132	004767  000000G				JSR	PC,$HANDL
000136	062706  000016 				ADD	#16,SP
000142	000207 					RTS	PC

; Routine Size:  50 words,	Routine Base:  $CODE$ + 1146
; Maximum stack depth per invocation:  14 words
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  20
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (8)

;	  0803	routine NEW_PROCESS
;	  0804	
;	  0805	!++
;	  0806	! FUNCTIONAL DESCRIPTION:
;	  0807	!
;	  0808	!
;	  0809	! FORMAL PARAMETERS:
;	  0810	!
;	  0811	       (CCB : ref block field (C_FIELDS))
;	  0812	!
;	  0813	! IMPLICIT INPUTS:
;	  0814	!	None
;	  0815	!
;	  0816	! IMPLICIT OUTPUTS:
;	  0817	!	None
;	  0818	!
;	  0819	! ROUTINE VALUE:
;	  0820	!
;	  0821		: CALL$ =
;	  0822	!
;	  0823	! SIDE EFFECTS:
;	  0824	!	None
;	  0825	!--
;	  0826	
;	  0827	    begin
;	  0828	
;	  0829	    bind
;	  0830		DB = DB_ADDR : ref block field (D_FIELDS);
;	  0831	
;	  0832	    MCB$GA_PROCESS_DISPATCH = DISPATCH;
;	  0833	
;	  0834	    if not $MCB_GET_DSR (D_LENGTH*%upval, DB) then return FALSE;
;	  0835	
;	  0836	    DB [D_STATE] = DS_ACCEPT;
;	  0837	    DB [D_SC_PIX] = .CCB [C_PIX];
;	  0838	    DB [D_ALLOCATED_CCB_COUNT] = 0;
;	  0839	    DB [D_PENDING_DATA_CCB] = 0;
;	  0840	    $SC_GET_LLA (.CCB, DB [D_LLA]);
;	  0841	    $SC_CONNECT_RECEIVED (.CCB, 0);
;	  0842	    begin
;	  0843	
;	  0844	    local
;	  0845		ACC_CCB : ref block field (C_FIELDS);
;	  0846	
;	  0847	    if $MCB_GET_CCB (ACC_CCB)
;	  0848	    then
;	  0849		begin
;	  0850		DB [D_ALLOCATED_CCB_COUNT] = .DB [D_ALLOCATED_CCB_COUNT] + 1;
;	  0851		DO_ACCEPT (DB [D_BASE], .ACC_CCB);
;	  0852		end
;	  0853	    else
;	  0854		$MCB_REQUEST_CCB ();
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  21
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (8)

;	  0855	
;	  0856	    end;
;	  0857	    TRUE
;	  0858	    end;					!of routine NEW_PROCESS


						.GLOBL	$DSRGT, $CCBGT, $CCBRQ


						.SBTTL	NEW.PROCESS
000000	012767  000036' 000000G		NEW.PROCESS:
						MOV	#DISPATCH,.CRDSP		;					0832
000006	012701  000010 				MOV	#10,R1				;					0834
000012	004767  000000G				JSR	PC,$DSRGT
000016	103403 					BCS	1$
000020	010067  000002G				MOV	R0,.CRDAT+2			; $MCB$R0,*
000024	000402 					BR	2$
000026	005000 				1$:	CLR	R0
000030	000207 					RTS	PC
000032	016700  000002G			2$:	MOV	.CRDAT+2,R0			;					0836
000036	112710  000001 				MOVB	#1,(R0)
000042	016504  000002 				MOV	2(R5),R4			; CCB(.AP.),*				0837
000046	116460  000011  000002 			MOVB	11(R4),2(R0)
000054	005060  000004 				CLR	4(R0)				;					0838
000060	005060  000006 				CLR	6(R0)				;					0839
000064	116460  000010  000003 			MOVB	10(R4),3(R0)			;					0840
000072	105064  000024 				CLRB	24(R4)				;					0841
000076	112764  000004  000012 			MOVB	#4,12(R4)
000104	004767  000000G				JSR	PC,$SCHED
000110	004767  000000G				JSR	PC,$CCBGT			;					0847
000114	103410 					BCS	3$
000116	016700  000002G				MOV	.CRDAT+2,R0			;					0850
000122	005260  000004 				INC	4(R0)
000126	010005 					MOV	R0,R5				; DB,*					0851
000130	004767  176424 				JSR	PC,DO.ACCEPT
000134	000402 					BR	4$				;					0847
000136	004767  000000G			3$:	JSR	PC,$CCBRQ			;					0854
000142	012700  000001 			4$:	MOV	#1,R0				;					0803
000146	000207 					RTS	PC

; Routine Size:  52 words,	Routine Base:  $CODE$ + 1312
; Maximum stack depth per invocation:  1 word
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  22
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (9)

;	  0859	routine NDTTIM
;	  0860	
;	  0861	!++
;	  0862	! FUNCTIONAL DESCRIPTION:
;	  0863	!
;	  0864	!
;	  0865	! FORMAL PARAMETERS:
;	  0866	!
;	  0867	       (DB : ref block field (D_FIELDS),
;	  0868		CCB : ref block field (C_FIELDS),
;	  0869		MODF)
;	  0870	!
;	  0871	! IMPLICIT INPUTS:
;	  0872	!	None
;	  0873	!
;	  0874	! IMPLICIT OUTPUTS:
;	  0875	!	None
;	  0876	!
;	  0877	! ROUTINE VALUE:
;	  0878	!
;	  0879		: MCB_DB_CCB_MOD novalue =
;	  0880	!
;	  0881	! SIDE EFFECTS:
;	  0882	!	None
;	  0883	!--
;	  0884	
;	  0885	    begin
;	  0886	
;	  0887	    if .MODF neq FM_CCB then return;
;	  0888	
;	  0889	    DB [D_ALLOCATED_CCB_COUNT] = .DB [D_ALLOCATED_CCB_COUNT] + 1;
;	  0890	
;	  0891	    case .DB [D_STATE] from DS_LOW to DS_HIGH of
;	  0892		set
;	  0893		[DS_ACCEPT] :
;	  0894		    DO_ACCEPT (DB [D_BASE], .CCB);
;	  0895		[DS_RUN] :
;	  0896		    DO_DATA (DB [D_BASE], .CCB);
;	  0897		[DS_ABORT] : 
;	  0898		    DO_ABORT (DB [D_BASE], .CCB);
;	  0899		[DS_KILL] :
;	  0900		    $MCB_RETURN_CCB (.CCB);
;	  0901		tes;
;	  0902	
;	  0903	    end;					!of routine NDTTIM


						.GLOBL	$CCBRT


						.SBTTL	NDTTIM
000000	020327  000010 			NDTTIM: CMP	R3,#10				; MODF,*				0887
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  23
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (9)

000004	001022 					BNE	5$
000006	005265  000004 				INC	4(R5)				; *(DB)					0889
000012	111500 					MOVB	(R5),R0				; DB,*					0891
000014	005300 					DEC	R0
000016	006300 					ASL	R0
000020	066007  000062'				ADD	P.AAD(R0),PC			; Case dispatch
000024	004767  176360 			1$:	JSR	PC,DO.ACCEPT			;					0894
000030	000207 					RTS	PC				;					0891
000032	004767  176440 			2$:	JSR	PC,DO.DATA			;					0896
000036	000207 					RTS	PC				;					0891
000040	004767  176266 			3$:	JSR	PC,DO.ABORT			;					0898
000044	000207 					RTS	PC				;					0891
000046	004767  000000G			4$:	JSR	PC,$CCBRT			;					0900
000052	000207 				5$:	RTS	PC				;					0859

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


000062						.PSECT	$PLIT$,  RO ,  D  

					P.AAD:						; CASE Table for NDTTIM+0020		0891
000062	000000 					.WORD	0				; [1$]
000064	000006 					.WORD	6				; [2$]
000066	000014 					.WORD	14				; [3$]
000070	000022 					.WORD	22				; [4$]
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  24
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (10)

;	  0904	routine NXM_CATCHER
;	  0905	
;	  0906	!++
;	  0907	! FUNCTIONAL DESCRIPTION:
;	  0908	!
;	  0909	!
;	  0910	! FORMAL PARAMETERS:
;	  0911	!
;	  0912	       (SIG : ref vector,		! Signal vector address
;	  0913		MCH : ref vector,		! Mechanism vector address
;	  0914		ENB : ref vector)		! Enable vector address
;	  0915	!
;	  0916	! IMPLICIT INPUTS:
;	  0917	!	None
;	  0918	!
;	  0919	! IMPLICIT OUTPUTS:
;	  0920	!	None
;	  0921	!
;	  0922	! ROUTINE VALUE:
;	  0923	!
;	  0924		=
;	  0925	!
;	  0926	! SIDE EFFECTS:
;	  0927	!	None
;	  0928	!--
;	  0929	
;	  0930	    begin
;	  0931	
;	  0932	    if .SIG [1] neq SS$NXM then return FALSE;
;	  0933	
;	  0934	    .ENB [1] = TRUE;
;	  0935	    TRUE
;	  0936	    end;			!of routine NXM_CATCHER


						.SBTTL	NXM.CATCHER
001536						.PSECT	$CODE$,  RO 

000000	016600  000006 			NXM.CATCHER:
						MOV	6(SP),R0			; SIG,*					0932
000004	026027  000002  000114 			CMP	2(R0),#114
000012	001402 					BEQ	1$
000014	005000 					CLR	R0
000016	000207 					RTS	PC
000020	016600  000002 			1$:	MOV	2(SP),R0			; ENB,*					0934
000024	012770  000001  000002 			MOV	#1,@2(R0)
000032	012700  000001 				MOV	#1,R0				;					0904
000036	000207 					RTS	PC

; Routine Size:  16 words,	Routine Base:  $CODE$ + 1536
; Maximum stack depth per invocation:  0 words
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  25
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (11)

;	  0937	routine RCV_ABO
;	  0938	
;	  0939	!++
;	  0940	! FUNCTIONAL DESCRIPTION:
;	  0941	!
;	  0942	!
;	  0943	! FORMAL PARAMETERS:
;	  0944	!
;	  0945	       (DB : ref block field (D_FIELDS),
;	  0946		CCB : ref block field (C_FIELDS))
;	  0947	!
;	  0948	! IMPLICIT INPUTS:
;	  0949	!	None
;	  0950	!
;	  0951	! IMPLICIT OUTPUTS:
;	  0952	!	None
;	  0953	!
;	  0954	! ROUTINE VALUE:
;	  0955	!
;	  0956		: MCB_DB_CCB novalue =
;	  0957	!
;	  0958	! SIDE EFFECTS:
;	  0959	!	None
;	  0960	!--
;	  0961	
;	  0962	    begin
;	  0963	    DB [D_STATE] = DS_KILL;
;	  0964	    RETURN_CCB (DB [D_BASE], .CCB);
;	  0965	    end;					!of routine RCV_ABO


						.SBTTL	RCV.ABO
000000	112715  000004 			RCV.ABO:MOVB	#4,(R5)				; *,DB					0963
000004	004767  000000V				JSR	PC,RETURN.CCB			;					0964
000010	000207 					RTS	PC				;					0937

; Routine Size:  5 words,	Routine Base:  $CODE$ + 1576
; Maximum stack depth per invocation:  1 word
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  26
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (12)

;	  0966	routine RCV_ACC
;	  0967	
;	  0968	!++
;	  0969	! FUNCTIONAL DESCRIPTION:
;	  0970	!
;	  0971	!
;	  0972	! FORMAL PARAMETERS:
;	  0973	!
;	  0974	       (DB : ref block field (D_FIELDS),
;	  0975		CCB : ref block field (D_FIELDS))
;	  0976	!
;	  0977	! IMPLICIT INPUTS:
;	  0978	!	None
;	  0979	!
;	  0980	! IMPLICIT OUTPUTS:
;	  0981	!	None
;	  0982	!
;	  0983	! ROUTINE VALUE:
;	  0984	!
;	  0985		: MCB_DB_CCB novalue =
;	  0986	!
;	  0987	! SIDE EFFECTS:
;	  0988	!	None
;	  0989	!--
;	  0990	
;	  0991	    begin
;	  0992	    DB [D_STATE] = DS_RUN;
;	  0993	    DO_REQUEST (DB [D_BASE], .CCB);
;	  0994	    end;				!of routine RCV_ACC


						.SBTTL	RCV.ACC
000000	112715  000002 			RCV.ACC:MOVB	#2,(R5)				; *,DB					0992
000004	004767  177152 				JSR	PC,DO.REQUEST			;					0993
000010	000207 					RTS	PC				;					0966

; Routine Size:  5 words,	Routine Base:  $CODE$ + 1610
; Maximum stack depth per invocation:  1 word
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  27
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (13)

;	  0995	routine RCV_CNR
;	  0996	
;	  0997	!++
;	  0998	! FUNCTIONAL DESCRIPTION:
;	  0999	!
;	  1000	!
;	  1001	! FORMAL PARAMETERS:
;	  1002	!
;	  1003	       (DB : ref block field (D_FIELDS),
;	  1004		CCB : ref block field (C_FIELDS))
;	  1005	!
;	  1006	! IMPLICIT INPUTS:
;	  1007	!	None
;	  1008	!
;	  1009	! IMPLICIT OUTPUTS:
;	  1010	!	None
;	  1011	!
;	  1012	! ROUTINE VALUE:
;	  1013	!
;	  1014		: MCB_DB_CCB novalue =
;	  1015	!
;	  1016	! SIDE EFFECTS:
;	  1017	!	None
;	  1018	!--
;	  1019	
;	  1020	    begin
;	  1021	
;	  1022	    local
;	  1023		PIX;
;	  1024	
;	  1025	    if not $MCB_SET_PROCESS (, PIX)
;	  1026	    then
;	  1027		begin
;	  1028		$SC_CONNECT_RECEIVED (.CCB, 0, S_ERES);
;	  1029		return;
;	  1030		end;
;	  1031	
;	  1032	    if not CALL$P (NEW_PROCESS, .PIX, .CCB)
;	  1033	    then
;	  1034		$SC_CONNECT_RECEIVED (.CCB, 0, S_ERES);
;	  1035	
;	  1036	    end;					!of routine RCV_CNR


						.GLOBL	P.DTST, $CALLI, $CALLP


						.SBTTL	RCV.CNR
000000	005746 				RCV.CNR:TST	-(SP)				;					0995
000002	010401 					MOV	R4,R1				; *,CCB
000004	012746  000002 				MOV	#2,-(SP)			;					1025
000010	060616 					ADD	SP,(SP)				; $MCB$MY.INDEX,*
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  28
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (13)

000012	012746  000001 				MOV	#1,-(SP)
000016	012746  000000G				MOV	#P.DTST,-(SP)
000022	004767  000000G				JSR	PC,$CALLI
000026	062706  000006 				ADD	#6,SP
000032	010004 					MOV	R0,R4				; *,$MCB$STATUS
000034	006000 					ROR	R0
000036	103001 					BCC	1$
000040	011600 					MOV	(SP),R0				; $MCB$MY.INDEX,PIX
000042	032704  000001 			1$:	BIT	#1,R4				; *,$MCB$STATUS
000046	001415 					BEQ	2$				;					1028
000050	010146 					MOV	R1,-(SP)			; CCB,*					1032
000052	012746  000001 				MOV	#1,-(SP)
000056	012746  001312'				MOV	#NEW.PROCESS,-(SP)
000062	010046 					MOV	R0,-(SP)			; PIX,*
000064	004767  000000G				JSR	PC,$CALLP
000070	062706  000010 				ADD	#10,SP
000074	032700  000001 				BIT	#1,R0
000100	001013 					BNE	3$
000102	105061  000024 			2$:	CLRB	24(R1)				; *(CCB)				1034
000106	012761  177777  000014 			MOV	#-1,14(R1)			; *,*(CCB)
000114	112761  000004  000012 			MOVB	#4,12(R1)			; *,*(CCB)
000122	010104 					MOV	R1,R4				; CCB,*
000124	004767  000000G				JSR	PC,$SCHED
000130	005726 				3$:	TST	(SP)+				;					0995
000132	000207 					RTS	PC

; Routine Size:  46 words,	Routine Base:  $CODE$ + 1622
; Maximum stack depth per invocation:  6 words
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  29
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (14)

;	  1037	routine RCV_DAT
;	  1038	
;	  1039	!++
;	  1040	! FUNCTIONAL DESCRIPTION:
;	  1041	!
;	  1042	!
;	  1043	! FORMAL PARAMETERS:
;	  1044	!
;	  1045	       (DB : ref block field (D_FIELDS),
;	  1046		CCB : ref block field (C_FIELDS))
;	  1047	!
;	  1048	! IMPLICIT INPUTS:
;	  1049	!	None
;	  1050	!
;	  1051	! IMPLICIT OUTPUTS:
;	  1052	!	None
;	  1053	!
;	  1054	! ROUTINE VALUE:
;	  1055	!
;	  1056		: MCB_DB_CCB novalue =
;	  1057	!
;	  1058	! SIDE EFFECTS:
;	  1059	!	None
;	  1060	!--
;	  1061	
;	  1062	    begin
;	  1063	    DB [D_PENDING_DATA_CCB] = .CCB;
;	  1064	    begin
;	  1065	
;	  1066	    local
;	  1067		STK_CCB : ref block field (C_FIELDS);
;	  1068	
;	  1069	    if $MCB_GET_CCB (STK_CCB)
;	  1070	    then
;	  1071		begin
;	  1072		DB [D_ALLOCATED_CCB_COUNT] = .DB [D_ALLOCATED_CCB_COUNT] + 1;
;	  1073		DO_DATA (DB [D_BASE], .STK_CCB);
;	  1074		end
;	  1075	    else
;	  1076		$MCB_REQUEST_CCB ();
;	  1077	
;	  1078	    end;
;	  1079	    end;					!of routine RCV_DAT


						.SBTTL	RCV.DAT
000000	010465  000006 			RCV.DAT:MOV	R4,6(R5)			; CCB,*(DB)				1063
000004	004767  000000G				JSR	PC,$CCBGT			;					1069
000010	103405 					BCS	1$
000012	005265  000004 				INC	4(R5)				; *(DB)					1072
000016	004767  176160 				JSR	PC,DO.DATA			;					1073
000022	000207 					RTS	PC				;					1069
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  30
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (14)

000024	004767  000000G			1$:	JSR	PC,$CCBRQ			;					1076
000030	000207 					RTS	PC				;					1037

; Routine Size:  13 words,	Routine Base:  $CODE$ + 1756
; Maximum stack depth per invocation:  1 word
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  31
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (15)

;	  1080	routine RCV_DRQ
;	  1081	
;	  1082	!++
;	  1083	! FUNCTIONAL DESCRIPTION:
;	  1084	!
;	  1085	!
;	  1086	! FORMAL PARAMETERS:
;	  1087	!
;	  1088	       (DB : ref block field (D_FIELDS),
;	  1089		CCB : ref block field (C_FIELDS))
;	  1090	!
;	  1091	! IMPLICIT INPUTS:
;	  1092	!	None
;	  1093	!
;	  1094	! IMPLICIT OUTPUTS:
;	  1095	!	None
;	  1096	!
;	  1097	! ROUTINE VALUE:
;	  1098	!
;	  1099		: MCB_DB_CCB novalue =
;	  1100	!
;	  1101	! SIDE EFFECTS:
;	  1102	!	None
;	  1103	!--
;	  1104	
;	  1105	    begin
;	  1106	    RETURN_CCB (DB [D_BASE], .CCB);
;	  1107	    end;					!of routine RCV_DRQ


						.SBTTL	RCV.DRQ
000000	004767  000000V			RCV.DRQ:JSR	PC,RETURN.CCB			;					1106
000004	000207 					RTS	PC				;					1080

; Routine Size:  3 words,	Routine Base:  $CODE$ + 2010
; Maximum stack depth per invocation:  1 word
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  32
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (16)

;	  1108	routine RCV_DSR
;	  1109	
;	  1110	!++
;	  1111	! FUNCTIONAL DESCRIPTION:
;	  1112	!
;	  1113	!
;	  1114	! FORMAL PARAMETERS:
;	  1115	!
;	  1116	       (DB : ref block field (D_FIELDS),
;	  1117		CCB : ref block field (C_FIELDS))
;	  1118	!
;	  1119	! IMPLICIT INPUTS:
;	  1120	!	None
;	  1121	!
;	  1122	! IMPLICIT OUTPUTS:
;	  1123	!	None
;	  1124	!
;	  1125	! ROUTINE VALUE:
;	  1126	!
;	  1127		: MCB_DB_CCB novalue =
;	  1128	!
;	  1129	! SIDE EFFECTS:
;	  1130	!	None
;	  1131	!--
;	  1132	
;	  1133	    begin
;	  1134	    $SC_DISCONNECTED (.CCB);
;	  1135	    START_ABORT (DB [D_BASE]);
;	  1136	    end;					!of routine RCV_DSR


						.SBTTL	RCV.DSR
000000	112764  000004  000012 		RCV.DSR:MOVB	#4,12(R4)			; *,*(CCB)				1134
000006	004767  000000G				JSR	PC,$SCHED
000012	004767  000000V				JSR	PC,START.ABORT			;					1135
000016	000207 					RTS	PC				;					1108

; Routine Size:  8 words,	Routine Base:  $CODE$ + 2016
; Maximum stack depth per invocation:  1 word
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  33
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (17)

;	  1137	routine RCV_SND
;	  1138	
;	  1139	!++
;	  1140	! FUNCTIONAL DESCRIPTION:
;	  1141	!
;	  1142	!
;	  1143	! FORMAL PARAMETERS:
;	  1144	!
;	  1145	       (DB : ref block field (D_FIELDS),
;	  1146		CCB : ref block field (C_FIELDS))
;	  1147	!
;	  1148	! IMPLICIT INPUTS:
;	  1149	!	None
;	  1150	!
;	  1151	! IMPLICIT OUTPUTS:
;	  1152	!	None
;	  1153	!
;	  1154	! ROUTINE VALUE:
;	  1155	!
;	  1156		: MCB_DB_CCB novalue =
;	  1157	!
;	  1158	! SIDE EFFECTS:
;	  1159	!	None
;	  1160	!--
;	  1161	
;	  1162	    begin
;	  1163	
;	  1164	    local K;
;	  1165	
;	  1166	    SMAP$(K);
;	  1167	    if .CCB[C_BIAS] neq 0 then begin		! If we got a buffer,
;	  1168		MAP$ (.CCB [C_BIAS]);			!   return it
;	  1169		$MCB_RETURN_BUFFER (.CCB [C_CNT], .CCB [C_ADDR]);
;	  1170		MAP$ (.K);
;	  1171		end;
;	  1172	    DO_REQUEST (DB [D_BASE], .CCB);
;	  1173	    end;					!of routine RCV_SND


						.GLOBL	$CORRT


						.SBTTL	RCV.SND
000000	016702  000000G			RCV.SND:MOV	KISAR6,R2			; *,K					1166
000004	016400  000016 				MOV	16(R4),R0			; *(CCB),*				1167
000010	001412 					BEQ	1$
000012	010067  000000G				MOV	R0,KISAR6			;					1168
000016	016401  000022 				MOV	22(R4),R1			; *(CCB),*				1169
000022	016400  000020 				MOV	20(R4),R0			; *(CCB),*
000026	004767  000000G				JSR	PC,$CORRT
000032	010267  000000G				MOV	R2,KISAR6			; K,*					1170
000036	004767  176672 			1$:	JSR	PC,DO.REQUEST			;					1172
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  34
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (17)

000042	000207 					RTS	PC				;					1137

; Routine Size:  18 words,	Routine Base:  $CODE$ + 2036
; Maximum stack depth per invocation:  1 word
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  35
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (18)

;	  1174	routine RETURN_CCB
;	  1175	
;	  1176	!++
;	  1177	! FUNCTIONAL DESCRIPTION:
;	  1178	!
;	  1179	!
;	  1180	! FORMAL PARAMETERS:
;	  1181	!
;	  1182	       (DB : ref block field (D_FIELDS),
;	  1183		CCB : ref block field (C_FIELDS))
;	  1184	!
;	  1185	! IMPLICIT INPUTS:
;	  1186	!	None
;	  1187	!
;	  1188	! IMPLICIT OUTPUTS:
;	  1189	!	None
;	  1190	!
;	  1191	! ROUTINE VALUE:
;	  1192	!
;	  1193		: NDT_DB_CCB novalue =
;	  1194	!
;	  1195	! SIDE EFFECTS:
;	  1196	!	None
;	  1197	!--
;	  1198	
;	  1199	    begin
;	  1200	    $MCB_RETURN_CCB (.CCB);
;	  1201	    DB [D_ALLOCATED_CCB_COUNT] = .DB [D_ALLOCATED_CCB_COUNT] - 1;
;	  1202	
;	  1203	    if .DB [D_ALLOCATED_CCB_COUNT] neq 0 then return ;
;	  1204	
;	  1205	    if .DB [D_STATE] neq DS_KILL then return;
;	  1206	
;	  1207	    $MCB_RETURN_DSR (D_LENGTH*%upval, DB [D_BASE]);
;	  1208	    DB_ADDR = 0;
;	  1209	    $MCB_CLEAR_PROCESS ();
;	  1210	    end;					!of routine RETURN_CCB


						.GLOBL	$DSRRT, P.DTCL


						.SBTTL	RETURN.CCB
000000	010146 				RETURN.CCB:
						MOV	R1,-(SP)			;					1174
000002	004767  000000G				JSR	PC,$CCBRT			;					1200
000006	005365  000004 				DEC	4(R5)				; *(DB)					1201
000012	001020 					BNE	1$				;					1203
000014	121527  000004 				CMPB	(R5),#4				; DB,*					1205
000020	001015 					BNE	1$
000022	010500 					MOV	R5,R0				; DB,*					1207
000024	012701  000010 				MOV	#10,R1
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  36
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (18)

000030	004767  000000G				JSR	PC,$DSRRT
000034	005067  000002G				CLR	.CRDAT+2			;					1208
000040	005046 					CLR	-(SP)				;					1209
000042	012746  000000G				MOV	#P.DTCL,-(SP)
000046	004767  000000G				JSR	PC,$CALLI
000052	022626 					CMP	(SP)+,(SP)+			;					1199
000054	012601 				1$:	MOV	(SP)+,R1			;					1174
000056	000207 					RTS	PC

; Routine Size:  24 words,	Routine Base:  $CODE$ + 2102
; Maximum stack depth per invocation:  4 words
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  37
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (19)

;	  1211	routine START_ABORT
;	  1212	
;	  1213	!++
;	  1214	! FUNCTIONAL DESCRIPTION:
;	  1215	!
;	  1216	!
;	  1217	! FORMAL PARAMETERS:
;	  1218	!
;	  1219	       (DB : ref block field (D_FIELDS))
;	  1220	!
;	  1221	! IMPLICIT INPUTS:
;	  1222	!	None
;	  1223	!
;	  1224	! IMPLICIT OUTPUTS:
;	  1225	!	None
;	  1226	!
;	  1227	! ROUTINE VALUE:
;	  1228	!
;	  1229		: LINKAGE_DB novalue =
;	  1230	!
;	  1231	! SIDE EFFECTS:
;	  1232	!	None
;	  1233	!--
;	  1234	
;	  1235	    begin
;	  1236	
;	  1237	    DB [D_STATE] = DS_ABORT;
;	  1238	    begin
;	  1239	
;	  1240	    local
;	  1241		CCB : ref block field (C_FIELDS);
;	  1242	
;	  1243	    if (CCB = .DB [D_PENDING_DATA_CCB]) neqa 0
;	  1244	    then
;	  1245		begin
;	  1246		$SC_DATA_SEGMENT_RETURN (.CCB);
;	  1247		DB [D_PENDING_DATA_CCB] = 0;
;	  1248		end;
;	  1249	
;	  1250	    end;
;	  1251	    begin
;	  1252	
;	  1253	    local
;	  1254		CCB : ref block field (C_FIELDS);
;	  1255	
;	  1256	    if $MCB_GET_CCB (CCB)
;	  1257	    then
;	  1258		begin
;	  1259		DB [D_ALLOCATED_CCB_COUNT] = .DB [D_ALLOCATED_CCB_COUNT] + 1;
;	  1260		DO_ABORT (DB [D_BASE], .CCB);
;	  1261		end
;	  1262	    else
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  38
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (19)

;	  1263		$MCB_REQUEST_CCB ();
;	  1264	
;	  1265	    end;
;	  1266	    end;					!of routine START_ABORT


						.SBTTL	START.ABORT
000000	010446 				START.ABORT:
						MOV	R4,-(SP)			;					1211
000002	112715  000003 				MOVB	#3,(R5)				; *,DB					1237
000006	016504  000006 				MOV	6(R5),R4			; *(DB),CCB				1243
000012	001407 					BEQ	1$
000014	112764  000004  000012 			MOVB	#4,12(R4)			; *,*(CCB)				1246
000022	004767  000000G				JSR	PC,$SCHED
000026	005065  000006 				CLR	6(R5)				; *(DB)					1247
000032	004767  000000G			1$:	JSR	PC,$CCBGT			;					1256
000036	103405 					BCS	2$
000040	005265  000004 				INC	4(R5)				; *(DB)					1259
000044	004767  175562 				JSR	PC,DO.ABORT			;					1260
000050	000402 					BR	3$				;					1256
000052	004767  000000G			2$:	JSR	PC,$CCBRQ			;					1263
000056	012604 				3$:	MOV	(SP)+,R4			;					1211
000060	000207 					RTS	PC

; Routine Size:  25 words,	Routine Base:  $CODE$ + 2162
; Maximum stack depth per invocation:  2 words


;	  1267	end
;	  1268	eludom



;					OTS external references
						.GLOBL	$HANSP, $IGREG, $SAVE5, $HANDL


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




;				LIBRARY STATISTICS
;
;					     -------- Symbols --------    Blocks
;	File				     Total    Loaded   Percent      Read
;
NDT								24-Jan-1983 11:51:48	TOPS-20 Bliss-16 2A(530)	    Page  39
X01050								30-Dec-1982 17:56:16	NETPKG:<UTILITIES>NDT.B16.8 (19)

;  NETPKG:<V3P0>MCBLIB.L16.7		       372        76        20         0
;  NETPKG:<MCB>XPORTX.L16.15		       599        35         5         0
;  NETPKG:<UTILITIES>NDTDAT.L16.23	        14        14       100         0





; Size:		594 code + 45 data words
; Run Time:	00:22.2
; Elapsed Time:	00:50.1
; Memory Used:	50 pages
; Compilation Complete
ACC_CCB				 845	 847	 851
ADDR				 174+	 176+	 593	 613#	 614#	 632	 635	 642	 655	 668	 764	 796
ALL				  83+
BIAS				 174+	 175+	 594	 616#	 617#	 618#	 632	 635	 642	 655	 668	 763
				 795
BITS_BYTE			 162+	 164+
BLISS16				   3
BUF				 198+	 203+	 207+	 214+	 218+	 224+	 242+	 248+	 262+	 269+	 273+	 279+
				 305+	 311+	 315+	 320+	 324+	 330+	 647	 652#	 653	 654	 655	 661
				 665	 666	 667	 668
BYTES				 783	 792#	 798#
BYTE_0				 463#
BYTE_1				 464#
CALL$P				1032
CALL$				 432	 821#
CBSD_FIELDS			 391+#
CB_ACNT				 355+#
CB_ACTL				 354+#
CB_DES				 395+#	 397+	 402+
CB_DFMT				 340+#
CB_DGRP				 367+#
CB_DOBJ				 341+#
CB_DPL1				 362+#
CB_DPL2				 369+#
CB_DPR1				 363+#
CB_DPR2				 370+#
CB_DST				 342+#	 361+	 366+
CB_DUSR				 368+#
CB_ENDD				 359+#
CB_FIELDS			 336+#
CB_FMT				 393+#
CB_GRP				 403+#
CB_LEN				 398+#
CB_LN2				 405+#
CB_NAM				 399+#
CB_NM2				 406+#
CB_NODE				 338+#
CB_OBJ				 394+#
CB_OPDL				 357+#
CB_OPTD				 358+#
CB_PASL				 351+#
CB_PASW				 352+#
CB_RQDL				 348+#
CB_RQID				 349+#
CB_SFMT				 344+#
CB_SGRP				 379+#
CB_SIZE				 387+#
CB_SOBJ				 345+#
CB_SPL1				 374+#
CB_SPL2				 381+#
CB_SPR1				 375+#
CB_SPR2				 382+#
CB_SRC				 346+#	 373+	 378+
CB_SUSR				 380+#
CB_USR				 404+#
CCB				 182+	 184+	 188+	 190+	 198+	 200+	 207+	 209+	 218+	 220+	 228+	 230+
				 236+	 238+	 242+	 244+	 252+	 254+	 262+	 264+	 273+	 275+	 283+	 285+
				 289+	 291+	 299+	 301+	 305+	 307+	 315+	 317+	 324+	 326+	 473	 478
				 480	 486	 517	 535	 546	 563	 574	 604#	 623#	 624#	 625#	 636
				 652	 656#	 657#	 664	 665#	 669#	 677	 678	 683	 684	 695	 715
				 717	 729	 749	 751	 811	 837	 840	 841	 868	 894	 896	 898
				 900	 946	 964	 975	 993	1004	1028	1032	1034	1046	1063	1089
				1106	1117	1134	1146	1167	1168	1169	1172	1183	1200	1241	1243#
				1246	1254	1256	1260
CH$WCHAR			 624	 636
CMD				 595	 610#	 627
CNT				 596	 621#	 632	 635	 642	 649	 654	 655	 657#	 661	 667	 668
				 669#	 762	 792
COUNT				 174+	 177+
C_ADDR				 176+	 606	 624	 636	 652	 665	1169
C_BIAS				 175+	 605	 623	 656	 664	1167	1168
C_CNT				 177+	 625	 657	 669	1169
C_FIELDS			 184+	 190+	 200+	 209+	 220+	 230+	 238+	 244+	 254+	 264+	 275+	 285+
				 291+	 301+	 307+	 317+	 326+	 517	 546	 574	 602	 695	 729	 811
				 845	 868	 946	1004	1046	1067	1089	1117	1146	1183	1241	1254
C_FNC				 167+
C_LIX				 185+	 211+	 246+	 256+	 266+	 277+	 293+	 309+	 328+
C_MOD				 168+
C_PIX				 201+	 210+	 221+	 245+	 255+	 265+	 276+	 292+	 308+	 318+	 327+	 837
C_PRM1				 191+	 202+	 212+	 213+	 222+	 223+	 231+	 247+	 257+	 258+	 267+	 268+
				 278+	 294+	 295+	 310+	 319+
C_PRM2				 329+	 624
C_STK				 604	 677	 683
C_STS				 232+
DAT_CCB				 602#	 604	 605	 606
DB				 473	 478	 480	 486	 516	 535	 545	 563	 573	 602	 608#	 676
				 678	 684	 694	 713	 715	 717	 728	 747	 749	 751	 830#	 834
				 836#	 837#	 838#	 839#	 840	 850#	 851	 867	 889#	 891	 894	 896
				 898	 945	 963#	 964	 974	 992#	 993	1003	1045	1063#	1072#	1073
				1088	1106	1116	1135	1145	1172	1182	1201#	1203	1205	1207	1219
				1237#	1243	1247#	1259#	1260
DB_ADDR				 506#	 830	1208#
DB_BIAS				 507#
DISPATCH			 489#	 495	 832
DISPATCH$			 474	 481
DO_ABORT			 426	 508*	 898	1260
DO_ACCEPT			 427	 537*	 851	 894
DO_DATA				 428	 565*	 896	1073
DO_REQUEST			 429	 686*	 993	1172
DO_SEND				 430	 684	 720*
DS_ABORT			 897	1237
DS_ACCEPT			 836	 893
DS_HIGH				 891
DS_KILL				 899	 963	1205
DS_LOW				 891
DS_RUN				 713	 747	 895	 992
D_ALLOCATED_CCB_COUNT		 838	 850	 889	1072	1201	1203	1259
D_BASE				 676	 678	 684	 717	 751	 851	 894	 896	 898	 964	 993	1073
				1106	1135	1172	1207	1260
D_FIELDS			 506	 516	 545	 573	 694	 728	 830	 867	 945	 974	 975	1003
				1045	1088	1116	1145	1182	1219
D_LENGTH			 459	 834	1207
D_LLA				 563	 715	 749	 840
D_PENDING_DATA_CCB		 602	 608	 839	1063	1243	1247
D_SC_PIX			 535	 563	 715	 749	 837
D_STATE				 713	 747	 836	 891	 963	 992	1205	1237
ENB				 914	 934#
EQLU				 792
FALSE				 454#	 834	 932
FC_CCP				 489
FC_RCE				 233+	 239+	 286+	 302+
FC_RCP				 490
FC_TIM				 492
FC_XCP				 491
FC_XME				 204+	 215+	 225+	 249+	 259+	 270+	 280+	 296+	 312+	 321+	 331+
FLAG				 784	 790	 792	 801
FLG				 207+	 213+	 218+	 223+	 262+	 268+	 315+	 319+
FM_CCB				 887
FNC				 166+	 167+
K				1164	1166	1170
LANGUAGE			   3
LINKAGE_DB			 443	1229#
LLA				 182+	 185+#	 207+	 211+	 242+	 246+	 252+	 256+	 262+	 266+	 273+	 277+
				 289+	 293+	 305+	 309+	 324+	 328+
LLCRS$				 169+
LLC_DISPATCH			 495#
LOC				 171+	 172+#
MAP$				 605	 795	 800	1168	1170
MCB$GAW_PROCESS_DATA_BASE	 502	 506	 507
MCB$GA_PROCESS_DISPATCH		 501	 832#
MCB$GW_PROCESS_HANDLE		 503	 535	 563	 715	 749
MCB_DB_CCB_MOD			 433	 473#	 480#	 879#
MCB_DB_CCB			 435	 436	 437	 438	 439	 440	 441	 478	 486	 956#	 985#	1014#
				1056#	1099#	1127#	1156#
MCH				 913
MDF				 166+	 168+
MEMORY_EXISTS			 431	 632	 642	 754*
MODF				 473	 478	 480	 486	 869	 887
NAME				 494#
NDT				   1#	 494
NDTTIM				 433	 492	 859*
NDT_DB_CCB_X			 423#	 428	 584#
NDT_DB_CCB			 422#	 426	 427	 429	 430	 442	 527#	 556#	 705#	 739#	1193#
NEW_PROCESS			 432	 803*	1032
NO_OPERATION			 455#
NUM				 252+	 258+	 289+	 295+
NXM_CATCHER			 434	 790	 904*
PIX				 198+	 201+	 207+	 210+	 218+	 221+	 242+	 245+	 252+	 255+	 262+	 265+
				 273+	 276+	 289+	 292+	 305+	 308+	 315+	 318+	 324+	 327+	1023	1025
				1032
PTR				 597	 606#	 610	 611#	 613	 616	 617	 619#	 621	 635	 785	 796#
				 798
RCV_ABO				 435	 482	 937*
RCV_ACC				 436	 483	 966*
RCV_CNR				 437	 475	 995*
RCV_DAT				 438	 476	1037*
RCV_DRQ				 439	 484	1080*
RCV_DSR				 440	 477	1108*
RCV_SND				 441	 485	1137*
REJ				 324+	 329+
RETURN_CCB			 442	 678	 717	 751	 964	1106	1174*
S$ABO				  98+#	 204+	 482
S$ACC				  90+#	 215+	 483
S$CNR				 100+#	 475
S$CON				  89+#	 225+
S$DAT				 101+#	 476
S$DIS				  97+#	 280+
S$DRQ				  94+#	 259+	 484
S$DSR				 103+#	 106+	 477
S$GLN				  99+#	 105+	 321+
S$INT				 102+#
S$IRQ				  96+#	 296+
S$MRQ				  93+#	 249+
S$PBOM				 115+#
S$PEOM				 117+#	 749
S$PMOM				 116+#
S$PMSG				 113+#
S$PSEG				 112+#	 563
S$REJ				  91+#	 331+
S$RHI				 106+#
S$SND				  92+#	 270+	 485
S$SNI				  95+#	 312+
S$XHI				 105+#
SAVE_MAP			 786	 794	 800
SCRCP				 473*	 490
SCXCP				 480*	 491
SIG				 912	 932
SMAP$				 664	 794	1166
SS$NXM				 932
START_ABORT			 443	 676	1135	1211*
STK_CCB				1067	1069	1073
STS				 228+	 232+
S_EABL				 149+#
S_EABM				 138+#
S_EABO				 139+#
S_EABS				 137+#
S_EACR				 153+#
S_ECBE				 142+#
S_EDBO				 151+#
S_EERR				 143+#
S_EHI				 122+#
S_EIDM				 144+#
S_EINF				 140+#
S_EIOF				 135+#
S_ELNS				 141+#
S_ELO				 157+#
S_ELST				 145+#
S_ELWS				 146+#
S_EMTL				 147+#
S_ENOF				 155+#
S_ENRO				 154+#
S_ENSL				 148+#
S_ENUR				 156+#
S_EOTB				 136+#
S_ERBO				 150+#
S_ERES				 131+#	1028	1034
S_ERNS				 133+#
S_ETMI				 152+#
S_EUNN				 132+#
S_EURO				 134+#
S_SSUC				 123+#
TABLE$				 474	 481	 489
TEMP				 787	 798#
TRUE				 456#	 857	 934	 935
ULA				 188+	 191+#	 198+	 202+	 207+	 212+	 218+	 222+	 228+	 231+	 242+	 247+
				 252+	 257+	 262+	 267+	 273+	 278+	 289+	 294+	 305+	 310+
VAL				 171+	 172+
WORD_0				 461#
WORD_1				 462#
XPO$K_VERSION			  82+
$BYTE_STRING			 338+	 342+	 346+	 349+	 352+	 355+	 358+	 363+	 370+	 375+	 382+	 395+
				 399+	 406+
$BYTE				 340+	 341+	 344+	 345+	 393+	 394+
$CONTINUE			 364+	 371+	 376+	 383+	 400+	 407+
$DSPCR				 471*	 474	 481	 489
$FIELD				 336+	 391+
$FIELD_SET_SIZE			 387+
$MCB_CANCEL_CCB_REQUEST		 534
$MCB_CLEAR_PROCESS		1209
$MCB_GET_BUFFER			 661
$MCB_GET_CCB			 847	1069	1256
$MCB_GET_DSR			 834
$MCB_MOVE_BUFFER_TO_BUFFER	 635	 655	 668
$MCB_PROCESS			 494
$MCB_REQUEST_CCB		 854	1076	1263
$MCB_RETURN_BUFFER		1169
$MCB_RETURN_CCB			 900	1200
$MCB_RETURN_DSR			1207
$MCB_SET_PROCESS		1025
$OVERLAY			 361+	 366+	 373+	 378+	 397+	 402+
$SC$BUF				 174+#	 203+	 214+	 224+	 248+	 269+	 279+	 311+	 320+	 330+
$SC$CCB				 167+#	 168+#	 169+	 175+	 176+	 177+	 184+#	 185+	 190+#	 191+	 200+#	 201+
				 202+	 209+#	 210+	 211+	 212+	 213+	 220+#	 221+	 222+	 223+	 230+#	 231+
				 232+	 238+#	 244+#	 245+	 246+	 247+	 254+#	 255+	 256+	 257+	 258+	 264+#
				 265+	 266+	 267+	 268+	 275+#	 276+	 277+	 278+	 285+#	 291+#	 292+	 293+
				 294+	 295+	 301+#	 307+#	 308+	 309+	 310+	 317+#	 318+	 319+	 326+#	 327+
				 328+	 329+
$SC$CND				 171+#	 175+	 176+	 177+	 201+	 202+	 210+	 211+	 212+	 213+	 221+	 222+
				 223+	 231+	 232+	 245+	 246+	 247+	 255+	 256+	 257+	 258+	 265+	 266+
				 267+	 268+	 276+	 277+	 278+	 292+	 293+	 294+	 295+	 308+	 309+	 310+
				 318+	 319+	 327+	 328+	 329+
$SC$HI_BYTE			 164+#	 213+	 223+	 258+	 268+	 295+
$SC$LO_BYTE			 162+#	 191+	 202+	 212+	 222+	 231+	 247+	 257+	 267+	 278+	 294+	 310+
$SC$QUE				 166+#	 204+	 215+	 225+	 233+	 239+	 249+	 259+	 270+	 280+	 286+	 296+
				 302+	 312+	 321+	 331+
$SC_ABORT			 198+#	 535
$SC_ACCEPT			 207+#	 563
$SC_CONNECT			 218+#
$SC_CONNECT_RECEIVED		 228+#	 841	1028	1034
$SC_DATA_MESSAGE_REQUEST	 242+#
$SC_DATA_SEGMENT_REQUEST	 252+#	 715
$SC_DATA_SEGMENT_RETURN		 236+#	 677	 683	1246
$SC_DATA_SEGMENT_TRANSMIT	 262+#	 749
$SC_DISCONNECT			 273+#
$SC_DISCONNECTED		 283+#	1134
$SC_GET_LLA			 182+#	 840
$SC_GET_ULA			 188+#
$SC_INTERRUPT_REQUEST		 289+#
$SC_INTERRUPT_RETURN		 299+#
$SC_INTERRUPT_TRANSMIT		 305+#
$SC_LOCAL_NODE_INFO		 315+#
$SC_REJECT			 324+#
$SHORT_INTEGER			 348+	 351+	 354+	 357+	 362+	 367+	 368+	 369+	 374+	 379+	 380+	 381+
				 398+	 403+	 404+	 405+
$SHOW				  83+
$SUB_BLOCK			 359+
$SUB_FIELD			 191+	 202+	 212+	 213+	 222+	 223+	 231+	 247+	 257+	 258+	 267+	 268+
				 278+	 294+	 295+	 310+