Trailing-Edge
-
PDP-10 Archives
-
BB-R598A-RM_1983
-
swskit-v3/listings/xpt/xptitf.list
There are no other files named xptitf.list in the archive.
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 1
30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (1)
; 0001 module XPTITF (
; 0002 IDENT = 'X01270'
; 0003 ) =
; 0004 begin
; 0005
; 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 ! FACILITY: Transport
; 0029 !
; 0030 ! ABSTRACT:
; 0031 !
; 0032 ! Transport Interface Routines: takes a CCB and, based on the function/
; 0033 ! modifier codes, routes it to a processing routine. Some of the func-
; 0034 ! tions require no preprocessing; the function handler is called direct-
; 0035 ! ly. Other routines require preprocessing or are handled entirely in
; 0036 ! this module; all Network Management interface routines are contained
; 0037 ! here.
; 0038 !
; 0039 ! ENVIRONMENT: MCB
; 0040 !
; 0041 ! AUTHOR: L. Webber , CREATION DATE: 31-Jul-79
; 0042 !
; 0043 ! MODIFIED BY:
; 0044 !
; 0045 ! L. Webber, 31-Jul-79 : VERSION 01
; 0046 !
; 0047 ! 1.01 L. Webber, 1-Nov-79
; 0048 ! Brought module into conformance with design specification
; 0049 !
; 0050 ! 1.02 L. Webber, 20-Dec-79
; 0051 ! Modifications associated with splitting Transport Line Interface out
; 0052 !
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 2
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (1)
; 0053 ! 1.03 L. Webber, 29-Jan-80
; 0054 ! Rewrote dispatch code to go through two levels of dispatch tables.
; 0055 !
; 0056 ! 1.04 L. Webber, 3-Apr-80
; 0057 ! Modified to support node and line sub-data-bases
; 0058 ! Added dispatch table (previously in XPTINI)
; 0059 ! Modified all calls to the XPTDEC and XPTINI routines to be
; 0060 ! extension process calls; added interface routines LINE$DN,
; 0061 ! LINE$UP, OPEN$T, CLOSE$T, INIT$XPT, and CLOSE$XPT to do the calls
; 0062 !
; 0063 ! 1.05 L. Webber, 15-Apr-80
; 0064 ! Add $XPTDB, the address of the Transport Data Base
; 0065 !
; 0066 ! 1.06 L. Webber, 23-May-80
; 0067 ! Translate between LIX and Transport line index at the DLL and
; 0068 ! Network Management interfaces
; 0069 !
; 0070 ! 1.07 L. Webber, 23-Jun-80
; 0071 ! Convert MCB interfaces to MCBLIB macros
; 0072 !
; 0073 ! 1.08 A. Peckham, 15-Oct-80
; 0074 ! Update to use dispatch TABLE$ macro.
; 0075 ! Use symbolic function modifiers.
; 0076 !
; 0077 ! 1.09 A. Peckham, 21-Oct-80
; 0078 ! Change CE_ERR returns to SIGNAL_STOP.
; 0079 !
; 0080 ! 1.10 A. Peckham, 24-Oct-80
; 0081 ! Change some CE_ERRs back from SIGNAL_STOPs.
; 0082 !
; 0083 ! 1.11 L. Webber, 2-Dec-80
; 0084 ! Switch first two parameters of DISPATCH$ macros to
; 0085 ! match macro definition
; 0086 !
; 0087 ! 1.12 L. Webber, 11-Dec-80
; 0088 ! Modify to support MCB 3.1
; 0089 !
; 0090 ! 1.13 L. Webber, 12-Jan-81
; 0091 ! Take out old NM code and modify to call XPTNMI.
; 0092 !
; 0093 ! 1.14 L. Webber, 20-Jan-81
; 0094 ! Take out $XPTDB and $NLN to make XPT read-only.
; 0095 !
; 0096 ! 1.15 L. Webber, 6-Feb-81
; 0097 ! Forwarding is moving to XPE; CALL$E routine TERMINATE.
; 0098 !
; 0099 ! 1.16 L. Webber, 9-Feb-81
; 0100 ! Put back the direct calls; an interface module has been added.
; 0101 !
; 0102 ! 1.17 L. Webber, 18-Feb-81
; 0103 ! Fix maintenance of INPUTquota.
; 0104 ! Add calls to the BUFCHK debugging routine.
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 3
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (1)
; 0105 !
; 0106 ! 1.18 L. Webber, 19-Feb-81
; 0107 ! Fix TERMINATE not to be CALL$
; 0108 !
; 0109 ! 1.19 L. Webber, 27-Feb-81
; 0110 ! Fix ECL_RTN to handle locally looped packets
; 0111 !
; 0112 ! 1.20 L. Webber, 3-Mar-81
; 0113 ! Add global literals for the data base sizes
; 0114 !
; 0115 ! 1.21 L. Webber, 9-Mar-81
; 0116 ! Fix bug in handling of admission quota
; 0117 !
; 0118 ! 1.22 L. Webber, 20-Mar-81
; 0119 ! The return of a HELLO packet should not affect the Update quota.
; 0120 !
; 0121 ! 1.23 L. Webber, 14-May-81
; 0122 ! Add _ROUTES to call ROUTES in XPE on a SYNCH redispatch.
; 0123 !
; 0124 ! 1.24 L. Webber, 3-Jun-81
; 0125 ! Modify to support new DLL interface (which also changed some modifier
; 0126 ! codes in the TLI interface).
; 0127 ! Modify all buffer releases to use $MCB_RETURN_CCB_AND_BUFFER.
; 0128 !
; 0129 ! 1.25 L. Webber, 9-Jun-81
; 0130 ! Fix glitch in DLL_RTN which was always releasing an input CCB, no
; 0131 ! matter whom it belonged to.
; 0132 !
; 0133 ! 1.26 L. Webber, 25-Jun-81
; 0134 ! Add DLL_RTN processing of "uncounted" message type (used at present
; 0135 ! only for sending "line down" DC's).
; 0136 !
; 0137 ! 1.27 A. Peckham, 16-Apr-82
; 0138 ! Add NM$XPT to CALL$E to get to XPT_NM which has been moved to XPE.
; 0139 ! Optimize linkages.
; 0140 !
; 0141 !--
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 4
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (2)
; 0142
; 0143 !
; 0144 ! TABLE OF CONTENTS
; 0145 !
; 0146
; 0147 require 'XPTMAC';
; L 0245 %if %bliss (BLISS16)
; 0246 %then
; 0247 linkage XPT_LKG_ADR_DB_CCB =
; 0248 jsr (register = 1, register = 5, register = 4) :
; 0249 nopreserve (0, 1, 2, 3, 4, 5);
; U 0250 %else macro XPT_LKG_DB_CCB_ADR = BLISS36C %;
; 0251 %fi
; 0252
; 0253 forward routine
; 0254 XMEDSP: MCB_DB_CCB_MOD novalue,
; 0255 RCEDSP: MCB_DB_CCB_MOD novalue,
; 0256 CTLDSP: MCB_DB_CCB_MOD novalue,
; 0257 XCPDSP: MCB_DB_CCB_MOD novalue,
; 0258 RCPDSP: MCB_DB_CCB_MOD novalue,
; 0259 CCPDSP: MCB_DB_CCB_MOD novalue,
; 0260 ECL_XMT: MCB_DB_CCB novalue,
; 0261 ECL_RTN: MCB_DB_CCB novalue,
; 0262 DLL_RTN: MCB_DB_CCB novalue,
; 0263 REINIT_CMP: MCB_DB_CCB novalue,
; 0264 TERM_CMP: MCB_DB_CCB novalue,
; 0265 UNKNOWN: novalue,
; 0266 LINE$DN: novalue,
; 0267 LINE$UP: novalue,
; 0268 OPEN$T: MCB_DB_CCB novalue,
; 0269 CLOSE$T: MCB_DB_CCB novalue,
; 0270 INIT$XPT: MCB_DB_CCB novalue,
; 0271 NM$XPT: MCB_DB_CCB novalue,
; 0272 TERM$XPT: MCB_DB_CCB novalue,
; 0273 _ROUTES: novalue,
; 0274 CALL$XPE: XPT_LKG_ADR_DB_CCB novalue;
; 0275
; 0276 !
; 0277 ! INCLUDE FILES:
; 0278 !
; 0279
; 0280 !
; 0281 ! MACROS:
; 0282 !
; 0283
; 0284 !
; 0285 ! EQUATED SYMBOLS:
; 0286 !
; 0287
; 0288 global literal ! (in bytes)
; 0289 XPT$SX = XPTDB_length * %upval, ! Main data base length
; 0290 XPT$SN = NODElength, ! Node data base entry length
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 5
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (2)
; 0291 XPT$SL = LINElength; ! Line data base entry length
; 0292
; 0293 !
; 0294 ! OWN STORAGE:
; 0295 !
; 0296 ! See $XPTLL below.
; 0297 !
; 0298
; 0299
; 0300 !
; 0301 ! EXTERNAL REFERENCES:
; 0302 !
; 0303
; 0304 external routine
; 0305 RCVECL,
; 0306 TERMINATE: novalue,
; 0307 OPENT: novalue,
; 0308 CLOSET: novalue,
; 0309 LINEUP: novalue,
; 0310 LINEDN: novalue,
; 0311 INIT_XPT: novalue,
; 0312 TERM_XPT: novalue,
; 0313 RCVBUF: novalue,
; 0314 COSTCH: novalue,
; 0315 XPE_NM: novalue,
; 0316 XPTTIM: novalue;
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 6
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (3)
; 0317
; 0318 !++
; 0319 !
; 0320 ! TRANSPORT DISPATCH VECTOR
; 0321 !
; 0322 ! NAME: $XPTLL
; 0323 !
; 0324 ! This vector is the main MCB dispatch vector which dispatches
; 0325 ! received CCBs to the interface routines in this module.
; 0326 !
; 0327 !--
; 0328 external routine $DSPCR : novalue;
; 0329
; 0330 global
; P 0331 bind $XPTLL = TABLE$ ($DSPCR, FC_CCP,
; P 0332
; P 0333 (FC_XME, XMEDSP), !Transmit enable
; P 0334 (FC_RCE, RCEDSP), !Receive enable
; P 0335 (FC_CTL, CTLDSP), !Control
; P 0336 (FC_TIM, XPTTIM), !Timeout/process initialization
; P 0337 (FC_XCP, XCPDSP), !Transmit complete
; P 0338 (FC_RCP, RCPDSP), !Receive complete
; 0339 (FC_CCP, CCPDSP)); !Control complete
; 0340
; 0341 !++
; 0342 !
; 0343 ! PROCESS HEADER
; 0344 !
; 0345 ! NAME OF PROCESS: XPT
; 0346 !
; 0347 !--
; 0348
; 0349 $MCB_PROCESS(name=XPT,llc_dispatch=$XPTLL)
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 7
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (4)
; 0350
; 0351 global
; 0352 routine XMEDSP (XPTDB,CCB,MODIFIER): MCB_DB_CCB_MOD novalue =
; 0353
; 0354 !++
; 0355 ! FUNCTIONAL DESCRIPTION:
; 0356 !
; 0357 ! Routine to dispatch "transmit enable" CCBs
; 0358 !
; 0359 ! FORMAL PARAMETERS
; 0360 !
; 0361 ! XPTDB Address of Transport's data base
; 0362 ! CCB CCB to pass to dispatched routine.
; 0363 ! MODIFIER Subfunction code; used to select routine.
; 0364 !
; 0365 ! IMPLICIT INPUTS
; 0366 !
; 0367 ! NONE.
; 0368 !
; 0369 ! ROUTINE VALUE:
; 0370 ! COMPLETION CODES:
; 0371 !
; 0372 ! NONE.
; 0373 !
; 0374 ! SIDE EFFECTS:
; 0375 !
; 0376 ! NONE.
; 0377 !
; 0378 !--
; 0379
; 0380 begin
; P 0381 DISPATCH$(.MODIFIER,
; P 0382 TABLE$ ($DSPCR, FD_XME,
; P 0383 (XM_DAT, ECL_XMT)),
; P 0384 (.XPTDB,.CCB),
; 0385 MCB_DB_CCB);
; 0386 BUFCHK();
; 0387 end; !End of XMEDSP
.TITLE XPTITF
.IDENT /X01270/
000000 .PSECT ......, D
000000 114224 ; HEADER
U.23: .RAD50 /XPT/
000002 000403 .WORD 403
000004 000000 .WORD 0
000006 000000 .WORD 0
000010 000000 .WORD 0
000012 000000' .WORD $XPTLL
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 8
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (4)
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
000000 .PSECT $PLIT$, RO , D
000000 000000G P.AAA: .WORD $DSPCR
000002 000000' .WORD XMEDSP
000004 000000V .WORD U.2
000006 000000G .WORD $DSPCR
000010 000000V .WORD U.3
000012 000000G .WORD XPTTIM
000014 000000V .WORD U.4
000016 000000V .WORD U.5
000020 000000G .WORD $DSPCR
000022 000000V .WORD U.6
000024 000000V P.AAB: .WORD U.7
.GLOBL RCVECL, TERMINATE, OPENT, CLOSET
.GLOBL LINEUP, LINEDN, INIT.XPT, TERM.XPT
.GLOBL RCVBUF, COSTCH, XPE.NM, XPTTIM
.GLOBL $DSPCR, .DSPCR, MCB$V0, MCB$V1
.GLOBL CHKBUF
000176 XPT$SX== 176
000010 XPT$SN== 10
000104 XPT$SL== 104
000000' $XPTLL== P.AAA
.SBTTL XMEDSP
000000 .PSECT $CODE$, RO
000000 004773 000024' XMEDSP::
U.1: JSR PC,@P.AAB(R3) ; *,*(MODIFIER) 0385
000004 004767 000000G JSR PC,CHKBUF ; 0386
000010 000207 RTS PC ; 0352
; Routine Size: 5 words, Routine Base: $CODE$ + 0000
; Maximum stack depth per invocation: 1 word
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 9
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (5)
; 0388
; 0389 global
; 0390 routine RCEDSP (XPTDB,CCB,MODIFIER): MCB_DB_CCB_MOD novalue =
; 0391
; 0392 !++
; 0393 ! FUNCTIONAL DESCRIPTION:
; 0394 !
; 0395 ! Routine to dispatch "receive enable" CCBs
; 0396 !
; 0397 ! FORMAL PARAMETERS
; 0398 !
; 0399 ! XPTDB Address of Transport's data base
; 0400 ! CCB CCB to pass to dispatched routine.
; 0401 ! MODIFIER Subfunction code; used to select routine.
; 0402 !
; 0403 ! IMPLICIT INPUTS
; 0404 !
; 0405 ! NONE.
; 0406 !
; 0407 ! ROUTINE VALUE:
; 0408 ! COMPLETION CODES:
; 0409 !
; 0410 ! NONE.
; 0411 !
; 0412 ! SIDE EFFECTS:
; 0413 !
; 0414 ! NONE.
; 0415 !
; 0416 !--
; 0417
; 0418 begin
; P 0419 DISPATCH$(.MODIFIER,
; P 0420 TABLE$ ($DSPCR, FD_RCE,
; P 0421 (XM_DAT, ECL_RTN)),
; P 0422 (.XPTDB,.CCB),
; 0423 MCB_DB_CCB);
; 0424 BUFCHK();
; 0425 end; !End of RCEDSP
000026 .PSECT $PLIT$, RO , D
000026 000000V P.AAC: .WORD U.8
000030 000000G .WORD $DSPCR
000032 000000G .WORD $DSPCR
.SBTTL RCEDSP
000012 .PSECT $CODE$, RO
000000 004773 000026' RCEDSP::
U.2: JSR PC,@P.AAC(R3) ; *,*(MODIFIER) 0423
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 10
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (5)
000004 004767 000000G JSR PC,CHKBUF ; 0424
000010 000207 RTS PC ; 0390
; Routine Size: 5 words, Routine Base: $CODE$ + 0012
; Maximum stack depth per invocation: 1 word
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 11
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (6)
; 0426
; 0427 global
; 0428 routine CTLDSP (XPTDB,CCB,MODIFIER): MCB_DB_CCB_MOD novalue =
; 0429
; 0430 !++
; 0431 ! FUNCTIONAL DESCRIPTION:
; 0432 !
; 0433 ! Routine to dispatch "control" CCBs
; 0434 !
; 0435 ! FORMAL PARAMETERS
; 0436 !
; 0437 ! XPTDB Address of Transport's data base
; 0438 ! CCB CCB to pass to dispatched routine.
; 0439 ! MODIFIER Subfunction code; used to select routine.
; 0440 !
; 0441 ! IMPLICIT INPUTS
; 0442 !
; 0443 ! NONE.
; 0444 !
; 0445 ! ROUTINE VALUE:
; 0446 ! COMPLETION CODES:
; 0447 !
; 0448 ! NONE.
; 0449 !
; 0450 ! SIDE EFFECTS:
; 0451 !
; 0452 ! NONE.
; 0453 !
; 0454 !--
; 0455
; 0456 begin
; P 0457 DISPATCH$(.MODIFIER,
; P 0458 TABLE$ ($DSPCR, FD_CTL,
; P 0459 (NM_INI, INIT$XPT),
; P 0460 (XM_STR, OPEN$T),
; P 0461 (XM_STP, CLOSE$T),
; P 0462 (FM_NM, NM$XPT),
; P 0463 (NM_TRM, TERM$XPT)),
; P 0464 (.XPTDB,.CCB),
; 0465 MCB_DB_CCB);
; 0466 BUFCHK();
; 0467 end; !End of CTLDSP
000034 .PSECT $PLIT$, RO , D
000034 000000V P.AAD: .WORD U.17
000036 000000V .WORD U.15
000040 000000V .WORD U.16
000042 000000V .WORD U.18
000044 000000V .WORD U.19
000046 000000G .WORD $DSPCR
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 12
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (6)
000050 000000G .WORD $DSPCR
.SBTTL CTLDSP
000024 .PSECT $CODE$, RO
000000 004773 000034' CTLDSP::
U.3: JSR PC,@P.AAD(R3) ; *,*(MODIFIER) 0465
000004 004767 000000G JSR PC,CHKBUF ; 0466
000010 000207 RTS PC ; 0428
; Routine Size: 5 words, Routine Base: $CODE$ + 0024
; Maximum stack depth per invocation: 1 word
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 13
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (7)
; 0468
; 0469 global
; 0470 routine XCPDSP (XPTDB,CCB,MODIFIER): MCB_DB_CCB_MOD novalue =
; 0471
; 0472 !++
; 0473 ! FUNCTIONAL DESCRIPTION:
; 0474 !
; 0475 ! Routine to dispatch "transmit complete" CCBs
; 0476 !
; 0477 ! FORMAL PARAMETERS
; 0478 !
; 0479 ! XPTDB Address of Transport's data base
; 0480 ! CCB CCB to pass to dispatched routine.
; 0481 ! MODIFIER Subfunction code; used to select routine.
; 0482 !
; 0483 ! IMPLICIT INPUTS
; 0484 !
; 0485 ! NONE.
; 0486 !
; 0487 ! ROUTINE VALUE:
; 0488 ! COMPLETION CODES:
; 0489 !
; 0490 ! NONE.
; 0491 !
; 0492 ! SIDE EFFECTS:
; 0493 !
; 0494 ! NONE.
; 0495 !
; 0496 !--
; 0497
; 0498 begin
; P 0499 DISPATCH$(.MODIFIER,
; P 0500 TABLE$ ($DSPCR, FD_XCP,
; P 0501 (TM_DAT, DLL_RTN)),
; P 0502 (.XPTDB,.CCB),
; 0503 MCB_DB_CCB);
; 0504 BUFCHK();
; 0505 end; !End of XCPDSP
000052 .PSECT $PLIT$, RO , D
000052 000000V P.AAE: .WORD U.9
.SBTTL XCPDSP
000036 .PSECT $CODE$, RO
000000 004773 000052' XCPDSP::
U.4: JSR PC,@P.AAE(R3) ; *,*(MODIFIER) 0503
000004 004767 000000G JSR PC,CHKBUF ; 0504
000010 000207 RTS PC ; 0470
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 14
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (7)
; Routine Size: 5 words, Routine Base: $CODE$ + 0036
; Maximum stack depth per invocation: 1 word
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 15
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (8)
; 0506
; 0507 global
; 0508 routine RCPDSP (XPTDB,CCB,MODIFIER): MCB_DB_CCB_MOD novalue =
; 0509
; 0510 !++
; 0511 ! FUNCTIONAL DESCRIPTION:
; 0512 !
; 0513 ! Routine to dispatch "receive complete" CCBs
; 0514 !
; 0515 ! FORMAL PARAMETERS
; 0516 !
; 0517 ! XPTDB Address of Transport's data base
; 0518 ! CCB CCB to pass to dispatched routine.
; 0519 ! MODIFIER Subfunction code; used to select routine.
; 0520 !
; 0521 ! IMPLICIT INPUTS
; 0522 !
; 0523 ! NONE.
; 0524 !
; 0525 ! ROUTINE VALUE:
; 0526 ! COMPLETION CODES:
; 0527 !
; 0528 ! NONE.
; 0529 !
; 0530 ! SIDE EFFECTS:
; 0531 !
; 0532 ! NONE.
; 0533 !
; 0534 !--
; 0535
; 0536 begin
; P 0537 DISPATCH$(.MODIFIER,
; P 0538 TABLE$ ($DSPCR, FD_RCP,
; P 0539 (TM_INI, LINE$UP),
; P 0540 (TM_DAT, RCVBUF),
; P 0541 (TM_TRM, LINE$DN)),
; 0542 .CCB);
; 0543 BUFCHK();
; 0544 end; !End of RCPDSP
000054 .PSECT $PLIT$, RO , D
000054 000000G P.AAF: .WORD RCVBUF
000056 000000G .WORD $DSPCR
000060 000000G .WORD $DSPCR
000062 000000G .WORD $DSPCR
000064 000000G .WORD $DSPCR
000066 000000G .WORD $DSPCR
000070 000000V .WORD U.14
000072 000000V .WORD U.13
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 16
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (8)
.SBTTL RCPDSP
000050 .PSECT $CODE$, RO
000000 010446 RCPDSP::
U.5: MOV R4,-(SP) ; CCB,* 0542
000002 004773 000054' JSR PC,@P.AAF(R3) ; *,*(MODIFIER)
000006 004767 000000G JSR PC,CHKBUF ; 0543
000012 005726 TST (SP)+ ; 0536
000014 000207 RTS PC ; 0508
; Routine Size: 7 words, Routine Base: $CODE$ + 0050
; Maximum stack depth per invocation: 2 words
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 17
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (9)
; 0545
; 0546 global
; 0547 routine CCPDSP (XPTDB,CCB,MODIFIER): MCB_DB_CCB_MOD novalue =
; 0548
; 0549 !++
; 0550 ! FUNCTIONAL DESCRIPTION:
; 0551 !
; 0552 ! Routine to dispatch "control complete" CCBs
; 0553 !
; 0554 ! FORMAL PARAMETERS
; 0555 !
; 0556 ! XPTDB Address of Transport's data base
; 0557 ! CCB CCB to pass to dispatched routine.
; 0558 ! MODIFIER Subfunction code; used to select routine.
; 0559 !
; 0560 ! IMPLICIT INPUTS
; 0561 !
; 0562 ! NONE.
; 0563 !
; 0564 ! ROUTINE VALUE:
; 0565 ! COMPLETION CODES:
; 0566 !
; 0567 ! NONE.
; 0568 !
; 0569 ! SIDE EFFECTS:
; 0570 !
; 0571 ! NONE.
; 0572 !
; 0573 !--
; 0574
; 0575 begin
; P 0576 DISPATCH$(.MODIFIER,
; P 0577 TABLE$ ($DSPCR, FD_CCP,
; P 0578 (TM_STR, REINIT_CMP),
; P 0579 (TM_STP, TERM_CMP)),
; P 0580 (.XPTDB,.CCB),
; 0581 MCB_DB_CCB);
; 0582 BUFCHK();
; 0583 end; !End of CCPDSP
000074 .PSECT $PLIT$, RO , D
000074 000000G P.AAG: .WORD $DSPCR
000076 000000G .WORD $DSPCR
000100 000000G .WORD $DSPCR
000102 000000G .WORD $DSPCR
000104 000000V .WORD U.11
000106 000000V .WORD U.10
000110 000000G .WORD $DSPCR
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 18
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (9)
.SBTTL CCPDSP
000066 .PSECT $CODE$, RO
000000 004773 000074' CCPDSP::
U.6: JSR PC,@P.AAG(R3) ; *,*(MODIFIER) 0581
000004 004767 000000G JSR PC,CHKBUF ; 0582
000010 000207 RTS PC ; 0547
; Routine Size: 5 words, Routine Base: $CODE$ + 0066
; Maximum stack depth per invocation: 1 word
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 19
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (10)
; 0584
; 0585 routine ECL_XMT (XPTDB,CCB): MCB_DB_CCB novalue =
; 0586
; 0587 !++
; 0588 ! FUNCTIONAL DESCRIPTION:
; 0589 !
; 0590 ! Handles Transmit requests from a Transport user
; 0591 !
; 0592 ! FORMAL PARAMETERS
; 0593 !
; 0594 ! XPTDB - Address of Transport's data base
; 0595 ! CCB - CCB given by the Transport user to be transmitted
; 0596 !
; 0597 ! IMPLICIT INPUTS
; 0598 !
; 0599 ! NONE.
; 0600 !
; 0601 ! ROUTINE VALUE:
; 0602 ! COMPLETION CODES:
; 0603 !
; 0604 ! NONE.
; 0605 !
; 0606 ! SIDE EFFECTS:
; 0607 !
; 0608 ! NONE.
; 0609 !
; 0610 !--
; 0611
; 0612 begin
; 0613
; 0614 require 'XPTSYM';
; 0651 require 'MCBCOM';
; 0685 local RET;
; 0686
; 0687 !
; 0688 ! If Transport isn't active or the admission quota is exhausted,
; 0689 ! reject the packet
; 0690 !
; 0691
; 0692 INPUTquota = .INPUTquota - 1; !Decrement admission quota
; 0693 if bitoff(.XPTflags,Running) then !Transport not running
; 0694 TERMINATE(.CCB,CE_NTE)
; 0695 else if .INPUTquota eql -1 then !Admission quota exhausted
; 0696 TERMINATE(.CCB,CE_RTE)
; 0697
; 0698 !
; 0699 ! Send the message out
; 0700 !
; 0701
; 0702 else begin
; 0703 RET = RCVECL(.CCB);
; 0704
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 20
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (10)
; 0705
; 0706 !
; 0707 ! Failed - return function CCB now
; 0708 !
; 0709
; 0710 if .RET neq CS_SUC then begin
; 0711 TERMINATE(.CCB,.RET);
; 0712 end;
; 0713 end;
; 0714 end; !End of ECL_XMT
.GLOBL .CRDAT
.SBTTL ECL.XMT
000000 105365 000104 ; ECL.XMT
U.7: DECB 104(R5) ; *(XPTDB) 0692
000004 032765 000001 000106 BIT #1,106(R5) ; *,*(XPTDB) 0693
000012 001004 BNE 1$
000014 010446 MOV R4,-(SP) ; CCB,* 0694
000016 012746 177720 MOV #-60,-(SP)
000022 000420 BR 3$
000024 126527 000104 177777 1$: CMPB 104(R5),#-1 ; *(XPTDB),* 0695
000032 001004 BNE 2$
000034 010446 MOV R4,-(SP) ; CCB,* 0696
000036 012746 177730 MOV #-50,-(SP)
000042 000410 BR 3$
000044 010446 2$: MOV R4,-(SP) ; CCB,* 0703
000046 004767 000000G JSR PC,RCVECL
000052 020027 000001 CMP R0,#1 ; RET,* 0710
000056 001405 BEQ 4$
000060 010416 MOV R4,(SP) ; CCB,* 0711
000062 010046 MOV R0,-(SP) ; RET,*
000064 004767 000000G 3$: JSR PC,TERMINATE
000070 005726 TST (SP)+ ; 0710
000072 005726 4$: TST (SP)+ ; 0612
000074 000207 RTS PC ; 0585
; Routine Size: 31 words, Routine Base: $CODE$ + 0100
; Maximum stack depth per invocation: 3 words
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 21
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (11)
; 0715
; 0716 routine ECL_RTN (XPTDB,CCB): MCB_DB_CCB novalue =
; 0717
; 0718 !++
; 0719 ! FUNCTIONAL DESCRIPTION:
; 0720 !
; 0721 ! Processes a data buffer returned from a Transport user. If the buffer
; 0722 ! belongs to Transport, the routine releases it. Otherwise, it dequeues
; 0723 ! the transport header CCB and returns it, returns the data CCB to
; 0724 ! the Data Link Layer, and updates the ECL quota.
; 0725 !
; 0726 ! FORMAL PARAMETERS
; 0727 !
; 0728 ! XPTDB - Address of Transport's data base
; 0729 ! CCB - CCB being returned.
; 0730 !
; 0731 ! IMPLICIT INPUTS
; 0732 !
; 0733 ! NONE.
; 0734 !
; 0735 ! ROUTINE VALUE:
; 0736 ! COMPLETION CODES:
; 0737 !
; 0738 ! NONE.
; 0739 !
; 0740 ! SIDE EFFECTS:
; 0741 !
; 0742 ! NONE.
; 0743 !
; 0744 !--
; 0745
; 0746 begin
; 0747 map CCB: ref block field (C_XPT_fields);
; 0748 require 'XPTSYM';
; 0785
; 0786 !
; 0787 ! Increase the quota of buffers allowed to the ECL
; 0788 !
; 0789
; 0790 ECLquota = .ECLquota + 1;
; 0791
; 0792 !
; 0793 ! Return the data buffer to the DLL, or the ECL, or release it
; 0794 !
; 0795
; 0796 if .CCB[C_STK] eql 0 then begin !Transport's buffer:
; P 0797 $MCB_RETURN_CCB_AND_BUFFER(.CCB[C_XPT_ALLOCATION], ! release it
; 0798 .CCB); ! and return
; 0799 INPUTquota = .INPUTquota + 1; ! admission
; 0800 end ! permit
; 0801 else if .CCB[C_STS] eql 0 then !Normal buffer:
; 0802 TERMINATE(.CCB,CS_SUC) ! return "success"
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 22
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (11)
; 0803 else !Otherwise,
; 0804 TERMINATE(.CCB,CE_DIS); ! return "no path"
; 0805 end; !End of ECL_RTN
.GLOBL $CBBRT
.SBTTL ECL.RTN
000000 010400 ; ECL.RTN
U.8: MOV R4,R0 ; *,CCB 0716
000002 105265 000102 INCB 102(R5) ; *(XPTDB) 0790
000006 005760 000004 TST 4(R0) ; *(CCB) 0796
000012 001007 BNE 1$
000014 016001 000034 MOV 34(R0),R1 ; *(CCB),* 0798
000020 004767 000000G JSR PC,$CBBRT
000024 105265 000104 INCB 104(R5) ; *(XPTDB) 0799
000030 000207 RTS PC ; 0796
000032 005760 000014 1$: TST 14(R0) ; *(CCB) 0801
000036 001004 BNE 2$
000040 010046 MOV R0,-(SP) ; CCB,* 0802
000042 012746 000001 MOV #1,-(SP)
000046 000403 BR 3$
000050 010046 2$: MOV R0,-(SP) ; CCB,* 0804
000052 012746 177520 MOV #-260,-(SP)
000056 004767 000000G 3$: JSR PC,TERMINATE
000062 022626 CMP (SP)+,(SP)+ ; 0801
000064 000207 RTS PC ; 0716
; Routine Size: 27 words, Routine Base: $CODE$ + 0176
; Maximum stack depth per invocation: 3 words
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 23
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (12)
; 0806
; 0807 routine DLL_RTN (XPTDB,CCB): MCB_DB_CCB novalue =
; 0808
; 0809 !++
; 0810 ! FUNCTIONAL DESCRIPTION:
; 0811 !
; 0812 ! Processes "transmit complete" returns from the Data Link Layer.
; 0813 ! If there is a routing header, the header CCB is detached and released.
; 0814 ! The buffer is then returned to its owner.
; 0815 !
; 0816 ! FORMAL PARAMETERS
; 0817 !
; 0818 ! XPTDB - Address of Transport's data base
; 0819 ! CCB - CCB returned from the DLL
; 0820 !
; 0821 ! IMPLICIT INPUTS
; 0822 !
; 0823 ! NONE.
; 0824 !
; 0825 ! ROUTINE VALUE:
; 0826 ! COMPLETION CODES:
; 0827 !
; 0828 ! NONE.
; 0829 !
; 0830 ! SIDE EFFECTS:
; 0831 !
; 0832 ! NONE.
; 0833 !
; 0834 !--
; 0835
; 0836 begin
; 0837 map CCB: ref block field(C_XPT_fields);
; 0838 local LINEb;
; 0839 require 'XPTSYM';
; 0876 local RET;
; 0877 bind LINE = .CCB[C_LIN]; ! Line over which buffer was received
; 0878 bind TYPE = .CCB[C_XPT_TYPE];
; 0879 bind SUBTYPE = .CCB[C_XPT_SUBTYPE];
; 0880 LINEb = $XPT_GET_LINE_DB(LINE); ! Address line data base entry
; 0881
; 0882 !
; 0883 ! Data packet - increase the output quota for the input line
; 0884 ! and terminate the packet
; 0885 !
; 0886
; 0887 if TYPE eql FWDcode then begin
; 0888 LINEquota = .LINEquota + 1;
; 0889 TERMINATE(.CCB,CS_SUC);
; 0890 end
; 0891
; 0892 !
; 0893 ! Routing message - increase the update quota and get rid of the packet
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 24
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (12)
; 0894 !
; 0895
; 0896 else if TYPE eql UPDATEcode then begin
; 0897 if SUBTYPE eql UPDATEcode then
; 0898 UPDATEquota = .UPDATEquota + 1;
; 0899 if .CCB[C_XPT_ALLOCATION] neq 0
; 0900 then begin
; 0901 MAP$(.CCB[C_BIAS]);
; 0902 $MCB_RETURN_BUFFER(.CCB[C_XPT_ALLOCATION],.CCB[C_ADDR]);
; 0903 end;
; 0904 $MCB_RETURN_CCB(.CCB);
; 0905 end
; 0906
; 0907 !
; 0908 ! Other (non-counted) type - just terminate it
; 0909 !
; 0910
; 0911 else TERMINATE(.CCB,CS_SUC);
; 0912
; 0913 end; !End of DLL_RTN
.GLOBL GTLINE, KISAR6, $CORRT, $CCBRT
.SBTTL DLL.RTN
000000 116401 000032 ; DLL.RTN
U.9: MOVB 32(R4),R1 ; *(CCB),* 0878
000004 005000 CLR R0 ; 0880
000006 156400 000010 BISB 10(R4),R0 ; *(CCB),*
000012 004767 000000G JSR PC,GTLINE
000016 020127 000004 CMP R1,#4 ; 0887
000022 001003 BNE 1$
000024 105260 000036 INCB 36(R0) ; *(LINEB) 0888
000030 000424 BR 4$ ; 0889
000032 020127 000001 1$: CMP R1,#1 ; 0896
000036 001021 BNE 4$
000040 005301 DEC R1 ; 0897
000042 001002 BNE 2$
000044 105265 000100 INCB 100(R5) ; *(XPTDB) 0898
000050 016401 000034 2$: MOV 34(R4),R1 ; *(CCB),* 0899
000054 001407 BEQ 3$
000056 016467 000016 000000G MOV 16(R4),KISAR6 ; *(CCB),* 0901
000064 016400 000020 MOV 20(R4),R0 ; *(CCB),* 0902
000070 004767 000000G JSR PC,$CORRT
000074 004767 000000G 3$: JSR PC,$CCBRT ; 0904
000100 000207 RTS PC ; 0896
000102 010446 4$: MOV R4,-(SP) ; CCB,* 0911
000104 012746 000001 MOV #1,-(SP)
000110 004767 000000G JSR PC,TERMINATE
000114 022626 CMP (SP)+,(SP)+
000116 000207 RTS PC ; 0807
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 25
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (12)
; Routine Size: 40 words, Routine Base: $CODE$ + 0264
; Maximum stack depth per invocation: 3 words
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 26
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (13)
; 0914
; 0915 routine UNKNOWN (CCB): novalue =
; 0916
; 0917 !++
; 0918 ! FUNCTIONAL DESCRIPTION:
; 0919 !
; 0920 ! Processes an unknown function; flags the CCB in error and returns it.
; 0921 !
; 0922 ! FORMAL PARAMETERS
; 0923 !
; 0924 ! CCB
; 0925 !
; 0926 ! IMPLICIT INPUTS
; 0927 !
; 0928 ! NONE.
; 0929 !
; 0930 ! ROUTINE VALUE:
; 0931 ! COMPLETION CODES:
; 0932 !
; 0933 ! NONE.
; 0934 !
; 0935 ! SIDE EFFECTS:
; 0936 !
; 0937 ! NONE.
; 0938 !
; 0939 !--
; 0940
; 0941 begin
; 0942
; 0943 require 'XPTSYM';
; 0980 require 'MCBCOM';
; 1014
; 1015 !
; 1016 ! Log a Invalid Message event
; 1017 !
; 1018
; 1019 %( TBS )%
; 1020
; 1021 !
; 1022 ! Get rid of the CCB
; 1023 !
; 1024
; 1025 TERMINATE(.CCB,CS_SUC);
; 1026 end; !End of UNKNOWN
.SBTTL UNKNOWN
000000 016646 000002 ; UNKNOWN
U.12: MOV 2(SP),-(SP) ; CCB,* 1025
000004 012746 000001 MOV #1,-(SP)
000010 004767 000000G JSR PC,TERMINATE
000014 022626 CMP (SP)+,(SP)+ ; 0941
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 27
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (13)
000016 000207 RTS PC ; 0915
; Routine Size: 8 words, Routine Base: $CODE$ + 0404
; Maximum stack depth per invocation: 3 words
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 28
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (14)
; 1027
; 1028 routine REINIT_CMP (XPTDB,CCB): MCB_DB_CCB novalue =
; 1029
; 1030 !++
; 1031 ! FUNCTIONAL DESCRIPTION:
; 1032 !
; 1033 ! Processes a completed "Reinitialize Line" CCB. Since the
; 1034 ! Reinitialize function is not synchronized with any Transport
; 1035 ! activity (the synchronization is provided by Line Up and Line
; 1036 ! Down signals), the CCB is terminated without processing.
; 1037 !
; 1038 ! FORMAL PARAMETERS
; 1039 !
; 1040 ! XPTDB Address of Transport's data base
; 1041 ! CCB Function CCB returned from Transport Line Interface
; 1042 !
; 1043 ! IMPLICIT INPUTS
; 1044 !
; 1045 ! NONE.
; 1046 !
; 1047 ! ROUTINE VALUE:
; 1048 ! COMPLETION CODES:
; 1049 !
; 1050 ! NONE.
; 1051 !
; 1052 ! SIDE EFFECTS:
; 1053 !
; 1054 ! NONE.
; 1055 !
; 1056 !--
; 1057
; 1058 begin
; 1059
; 1060 CCBRT$(.CCB);
; 1061
; 1062 end; !End of REINIT_CMP
.SBTTL REINIT.CMP
000000 004767 000000G ; REINIT.CMP
U.10: JSR PC,$CCBRT ; 1060
000004 000207 RTS PC ; 1028
; Routine Size: 3 words, Routine Base: $CODE$ + 0424
; Maximum stack depth per invocation: 1 word
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 29
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (15)
; 1063
; 1064 routine TERM_CMP (XPTDB,CCB): MCB_DB_CCB novalue =
; 1065
; 1066 !++
; 1067 ! FUNCTIONAL DESCRIPTION:
; 1068 !
; 1069 ! This routine processes a completed Terminate Line CCB. For reasons
; 1070 ! similar to those for REINIT_CMP above, the CCB is terminated without
; 1071 ! processing. If Transport is not running and all lines have been
; 1072 ! terminated, the "Terminate Transport" function CCB which was stored
; 1073 ! in Tid by TERM$XPT will be returned to its sender.
; 1074 !
; 1075 ! FORMAL PARAMETERS
; 1076 !
; 1077 ! XPTDB Address of Transport's data base
; 1078 ! CCB Terminate CCB, returned from Transport Line Interface
; 1079 !
; 1080 ! IMPLICIT INPUTS
; 1081 !
; 1082 ! NONE.
; 1083 !
; 1084 ! ROUTINE VALUE:
; 1085 ! COMPLETION CODES:
; 1086 !
; 1087 ! NONE.
; 1088 !
; 1089 ! SIDE EFFECTS:
; 1090 !
; 1091 ! NONE.
; 1092 !
; 1093 !--
; 1094
; 1095 begin
; 1096
; 1097 local LINEb;
; 1098 require 'XPTSYM';
; 1135 require 'MCBCOM';
; 1169
; 1170 !
; 1171 ! Get rid of the completed CCB
; 1172 !
; 1173
; 1174 TERMINATE(.CCB,0);
; 1175
; 1176 !
; 1177 ! If Transport is terminating and all lines are down, return the
; 1178 ! Terminate Transport function CCB.
; 1179 !
; 1180
; 1181 if .XPTflags eql 0 then
; 1182 if (decr J from NLN to 1 do begin
; 1183 LINEb = $XPT_GET_LINE_DB(.J);
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 30
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (15)
; 1184 if .LINEstate neq HA
; 1185 then exitloop 0
; 1186 end)
; 1187 eql -1 then begin
; 1188 CCB = .Tid; !Pick up the function CCB
; 1189 CCB[C_FNC] = FC_CCP; !Flag it "complete"
; 1190 CCB[C_STS] = CS_SUC; ! and "success"
; 1191 LLCRS$(.CCB); ! and send it off
; 1192 end;
; 1193
; 1194 end; !End of TERM_CMP
.GLOBL $SCHED
.SBTTL TERM.CMP
000000 010446 ; TERM.CMP
U.11: MOV R4,-(SP) ; CCB,* 1174
000002 005046 CLR -(SP)
000004 004767 000000G JSR PC,TERMINATE
000010 005765 000106 TST 106(R5) ; *(XPTDB) 1181
000014 001032 BNE 5$
000016 016502 000022 MOV 22(R5),R2 ; *(XPTDB),J 1182
000022 003411 BLE 3$
000024 010200 1$: MOV R2,R0 ; J,* 1183
000026 004767 000000G JSR PC,GTLINE
000032 010001 MOV R0,R1 ; *,LINEB
000034 105711 TSTB (R1) ; LINEB 1184
000036 001402 BEQ 2$
000040 005000 CLR R0 ; 1185
000042 000403 BR 4$
000044 077211 2$: SOB R2,1$ ; J,* 0000
000046 012700 177777 3$: MOV #-1,R0 ; 1182
000052 005200 4$: INC R0 ; 1187
000054 001012 BNE 5$
000056 016504 000056 MOV 56(R5),R4 ; *(XPTDB),CCB 1188
000062 112764 000022 000012 MOVB #22,12(R4) ; *,*(CCB) 1189
000070 012764 000001 000014 MOV #1,14(R4) ; *,*(CCB) 1190
000076 004767 000000G JSR PC,$SCHED ; 1191
000102 022626 5$: CMP (SP)+,(SP)+ ; 1095
000104 000207 RTS PC ; 1064
; Routine Size: 35 words, Routine Base: $CODE$ + 0432
; Maximum stack depth per invocation: 3 words
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 31
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (16)
; 1195
; 1196 routine LINE$DN (CCB): novalue =
; 1197
; 1198 !++
; 1199 ! FUNCTIONAL DESCRIPTION:
; 1200 !
; 1201 ! Calls the LINEDN routine in the Transport extension process.
; 1202 !
; 1203 ! FORMAL PARAMETERS
; 1204 !
; 1205 ! CCB Function CCB to be passed to the routine.
; 1206 !
; 1207 ! IMPLICIT INPUTS
; 1208 !
; 1209 ! NONE.
; 1210 !
; 1211 ! ROUTINE VALUE:
; 1212 ! COMPLETION CODES:
; 1213 !
; 1214 ! NONE.
; 1215 !
; 1216 ! SIDE EFFECTS:
; 1217 !
; 1218 ! NONE.
; 1219 !
; 1220 !--
; 1221
; 1222 begin
; 1223
; 1224 require 'XPTSYM';
; 1261
; 1262 CALL$XPE(LINEDN,.XPTDB,.CCB);
; 1263
; 1264 end; !End of LINE$DN
.SBTTL LINE$DN
000000 004167 000000G ; LINE$DN
U.13: JSR R1,$SAVE5 ; 1196
000004 012701 000000G MOV #LINEDN,R1 ; 1262
000010 016705 000002G MOV .CRDAT+2,R5
000014 016604 000016 MOV 16(SP),R4 ; CCB,*
000020 004767 000000V JSR PC,U.21
000024 000207 RTS PC ; 1196
; Routine Size: 11 words, Routine Base: $CODE$ + 0540
; Maximum stack depth per invocation: 7 words
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 32
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (17)
; 1265
; 1266 routine LINE$UP (CCB): novalue =
; 1267
; 1268 !++
; 1269 ! FUNCTIONAL DESCRIPTION:
; 1270 !
; 1271 !
; 1272 ! FORMAL PARAMETERS
; 1273 !
; 1274 ! CCB Function CCB to be passed to the routine.
; 1275 !
; 1276 ! IMPLICIT INPUTS
; 1277 !
; 1278 ! NONE.
; 1279 !
; 1280 ! ROUTINE VALUE:
; 1281 ! COMPLETION CODES:
; 1282 !
; 1283 ! NONE.
; 1284 !
; 1285 ! SIDE EFFECTS:
; 1286 !
; 1287 ! NONE.
; 1288 !
; 1289 !--
; 1290
; 1291 begin
; 1292
; 1293 require 'XPTSYM';
; 1330
; 1331 CALL$XPE(LINEUP,.XPTDB,.CCB);
; 1332
; 1333 end; !End of LINE$UP
.SBTTL LINE$UP
000000 004167 000000G ; LINE$UP
U.14: JSR R1,$SAVE5 ; 1266
000004 012701 000000G MOV #LINEUP,R1 ; 1331
000010 016705 000002G MOV .CRDAT+2,R5
000014 016604 000016 MOV 16(SP),R4 ; CCB,*
000020 004767 000000V JSR PC,U.21
000024 000207 RTS PC ; 1266
; Routine Size: 11 words, Routine Base: $CODE$ + 0566
; Maximum stack depth per invocation: 7 words
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 33
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (18)
; 1334
; 1335 routine OPEN$T (XPTDB,CCB): MCB_DB_CCB novalue =
; 1336
; 1337 !++
; 1338 ! FUNCTIONAL DESCRIPTION:
; 1339 !
; 1340 !
; 1341 ! FORMAL PARAMETERS
; 1342 !
; 1343 ! XPTDB Address of Transport's data base
; 1344 ! CCB Function CCB to be passed to the routine.
; 1345 !
; 1346 ! IMPLICIT INPUTS
; 1347 !
; 1348 ! NONE.
; 1349 !
; 1350 ! ROUTINE VALUE:
; 1351 ! COMPLETION CODES:
; 1352 !
; 1353 ! NONE.
; 1354 !
; 1355 ! SIDE EFFECTS:
; 1356 !
; 1357 ! NONE.
; 1358 !
; 1359 !--
; 1360
; 1361 begin
; 1362
; 1363 require 'XPTSYM';
; 1400
; 1401 CALL$XPE(OPENT,.XPTDB,.CCB);
; 1402
; 1403 end; !End of OPEN$T
.SBTTL OPEN$T
000000 012701 000000G ; OPEN$T
U.15: MOV #OPENT,R1 ; 1401
000004 004767 000000V JSR PC,U.21
000010 000207 RTS PC ; 1335
; Routine Size: 5 words, Routine Base: $CODE$ + 0614
; Maximum stack depth per invocation: 1 word
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 34
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (19)
; 1404
; 1405 routine CLOSE$T (XPTDB,CCB): MCB_DB_CCB novalue =
; 1406
; 1407 !++
; 1408 ! FUNCTIONAL DESCRIPTION:
; 1409 !
; 1410 !
; 1411 ! FORMAL PARAMETERS
; 1412 !
; 1413 ! XPTDB Address of Transport's data base
; 1414 ! CCB Function CCB to be passed to the routine.
; 1415 !
; 1416 ! IMPLICIT INPUTS
; 1417 !
; 1418 ! NONE.
; 1419 !
; 1420 ! ROUTINE VALUE:
; 1421 ! COMPLETION CODES:
; 1422 !
; 1423 ! NONE.
; 1424 !
; 1425 ! SIDE EFFECTS:
; 1426 !
; 1427 ! NONE.
; 1428 !
; 1429 !--
; 1430
; 1431 begin
; 1432
; 1433 require 'XPTSYM';
; 1470
; 1471 CALL$XPE(CLOSET,.XPTDB,.CCB);
; 1472
; 1473 end; !End of CLOSE$T
.SBTTL CLOSE$T
000000 012701 000000G ; CLOSE$T
U.16: MOV #CLOSET,R1 ; 1471
000004 004767 000000V JSR PC,U.21
000010 000207 RTS PC ; 1405
; Routine Size: 5 words, Routine Base: $CODE$ + 0626
; Maximum stack depth per invocation: 1 word
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 35
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (20)
; 1474
; 1475 routine INIT$XPT (XPTDB,CCB): MCB_DB_CCB novalue =
; 1476
; 1477 !++
; 1478 ! FUNCTIONAL DESCRIPTION:
; 1479 !
; 1480 !
; 1481 ! FORMAL PARAMETERS
; 1482 !
; 1483 ! XPTDB Address of Transport's data base
; 1484 ! CCB Function CCB to be passed to the routine.
; 1485 !
; 1486 ! IMPLICIT INPUTS
; 1487 !
; 1488 ! NONE.
; 1489 !
; 1490 ! ROUTINE VALUE:
; 1491 ! COMPLETION CODES:
; 1492 !
; 1493 ! NONE.
; 1494 !
; 1495 ! SIDE EFFECTS:
; 1496 !
; 1497 ! NONE.
; 1498 !
; 1499 !--
; 1500
; 1501 begin
; 1502
; 1503 require 'XPTSYM';
; 1540
; 1541 CALL$XPE(INIT_XPT,.XPTDB,.CCB);
; 1542 ROUTESaddr = _ROUTES;
; 1543
; 1544 end; !End of INIT$XPT
.SBTTL INIT$XPT
000000 010546 ; INIT$XPT
U.17: MOV R5,-(SP) ; 1475
000002 012701 000000G MOV #INIT.XPT,R1 ; 1541
000006 004767 000000V JSR PC,U.21
000012 012600 MOV (SP)+,R0 ; 1542
000014 012760 000000V 000146 MOV #U.20,146(R0)
000022 000207 RTS PC ; 1475
; Routine Size: 10 words, Routine Base: $CODE$ + 0640
; Maximum stack depth per invocation: 2 words
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 36
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (21)
; 1545
; 1546 routine NM$XPT (XPTDB,CCB): MCB_DB_CCB novalue =
; 1547
; 1548 !++
; 1549 ! FUNCTIONAL DESCRIPTION:
; 1550 !
; 1551 !
; 1552 ! FORMAL PARAMETERS
; 1553 !
; 1554 ! XPTDB Address of Transport's data base
; 1555 ! CCB Function CCB to be passed to the routine.
; 1556 !
; 1557 ! IMPLICIT INPUTS
; 1558 !
; 1559 ! NONE.
; 1560 !
; 1561 ! ROUTINE VALUE:
; 1562 ! COMPLETION CODES:
; 1563 !
; 1564 ! NONE.
; 1565 !
; 1566 ! SIDE EFFECTS:
; 1567 !
; 1568 ! NONE.
; 1569 !
; 1570 !--
; 1571
; 1572 begin
; 1573
; 1574 require 'XPTSYM';
; 1611
; 1612 CALL$XPE(XPE_NM,.XPTDB,.CCB);
; 1613
; 1614 end; !End of NM$XPT
.SBTTL NM$XPT
000000 012701 000000G ; NM$XPT
U.18: MOV #XPE.NM,R1 ; 1612
000004 004767 000000V JSR PC,U.21
000010 000207 RTS PC ; 1546
; Routine Size: 5 words, Routine Base: $CODE$ + 0664
; Maximum stack depth per invocation: 1 word
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 37
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (22)
; 1615
; 1616 routine TERM$XPT (XPTDB,CCB): MCB_DB_CCB novalue =
; 1617
; 1618 !++
; 1619 ! FUNCTIONAL DESCRIPTION:
; 1620 !
; 1621 !
; 1622 ! FORMAL PARAMETERS
; 1623 !
; 1624 ! XPTDB Address of Transport's data base
; 1625 ! CCB Function CCB to be passed to the routine.
; 1626 !
; 1627 ! IMPLICIT INPUTS
; 1628 !
; 1629 ! NONE.
; 1630 !
; 1631 ! ROUTINE VALUE:
; 1632 ! COMPLETION CODES:
; 1633 !
; 1634 ! NONE.
; 1635 !
; 1636 ! SIDE EFFECTS:
; 1637 !
; 1638 ! NONE.
; 1639 !
; 1640 !--
; 1641
; 1642 begin
; 1643
; 1644 require 'XPTSYM';
; 1681
; 1682 CALL$XPE(TERM_XPT,.XPTDB,.CCB);
; 1683
; 1684 end; !End of TERM$XPT
.SBTTL TERM$XPT
000000 012701 000000G ; TERM$XPT
U.19: MOV #TERM.XPT,R1 ; 1682
000004 004767 000000V JSR PC,U.21
000010 000207 RTS PC ; 1616
; Routine Size: 5 words, Routine Base: $CODE$ + 0676
; Maximum stack depth per invocation: 1 word
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 38
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (23)
; 1685
; 1686 global
; 1687 routine _ROUTES: novalue =
; 1688
; 1689 !++
; 1690 ! FUNCTIONAL DESCRIPTION:
; 1691 !
; 1692 ! This routine is redispatched on a SYNCH when ROUTES can't do all its work
; 1693 ! in one try. It does a CALL$E to ROUTES.
; 1694 !
; 1695 ! FORMAL PARAMETERS
; 1696 !
; 1697 ! NONE.
; 1698 !
; 1699 ! IMPLICIT INPUTS
; 1700 !
; 1701 ! NONE.
; 1702 !
; 1703 ! ROUTINE VALUE:
; 1704 ! COMPLETION CODES:
; 1705 !
; 1706 ! NONE.
; 1707 !
; 1708 ! SIDE EFFECTS:
; 1709 !
; 1710 ! NONE.
; 1711 !
; 1712 !--
; 1713
; 1714 begin
; 1715
; 1716 require 'XPTSYM';
; 1753 external routine ROUTES;
; 1754
; 1755 CALL$E(ROUTES,PD_XPE);
; 1756
; 1757 end; !End of _ROUTES
.GLOBL ROUTES, $CALLE
.SBTTL .ROUTES
000000 005046 .ROUTES::
U.20: CLR -(SP) ; 1755
000002 012746 000000G MOV #ROUTES,-(SP)
000006 016700 000002G MOV .CRDAT+2,R0
000012 005046 CLR -(SP)
000014 116016 000002 MOVB 2(R0),(SP)
000020 004767 000000G JSR PC,$CALLE
000024 062706 000006 ADD #6,SP ; 1714
000030 000207 RTS PC ; 1687
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 39
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (23)
; Routine Size: 13 words, Routine Base: $CODE$ + 0710
; Maximum stack depth per invocation: 4 words
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 40
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (24)
; 1758
; 1759 routine CALL$XPE (ADR,XPTDB,CCB): XPT_LKG_ADR_DB_CCB novalue =
; 1760
; 1761 !++
; 1762 ! FUNCTIONAL DESCRIPTION:
; 1763 !
; 1764 !
; 1765 ! FORMAL PARAMETERS
; 1766 !
; 1767 ! ADR Address of routine to call in XPE
; 1768 ! XPTDB Address of Transport's data base
; 1769 ! CCB Function CCB to be passed to the routine.
; 1770 !
; 1771 ! IMPLICIT INPUTS
; 1772 !
; 1773 ! NONE.
; 1774 !
; 1775 ! ROUTINE VALUE:
; 1776 ! COMPLETION CODES:
; 1777 !
; 1778 ! NONE.
; 1779 !
; 1780 ! SIDE EFFECTS:
; 1781 !
; 1782 ! NONE.
; 1783 !
; 1784 !--
; 1785
; 1786 begin
; 1787 bind routine XPE_RTN = .ADR;
; 1788 require 'XPTSYM';
; 1825
; 1826 CALL$E(XPE_RTN,(PD_XPE),.CCB);
; 1827
; 1828 end; !End of CALL$XPE
.SBTTL CALL$XPE
000000 010446 ; CALL$XPE
U.21: MOV R4,-(SP) ; CCB,* 1826
000002 012746 000001 MOV #1,-(SP)
000006 010146 MOV R1,-(SP) ; ADR,*
000010 005046 CLR -(SP)
000012 116516 000002 MOVB 2(R5),(SP) ; *(XPTDB),*
000016 004767 000000G JSR PC,$CALLE
000022 062706 000010 ADD #10,SP ; 1786
000026 000207 RTS PC ; 1759
; Routine Size: 12 words, Routine Base: $CODE$ + 0742
; Maximum stack depth per invocation: 5 words
; 1829
XPTITF 25-Jan-1983 09:49:38 TOPS-20 Bliss-16 2A(530) Page 41
X01270 30-Dec-1982 21:30:05 NETPKG:<XPT>XPTITF.BLI.8 (24)
; 1830 end !End of module XPTITF
; 1831 eludom
; OTS external references
.GLOBL $SAVE5
; PSECT SUMMARY
;
; Psect Name Words Attributes
; $PLIT$ 37 RO , D , LCL, REL, CON
; ...... 16 RW , D , LCL, REL, CON
; $CODE$ 253 RO , I , LCL, REL, CON
; LIBRARY STATISTICS
;
; -------- Symbols -------- Blocks
; File Total Loaded Percent Read
;
; NETPKG:<MCB>XPORTX.L16.15 599 0 0 0
; NETPKG:<MCB>MCBLIB.L16.15 372 62 16 0
; NETPKG:<MCB>NMXLIB.L16.13 200 0 0 0
; NETPKG:<XPT>XPTLIB.L16.3 510 164 32 0
; Size: 253 code + 53 data words
; Run Time: 00:13.1
; Elapsed Time: 00:51.6
; Memory Used: 36 pages
; Compilation Complete