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