Trailing-Edge
-
PDP-10 Archives
-
BB-R598A-RM_1983
-
swskit-v3/listings/vnp36/mcbfnc.list
There are no other files named mcbfnc.list in the archive.
e COMMLINK usage to LINE
! 02 - Add CTL$DF parameters
!--
!
! TABLE OF CONTENTS
!
FORWARD RO 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 1
1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (1)
; 0001 !NET:<DECNET20-V3P0.TKB-VNP.VNPV3>MCBFNC.BLI.162 13-Feb-81 14:16:19, Edit by SROBINSON
; 0002 !NET:<DECNET20-V3P0.TKB-VNP.VNPV3>MCBFNC.BLI.160 10-Dec-80 11:50:07, Edit by SROBINSON
; 0003 !<DECNET20-V3P0.TKB-VNP.VNPV3>MCBFNC.BLI.158, 26-Aug-80 13:12:53, Edit by SROBINSON
; 0004 !<DECNET20-V3P0.TKB-VNP.VNPV3>MCBFNC.BLI.157, 25-Aug-80 14:44:48, Edit by SROBINSON
; 0005 !<DECNET20-V3P0.TKB-VNP.VNPV3>MCBFNC.BLI.155, 21-Jul-80 07:47:31, Edit by SROBINSON
; 0006 !<DECNET20-V3P0.TKB-VNP.VNPV3>MCBFNC.BLI.38, 3-Jul-80 09:28:27, Edit by SROBINSON
; 0007 MODULE MCBFNC ( !MCB Related Functions
; 0008 IDENT = 'X03020'
; 0009 ) =
; 0010 BEGIN
; 0011 !
; 0012 ! COPYRIGHT (c) 1980, 1981, 1982
; 0013 ! DIGITAL EQUIPMENT CORPORATION
; 0014 ! Maynard, Massachusetts
; 0015 !
; 0016 ! This software is furnished under a license and may be used
; 0017 ! and copied only in accordance with the terms of such license
; 0018 ! and with the inclusion of the above copyright notice. This
; 0019 ! software or any other copies thereof may not be provided or
; 0020 ! otherwise made available to any other person. No title to
; 0021 ! and ownership of the software is hereby transferred.
; 0022 !
; 0023 ! The information in this software is subject to change
; 0024 ! without notice and should not be construed as a commitment
; 0025 ! by DIGITAL EQUIPMENT CORPORATION.
; 0026 !
; 0027 ! DIGITAL assumes no responsibility for the use or reliability
; 0028 ! of its software on equipment which is not supplied by
; 0029 ! DIGITAL.
; 0030 !
; 0031
; 0032 !++
; 0033 ! FACILITY: MCB Configuration Facility, VNP36
; 0034 !
; 0035 ! ABSTRACT:
; 0036 !
; 0037 ! This module contains all routines associated with MCB process database
; 0038 ! construction.
; 0039 !
; 0040 ! ENVIRONMENT: TOPS-20 or TOPS-10 User Mode
; 0041 !
; 0042 ! AUTHOR: Scott G. Robinson , CREATION DATE: 14-Apr-80
; 0043 !
; 0044 ! MODIFIED BY:
; 0045 !
; 0046 ! , : VERSION
; 0047 ! 01 - Change COMMLINK usage to LINE
; 0048 ! 02 - Add CTL$DF parameters
; 0049 !--
; 0050
; 0051 !
; 0052 ! TABLE OF CONTENTS
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 2
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (1)
; 0053 !
; 0054
; 0055 FORWARD ROUTINE
; 0056 LODMCB : NOVALUE,
; 0057 LLC_LOADS,
; 0058 DLC_LOADS : NOVALUE,
; 0059 DDM_LOADS : NOVALUE,
; 0060 BLOCK_LOAD : NOVALUE,
; 0061 GET_VARIABLE,
; 0062 NEXT_LIX,
; 0063 MCEX : NOVALUE,
; 0064 ALOC_POOL,
; 0065 LD_DCB;
; 0066
; 0067 !
; 0068 ! INCLUDE FILES:
; 0069 !
; 0070
; 0071 LIBRARY 'VNPLIB';
; 0072
; 0073 !
; 0074 ! MACROS:
; 0075 !
; 0076 ! None
; 0077 !
; 0078 ! EQUATED SYMBOLS:
; 0079 !
; 0080
; 0081 LITERAL
; 0082 TRUE = 1 EQL 1,
; 0083 FALSE = 0 EQL 1,
; 0084 DEBUG = FALSE;
; 0085
; 0086 !
; 0087 ! OWN STORAGE:
; 0088 !
; 0089
; 0090 OWN
; 0091 !
; 0092 ! Variables used by BLOCK_LOAD
; 0093 !
; 0094 CURBLK, !Current Allocated Block Addr
; 0095 CURBAS, !Current Block Base Address
; 0096 CURMAX, !Current Maximum Address
; 0097 CURLIX, !Current Line Index
; 0098 CURSLT : REF SLT_BLOCK, !Pointer to Current SLT
; 0099 CURDEV : REF DEV_BLOCK, !Pointer to Current DEV
; 0100 CURCTL : REF CTL_BLOCK, !Pointer to Current CTL
; 0101 CURUNT : REF UNT_BLOCK, !Pointer to Current UNT
; 0102 CURTRB : REF TRB_BLOCK; !Pointer to Current TRB
; 0103
; 0104 !
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 3
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (1)
; 0105 ! EXTERNAL REFERENCES:
; 0106 !
; 0107
; 0108 EXTERNAL ROUTINE
; 0109 ALOCB, !Allocate some Executive Storage
; 0110 DEACB, !Deallocate some Executive Storage
; 0111 GETBLK, !Allocate a 'typed' block
; 0112 FND_CHAIN, !Search a Chain
; 0113 M_PCB, !Build a Partition Control Block
; 0114 ERRMSG : NOVALUE, !Write an error message
; 0115 ERROR : NOVALUE, !Write a fatal error message
; 0116 GETWRD, !Get a word of PDP-11 Memory
; 0117 PUTWRD : NOVALUE, !Write into a word of PDP-11 Memory
; 0118 GETBYT, !Get a byte of PDP-11 Memory
; 0119 PUTBYT : NOVALUE, !Write into a byte of PDP-11 Memory
; 0120 OUTNUM : NOVALUE, !Output a Number
; 0121 OUTPUT : NOVALUE, !Output a Character
; 0122 OUTSTR : NOVALUE, !Output a String
; 0123 R50TOA : NOVALUE, !Conver R50 to ASCII
; 0124 PCRLF : NOVALUE, !Output a CR/LF
; 0125 RCOR : NOVALUE, !Read a task's image
; 0126 FCOR : NOVALUE, !Free the memory used by RCOR
; 0127 RSTB : NOVALUE, !Read a task's symbol table
; 0128 SYM_VAL, !Return a symbols value
; 0129 LNKDCB : NOVALUE, !Link a DCB into executive
; 0130 $CBOMG; !Convert Binary to Octal ASCII
; 0131
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 4
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (2)
; 0132 GLOBAL ROUTINE LODMCB (KERNEL_FILE, GEN_PCB, FILE_CHAN, VALUES) : NOVALUE =
; 0133
; 0134 !++
; 0135 ! FUNCTIONAL DESCRIPTION:
; 0136 !
; 0137 ! Load MCB process's data bases according to system configuration
; 0138 !
; 0139 ! FORMAL PARAMETERS
; 0140 !
; 0141 ! NONE.
; 0142 !
; 0143 ! IMPLICIT INPUTS
; 0144 !
; 0145 ! NONE.
; 0146 !
; 0147 ! ROUTINE VALUE:
; 0148 ! COMPLETION CODES:
; 0149 !
; 0150 ! NONE.
; 0151 !
; 0152 ! SIDE EFFECTS:
; 0153 !
; 0154 ! NONE.
; 0155 !
; 0156 !--
; 0157
; 0158 BEGIN
; 0159
; 0160 BIND
; 0161 ROUTINE_NAME = UPLIT (%ASCIZ'LOAD_MCB');
; 0162
; 0163 MAP
; 0164 KERNEL_FILE : REF FILE_BLOCK,
; 0165 VALUES : REF VNPVAL_BLOCK;
; 0166
; 0167 LOCAL
; 0168 PAR_BLK : VECTOR [4]; !Global Parameter Block
; 0169
; 0170 !
; 0171 ! Initialize Variables
; 0172 !
; 0173 CURBLK = 0; !Current Allocated Block Addr
; 0174 CURBAS = 0; !Current Block Base Address
; 0175 CURMAX = 0; !Current Maximum Address
; 0176 CURLIX = 0; !Current Line Index
; 0177 CURSLT = 0; !Pointer to Current SLT
; 0178 CURDEV = 0; !Pointer to Current DEV
; 0179 CURCTL = 0; !Pointer to Current CTL
; 0180 CURUNT = 0; !Pointer to Current UNT
; 0181 CURTRB = 0; !Pointer to Current TRB
; 0182 !
; 0183 KERNEL_FILE [FILE_HWM] = (.KERNEL_FILE [FILE_HWM] + 1) AND ( NOT 1);
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 5
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (2)
; 0184 !
; 0185 ! Start by loading the LLC data bases
; 0186 !
; 0187 PAR_BLK [0] = .GEN_PCB;
; 0188 PAR_BLK [1] = .KERNEL_FILE;
; 0189 PAR_BLK [2] = .VALUES;
; 0190 PAR_BLK [3] = .FILE_CHAN;
; 0191 FND_CHAIN (.VALUES [LLC_CHAIN], LLC_LOADS, PAR_BLK);
; 0192 !
; 0193 ! Load the DLC data bases
; 0194 !
; 0195 DLC_LOADS (.KERNEL_FILE, .FILE_CHAN, .VALUES);
; 0196 !
; 0197 ! Load the DDM data bases
; 0198 !
; 0199 DDM_LOADS (.KERNEL_FILE, .FILE_CHAN, .VALUES);
; 0200 !
; 0201 ! We are done loading data base items, round up the high water mark
; 0202 ! of the KERNEL so that the database partition size can be set
; 0203 ! correctly.
; 0204 !
; 0205 KERNEL_FILE [FILE_HWM] = ((.KERNEL_FILE [FILE_HWM] + 64) AND ( NOT 63)) - 1;
; 0206 !
; 0207 END; ! of LODMCB
TITLE MCBFNC
TWOSEG
.REQUEST SYS:B362LB.REL
RELOC 400000 ; 400000'
P.AAA: BYTE (7)"L","O","A","D","_" ; LOAD_ 400000' 114 117 101 104 137
BYTE (7)"M","C","B",000,000 ; MCB 400001' 115 103 102 000 000
RELOC 0 ; 000000'
CURBLK: BLOCK 1 ; 000000'
CURBAS: BLOCK 1 ; 000001'
CURMAX: BLOCK 1 ; 000002'
CURLIX: BLOCK 1 ; 000003'
CURSLT: BLOCK 1 ; 000004'
CURDEV: BLOCK 1 ; 000005'
CURCTL: BLOCK 1 ; 000006'
CURUNT: BLOCK 1 ; 000007'
CURTRB: BLOCK 1 ; 000010'
EXTERN ALOCB, DEACB, GETBLK, FND_CHAIN, M_PCB, ERRMSG, ERROR, GETWRD, PUTWRD, GETBYT, PUTBYT
EXTERN OUTNUM, OUTPUT, OUTSTR, R50TOA, PCRLF, RCOR, FCOR, RSTB, SYM_VAL, LNKDCB, $CBOMG
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 6
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (2)
ROUTINE_NAME= P.AAA ; 000000 400000'
AC0= 0
AC1= 1
AC2= 2
AC3= 3
AC4= 4
AC5= 5
AC6= 6
AC7= 7
AC10= 10
AC11= 11
AC12= 12
AC13= 13
AC14= 14
FP= 15
AC16= 16
SP= 17
RELOC 400002 ; 400002'
LODMCB::PUSH SP,AC0 ; SP,AC0 400002' 261 17 0 00 000000 0132
PUSH SP,AC10 ; SP,AC10 400003' 261 17 0 00 000010
ADJSP SP,4 ; SP,4 400004' 105 17 0 00 000004
SETZM CURBLK ; CURBLK 400005' 402 00 0 00 000000' 0173
SETZM CURBAS ; CURBAS 400006' 402 00 0 00 000001' 0174
SETZM CURMAX ; CURMAX 400007' 402 00 0 00 000002' 0175
SETZM CURLIX ; CURLIX 400010' 402 00 0 00 000003' 0176
SETZM CURSLT ; CURSLT 400011' 402 00 0 00 000004' 0177
SETZM CURDEV ; CURDEV 400012' 402 00 0 00 000005' 0178
SETZM CURCTL ; CURCTL 400013' 402 00 0 00 000006' 0179
SETZM CURUNT ; CURUNT 400014' 402 00 0 00 000007' 0180
SETZM CURTRB ; CURTRB 400015' 402 00 0 00 000010' 0181
MOVE AC10,-12(SP) ; AC10,KERNEL_FILE 400016' 200 10 0 17 777766 0183
MOVE AC1,16(AC10) ; AC1,16(AC10) 400017' 200 01 0 10 000016
ADDI AC1,1 ; AC1,1 400020' 271 01 0 00 000001
TRZ AC1,1 ; AC1,1 400021' 620 01 0 00 000001
MOVEM AC1,16(AC10) ; AC1,16(AC10) 400022' 202 01 0 10 000016
MOVE AC0,-11(SP) ; AC0,GEN_PCB 400023' 200 00 0 17 777767 0187
MOVEM AC0,-3(SP) ; AC0,PAR_BLK 400024' 202 00 0 17 777775
MOVEM AC10,-2(SP) ; AC10,PAR_BLK+1 400025' 202 10 0 17 777776 0188
MOVE AC0,-7(SP) ; AC0,VALUES 400026' 200 00 0 17 777771 0189
MOVEM AC0,-1(SP) ; AC0,PAR_BLK+2 400027' 202 00 0 17 777777
MOVE AC1,-10(SP) ; AC1,FILE_CHAN 400030' 200 01 0 17 777770 0190
MOVEM AC1,0(SP) ; AC1,PAR_BLK+3 400031' 202 01 0 17 000000
MOVE AC2,AC0 ; AC2,AC0 400032' 200 02 0 00 000000 0191
HLRZ AC1,1(AC2) ; AC1,1(AC2) 400033' 554 01 0 02 000001
PUSH SP,AC1 ; SP,AC1 400034' 261 17 0 00 000001
PUSH SP,C.1 ; SP,[0,,LLC_LOADS] 400035' 261 17 0 00 400063'
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 7
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (2)
MOVEI AC1,-5(SP) ; AC1,PAR_BLK 400036' 201 01 0 17 777773
PUSH SP,AC1 ; SP,AC1 400037' 261 17 0 00 000001
PUSHJ SP,FND_CHAIN ; SP,FND_CHAIN 400040' 260 17 0 00 000000*
MOVEM AC10,0(SP) ; AC10,0(SP) 400041' 202 10 0 17 000000 0195
PUSH SP,-13(SP) ; SP,FILE_CHAN 400042' 261 17 0 17 777765
PUSH SP,AC0 ; SP,AC0 400043' 261 17 0 00 000000
PUSHJ SP,DLC_LOADS ; SP,DLC_LOADS 400044' 260 17 0 00 000000V
MOVEM AC10,0(SP) ; AC10,0(SP) 400045' 202 10 0 17 000000 0199
PUSH SP,-15(SP) ; SP,FILE_CHAN 400046' 261 17 0 17 777763
PUSH SP,AC0 ; SP,AC0 400047' 261 17 0 00 000000
PUSHJ SP,DDM_LOADS ; SP,DDM_LOADS 400050' 260 17 0 00 000000V
MOVE AC1,16(AC10) ; AC1,16(AC10) 400051' 200 01 0 10 000016 0205
ADDI AC1,100 ; AC1,100 400052' 271 01 0 00 000100
TRZ AC1,77 ; AC1,77 400053' 620 01 0 00 000077
SUBI AC1,1 ; AC1,1 400054' 275 01 0 00 000001
MOVEM AC1,16(AC10) ; AC1,16(AC10) 400055' 202 01 0 10 000016
ADJSP SP,-7 ; SP,-7 400056' 105 17 0 00 777771 0158
ADJSP SP,-4 ; SP,-4 400057' 105 17 0 00 777774 0132
POP SP,AC10 ; SP,AC10 400060' 262 17 0 00 000010
POP SP,AC0 ; SP,AC0 400061' 262 17 0 00 000000
POPJ SP, ; SP, 400062' 263 17 0 00 000000
C.1: XWD 0,LLC_LOADS ; 0,LLC_LOADS 400063' 000000 000000V
; Routine Size: 50 words
; 0208
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 8
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (3)
; 0209 ROUTINE LLC_LOADS (LLC_PTR, PAR_BLK) =
; 0210
; 0211 !++
; 0212 ! FUNCTIONAL DESCRIPTION:
; 0213 !
; 0214 ! Load the LLC Data Bases for an MCB.
; 0215 !
; 0216 ! FORMAL PARAMETERS
; 0217 !
; 0218 ! LLC_PTR = Pointer to LLC_BLOCK
; 0219 ! PAR_VECTOR = Pointer to Parameter Vector
; 0220 !
; 0221 ! IMPLICIT INPUTS
; 0222 !
; 0223 ! NONE.
; 0224 !
; 0225 ! ROUTINE VALUE:
; 0226 !
; 0227 ! Always 0, so as to scan all LLC blocks
; 0228 !
; 0229 ! SIDE EFFECTS:
; 0230 !
; 0231 ! NONE.
; 0232 !
; 0233 !--
; 0234
; 0235 BEGIN
; 0236
; 0237 BIND
; 0238 ROUTINE_NAME = UPLIT (%ASCIZ'LLC_LOADS');
; 0239
; 0240 MAP
; 0241 LLC_PTR : REF LLC_BLOCK,
; 0242 PAR_BLK : REF VECTOR;
; 0243
; 0244 BIND
; 0245 GEN_PCB = PAR_BLK [0],
; 0246 KERNEL_FILE = PAR_BLK [1] : REF FILE_BLOCK,
; 0247 VALUES = PAR_BLK [2] : REF VNPVAL_BLOCK,
; 0248 FILE_CHAN = PAR_BLK [3];
; 0249
; 0250 LOCAL
; 0251 CB_ADDRESS,
; 0252 DB_FILE : REF FILE_BLOCK,
; 0253 DB_POINTER,
; 0254 LB_POINTER,
; 0255 MCB_NAME : VECTOR [CH$ALLOCATION (7)],
; 0256 MODU_PTR : REF MODU_BLOCK,
; 0257 PRIMARY_COMMAND,
; 0258 XXXNAME : VECTOR [CH$ALLOCATION (7)];
; 0259
; 0260 !
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 9
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (3)
; 0261 ! Tell someone what we are doing
; 0262 !
; 0263 OUTSTR (0, UPLIT (%ASCIZ'[Loading LLC Data Base for '));
; 0264 OUTSTR (0, LLC_PTR [LLC_NAME]);
; 0265 !
; 0266 ! Get data base file
; 0267 !
; 0268
; 0269 IF ((DB_FILE = GETBLK (FILE_TYP, FILE_LEN)) EQL 0)
; 0270 THEN
; 0271 ERRMSG (0, 1, ROUTINE_NAME, 0, 0, 0, 0)
; 0272 ELSE
; 0273 BEGIN
; 0274 !
; 0275 ! Build xxxLLC file name
; 0276 !
; 0277 CH$MOVE (LEN_MCB_NAME, CH$PTR (LLC_PTR [LLC_NAME]), CH$PTR (DB_FILE [FILE_NAME]));
; 0278 CH$MOVE (3, CH$PTR (UPLIT (%ASCIZ'LLC')),
; 0279 CH$FIND_CH (LEN_FILE_STRING, CH$PTR (DB_FILE [FILE_NAME]),
; 0280 0));
; 0281 RSTB (.FILE_CHAN, .DB_FILE);
; 0282 RCOR (.DB_FILE, .FILE_CHAN, 8*2048);
; 0283 !
; 0284 ! Printout Identification Information
; 0285 !
; 0286 R50TOA (GETWRD (.DB_FILE, 0), MCB_NAME);
; 0287 CH$MOVE (4, CH$PTR (MCB_NAME, 3), CH$PTR (MCB_NAME));
; 0288 OUTSTR (0, UPLIT (%ASCIZ' ('));
; 0289 OUTSTR (0, MCB_NAME);
; 0290 OUTPUT (0, %C' ');
; 0291 OUTNUM (0, GETBYT (.DB_FILE, 2), 10, 0);
; 0292 OUTPUT (0, %C'.');
; 0293 OUTNUM (0, GETBYT (.DB_FILE, 3), 10, 0);
; 0294 OUTSTR (0, UPLIT (%ASCIZ') --> '));
; 0295 !
; 0296 ! Process Primary Load Block Command
; 0297 !
; 0298 DB_POINTER = 4;
; 0299 PRIMARY_COMMAND = GETBYT (.DB_FILE, .DB_POINTER);
; 0300
; 0301 SELECTONE .PRIMARY_COMMAND OF
; 0302 SET
; 0303
; 0304 [CMD_ALLOC_DB_DSR] :
; 0305 CURBLK = ALOCB (.KERNEL_FILE, GETWRD (.DB_FILE, .DB_POINTER + 2), 0, .VALUES);
; 0306
; 0307 [CMD_ALLOC_DB_POOL] :
; 0308 CURBLK = ALOC_POOL (.KERNEL_FILE, GETWRD (.DB_FILE, .DB_POINTER + 2), 0, .VALUES);
; 0309
; 0310 [OTHERWISE] :
; 0311 ;
; 0312 TES;
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 10
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (3)
; 0313
; 0314 CURBAS = (.CURBLK AND ( NOT 63));
; 0315 CURMAX = .CURBLK + GETWRD (.DB_FILE, .DB_POINTER + 2);
; 0316 !
; 0317 ! Process the Load Block associated with this Primary Request
; 0318 !
; 0319 LB_POINTER = GETWRD (.DB_FILE, .DB_POINTER + 4);
; 0320 BLOCK_LOAD (.KERNEL_FILE, .DB_FILE, .LB_POINTER, .VALUES);
; 0321 !
; 0322 ! Store data base address in LLCxxx
; 0323 !
; 0324 CH$COPY (3, CH$PTR (UPLIT (%ASCIZ'LLC')), LEN_MCB_NAME, CH$PTR (LLC_PTR [LLC_NAME]), 0, 7,
; 0325 CH$PTR (XXXNAME));
; 0326 CB_ADDRESS = .VALUES [CE_DATA_BASE] + SYM_VAL (.VALUES [CE_DATA_FILE], XXXNAME, 0);
; 0327 PUTWRD (.KERNEL_FILE, .CB_ADDRESS, (IF (.CURBLK GEQ %O'120000') THEN .CURBAS<6, 12, 0> ELSE 0));
; 0328 PUTWRD (.KERNEL_FILE, .CB_ADDRESS + 2,
; 0329 (IF (.CURBLK GEQ %O'120000') THEN ((.CURBLK - .CURBAS) + %O'140000') ELSE .CURBLK));
; 0330 !
; 0331 ! Printout Task information
; 0332 !
; 0333 MODU_PTR = .DB_FILE [FILE_MODU];
; 0334 OUTSTR (0, MODU_PTR [MODU_NAME]);
; 0335 OUTPUT (0, %C' ');
; 0336 OUTSTR (0, MODU_PTR [MODU_IDENT]);
; 0337 OUTSTR (0, UPLIT (%ASCIZ' ]'));
; 0338 PCRLF (0);
; 0339 FCOR (.DB_FILE);
; 0340 END;
; 0341
; 0342 0
; 0343 END; ! of LLC_LOADS
P.AAB: BYTE (7)"L","L","C","_","L" ; LLC_L 400064' 114 114 103 137 114
BYTE (7)"O","A","D","S",000 ; OADS 400065' 117 101 104 123 000
P.AAC: BYTE (7)"[","L","o","a","d" ; [Load 400066' 133 114 157 141 144
BYTE (7)"i","n","g"," ","L" ; ing L 400067' 151 156 147 040 114
BYTE (7)"L","C"," ","D","a" ; LC Da 400070' 114 103 040 104 141
BYTE (7)"t","a"," ","B","a" ; ta Ba 400071' 164 141 040 102 141
BYTE (7)"s","e"," ","f","o" ; se fo 400072' 163 145 040 146 157
BYTE (7)"r"," ",000,000,000 ; r 400073' 162 040 000 000 000
P.AAD: BYTE (7)"L","L","C",000,000 ; LLC 400074' 114 114 103 000 000
P.AAE: BYTE (7)" ","(",000,000,000 ; ( 400075' 040 050 000 000 000
P.AAF: BYTE (7)")"," ","-","-",">" ; ) --> 400076' 051 040 055 055 076
BYTE (7)" ",000,000,000,000 ; 400077' 040 000 000 000 000
P.AAG: BYTE (7)"L","L","C",000,000 ; LLC 400100' 114 114 103 000 000
P.AAH: BYTE (7)" ","]",000,000,000 ; ] 400101' 040 135 000 000 000
ROUTINE_NAME= P.AAB ; 000000 400064'
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 11
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (3)
LLC_LOADS:
PUSH SP,AC0 ; SP,AC0 400102' 261 17 0 00 000000 0209
PUSH SP,AC10 ; SP,AC10 400103' 261 17 0 00 000010
PUSH SP,AC11 ; SP,AC11 400104' 261 17 0 00 000011
PUSH SP,AC12 ; SP,AC12 400105' 261 17 0 00 000012
PUSH SP,AC13 ; SP,AC13 400106' 261 17 0 00 000013
ADJSP SP,4 ; SP,4 400107' 105 17 0 00 000004
MOVE AC13,-12(SP) ; AC13,PAR_BLK 400110' 200 13 0 17 777766 0246
ADDI AC13,1 ; AC13,1 400111' 271 13 0 00 000001
MOVE AC10,-12(SP) ; AC10,PAR_BLK 400112' 200 10 0 17 777766 0247
ADDI AC10,2 ; AC10,2 400113' 271 10 0 00 000002
MOVE AC0,-12(SP) ; AC0,PAR_BLK 400114' 200 00 0 17 777766 0248
ADDI AC0,3 ; AC0,3 400115' 271 00 0 00 000003
PUSH SP,C.6 ; SP,[0] 400116' 261 17 0 00 400475' 0263
PUSH SP,C.7 ; SP,[0,,P.AAC] 400117' 261 17 0 00 400476'
PUSHJ SP,OUTSTR ; SP,OUTSTR 400120' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 400121' 402 00 0 17 000000 0264
MOVE AC12,-15(SP) ; AC12,LLC_PTR 400122' 200 12 0 17 777763
ADDI AC12,1 ; AC12,1 400123' 271 12 0 00 000001
PUSH SP,AC12 ; SP,AC12 400124' 261 17 0 00 000012
PUSHJ SP,OUTSTR ; SP,OUTSTR 400125' 260 17 0 00 000000*
PUSH SP,C.8 ; SP,[3] 400126' 261 17 0 00 400477' 0269
PUSH SP,C.9 ; SP,[20] 400127' 261 17 0 00 400500'
PUSHJ SP,GETBLK ; SP,GETBLK 400130' 260 17 0 00 000000*
MOVE AC11,AC1 ; DB_FILE,AC1 400131' 200 11 0 00 000001
ADJSP SP,-2 ; SP,-2 400132' 105 17 0 00 777776
JUMPN AC11,L.1 ; DB_FILE,L.1 400133' 326 11 0 00 400145'
SETZM 0(SP) ; 0(SP) 400134' 402 00 0 17 000000 0271
PUSH SP,C.10 ; SP,[1] 400135' 261 17 0 00 400501'
PUSH SP,C.11 ; SP,[0,,ROUTINE_NAME] 400136' 261 17 0 00 400502'
PUSH SP,C.6 ; SP,[0] 400137' 261 17 0 00 400475'
PUSH SP,C.6 ; SP,[0] 400140' 261 17 0 00 400475'
PUSH SP,C.6 ; SP,[0] 400141' 261 17 0 00 400475'
PUSH SP,C.6 ; SP,[0] 400142' 261 17 0 00 400475'
PUSHJ SP,ERRMSG ; SP,ERRMSG 400143' 260 17 0 00 000000*
JRST L.9 ; L.9 400144' 254 00 0 00 400457' 0269
L.1: MOVE AC1,AC12 ; AC1,AC12 400145' 200 01 0 00 000012 0277
MOVEI AC2,-1(AC1) ; AC2,-1(AC1) 400146' 201 02 0 01 777777
HRLI AC2,10700 ; AC2,10700 400147' 505 02 0 00 010700
MOVEI AC5,1(AC11) ; AC5,1(DB_FILE) 400150' 201 05 0 11 000001
HRLI AC5,10700 ; AC5,10700 400151' 505 05 0 00 010700
MOVEI AC1,3 ; AC1,3 400152' 201 01 0 00 000003
MOVEI AC4,3 ; AC4,3 400153' 201 04 0 00 000003
EXTEND AC1,C.2 ; AC1,[MOVSLJ ] 400154' 123 01 0 00 400470'
JFCL ; 400155' 255 00 0 00 000000
PUSH SP,C.12 ; SP,[50] 400156' 261 17 0 00 400503' 0280
MOVEI AC1,1(AC11) ; AC1,1(DB_FILE) 400157' 201 01 0 11 000001 0279
HRLI AC1,10700 ; AC1,10700 400160' 505 01 0 00 010700
PUSH SP,AC1 ; SP,AC1 400161' 261 17 0 00 000001
PUSH SP,C.6 ; SP,[0] 400162' 261 17 0 00 400475' 0280
PUSHJ SP,CHFCH% ; SP,CHFCH% 400163' 260 17 0 00 000000*
MOVE AC5,AC1 ; AC5,AC1 400164' 200 05 0 00 000001
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 12
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (3)
MOVEI AC1,3 ; AC1,3 400165' 201 01 0 00 000003 0278
MOVE AC2,C.13 ; AC2,[POINT 7,P.AAD-1,34] <1,7> 400166' 200 02 0 00 400504'
MOVEI AC4,3 ; AC4,3 400167' 201 04 0 00 000003
EXTEND AC1,C.2 ; AC1,[MOVSLJ ] 400170' 123 01 0 00 400470'
JFCL ; 400171' 255 00 0 00 000000
MOVE AC1,AC0 ; AC1,AC0 400172' 200 01 0 00 000000 0281
PUSH SP,0(AC1) ; SP,0(AC1) 400173' 261 17 0 01 000000
PUSH SP,AC11 ; SP,DB_FILE 400174' 261 17 0 00 000011
PUSHJ SP,RSTB ; SP,RSTB 400175' 260 17 0 00 000000*
MOVEM AC11,0(SP) ; DB_FILE,0(SP) 400176' 202 11 0 17 000000 0282
MOVE AC1,AC0 ; AC1,AC0 400177' 200 01 0 00 000000
PUSH SP,0(AC1) ; SP,0(AC1) 400200' 261 17 0 01 000000
PUSH SP,C.14 ; SP,[40000] 400201' 261 17 0 00 400505'
PUSHJ SP,RCOR ; SP,RCOR 400202' 260 17 0 00 000000*
MOVEM AC11,-1(SP) ; DB_FILE,-1(SP) 400203' 202 11 0 17 777777 0286
SETZM 0(SP) ; 0(SP) 400204' 402 00 0 17 000000
PUSHJ SP,GETWRD ; SP,GETWRD 400205' 260 17 0 00 000000*
PUSH SP,AC1 ; SP,AC1 400206' 261 17 0 00 000001
MOVEI AC0,-16(SP) ; AC0,MCB_NAME 400207' 201 00 0 17 777762
PUSH SP,AC0 ; SP,AC0 400210' 261 17 0 00 000000
PUSHJ SP,R50TOA ; SP,R50TOA 400211' 260 17 0 00 000000*
MOVEI AC2,-17(SP) ; AC2,MCB_NAME 400212' 201 02 0 17 777761 0287
HRLI AC2,170700 ; AC2,170700 400213' 505 02 0 00 170700
MOVEI AC5,-20(SP) ; AC5,MCB_NAME-1 400214' 201 05 0 17 777760
HRLI AC5,10700 ; AC5,10700 400215' 505 05 0 00 010700
MOVEI AC1,4 ; AC1,4 400216' 201 01 0 00 000004
MOVEI AC4,4 ; AC4,4 400217' 201 04 0 00 000004
EXTEND AC1,C.2 ; AC1,[MOVSLJ ] 400220' 123 01 0 00 400470'
JFCL ; 400221' 255 00 0 00 000000
SETZM 0(SP) ; 0(SP) 400222' 402 00 0 17 000000 0288
PUSH SP,C.15 ; SP,[0,,P.AAE] 400223' 261 17 0 00 400506'
PUSHJ SP,OUTSTR ; SP,OUTSTR 400224' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 400225' 402 00 0 17 000000 0289
MOVEI AC0,-20(SP) ; AC0,MCB_NAME 400226' 201 00 0 17 777760
PUSH SP,AC0 ; SP,AC0 400227' 261 17 0 00 000000
PUSHJ SP,OUTSTR ; SP,OUTSTR 400230' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 400231' 402 00 0 17 000000 0290
PUSH SP,C.16 ; SP,[40] 400232' 261 17 0 00 400507'
PUSHJ SP,OUTPUT ; SP,OUTPUT 400233' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 400234' 402 00 0 17 000000 0291
PUSH SP,AC11 ; SP,DB_FILE 400235' 261 17 0 00 000011
PUSH SP,C.17 ; SP,[2] 400236' 261 17 0 00 400510'
PUSHJ SP,GETBYT ; SP,GETBYT 400237' 260 17 0 00 000000*
ADJSP SP,-1 ; SP,-1 400240' 105 17 0 00 777777
MOVEM AC1,0(SP) ; AC1,0(SP) 400241' 202 01 0 17 000000
PUSH SP,C.18 ; SP,[12] 400242' 261 17 0 00 400511'
PUSH SP,C.6 ; SP,[0] 400243' 261 17 0 00 400475'
PUSHJ SP,OUTNUM ; SP,OUTNUM 400244' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 400245' 402 00 0 17 000000 0292
PUSH SP,C.19 ; SP,[56] 400246' 261 17 0 00 400512'
PUSHJ SP,OUTPUT ; SP,OUTPUT 400247' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 400250' 402 00 0 17 000000 0293
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 13
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (3)
PUSH SP,AC11 ; SP,DB_FILE 400251' 261 17 0 00 000011
PUSH SP,C.8 ; SP,[3] 400252' 261 17 0 00 400477'
PUSHJ SP,GETBYT ; SP,GETBYT 400253' 260 17 0 00 000000*
ADJSP SP,-1 ; SP,-1 400254' 105 17 0 00 777777
MOVEM AC1,0(SP) ; AC1,0(SP) 400255' 202 01 0 17 000000
PUSH SP,C.18 ; SP,[12] 400256' 261 17 0 00 400511'
PUSH SP,C.6 ; SP,[0] 400257' 261 17 0 00 400475'
PUSHJ SP,OUTNUM ; SP,OUTNUM 400260' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 400261' 402 00 0 17 000000 0294
PUSH SP,C.20 ; SP,[0,,P.AAF] 400262' 261 17 0 00 400513'
PUSHJ SP,OUTSTR ; SP,OUTSTR 400263' 260 17 0 00 000000*
MOVEI AC0,4 ; DB_POINTER,4 400264' 201 00 0 00 000004 0298
MOVEM AC11,-1(SP) ; DB_FILE,-1(SP) 400265' 202 11 0 17 777777 0299
MOVEM AC0,0(SP) ; DB_POINTER,0(SP) 400266' 202 00 0 17 000000
PUSHJ SP,GETBYT ; SP,GETBYT 400267' 260 17 0 00 000000*
CAIE AC1,20 ; PRIMARY_COMMAND,20 400270' 302 01 0 00 000020 0301
JRST L.2 ; L.2 400271' 254 00 0 00 400306'
PUSH SP,0(AC13) ; SP,0(AC13) 400272' 261 17 0 13 000000 0305
PUSH SP,AC11 ; SP,DB_FILE 400273' 261 17 0 00 000011
MOVE AC1,AC0 ; AC1,DB_POINTER 400274' 200 01 0 00 000000
ADDI AC1,2 ; AC1,2 400275' 271 01 0 00 000002
PUSH SP,AC1 ; SP,AC1 400276' 261 17 0 00 000001
PUSHJ SP,GETWRD ; SP,GETWRD 400277' 260 17 0 00 000000*
ADJSP SP,-1 ; SP,-1 400300' 105 17 0 00 777777
MOVEM AC1,0(SP) ; AC1,0(SP) 400301' 202 01 0 17 000000
PUSH SP,C.6 ; SP,[0] 400302' 261 17 0 00 400475'
PUSH SP,0(AC10) ; SP,0(AC10) 400303' 261 17 0 10 000000
PUSHJ SP,ALOCB ; SP,ALOCB 400304' 260 17 0 00 000000*
JRST L.3 ; L.3 400305' 254 00 0 00 400323'
L.2: CAIE AC1,21 ; PRIMARY_COMMAND,21 400306' 302 01 0 00 000021 0301
JRST L.4 ; L.4 400307' 254 00 0 00 400325'
PUSH SP,0(AC13) ; SP,0(AC13) 400310' 261 17 0 13 000000 0308
PUSH SP,AC11 ; SP,DB_FILE 400311' 261 17 0 00 000011
MOVE AC1,AC0 ; AC1,DB_POINTER 400312' 200 01 0 00 000000
ADDI AC1,2 ; AC1,2 400313' 271 01 0 00 000002
PUSH SP,AC1 ; SP,AC1 400314' 261 17 0 00 000001
PUSHJ SP,GETWRD ; SP,GETWRD 400315' 260 17 0 00 000000*
ADJSP SP,-1 ; SP,-1 400316' 105 17 0 00 777777
MOVEM AC1,0(SP) ; AC1,0(SP) 400317' 202 01 0 17 000000
PUSH SP,C.6 ; SP,[0] 400320' 261 17 0 00 400475'
PUSH SP,0(AC10) ; SP,0(AC10) 400321' 261 17 0 10 000000
PUSHJ SP,ALOC_POOL ; SP,ALOC_POOL 400322' 260 17 0 00 000000V
L.3: MOVEM AC1,CURBLK ; AC1,CURBLK 400323' 202 01 0 00 000000'
ADJSP SP,-4 ; SP,-4 400324' 105 17 0 00 777774
L.4: MOVE AC1,CURBLK ; AC1,CURBLK 400325' 200 01 0 00 000000' 0314
TRZ AC1,77 ; AC1,77 400326' 620 01 0 00 000077
MOVEM AC1,CURBAS ; AC1,CURBAS 400327' 202 01 0 00 000001'
MOVEM AC11,0(SP) ; DB_FILE,0(SP) 400330' 202 11 0 17 000000 0315
MOVE AC1,AC0 ; AC1,DB_POINTER 400331' 200 01 0 00 000000
ADDI AC1,2 ; AC1,2 400332' 271 01 0 00 000002
PUSH SP,AC1 ; SP,AC1 400333' 261 17 0 00 000001
PUSHJ SP,GETWRD ; SP,GETWRD 400334' 260 17 0 00 000000*
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 14
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (3)
ADD AC1,CURBLK ; AC1,CURBLK 400335' 270 01 0 00 000000'
MOVEM AC1,CURMAX ; AC1,CURMAX 400336' 202 01 0 00 000002'
MOVEM AC11,0(SP) ; DB_FILE,0(SP) 400337' 202 11 0 17 000000 0319
ADDI AC0,4 ; DB_POINTER,4 400340' 271 00 0 00 000004
PUSH SP,AC0 ; SP,DB_POINTER 400341' 261 17 0 00 000000
PUSHJ SP,GETWRD ; SP,GETWRD 400342' 260 17 0 00 000000*
PUSH SP,0(AC13) ; SP,0(AC13) 400343' 261 17 0 13 000000 0320
PUSH SP,AC11 ; SP,DB_FILE 400344' 261 17 0 00 000011
PUSH SP,AC1 ; SP,LB_POINTER 400345' 261 17 0 00 000001
MOVE AC10,0(AC10) ; AC10,0(AC10) 400346' 200 10 0 10 000000
PUSH SP,AC10 ; SP,AC10 400347' 261 17 0 00 000010
PUSHJ SP,BLOCK_LOAD ; SP,BLOCK_LOAD 400350' 260 17 0 00 000000V
MOVE AC1,AC12 ; AC1,AC12 400351' 200 01 0 00 000012 0324
MOVEI AC0,-1(AC1) ; AC0,-1(AC1) 400352' 201 00 0 01 777777
HRLI AC0,10700 ; AC0,10700 400353' 505 00 0 00 010700
MOVEI AC3,7 ; AC3,7 400354' 201 03 0 00 000007
MOVEI AC5,-37(SP) ; AC5,XXXNAME-1 400355' 201 05 0 17 777741 0325
HRLI AC5,10700 ; AC5,10700 400356' 505 05 0 00 010700
MOVEI AC1,3 ; AC1,3 400357' 201 01 0 00 000003 0324
MOVE AC2,C.21 ; AC2,[POINT 7,P.AAG-1,34] <1,7> 400360' 200 02 0 00 400514'
MOVE AC4,AC3 ; AC4,AC3 400361' 200 04 0 00 000003
CAML AC4,AC1 ; AC4,AC1 400362' 311 04 0 00 000001
MOVE AC4,AC1 ; AC4,AC1 400363' 200 04 0 00 000001
SUB AC3,AC4 ; AC3,AC4 400364' 274 03 0 00 000004
EXTEND AC1,C.2 ; AC1,[MOVSLJ ] 400365' 123 01 0 00 400470'
JFCL ; 400366' 255 00 0 00 000000
JUMPLE AC3,L.5 ; AC3,L.5 400367' 323 03 0 00 400375'
MOVEI AC1,3 ; AC1,3 400370' 201 01 0 00 000003
MOVE AC2,AC0 ; AC2,AC0 400371' 200 02 0 00 000000
MOVE AC4,AC3 ; AC4,AC3 400372' 200 04 0 00 000003
EXTEND AC1,C.3 ; AC1,C.3 400373' 123 01 0 00 400471'
JFCL ; 400374' 255 00 0 00 000000
L.5: HRRZ AC0,5(AC10) ; AC0,5(AC10) 400375' 550 00 0 10 000005 0326
PUSH SP,AC0 ; SP,AC0 400376' 261 17 0 00 000000
MOVEI AC0,-37(SP) ; AC0,XXXNAME 400377' 201 00 0 17 777741
PUSH SP,AC0 ; SP,AC0 400400' 261 17 0 00 000000
PUSH SP,C.6 ; SP,[0] 400401' 261 17 0 00 400475'
PUSHJ SP,SYM_VAL ; SP,SYM_VAL 400402' 260 17 0 00 000000*
MOVE AC0,AC1 ; CB_ADDRESS,AC1 400403' 200 00 0 00 000001
LDB AC2,C.4 ; AC2,[POINT 19,4(AC10),35] <0,19> 400404' 135 02 0 00 400473'
ADD AC0,AC2 ; CB_ADDRESS,AC2 400405' 270 00 0 00 000002
PUSH SP,0(AC13) ; SP,0(AC13) 400406' 261 17 0 13 000000 0327
PUSH SP,AC0 ; SP,CB_ADDRESS 400407' 261 17 0 00 000000
MOVEI AC1,120000 ; AC1,120000 400410' 201 01 0 00 120000
CAMLE AC1,CURBLK ; AC1,CURBLK 400411' 313 01 0 00 000000'
JRST L.6 ; L.6 400412' 254 00 0 00 400416'
LDB AC1,C.5 ; AC1,[POINT 12,CURBAS,29] <6,12> 400413' 135 01 0 00 400474'
PUSH SP,AC1 ; SP,AC1 400414' 261 17 0 00 000001
JRST L.7 ; L.7 400415' 254 00 0 00 400417'
L.6: PUSH SP,C.6 ; SP,[0] 400416' 261 17 0 00 400475'
L.7: PUSHJ SP,PUTWRD ; SP,PUTWRD 400417' 260 17 0 00 000000*
PUSH SP,0(AC13) ; SP,0(AC13) 400420' 261 17 0 13 000000 0328
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 15
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (3)
ADDI AC0,2 ; CB_ADDRESS,2 400421' 271 00 0 00 000002
PUSH SP,AC0 ; SP,CB_ADDRESS 400422' 261 17 0 00 000000
MOVE AC0,CURBLK ; AC0,CURBLK 400423' 200 00 0 00 000000' 0329
CAIGE AC0,120000 ; AC0,120000 400424' 305 00 0 00 120000
JRST L.8 ; L.8 400425' 254 00 0 00 400430'
SUB AC0,CURBAS ; AC0,CURBAS 400426' 274 00 0 00 000001'
ADDI AC0,140000 ; AC0,140000 400427' 271 00 0 00 140000
L.8: PUSH SP,AC0 ; SP,AC0 400430' 261 17 0 00 000000
PUSHJ SP,PUTWRD ; SP,PUTWRD 400431' 260 17 0 00 000000* 0328
HRRZ AC0,14(AC11) ; MODU_PTR,14(DB_FILE) 400432' 550 00 0 11 000014 0333
SETZM 0(SP) ; 0(SP) 400433' 402 00 0 17 000000 0334
MOVE AC1,AC0 ; AC1,MODU_PTR 400434' 200 01 0 00 000000
ADDI AC1,1 ; AC1,1 400435' 271 01 0 00 000001
PUSH SP,AC1 ; SP,AC1 400436' 261 17 0 00 000001
PUSHJ SP,OUTSTR ; SP,OUTSTR 400437' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 400440' 402 00 0 17 000000 0335
PUSH SP,C.16 ; SP,[40] 400441' 261 17 0 00 400507'
PUSHJ SP,OUTPUT ; SP,OUTPUT 400442' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 400443' 402 00 0 17 000000 0336
ADDI AC0,3 ; MODU_PTR,3 400444' 271 00 0 00 000003
PUSH SP,AC0 ; SP,MODU_PTR 400445' 261 17 0 00 000000
PUSHJ SP,OUTSTR ; SP,OUTSTR 400446' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 400447' 402 00 0 17 000000 0337
PUSH SP,C.22 ; SP,[0,,P.AAH] 400450' 261 17 0 00 400515'
PUSHJ SP,OUTSTR ; SP,OUTSTR 400451' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 400452' 402 00 0 17 000000 0338
PUSHJ SP,PCRLF ; SP,PCRLF 400453' 260 17 0 00 000000*
MOVEM AC11,0(SP) ; DB_FILE,0(SP) 400454' 202 11 0 17 000000 0339
PUSHJ SP,FCOR ; SP,FCOR 400455' 260 17 0 00 000000*
ADJSP SP,-41 ; SP,-41 400456' 105 17 0 00 777737 0273
L.9: ADJSP SP,-11 ; SP,-11 400457' 105 17 0 00 777767 0235
SETZ AC1, ; AC1, 400460' 400 01 0 00 000000 0209
ADJSP SP,-4 ; SP,-4 400461' 105 17 0 00 777774
POP SP,AC13 ; SP,AC13 400462' 262 17 0 00 000013
POP SP,AC12 ; SP,AC12 400463' 262 17 0 00 000012
POP SP,AC11 ; SP,AC11 400464' 262 17 0 00 000011
POP SP,AC10 ; SP,AC10 400465' 262 17 0 00 000010
POP SP,AC0 ; SP,AC0 400466' 262 17 0 00 000000
POPJ SP, ; SP, 400467' 263 17 0 00 000000
C.2: MOVSLJ ; 400470' 016 00 0 00 000000
C.3: MOVSLJ ; 400471' 016 00 0 00 000000
EXP 0 ; 0 400472' 000000 000000
C.4: POINT 19,4(AC10),35 ; 19,4(AC10),35 400473' 00 23 0 10 000004
C.5: POINT 12,CURBAS,29 ; 12,CURBAS,29 400474' 06 14 0 00 000001'
C.6: EXP 0 ; 0 400475' 000000 000000
C.7: XWD 0,P.AAC ; 0,P.AAC 400476' 000000 400066'
C.8: EXP 3 ; 3 400477' 000000 000003
C.9: EXP 20 ; 20 400500' 000000 000020
C.10: EXP 1 ; 1 400501' 000000 000001
C.11: XWD 0,ROUTINE_NAME ; 0,ROUTINE_NAME 400502' 000000 400064'
C.12: EXP 50 ; 50 400503' 000000 000050
C.13: POINT 7,P.AAD-1,34 ; 7,P.AAD-1,34 400504' 01 07 0 00 400073'
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 16
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (3)
C.14: EXP 40000 ; 40000 400505' 000000 040000
C.15: XWD 0,P.AAE ; 0,P.AAE 400506' 000000 400075'
C.16: EXP 40 ; 40 400507' 000000 000040
C.17: EXP 2 ; 2 400510' 000000 000002
C.18: EXP 12 ; 12 400511' 000000 000012
C.19: EXP 56 ; 56 400512' 000000 000056
C.20: XWD 0,P.AAF ; 0,P.AAF 400513' 000000 400076'
C.21: POINT 7,P.AAG-1,34 ; 7,P.AAG-1,34 400514' 01 07 0 00 400077'
C.22: XWD 0,P.AAH ; 0,P.AAH 400515' 000000 400101'
; Routine Size: 268 words
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 17
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (4)
; 0344 ROUTINE DLC_LOADS (KERNEL_FILE, FILE_CHAN, VALUES) : NOVALUE =
; 0345
; 0346 !++
; 0347 ! FUNCTIONAL DESCRIPTION:
; 0348 !
; 0349 ! Load DLC Process Data Bases for each SLT in the MCB.
; 0350 !
; 0351 ! FORMAL PARAMETERS
; 0352 !
; 0353 ! KERNEL_FILE - System Image File Descriptor
; 0354 ! FILE_CHAN - Channel to use for I/O
; 0355 ! VALUES - Misc Data Items
; 0356 !
; 0357 ! IMPLICIT INPUTS
; 0358 !
; 0359 ! NONE.
; 0360 !
; 0361 ! ROUTINE VALUE:
; 0362 !
; 0363 ! NONE.
; 0364 !
; 0365 ! SIDE EFFECTS:
; 0366 !
; 0367 ! NONE.
; 0368 !
; 0369 !--
; 0370
; 0371 BEGIN
; 0372
; 0373 BIND
; 0374 ROUTINE_NAME = UPLIT (%ASCIZ'DLC_LOADS');
; 0375
; 0376 MAP
; 0377 KERNEL_FILE : REF FILE_BLOCK,
; 0378 VALUES : REF VNPVAL_BLOCK;
; 0379
; 0380 LOCAL
; 0381 CB_ADDRESS,
; 0382 CTL_LENGTH,
; 0383 DB_FILE : REF FILE_BLOCK,
; 0384 DB_POINTER,
; 0385 DB_VARIABLE_1,
; 0386 DB_VARIABLE_2,
; 0387 LB_POINTER,
; 0388 MCB_NAME : VECTOR [CH$ALLOCATION (7)],
; 0389 MODU_PTR : REF MODU_BLOCK,
; 0390 PRIMARY_COMMAND,
; 0391 TEMPORARY_PTR,
; 0392 UNT_LENGTH,
; 0393 XXXNAME : VECTOR [CH$ALLOCATION (7)];
; 0394
; 0395 !
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 18
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (4)
; 0396 ! Start by initializing some of the data items
; 0397 !
; 0398 CURLIX = 0;
; 0399 CURSLT = 0;
; 0400 CURCTL = 0;
; 0401 NEXT_LIX (VAR_CURRENT_CTL, .VALUES);
; 0402 !
; 0403
; 0404 IF (.CURSLT NEQ 0)
; 0405 THEN
; 0406
; 0407 DO
; 0408
; 0409 IF (.CURSLT [SLT_DLC] NEQ 0)
; 0410 THEN
; 0411 BEGIN
; 0412 !
; 0413 ! Tell someone what we are doing
; 0414 !
; 0415 OUTSTR (0, UPLIT (%ASCIZ'[Loading '));
; 0416 OUTSTR (0, CURSLT [SLT_DLC]);
; 0417 OUTSTR (0, UPLIT (%ASCIZ' data base for LINE '));
; 0418 OUTSTR (0, (IF (.CURSLT [SLT_DEV] NEQ 0) THEN CURSLT [SLT_DEV] ELSE CURSLT [SLT_DLC]));
; 0419 OUTPUT (0, %C'-');
; 0420 OUTNUM (0, .CURSLT [SLT_CTL], 10, 0);
; 0421 OUTPUT (0, %C'-');
; 0422 OUTNUM (0, .CURSLT [SLT_UNT], 10, 0);
; 0423 !
; 0424 ! Get data base file
; 0425 !
; 0426
; 0427 IF ((DB_FILE = GETBLK (FILE_TYP, FILE_LEN)) EQL 0)
; 0428 THEN
; 0429 ERRMSG (0, 1, ROUTINE_NAME, 0, 0, 0,
; 0430 0)
; 0431 ELSE
; 0432 BEGIN
; 0433 !
; 0434 ! Build xxxDLC file name
; 0435 !
; 0436 CH$MOVE (LEN_MCB_NAME, CH$PTR (CURSLT [SLT_DLC]), CH$PTR (DB_FILE [FILE_NAME]));
; 0437 CH$MOVE (3, CH$PTR (UPLIT (%ASCIZ'DLC')),
; 0438 CH$FIND_CH (LEN_FILE_STRING,
; 0439 CH$PTR (DB_FILE [FILE_NAME]), 0));
; 0440 RSTB (.FILE_CHAN, .DB_FILE);
; 0441 RCOR (.DB_FILE, .FILE_CHAN, 4*2048);
; 0442 !
; 0443 ! Printout Identification Information
; 0444 !
; 0445 R50TOA (GETWRD (.DB_FILE, 0), MCB_NAME);
; 0446 CH$MOVE (4, CH$PTR (MCB_NAME, 3), CH$PTR (MCB_NAME));
; 0447 OUTSTR (0, UPLIT (%ASCIZ' ('));
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 19
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (4)
; 0448 OUTSTR (0, MCB_NAME);
; 0449 OUTPUT (0, %C' ');
; 0450 OUTNUM (0, GETBYT (.DB_FILE, 2), 10, 0);
; 0451 OUTPUT (0, %C'.');
; 0452 OUTNUM (0, GETBYT (.DB_FILE, 3), 10, 0);
; 0453 OUTSTR (0, UPLIT (%ASCIZ') --> '));
; 0454 !
; 0455 ! Process Primary Load Block Command
; 0456 !
; 0457 DB_POINTER = 4;
; 0458 PRIMARY_COMMAND = GETBYT (.DB_FILE, .DB_POINTER);
; 0459 DB_VARIABLE_1 = GETBYT (.DB_FILE, .DB_POINTER + 1);
; 0460 DB_VARIABLE_2 = 0;
; 0461
; 0462 SELECTONE .PRIMARY_COMMAND OF
; 0463 SET
; 0464
; 0465 [CMD_ALLOC_DB_DSR, CMD_ALLOC_DB_POOL] :
; 0466 BEGIN
; 0467 CURBLK = (IF (.PRIMARY_COMMAND EQL CMD_ALLOC_DB_DSR) THEN ALOCB (.KERNEL_FILE,
; 0468 GETWRD (.DB_FILE, .DB_POINTER + 2), 0, .VALUES) ELSE ALOC_POOL (
; 0469 .KERNEL_FILE, GETWRD (.DB_FILE, .DB_POINTER + 2), 0, .VALUES));
; 0470 CURBAS = (.CURBLK AND ( NOT 63));
; 0471 CURMAX = .CURBLK + GETWRD (.DB_FILE, .DB_POINTER + 2);
; 0472 !
; 0473 ! Process the Load Block associated with this Primary Request
; 0474 !
; 0475 LB_POINTER = GETWRD (.DB_FILE, .DB_POINTER + 4);
; 0476 BLOCK_LOAD (.KERNEL_FILE, .DB_FILE, .LB_POINTER, .VALUES);
; 0477 !
; 0478 ! Store data base address in DLCnnn
; 0479 !
; 0480
; 0481 DO
; 0482 BEGIN
; 0483 CH$MOVE (3, CH$PTR (UPLIT (%ASCIZ'DLC')), CH$PTR (XXXNAME));
; 0484 TEMPORARY_PTR = CH$PTR (XXXNAME, 3);
; 0485 $CBOMG (TEMPORARY_PTR, .CURLIX, 0);
; 0486 CH$WCHAR (0, .TEMPORARY_PTR);
; 0487 CB_ADDRESS = .VALUES [CE_DATA_BASE] + SYM_VAL (.VALUES [CE_DATA_FILE],
; 0488 XXXNAME, 0);
; 0489 PUTWRD (.KERNEL_FILE, .CB_ADDRESS,
; 0490 (IF (.CURBLK GEQ %O'120000') THEN .CURBAS<6, 12, 0> ELSE 0));
; 0491 PUTWRD (.KERNEL_FILE, .CB_ADDRESS + 2,
; 0492 (IF (.CURBLK GEQ %O'120000') THEN ((.CURBLK - .CURBAS) + %O'140000') ELSE
; 0493 .CURBLK));
; 0494 END
; 0495 UNTIL NEXT_LIX (.DB_VARIABLE_1, .VALUES);
; 0496
; 0497 END;
; 0498
; 0499 [CMD_ALLOC_MUX_DSR, CMD_ALLOC_MUX_POOL] :
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 20
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (4)
; 0500 BEGIN
; 0501 DB_VARIABLE_2 = GETBYT (.DB_FILE, .DB_POINTER + 2);
; 0502 CTL_LENGTH = GETWRD (.DB_FILE, .DB_POINTER + 4);
; 0503 UNT_LENGTH = GETWRD (.DB_FILE, .DB_POINTER + 8);
; 0504 CURMAX = .CTL_LENGTH + (GET_VARIABLE (.DB_VARIABLE_2, .VALUES)*.UNT_LENGTH);
; 0505 CURBLK = (IF (.PRIMARY_COMMAND EQL CMD_ALLOC_MUX_DSR) THEN ALOCB (.KERNEL_FILE,
; 0506 .CURMAX, 0, .VALUES) ELSE ALOC_POOL (.KERNEL_FILE, .CURMAX, 0, .VALUES));
; 0507 CURBAS = (.CURBLK AND ( NOT 63));
; 0508 CURMAX = .CURMAX + .CURBLK;
; 0509 !
; 0510 ! Load the Controller block
; 0511 !
; 0512 LB_POINTER = GETWRD (.DB_FILE, .DB_POINTER + 6);
; 0513 BLOCK_LOAD (.KERNEL_FILE, .DB_FILE, .LB_POINTER, .VALUES);
; 0514 !
; 0515 ! Load each unit's block
; 0516 !
; 0517 CURBLK = .CURBLK + .CTL_LENGTH;
; 0518 LB_POINTER = GETWRD (.DB_FILE, .DB_POINTER + 10);
; 0519
; 0520 DECR DUMMY FROM GET_VARIABLE (.DB_VARIABLE_2, .VALUES) TO 1 DO
; 0521 BEGIN
; 0522 BLOCK_LOAD (.KERNEL_FILE, .DB_FILE, .LB_POINTER, .VALUES);
; 0523 !
; 0524 ! Plug Addresses into Data Structures
; 0525 !
; 0526
; 0527 DO
; 0528 BEGIN
; 0529 CH$MOVE (3, CH$PTR (UPLIT (%ASCIZ'DLC')), CH$PTR (XXXNAME));
; 0530 TEMPORARY_PTR = CH$PTR (XXXNAME, 3);
; 0531 $CBOMG (TEMPORARY_PTR, .CURLIX, 0);
; 0532 CH$WCHAR (0, .TEMPORARY_PTR);
; 0533 CB_ADDRESS = .VALUES [CE_DATA_BASE] + SYM_VAL (.VALUES [CE_DATA_FILE],
; 0534 XXXNAME, 0);
; 0535 PUTWRD (.KERNEL_FILE, .CB_ADDRESS,
; 0536 (IF (.CURBLK GEQ %O'120000') THEN .CURBAS<6, 12, 0> ELSE 0));
; 0537 PUTWRD (.KERNEL_FILE, .CB_ADDRESS + 2,
; 0538 (IF (.CURBLK GEQ %O'120000') THEN ((.CURBLK - .CURBAS) + %O'140000')
; 0539 ELSE .CURBLK));
; 0540 END
; 0541 UNTIL NEXT_LIX (.DB_VARIABLE_1, .VALUES);
; 0542
; 0543 CURBLK = .CURBLK + .UNT_LENGTH;
; 0544 END;
; 0545
; 0546 END;
; 0547
; 0548 [OTHERWISE] :
; 0549 ;
; 0550 TES;
; 0551
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 21
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (4)
; 0552 !
; 0553 ! Printout Task information
; 0554 !
; 0555 MODU_PTR = .DB_FILE [FILE_MODU];
; 0556 OUTSTR (0, MODU_PTR [MODU_NAME]);
; 0557 OUTPUT (0, %C' ');
; 0558 OUTSTR (0, MODU_PTR [MODU_IDENT]);
; 0559 OUTSTR (0, UPLIT (%ASCIZ' ]'));
; 0560 PCRLF (0);
; 0561 FCOR (.DB_FILE);
; 0562 END;
; 0563
; 0564 END
; 0565 ELSE
; 0566 NEXT_LIX (VAR_CURRENT_CTL, .VALUES)
; 0567
; 0568 WHILE (.CURLIX LEQ .VALUES [SLTNUM]);
; 0569
; 0570 END; ! of DLC_LOADS
P.AAI: BYTE (7)"D","L","C","_","L" ; DLC_L 400516' 104 114 103 137 114
BYTE (7)"O","A","D","S",000 ; OADS 400517' 117 101 104 123 000
P.AAJ: BYTE (7)"[","L","o","a","d" ; [Load 400520' 133 114 157 141 144
BYTE (7)"i","n","g"," ",000 ; ing 400521' 151 156 147 040 000
P.AAK: BYTE (7)" ","d","a","t","a" ; data 400522' 040 144 141 164 141
BYTE (7)" ","b","a","s","e" ; base 400523' 040 142 141 163 145
BYTE (7)" ","f","o","r"," " ; for 400524' 040 146 157 162 040
BYTE (7)"L","I","N","E"," " ; LINE 400525' 114 111 116 105 040
BYTE (7)000,000,000,000,000 ; 400526' 000 000 000 000 000
P.AAL: BYTE (7)"D","L","C",000,000 ; DLC 400527' 104 114 103 000 000
P.AAM: BYTE (7)" ","(",000,000,000 ; ( 400530' 040 050 000 000 000
P.AAN: BYTE (7)")"," ","-","-",">" ; ) --> 400531' 051 040 055 055 076
BYTE (7)" ",000,000,000,000 ; 400532' 040 000 000 000 000
P.AAO: BYTE (7)"D","L","C",000,000 ; DLC 400533' 104 114 103 000 000
P.AAP: BYTE (7)"D","L","C",000,000 ; DLC 400534' 104 114 103 000 000
P.AAQ: BYTE (7)" ","]",000,000,000 ; ] 400535' 040 135 000 000 000
ROUTINE_NAME= P.AAI ; 000000 400516'
DLC_LOADS:
PUSH SP,AC0 ; SP,AC0 400536' 261 17 0 00 000000 0344
PUSH SP,AC10 ; SP,AC10 400537' 261 17 0 00 000010
PUSH SP,AC11 ; SP,AC11 400540' 261 17 0 00 000011
PUSH SP,AC12 ; SP,AC12 400541' 261 17 0 00 000012
PUSH SP,AC13 ; SP,AC13 400542' 261 17 0 00 000013
PUSH SP,AC14 ; SP,AC14 400543' 261 17 0 00 000014
PUSH SP,AC16 ; SP,AC16 400544' 261 17 0 00 000016
ADJSP SP,17 ; SP,17 400545' 105 17 0 00 000017
SETZM CURLIX ; CURLIX 400546' 402 00 0 00 000003' 0398
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 22
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (4)
SETZM CURSLT ; CURSLT 400547' 402 00 0 00 000004' 0399
SETZM CURCTL ; CURCTL 400550' 402 00 0 00 000006' 0400
PUSH SP,C.24 ; SP,[11] 400551' 261 17 0 00 401506' 0401
MOVE AC14,-30(SP) ; AC14,VALUES 400552' 200 14 0 17 777750
PUSH SP,AC14 ; SP,AC14 400553' 261 17 0 00 000014
PUSHJ SP,NEXT_LIX ; SP,NEXT_LIX 400554' 260 17 0 00 000000V
SKIPN CURSLT ; CURSLT 400555' 336 00 0 00 000004' 0404
JRST L.33 ; L.33 400556' 254 00 0 00 401473'
MOVE AC11,AC14 ; AC11,AC14 400557' 200 11 0 00 000014 0568
ADDI AC11,1 ; AC11,1 400560' 271 11 0 00 000001
L.10: MOVE AC1,CURSLT ; AC1,CURSLT 400561' 200 01 0 00 000004' 0409
SKIPN 2(AC1) ; 2(AC1) 400562' 336 00 0 01 000002
JRST L.31 ; L.31 400563' 254 00 0 00 401464'
SETZM 0(SP) ; 0(SP) 400564' 402 00 0 17 000000 0415
PUSH SP,C.25 ; SP,[0,,P.AAJ] 400565' 261 17 0 00 401507'
PUSHJ SP,OUTSTR ; SP,OUTSTR 400566' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 400567' 402 00 0 17 000000 0416
MOVE AC0,CURSLT ; AC0,CURSLT 400570' 200 00 0 00 000004'
ADDI AC0,2 ; AC0,2 400571' 271 00 0 00 000002
PUSH SP,AC0 ; SP,AC0 400572' 261 17 0 00 000000
PUSHJ SP,OUTSTR ; SP,OUTSTR 400573' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 400574' 402 00 0 17 000000 0417
PUSH SP,C.26 ; SP,[0,,P.AAK] 400575' 261 17 0 00 401510'
PUSHJ SP,OUTSTR ; SP,OUTSTR 400576' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 400577' 402 00 0 17 000000 0418
MOVE AC1,CURSLT ; AC1,CURSLT 400600' 200 01 0 00 000004'
SKIPN 1(AC1) ; 1(AC1) 400601' 336 00 0 01 000001
JRST L.11 ; L.11 400602' 254 00 0 00 400606'
MOVEI AC0,1(AC1) ; AC0,1(AC1) 400603' 201 00 0 01 000001
PUSH SP,AC0 ; SP,AC0 400604' 261 17 0 00 000000
JRST L.12 ; L.12 400605' 254 00 0 00 400610'
L.11: ADDI AC1,2 ; AC1,2 400606' 271 01 0 00 000002
PUSH SP,AC1 ; SP,AC1 400607' 261 17 0 00 000001
L.12: PUSHJ SP,OUTSTR ; SP,OUTSTR 400610' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 400611' 402 00 0 17 000000 0419
PUSH SP,C.27 ; SP,[55] 400612' 261 17 0 00 401511'
PUSHJ SP,OUTPUT ; SP,OUTPUT 400613' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 400614' 402 00 0 17 000000 0420
MOVE AC0,CURSLT ; AC0,CURSLT 400615' 200 00 0 00 000004'
MOVE AC1,AC0 ; AC1,AC0 400616' 200 01 0 00 000000
PUSH SP,4(AC1) ; SP,4(AC1) 400617' 261 17 0 01 000004
PUSH SP,C.18 ; SP,[12] 400620' 261 17 0 00 400511'
PUSH SP,C.6 ; SP,[0] 400621' 261 17 0 00 400475'
PUSHJ SP,OUTNUM ; SP,OUTNUM 400622' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 400623' 402 00 0 17 000000 0421
PUSH SP,C.27 ; SP,[55] 400624' 261 17 0 00 401511'
PUSHJ SP,OUTPUT ; SP,OUTPUT 400625' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 400626' 402 00 0 17 000000 0422
MOVE AC0,CURSLT ; AC0,CURSLT 400627' 200 00 0 00 000004'
MOVE AC1,AC0 ; AC1,AC0 400630' 200 01 0 00 000000
PUSH SP,5(AC1) ; SP,5(AC1) 400631' 261 17 0 01 000005
PUSH SP,C.18 ; SP,[12] 400632' 261 17 0 00 400511'
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 23
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (4)
PUSH SP,C.6 ; SP,[0] 400633' 261 17 0 00 400475'
PUSHJ SP,OUTNUM ; SP,OUTNUM 400634' 260 17 0 00 000000*
PUSH SP,C.8 ; SP,[3] 400635' 261 17 0 00 400477' 0427
PUSH SP,C.9 ; SP,[20] 400636' 261 17 0 00 400500'
PUSHJ SP,GETBLK ; SP,GETBLK 400637' 260 17 0 00 000000*
MOVE AC12,AC1 ; DB_FILE,AC1 400640' 200 12 0 00 000001
ADJSP SP,-2 ; SP,-2 400641' 105 17 0 00 777776
JUMPN AC12,L.13 ; DB_FILE,L.13 400642' 326 12 0 00 400654'
SETZM 0(SP) ; 0(SP) 400643' 402 00 0 17 000000 0429
PUSH SP,C.10 ; SP,[1] 400644' 261 17 0 00 400501'
PUSH SP,C.28 ; SP,[0,,ROUTINE_NAME] 400645' 261 17 0 00 401512'
PUSH SP,C.6 ; SP,[0] 400646' 261 17 0 00 400475'
PUSH SP,C.6 ; SP,[0] 400647' 261 17 0 00 400475'
PUSH SP,C.6 ; SP,[0] 400650' 261 17 0 00 400475'
PUSH SP,C.6 ; SP,[0] 400651' 261 17 0 00 400475'
PUSHJ SP,ERRMSG ; SP,ERRMSG 400652' 260 17 0 00 000000*
JRST L.30 ; L.30 400653' 254 00 0 00 401462' 0427
L.13: MOVE AC1,CURSLT ; AC1,CURSLT 400654' 200 01 0 00 000004' 0436
MOVEI AC2,1(AC1) ; AC2,1(AC1) 400655' 201 02 0 01 000001
HRLI AC2,10700 ; AC2,10700 400656' 505 02 0 00 010700
MOVEI AC5,1(AC12) ; AC5,1(DB_FILE) 400657' 201 05 0 12 000001
HRLI AC5,10700 ; AC5,10700 400660' 505 05 0 00 010700
MOVEI AC1,3 ; AC1,3 400661' 201 01 0 00 000003
MOVEI AC4,3 ; AC4,3 400662' 201 04 0 00 000003
EXTEND AC1,C.2 ; AC1,[MOVSLJ ] 400663' 123 01 0 00 400470'
JFCL ; 400664' 255 00 0 00 000000
PUSH SP,C.12 ; SP,[50] 400665' 261 17 0 00 400503' 0439
MOVEI AC0,1(AC12) ; AC0,1(DB_FILE) 400666' 201 00 0 12 000001
HRLI AC0,10700 ; AC0,10700 400667' 505 00 0 00 010700
PUSH SP,AC0 ; SP,AC0 400670' 261 17 0 00 000000
PUSH SP,C.6 ; SP,[0] 400671' 261 17 0 00 400475'
PUSHJ SP,CHFCH% ; SP,CHFCH% 400672' 260 17 0 00 000000*
MOVE AC5,AC1 ; AC5,AC1 400673' 200 05 0 00 000001
MOVEI AC1,3 ; AC1,3 400674' 201 01 0 00 000003 0437
MOVE AC2,C.29 ; AC2,[POINT 7,P.AAL-1,34] <1,7> 400675' 200 02 0 00 401513'
MOVEI AC4,3 ; AC4,3 400676' 201 04 0 00 000003
EXTEND AC1,C.2 ; AC1,[MOVSLJ ] 400677' 123 01 0 00 400470'
JFCL ; 400700' 255 00 0 00 000000
PUSH SP,-51(SP) ; SP,FILE_CHAN 400701' 261 17 0 17 777727 0440
PUSH SP,AC12 ; SP,DB_FILE 400702' 261 17 0 00 000012
PUSHJ SP,RSTB ; SP,RSTB 400703' 260 17 0 00 000000*
MOVEM AC12,0(SP) ; DB_FILE,0(SP) 400704' 202 12 0 17 000000 0441
PUSH SP,-53(SP) ; SP,FILE_CHAN 400705' 261 17 0 17 777725
PUSH SP,C.30 ; SP,[20000] 400706' 261 17 0 00 401514'
PUSHJ SP,RCOR ; SP,RCOR 400707' 260 17 0 00 000000*
MOVEM AC12,-1(SP) ; DB_FILE,-1(SP) 400710' 202 12 0 17 777777 0445
SETZM 0(SP) ; 0(SP) 400711' 402 00 0 17 000000
PUSHJ SP,GETWRD ; SP,GETWRD 400712' 260 17 0 00 000000*
PUSH SP,AC1 ; SP,AC1 400713' 261 17 0 00 000001
MOVEI AC0,-44(SP) ; AC0,MCB_NAME 400714' 201 00 0 17 777734
PUSH SP,AC0 ; SP,AC0 400715' 261 17 0 00 000000
PUSHJ SP,R50TOA ; SP,R50TOA 400716' 260 17 0 00 000000*
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 24
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (4)
MOVEI AC2,-45(SP) ; AC2,MCB_NAME 400717' 201 02 0 17 777733 0446
HRLI AC2,170700 ; AC2,170700 400720' 505 02 0 00 170700
MOVEI AC5,-46(SP) ; AC5,MCB_NAME-1 400721' 201 05 0 17 777732
HRLI AC5,10700 ; AC5,10700 400722' 505 05 0 00 010700
MOVEI AC1,4 ; AC1,4 400723' 201 01 0 00 000004
MOVEI AC4,4 ; AC4,4 400724' 201 04 0 00 000004
EXTEND AC1,C.2 ; AC1,[MOVSLJ ] 400725' 123 01 0 00 400470'
JFCL ; 400726' 255 00 0 00 000000
SETZM 0(SP) ; 0(SP) 400727' 402 00 0 17 000000 0447
PUSH SP,C.31 ; SP,[0,,P.AAM] 400730' 261 17 0 00 401515'
PUSHJ SP,OUTSTR ; SP,OUTSTR 400731' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 400732' 402 00 0 17 000000 0448
MOVEI AC0,-46(SP) ; AC0,MCB_NAME 400733' 201 00 0 17 777732
PUSH SP,AC0 ; SP,AC0 400734' 261 17 0 00 000000
PUSHJ SP,OUTSTR ; SP,OUTSTR 400735' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 400736' 402 00 0 17 000000 0449
PUSH SP,C.16 ; SP,[40] 400737' 261 17 0 00 400507'
PUSHJ SP,OUTPUT ; SP,OUTPUT 400740' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 400741' 402 00 0 17 000000 0450
PUSH SP,AC12 ; SP,DB_FILE 400742' 261 17 0 00 000012
PUSH SP,C.17 ; SP,[2] 400743' 261 17 0 00 400510'
PUSHJ SP,GETBYT ; SP,GETBYT 400744' 260 17 0 00 000000*
ADJSP SP,-1 ; SP,-1 400745' 105 17 0 00 777777
MOVEM AC1,0(SP) ; AC1,0(SP) 400746' 202 01 0 17 000000
PUSH SP,C.18 ; SP,[12] 400747' 261 17 0 00 400511'
PUSH SP,C.6 ; SP,[0] 400750' 261 17 0 00 400475'
PUSHJ SP,OUTNUM ; SP,OUTNUM 400751' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 400752' 402 00 0 17 000000 0451
PUSH SP,C.19 ; SP,[56] 400753' 261 17 0 00 400512'
PUSHJ SP,OUTPUT ; SP,OUTPUT 400754' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 400755' 402 00 0 17 000000 0452
PUSH SP,AC12 ; SP,DB_FILE 400756' 261 17 0 00 000012
PUSH SP,C.8 ; SP,[3] 400757' 261 17 0 00 400477'
PUSHJ SP,GETBYT ; SP,GETBYT 400760' 260 17 0 00 000000*
ADJSP SP,-1 ; SP,-1 400761' 105 17 0 00 777777
MOVEM AC1,0(SP) ; AC1,0(SP) 400762' 202 01 0 17 000000
PUSH SP,C.18 ; SP,[12] 400763' 261 17 0 00 400511'
PUSH SP,C.6 ; SP,[0] 400764' 261 17 0 00 400475'
PUSHJ SP,OUTNUM ; SP,OUTNUM 400765' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 400766' 402 00 0 17 000000 0453
PUSH SP,C.32 ; SP,[0,,P.AAN] 400767' 261 17 0 00 401516'
PUSHJ SP,OUTSTR ; SP,OUTSTR 400770' 260 17 0 00 000000*
MOVEI AC13,4 ; DB_POINTER,4 400771' 201 13 0 00 000004 0457
MOVEM AC12,-1(SP) ; DB_FILE,-1(SP) 400772' 202 12 0 17 777777 0458
MOVEM AC13,0(SP) ; DB_POINTER,0(SP) 400773' 202 13 0 17 000000
PUSHJ SP,GETBYT ; SP,GETBYT 400774' 260 17 0 00 000000*
MOVEM AC1,-42(SP) ; AC1,PRIMARY_COMMAND 400775' 202 01 0 17 777736
MOVEM AC12,0(SP) ; DB_FILE,0(SP) 400776' 202 12 0 17 000000 0459
MOVE AC0,AC13 ; AC0,DB_POINTER 400777' 200 00 0 00 000013
ADDI AC0,1 ; AC0,1 401000' 271 00 0 00 000001
PUSH SP,AC0 ; SP,AC0 401001' 261 17 0 00 000000
PUSHJ SP,GETBYT ; SP,GETBYT 401002' 260 17 0 00 000000*
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 25
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (4)
MOVEM AC1,-54(SP) ; AC1,DB_VARIABLE_1 401003' 202 01 0 17 777724
SETZM -52(SP) ; DB_VARIABLE_2 401004' 402 00 0 17 777726 0460
MOVEI AC0,20 ; AC0,20 401005' 201 00 0 00 000020 0462
CAMLE AC0,-43(SP) ; AC0,PRIMARY_COMMAND 401006' 313 00 0 17 777735
JRST L.20 ; L.20 401007' 254 00 0 00 401174'
MOVEI AC0,21 ; AC0,21 401010' 201 00 0 00 000021
CAMGE AC0,-43(SP) ; AC0,PRIMARY_COMMAND 401011' 315 00 0 17 777735
JRST L.20 ; L.20 401012' 254 00 0 00 401174'
MOVE AC0,AC13 ; AC0,DB_POINTER 401013' 200 00 0 00 000013 0468
ADDI AC0,2 ; AC0,2 401014' 271 00 0 00 000002
MOVE AC1,-74(SP) ; AC1,KERNEL_FILE 401015' 200 01 0 17 777704 0467
MOVEM AC1,-46(SP) ; AC1,-46(SP) 401016' 202 01 0 17 777732
MOVEI AC1,20 ; AC1,20 401017' 201 01 0 00 000020
CAME AC1,-43(SP) ; AC1,PRIMARY_COMMAND 401020' 312 01 0 17 777735
JRST L.14 ; L.14 401021' 254 00 0 00 401035'
MOVE AC1,-46(SP) ; AC1,-46(SP) 401022' 200 01 0 17 777732
MOVEM AC1,0(SP) ; AC1,0(SP) 401023' 202 01 0 17 000000
PUSH SP,AC12 ; SP,DB_FILE 401024' 261 17 0 00 000012 0468
PUSH SP,AC0 ; SP,AC0 401025' 261 17 0 00 000000
PUSHJ SP,GETWRD ; SP,GETWRD 401026' 260 17 0 00 000000*
ADJSP SP,-1 ; SP,-1 401027' 105 17 0 00 777777
MOVEM AC1,0(SP) ; AC1,0(SP) 401030' 202 01 0 17 000000 0467
PUSH SP,C.6 ; SP,[0] 401031' 261 17 0 00 400475'
PUSH SP,AC14 ; SP,AC14 401032' 261 17 0 00 000014
PUSHJ SP,ALOCB ; SP,ALOCB 401033' 260 17 0 00 000000*
JRST L.15 ; L.15 401034' 254 00 0 00 401047'
L.14: MOVE AC1,-46(SP) ; AC1,-46(SP) 401035' 200 01 0 17 777732 0468
MOVEM AC1,0(SP) ; AC1,0(SP) 401036' 202 01 0 17 000000
PUSH SP,AC12 ; SP,DB_FILE 401037' 261 17 0 00 000012 0469
PUSH SP,AC0 ; SP,AC0 401040' 261 17 0 00 000000
PUSHJ SP,GETWRD ; SP,GETWRD 401041' 260 17 0 00 000000*
ADJSP SP,-1 ; SP,-1 401042' 105 17 0 00 777777
MOVEM AC1,0(SP) ; AC1,0(SP) 401043' 202 01 0 17 000000 0468
PUSH SP,C.6 ; SP,[0] 401044' 261 17 0 00 400475'
PUSH SP,AC14 ; SP,AC14 401045' 261 17 0 00 000014
PUSHJ SP,ALOC_POOL ; SP,ALOC_POOL 401046' 260 17 0 00 000000V
L.15: MOVEM AC1,CURBLK ; AC1,CURBLK 401047' 202 01 0 00 000000' 0467
TRZ AC1,77 ; AC1,77 401050' 620 01 0 00 000077 0470
MOVEM AC1,CURBAS ; AC1,CURBAS 401051' 202 01 0 00 000001'
MOVEM AC12,-1(SP) ; DB_FILE,-1(SP) 401052' 202 12 0 17 777777 0471
MOVEM AC0,0(SP) ; AC0,0(SP) 401053' 202 00 0 17 000000
PUSHJ SP,GETWRD ; SP,GETWRD 401054' 260 17 0 00 000000*
ADD AC1,CURBLK ; AC1,CURBLK 401055' 270 01 0 00 000000'
MOVEM AC1,CURMAX ; AC1,CURMAX 401056' 202 01 0 00 000002'
MOVEM AC12,0(SP) ; DB_FILE,0(SP) 401057' 202 12 0 17 000000 0475
MOVE AC0,AC13 ; AC0,DB_POINTER 401060' 200 00 0 00 000013
ADDI AC0,4 ; AC0,4 401061' 271 00 0 00 000004
PUSH SP,AC0 ; SP,AC0 401062' 261 17 0 00 000000
PUSHJ SP,GETWRD ; SP,GETWRD 401063' 260 17 0 00 000000*
MOVEM AC1,-57(SP) ; AC1,LB_POINTER 401064' 202 01 0 17 777721
MOVE AC0,-52(SP) ; AC0,-52(SP) 401065' 200 00 0 17 777726 0476
MOVEM AC0,-3(SP) ; AC0,-3(SP) 401066' 202 00 0 17 777775
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 26
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (4)
MOVEM AC12,-2(SP) ; DB_FILE,-2(SP) 401067' 202 12 0 17 777776
MOVE AC0,-57(SP) ; AC0,LB_POINTER 401070' 200 00 0 17 777721
MOVEM AC0,-1(SP) ; AC0,-1(SP) 401071' 202 00 0 17 777777
MOVEM AC14,0(SP) ; AC14,0(SP) 401072' 202 14 0 17 000000
PUSHJ SP,BLOCK_LOAD ; SP,BLOCK_LOAD 401073' 260 17 0 00 000000V
MOVE AC16,AC14 ; AC16,AC14 401074' 200 16 0 00 000014 0487
ADDI AC16,5 ; AC16,5 401075' 271 16 0 00 000005
MOVE AC10,AC14 ; AC10,AC14 401076' 200 10 0 00 000014
ADDI AC10,4 ; AC10,4 401077' 271 10 0 00 000004
L.16: MOVEI AC5,-64(SP) ; AC5,XXXNAME-1 401100' 201 05 0 17 777714 0483
HRLI AC5,10700 ; AC5,10700 401101' 505 05 0 00 010700
MOVEI AC1,3 ; AC1,3 401102' 201 01 0 00 000003
MOVE AC2,C.33 ; AC2,[POINT 7,P.AAO-1,34] <1,7> 401103' 200 02 0 00 401517'
MOVEI AC4,3 ; AC4,3 401104' 201 04 0 00 000003
EXTEND AC1,C.2 ; AC1,[MOVSLJ ] 401105' 123 01 0 00 400470'
JFCL ; 401106' 255 00 0 00 000000
MOVEI AC0,-63(SP) ; AC0,XXXNAME 401107' 201 00 0 17 777715 0484
HRLI AC0,170700 ; AC0,170700 401110' 505 00 0 00 170700
MOVEM AC0,-61(SP) ; AC0,TEMPORARY_PTR 401111' 202 00 0 17 777717
MOVEI AC0,-61(SP) ; AC0,TEMPORARY_PTR 401112' 201 00 0 17 777717 0485
PUSH SP,AC0 ; SP,AC0 401113' 261 17 0 00 000000
PUSH SP,CURLIX ; SP,CURLIX 401114' 261 17 0 00 000003'
PUSH SP,C.6 ; SP,[0] 401115' 261 17 0 00 400475'
PUSHJ SP,$CBOMG ; SP,$CBOMG 401116' 260 17 0 00 000000*
SETZ AC1, ; AC1, 401117' 400 01 0 00 000000 0486
MOVE AC0,-64(SP) ; AC0,TEMPORARY_PTR 401120' 200 00 0 17 777714
IDPB AC1,AC0 ; AC1,AC0 401121' 136 01 0 00 000000
HRRZ AC0,0(AC16) ; AC0,0(AC16) 401122' 550 00 0 16 000000 0487
PUSH SP,AC0 ; SP,AC0 401123' 261 17 0 00 000000
MOVEI AC0,-67(SP) ; AC0,XXXNAME 401124' 201 00 0 17 777711
PUSH SP,AC0 ; SP,AC0 401125' 261 17 0 00 000000
PUSH SP,C.6 ; SP,[0] 401126' 261 17 0 00 400475'
PUSHJ SP,SYM_VAL ; SP,SYM_VAL 401127' 260 17 0 00 000000*
LDB AC0,C.23 ; AC0,[POINT 19,0(AC10),35] <0,19> 401130' 135 00 0 00 401505'
ADD AC1,AC0 ; AC1,AC0 401131' 270 01 0 00 000000
MOVEM AC1,-56(SP) ; AC1,CB_ADDRESS 401132' 202 01 0 17 777722
MOVE AC0,-60(SP) ; AC0,-60(SP) 401133' 200 00 0 17 777720 0489
MOVEM AC0,-1(SP) ; AC0,-1(SP) 401134' 202 00 0 17 777777
MOVE AC0,-56(SP) ; AC0,CB_ADDRESS 401135' 200 00 0 17 777722
MOVEM AC0,0(SP) ; AC0,0(SP) 401136' 202 00 0 17 000000
MOVEI AC0,120000 ; AC0,120000 401137' 201 00 0 00 120000 0490
CAMLE AC0,CURBLK ; AC0,CURBLK 401140' 313 00 0 00 000000'
JRST L.17 ; L.17 401141' 254 00 0 00 401145'
LDB AC0,C.5 ; AC0,[POINT 12,CURBAS,29] <6,12> 401142' 135 00 0 00 400474'
PUSH SP,AC0 ; SP,AC0 401143' 261 17 0 00 000000
JRST L.18 ; L.18 401144' 254 00 0 00 401146'
L.17: PUSH SP,C.6 ; SP,[0] 401145' 261 17 0 00 400475'
L.18: PUSHJ SP,PUTWRD ; SP,PUTWRD 401146' 260 17 0 00 000000* 0489
MOVE AC0,-61(SP) ; AC0,-61(SP) 401147' 200 00 0 17 777717 0491
MOVEM AC0,0(SP) ; AC0,0(SP) 401150' 202 00 0 17 000000
MOVE AC0,-57(SP) ; AC0,CB_ADDRESS 401151' 200 00 0 17 777721
ADDI AC0,2 ; AC0,2 401152' 271 00 0 00 000002
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 27
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (4)
PUSH SP,AC0 ; SP,AC0 401153' 261 17 0 00 000000
MOVE AC0,CURBLK ; AC0,CURBLK 401154' 200 00 0 00 000000' 0492
CAIGE AC0,120000 ; AC0,120000 401155' 305 00 0 00 120000
JRST L.19 ; L.19 401156' 254 00 0 00 401161'
SUB AC0,CURBAS ; AC0,CURBAS 401157' 274 00 0 00 000001'
ADDI AC0,140000 ; AC0,140000 401160' 271 00 0 00 140000
L.19: PUSH SP,AC0 ; SP,AC0 401161' 261 17 0 00 000000
PUSHJ SP,PUTWRD ; SP,PUTWRD 401162' 260 17 0 00 000000* 0491
ADJSP SP,-11 ; SP,-11 401163' 105 17 0 00 777767 0482
MOVE AC0,-60(SP) ; AC0,DB_VARIABLE_1 401164' 200 00 0 17 777720 0495
MOVEM AC0,-1(SP) ; AC0,-1(SP) 401165' 202 00 0 17 777777
MOVEM AC14,0(SP) ; AC14,0(SP) 401166' 202 14 0 17 000000
PUSHJ SP,NEXT_LIX ; SP,NEXT_LIX 401167' 260 17 0 00 000000V
TRNN AC1,1 ; AC1,1 401170' 606 01 0 00 000001
JRST L.16 ; L.16 401171' 254 00 0 00 401100' 0481
ADJSP SP,-4 ; SP,-4 401172' 105 17 0 00 777774 0466
JRST L.29 ; L.29 401173' 254 00 0 00 401433' 0462
L.20: MOVEI AC0,30 ; AC0,30 401174' 201 00 0 00 000030
CAMLE AC0,-43(SP) ; AC0,PRIMARY_COMMAND 401175' 313 00 0 17 777735
JRST L.29 ; L.29 401176' 254 00 0 00 401433'
MOVEI AC0,31 ; AC0,31 401177' 201 00 0 00 000031
CAMGE AC0,-43(SP) ; AC0,PRIMARY_COMMAND 401200' 315 00 0 17 777735
JRST L.29 ; L.29 401201' 254 00 0 00 401433'
MOVEM AC12,0(SP) ; DB_FILE,0(SP) 401202' 202 12 0 17 000000 0501
MOVE AC0,AC13 ; AC0,DB_POINTER 401203' 200 00 0 00 000013
ADDI AC0,2 ; AC0,2 401204' 271 00 0 00 000002
PUSH SP,AC0 ; SP,AC0 401205' 261 17 0 00 000000
PUSHJ SP,GETBYT ; SP,GETBYT 401206' 260 17 0 00 000000*
MOVEM AC1,-53(SP) ; AC1,DB_VARIABLE_2 401207' 202 01 0 17 777725
MOVEM AC12,0(SP) ; DB_FILE,0(SP) 401210' 202 12 0 17 000000 0502
MOVE AC0,AC13 ; AC0,DB_POINTER 401211' 200 00 0 00 000013
ADDI AC0,4 ; AC0,4 401212' 271 00 0 00 000004
PUSH SP,AC0 ; SP,AC0 401213' 261 17 0 00 000000
PUSHJ SP,GETWRD ; SP,GETWRD 401214' 260 17 0 00 000000*
MOVEM AC1,-53(SP) ; AC1,CTL_LENGTH 401215' 202 01 0 17 777725
MOVEM AC12,0(SP) ; DB_FILE,0(SP) 401216' 202 12 0 17 000000 0503
MOVE AC0,AC13 ; AC0,DB_POINTER 401217' 200 00 0 00 000013
ADDI AC0,10 ; AC0,10 401220' 271 00 0 00 000010
PUSH SP,AC0 ; SP,AC0 401221' 261 17 0 00 000000
PUSHJ SP,GETWRD ; SP,GETWRD 401222' 260 17 0 00 000000*
MOVEM AC1,-53(SP) ; AC1,UNT_LENGTH 401223' 202 01 0 17 777725
MOVE AC0,-55(SP) ; AC0,DB_VARIABLE_2 401224' 200 00 0 17 777723 0504
MOVEM AC0,-1(SP) ; AC0,-1(SP) 401225' 202 00 0 17 777777
MOVEM AC14,0(SP) ; AC14,0(SP) 401226' 202 14 0 17 000000
PUSHJ SP,GET_VARIABLE ; SP,GET_VARIABLE 401227' 260 17 0 00 000000V
IMUL AC1,-53(SP) ; AC1,UNT_LENGTH 401230' 220 01 0 17 777725
ADD AC1,-54(SP) ; AC1,CTL_LENGTH 401231' 270 01 0 17 777724
MOVEM AC1,CURMAX ; AC1,CURMAX 401232' 202 01 0 00 000002'
MOVE AC0,-77(SP) ; AC0,KERNEL_FILE 401233' 200 00 0 17 777701 0505
MOVEM AC0,-51(SP) ; AC0,-51(SP) 401234' 202 00 0 17 777727
MOVEI AC0,30 ; AC0,30 401235' 201 00 0 00 000030
CAME AC0,-46(SP) ; AC0,PRIMARY_COMMAND 401236' 312 00 0 17 777732
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 28
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (4)
JRST L.21 ; L.21 401237' 254 00 0 00 401247'
MOVE AC0,-51(SP) ; AC0,-51(SP) 401240' 200 00 0 17 777727
MOVEM AC0,0(SP) ; AC0,0(SP) 401241' 202 00 0 17 000000
PUSH SP,CURMAX ; SP,CURMAX 401242' 261 17 0 00 000002'
PUSH SP,C.6 ; SP,[0] 401243' 261 17 0 00 400475'
PUSH SP,AC14 ; SP,AC14 401244' 261 17 0 00 000014
PUSHJ SP,ALOCB ; SP,ALOCB 401245' 260 17 0 00 000000*
JRST L.22 ; L.22 401246' 254 00 0 00 401255'
L.21: MOVE AC0,-51(SP) ; AC0,-51(SP) 401247' 200 00 0 17 777727 0506
MOVEM AC0,0(SP) ; AC0,0(SP) 401250' 202 00 0 17 000000
PUSH SP,CURMAX ; SP,CURMAX 401251' 261 17 0 00 000002'
PUSH SP,C.6 ; SP,[0] 401252' 261 17 0 00 400475'
PUSH SP,AC14 ; SP,AC14 401253' 261 17 0 00 000014
PUSHJ SP,ALOC_POOL ; SP,ALOC_POOL 401254' 260 17 0 00 000000V
L.22: MOVEM AC1,CURBLK ; AC1,CURBLK 401255' 202 01 0 00 000000' 0505
MOVE AC0,CURBLK ; AC0,CURBLK 401256' 200 00 0 00 000000' 0507
TRZ AC0,77 ; AC0,77 401257' 620 00 0 00 000077
MOVEM AC0,CURBAS ; AC0,CURBAS 401260' 202 00 0 00 000001'
MOVE AC0,CURBLK ; AC0,CURBLK 401261' 200 00 0 00 000000' 0508
ADDM AC0,CURMAX ; AC0,CURMAX 401262' 272 00 0 00 000002'
MOVEM AC12,0(SP) ; DB_FILE,0(SP) 401263' 202 12 0 17 000000 0512
MOVE AC0,AC13 ; AC0,DB_POINTER 401264' 200 00 0 00 000013
ADDI AC0,6 ; AC0,6 401265' 271 00 0 00 000006
PUSH SP,AC0 ; SP,AC0 401266' 261 17 0 00 000000
PUSHJ SP,GETWRD ; SP,GETWRD 401267' 260 17 0 00 000000*
MOVEM AC1,-62(SP) ; AC1,LB_POINTER 401270' 202 01 0 17 777716
MOVE AC0,-55(SP) ; AC0,-55(SP) 401271' 200 00 0 17 777723 0513
MOVEM AC0,-3(SP) ; AC0,-3(SP) 401272' 202 00 0 17 777775
MOVEM AC12,-2(SP) ; DB_FILE,-2(SP) 401273' 202 12 0 17 777776
MOVE AC0,-62(SP) ; AC0,LB_POINTER 401274' 200 00 0 17 777716
MOVEM AC0,-1(SP) ; AC0,-1(SP) 401275' 202 00 0 17 777777
MOVEM AC14,0(SP) ; AC14,0(SP) 401276' 202 14 0 17 000000
PUSHJ SP,BLOCK_LOAD ; SP,BLOCK_LOAD 401277' 260 17 0 00 000000V
MOVE AC0,-60(SP) ; AC0,CTL_LENGTH 401300' 200 00 0 17 777720 0517
ADDM AC0,CURBLK ; AC0,CURBLK 401301' 272 00 0 00 000000'
MOVEM AC12,0(SP) ; DB_FILE,0(SP) 401302' 202 12 0 17 000000 0518
MOVE AC0,AC13 ; AC0,DB_POINTER 401303' 200 00 0 00 000013
ADDI AC0,12 ; AC0,12 401304' 271 00 0 00 000012
PUSH SP,AC0 ; SP,AC0 401305' 261 17 0 00 000000
PUSHJ SP,GETWRD ; SP,GETWRD 401306' 260 17 0 00 000000*
MOVEM AC1,-63(SP) ; AC1,LB_POINTER 401307' 202 01 0 17 777715
MOVE AC0,-62(SP) ; AC0,DB_VARIABLE_2 401310' 200 00 0 17 777716 0520
MOVEM AC0,-1(SP) ; AC0,-1(SP) 401311' 202 00 0 17 777777
MOVEM AC14,0(SP) ; AC14,0(SP) 401312' 202 14 0 17 000000
PUSHJ SP,GET_VARIABLE ; SP,GET_VARIABLE 401313' 260 17 0 00 000000V
MOVE AC16,AC1 ; AC16,AC1 401314' 200 16 0 00 000001
MOVE AC0,AC14 ; AC0,AC14 401315' 200 00 0 00 000014 0533
ADDI AC0,5 ; AC0,5 401316' 271 00 0 00 000005
MOVEM AC0,-55(SP) ; AC0,-55(SP) 401317' 202 00 0 17 777723
MOVE AC10,AC14 ; AC10,AC14 401320' 200 10 0 00 000014
ADDI AC10,4 ; AC10,4 401321' 271 10 0 00 000004
AOJA AC16,L.28 ; AC16,L.28 401322' 344 16 0 00 401431' 0520
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 29
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (4)
L.23: MOVE AC0,-56(SP) ; AC0,-56(SP) 401323' 200 00 0 17 777722 0522
MOVEM AC0,-3(SP) ; AC0,-3(SP) 401324' 202 00 0 17 777775
MOVEM AC12,-2(SP) ; DB_FILE,-2(SP) 401325' 202 12 0 17 777776
MOVE AC0,-63(SP) ; AC0,LB_POINTER 401326' 200 00 0 17 777715
MOVEM AC0,-1(SP) ; AC0,-1(SP) 401327' 202 00 0 17 777777
MOVEM AC14,0(SP) ; AC14,0(SP) 401330' 202 14 0 17 000000
PUSHJ SP,BLOCK_LOAD ; SP,BLOCK_LOAD 401331' 260 17 0 00 000000V
L.24: MOVEI AC5,-70(SP) ; AC5,XXXNAME-1 401332' 201 05 0 17 777710 0529
HRLI AC5,10700 ; AC5,10700 401333' 505 05 0 00 010700
MOVEI AC1,3 ; AC1,3 401334' 201 01 0 00 000003
MOVE AC2,C.34 ; AC2,[POINT 7,P.AAP-1,34] <1,7> 401335' 200 02 0 00 401520'
MOVEI AC4,3 ; AC4,3 401336' 201 04 0 00 000003
EXTEND AC1,C.2 ; AC1,[MOVSLJ ] 401337' 123 01 0 00 400470'
JFCL ; 401340' 255 00 0 00 000000
MOVEI AC0,-67(SP) ; AC0,XXXNAME 401341' 201 00 0 17 777711 0530
HRLI AC0,170700 ; AC0,170700 401342' 505 00 0 00 170700
MOVEM AC0,-65(SP) ; AC0,TEMPORARY_PTR 401343' 202 00 0 17 777713
MOVEI AC0,-65(SP) ; AC0,TEMPORARY_PTR 401344' 201 00 0 17 777713 0531
PUSH SP,AC0 ; SP,AC0 401345' 261 17 0 00 000000
PUSH SP,CURLIX ; SP,CURLIX 401346' 261 17 0 00 000003'
PUSH SP,C.6 ; SP,[0] 401347' 261 17 0 00 400475'
PUSHJ SP,$CBOMG ; SP,$CBOMG 401350' 260 17 0 00 000000*
SETZ AC1, ; AC1, 401351' 400 01 0 00 000000 0532
MOVE AC0,-70(SP) ; AC0,TEMPORARY_PTR 401352' 200 00 0 17 777710
IDPB AC1,AC0 ; AC1,AC0 401353' 136 01 0 00 000000
MOVE AC1,-60(SP) ; AC1,-60(SP) 401354' 200 01 0 17 777720 0533
HRRZ AC0,0(AC1) ; AC0,0(AC1) 401355' 550 00 0 01 000000
PUSH SP,AC0 ; SP,AC0 401356' 261 17 0 00 000000
MOVEI AC0,-73(SP) ; AC0,XXXNAME 401357' 201 00 0 17 777705
PUSH SP,AC0 ; SP,AC0 401360' 261 17 0 00 000000
PUSH SP,C.6 ; SP,[0] 401361' 261 17 0 00 400475'
PUSHJ SP,SYM_VAL ; SP,SYM_VAL 401362' 260 17 0 00 000000*
ADJSP SP,-3 ; SP,-3 401363' 105 17 0 00 777775
LDB AC0,C.23 ; AC0,[POINT 19,0(AC10),35] <0,19> 401364' 135 00 0 00 401505'
ADD AC1,AC0 ; AC1,AC0 401365' 270 01 0 00 000000
MOVEM AC1,-57(SP) ; AC1,CB_ADDRESS 401366' 202 01 0 17 777721
MOVE AC0,-61(SP) ; AC0,-61(SP) 401367' 200 00 0 17 777717 0535
MOVEM AC0,-1(SP) ; AC0,-1(SP) 401370' 202 00 0 17 777777
MOVE AC0,-57(SP) ; AC0,CB_ADDRESS 401371' 200 00 0 17 777721
MOVEM AC0,0(SP) ; AC0,0(SP) 401372' 202 00 0 17 000000
MOVEI AC0,120000 ; AC0,120000 401373' 201 00 0 00 120000 0536
CAMLE AC0,CURBLK ; AC0,CURBLK 401374' 313 00 0 00 000000'
JRST L.25 ; L.25 401375' 254 00 0 00 401401'
LDB AC0,C.5 ; AC0,[POINT 12,CURBAS,29] <6,12> 401376' 135 00 0 00 400474'
PUSH SP,AC0 ; SP,AC0 401377' 261 17 0 00 000000
JRST L.26 ; L.26 401400' 254 00 0 00 401402'
L.25: PUSH SP,C.6 ; SP,[0] 401401' 261 17 0 00 400475'
L.26: PUSHJ SP,PUTWRD ; SP,PUTWRD 401402' 260 17 0 00 000000* 0535
MOVE AC0,-62(SP) ; AC0,-62(SP) 401403' 200 00 0 17 777716 0537
MOVEM AC0,0(SP) ; AC0,0(SP) 401404' 202 00 0 17 000000
MOVE AC0,-60(SP) ; AC0,CB_ADDRESS 401405' 200 00 0 17 777720
ADDI AC0,2 ; AC0,2 401406' 271 00 0 00 000002
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 30
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (4)
PUSH SP,AC0 ; SP,AC0 401407' 261 17 0 00 000000
MOVE AC0,CURBLK ; AC0,CURBLK 401410' 200 00 0 00 000000' 0538
CAIGE AC0,120000 ; AC0,120000 401411' 305 00 0 00 120000
JRST L.27 ; L.27 401412' 254 00 0 00 401415'
SUB AC0,CURBAS ; AC0,CURBAS 401413' 274 00 0 00 000001'
ADDI AC0,140000 ; AC0,140000 401414' 271 00 0 00 140000
L.27: PUSH SP,AC0 ; SP,AC0 401415' 261 17 0 00 000000
PUSHJ SP,PUTWRD ; SP,PUTWRD 401416' 260 17 0 00 000000* 0537
ADJSP SP,-3 ; SP,-3 401417' 105 17 0 00 777775
ADJSP SP,-3 ; SP,-3 401420' 105 17 0 00 777775 0528
MOVE AC0,-64(SP) ; AC0,DB_VARIABLE_1 401421' 200 00 0 17 777714 0541
MOVEM AC0,-1(SP) ; AC0,-1(SP) 401422' 202 00 0 17 777777
MOVEM AC14,0(SP) ; AC14,0(SP) 401423' 202 14 0 17 000000
PUSHJ SP,NEXT_LIX ; SP,NEXT_LIX 401424' 260 17 0 00 000000V
TRNN AC1,1 ; AC1,1 401425' 606 01 0 00 000001
JRST L.24 ; L.24 401426' 254 00 0 00 401332' 0527
MOVE AC0,-60(SP) ; AC0,UNT_LENGTH 401427' 200 00 0 17 777720 0543
ADDM AC0,CURBLK ; AC0,CURBLK 401430' 272 00 0 00 000000'
L.28: SOJG AC16,L.23 ; DUMMY,L.23 401431' 367 16 0 00 401323' 0520
ADJSP SP,-10 ; SP,-10 401432' 105 17 0 00 777770 0500
L.29: HRRZ AC0,14(AC12) ; AC0,14(DB_FILE) 401433' 550 00 0 12 000014 0555
MOVEM AC0,-47(SP) ; AC0,MODU_PTR 401434' 202 00 0 17 777731
SETZM 0(SP) ; 0(SP) 401435' 402 00 0 17 000000 0556
MOVE AC0,-47(SP) ; AC0,MODU_PTR 401436' 200 00 0 17 777731
ADDI AC0,1 ; AC0,1 401437' 271 00 0 00 000001
PUSH SP,AC0 ; SP,AC0 401440' 261 17 0 00 000000
PUSHJ SP,OUTSTR ; SP,OUTSTR 401441' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 401442' 402 00 0 17 000000 0557
PUSH SP,C.16 ; SP,[40] 401443' 261 17 0 00 400507'
PUSHJ SP,OUTPUT ; SP,OUTPUT 401444' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 401445' 402 00 0 17 000000 0558
MOVE AC0,-51(SP) ; AC0,MODU_PTR 401446' 200 00 0 17 777727
ADDI AC0,3 ; AC0,3 401447' 271 00 0 00 000003
PUSH SP,AC0 ; SP,AC0 401450' 261 17 0 00 000000
PUSHJ SP,OUTSTR ; SP,OUTSTR 401451' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 401452' 402 00 0 17 000000 0559
PUSH SP,C.35 ; SP,[0,,P.AAQ] 401453' 261 17 0 00 401521'
PUSHJ SP,OUTSTR ; SP,OUTSTR 401454' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 401455' 402 00 0 17 000000 0560
PUSHJ SP,PCRLF ; SP,PCRLF 401456' 260 17 0 00 000000*
MOVEM AC12,0(SP) ; DB_FILE,0(SP) 401457' 202 12 0 17 000000 0561
PUSHJ SP,FCOR ; SP,FCOR 401460' 260 17 0 00 000000*
ADJSP SP,-23 ; SP,-23 401461' 105 17 0 00 777755 0432
L.30: ADJSP SP,-20 ; SP,-20 401462' 105 17 0 00 777760 0411
JRST L.32 ; L.32 401463' 254 00 0 00 401467' 0409
L.31: PUSH SP,C.24 ; SP,[11] 401464' 261 17 0 00 401506' 0566
PUSH SP,AC14 ; SP,AC14 401465' 261 17 0 00 000014
PUSHJ SP,NEXT_LIX ; SP,NEXT_LIX 401466' 260 17 0 00 000000V
L.32: ADJSP SP,-2 ; SP,-2 401467' 105 17 0 00 777776 0409
HRRZ AC0,0(AC11) ; AC0,0(AC11) 401470' 550 00 0 11 000000 0568
CAML AC0,CURLIX ; AC0,CURLIX 401471' 311 00 0 00 000003'
JRST L.10 ; L.10 401472' 254 00 0 00 400561'
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 31
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (4)
L.33: ADJSP SP,-2 ; SP,-2 401473' 105 17 0 00 777776 0371
ADJSP SP,-17 ; SP,-17 401474' 105 17 0 00 777761 0344
POP SP,AC16 ; SP,AC16 401475' 262 17 0 00 000016
POP SP,AC14 ; SP,AC14 401476' 262 17 0 00 000014
POP SP,AC13 ; SP,AC13 401477' 262 17 0 00 000013
POP SP,AC12 ; SP,AC12 401500' 262 17 0 00 000012
POP SP,AC11 ; SP,AC11 401501' 262 17 0 00 000011
POP SP,AC10 ; SP,AC10 401502' 262 17 0 00 000010
POP SP,AC0 ; SP,AC0 401503' 262 17 0 00 000000
POPJ SP, ; SP, 401504' 263 17 0 00 000000
C.23: POINT 19,0(AC10),35 ; 19,0(AC10),35 401505' 00 23 0 10 000000
C.24: EXP 11 ; 11 401506' 000000 000011
C.25: XWD 0,P.AAJ ; 0,P.AAJ 401507' 000000 400520'
C.26: XWD 0,P.AAK ; 0,P.AAK 401510' 000000 400522'
C.27: EXP 55 ; 55 401511' 000000 000055
C.28: XWD 0,ROUTINE_NAME ; 0,ROUTINE_NAME 401512' 000000 400516'
C.29: POINT 7,P.AAL-1,34 ; 7,P.AAL-1,34 401513' 01 07 0 00 400526'
C.30: EXP 20000 ; 20000 401514' 000000 020000
C.31: XWD 0,P.AAM ; 0,P.AAM 401515' 000000 400530'
C.32: XWD 0,P.AAN ; 0,P.AAN 401516' 000000 400531'
C.33: POINT 7,P.AAO-1,34 ; 7,P.AAO-1,34 401517' 01 07 0 00 400532'
C.34: POINT 7,P.AAP-1,34 ; 7,P.AAP-1,34 401520' 01 07 0 00 400533'
C.35: XWD 0,P.AAQ ; 0,P.AAQ 401521' 000000 400535'
; Routine Size: 500 words
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 32
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (5)
; 0571 ROUTINE DDM_LOADS (KERNEL_FILE, FILE_CHAN, VALUES) : NOVALUE =
; 0572
; 0573 !++
; 0574 ! FUNCTIONAL DESCRIPTION:
; 0575 !
; 0576 ! Load DDM Process Data Bases for each SLT in the MCB.
; 0577 !
; 0578 ! FORMAL PARAMETERS
; 0579 !
; 0580 ! KERNEL_FILE - System Image File Descriptor
; 0581 ! FILE_CHAN - Channel to use for I/O
; 0582 ! VALUES - Misc Data Items
; 0583 !
; 0584 ! IMPLICIT INPUTS
; 0585 !
; 0586 ! NONE.
; 0587 !
; 0588 ! ROUTINE VALUE:
; 0589 !
; 0590 ! NONE.
; 0591 !
; 0592 ! SIDE EFFECTS:
; 0593 !
; 0594 ! NONE.
; 0595 !
; 0596 !--
; 0597
; 0598 BEGIN
; 0599
; 0600 BIND
; 0601 ROUTINE_NAME = UPLIT (%ASCIZ'DDM_LOADS');
; 0602
; 0603 MAP
; 0604 KERNEL_FILE : REF FILE_BLOCK,
; 0605 VALUES : REF VNPVAL_BLOCK;
; 0606
; 0607 LOCAL
; 0608 CB_ADDRESS,
; 0609 CTL_LENGTH,
; 0610 DB_FILE : REF FILE_BLOCK,
; 0611 DB_POINTER,
; 0612 DB_VARIABLE_1,
; 0613 DB_VARIABLE_2,
; 0614 LB_POINTER,
; 0615 MCB_NAME : VECTOR [CH$ALLOCATION (7)],
; 0616 MODU_PTR : REF MODU_BLOCK,
; 0617 PRIMARY_COMMAND,
; 0618 TEMPORARY_PTR,
; 0619 UNT_LENGTH,
; 0620 XXXNAME : VECTOR [CH$ALLOCATION (7)];
; 0621
; 0622 !
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 33
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (5)
; 0623 ! Start by initializing some of the data items
; 0624 !
; 0625 CURLIX = 0;
; 0626 CURSLT = 0;
; 0627 CURCTL = 0;
; 0628 NEXT_LIX (VAR_CURRENT_CTL, .VALUES);
; 0629 !
; 0630
; 0631 IF (.CURSLT NEQ 0)
; 0632 THEN
; 0633
; 0634 DO
; 0635
; 0636 IF (.CURSLT [SLT_DEV] NEQ 0)
; 0637 THEN
; 0638 BEGIN
; 0639 !
; 0640 ! Tell someone what we are doing
; 0641 !
; 0642 OUTSTR (0, UPLIT (%ASCIZ'[Loading data base for LINE '));
; 0643 OUTSTR (0, CURSLT [SLT_DEV]);
; 0644 OUTPUT (0, %C'-');
; 0645 OUTNUM (0, .CURSLT [SLT_CTL], 10, 0);
; 0646 OUTPUT (0, %C'-');
; 0647 OUTNUM (0, .CURSLT [SLT_UNT], 10, 0);
; 0648 !
; 0649 ! Get data base file
; 0650 !
; 0651
; 0652 IF ((DB_FILE = GETBLK (FILE_TYP, FILE_LEN)) EQL 0)
; 0653 THEN
; 0654 ERRMSG (0, 1, ROUTINE_NAME, 0, 0, 0,
; 0655 0)
; 0656 ELSE
; 0657 BEGIN
; 0658 !
; 0659 ! Build xxxDDM file name
; 0660 !
; 0661 CH$MOVE (LEN_MCB_NAME, CH$PTR (CURSLT [SLT_DEV]), CH$PTR (DB_FILE [FILE_NAME]));
; 0662 CH$MOVE (3, CH$PTR (UPLIT (%ASCIZ'DDM')),
; 0663 CH$FIND_CH (LEN_FILE_STRING,
; 0664 CH$PTR (DB_FILE [FILE_NAME]), 0));
; 0665 RSTB (.FILE_CHAN, .DB_FILE);
; 0666 RCOR (.DB_FILE, .FILE_CHAN, 4*2048);
; 0667 !
; 0668 ! Printout Identification Information
; 0669 !
; 0670 R50TOA (GETWRD (.DB_FILE, 0), MCB_NAME);
; 0671 CH$MOVE (4, CH$PTR (MCB_NAME, 3), CH$PTR (MCB_NAME));
; 0672 OUTSTR (0, UPLIT (%ASCIZ' ('));
; 0673 OUTSTR (0, MCB_NAME);
; 0674 OUTPUT (0, %C' ');
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 34
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (5)
; 0675 OUTNUM (0, GETBYT (.DB_FILE, 2), 10, 0);
; 0676 OUTPUT (0, %C'.');
; 0677 OUTNUM (0, GETBYT (.DB_FILE, 3), 10, 0);
; 0678 OUTSTR (0, UPLIT (%ASCIZ') --> '));
; 0679 !
; 0680 ! Process Primary Load Block Command
; 0681 !
; 0682 DB_POINTER = 4;
; 0683 PRIMARY_COMMAND = GETBYT (.DB_FILE, .DB_POINTER);
; 0684 DB_VARIABLE_1 = GETBYT (.DB_FILE, .DB_POINTER + 1);
; 0685 DB_VARIABLE_2 = 0;
; 0686
; 0687 SELECTONE .PRIMARY_COMMAND OF
; 0688 SET
; 0689
; 0690 [CMD_ALLOC_DB_DSR, CMD_ALLOC_DB_POOL] :
; 0691 BEGIN
; 0692 CURBLK = (IF (.PRIMARY_COMMAND EQL CMD_ALLOC_DB_DSR) THEN ALOCB (.KERNEL_FILE,
; 0693 GETWRD (.DB_FILE, .DB_POINTER + 2), 0, .VALUES) ELSE ALOC_POOL (
; 0694 .KERNEL_FILE, GETWRD (.DB_FILE, .DB_POINTER + 2), 0, .VALUES));
; 0695 CURBAS = (.CURBLK AND ( NOT 63));
; 0696 CURMAX = .CURBLK + GETWRD (.DB_FILE, .DB_POINTER + 2);
; 0697 !
; 0698 ! Process the Load Block associated with this Primary Request
; 0699 !
; 0700 LB_POINTER = GETWRD (.DB_FILE, .DB_POINTER + 4);
; 0701 BLOCK_LOAD (.KERNEL_FILE, .DB_FILE, .LB_POINTER, .VALUES);
; 0702 !
; 0703 ! Store data base address in DDMnnn
; 0704 !
; 0705
; 0706 DO
; 0707 BEGIN
; 0708 CH$MOVE (3, CH$PTR (UPLIT (%ASCIZ'DDM')), CH$PTR (XXXNAME));
; 0709 TEMPORARY_PTR = CH$PTR (XXXNAME, 3);
; 0710 $CBOMG (TEMPORARY_PTR, .CURLIX, 0);
; 0711 CH$WCHAR (0, .TEMPORARY_PTR);
; 0712 CB_ADDRESS = .VALUES [CE_DATA_BASE] + SYM_VAL (.VALUES [CE_DATA_FILE],
; 0713 XXXNAME, 0);
; 0714 PUTWRD (.KERNEL_FILE, .CB_ADDRESS,
; 0715 (IF (.CURBLK GEQ %O'120000') THEN .CURBAS<6, 12, 0> ELSE 0));
; 0716 PUTWRD (.KERNEL_FILE, .CB_ADDRESS + 2,
; 0717 (IF (.CURBLK GEQ %O'120000') THEN ((.CURBLK - .CURBAS) + %O'140000') ELSE
; 0718 .CURBLK));
; 0719 END
; 0720 UNTIL NEXT_LIX (.DB_VARIABLE_1, .VALUES);
; 0721
; 0722 END;
; 0723
; 0724 [CMD_ALLOC_MUX_DSR, CMD_ALLOC_MUX_POOL] :
; 0725 BEGIN
; 0726 DB_VARIABLE_2 = GETBYT (.DB_FILE, .DB_POINTER + 2);
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 35
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (5)
; 0727 CTL_LENGTH = GETWRD (.DB_FILE, .DB_POINTER + 4);
; 0728 UNT_LENGTH = GETWRD (.DB_FILE, .DB_POINTER + 8);
; 0729 CURMAX = .CTL_LENGTH + (GET_VARIABLE (.DB_VARIABLE_2, .VALUES)*.UNT_LENGTH);
; 0730 CURBLK = (IF (.PRIMARY_COMMAND EQL CMD_ALLOC_MUX_DSR) THEN ALOCB (.KERNEL_FILE,
; 0731 .CURMAX, 0, .VALUES) ELSE ALOC_POOL (.KERNEL_FILE, .CURMAX, 0, .VALUES));
; 0732 CURBAS = (.CURBLK AND ( NOT 63));
; 0733 CURMAX = .CURMAX + .CURBLK;
; 0734 !
; 0735 ! Load the Controller block
; 0736 !
; 0737 LB_POINTER = GETWRD (.DB_FILE, .DB_POINTER + 6);
; 0738 BLOCK_LOAD (.KERNEL_FILE, .DB_FILE, .LB_POINTER, .VALUES);
; 0739 !
; 0740 ! Load each unit's block
; 0741 !
; 0742 CURBLK = .CURBLK + .CTL_LENGTH;
; 0743 LB_POINTER = GETWRD (.DB_FILE, .DB_POINTER + 10);
; 0744
; 0745 DECR DUMMY FROM GET_VARIABLE (.DB_VARIABLE_2, .VALUES) TO 1 DO
; 0746 BEGIN
; 0747 BLOCK_LOAD (.KERNEL_FILE, .DB_FILE, .LB_POINTER, .VALUES);
; 0748 !
; 0749 ! Plug Addresses into Data Structures
; 0750 !
; 0751
; 0752 DO
; 0753 BEGIN
; 0754 CH$MOVE (3, CH$PTR (UPLIT (%ASCIZ'DDM')), CH$PTR (XXXNAME));
; 0755 TEMPORARY_PTR = CH$PTR (XXXNAME, 3);
; 0756 $CBOMG (TEMPORARY_PTR, .CURLIX, 0);
; 0757 CH$WCHAR (0, .TEMPORARY_PTR);
; 0758 CB_ADDRESS = .VALUES [CE_DATA_BASE] + SYM_VAL (.VALUES [CE_DATA_FILE],
; 0759 XXXNAME, 0);
; 0760 PUTWRD (.KERNEL_FILE, .CB_ADDRESS,
; 0761 (IF (.CURBLK GEQ %O'120000') THEN .CURBAS<6, 12, 0> ELSE 0));
; 0762 PUTWRD (.KERNEL_FILE, .CB_ADDRESS + 2,
; 0763 (IF (.CURBLK GEQ %O'120000') THEN ((.CURBLK - .CURBAS) + %O'140000')
; 0764 ELSE .CURBLK));
; 0765 END
; 0766 UNTIL NEXT_LIX (.DB_VARIABLE_1, .VALUES);
; 0767
; 0768 CURBLK = .CURBLK + .UNT_LENGTH;
; 0769 END;
; 0770
; 0771 END;
; 0772
; 0773 [OTHERWISE] :
; 0774 ;
; 0775 TES;
; 0776
; 0777 !
; 0778 ! Printout Task information
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 36
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (5)
; 0779 !
; 0780 MODU_PTR = .DB_FILE [FILE_MODU];
; 0781 OUTSTR (0, MODU_PTR [MODU_NAME]);
; 0782 OUTPUT (0, %C' ');
; 0783 OUTSTR (0, MODU_PTR [MODU_IDENT]);
; 0784 OUTSTR (0, UPLIT (%ASCIZ' ]'));
; 0785 PCRLF (0);
; 0786 FCOR (.DB_FILE);
; 0787 END;
; 0788
; 0789 END
; 0790 ELSE
; 0791 NEXT_LIX (VAR_CURRENT_CTL, .VALUES)
; 0792
; 0793 WHILE (.CURLIX LEQ .VALUES [SLTNUM]);
; 0794
; 0795 END; ! of DDM_LOADS
P.AAR: BYTE (7)"D","D","M","_","L" ; DDM_L 401522' 104 104 115 137 114
BYTE (7)"O","A","D","S",000 ; OADS 401523' 117 101 104 123 000
P.AAS: BYTE (7)"[","L","o","a","d" ; [Load 401524' 133 114 157 141 144
BYTE (7)"i","n","g"," ","d" ; ing d 401525' 151 156 147 040 144
BYTE (7)"a","t","a"," ","b" ; ata b 401526' 141 164 141 040 142
BYTE (7)"a","s","e"," ","f" ; ase f 401527' 141 163 145 040 146
BYTE (7)"o","r"," ","L","I" ; or LI 401530' 157 162 040 114 111
BYTE (7)"N","E"," ",000,000 ; NE 401531' 116 105 040 000 000
P.AAT: BYTE (7)"D","D","M",000,000 ; DDM 401532' 104 104 115 000 000
P.AAU: BYTE (7)" ","(",000,000,000 ; ( 401533' 040 050 000 000 000
P.AAV: BYTE (7)")"," ","-","-",">" ; ) --> 401534' 051 040 055 055 076
BYTE (7)" ",000,000,000,000 ; 401535' 040 000 000 000 000
P.AAW: BYTE (7)"D","D","M",000,000 ; DDM 401536' 104 104 115 000 000
P.AAX: BYTE (7)"D","D","M",000,000 ; DDM 401537' 104 104 115 000 000
P.AAY: BYTE (7)" ","]",000,000,000 ; ] 401540' 040 135 000 000 000
ROUTINE_NAME= P.AAR ; 000000 401522'
DDM_LOADS:
PUSH SP,AC0 ; SP,AC0 401541' 261 17 0 00 000000 0571
PUSH SP,AC10 ; SP,AC10 401542' 261 17 0 00 000010
PUSH SP,AC11 ; SP,AC11 401543' 261 17 0 00 000011
PUSH SP,AC12 ; SP,AC12 401544' 261 17 0 00 000012
PUSH SP,AC13 ; SP,AC13 401545' 261 17 0 00 000013
PUSH SP,AC14 ; SP,AC14 401546' 261 17 0 00 000014
PUSH SP,AC16 ; SP,AC16 401547' 261 17 0 00 000016
ADJSP SP,17 ; SP,17 401550' 105 17 0 00 000017
SETZM CURLIX ; CURLIX 401551' 402 00 0 00 000003' 0625
SETZM CURSLT ; CURSLT 401552' 402 00 0 00 000004' 0626
SETZM CURCTL ; CURCTL 401553' 402 00 0 00 000006' 0627
PUSH SP,C.24 ; SP,[11] 401554' 261 17 0 00 401506' 0628
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 37
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (5)
MOVE AC14,-30(SP) ; AC14,VALUES 401555' 200 14 0 17 777750
PUSH SP,AC14 ; SP,AC14 401556' 261 17 0 00 000014
PUSHJ SP,NEXT_LIX ; SP,NEXT_LIX 401557' 260 17 0 00 000000V
SKIPN CURSLT ; CURSLT 401560' 336 00 0 00 000004' 0631
JRST L.55 ; L.55 401561' 254 00 0 00 402460'
MOVE AC11,AC14 ; AC11,AC14 401562' 200 11 0 00 000014 0793
ADDI AC11,1 ; AC11,1 401563' 271 11 0 00 000001
L.34: MOVE AC1,CURSLT ; AC1,CURSLT 401564' 200 01 0 00 000004' 0636
SKIPN 1(AC1) ; 1(AC1) 401565' 336 00 0 01 000001
JRST L.53 ; L.53 401566' 254 00 0 00 402451'
SETZM 0(SP) ; 0(SP) 401567' 402 00 0 17 000000 0642
PUSH SP,C.36 ; SP,[0,,P.AAS] 401570' 261 17 0 00 402472'
PUSHJ SP,OUTSTR ; SP,OUTSTR 401571' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 401572' 402 00 0 17 000000 0643
MOVE AC0,CURSLT ; AC0,CURSLT 401573' 200 00 0 00 000004'
ADDI AC0,1 ; AC0,1 401574' 271 00 0 00 000001
PUSH SP,AC0 ; SP,AC0 401575' 261 17 0 00 000000
PUSHJ SP,OUTSTR ; SP,OUTSTR 401576' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 401577' 402 00 0 17 000000 0644
PUSH SP,C.27 ; SP,[55] 401600' 261 17 0 00 401511'
PUSHJ SP,OUTPUT ; SP,OUTPUT 401601' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 401602' 402 00 0 17 000000 0645
MOVE AC0,CURSLT ; AC0,CURSLT 401603' 200 00 0 00 000004'
MOVE AC1,AC0 ; AC1,AC0 401604' 200 01 0 00 000000
PUSH SP,4(AC1) ; SP,4(AC1) 401605' 261 17 0 01 000004
PUSH SP,C.18 ; SP,[12] 401606' 261 17 0 00 400511'
PUSH SP,C.6 ; SP,[0] 401607' 261 17 0 00 400475'
PUSHJ SP,OUTNUM ; SP,OUTNUM 401610' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 401611' 402 00 0 17 000000 0646
PUSH SP,C.27 ; SP,[55] 401612' 261 17 0 00 401511'
PUSHJ SP,OUTPUT ; SP,OUTPUT 401613' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 401614' 402 00 0 17 000000 0647
MOVE AC0,CURSLT ; AC0,CURSLT 401615' 200 00 0 00 000004'
MOVE AC1,AC0 ; AC1,AC0 401616' 200 01 0 00 000000
PUSH SP,5(AC1) ; SP,5(AC1) 401617' 261 17 0 01 000005
PUSH SP,C.18 ; SP,[12] 401620' 261 17 0 00 400511'
PUSH SP,C.6 ; SP,[0] 401621' 261 17 0 00 400475'
PUSHJ SP,OUTNUM ; SP,OUTNUM 401622' 260 17 0 00 000000*
PUSH SP,C.8 ; SP,[3] 401623' 261 17 0 00 400477' 0652
PUSH SP,C.9 ; SP,[20] 401624' 261 17 0 00 400500'
PUSHJ SP,GETBLK ; SP,GETBLK 401625' 260 17 0 00 000000*
MOVE AC12,AC1 ; DB_FILE,AC1 401626' 200 12 0 00 000001
ADJSP SP,-2 ; SP,-2 401627' 105 17 0 00 777776
JUMPN AC12,L.35 ; DB_FILE,L.35 401630' 326 12 0 00 401642'
SETZM 0(SP) ; 0(SP) 401631' 402 00 0 17 000000 0654
PUSH SP,C.10 ; SP,[1] 401632' 261 17 0 00 400501'
PUSH SP,C.37 ; SP,[0,,ROUTINE_NAME] 401633' 261 17 0 00 402473'
PUSH SP,C.6 ; SP,[0] 401634' 261 17 0 00 400475'
PUSH SP,C.6 ; SP,[0] 401635' 261 17 0 00 400475'
PUSH SP,C.6 ; SP,[0] 401636' 261 17 0 00 400475'
PUSH SP,C.6 ; SP,[0] 401637' 261 17 0 00 400475'
PUSHJ SP,ERRMSG ; SP,ERRMSG 401640' 260 17 0 00 000000*
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 38
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (5)
JRST L.52 ; L.52 401641' 254 00 0 00 402447' 0652
L.35: MOVE AC1,CURSLT ; AC1,CURSLT 401642' 200 01 0 00 000004' 0661
MOVEI AC2,0(AC1) ; AC2,0(AC1) 401643' 201 02 0 01 000000
HRLI AC2,10700 ; AC2,10700 401644' 505 02 0 00 010700
MOVEI AC5,1(AC12) ; AC5,1(DB_FILE) 401645' 201 05 0 12 000001
HRLI AC5,10700 ; AC5,10700 401646' 505 05 0 00 010700
MOVEI AC1,3 ; AC1,3 401647' 201 01 0 00 000003
MOVEI AC4,3 ; AC4,3 401650' 201 04 0 00 000003
EXTEND AC1,C.2 ; AC1,[MOVSLJ ] 401651' 123 01 0 00 400470'
JFCL ; 401652' 255 00 0 00 000000
PUSH SP,C.12 ; SP,[50] 401653' 261 17 0 00 400503' 0664
MOVEI AC0,1(AC12) ; AC0,1(DB_FILE) 401654' 201 00 0 12 000001
HRLI AC0,10700 ; AC0,10700 401655' 505 00 0 00 010700
PUSH SP,AC0 ; SP,AC0 401656' 261 17 0 00 000000
PUSH SP,C.6 ; SP,[0] 401657' 261 17 0 00 400475'
PUSHJ SP,CHFCH% ; SP,CHFCH% 401660' 260 17 0 00 000000*
MOVE AC5,AC1 ; AC5,AC1 401661' 200 05 0 00 000001
MOVEI AC1,3 ; AC1,3 401662' 201 01 0 00 000003 0662
MOVE AC2,C.38 ; AC2,[POINT 7,P.AAT-1,34] <1,7> 401663' 200 02 0 00 402474'
MOVEI AC4,3 ; AC4,3 401664' 201 04 0 00 000003
EXTEND AC1,C.2 ; AC1,[MOVSLJ ] 401665' 123 01 0 00 400470'
JFCL ; 401666' 255 00 0 00 000000
PUSH SP,-47(SP) ; SP,FILE_CHAN 401667' 261 17 0 17 777731 0665
PUSH SP,AC12 ; SP,DB_FILE 401670' 261 17 0 00 000012
PUSHJ SP,RSTB ; SP,RSTB 401671' 260 17 0 00 000000*
MOVEM AC12,0(SP) ; DB_FILE,0(SP) 401672' 202 12 0 17 000000 0666
PUSH SP,-51(SP) ; SP,FILE_CHAN 401673' 261 17 0 17 777727
PUSH SP,C.30 ; SP,[20000] 401674' 261 17 0 00 401514'
PUSHJ SP,RCOR ; SP,RCOR 401675' 260 17 0 00 000000*
MOVEM AC12,-1(SP) ; DB_FILE,-1(SP) 401676' 202 12 0 17 777777 0670
SETZM 0(SP) ; 0(SP) 401677' 402 00 0 17 000000
PUSHJ SP,GETWRD ; SP,GETWRD 401700' 260 17 0 00 000000*
PUSH SP,AC1 ; SP,AC1 401701' 261 17 0 00 000001
MOVEI AC0,-42(SP) ; AC0,MCB_NAME 401702' 201 00 0 17 777736
PUSH SP,AC0 ; SP,AC0 401703' 261 17 0 00 000000
PUSHJ SP,R50TOA ; SP,R50TOA 401704' 260 17 0 00 000000*
MOVEI AC2,-43(SP) ; AC2,MCB_NAME 401705' 201 02 0 17 777735 0671
HRLI AC2,170700 ; AC2,170700 401706' 505 02 0 00 170700
MOVEI AC5,-44(SP) ; AC5,MCB_NAME-1 401707' 201 05 0 17 777734
HRLI AC5,10700 ; AC5,10700 401710' 505 05 0 00 010700
MOVEI AC1,4 ; AC1,4 401711' 201 01 0 00 000004
MOVEI AC4,4 ; AC4,4 401712' 201 04 0 00 000004
EXTEND AC1,C.2 ; AC1,[MOVSLJ ] 401713' 123 01 0 00 400470'
JFCL ; 401714' 255 00 0 00 000000
SETZM 0(SP) ; 0(SP) 401715' 402 00 0 17 000000 0672
PUSH SP,C.39 ; SP,[0,,P.AAU] 401716' 261 17 0 00 402475'
PUSHJ SP,OUTSTR ; SP,OUTSTR 401717' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 401720' 402 00 0 17 000000 0673
MOVEI AC0,-44(SP) ; AC0,MCB_NAME 401721' 201 00 0 17 777734
PUSH SP,AC0 ; SP,AC0 401722' 261 17 0 00 000000
PUSHJ SP,OUTSTR ; SP,OUTSTR 401723' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 401724' 402 00 0 17 000000 0674
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 39
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (5)
PUSH SP,C.16 ; SP,[40] 401725' 261 17 0 00 400507'
PUSHJ SP,OUTPUT ; SP,OUTPUT 401726' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 401727' 402 00 0 17 000000 0675
PUSH SP,AC12 ; SP,DB_FILE 401730' 261 17 0 00 000012
PUSH SP,C.17 ; SP,[2] 401731' 261 17 0 00 400510'
PUSHJ SP,GETBYT ; SP,GETBYT 401732' 260 17 0 00 000000*
ADJSP SP,-1 ; SP,-1 401733' 105 17 0 00 777777
MOVEM AC1,0(SP) ; AC1,0(SP) 401734' 202 01 0 17 000000
PUSH SP,C.18 ; SP,[12] 401735' 261 17 0 00 400511'
PUSH SP,C.6 ; SP,[0] 401736' 261 17 0 00 400475'
PUSHJ SP,OUTNUM ; SP,OUTNUM 401737' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 401740' 402 00 0 17 000000 0676
PUSH SP,C.19 ; SP,[56] 401741' 261 17 0 00 400512'
PUSHJ SP,OUTPUT ; SP,OUTPUT 401742' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 401743' 402 00 0 17 000000 0677
PUSH SP,AC12 ; SP,DB_FILE 401744' 261 17 0 00 000012
PUSH SP,C.8 ; SP,[3] 401745' 261 17 0 00 400477'
PUSHJ SP,GETBYT ; SP,GETBYT 401746' 260 17 0 00 000000*
ADJSP SP,-1 ; SP,-1 401747' 105 17 0 00 777777
MOVEM AC1,0(SP) ; AC1,0(SP) 401750' 202 01 0 17 000000
PUSH SP,C.18 ; SP,[12] 401751' 261 17 0 00 400511'
PUSH SP,C.6 ; SP,[0] 401752' 261 17 0 00 400475'
PUSHJ SP,OUTNUM ; SP,OUTNUM 401753' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 401754' 402 00 0 17 000000 0678
PUSH SP,C.40 ; SP,[0,,P.AAV] 401755' 261 17 0 00 402476'
PUSHJ SP,OUTSTR ; SP,OUTSTR 401756' 260 17 0 00 000000*
MOVEI AC13,4 ; DB_POINTER,4 401757' 201 13 0 00 000004 0682
MOVEM AC12,-1(SP) ; DB_FILE,-1(SP) 401760' 202 12 0 17 777777 0683
MOVEM AC13,0(SP) ; DB_POINTER,0(SP) 401761' 202 13 0 17 000000
PUSHJ SP,GETBYT ; SP,GETBYT 401762' 260 17 0 00 000000*
MOVEM AC1,-40(SP) ; AC1,PRIMARY_COMMAND 401763' 202 01 0 17 777740
MOVEM AC12,0(SP) ; DB_FILE,0(SP) 401764' 202 12 0 17 000000 0684
MOVE AC0,AC13 ; AC0,DB_POINTER 401765' 200 00 0 00 000013
ADDI AC0,1 ; AC0,1 401766' 271 00 0 00 000001
PUSH SP,AC0 ; SP,AC0 401767' 261 17 0 00 000000
PUSHJ SP,GETBYT ; SP,GETBYT 401770' 260 17 0 00 000000*
MOVEM AC1,-52(SP) ; AC1,DB_VARIABLE_1 401771' 202 01 0 17 777726
SETZM -50(SP) ; DB_VARIABLE_2 401772' 402 00 0 17 777730 0685
MOVEI AC0,20 ; AC0,20 401773' 201 00 0 00 000020 0687
CAMLE AC0,-41(SP) ; AC0,PRIMARY_COMMAND 401774' 313 00 0 17 777737
JRST L.42 ; L.42 401775' 254 00 0 00 402162'
MOVEI AC0,21 ; AC0,21 401776' 201 00 0 00 000021
CAMGE AC0,-41(SP) ; AC0,PRIMARY_COMMAND 401777' 315 00 0 17 777737
JRST L.42 ; L.42 402000' 254 00 0 00 402162'
MOVE AC0,AC13 ; AC0,DB_POINTER 402001' 200 00 0 00 000013 0693
ADDI AC0,2 ; AC0,2 402002' 271 00 0 00 000002
MOVE AC1,-72(SP) ; AC1,KERNEL_FILE 402003' 200 01 0 17 777706 0692
MOVEM AC1,-44(SP) ; AC1,-44(SP) 402004' 202 01 0 17 777734
MOVEI AC1,20 ; AC1,20 402005' 201 01 0 00 000020
CAME AC1,-41(SP) ; AC1,PRIMARY_COMMAND 402006' 312 01 0 17 777737
JRST L.36 ; L.36 402007' 254 00 0 00 402023'
MOVE AC1,-44(SP) ; AC1,-44(SP) 402010' 200 01 0 17 777734
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 40
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (5)
MOVEM AC1,0(SP) ; AC1,0(SP) 402011' 202 01 0 17 000000
PUSH SP,AC12 ; SP,DB_FILE 402012' 261 17 0 00 000012 0693
PUSH SP,AC0 ; SP,AC0 402013' 261 17 0 00 000000
PUSHJ SP,GETWRD ; SP,GETWRD 402014' 260 17 0 00 000000*
ADJSP SP,-1 ; SP,-1 402015' 105 17 0 00 777777
MOVEM AC1,0(SP) ; AC1,0(SP) 402016' 202 01 0 17 000000 0692
PUSH SP,C.6 ; SP,[0] 402017' 261 17 0 00 400475'
PUSH SP,AC14 ; SP,AC14 402020' 261 17 0 00 000014
PUSHJ SP,ALOCB ; SP,ALOCB 402021' 260 17 0 00 000000*
JRST L.37 ; L.37 402022' 254 00 0 00 402035'
L.36: MOVE AC1,-44(SP) ; AC1,-44(SP) 402023' 200 01 0 17 777734 0693
MOVEM AC1,0(SP) ; AC1,0(SP) 402024' 202 01 0 17 000000
PUSH SP,AC12 ; SP,DB_FILE 402025' 261 17 0 00 000012 0694
PUSH SP,AC0 ; SP,AC0 402026' 261 17 0 00 000000
PUSHJ SP,GETWRD ; SP,GETWRD 402027' 260 17 0 00 000000*
ADJSP SP,-1 ; SP,-1 402030' 105 17 0 00 777777
MOVEM AC1,0(SP) ; AC1,0(SP) 402031' 202 01 0 17 000000 0693
PUSH SP,C.6 ; SP,[0] 402032' 261 17 0 00 400475'
PUSH SP,AC14 ; SP,AC14 402033' 261 17 0 00 000014
PUSHJ SP,ALOC_POOL ; SP,ALOC_POOL 402034' 260 17 0 00 000000V
L.37: MOVEM AC1,CURBLK ; AC1,CURBLK 402035' 202 01 0 00 000000' 0692
TRZ AC1,77 ; AC1,77 402036' 620 01 0 00 000077 0695
MOVEM AC1,CURBAS ; AC1,CURBAS 402037' 202 01 0 00 000001'
MOVEM AC12,-1(SP) ; DB_FILE,-1(SP) 402040' 202 12 0 17 777777 0696
MOVEM AC0,0(SP) ; AC0,0(SP) 402041' 202 00 0 17 000000
PUSHJ SP,GETWRD ; SP,GETWRD 402042' 260 17 0 00 000000*
ADD AC1,CURBLK ; AC1,CURBLK 402043' 270 01 0 00 000000'
MOVEM AC1,CURMAX ; AC1,CURMAX 402044' 202 01 0 00 000002'
MOVEM AC12,0(SP) ; DB_FILE,0(SP) 402045' 202 12 0 17 000000 0700
MOVE AC0,AC13 ; AC0,DB_POINTER 402046' 200 00 0 00 000013
ADDI AC0,4 ; AC0,4 402047' 271 00 0 00 000004
PUSH SP,AC0 ; SP,AC0 402050' 261 17 0 00 000000
PUSHJ SP,GETWRD ; SP,GETWRD 402051' 260 17 0 00 000000*
MOVEM AC1,-55(SP) ; AC1,LB_POINTER 402052' 202 01 0 17 777723
MOVE AC0,-50(SP) ; AC0,-50(SP) 402053' 200 00 0 17 777730 0701
MOVEM AC0,-3(SP) ; AC0,-3(SP) 402054' 202 00 0 17 777775
MOVEM AC12,-2(SP) ; DB_FILE,-2(SP) 402055' 202 12 0 17 777776
MOVE AC0,-55(SP) ; AC0,LB_POINTER 402056' 200 00 0 17 777723
MOVEM AC0,-1(SP) ; AC0,-1(SP) 402057' 202 00 0 17 777777
MOVEM AC14,0(SP) ; AC14,0(SP) 402060' 202 14 0 17 000000
PUSHJ SP,BLOCK_LOAD ; SP,BLOCK_LOAD 402061' 260 17 0 00 000000V
MOVE AC16,AC14 ; AC16,AC14 402062' 200 16 0 00 000014 0712
ADDI AC16,5 ; AC16,5 402063' 271 16 0 00 000005
MOVE AC10,AC14 ; AC10,AC14 402064' 200 10 0 00 000014
ADDI AC10,4 ; AC10,4 402065' 271 10 0 00 000004
L.38: MOVEI AC5,-62(SP) ; AC5,XXXNAME-1 402066' 201 05 0 17 777716 0708
HRLI AC5,10700 ; AC5,10700 402067' 505 05 0 00 010700
MOVEI AC1,3 ; AC1,3 402070' 201 01 0 00 000003
MOVE AC2,C.41 ; AC2,[POINT 7,P.AAW-1,34] <1,7> 402071' 200 02 0 00 402477'
MOVEI AC4,3 ; AC4,3 402072' 201 04 0 00 000003
EXTEND AC1,C.2 ; AC1,[MOVSLJ ] 402073' 123 01 0 00 400470'
JFCL ; 402074' 255 00 0 00 000000
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 41
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (5)
MOVEI AC0,-61(SP) ; AC0,XXXNAME 402075' 201 00 0 17 777717 0709
HRLI AC0,170700 ; AC0,170700 402076' 505 00 0 00 170700
MOVEM AC0,-57(SP) ; AC0,TEMPORARY_PTR 402077' 202 00 0 17 777721
MOVEI AC0,-57(SP) ; AC0,TEMPORARY_PTR 402100' 201 00 0 17 777721 0710
PUSH SP,AC0 ; SP,AC0 402101' 261 17 0 00 000000
PUSH SP,CURLIX ; SP,CURLIX 402102' 261 17 0 00 000003'
PUSH SP,C.6 ; SP,[0] 402103' 261 17 0 00 400475'
PUSHJ SP,$CBOMG ; SP,$CBOMG 402104' 260 17 0 00 000000*
SETZ AC1, ; AC1, 402105' 400 01 0 00 000000 0711
MOVE AC0,-62(SP) ; AC0,TEMPORARY_PTR 402106' 200 00 0 17 777716
IDPB AC1,AC0 ; AC1,AC0 402107' 136 01 0 00 000000
HRRZ AC0,0(AC16) ; AC0,0(AC16) 402110' 550 00 0 16 000000 0712
PUSH SP,AC0 ; SP,AC0 402111' 261 17 0 00 000000
MOVEI AC0,-65(SP) ; AC0,XXXNAME 402112' 201 00 0 17 777713
PUSH SP,AC0 ; SP,AC0 402113' 261 17 0 00 000000
PUSH SP,C.6 ; SP,[0] 402114' 261 17 0 00 400475'
PUSHJ SP,SYM_VAL ; SP,SYM_VAL 402115' 260 17 0 00 000000*
LDB AC0,C.23 ; AC0,[POINT 19,0(AC10),35] <0,19> 402116' 135 00 0 00 401505'
ADD AC1,AC0 ; AC1,AC0 402117' 270 01 0 00 000000
MOVEM AC1,-54(SP) ; AC1,CB_ADDRESS 402120' 202 01 0 17 777724
MOVE AC0,-56(SP) ; AC0,-56(SP) 402121' 200 00 0 17 777722 0714
MOVEM AC0,-1(SP) ; AC0,-1(SP) 402122' 202 00 0 17 777777
MOVE AC0,-54(SP) ; AC0,CB_ADDRESS 402123' 200 00 0 17 777724
MOVEM AC0,0(SP) ; AC0,0(SP) 402124' 202 00 0 17 000000
MOVEI AC0,120000 ; AC0,120000 402125' 201 00 0 00 120000 0715
CAMLE AC0,CURBLK ; AC0,CURBLK 402126' 313 00 0 00 000000'
JRST L.39 ; L.39 402127' 254 00 0 00 402133'
LDB AC0,C.5 ; AC0,[POINT 12,CURBAS,29] <6,12> 402130' 135 00 0 00 400474'
PUSH SP,AC0 ; SP,AC0 402131' 261 17 0 00 000000
JRST L.40 ; L.40 402132' 254 00 0 00 402134'
L.39: PUSH SP,C.6 ; SP,[0] 402133' 261 17 0 00 400475'
L.40: PUSHJ SP,PUTWRD ; SP,PUTWRD 402134' 260 17 0 00 000000* 0714
MOVE AC0,-57(SP) ; AC0,-57(SP) 402135' 200 00 0 17 777721 0716
MOVEM AC0,0(SP) ; AC0,0(SP) 402136' 202 00 0 17 000000
MOVE AC0,-55(SP) ; AC0,CB_ADDRESS 402137' 200 00 0 17 777723
ADDI AC0,2 ; AC0,2 402140' 271 00 0 00 000002
PUSH SP,AC0 ; SP,AC0 402141' 261 17 0 00 000000
MOVE AC0,CURBLK ; AC0,CURBLK 402142' 200 00 0 00 000000' 0717
CAIGE AC0,120000 ; AC0,120000 402143' 305 00 0 00 120000
JRST L.41 ; L.41 402144' 254 00 0 00 402147'
SUB AC0,CURBAS ; AC0,CURBAS 402145' 274 00 0 00 000001'
ADDI AC0,140000 ; AC0,140000 402146' 271 00 0 00 140000
L.41: PUSH SP,AC0 ; SP,AC0 402147' 261 17 0 00 000000
PUSHJ SP,PUTWRD ; SP,PUTWRD 402150' 260 17 0 00 000000* 0716
ADJSP SP,-11 ; SP,-11 402151' 105 17 0 00 777767 0707
MOVE AC0,-56(SP) ; AC0,DB_VARIABLE_1 402152' 200 00 0 17 777722 0720
MOVEM AC0,-1(SP) ; AC0,-1(SP) 402153' 202 00 0 17 777777
MOVEM AC14,0(SP) ; AC14,0(SP) 402154' 202 14 0 17 000000
PUSHJ SP,NEXT_LIX ; SP,NEXT_LIX 402155' 260 17 0 00 000000V
TRNN AC1,1 ; AC1,1 402156' 606 01 0 00 000001
JRST L.38 ; L.38 402157' 254 00 0 00 402066' 0706
ADJSP SP,-4 ; SP,-4 402160' 105 17 0 00 777774 0691
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 42
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (5)
JRST L.51 ; L.51 402161' 254 00 0 00 402420' 0687
L.42: MOVEI AC0,30 ; AC0,30 402162' 201 00 0 00 000030
CAMLE AC0,-41(SP) ; AC0,PRIMARY_COMMAND 402163' 313 00 0 17 777737
JRST L.51 ; L.51 402164' 254 00 0 00 402420'
MOVEI AC0,31 ; AC0,31 402165' 201 00 0 00 000031
CAMGE AC0,-41(SP) ; AC0,PRIMARY_COMMAND 402166' 315 00 0 17 777737
JRST L.51 ; L.51 402167' 254 00 0 00 402420'
MOVEM AC12,0(SP) ; DB_FILE,0(SP) 402170' 202 12 0 17 000000 0726
MOVE AC0,AC13 ; AC0,DB_POINTER 402171' 200 00 0 00 000013
ADDI AC0,2 ; AC0,2 402172' 271 00 0 00 000002
PUSH SP,AC0 ; SP,AC0 402173' 261 17 0 00 000000
PUSHJ SP,GETBYT ; SP,GETBYT 402174' 260 17 0 00 000000*
MOVEM AC1,-51(SP) ; AC1,DB_VARIABLE_2 402175' 202 01 0 17 777727
MOVEM AC12,0(SP) ; DB_FILE,0(SP) 402176' 202 12 0 17 000000 0727
MOVE AC0,AC13 ; AC0,DB_POINTER 402177' 200 00 0 00 000013
ADDI AC0,4 ; AC0,4 402200' 271 00 0 00 000004
PUSH SP,AC0 ; SP,AC0 402201' 261 17 0 00 000000
PUSHJ SP,GETWRD ; SP,GETWRD 402202' 260 17 0 00 000000*
MOVEM AC1,-51(SP) ; AC1,CTL_LENGTH 402203' 202 01 0 17 777727
MOVEM AC12,0(SP) ; DB_FILE,0(SP) 402204' 202 12 0 17 000000 0728
MOVE AC0,AC13 ; AC0,DB_POINTER 402205' 200 00 0 00 000013
ADDI AC0,10 ; AC0,10 402206' 271 00 0 00 000010
PUSH SP,AC0 ; SP,AC0 402207' 261 17 0 00 000000
PUSHJ SP,GETWRD ; SP,GETWRD 402210' 260 17 0 00 000000*
MOVEM AC1,-51(SP) ; AC1,UNT_LENGTH 402211' 202 01 0 17 777727
MOVE AC0,-53(SP) ; AC0,DB_VARIABLE_2 402212' 200 00 0 17 777725 0729
MOVEM AC0,-1(SP) ; AC0,-1(SP) 402213' 202 00 0 17 777777
MOVEM AC14,0(SP) ; AC14,0(SP) 402214' 202 14 0 17 000000
PUSHJ SP,GET_VARIABLE ; SP,GET_VARIABLE 402215' 260 17 0 00 000000V
IMUL AC1,-51(SP) ; AC1,UNT_LENGTH 402216' 220 01 0 17 777727
ADD AC1,-52(SP) ; AC1,CTL_LENGTH 402217' 270 01 0 17 777726
MOVEM AC1,CURMAX ; AC1,CURMAX 402220' 202 01 0 00 000002'
MOVE AC0,-75(SP) ; AC0,KERNEL_FILE 402221' 200 00 0 17 777703 0730
MOVEM AC0,-47(SP) ; AC0,-47(SP) 402222' 202 00 0 17 777731
MOVEI AC0,30 ; AC0,30 402223' 201 00 0 00 000030
CAME AC0,-44(SP) ; AC0,PRIMARY_COMMAND 402224' 312 00 0 17 777734
JRST L.43 ; L.43 402225' 254 00 0 00 402235'
MOVE AC0,-47(SP) ; AC0,-47(SP) 402226' 200 00 0 17 777731
MOVEM AC0,0(SP) ; AC0,0(SP) 402227' 202 00 0 17 000000
PUSH SP,CURMAX ; SP,CURMAX 402230' 261 17 0 00 000002'
PUSH SP,C.6 ; SP,[0] 402231' 261 17 0 00 400475'
PUSH SP,AC14 ; SP,AC14 402232' 261 17 0 00 000014
PUSHJ SP,ALOCB ; SP,ALOCB 402233' 260 17 0 00 000000*
JRST L.44 ; L.44 402234' 254 00 0 00 402243'
L.43: MOVE AC0,-47(SP) ; AC0,-47(SP) 402235' 200 00 0 17 777731 0731
MOVEM AC0,0(SP) ; AC0,0(SP) 402236' 202 00 0 17 000000
PUSH SP,CURMAX ; SP,CURMAX 402237' 261 17 0 00 000002'
PUSH SP,C.6 ; SP,[0] 402240' 261 17 0 00 400475'
PUSH SP,AC14 ; SP,AC14 402241' 261 17 0 00 000014
PUSHJ SP,ALOC_POOL ; SP,ALOC_POOL 402242' 260 17 0 00 000000V
L.44: MOVEM AC1,CURBLK ; AC1,CURBLK 402243' 202 01 0 00 000000' 0730
MOVE AC0,CURBLK ; AC0,CURBLK 402244' 200 00 0 00 000000' 0732
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 43
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (5)
TRZ AC0,77 ; AC0,77 402245' 620 00 0 00 000077
MOVEM AC0,CURBAS ; AC0,CURBAS 402246' 202 00 0 00 000001'
MOVE AC0,CURBLK ; AC0,CURBLK 402247' 200 00 0 00 000000' 0733
ADDM AC0,CURMAX ; AC0,CURMAX 402250' 272 00 0 00 000002'
MOVEM AC12,0(SP) ; DB_FILE,0(SP) 402251' 202 12 0 17 000000 0737
MOVE AC0,AC13 ; AC0,DB_POINTER 402252' 200 00 0 00 000013
ADDI AC0,6 ; AC0,6 402253' 271 00 0 00 000006
PUSH SP,AC0 ; SP,AC0 402254' 261 17 0 00 000000
PUSHJ SP,GETWRD ; SP,GETWRD 402255' 260 17 0 00 000000*
MOVEM AC1,-60(SP) ; AC1,LB_POINTER 402256' 202 01 0 17 777720
MOVE AC0,-53(SP) ; AC0,-53(SP) 402257' 200 00 0 17 777725 0738
MOVEM AC0,-3(SP) ; AC0,-3(SP) 402260' 202 00 0 17 777775
MOVEM AC12,-2(SP) ; DB_FILE,-2(SP) 402261' 202 12 0 17 777776
MOVE AC0,-60(SP) ; AC0,LB_POINTER 402262' 200 00 0 17 777720
MOVEM AC0,-1(SP) ; AC0,-1(SP) 402263' 202 00 0 17 777777
MOVEM AC14,0(SP) ; AC14,0(SP) 402264' 202 14 0 17 000000
PUSHJ SP,BLOCK_LOAD ; SP,BLOCK_LOAD 402265' 260 17 0 00 000000V
MOVE AC0,-56(SP) ; AC0,CTL_LENGTH 402266' 200 00 0 17 777722 0742
ADDM AC0,CURBLK ; AC0,CURBLK 402267' 272 00 0 00 000000'
MOVEM AC12,0(SP) ; DB_FILE,0(SP) 402270' 202 12 0 17 000000 0743
MOVE AC0,AC13 ; AC0,DB_POINTER 402271' 200 00 0 00 000013
ADDI AC0,12 ; AC0,12 402272' 271 00 0 00 000012
PUSH SP,AC0 ; SP,AC0 402273' 261 17 0 00 000000
PUSHJ SP,GETWRD ; SP,GETWRD 402274' 260 17 0 00 000000*
MOVEM AC1,-61(SP) ; AC1,LB_POINTER 402275' 202 01 0 17 777717
MOVE AC0,-60(SP) ; AC0,DB_VARIABLE_2 402276' 200 00 0 17 777720 0745
MOVEM AC0,-1(SP) ; AC0,-1(SP) 402277' 202 00 0 17 777777
MOVEM AC14,0(SP) ; AC14,0(SP) 402300' 202 14 0 17 000000
PUSHJ SP,GET_VARIABLE ; SP,GET_VARIABLE 402301' 260 17 0 00 000000V
MOVE AC16,AC1 ; AC16,AC1 402302' 200 16 0 00 000001
MOVE AC0,AC14 ; AC0,AC14 402303' 200 00 0 00 000014 0758
ADDI AC0,5 ; AC0,5 402304' 271 00 0 00 000005
MOVEM AC0,-53(SP) ; AC0,-53(SP) 402305' 202 00 0 17 777725
MOVE AC10,AC14 ; AC10,AC14 402306' 200 10 0 00 000014
ADDI AC10,4 ; AC10,4 402307' 271 10 0 00 000004
AOJA AC16,L.50 ; AC16,L.50 402310' 344 16 0 00 402416' 0745
L.45: MOVE AC0,-54(SP) ; AC0,-54(SP) 402311' 200 00 0 17 777724 0747
MOVEM AC0,-3(SP) ; AC0,-3(SP) 402312' 202 00 0 17 777775
MOVEM AC12,-2(SP) ; DB_FILE,-2(SP) 402313' 202 12 0 17 777776
MOVE AC0,-61(SP) ; AC0,LB_POINTER 402314' 200 00 0 17 777717
MOVEM AC0,-1(SP) ; AC0,-1(SP) 402315' 202 00 0 17 777777
MOVEM AC14,0(SP) ; AC14,0(SP) 402316' 202 14 0 17 000000
PUSHJ SP,BLOCK_LOAD ; SP,BLOCK_LOAD 402317' 260 17 0 00 000000V
L.46: MOVEI AC5,-66(SP) ; AC5,XXXNAME-1 402320' 201 05 0 17 777712 0754
HRLI AC5,10700 ; AC5,10700 402321' 505 05 0 00 010700
MOVEI AC1,3 ; AC1,3 402322' 201 01 0 00 000003
MOVE AC2,C.42 ; AC2,[POINT 7,P.AAX-1,34] <1,7> 402323' 200 02 0 00 402500'
MOVEI AC4,3 ; AC4,3 402324' 201 04 0 00 000003
EXTEND AC1,C.2 ; AC1,[MOVSLJ ] 402325' 123 01 0 00 400470'
JFCL ; 402326' 255 00 0 00 000000
MOVEI AC0,-65(SP) ; AC0,XXXNAME 402327' 201 00 0 17 777713 0755
HRLI AC0,170700 ; AC0,170700 402330' 505 00 0 00 170700
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 44
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (5)
MOVEM AC0,-63(SP) ; AC0,TEMPORARY_PTR 402331' 202 00 0 17 777715
MOVEI AC0,-63(SP) ; AC0,TEMPORARY_PTR 402332' 201 00 0 17 777715 0756
PUSH SP,AC0 ; SP,AC0 402333' 261 17 0 00 000000
PUSH SP,CURLIX ; SP,CURLIX 402334' 261 17 0 00 000003'
PUSH SP,C.6 ; SP,[0] 402335' 261 17 0 00 400475'
PUSHJ SP,$CBOMG ; SP,$CBOMG 402336' 260 17 0 00 000000*
SETZ AC1, ; AC1, 402337' 400 01 0 00 000000 0757
MOVE AC0,-66(SP) ; AC0,TEMPORARY_PTR 402340' 200 00 0 17 777712
IDPB AC1,AC0 ; AC1,AC0 402341' 136 01 0 00 000000
MOVE AC1,-56(SP) ; AC1,-56(SP) 402342' 200 01 0 17 777722 0758
HRRZ AC0,0(AC1) ; AC0,0(AC1) 402343' 550 00 0 01 000000
PUSH SP,AC0 ; SP,AC0 402344' 261 17 0 00 000000
MOVEI AC0,-71(SP) ; AC0,XXXNAME 402345' 201 00 0 17 777707
PUSH SP,AC0 ; SP,AC0 402346' 261 17 0 00 000000
PUSH SP,C.6 ; SP,[0] 402347' 261 17 0 00 400475'
PUSHJ SP,SYM_VAL ; SP,SYM_VAL 402350' 260 17 0 00 000000*
LDB AC0,C.23 ; AC0,[POINT 19,0(AC10),35] <0,19> 402351' 135 00 0 00 401505'
ADD AC1,AC0 ; AC1,AC0 402352' 270 01 0 00 000000
MOVEM AC1,-60(SP) ; AC1,CB_ADDRESS 402353' 202 01 0 17 777720
MOVE AC0,-62(SP) ; AC0,-62(SP) 402354' 200 00 0 17 777716 0760
MOVEM AC0,-1(SP) ; AC0,-1(SP) 402355' 202 00 0 17 777777
MOVE AC0,-60(SP) ; AC0,CB_ADDRESS 402356' 200 00 0 17 777720
MOVEM AC0,0(SP) ; AC0,0(SP) 402357' 202 00 0 17 000000
MOVEI AC0,120000 ; AC0,120000 402360' 201 00 0 00 120000 0761
CAMLE AC0,CURBLK ; AC0,CURBLK 402361' 313 00 0 00 000000'
JRST L.47 ; L.47 402362' 254 00 0 00 402366'
LDB AC0,C.5 ; AC0,[POINT 12,CURBAS,29] <6,12> 402363' 135 00 0 00 400474'
PUSH SP,AC0 ; SP,AC0 402364' 261 17 0 00 000000
JRST L.48 ; L.48 402365' 254 00 0 00 402367'
L.47: PUSH SP,C.6 ; SP,[0] 402366' 261 17 0 00 400475'
L.48: PUSHJ SP,PUTWRD ; SP,PUTWRD 402367' 260 17 0 00 000000* 0760
MOVE AC0,-63(SP) ; AC0,-63(SP) 402370' 200 00 0 17 777715 0762
MOVEM AC0,0(SP) ; AC0,0(SP) 402371' 202 00 0 17 000000
MOVE AC0,-61(SP) ; AC0,CB_ADDRESS 402372' 200 00 0 17 777717
ADDI AC0,2 ; AC0,2 402373' 271 00 0 00 000002
PUSH SP,AC0 ; SP,AC0 402374' 261 17 0 00 000000
MOVE AC0,CURBLK ; AC0,CURBLK 402375' 200 00 0 00 000000' 0763
CAIGE AC0,120000 ; AC0,120000 402376' 305 00 0 00 120000
JRST L.49 ; L.49 402377' 254 00 0 00 402402'
SUB AC0,CURBAS ; AC0,CURBAS 402400' 274 00 0 00 000001'
ADDI AC0,140000 ; AC0,140000 402401' 271 00 0 00 140000
L.49: PUSH SP,AC0 ; SP,AC0 402402' 261 17 0 00 000000
PUSHJ SP,PUTWRD ; SP,PUTWRD 402403' 260 17 0 00 000000* 0762
ADJSP SP,-3 ; SP,-3 402404' 105 17 0 00 777775
ADJSP SP,-6 ; SP,-6 402405' 105 17 0 00 777772 0753
MOVE AC0,-62(SP) ; AC0,DB_VARIABLE_1 402406' 200 00 0 17 777716 0766
MOVEM AC0,-1(SP) ; AC0,-1(SP) 402407' 202 00 0 17 777777
MOVEM AC14,0(SP) ; AC14,0(SP) 402410' 202 14 0 17 000000
PUSHJ SP,NEXT_LIX ; SP,NEXT_LIX 402411' 260 17 0 00 000000V
TRNN AC1,1 ; AC1,1 402412' 606 01 0 00 000001
JRST L.46 ; L.46 402413' 254 00 0 00 402320' 0752
MOVE AC0,-56(SP) ; AC0,UNT_LENGTH 402414' 200 00 0 17 777722 0768
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 45
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (5)
ADDM AC0,CURBLK ; AC0,CURBLK 402415' 272 00 0 00 000000'
L.50: SOJG AC16,L.45 ; DUMMY,L.45 402416' 367 16 0 00 402311' 0745
ADJSP SP,-10 ; SP,-10 402417' 105 17 0 00 777770 0725
L.51: HRRZ AC0,14(AC12) ; AC0,14(DB_FILE) 402420' 550 00 0 12 000014 0780
MOVEM AC0,-45(SP) ; AC0,MODU_PTR 402421' 202 00 0 17 777733
SETZM 0(SP) ; 0(SP) 402422' 402 00 0 17 000000 0781
MOVE AC0,-45(SP) ; AC0,MODU_PTR 402423' 200 00 0 17 777733
ADDI AC0,1 ; AC0,1 402424' 271 00 0 00 000001
PUSH SP,AC0 ; SP,AC0 402425' 261 17 0 00 000000
PUSHJ SP,OUTSTR ; SP,OUTSTR 402426' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 402427' 402 00 0 17 000000 0782
PUSH SP,C.16 ; SP,[40] 402430' 261 17 0 00 400507'
PUSHJ SP,OUTPUT ; SP,OUTPUT 402431' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 402432' 402 00 0 17 000000 0783
MOVE AC0,-47(SP) ; AC0,MODU_PTR 402433' 200 00 0 17 777731
ADDI AC0,3 ; AC0,3 402434' 271 00 0 00 000003
PUSH SP,AC0 ; SP,AC0 402435' 261 17 0 00 000000
PUSHJ SP,OUTSTR ; SP,OUTSTR 402436' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 402437' 402 00 0 17 000000 0784
PUSH SP,C.43 ; SP,[0,,P.AAY] 402440' 261 17 0 00 402501'
PUSHJ SP,OUTSTR ; SP,OUTSTR 402441' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 402442' 402 00 0 17 000000 0785
PUSHJ SP,PCRLF ; SP,PCRLF 402443' 260 17 0 00 000000*
MOVEM AC12,0(SP) ; DB_FILE,0(SP) 402444' 202 12 0 17 000000 0786
PUSHJ SP,FCOR ; SP,FCOR 402445' 260 17 0 00 000000*
ADJSP SP,-23 ; SP,-23 402446' 105 17 0 00 777755 0657
L.52: ADJSP SP,-16 ; SP,-16 402447' 105 17 0 00 777762 0638
JRST L.54 ; L.54 402450' 254 00 0 00 402454' 0636
L.53: PUSH SP,C.24 ; SP,[11] 402451' 261 17 0 00 401506' 0791
PUSH SP,AC14 ; SP,AC14 402452' 261 17 0 00 000014
PUSHJ SP,NEXT_LIX ; SP,NEXT_LIX 402453' 260 17 0 00 000000V
L.54: ADJSP SP,-2 ; SP,-2 402454' 105 17 0 00 777776 0636
HRRZ AC0,0(AC11) ; AC0,0(AC11) 402455' 550 00 0 11 000000 0793
CAML AC0,CURLIX ; AC0,CURLIX 402456' 311 00 0 00 000003'
JRST L.34 ; L.34 402457' 254 00 0 00 401564'
L.55: ADJSP SP,-2 ; SP,-2 402460' 105 17 0 00 777776 0598
ADJSP SP,-17 ; SP,-17 402461' 105 17 0 00 777761 0571
POP SP,AC16 ; SP,AC16 402462' 262 17 0 00 000016
POP SP,AC14 ; SP,AC14 402463' 262 17 0 00 000014
POP SP,AC13 ; SP,AC13 402464' 262 17 0 00 000013
POP SP,AC12 ; SP,AC12 402465' 262 17 0 00 000012
POP SP,AC11 ; SP,AC11 402466' 262 17 0 00 000011
POP SP,AC10 ; SP,AC10 402467' 262 17 0 00 000010
POP SP,AC0 ; SP,AC0 402470' 262 17 0 00 000000
POPJ SP, ; SP, 402471' 263 17 0 00 000000
C.36: XWD 0,P.AAS ; 0,P.AAS 402472' 000000 401524'
C.37: XWD 0,ROUTINE_NAME ; 0,ROUTINE_NAME 402473' 000000 401522'
C.38: POINT 7,P.AAT-1,34 ; 7,P.AAT-1,34 402474' 01 07 0 00 401531'
C.39: XWD 0,P.AAU ; 0,P.AAU 402475' 000000 401533'
C.40: XWD 0,P.AAV ; 0,P.AAV 402476' 000000 401534'
C.41: POINT 7,P.AAW-1,34 ; 7,P.AAW-1,34 402477' 01 07 0 00 401535'
C.42: POINT 7,P.AAX-1,34 ; 7,P.AAX-1,34 402500' 01 07 0 00 401536'
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 46
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (5)
C.43: XWD 0,P.AAY ; 0,P.AAY 402501' 000000 401540'
; Routine Size: 481 words
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 47
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (6)
; 0796 ROUTINE BLOCK_LOAD (KERNEL_FILE, DB_FILE, LB_POINTER, VALUES) : NOVALUE =
; 0797
; 0798 !++
; 0799 ! FUNCTIONAL DESCRIPTION:
; 0800 !
; 0801 ! Process Data Base Load Blocks actually constructing the data base
; 0802 ! in the Kernel_File.
; 0803 !
; 0804 ! FORMAL PARAMETERS
; 0805 !
; 0806 ! KERNEL_FILE - RSX Kernel File
; 0807 ! DB_FILE - Process Data Base File
; 0808 ! LB_POINTER - Pointer to Load Block in DB_FILE
; 0809 ! VALUES - Misc. Important Locations for VNP
; 0810 !
; 0811 ! IMPLICIT INPUTS
; 0812 !
; 0813 ! NONE.
; 0814 !
; 0815 ! ROUTINE VALUE:
; 0816 !
; 0817 ! NONE.
; 0818 !
; 0819 ! SIDE EFFECTS:
; 0820 !
; 0821 ! Can call itself recursively!
; 0822 !
; 0823 !--
; 0824
; 0825 BEGIN
; 0826
; 0827 BIND
; 0828 ROUTINE_NAME = UPLIT (%ASCIZ'BLOCK_LOAD');
; 0829
; 0830 MAP
; 0831 KERNEL_FILE : REF FILE_BLOCK,
; 0832 DB_FILE : REF FILE_BLOCK,
; 0833 VALUES : REF VNPVAL_BLOCK;
; 0834
; 0835 LOCAL
; 0836 CB_ADDRESS, !Physical Address of current memory block
; 0837 CB_LENGTH,
; 0838 CB_SAVE_BASE, !Save location for Current Block Base
; 0839 CB_SAVE_MAX, !Save location for Maximum Extent of block
; 0840 CB_SAVE, !Save location for current block pointer
; 0841 LB_ADDRESS,
; 0842 LB_COMMAND, !Current command
; 0843 LB_LENGTH,
; 0844 LB_PC, !Pointer to current command word
; 0845 LB_VARIABLE, !Current Variable from command
; 0846 FATAL_ERROR; !Aborts processing on error
; 0847
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 48
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (6)
; 0848 !
; 0849 ! Initialize processing loop
; 0850 !
; 0851 FATAL_ERROR = FALSE;
; 0852 LB_PC = .LB_POINTER;
; 0853 CB_SAVE = .CURBLK;
; 0854 CB_SAVE_BASE = .CURBAS;
; 0855 CB_SAVE_MAX = .CURMAX;
; 0856
; 0857 DO ! Main Processing Loop
; 0858 BEGIN
; 0859 LB_COMMAND = GETBYT (.DB_FILE, .LB_PC);
; 0860 LB_VARIABLE = GETBYT (.DB_FILE, .LB_PC + 1);
; 0861 LB_PC = .LB_PC + 2;
; 0862
; 0863 IF DEBUG
; 0864 THEN
; 0865 BEGIN
; 0866 PCRLF (0);
; 0867 OUTSTR (0, UPLIT (%ASCIZ'Command, Variable # = '));
; 0868 OUTNUM (0, .LB_COMMAND, 8, 0);
; 0869 OUTPUT (0, %C',');
; 0870 OUTNUM (0, .LB_VARIABLE, 8, 0);
; 0871 END;
; 0872
; 0873 SELECTONE .LB_COMMAND OF
; 0874 SET
; 0875
; 0876 [CMD_END] :
; 0877 ;
; 0878
; 0879 [CMD_MOVE_WORD] :
; 0880 BEGIN
; 0881 CB_ADDRESS = .CURBLK + GETWRD (.DB_FILE, .LB_PC);
; 0882 PUTWRD (.KERNEL_FILE, .CB_ADDRESS, GET_VARIABLE (.LB_VARIABLE, .VALUES));
; 0883 LB_PC = .LB_PC + 2;
; 0884 END;
; 0885
; 0886 [CMD_MOVE_BYTE] :
; 0887 BEGIN
; 0888 CB_ADDRESS = .CURBLK + GETWRD (.DB_FILE, .LB_PC);
; 0889 PUTBYT (.KERNEL_FILE, .CB_ADDRESS, GET_VARIABLE (.LB_VARIABLE, .VALUES));
; 0890 LB_PC = .LB_PC + 2;
; 0891 END;
; 0892
; 0893 [CMD_ADD_WORD] :
; 0894 BEGIN
; 0895 CB_ADDRESS = .CURBLK + GETWRD (.DB_FILE, .LB_PC);
; 0896 PUTWRD (.KERNEL_FILE, .CB_ADDRESS,
; 0897 GETWRD (.KERNEL_FILE, .CB_ADDRESS) + GET_VARIABLE (.LB_VARIABLE, .VALUES));
; 0898 LB_PC = .LB_PC + 2;
; 0899 END;
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 49
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (6)
; 0900
; 0901 [CMD_ADD_BYTE] :
; 0902 BEGIN
; 0903 CB_ADDRESS = .CURBLK + GETWRD (.DB_FILE, .LB_PC);
; 0904 PUTBYT (.KERNEL_FILE, .CB_ADDRESS,
; 0905 GETBYT (.KERNEL_FILE, .CB_ADDRESS) + GET_VARIABLE (.LB_VARIABLE, .VALUES));
; 0906 LB_PC = .LB_PC + 2;
; 0907 END;
; 0908
; 0909 [CMD_MOVE_TEXT] :
; 0910 BEGIN
; 0911 CB_ADDRESS = .CURBLK + GETWRD (.DB_FILE, .LB_PC);
; 0912 LB_LENGTH = GETWRD (.DB_FILE, .LB_PC + 2);
; 0913 LB_ADDRESS = GETWRD (.DB_FILE, .LB_PC + 4);
; 0914
; 0915 IF ((.CB_ADDRESS + .LB_LENGTH) GTR .CURMAX)
; 0916 THEN
; 0917 ERRMSG (0, 25, ROUTINE_NAME,
; 0918 .CB_ADDRESS + .LB_LENGTH, DB_FILE [FILE_NAME], 0, 0);
; 0919
; 0920 IF (.LB_LENGTH GTR 0)
; 0921 THEN
; 0922
; 0923 INCR BYTE_NUMBER FROM 0 TO .LB_LENGTH - 1 DO
; 0924 PUTBYT (.KERNEL_FILE, .CB_ADDRESS + .BYTE_NUMBER,
; 0925 GETBYT (.DB_FILE,
; 0926 .LB_ADDRESS + .BYTE_NUMBER));
; 0927
; 0928 LB_PC = .LB_PC + 6;
; 0929 END;
; 0930
; 0931 [CMD_VERIFY_VALUES] :
; 0932 BEGIN
; 0933
; 0934 IF (GETWRD (.DB_FILE, .LB_PC) NEQU GETWRD (.DB_FILE, .LB_PC + 2))
; 0935 THEN
; 0936 BEGIN
; 0937 PCRLF (0);
; 0938 OUTSTR (0, UPLIT (%ASCIZ'? Database Verification Error, Value 1='));
; 0939 OUTNUM (0, GETWRD (.DB_FILE, .LB_PC), 8, 0);
; 0940 OUTSTR (0, UPLIT (%ASCIZ', Value 2 ='));
; 0941 OUTNUM (0, GETWRD (.DB_FILE, .LB_PC + 2), 8, 0);
; 0942 FATAL_ERROR = TRUE;
; 0943 END;
; 0944
; 0945 LB_PC = .LB_PC + 4;
; 0946 END;
; 0947
; 0948 [CMD_ALLOC_DSR] :
; 0949 BEGIN
; 0950 CB_LENGTH = GETWRD (.DB_FILE, .LB_PC + 2);
; 0951 CB_ADDRESS = ALOCB (.KERNEL_FILE, .CB_LENGTH, 0, .VALUES);
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 50
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (6)
; 0952 PUTWRD (.KERNEL_FILE, .CURBLK + GETWRD (.DB_FILE, .LB_PC), .CB_ADDRESS);
; 0953 CURMAX = .CB_ADDRESS + .CB_LENGTH;
; 0954 CURBLK = .CB_ADDRESS;
; 0955 CURBAS = (.CURBLK AND ( NOT 63));
; 0956
; 0957 IF ((LB_ADDRESS = GETWRD (.DB_FILE, .LB_PC + 4)) NEQ 0)
; 0958 THEN
; 0959 BLOCK_LOAD (.KERNEL_FILE,
; 0960 .DB_FILE, .LB_ADDRESS, .VALUES);
; 0961
; 0962 CURBLK = .CB_SAVE;
; 0963 CURBAS = .CB_SAVE_BASE;
; 0964 CURMAX = .CB_SAVE_MAX;
; 0965 LB_PC = .LB_PC + 6;
; 0966 END;
; 0967
; 0968 [CMD_ALLOC_POOL] :
; 0969 BEGIN
; 0970 CB_LENGTH = GETWRD (.DB_FILE, .LB_PC + 2);
; 0971 CB_ADDRESS = ALOC_POOL (.KERNEL_FILE, .CB_LENGTH, 0, .VALUES);
; 0972 PUTWRD (.KERNEL_FILE, .CURBLK + GETWRD (.DB_FILE, .LB_PC), .CB_ADDRESS<6, 12, 0>);
; 0973 PUTWRD (.KERNEL_FILE, .CURBLK + GETWRD (.DB_FILE, .LB_PC) + 2,
; 0974 ((.CB_ADDRESS AND 63) + %O'140000'));
; 0975 CURMAX = .CB_ADDRESS + .CB_LENGTH;
; 0976 CURBLK = .CB_ADDRESS;
; 0977 CURBAS = (.CURBLK AND ( NOT 63));
; 0978
; 0979 IF ((LB_ADDRESS = GETWRD (.DB_FILE, .LB_PC + 4)) NEQ 0)
; 0980 THEN
; 0981 BLOCK_LOAD (.KERNEL_FILE,
; 0982 .DB_FILE, .LB_ADDRESS, .VALUES);
; 0983
; 0984 CURBLK = .CB_SAVE;
; 0985 CURBAS = .CB_SAVE_BASE;
; 0986 CURMAX = .CB_SAVE_MAX;
; 0987 LB_PC = .LB_PC + 6;
; 0988 END;
; 0989
; 0990 [OTHERWISE] :
; 0991 FATAL_ERROR = TRUE;
; 0992 TES;
; 0993
; 0994 END
; 0995 UNTIL ((.LB_COMMAND EQL CMD_END) OR .FATAL_ERROR);
; 0996
; 0997 IF (.FATAL_ERROR) THEN ERROR (UPLIT (%ASCIZ'Fatal Database Format Error -- BLOCK_LOAD'));
; 0998
; 0999 END; ! of BLOCK_LOAD
P.AAZ: BYTE (7)"B","L","O","C","K" ; BLOCK 402502' 102 114 117 103 113
BYTE (7)"_","L","O","A","D" ; _LOAD 402503' 137 114 117 101 104
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 51
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (6)
BYTE (7)000,000,000,000,000 ; 402504' 000 000 000 000 000
P.ABA: BYTE (7)"C","o","m","m","a" ; Comma 402505' 103 157 155 155 141
BYTE (7)"n","d",","," ","V" ; nd, V 402506' 156 144 054 040 126
BYTE (7)"a","r","i","a","b" ; ariab 402507' 141 162 151 141 142
BYTE (7)"l","e"," ","#"," " ; le # 402510' 154 145 040 043 040
BYTE (7)"="," ",000,000,000 ; = 402511' 075 040 000 000 000
P.ABB: BYTE (7)"?"," ","D","a","t" ; ? Dat 402512' 077 040 104 141 164
BYTE (7)"a","b","a","s","e" ; abase 402513' 141 142 141 163 145
BYTE (7)" ","V","e","r","i" ; Veri 402514' 040 126 145 162 151
BYTE (7)"f","i","c","a","t" ; ficat 402515' 146 151 143 141 164
BYTE (7)"i","o","n"," ","E" ; ion E 402516' 151 157 156 040 105
BYTE (7)"r","r","o","r","," ; rror, 402517' 162 162 157 162 054
BYTE (7)" ","V","a","l","u" ; Valu 402520' 040 126 141 154 165
BYTE (7)"e"," ","1","=",000 ; e 1= 402521' 145 040 061 075 000
P.ABC: BYTE (7)","," ","V","a","l" ; , Val 402522' 054 040 126 141 154
BYTE (7)"u","e"," ","2"," " ; ue 2 402523' 165 145 040 062 040
BYTE (7)"=",000,000,000,000 ; = 402524' 075 000 000 000 000
P.ABD: BYTE (7)"F","a","t","a","l" ; Fatal 402525' 106 141 164 141 154
BYTE (7)" ","D","a","t","a" ; Data 402526' 040 104 141 164 141
BYTE (7)"b","a","s","e"," " ; base 402527' 142 141 163 145 040
BYTE (7)"F","o","r","m","a" ; Forma 402530' 106 157 162 155 141
BYTE (7)"t"," ","E","r","r" ; t Err 402531' 164 040 105 162 162
BYTE (7)"o","r"," ","-","-" ; or -- 402532' 157 162 040 055 055
BYTE (7)" ","B","L","O","C" ; BLOC 402533' 040 102 114 117 103
BYTE (7)"K","_","L","O","A" ; K_LOA 402534' 113 137 114 117 101
BYTE (7)"D",000,000,000,000 ; D 402535' 104 000 000 000 000
ROUTINE_NAME= P.AAZ ; 000000 402502'
BLOCK_LOAD:
PUSH SP,AC0 ; SP,AC0 402536' 261 17 0 00 000000 0796
PUSH SP,AC10 ; SP,AC10 402537' 261 17 0 00 000010
PUSH SP,AC11 ; SP,AC11 402540' 261 17 0 00 000011
PUSH SP,AC12 ; SP,AC12 402541' 261 17 0 00 000012
PUSH SP,AC13 ; SP,AC13 402542' 261 17 0 00 000013
PUSH SP,AC14 ; SP,AC14 402543' 261 17 0 00 000014
PUSH SP,AC16 ; SP,AC16 402544' 261 17 0 00 000016
ADJSP SP,7 ; SP,7 402545' 105 17 0 00 000007
SETZ AC13, ; FATAL_ERROR, 402546' 400 13 0 00 000000 0851
MOVE AC10,-20(SP) ; LB_PC,LB_POINTER 402547' 200 10 0 17 777760 0852
MOVE AC0,CURBLK ; AC0,CURBLK 402550' 200 00 0 00 000000' 0853
MOVEM AC0,-4(SP) ; AC0,CB_SAVE 402551' 202 00 0 17 777774
MOVE AC0,CURBAS ; AC0,CURBAS 402552' 200 00 0 00 000001' 0854
MOVEM AC0,-3(SP) ; AC0,CB_SAVE_BASE 402553' 202 00 0 17 777775
MOVE AC0,CURMAX ; AC0,CURMAX 402554' 200 00 0 00 000002' 0855
MOVEM AC0,-2(SP) ; AC0,CB_SAVE_MAX 402555' 202 00 0 17 777776
MOVE AC0,-21(SP) ; AC0,DB_FILE 402556' 200 00 0 17 777757 0859
MOVEM AC0,-1(SP) ; AC0,-1(SP) 402557' 202 00 0 17 777777
L.56: PUSH SP,-1(SP) ; SP,-1(SP) 402560' 261 17 0 17 777777
PUSH SP,AC10 ; SP,LB_PC 402561' 261 17 0 00 000010
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 52
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (6)
PUSHJ SP,GETBYT ; SP,GETBYT 402562' 260 17 0 00 000000*
MOVE AC12,AC1 ; LB_COMMAND,AC1 402563' 200 12 0 00 000001
MOVE AC0,-3(SP) ; AC0,-3(SP) 402564' 200 00 0 17 777775 0860
MOVEM AC0,0(SP) ; AC0,0(SP) 402565' 202 00 0 17 000000
MOVE AC0,AC10 ; AC0,LB_PC 402566' 200 00 0 00 000010
ADDI AC0,1 ; AC0,1 402567' 271 00 0 00 000001
PUSH SP,AC0 ; SP,AC0 402570' 261 17 0 00 000000
PUSHJ SP,GETBYT ; SP,GETBYT 402571' 260 17 0 00 000000*
MOVEM AC1,-11(SP) ; AC1,LB_VARIABLE 402572' 202 01 0 17 777767
ADDI AC10,2 ; LB_PC,2 402573' 271 10 0 00 000002 0861
JUMPE AC12,L.75 ; LB_COMMAND,L.75 402574' 322 12 0 00 403267' 0873
CAIE AC12,1 ; LB_COMMAND,1 402575' 302 12 0 00 000001
JRST L.57 ; L.57 402576' 254 00 0 00 402615'
MOVE AC0,-4(SP) ; AC0,-4(SP) 402577' 200 00 0 17 777774 0881
MOVEM AC0,-1(SP) ; AC0,-1(SP) 402600' 202 00 0 17 777777
MOVEM AC10,0(SP) ; LB_PC,0(SP) 402601' 202 10 0 17 000000
PUSHJ SP,GETWRD ; SP,GETWRD 402602' 260 17 0 00 000000*
MOVE AC11,AC1 ; CB_ADDRESS,AC1 402603' 200 11 0 00 000001
ADD AC11,CURBLK ; CB_ADDRESS,CURBLK 402604' 270 11 0 00 000000'
PUSH SP,-25(SP) ; SP,KERNEL_FILE 402605' 261 17 0 17 777753 0882
PUSH SP,AC11 ; SP,CB_ADDRESS 402606' 261 17 0 00 000011
PUSH SP,-13(SP) ; SP,LB_VARIABLE 402607' 261 17 0 17 777765
PUSH SP,-25(SP) ; SP,VALUES 402610' 261 17 0 17 777753
PUSHJ SP,GET_VARIABLE ; SP,GET_VARIABLE 402611' 260 17 0 00 000000V
ADJSP SP,-1 ; SP,-1 402612' 105 17 0 00 777777
MOVEM AC1,0(SP) ; AC1,0(SP) 402613' 202 01 0 17 000000
JRST L.59 ; L.59 402614' 254 00 0 00 402662'
L.57: CAIE AC12,2 ; LB_COMMAND,2 402615' 302 12 0 00 000002 0873
JRST L.58 ; L.58 402616' 254 00 0 00 402635'
MOVE AC0,-4(SP) ; AC0,-4(SP) 402617' 200 00 0 17 777774 0888
MOVEM AC0,-1(SP) ; AC0,-1(SP) 402620' 202 00 0 17 777777
MOVEM AC10,0(SP) ; LB_PC,0(SP) 402621' 202 10 0 17 000000
PUSHJ SP,GETWRD ; SP,GETWRD 402622' 260 17 0 00 000000*
MOVE AC11,AC1 ; CB_ADDRESS,AC1 402623' 200 11 0 00 000001
ADD AC11,CURBLK ; CB_ADDRESS,CURBLK 402624' 270 11 0 00 000000'
PUSH SP,-25(SP) ; SP,KERNEL_FILE 402625' 261 17 0 17 777753 0889
PUSH SP,AC11 ; SP,CB_ADDRESS 402626' 261 17 0 00 000011
PUSH SP,-13(SP) ; SP,LB_VARIABLE 402627' 261 17 0 17 777765
PUSH SP,-25(SP) ; SP,VALUES 402630' 261 17 0 17 777753
PUSHJ SP,GET_VARIABLE ; SP,GET_VARIABLE 402631' 260 17 0 00 000000V
ADJSP SP,-1 ; SP,-1 402632' 105 17 0 00 777777
MOVEM AC1,0(SP) ; AC1,0(SP) 402633' 202 01 0 17 000000
JRST L.61 ; L.61 402634' 254 00 0 00 402711'
L.58: CAIE AC12,3 ; LB_COMMAND,3 402635' 302 12 0 00 000003 0873
JRST L.60 ; L.60 402636' 254 00 0 00 402664'
MOVE AC0,-4(SP) ; AC0,-4(SP) 402637' 200 00 0 17 777774 0895
MOVEM AC0,-1(SP) ; AC0,-1(SP) 402640' 202 00 0 17 777777
MOVEM AC10,0(SP) ; LB_PC,0(SP) 402641' 202 10 0 17 000000
PUSHJ SP,GETWRD ; SP,GETWRD 402642' 260 17 0 00 000000*
MOVE AC11,AC1 ; CB_ADDRESS,AC1 402643' 200 11 0 00 000001
ADD AC11,CURBLK ; CB_ADDRESS,CURBLK 402644' 270 11 0 00 000000'
PUSH SP,-25(SP) ; SP,KERNEL_FILE 402645' 261 17 0 17 777753 0896
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 53
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (6)
PUSH SP,AC11 ; SP,CB_ADDRESS 402646' 261 17 0 00 000011
PUSH SP,-27(SP) ; SP,KERNEL_FILE 402647' 261 17 0 17 777751 0897
PUSH SP,AC11 ; SP,CB_ADDRESS 402650' 261 17 0 00 000011
PUSHJ SP,GETWRD ; SP,GETWRD 402651' 260 17 0 00 000000*
MOVE AC0,AC1 ; AC0,AC1 402652' 200 00 0 00 000001
MOVE AC1,-15(SP) ; AC1,LB_VARIABLE 402653' 200 01 0 17 777763
MOVEM AC1,0(SP) ; AC1,0(SP) 402654' 202 01 0 17 000000
PUSH SP,-26(SP) ; SP,VALUES 402655' 261 17 0 17 777752
PUSHJ SP,GET_VARIABLE ; SP,GET_VARIABLE 402656' 260 17 0 00 000000V
ADD AC0,AC1 ; AC0,AC1 402657' 270 00 0 00 000001
MOVEM AC0,-2(SP) ; AC0,-2(SP) 402660' 202 00 0 17 777776
ADJSP SP,-2 ; SP,-2 402661' 105 17 0 00 777776
L.59: PUSHJ SP,PUTWRD ; SP,PUTWRD 402662' 260 17 0 00 000000* 0896
JRST L.62 ; L.62 402663' 254 00 0 00 402712'
L.60: CAIE AC12,4 ; LB_COMMAND,4 402664' 302 12 0 00 000004 0873
JRST L.63 ; L.63 402665' 254 00 0 00 402715'
MOVE AC0,-4(SP) ; AC0,-4(SP) 402666' 200 00 0 17 777774 0903
MOVEM AC0,-1(SP) ; AC0,-1(SP) 402667' 202 00 0 17 777777
MOVEM AC10,0(SP) ; LB_PC,0(SP) 402670' 202 10 0 17 000000
PUSHJ SP,GETWRD ; SP,GETWRD 402671' 260 17 0 00 000000*
MOVE AC11,AC1 ; CB_ADDRESS,AC1 402672' 200 11 0 00 000001
ADD AC11,CURBLK ; CB_ADDRESS,CURBLK 402673' 270 11 0 00 000000'
PUSH SP,-25(SP) ; SP,KERNEL_FILE 402674' 261 17 0 17 777753 0904
PUSH SP,AC11 ; SP,CB_ADDRESS 402675' 261 17 0 00 000011
PUSH SP,-27(SP) ; SP,KERNEL_FILE 402676' 261 17 0 17 777751 0905
PUSH SP,AC11 ; SP,CB_ADDRESS 402677' 261 17 0 00 000011
PUSHJ SP,GETBYT ; SP,GETBYT 402700' 260 17 0 00 000000*
MOVE AC0,AC1 ; AC0,AC1 402701' 200 00 0 00 000001
MOVE AC1,-15(SP) ; AC1,LB_VARIABLE 402702' 200 01 0 17 777763
MOVEM AC1,0(SP) ; AC1,0(SP) 402703' 202 01 0 17 000000
PUSH SP,-26(SP) ; SP,VALUES 402704' 261 17 0 17 777752
PUSHJ SP,GET_VARIABLE ; SP,GET_VARIABLE 402705' 260 17 0 00 000000V
ADD AC0,AC1 ; AC0,AC1 402706' 270 00 0 00 000001
MOVEM AC0,-2(SP) ; AC0,-2(SP) 402707' 202 00 0 17 777776
ADJSP SP,-2 ; SP,-2 402710' 105 17 0 00 777776
L.61: PUSHJ SP,PUTBYT ; SP,PUTBYT 402711' 260 17 0 00 000000* 0904
L.62: ADDI AC10,2 ; LB_PC,2 402712' 271 10 0 00 000002 0906
ADJSP SP,-3 ; SP,-3 402713' 105 17 0 00 777775 0902
JRST L.75 ; L.75 402714' 254 00 0 00 403267' 0873
L.63: CAIE AC12,5 ; LB_COMMAND,5 402715' 302 12 0 00 000005
JRST L.68 ; L.68 402716' 254 00 0 00 403010'
MOVE AC0,-4(SP) ; AC0,-4(SP) 402717' 200 00 0 17 777774 0911
MOVEM AC0,-1(SP) ; AC0,-1(SP) 402720' 202 00 0 17 777777
MOVEM AC10,0(SP) ; LB_PC,0(SP) 402721' 202 10 0 17 000000
PUSHJ SP,GETWRD ; SP,GETWRD 402722' 260 17 0 00 000000*
MOVE AC11,AC1 ; CB_ADDRESS,AC1 402723' 200 11 0 00 000001
ADD AC11,CURBLK ; CB_ADDRESS,CURBLK 402724' 270 11 0 00 000000'
MOVE AC0,-4(SP) ; AC0,-4(SP) 402725' 200 00 0 17 777774 0912
MOVEM AC0,0(SP) ; AC0,0(SP) 402726' 202 00 0 17 000000
MOVE AC0,AC10 ; AC0,LB_PC 402727' 200 00 0 00 000010
ADDI AC0,2 ; AC0,2 402730' 271 00 0 00 000002
PUSH SP,AC0 ; SP,AC0 402731' 261 17 0 00 000000
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 54
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (6)
PUSHJ SP,GETWRD ; SP,GETWRD 402732' 260 17 0 00 000000*
MOVE AC16,AC1 ; LB_LENGTH,AC1 402733' 200 16 0 00 000001
MOVE AC0,-5(SP) ; AC0,-5(SP) 402734' 200 00 0 17 777773 0913
MOVEM AC0,0(SP) ; AC0,0(SP) 402735' 202 00 0 17 000000
MOVE AC0,AC10 ; AC0,LB_PC 402736' 200 00 0 00 000010
ADDI AC0,4 ; AC0,4 402737' 271 00 0 00 000004
PUSH SP,AC0 ; SP,AC0 402740' 261 17 0 00 000000
PUSHJ SP,GETWRD ; SP,GETWRD 402741' 260 17 0 00 000000*
MOVEM AC1,-5(SP) ; AC1,LB_ADDRESS 402742' 202 01 0 17 777773
MOVE AC1,AC11 ; AC1,CB_ADDRESS 402743' 200 01 0 00 000011 0915
ADD AC1,AC16 ; AC1,LB_LENGTH 402744' 270 01 0 00 000016
CAMG AC1,CURMAX ; AC1,CURMAX 402745' 317 01 0 00 000002'
JRST L.64 ; L.64 402746' 254 00 0 00 402762'
SETZM 0(SP) ; 0(SP) 402747' 402 00 0 17 000000 0917
PUSH SP,C.46 ; SP,[31] 402750' 261 17 0 00 403313'
PUSH SP,C.47 ; SP,[0,,ROUTINE_NAME] 402751' 261 17 0 00 403314'
PUSH SP,AC1 ; SP,AC1 402752' 261 17 0 00 000001
MOVE AC0,-11(SP) ; AC0,-11(SP) 402753' 200 00 0 17 777767 0918
ADDI AC0,2 ; AC0,2 402754' 271 00 0 00 000002
PUSH SP,AC0 ; SP,AC0 402755' 261 17 0 00 000000
PUSH SP,C.6 ; SP,[0] 402756' 261 17 0 00 400475' 0917
PUSH SP,C.6 ; SP,[0] 402757' 261 17 0 00 400475'
PUSHJ SP,ERRMSG ; SP,ERRMSG 402760' 260 17 0 00 000000*
ADJSP SP,-6 ; SP,-6 402761' 105 17 0 00 777772
L.64: JUMPLE AC16,L.67 ; LB_LENGTH,L.67 402762' 323 16 0 00 403005' 0920
SETO AC0, ; BYTE_NUMBER, 402763' 474 00 0 00 000000 0923
JRST L.66 ; L.66 402764' 254 00 0 00 403002'
L.65: PUSH SP,-27(SP) ; SP,KERNEL_FILE 402765' 261 17 0 17 777751 0924
MOVE AC1,AC11 ; AC1,CB_ADDRESS 402766' 200 01 0 00 000011
ADD AC1,AC0 ; AC1,BYTE_NUMBER 402767' 270 01 0 00 000000
PUSH SP,AC1 ; SP,AC1 402770' 261 17 0 00 000001
PUSH SP,-10(SP) ; SP,-10(SP) 402771' 261 17 0 17 777770 0925
MOVE AC1,-10(SP) ; AC1,LB_ADDRESS 402772' 200 01 0 17 777770 0926
ADD AC1,AC0 ; AC1,BYTE_NUMBER 402773' 270 01 0 00 000000
PUSH SP,AC1 ; SP,AC1 402774' 261 17 0 00 000001
PUSHJ SP,GETBYT ; SP,GETBYT 402775' 260 17 0 00 000000* 0925
ADJSP SP,-1 ; SP,-1 402776' 105 17 0 00 777777
MOVEM AC1,0(SP) ; AC1,0(SP) 402777' 202 01 0 17 000000 0924
PUSHJ SP,PUTBYT ; SP,PUTBYT 403000' 260 17 0 00 000000*
ADJSP SP,-3 ; SP,-3 403001' 105 17 0 00 777775
L.66: ADDI AC0,1 ; BYTE_NUMBER,1 403002' 271 00 0 00 000001 0923
CAMGE AC0,AC16 ; BYTE_NUMBER,LB_LENGTH 403003' 315 00 0 00 000016
JRST L.65 ; L.65 403004' 254 00 0 00 402765'
L.67: ADDI AC10,6 ; LB_PC,6 403005' 271 10 0 00 000006 0928
ADJSP SP,-2 ; SP,-2 403006' 105 17 0 00 777776 0910
JRST L.75 ; L.75 403007' 254 00 0 00 403267' 0873
L.68: CAIE AC12,6 ; LB_COMMAND,6 403010' 302 12 0 00 000006
JRST L.70 ; L.70 403011' 254 00 0 00 403066'
MOVE AC0,-4(SP) ; AC0,-4(SP) 403012' 200 00 0 17 777774 0934
MOVEM AC0,-1(SP) ; AC0,-1(SP) 403013' 202 00 0 17 777777
MOVEM AC10,0(SP) ; LB_PC,0(SP) 403014' 202 10 0 17 000000
PUSHJ SP,GETWRD ; SP,GETWRD 403015' 260 17 0 00 000000*
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 55
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (6)
MOVE AC0,AC1 ; AC0,AC1 403016' 200 00 0 00 000001
MOVE AC1,-4(SP) ; AC1,-4(SP) 403017' 200 01 0 17 777774
MOVEM AC1,0(SP) ; AC1,0(SP) 403020' 202 01 0 17 000000
MOVE AC14,AC10 ; AC14,LB_PC 403021' 200 14 0 00 000010
ADDI AC14,2 ; AC14,2 403022' 271 14 0 00 000002
PUSH SP,AC14 ; SP,AC14 403023' 261 17 0 00 000014
PUSHJ SP,GETWRD ; SP,GETWRD 403024' 260 17 0 00 000000*
ADJSP SP,-1 ; SP,-1 403025' 105 17 0 00 777777
CAMN AC0,AC1 ; AC0,AC1 403026' 316 00 0 00 000001
JRST L.69 ; L.69 403027' 254 00 0 00 403064'
SETZM 0(SP) ; 0(SP) 403030' 402 00 0 17 000000 0937
PUSHJ SP,PCRLF ; SP,PCRLF 403031' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 403032' 402 00 0 17 000000 0938
PUSH SP,C.48 ; SP,[0,,P.ABB] 403033' 261 17 0 00 403315'
PUSHJ SP,OUTSTR ; SP,OUTSTR 403034' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 403035' 402 00 0 17 000000 0939
PUSH SP,-5(SP) ; SP,-5(SP) 403036' 261 17 0 17 777773
PUSH SP,AC10 ; SP,LB_PC 403037' 261 17 0 00 000010
PUSHJ SP,GETWRD ; SP,GETWRD 403040' 260 17 0 00 000000*
ADJSP SP,-1 ; SP,-1 403041' 105 17 0 00 777777
MOVEM AC1,0(SP) ; AC1,0(SP) 403042' 202 01 0 17 000000
PUSH SP,C.49 ; SP,[10] 403043' 261 17 0 00 403316'
PUSH SP,C.6 ; SP,[0] 403044' 261 17 0 00 400475'
PUSHJ SP,OUTNUM ; SP,OUTNUM 403045' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 403046' 402 00 0 17 000000 0940
PUSH SP,C.50 ; SP,[0,,P.ABC] 403047' 261 17 0 00 403317'
PUSHJ SP,OUTSTR ; SP,OUTSTR 403050' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 403051' 402 00 0 17 000000 0941
PUSH SP,-11(SP) ; SP,-11(SP) 403052' 261 17 0 17 777767
PUSH SP,AC14 ; SP,AC14 403053' 261 17 0 00 000014
PUSHJ SP,GETWRD ; SP,GETWRD 403054' 260 17 0 00 000000*
ADJSP SP,-1 ; SP,-1 403055' 105 17 0 00 777777
MOVEM AC1,0(SP) ; AC1,0(SP) 403056' 202 01 0 17 000000
PUSH SP,C.49 ; SP,[10] 403057' 261 17 0 00 403316'
PUSH SP,C.6 ; SP,[0] 403060' 261 17 0 00 400475'
PUSHJ SP,OUTNUM ; SP,OUTNUM 403061' 260 17 0 00 000000*
MOVEI AC13,1 ; FATAL_ERROR,1 403062' 201 13 0 00 000001 0942
ADJSP SP,-10 ; SP,-10 403063' 105 17 0 00 777770 0936
L.69: ADDI AC10,4 ; LB_PC,4 403064' 271 10 0 00 000004 0945
JRST L.75 ; L.75 403065' 254 00 0 00 403267' 0873
L.70: CAIE AC12,10 ; LB_COMMAND,10 403066' 302 12 0 00 000010
JRST L.72 ; L.72 403067' 254 00 0 00 403156'
MOVE AC0,-4(SP) ; AC0,-4(SP) 403070' 200 00 0 17 777774 0950
MOVEM AC0,0(SP) ; AC0,0(SP) 403071' 202 00 0 17 000000
MOVE AC0,AC10 ; AC0,LB_PC 403072' 200 00 0 00 000010
ADDI AC0,2 ; AC0,2 403073' 271 00 0 00 000002
PUSH SP,AC0 ; SP,AC0 403074' 261 17 0 00 000000
PUSHJ SP,GETWRD ; SP,GETWRD 403075' 260 17 0 00 000000*
MOVEM AC1,-11(SP) ; AC1,CB_LENGTH 403076' 202 01 0 17 777767
PUSH SP,-26(SP) ; SP,KERNEL_FILE 403077' 261 17 0 17 777752 0951
PUSH SP,-12(SP) ; SP,CB_LENGTH 403100' 261 17 0 17 777766
PUSH SP,C.6 ; SP,[0] 403101' 261 17 0 00 400475'
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 56
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (6)
PUSH SP,-26(SP) ; SP,VALUES 403102' 261 17 0 17 777752
PUSHJ SP,ALOCB ; SP,ALOCB 403103' 260 17 0 00 000000*
MOVE AC11,AC1 ; CB_ADDRESS,AC1 403104' 200 11 0 00 000001
PUSH SP,-32(SP) ; SP,KERNEL_FILE 403105' 261 17 0 17 777746 0952
PUSH SP,-12(SP) ; SP,-12(SP) 403106' 261 17 0 17 777766
PUSH SP,AC10 ; SP,LB_PC 403107' 261 17 0 00 000010
PUSHJ SP,GETWRD ; SP,GETWRD 403110' 260 17 0 00 000000*
ADD AC1,CURBLK ; AC1,CURBLK 403111' 270 01 0 00 000000'
MOVEM AC1,-1(SP) ; AC1,-1(SP) 403112' 202 01 0 17 777777
ADJSP SP,-1 ; SP,-1 403113' 105 17 0 00 777777
PUSH SP,AC11 ; SP,CB_ADDRESS 403114' 261 17 0 00 000011
PUSHJ SP,PUTWRD ; SP,PUTWRD 403115' 260 17 0 00 000000*
MOVE AC0,AC11 ; AC0,CB_ADDRESS 403116' 200 00 0 00 000011 0953
ADD AC0,-20(SP) ; AC0,CB_LENGTH 403117' 270 00 0 17 777760
MOVEM AC0,CURMAX ; AC0,CURMAX 403120' 202 00 0 00 000002'
MOVEM AC11,CURBLK ; CB_ADDRESS,CURBLK 403121' 202 11 0 00 000000' 0954
MOVE AC0,CURBLK ; AC0,CURBLK 403122' 200 00 0 00 000000' 0955
TRZ AC0,77 ; AC0,77 403123' 620 00 0 00 000077
MOVEM AC0,CURBAS ; AC0,CURBAS 403124' 202 00 0 00 000001'
MOVE AC0,-14(SP) ; AC0,-14(SP) 403125' 200 00 0 17 777764 0957
MOVEM AC0,0(SP) ; AC0,0(SP) 403126' 202 00 0 17 000000
MOVE AC0,AC10 ; AC0,LB_PC 403127' 200 00 0 00 000010
ADDI AC0,4 ; AC0,4 403130' 271 00 0 00 000004
PUSH SP,AC0 ; SP,AC0 403131' 261 17 0 00 000000
PUSHJ SP,GETWRD ; SP,GETWRD 403132' 260 17 0 00 000000*
MOVEM AC1,-14(SP) ; AC1,LB_ADDRESS 403133' 202 01 0 17 777764
ADJSP SP,-1 ; SP,-1 403134' 105 17 0 00 777777
SKIPN -13(SP) ; LB_ADDRESS 403135' 336 00 0 17 777765
JRST L.71 ; L.71 403136' 254 00 0 00 403145'
PUSH SP,-35(SP) ; SP,KERNEL_FILE 403137' 261 17 0 17 777743 0959
PUSH SP,-15(SP) ; SP,-15(SP) 403140' 261 17 0 17 777763
PUSH SP,-15(SP) ; SP,LB_ADDRESS 403141' 261 17 0 17 777763
PUSH SP,-35(SP) ; SP,VALUES 403142' 261 17 0 17 777743
PUSHJ SP,BLOCK_LOAD ; SP,BLOCK_LOAD 403143' 260 17 0 00 402536'
ADJSP SP,-4 ; SP,-4 403144' 105 17 0 00 777774
L.71: MOVE AC0,-17(SP) ; AC0,CB_SAVE 403145' 200 00 0 17 777761 0962
MOVEM AC0,CURBLK ; AC0,CURBLK 403146' 202 00 0 00 000000'
MOVE AC0,-16(SP) ; AC0,CB_SAVE_BASE 403147' 200 00 0 17 777762 0963
MOVEM AC0,CURBAS ; AC0,CURBAS 403150' 202 00 0 00 000001'
MOVE AC0,-15(SP) ; AC0,CB_SAVE_MAX 403151' 200 00 0 17 777763 0964
MOVEM AC0,CURMAX ; AC0,CURMAX 403152' 202 00 0 00 000002'
ADDI AC10,6 ; LB_PC,6 403153' 271 10 0 00 000006 0965
ADJSP SP,-10 ; SP,-10 403154' 105 17 0 00 777770 0949
JRST L.75 ; L.75 403155' 254 00 0 00 403267' 0873
L.72: CAIE AC12,11 ; LB_COMMAND,11 403156' 302 12 0 00 000011
JRST L.74 ; L.74 403157' 254 00 0 00 403266'
MOVE AC0,-4(SP) ; AC0,-4(SP) 403160' 200 00 0 17 777774 0970
MOVEM AC0,0(SP) ; AC0,0(SP) 403161' 202 00 0 17 000000
MOVE AC0,AC10 ; AC0,LB_PC 403162' 200 00 0 00 000010
ADDI AC0,2 ; AC0,2 403163' 271 00 0 00 000002
PUSH SP,AC0 ; SP,AC0 403164' 261 17 0 00 000000
PUSHJ SP,GETWRD ; SP,GETWRD 403165' 260 17 0 00 000000*
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 57
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (6)
MOVEM AC1,-11(SP) ; AC1,CB_LENGTH 403166' 202 01 0 17 777767
MOVE AC14,-26(SP) ; AC14,KERNEL_FILE 403167' 200 14 0 17 777752 0971
PUSH SP,AC14 ; SP,AC14 403170' 261 17 0 00 000014
PUSH SP,-12(SP) ; SP,CB_LENGTH 403171' 261 17 0 17 777766
PUSH SP,C.6 ; SP,[0] 403172' 261 17 0 00 400475'
PUSH SP,-26(SP) ; SP,VALUES 403173' 261 17 0 17 777752
PUSHJ SP,ALOC_POOL ; SP,ALOC_POOL 403174' 260 17 0 00 000000V
MOVE AC11,AC1 ; CB_ADDRESS,AC1 403175' 200 11 0 00 000001
MOVEM AC14,0(SP) ; AC14,0(SP) 403176' 202 14 0 17 000000 0972
PUSH SP,-11(SP) ; SP,-11(SP) 403177' 261 17 0 17 777767
PUSH SP,AC10 ; SP,LB_PC 403200' 261 17 0 00 000010
PUSHJ SP,GETWRD ; SP,GETWRD 403201' 260 17 0 00 000000*
ADD AC1,CURBLK ; AC1,CURBLK 403202' 270 01 0 00 000000'
MOVEM AC1,-1(SP) ; AC1,-1(SP) 403203' 202 01 0 17 777777
ADJSP SP,-1 ; SP,-1 403204' 105 17 0 00 777777
LDB AC0,C.44 ; AC0,[POINT 12,CB_ADDRESS,29] <6,12> 403205' 135 00 0 00 403311'
PUSH SP,AC0 ; SP,AC0 403206' 261 17 0 00 000000
PUSHJ SP,PUTWRD ; SP,PUTWRD 403207' 260 17 0 00 000000*
MOVEM AC14,0(SP) ; AC14,0(SP) 403210' 202 14 0 17 000000 0973
PUSH SP,-13(SP) ; SP,-13(SP) 403211' 261 17 0 17 777765
PUSH SP,AC10 ; SP,LB_PC 403212' 261 17 0 00 000010
PUSHJ SP,GETWRD ; SP,GETWRD 403213' 260 17 0 00 000000*
ADD AC1,CURBLK ; AC1,CURBLK 403214' 270 01 0 00 000000'
ADDI AC1,2 ; AC1,2 403215' 271 01 0 00 000002
MOVEM AC1,-1(SP) ; AC1,-1(SP) 403216' 202 01 0 17 777777
ADJSP SP,-1 ; SP,-1 403217' 105 17 0 00 777777
LDB AC0,C.45 ; AC0,[POINT 6,CB_ADDRESS,35] <0,6> 403220' 135 00 0 00 403312' 0974
ADDI AC0,140000 ; AC0,140000 403221' 271 00 0 00 140000
PUSH SP,AC0 ; SP,AC0 403222' 261 17 0 00 000000
PUSHJ SP,PUTWRD ; SP,PUTWRD 403223' 260 17 0 00 000000* 0973
MOVE AC0,AC11 ; AC0,CB_ADDRESS 403224' 200 00 0 00 000011 0975
ADD AC0,-21(SP) ; AC0,CB_LENGTH 403225' 270 00 0 17 777757
MOVEM AC0,CURMAX ; AC0,CURMAX 403226' 202 00 0 00 000002'
MOVEM AC11,CURBLK ; CB_ADDRESS,CURBLK 403227' 202 11 0 00 000000' 0976
MOVE AC0,CURBLK ; AC0,CURBLK 403230' 200 00 0 00 000000' 0977
TRZ AC0,77 ; AC0,77 403231' 620 00 0 00 000077
MOVEM AC0,CURBAS ; AC0,CURBAS 403232' 202 00 0 00 000001'
MOVE AC0,-15(SP) ; AC0,-15(SP) 403233' 200 00 0 17 777763 0979
MOVEM AC0,0(SP) ; AC0,0(SP) 403234' 202 00 0 17 000000
MOVE AC0,AC10 ; AC0,LB_PC 403235' 200 00 0 00 000010
ADDI AC0,4 ; AC0,4 403236' 271 00 0 00 000004
PUSH SP,AC0 ; SP,AC0 403237' 261 17 0 00 000000
PUSHJ SP,GETWRD ; SP,GETWRD 403240' 260 17 0 00 000000*
MOVEM AC1,-15(SP) ; AC1,LB_ADDRESS 403241' 202 01 0 17 777763
ADJSP SP,-1 ; SP,-1 403242' 105 17 0 00 777777
SKIPN -14(SP) ; LB_ADDRESS 403243' 336 00 0 17 777764
JRST L.73 ; L.73 403244' 254 00 0 00 403255'
MOVEM AC14,-2(SP) ; AC14,-2(SP) 403245' 202 14 0 17 777776 0981
MOVE AC0,-15(SP) ; AC0,-15(SP) 403246' 200 00 0 17 777763
MOVEM AC0,-1(SP) ; AC0,-1(SP) 403247' 202 00 0 17 777777
MOVE AC0,-14(SP) ; AC0,LB_ADDRESS 403250' 200 00 0 17 777764
MOVEM AC0,0(SP) ; AC0,0(SP) 403251' 202 00 0 17 000000
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 58
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (6)
PUSH SP,-33(SP) ; SP,VALUES 403252' 261 17 0 17 777745
PUSHJ SP,BLOCK_LOAD ; SP,BLOCK_LOAD 403253' 260 17 0 00 402536'
ADJSP SP,-1 ; SP,-1 403254' 105 17 0 00 777777
L.73: MOVE AC0,-20(SP) ; AC0,CB_SAVE 403255' 200 00 0 17 777760 0984
MOVEM AC0,CURBLK ; AC0,CURBLK 403256' 202 00 0 00 000000'
MOVE AC0,-17(SP) ; AC0,CB_SAVE_BASE 403257' 200 00 0 17 777761 0985
MOVEM AC0,CURBAS ; AC0,CURBAS 403260' 202 00 0 00 000001'
MOVE AC0,-16(SP) ; AC0,CB_SAVE_MAX 403261' 200 00 0 17 777762 0986
MOVEM AC0,CURMAX ; AC0,CURMAX 403262' 202 00 0 00 000002'
ADDI AC10,6 ; LB_PC,6 403263' 271 10 0 00 000006 0987
ADJSP SP,-11 ; SP,-11 403264' 105 17 0 00 777767 0969
JRST L.75 ; L.75 403265' 254 00 0 00 403267' 0873
L.74: MOVEI AC13,1 ; FATAL_ERROR,1 403266' 201 13 0 00 000001 0991
L.75: ADJSP SP,-3 ; SP,-3 403267' 105 17 0 00 777775 0858
JUMPE AC12,L.76 ; LB_COMMAND,L.76 403270' 322 12 0 00 403273' 0995
TRNN AC13,1 ; FATAL_ERROR,1 403271' 606 13 0 00 000001
JRST L.56 ; L.56 403272' 254 00 0 00 402560' 0857
L.76: TRNN AC13,1 ; FATAL_ERROR,1 403273' 606 13 0 00 000001 0997
JRST L.77 ; L.77 403274' 254 00 0 00 403300'
PUSH SP,C.51 ; SP,[0,,P.ABD] 403275' 261 17 0 00 403320'
PUSHJ SP,ERROR ; SP,ERROR 403276' 260 17 0 00 000000*
ADJSP SP,-1 ; SP,-1 403277' 105 17 0 00 777777
L.77: ADJSP SP,-7 ; SP,-7 403300' 105 17 0 00 777771 0796
POP SP,AC16 ; SP,AC16 403301' 262 17 0 00 000016
POP SP,AC14 ; SP,AC14 403302' 262 17 0 00 000014
POP SP,AC13 ; SP,AC13 403303' 262 17 0 00 000013
POP SP,AC12 ; SP,AC12 403304' 262 17 0 00 000012
POP SP,AC11 ; SP,AC11 403305' 262 17 0 00 000011
POP SP,AC10 ; SP,AC10 403306' 262 17 0 00 000010
POP SP,AC0 ; SP,AC0 403307' 262 17 0 00 000000
POPJ SP, ; SP, 403310' 263 17 0 00 000000
C.44: POINT 12,AC11,29 ; 12,CB_ADDRESS,29 403311' 06 14 0 00 000011
C.45: POINT 6,AC11,35 ; 6,CB_ADDRESS,35 403312' 00 06 0 00 000011
C.46: EXP 31 ; 31 403313' 000000 000031
C.47: XWD 0,ROUTINE_NAME ; 0,ROUTINE_NAME 403314' 000000 402502'
C.48: XWD 0,P.ABB ; 0,P.ABB 403315' 000000 402512'
C.49: EXP 10 ; 10 403316' 000000 000010
C.50: XWD 0,P.ABC ; 0,P.ABC 403317' 000000 402522'
C.51: XWD 0,P.ABD ; 0,P.ABD 403320' 000000 402525'
; Routine Size: 371 words
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 59
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (7)
; 1000 ROUTINE GET_VARIABLE (VAR_NUMBER, VALUES) =
; 1001
; 1002 !++
; 1003 ! FUNCTIONAL DESCRIPTION:
; 1004 !
; 1005 ! Return the value of a Load Block Variable
; 1006 ! to the caller.
; 1007 !
; 1008 ! FORMAL PARAMETERS
; 1009 !
; 1010 ! VAR_NUMBER - the variable number to return
; 1011 ! VALUES - Misc info maintained by VNP
; 1012 !
; 1013 ! IMPLICIT INPUTS
; 1014 !
; 1015 ! NONE.
; 1016 !
; 1017 ! ROUTINE VALUE:
; 1018 !
; 1019 ! The variable's contents or 0.
; 1020 !
; 1021 ! SIDE EFFECTS:
; 1022 !
; 1023 ! NONE.
; 1024 !
; 1025 !--
; 1026
; 1027 BEGIN
; 1028
; 1029 BIND
; 1030 ROUTINE_NAME = UPLIT (%ASCIZ'GET_LOAD_BLOCK_VARIABLES');
; 1031
; 1032 MAP
; 1033 VALUES : REF VNPVAL_BLOCK;
; 1034
; 1035 LOCAL
; 1036 RESULT;
; 1037
; 1038 RESULT = 0;
; 1039
; 1040 SELECTONE .VAR_NUMBER OF
; 1041 SET
; 1042
; 1043 [VAR_CURRENT_ADDRESS] :
; 1044
; 1045 IF (.CURBLK LSS %O'120000') THEN RESULT = .CURBLK ELSE RESULT = (.CURBLK - .CURBAS) + %O'140000';
; 1046
; 1047 [VAR_CURRENT_LIX] :
; 1048 RESULT = .CURLIX;
; 1049
; 1050 [VAR_CURRENT_CTL] :
; 1051
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 60
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (7)
; 1052 IF .CURSLT NEQ 0 THEN RESULT = .CURSLT [SLT_CTL];
; 1053
; 1054 [VAR_CURRENT_UNT] :
; 1055
; 1056 IF .CURSLT NEQ 0 THEN RESULT = .CURSLT [SLT_UNT];
; 1057
; 1058 [VAR_CURRENT_TRB] :
; 1059
; 1060 IF .CURSLT NEQ 0 THEN RESULT = .CURSLT [SLT_TRB];
; 1061
; 1062 [VAR_NUMBER_SLTS] :
; 1063 RESULT = .VALUES [SLTNUM];
; 1064
; 1065 [VAR_NUMBER_CTLS] :
; 1066
; 1067 IF .CURDEV NEQ 0 THEN RESULT = .CURDEV [DEV_NUM_OF_CTLS];
; 1068
; 1069 [VAR_NUMBER_UNTS] :
; 1070
; 1071 IF .CURCTL NEQ 0 THEN RESULT = .CURCTL [CTL_NUM_OF_UNTS];
; 1072
; 1073 [VAR_NUMBER_TRBS] :
; 1074
; 1075 IF .CURUNT NEQ 0 THEN RESULT = .CURUNT [UNT_NUM_OF_TRBS];
; 1076
; 1077 [VAR_CTL_CHARS_0 TO VAR_CTL_CHARS_7] :
; 1078
; 1079 IF .CURCTL NEQ 0
; 1080 THEN
; 1081
; 1082 CASE .VAR_NUMBER FROM VAR_CTL_CHARS_0 TO VAR_CTL_CHARS_7 OF
; 1083 SET
; 1084
; 1085 [VAR_CTL_CHARS_0] :
; 1086 RESULT = .CURCTL [CTL_PAR_0];
; 1087
; 1088 [VAR_CTL_CHARS_1] :
; 1089 RESULT = .CURCTL [CTL_PAR_1];
; 1090
; 1091 [VAR_CTL_CHARS_2] :
; 1092 RESULT = .CURCTL [CTL_PAR_2];
; 1093
; 1094 [VAR_CTL_CHARS_3] :
; 1095 RESULT = .CURCTL [CTL_PAR_3];
; 1096
; 1097 [VAR_CTL_CHARS_4] :
; 1098 RESULT = .CURCTL [CTL_PAR_4];
; 1099
; 1100 [VAR_CTL_CHARS_5] :
; 1101 RESULT = .CURCTL [CTL_PAR_5];
; 1102
; 1103 [VAR_CTL_CHARS_6] :
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 61
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (7)
; 1104 RESULT = .CURCTL [CTL_PAR_6];
; 1105
; 1106 [VAR_CTL_CHARS_7] :
; 1107 RESULT = .CURCTL [CTL_PAR_7];
; 1108 TES;
; 1109
; 1110
; 1111 [VAR_UNT_CHARS_0 TO VAR_UNT_CHARS_7] :
; 1112
; 1113 IF .CURUNT NEQ 0
; 1114 THEN
; 1115
; 1116 CASE .VAR_NUMBER FROM VAR_UNT_CHARS_0 TO VAR_UNT_CHARS_7 OF
; 1117 SET
; 1118
; 1119 [VAR_UNT_CHARS_0] :
; 1120 RESULT = .CURUNT [UNT_PAR_0];
; 1121
; 1122 [VAR_UNT_CHARS_1] :
; 1123 RESULT = .CURUNT [UNT_PAR_1];
; 1124
; 1125 [VAR_UNT_CHARS_2] :
; 1126 RESULT = .CURUNT [UNT_PAR_2];
; 1127
; 1128 [VAR_UNT_CHARS_3] :
; 1129 RESULT = .CURUNT [UNT_PAR_3];
; 1130
; 1131 [VAR_UNT_CHARS_4] :
; 1132 RESULT = .CURUNT [UNT_PAR_4];
; 1133
; 1134 [VAR_UNT_CHARS_5] :
; 1135 RESULT = .CURUNT [UNT_PAR_5];
; 1136
; 1137 [VAR_UNT_CHARS_6] :
; 1138 RESULT = .CURUNT [UNT_PAR_6];
; 1139
; 1140 [VAR_UNT_CHARS_7] :
; 1141 RESULT = .CURUNT [UNT_PAR_7];
; 1142 TES;
; 1143
; 1144 [VAR_TRB_CHARS_0 TO VAR_TRB_CHARS_7] :
; 1145
; 1146 IF .CURTRB NEQ 0
; 1147 THEN
; 1148
; 1149 CASE .VAR_NUMBER FROM VAR_TRB_CHARS_0 TO VAR_TRB_CHARS_7 OF
; 1150 SET
; 1151
; 1152 [VAR_TRB_CHARS_0] :
; 1153 RESULT = .CURTRB [TRB_PAR_0];
; 1154
; 1155 [VAR_TRB_CHARS_1] :
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 62
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (7)
; 1156 RESULT = .CURTRB [TRB_PAR_1];
; 1157
; 1158 [VAR_TRB_CHARS_2] :
; 1159 RESULT = .CURTRB [TRB_PAR_2];
; 1160
; 1161 [VAR_TRB_CHARS_3] :
; 1162 RESULT = .CURTRB [TRB_PAR_3];
; 1163
; 1164 [VAR_TRB_CHARS_4] :
; 1165 RESULT = .CURTRB [TRB_PAR_4];
; 1166
; 1167 [VAR_TRB_CHARS_5] :
; 1168 RESULT = .CURTRB [TRB_PAR_5];
; 1169
; 1170 [VAR_TRB_CHARS_6] :
; 1171 RESULT = .CURTRB [TRB_PAR_6];
; 1172
; 1173 [VAR_TRB_CHARS_7] :
; 1174 RESULT = .CURTRB [TRB_PAR_7];
; 1175 TES;
; 1176
; 1177 [OTHERWISE] :
; 1178 RESULT = 0;
; 1179 TES;
; 1180
; 1181 IF DEBUG
; 1182 THEN
; 1183 BEGIN
; 1184 PCRLF (0);
; 1185 OUTSTR (0, UPLIT (%ASCIZ' Variable #'));
; 1186 OUTNUM (0, .VAR_NUMBER, 8, 0);
; 1187 OUTSTR (0, UPLIT (%ASCIZ' = '));
; 1188 OUTNUM (0, .RESULT, 8, 0);
; 1189 END;
; 1190
; 1191 .RESULT
; 1192 END; ! of GET_VARIABLE
P.ABE: BYTE (7)"G","E","T","_","L" ; GET_L 403321' 107 105 124 137 114
BYTE (7)"O","A","D","_","B" ; OAD_B 403322' 117 101 104 137 102
BYTE (7)"L","O","C","K","_" ; LOCK_ 403323' 114 117 103 113 137
BYTE (7)"V","A","R","I","A" ; VARIA 403324' 126 101 122 111 101
BYTE (7)"B","L","E","S",000 ; BLES 403325' 102 114 105 123 000
P.ABF: BYTE (7)" "," "," "," ","V" ; V 403326' 040 040 040 040 126
BYTE (7)"a","r","i","a","b" ; ariab 403327' 141 162 151 141 142
BYTE (7)"l","e"," ","#",000 ; le # 403330' 154 145 040 043 000
P.ABG: BYTE (7)" ","="," ",000,000 ; = 403331' 040 075 040 000 000
ROUTINE_NAME= P.ABE ; 000000 403321'
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 63
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (7)
GET_VARIABLE:
SETZ AC1, ; RESULT, 403332' 400 01 0 00 000000 1038
MOVE AC3,-2(SP) ; AC3,VAR_NUMBER 403333' 200 03 0 17 777776 1040
CAIE AC3,1 ; AC3,1 403334' 302 03 0 00 000001
JRST L.79 ; L.79 403335' 254 00 0 00 403347'
MOVE AC2,CURBLK ; AC2,CURBLK 403336' 200 02 0 00 000000' 1045
CAIL AC2,120000 ; AC2,120000 403337' 301 02 0 00 120000
JRST L.78 ; L.78 403340' 254 00 0 00 403343'
MOVE AC1,AC2 ; RESULT,AC2 403341' 200 01 0 00 000002
POPJ SP, ; SP, 403342' 263 17 0 00 000000
L.78: SUB AC2,CURBAS ; AC2,CURBAS 403343' 274 02 0 00 000001'
MOVE AC1,AC2 ; RESULT,AC2 403344' 200 01 0 00 000002
ADDI AC1,140000 ; RESULT,140000 403345' 271 01 0 00 140000
POPJ SP, ; SP, 403346' 263 17 0 00 000000 1040
L.79: CAIE AC3,10 ; AC3,10 403347' 302 03 0 00 000010
JRST L.80 ; L.80 403350' 254 00 0 00 403353'
MOVE AC1,CURLIX ; RESULT,CURLIX 403351' 200 01 0 00 000003' 1048
POPJ SP, ; SP, 403352' 263 17 0 00 000000 1040
L.80: CAIE AC3,11 ; AC3,11 403353' 302 03 0 00 000011
JRST L.81 ; L.81 403354' 254 00 0 00 403360'
MOVE AC2,CURSLT ; AC2,CURSLT 403355' 200 02 0 00 000004' 1052
JUMPE AC2,L.106 ; AC2,L.106 403356' 322 02 0 00 403521'
JRST L.99 ; L.99 403357' 254 00 0 00 403505'
L.81: CAIE AC3,12 ; AC3,12 403360' 302 03 0 00 000012 1040
JRST L.82 ; L.82 403361' 254 00 0 00 403365'
MOVE AC2,CURSLT ; AC2,CURSLT 403362' 200 02 0 00 000004' 1056
JUMPE AC2,L.106 ; AC2,L.106 403363' 322 02 0 00 403521'
JRST L.100 ; L.100 403364' 254 00 0 00 403507'
L.82: CAIE AC3,13 ; AC3,13 403365' 302 03 0 00 000013 1040
JRST L.83 ; L.83 403366' 254 00 0 00 403372'
MOVE AC2,CURSLT ; AC2,CURSLT 403367' 200 02 0 00 000004' 1060
JUMPE AC2,L.106 ; AC2,L.106 403370' 322 02 0 00 403521'
JRST L.101 ; L.101 403371' 254 00 0 00 403511'
L.83: CAIE AC3,20 ; AC3,20 403372' 302 03 0 00 000020 1040
JRST L.84 ; L.84 403373' 254 00 0 00 403377'
MOVE AC2,-1(SP) ; AC2,VALUES 403374' 200 02 0 17 777777 1063
HRRZ AC1,1(AC2) ; RESULT,1(AC2) 403375' 550 01 0 02 000001
POPJ SP, ; SP, 403376' 263 17 0 00 000000 1040
L.84: CAIE AC3,21 ; AC3,21 403377' 302 03 0 00 000021
JRST L.85 ; L.85 403400' 254 00 0 00 403403'
MOVE AC2,CURDEV ; AC2,CURDEV 403401' 200 02 0 00 000005' 1067
JRST L.87 ; L.87 403402' 254 00 0 00 403412'
L.85: CAIE AC3,22 ; AC3,22 403403' 302 03 0 00 000022 1040
JRST L.86 ; L.86 403404' 254 00 0 00 403407'
MOVE AC2,CURCTL ; AC2,CURCTL 403405' 200 02 0 00 000006' 1071
JRST L.87 ; L.87 403406' 254 00 0 00 403412'
L.86: CAIE AC3,23 ; AC3,23 403407' 302 03 0 00 000023 1040
JRST L.88 ; L.88 403410' 254 00 0 00 403414'
MOVE AC2,CURUNT ; AC2,CURUNT 403411' 200 02 0 00 000007' 1075
L.87: JUMPE AC2,L.106 ; AC2,L.106 403412' 322 02 0 00 403521'
JRST L.98 ; L.98 403413' 254 00 0 00 403503'
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 64
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (7)
L.88: CAIL AC3,30 ; AC3,30 403414' 301 03 0 00 000030 1040
CAILE AC3,37 ; AC3,37 403415' 303 03 0 00 000037
JRST L.90 ; L.90 403416' 254 00 0 00 403434'
MOVE AC2,CURCTL ; AC2,CURCTL 403417' 200 02 0 00 000006' 1079
JUMPE AC2,L.106 ; AC2,L.106 403420' 322 02 0 00 403521'
MOVE AC4,AC3 ; AC4,AC3 403421' 200 04 0 00 000003 1082
SUBI AC4,30 ; AC4,30 403422' 275 04 0 00 000030
JRST L.89(AC4) ; L.89(AC4) 403423' 254 00 0 04 403424'
L.89: JRST L.99 ; L.99 403424' 254 00 0 00 403505'
JRST L.100 ; L.100 403425' 254 00 0 00 403507'
JRST L.101 ; L.101 403426' 254 00 0 00 403511'
JRST L.102 ; L.102 403427' 254 00 0 00 403513'
JRST L.103 ; L.103 403430' 254 00 0 00 403515'
JRST L.104 ; L.104 403431' 254 00 0 00 403517'
JRST L.92 ; L.92 403432' 254 00 0 00 403454'
JRST L.93 ; L.93 403433' 254 00 0 00 403456'
L.90: CAIL AC3,40 ; AC3,40 403434' 301 03 0 00 000040 1040
CAILE AC3,47 ; AC3,47 403435' 303 03 0 00 000047
JRST L.95 ; L.95 403436' 254 00 0 00 403462'
MOVE AC2,CURUNT ; AC2,CURUNT 403437' 200 02 0 00 000007' 1113
JUMPE AC2,L.106 ; AC2,L.106 403440' 322 02 0 00 403521'
MOVE AC4,AC3 ; AC4,AC3 403441' 200 04 0 00 000003 1116
SUBI AC4,40 ; AC4,40 403442' 275 04 0 00 000040
JRST L.91(AC4) ; L.91(AC4) 403443' 254 00 0 04 403444'
L.91: JRST L.100 ; L.100 403444' 254 00 0 00 403507'
JRST L.101 ; L.101 403445' 254 00 0 00 403511'
JRST L.102 ; L.102 403446' 254 00 0 00 403513'
JRST L.103 ; L.103 403447' 254 00 0 00 403515'
JRST L.104 ; L.104 403450' 254 00 0 00 403517'
JRST L.92 ; L.92 403451' 254 00 0 00 403454'
JRST L.93 ; L.93 403452' 254 00 0 00 403456'
JRST L.94 ; L.94 403453' 254 00 0 00 403460'
L.92: MOVE AC1,12(AC2) ; RESULT,12(AC2) 403454' 200 01 0 02 000012 1135
POPJ SP, ; SP, 403455' 263 17 0 00 000000 1116
L.93: MOVE AC1,13(AC2) ; RESULT,13(AC2) 403456' 200 01 0 02 000013 1138
POPJ SP, ; SP, 403457' 263 17 0 00 000000 1116
L.94: MOVE AC1,14(AC2) ; RESULT,14(AC2) 403460' 200 01 0 02 000014 1141
POPJ SP, ; SP, 403461' 263 17 0 00 000000 1113
L.95: CAIL AC3,50 ; AC3,50 403462' 301 03 0 00 000050 1040
CAILE AC3,57 ; AC3,57 403463' 303 03 0 00 000057
JRST L.105 ; L.105 403464' 254 00 0 00 403520'
MOVE AC2,CURTRB ; AC2,CURTRB 403465' 200 02 0 00 000010' 1146
JUMPE AC2,L.106 ; AC2,L.106 403466' 322 02 0 00 403521'
SUBI AC3,50 ; AC3,50 403467' 275 03 0 00 000050 1149
JRST L.96(AC3) ; L.96(AC3) 403470' 254 00 0 03 403471'
L.96: JRST L.97 ; L.97 403471' 254 00 0 00 403501'
JRST L.98 ; L.98 403472' 254 00 0 00 403503'
JRST L.99 ; L.99 403473' 254 00 0 00 403505'
JRST L.100 ; L.100 403474' 254 00 0 00 403507'
JRST L.101 ; L.101 403475' 254 00 0 00 403511'
JRST L.102 ; L.102 403476' 254 00 0 00 403513'
JRST L.103 ; L.103 403477' 254 00 0 00 403515'
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 65
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (7)
JRST L.104 ; L.104 403500' 254 00 0 00 403517'
L.97: MOVE AC1,2(AC2) ; RESULT,2(AC2) 403501' 200 01 0 02 000002 1153
POPJ SP, ; SP, 403502' 263 17 0 00 000000 1149
L.98: MOVE AC1,3(AC2) ; RESULT,3(AC2) 403503' 200 01 0 02 000003 1156
POPJ SP, ; SP, 403504' 263 17 0 00 000000 1149
L.99: MOVE AC1,4(AC2) ; RESULT,4(AC2) 403505' 200 01 0 02 000004 1159
POPJ SP, ; SP, 403506' 263 17 0 00 000000 1149
L.100: MOVE AC1,5(AC2) ; RESULT,5(AC2) 403507' 200 01 0 02 000005 1162
POPJ SP, ; SP, 403510' 263 17 0 00 000000 1149
L.101: MOVE AC1,6(AC2) ; RESULT,6(AC2) 403511' 200 01 0 02 000006 1165
POPJ SP, ; SP, 403512' 263 17 0 00 000000 1149
L.102: MOVE AC1,7(AC2) ; RESULT,7(AC2) 403513' 200 01 0 02 000007 1168
POPJ SP, ; SP, 403514' 263 17 0 00 000000 1149
L.103: MOVE AC1,10(AC2) ; RESULT,10(AC2) 403515' 200 01 0 02 000010 1171
POPJ SP, ; SP, 403516' 263 17 0 00 000000 1149
L.104: SKIPA AC1,11(AC2) ; RESULT,11(AC2) 403517' 334 01 0 02 000011 1174
L.105: SETZ AC1, ; RESULT, 403520' 400 01 0 00 000000 1178
L.106: POPJ SP, ; SP, 403521' 263 17 0 00 000000 1000
; Routine Size: 120 words
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 66
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (8)
; 1193 ROUTINE NEXT_LIX (VAR_NUMBER, VALUES) =
; 1194
; 1195 !++
; 1196 ! FUNCTIONAL DESCRIPTION:
; 1197 !
; 1198 ! Keep the BLOCK_LOAD data base up to date based upon the current
; 1199 ! system line. Return an indication if data items associated with
; 1200 ! the CTL, UNT, or TRB parameters have been changed.
; 1201 !
; 1202 ! FORMAL PARAMETERS
; 1203 !
; 1204 ! VAR_NUMBER - the Variable Set to return indication on
; 1205 ! VALUES - Misc info maintained by VNP
; 1206 !
; 1207 ! IMPLICIT INPUTS
; 1208 !
; 1209 ! NONE.
; 1210 !
; 1211 ! ROUTINE VALUE:
; 1212 !
; 1213 ! TRUE - if the set of parameters for VAR_NUMBER have changed or no
; 1214 ! next line exists.
; 1215 ! FALSE - otherwise
; 1216 !
; 1217 ! SIDE EFFECTS:
; 1218 !
; 1219 ! NONE.
; 1220 !
; 1221 !--
; 1222
; 1223 BEGIN
; 1224
; 1225 BIND
; 1226 ROUTINE_NAME = UPLIT (%ASCIZ'NEXT_LIX');
; 1227
; 1228 MAP
; 1229 VALUES : REF VNPVAL_BLOCK;
; 1230
; 1231 LOCAL
; 1232 NEW_DEV : REF DEV_BLOCK,
; 1233 NEW_CTL : REF CTL_BLOCK,
; 1234 NEW_UNT : REF UNT_BLOCK,
; 1235 NEW_TRB : REF TRB_BLOCK,
; 1236 RESULT,
; 1237 TEMP_LIX;
; 1238
; 1239 !
; 1240 ! These set of support routines allow for searching VNP's data structures
; 1241 ! for the data items we want.
; 1242 !
; 1243 ROUTINE SEL_SLT (SLT_PTR, LIX_NUM) =
; 1244 BEGIN
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 67
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (8)
; 1245
; 1246 MAP
; 1247 SLT_PTR : REF SLT_BLOCK;
; 1248
; 1249 IF ((.LIX_NUM = ..LIX_NUM - 1) LEQ 0) THEN .SLT_PTR ELSE 0
; 1250
; 1251 END;
P.ABH: BYTE (7)"N","E","X","T","_" ; NEXT_ 403522' 116 105 130 124 137
BYTE (7)"L","I","X",000,000 ; LIX 403523' 114 111 130 000 000
ROUTINE_NAME= P.ABH ; 000000 403522'
SEL_SLT:MOVE AC1,-1(SP) ; AC1,LIX_NUM 403524' 200 01 0 17 777777 1249
SOSG 0(AC1) ; 0(AC1) 403525' 377 00 0 01 000000
SKIPA AC1,-2(SP) ; AC1,SLT_PTR 403526' 334 01 0 17 777776
SETZ AC1, ; AC1, 403527' 400 01 0 00 000000
POPJ SP, ; SP, 403530' 263 17 0 00 000000 1243
; Routine Size: 5 words
; 1252 !
; 1253 ROUTINE SEL_DEV (DEV_PTR, DEV_NAM) =
; 1254 BEGIN
; 1255
; 1256 MAP
; 1257 DEV_PTR : REF DEV_BLOCK;
; 1258
; 1259 IF (CH$EQL (3, CH$PTR (DEV_PTR [DEV_NAME]), 3, CH$PTR (.DEV_NAM))) THEN .DEV_PTR ELSE 0
; 1260
; 1261 END;
SEL_DEV:MOVE AC3,-2(SP) ; AC3,DEV_PTR 403531' 200 03 0 17 777776 1259
MOVEI AC2,0(AC3) ; AC2,0(AC3) 403532' 201 02 0 03 000000
HRLI AC2,10700 ; AC2,10700 403533' 505 02 0 00 010700
MOVE AC1,-1(SP) ; AC1,DEV_NAM 403534' 200 01 0 17 777777
MOVEI AC5,-1(AC1) ; AC5,-1(AC1) 403535' 201 05 0 01 777777
HRLI AC5,10700 ; AC5,10700 403536' 505 05 0 00 010700
MOVEI AC1,3 ; AC1,3 403537' 201 01 0 00 000003
MOVEI AC4,3 ; AC4,3 403540' 201 04 0 00 000003
EXTEND AC1,C.52 ; AC1,[CMPSE ] 403541' 123 01 0 00 403546'
JRST L.107 ; L.107 403542' 254 00 0 00 403544'
SKIPA AC1,AC3 ; AC1,AC3 403543' 334 01 0 00 000003
L.107: SETZ AC1, ; AC1, 403544' 400 01 0 00 000000
POPJ SP, ; SP, 403545' 263 17 0 00 000000 1253
C.52: CMPSE ; 403546' 002 00 0 00 000000
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 68
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (8)
; Routine Size: 14 words
; 1262 !
; 1263 ROUTINE SEL_CTL (CTL_PTR, CTL_NUM) =
; 1264 BEGIN
; 1265
; 1266 MAP
; 1267 CTL_PTR : REF CTL_BLOCK;
; 1268
; 1269 IF (.CTL_PTR [CTL_CONT] EQL .CTL_NUM) THEN .CTL_PTR ELSE 0
; 1270
; 1271 END;
SEL_CTL:MOVE AC1,-2(SP) ; AC1,CTL_PTR 403547' 200 01 0 17 777776 1269
MOVE AC2,1(AC1) ; AC2,1(AC1) 403550' 200 02 0 01 000001
CAME AC2,-1(SP) ; AC2,CTL_NUM 403551' 312 02 0 17 777777
SETZ AC1, ; AC1, 403552' 400 01 0 00 000000
POPJ SP, ; SP, 403553' 263 17 0 00 000000 1263
; Routine Size: 5 words
; 1272 !
; 1273 ROUTINE SEL_UNT (UNT_PTR, UNT_NUM) =
; 1274 BEGIN
; 1275
; 1276 MAP
; 1277 UNT_PTR : REF UNT_BLOCK;
; 1278
; 1279 IF (.UNT_PTR [UNT_UNIT] EQL .UNT_NUM) THEN .UNT_PTR ELSE 0
; 1280
; 1281 END;
SEL_UNT:MOVE AC1,-2(SP) ; AC1,UNT_PTR 403554' 200 01 0 17 777776 1279
MOVE AC2,1(AC1) ; AC2,1(AC1) 403555' 200 02 0 01 000001
CAME AC2,-1(SP) ; AC2,UNT_NUM 403556' 312 02 0 17 777777
SETZ AC1, ; AC1, 403557' 400 01 0 00 000000
POPJ SP, ; SP, 403560' 263 17 0 00 000000 1273
; Routine Size: 5 words
; 1282 !
; 1283 ROUTINE SEL_TRB (TRB_PTR, TRB_NUM) =
; 1284 BEGIN
; 1285
; 1286 MAP
; 1287 TRB_PTR : REF TRB_BLOCK;
; 1288
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 69
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (8)
; 1289 IF (.TRB_PTR [TRB_LADDR] EQL .TRB_NUM) THEN .TRB_PTR ELSE 0
; 1290
; 1291 END;
SEL_TRB:MOVE AC1,-2(SP) ; AC1,TRB_PTR 403561' 200 01 0 17 777776 1289
MOVE AC2,1(AC1) ; AC2,1(AC1) 403562' 200 02 0 01 000001
CAME AC2,-1(SP) ; AC2,TRB_NUM 403563' 312 02 0 17 777777
SETZ AC1, ; AC1, 403564' 400 01 0 00 000000
POPJ SP, ; SP, 403565' 263 17 0 00 000000 1283
; Routine Size: 5 words
; 1292 !
; 1293 ! The start of NEXT_LIX
; 1294 !-
; 1295 !
; 1296 ! Setup default new values for the next SLT
; 1297 !
; 1298 NEW_DEV = 0;
; 1299 NEW_CTL = 0;
; 1300 NEW_UNT = 0;
; 1301 NEW_TRB = 0;
; 1302 RESULT = TRUE; !Default response is TRUE
; 1303 !
; 1304 ! Get next SLT based upon line index and setup pointers to it's associated
; 1305 ! data structures. Upon completion, RESULT will be TRUE if an
; 1306 ! important change occured otherwise it will be FALSE.
; 1307 !
; 1308 CURLIX = .CURLIX + 1; !Update the Line Index
; 1309 TEMP_LIX = .CURLIX; !Used to find correct LIX
; 1310 CURSLT = FND_CHAIN (.VALUES [SLT_CHAIN], SEL_SLT, TEMP_LIX);
; 1311
; 1312 IF (.CURSLT NEQ 0)
; 1313 THEN
; 1314 BEGIN
; 1315 NEW_DEV = FND_CHAIN (.VALUES [DEV_CHAIN], SEL_DEV,
; 1316 (IF (.CURSLT [SLT_DEV] NEQ 0) THEN CURSLT [SLT_DEV] ELSE CURSLT [SLT_DLC]));
; 1317
; 1318 IF (.NEW_DEV NEQ 0)
; 1319 THEN
; 1320 BEGIN
; 1321 NEW_CTL = FND_CHAIN (.NEW_DEV [DEV_CTL], SEL_CTL, .CURSLT [SLT_CTL]);
; 1322
; 1323 IF (.NEW_CTL NEQ 0)
; 1324 THEN
; 1325 BEGIN
; 1326 NEW_UNT = FND_CHAIN (.NEW_CTL [CTL_UNT], SEL_UNT, .CURSLT [SLT_UNT]);
; 1327
; 1328 IF (.NEW_UNT NEQ 0)
; 1329 THEN
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 70
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (8)
; 1330 BEGIN
; 1331 NEW_TRB = FND_CHAIN (.NEW_UNT [UNT_TRB], SEL_TRB, .CURSLT [SLT_TRB]);
; 1332 END;
; 1333
; 1334 END;
; 1335
; 1336 END;
; 1337
; 1338 END;
; 1339
; 1340 IF ((.NEW_CTL NEQ .CURCTL) AND (.VAR_NUMBER EQL VAR_CURRENT_CTL))
; 1341 THEN
; 1342 RESULT = TRUE
; 1343 ELSE
; 1344
; 1345 IF ((.NEW_UNT NEQ .CURUNT) AND (.VAR_NUMBER EQL VAR_CURRENT_UNT))
; 1346 THEN
; 1347 RESULT = TRUE
; 1348 ELSE
; 1349
; 1350 IF ((.NEW_TRB NEQ .CURTRB) AND (.VAR_NUMBER EQL VAR_CURRENT_TRB))
; 1351 THEN
; 1352 RESULT = TRUE
; 1353 ELSE
; 1354 RESULT = FALSE;
; 1355
; 1356 CURDEV = .NEW_DEV;
; 1357 CURCTL = .NEW_CTL;
; 1358 CURUNT = .NEW_UNT;
; 1359 CURTRB = .NEW_TRB;
; 1360 .RESULT
; 1361 END; ! of NEXT_LIX
NEXT_LIX:
PUSH SP,AC0 ; SP,AC0 403566' 261 17 0 00 000000 1193
PUSH SP,AC10 ; SP,AC10 403567' 261 17 0 00 000010
PUSH SP,AC11 ; SP,AC11 403570' 261 17 0 00 000011
PUSH SP,AC12 ; SP,AC12 403571' 261 17 0 00 000012
PUSH SP,AC13 ; SP,AC13 403572' 261 17 0 00 000013
PUSH SP,AC16 ; SP,AC16 403573' 261 17 0 00 000016
ADJSP SP,1 ; SP,1 403574' 105 17 0 00 000001
SETZB AC13,AC11 ; NEW_DEV,NEW_CTL 403575' 403 13 0 00 000011 1298
SETZB AC10,AC12 ; NEW_UNT,NEW_TRB 403576' 403 10 0 00 000012 1300
MOVEI AC16,1 ; RESULT,1 403577' 201 16 0 00 000001 1302
AOS CURLIX ; CURLIX 403600' 350 00 0 00 000003' 1308
MOVE AC0,CURLIX ; AC0,CURLIX 403601' 200 00 0 00 000003' 1309
MOVEM AC0,0(SP) ; AC0,TEMP_LIX 403602' 202 00 0 17 000000
MOVE AC0,-10(SP) ; AC0,VALUES 403603' 200 00 0 17 777770 1310
MOVE AC2,AC0 ; AC2,AC0 403604' 200 02 0 00 000000
HLRZ AC1,2(AC2) ; AC1,2(AC2) 403605' 554 01 0 02 000002
PUSH SP,AC1 ; SP,AC1 403606' 261 17 0 00 000001
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 71
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (8)
PUSH SP,C.53 ; SP,[0,,SEL_SLT] 403607' 261 17 0 00 403726'
MOVEI AC1,-2(SP) ; AC1,TEMP_LIX 403610' 201 01 0 17 777776
PUSH SP,AC1 ; SP,AC1 403611' 261 17 0 00 000001
PUSHJ SP,FND_CHAIN ; SP,FND_CHAIN 403612' 260 17 0 00 000000*
MOVEM AC1,CURSLT ; AC1,CURSLT 403613' 202 01 0 00 000004'
JUMPE AC1,L.113 ; AC1,L.113 403614' 322 01 0 00 403666' 1312
MOVE AC3,AC0 ; AC3,AC0 403615' 200 03 0 00 000000 1315
HRRZ AC2,2(AC3) ; AC2,2(AC3) 403616' 550 02 0 03 000002
PUSH SP,AC2 ; SP,AC2 403617' 261 17 0 00 000002
PUSH SP,C.54 ; SP,[0,,SEL_DEV] 403620' 261 17 0 00 403727'
SKIPN 1(AC1) ; 1(AC1) 403621' 336 00 0 01 000001 1316
JRST L.108 ; L.108 403622' 254 00 0 00 403626'
MOVEI AC2,1(AC1) ; AC2,1(AC1) 403623' 201 02 0 01 000001
PUSH SP,AC2 ; SP,AC2 403624' 261 17 0 00 000002
JRST L.109 ; L.109 403625' 254 00 0 00 403630'
L.108: ADDI AC1,2 ; AC1,2 403626' 271 01 0 00 000002
PUSH SP,AC1 ; SP,AC1 403627' 261 17 0 00 000001
L.109: PUSHJ SP,FND_CHAIN ; SP,FND_CHAIN 403630' 260 17 0 00 000000* 1315
MOVE AC13,AC1 ; NEW_DEV,AC1 403631' 200 13 0 00 000001
JUMPE AC13,L.112 ; NEW_DEV,L.112 403632' 322 13 0 00 403665' 1318
HRRZ AC0,2(AC13) ; AC0,2(NEW_DEV) 403633' 550 00 0 13 000002 1321
PUSH SP,AC0 ; SP,AC0 403634' 261 17 0 00 000000
PUSH SP,C.55 ; SP,[0,,SEL_CTL] 403635' 261 17 0 00 403730'
MOVE AC1,CURSLT ; AC1,CURSLT 403636' 200 01 0 00 000004'
PUSH SP,4(AC1) ; SP,4(AC1) 403637' 261 17 0 01 000004
PUSHJ SP,FND_CHAIN ; SP,FND_CHAIN 403640' 260 17 0 00 000000*
MOVE AC11,AC1 ; NEW_CTL,AC1 403641' 200 11 0 00 000001
JUMPE AC11,L.111 ; NEW_CTL,L.111 403642' 322 11 0 00 403664' 1323
HRRZ AC0,2(AC11) ; AC0,2(NEW_CTL) 403643' 550 00 0 11 000002 1326
PUSH SP,AC0 ; SP,AC0 403644' 261 17 0 00 000000
PUSH SP,C.56 ; SP,[0,,SEL_UNT] 403645' 261 17 0 00 403731'
MOVE AC1,CURSLT ; AC1,CURSLT 403646' 200 01 0 00 000004'
PUSH SP,5(AC1) ; SP,5(AC1) 403647' 261 17 0 01 000005
PUSHJ SP,FND_CHAIN ; SP,FND_CHAIN 403650' 260 17 0 00 000000*
MOVE AC10,AC1 ; NEW_UNT,AC1 403651' 200 10 0 00 000001
JUMPE AC10,L.110 ; NEW_UNT,L.110 403652' 322 10 0 00 403663' 1328
HRRZ AC0,4(AC10) ; AC0,4(NEW_UNT) 403653' 550 00 0 10 000004 1331
PUSH SP,AC0 ; SP,AC0 403654' 261 17 0 00 000000
PUSH SP,C.57 ; SP,[0,,SEL_TRB] 403655' 261 17 0 00 403732'
MOVE AC1,CURSLT ; AC1,CURSLT 403656' 200 01 0 00 000004'
PUSH SP,6(AC1) ; SP,6(AC1) 403657' 261 17 0 01 000006
PUSHJ SP,FND_CHAIN ; SP,FND_CHAIN 403660' 260 17 0 00 000000*
MOVE AC12,AC1 ; NEW_TRB,AC1 403661' 200 12 0 00 000001
ADJSP SP,-3 ; SP,-3 403662' 105 17 0 00 777775 1330
L.110: ADJSP SP,-3 ; SP,-3 403663' 105 17 0 00 777775 1325
L.111: ADJSP SP,-3 ; SP,-3 403664' 105 17 0 00 777775 1320
L.112: ADJSP SP,-3 ; SP,-3 403665' 105 17 0 00 777775 1314
L.113: CAMN AC11,CURCTL ; NEW_CTL,CURCTL 403666' 316 11 0 00 000006' 1340
JRST L.114 ; L.114 403667' 254 00 0 00 403673'
MOVEI AC0,11 ; AC0,11 403670' 201 00 0 00 000011
CAMN AC0,-14(SP) ; AC0,VAR_NUMBER 403671' 316 00 0 17 777764
JRST L.116 ; L.116 403672' 254 00 0 00 403705'
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 72
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (8)
L.114: CAMN AC10,CURUNT ; NEW_UNT,CURUNT 403673' 316 10 0 00 000007' 1345
JRST L.115 ; L.115 403674' 254 00 0 00 403700'
MOVEI AC0,12 ; AC0,12 403675' 201 00 0 00 000012
CAMN AC0,-14(SP) ; AC0,VAR_NUMBER 403676' 316 00 0 17 777764
JRST L.116 ; L.116 403677' 254 00 0 00 403705'
L.115: CAMN AC12,CURTRB ; NEW_TRB,CURTRB 403700' 316 12 0 00 000010' 1350
JRST L.117 ; L.117 403701' 254 00 0 00 403707'
MOVEI AC0,13 ; AC0,13 403702' 201 00 0 00 000013
CAME AC0,-14(SP) ; AC0,VAR_NUMBER 403703' 312 00 0 17 777764
JRST L.117 ; L.117 403704' 254 00 0 00 403707'
L.116: MOVEI AC16,1 ; RESULT,1 403705' 201 16 0 00 000001 1352
JRST L.118 ; L.118 403706' 254 00 0 00 403710' 1350
L.117: SETZ AC16, ; RESULT, 403707' 400 16 0 00 000000 1354
L.118: MOVEM AC13,CURDEV ; NEW_DEV,CURDEV 403710' 202 13 0 00 000005' 1356
MOVEM AC11,CURCTL ; NEW_CTL,CURCTL 403711' 202 11 0 00 000006' 1357
MOVEM AC10,CURUNT ; NEW_UNT,CURUNT 403712' 202 10 0 00 000007' 1358
MOVEM AC12,CURTRB ; NEW_TRB,CURTRB 403713' 202 12 0 00 000010' 1359
ADJSP SP,-3 ; SP,-3 403714' 105 17 0 00 777775 1223
MOVE AC1,AC16 ; AC1,RESULT 403715' 200 01 0 00 000016 1193
ADJSP SP,-1 ; SP,-1 403716' 105 17 0 00 777777
POP SP,AC16 ; SP,AC16 403717' 262 17 0 00 000016
POP SP,AC13 ; SP,AC13 403720' 262 17 0 00 000013
POP SP,AC12 ; SP,AC12 403721' 262 17 0 00 000012
POP SP,AC11 ; SP,AC11 403722' 262 17 0 00 000011
POP SP,AC10 ; SP,AC10 403723' 262 17 0 00 000010
POP SP,AC0 ; SP,AC0 403724' 262 17 0 00 000000
POPJ SP, ; SP, 403725' 263 17 0 00 000000
C.53: XWD 0,SEL_SLT ; 0,SEL_SLT 403726' 000000 403524'
C.54: XWD 0,SEL_DEV ; 0,SEL_DEV 403727' 000000 403531'
C.55: XWD 0,SEL_CTL ; 0,SEL_CTL 403730' 000000 403547'
C.56: XWD 0,SEL_UNT ; 0,SEL_UNT 403731' 000000 403554'
C.57: XWD 0,SEL_TRB ; 0,SEL_TRB 403732' 000000 403561'
; Routine Size: 101 words
; 1362
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 73
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (9)
; 1363 GLOBAL ROUTINE MCEX (KERNEL_FILE, CEX_FILE, VALUES) : NOVALUE = !MERGE THE COMM EXEC
; 1364
; 1365 !++
; 1366 ! FUNCTIONAL DESCRIPTION:
; 1367 !
; 1368 ! MERGE THE COMM EXEC INTO THE KERNEL. THIS REQUIRES SETTING
; 1369 ! UP A COMMON PARTITION. INFORMATION ON THE PARTITION IS
; 1370 ! TAKEN FROM THE COMM EXEC'S LABEL AND HEADER BLOCKS,
; 1371 ! AND FROM CETAB.MAC.
; 1372 !
; 1373 ! FORMAL PARAMETERS:
; 1374 !
; 1375 ! KERNEL_FILE - FILE BLOCK FOR THE KERNEL
; 1376 ! CEX_FILE - FILE BLOCK FOR THE COMM EXEC
; 1377 ! VALUES - VALUES READ FROM CETAB.MAC AND THE SYMBOL TABLES
; 1378 !
; 1379 ! IMPLICIT INPUTS:
; 1380 !
; 1381 ! NONE
; 1382 !
; 1383 ! IMPLICIT OUTPUTS:
; 1384 !
; 1385 ! NONE
; 1386 !
; 1387 ! ROUTINE VALUE:
; 1388 !
; 1389 ! NONE
; 1390 !
; 1391 ! SIDE EFFECTS
; 1392 !
; 1393 ! CHANGES THE CORE IMAGE
; 1394 !
; 1395 !--
; 1396
; 1397 BEGIN
; 1398
; 1399 BIND
; 1400 ROUTINE_NAME = UPLIT (%ASCIZ'MCEX');
; 1401
; 1402 MAP
; 1403 KERNEL_FILE : REF FILE_BLOCK,
; 1404 CEX_FILE : REF FILE_BLOCK,
; 1405 VALUES : REF VNPVAL_BLOCK;
; 1406
; 1407 LOCAL
; 1408 PCB_ADDR,
; 1409 CEX_LABEL : REF VECTOR [1024],
; 1410 KERNEL_LABEL : REF VECTOR [1024],
; 1411 HIGH_EXEC_ADDR,
; 1412 FLAGS,
; 1413 CEX_BASE,
; 1414 CEX_TOP,
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 74
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (9)
; 1415 TEMP1,
; 1416 TEMP2,
; 1417 TEMP3,
; 1418 R50VAL : VECTOR [4];
; 1419
; 1420 CEX_LABEL = .CEX_FILE [FILE_LABEL];
; 1421 KERNEL_LABEL = .KERNEL_FILE [FILE_LABEL];
; 1422 !
; 1423 ! FIND THE FLAGS FROM THIS CORE IMAGE, AND CHECK THAT ALL NECESSARY
; 1424 ! OPTIONS AND NO BAD OPTIONS ARE SELECTED.
; 1425 !
; 1426 FLAGS = GETWRD (.KERNEL_FILE, .VALUES [FMASK]);
; 1427 !
; 1428 ! VERIFY THAT FE_EXT (22-BIT ADDRESSING) IS CLEAR.
; 1429 ! ALSO, FE_CEX (COMM EXEC LOADED) SHOULD BE CLEAR.
; 1430 !
; 1431
; 1432 IF ((.FLAGS AND .VALUES [FE_EXT]) NEQ 0)
; 1433 THEN
; 1434 ERRMSG (0, 28, ROUTINE_NAME, KERNEL_FILE [FILE_NAME], 0, 0,
; 1435 0);
; 1436
; 1437 IF ((.FLAGS AND .VALUES [FE_CEX]) NEQ 0)
; 1438 THEN
; 1439 ERRMSG (0, 30, ROUTINE_NAME, KERNEL_FILE [FILE_NAME], 0, 0,
; 1440 0);
; 1441
; 1442 !
; 1443 ! SINCE WE HAVE NOT REALLY CHECKED OUT PLAS SUPPORT, DONT ALLOW IT.
; 1444 !
; 1445
; 1446 IF ((.FLAGS AND .VALUES [FE_PLA]) NEQ 0)
; 1447 THEN
; 1448 ERRMSG (0, 33, ROUTINE_NAME, KERNEL_FILE [FILE_NAME], 0, 0,
; 1449 0);
; 1450
; 1451 !
; 1452 ! EXTEND THE EXECUTIVE POOL TO THE BOTTOM OF THE COMM EXEC PARTITION
; 1453 !
; 1454 CEX_BASE = .CEX_LABEL [L$BSA] + (256*.CEX_LABEL [L$BSA + 1]);
; 1455 CEX_TOP = .CEX_LABEL [L$BHGV] + (256*.CEX_LABEL [L$BHGV + 1]);
; 1456
; 1457 IF ((.FLAGS AND .VALUES [FE_EXV]) EQL 0) THEN HIGH_EXEC_ADDR = 16*2048 ELSE HIGH_EXEC_ADDR = 20*2048;
; 1458
; 1459 IF (.CEX_TOP GTR .HIGH_EXEC_ADDR)
; 1460 THEN
; 1461 ERRMSG (0, 31, ROUTINE_NAME, CEX_FILE [FILE_NAME], .CEX_TOP,
; 1462 .HIGH_EXEC_ADDR, 0);
; 1463
; 1464 !
; 1465 ! ROUND THE BASE OF THE EXEC STORAGE POOL UP TO A MULTIPLE OF 4 BYTES
; 1466 !
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 75
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (9)
; 1467 TEMP1 = GETWRD (.KERNEL_FILE, .VALUES [CRAVL]); !BASE OF POOL
; 1468 TEMP2 = GETWRD (.KERNEL_FILE, .TEMP1 + 2); !CURRENT LENGTH OF POOL
; 1469 PUTWRD (.KERNEL_FILE, .TEMP1 + 2, 0); !CLEAR OLD LENGTH WORD
; 1470 TEMP3 = ((.TEMP1 + 3) AND ( NOT 3)); !ROUND UP BASE TO MULT. OF 4
; 1471 TEMP2 = .TEMP2 - (.TEMP3 - .TEMP1); !ADJUST LENGTH WORD
; 1472 PUTWRD (.KERNEL_FILE, .VALUES [CRAVL], .TEMP3); !STORE NEW BASE
; 1473 PUTWRD (.KERNEL_FILE, .TEMP3, 0); !CLEAR NEW POINTER WORD
; 1474 PUTWRD (.KERNEL_FILE, .TEMP3 + 2, .TEMP2); !STORE NEW LENGTH
; 1475 !
; 1476 ! INCREASE THE SIZE OF THE EXEC
; 1477 !
; 1478 TEMP1 = GETWRD (.KERNEL_FILE, .VALUES [EXSIZ]); !REMEMBER OLD SIZE
; 1479 PUTWRD (.KERNEL_FILE, .VALUES [EXSIZ], .CEX_BASE); !STORE NEW SIZE
; 1480 !
; 1481 ! FREE THE NEW SPACE, THUS PLACING IT IN THE EXEC STORAGE POOL
; 1482 !
; 1483 DEACB (.KERNEL_FILE, .TEMP1,
; 1484 (.CEX_BASE - .TEMP1) AND ( NOT (GETWRD (.KERNEL_FILE, .VALUES [CRAVL] - 2))), .VALUES);
; 1485 !
; 1486 ! CREATE A PARTITION CONTROL BLOCK
; 1487 !
; 1488 PCB_ADDR = M_PCB (.KERNEL_FILE, UPLIT (%ASCIZ'CEXCOM'), 0, .CEX_BASE, .CEX_TOP, %O'100200',
; 1489 .VALUES [PS_COM], 0, .VALUES);
; 1490 !
; 1491 ! NOW COPY THE COMM EXEC INTO THE KERNEL IMAGE
; 1492 !
; 1493
; 1494 INCR ADDRESS FROM .CEX_BASE TO .CEX_TOP DO
; 1495 PUTBYT (.KERNEL_FILE, .ADDRESS, GETBYT (.CEX_FILE, .ADDRESS));
; 1496
; 1497 !
; 1498 ! NOW SET THE BIT IN THE FLAGS WORD WHICH MEANS THAT WE HAVE
; 1499 ! LOADED THE COMM EXEC.
; 1500 !
; 1501 FLAGS = .FLAGS OR .VALUES [FE_CEX];
; 1502 PUTWRD (.KERNEL_FILE, .VALUES [FMASK], .FLAGS);
; 1503 !
; 1504 END; !OF MCEX
P.ABI: BYTE (7)"M","C","E","X",000 ; MCEX 403733' 115 103 105 130 000
P.ABJ: BYTE (7)"C","E","X","C","O" ; CEXCO 403734' 103 105 130 103 117
BYTE (7)"M",000,000,000,000 ; M 403735' 115 000 000 000 000
ROUTINE_NAME= P.ABI ; 000000 403733'
MCEX:: PUSH SP,AC0 ; SP,AC0 403736' 261 17 0 00 000000 1363
PUSH SP,AC10 ; SP,AC10 403737' 261 17 0 00 000010
PUSH SP,AC11 ; SP,AC11 403740' 261 17 0 00 000011
PUSH SP,AC12 ; SP,AC12 403741' 261 17 0 00 000012
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 76
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (9)
PUSH SP,AC13 ; SP,AC13 403742' 261 17 0 00 000013
PUSH SP,AC14 ; SP,AC14 403743' 261 17 0 00 000014
PUSH SP,AC16 ; SP,AC16 403744' 261 17 0 00 000016
ADJSP SP,6 ; SP,6 403745' 105 17 0 00 000006
MOVE AC13,-17(SP) ; AC13,CEX_FILE 403746' 200 13 0 17 777761 1420
HRRZ AC10,17(AC13) ; CEX_LABEL,17(AC13) 403747' 550 10 0 13 000017
MOVE AC12,-20(SP) ; AC12,KERNEL_FILE 403750' 200 12 0 17 777760 1421
HRRZ AC0,17(AC12) ; KERNEL_LABEL,17(AC12) 403751' 550 00 0 12 000017
PUSH SP,AC12 ; SP,AC12 403752' 261 17 0 00 000012 1426
MOVE AC11,-17(SP) ; AC11,VALUES 403753' 200 11 0 17 777761
HLRZ AC0,6(AC11) ; AC0,6(AC11) 403754' 554 00 0 11 000006
PUSH SP,AC0 ; SP,AC0 403755' 261 17 0 00 000000
PUSHJ SP,GETWRD ; SP,GETWRD 403756' 260 17 0 00 000000*
MOVEM AC1,-3(SP) ; AC1,FLAGS 403757' 202 01 0 17 777775
HLRZ AC0,23(AC11) ; AC0,23(AC11) 403760' 554 00 0 11 000023 1432
TDNN AC0,-3(SP) ; AC0,FLAGS 403761' 616 00 0 17 777775
JRST L.119 ; L.119 403762' 254 00 0 00 403776'
SETZM 0(SP) ; 0(SP) 403763' 402 00 0 17 000000 1434
PUSH SP,C.58 ; SP,[34] 403764' 261 17 0 00 404235'
PUSH SP,C.59 ; SP,[0,,ROUTINE_NAME] 403765' 261 17 0 00 404236'
MOVE AC0,AC12 ; AC0,AC12 403766' 200 00 0 00 000012
ADDI AC0,2 ; AC0,2 403767' 271 00 0 00 000002
PUSH SP,AC0 ; SP,AC0 403770' 261 17 0 00 000000
PUSH SP,C.6 ; SP,[0] 403771' 261 17 0 00 400475'
PUSH SP,C.6 ; SP,[0] 403772' 261 17 0 00 400475'
PUSH SP,C.6 ; SP,[0] 403773' 261 17 0 00 400475'
PUSHJ SP,ERRMSG ; SP,ERRMSG 403774' 260 17 0 00 000000*
ADJSP SP,-6 ; SP,-6 403775' 105 17 0 00 777772
L.119: HRRZ AC0,30(AC11) ; AC0,30(AC11) 403776' 550 00 0 11 000030 1437
TDNN AC0,-3(SP) ; AC0,FLAGS 403777' 616 00 0 17 777775
JRST L.120 ; L.120 404000' 254 00 0 00 404014'
SETZM 0(SP) ; 0(SP) 404001' 402 00 0 17 000000 1439
PUSH SP,C.60 ; SP,[36] 404002' 261 17 0 00 404237'
PUSH SP,C.59 ; SP,[0,,ROUTINE_NAME] 404003' 261 17 0 00 404236'
MOVE AC0,AC12 ; AC0,AC12 404004' 200 00 0 00 000012
ADDI AC0,2 ; AC0,2 404005' 271 00 0 00 000002
PUSH SP,AC0 ; SP,AC0 404006' 261 17 0 00 000000
PUSH SP,C.6 ; SP,[0] 404007' 261 17 0 00 400475'
PUSH SP,C.6 ; SP,[0] 404010' 261 17 0 00 400475'
PUSH SP,C.6 ; SP,[0] 404011' 261 17 0 00 400475'
PUSHJ SP,ERRMSG ; SP,ERRMSG 404012' 260 17 0 00 000000*
ADJSP SP,-6 ; SP,-6 404013' 105 17 0 00 777772
L.120: HLRZ AC0,25(AC11) ; AC0,25(AC11) 404014' 554 00 0 11 000025 1446
TDNN AC0,-3(SP) ; AC0,FLAGS 404015' 616 00 0 17 777775
JRST L.121 ; L.121 404016' 254 00 0 00 404032'
SETZM 0(SP) ; 0(SP) 404017' 402 00 0 17 000000 1448
PUSH SP,C.61 ; SP,[41] 404020' 261 17 0 00 404240'
PUSH SP,C.59 ; SP,[0,,ROUTINE_NAME] 404021' 261 17 0 00 404236'
MOVE AC0,AC12 ; AC0,AC12 404022' 200 00 0 00 000012
ADDI AC0,2 ; AC0,2 404023' 271 00 0 00 000002
PUSH SP,AC0 ; SP,AC0 404024' 261 17 0 00 000000
PUSH SP,C.6 ; SP,[0] 404025' 261 17 0 00 400475'
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 77
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (9)
PUSH SP,C.6 ; SP,[0] 404026' 261 17 0 00 400475'
PUSH SP,C.6 ; SP,[0] 404027' 261 17 0 00 400475'
PUSHJ SP,ERRMSG ; SP,ERRMSG 404030' 260 17 0 00 000000*
ADJSP SP,-6 ; SP,-6 404031' 105 17 0 00 777772
L.121: MOVE AC0,11(AC10) ; AC0,11(CEX_LABEL) 404032' 200 00 0 10 000011 1454
IMULI AC0,400 ; AC0,400 404033' 221 00 0 00 000400
ADD AC0,10(AC10) ; AC0,10(CEX_LABEL) 404034' 270 00 0 10 000010
MOVEM AC0,-2(SP) ; AC0,CEX_BASE 404035' 202 00 0 17 777776
MOVE AC0,13(AC10) ; AC0,13(CEX_LABEL) 404036' 200 00 0 10 000013 1455
IMULI AC0,400 ; AC0,400 404037' 221 00 0 00 000400
MOVE AC16,AC0 ; CEX_TOP,AC0 404040' 200 16 0 00 000000
ADD AC16,12(AC10) ; CEX_TOP,12(CEX_LABEL) 404041' 270 16 0 10 000012
HLRZ AC0,24(AC11) ; AC0,24(AC11) 404042' 554 00 0 11 000024 1457
TDNE AC0,-3(SP) ; AC0,FLAGS 404043' 612 00 0 17 777775
JRST L.122 ; L.122 404044' 254 00 0 00 404047'
MOVEI AC0,100000 ; HIGH_EXEC_ADDR,100000 404045' 201 00 0 00 100000
JRST L.123 ; L.123 404046' 254 00 0 00 404050'
L.122: MOVEI AC0,120000 ; HIGH_EXEC_ADDR,120000 404047' 201 00 0 00 120000
L.123: CAMG AC16,AC0 ; CEX_TOP,HIGH_EXEC_ADDR 404050' 317 16 0 00 000000 1459
JRST L.124 ; L.124 404051' 254 00 0 00 404065'
SETZM 0(SP) ; 0(SP) 404052' 402 00 0 17 000000 1461
PUSH SP,C.62 ; SP,[37] 404053' 261 17 0 00 404241'
PUSH SP,C.59 ; SP,[0,,ROUTINE_NAME] 404054' 261 17 0 00 404236'
MOVE AC1,AC13 ; AC1,AC13 404055' 200 01 0 00 000013
ADDI AC1,2 ; AC1,2 404056' 271 01 0 00 000002
PUSH SP,AC1 ; SP,AC1 404057' 261 17 0 00 000001
PUSH SP,AC16 ; SP,CEX_TOP 404060' 261 17 0 00 000016
PUSH SP,AC0 ; SP,HIGH_EXEC_ADDR 404061' 261 17 0 00 000000
PUSH SP,C.6 ; SP,[0] 404062' 261 17 0 00 400475'
PUSHJ SP,ERRMSG ; SP,ERRMSG 404063' 260 17 0 00 000000*
ADJSP SP,-6 ; SP,-6 404064' 105 17 0 00 777772
L.124: MOVEM AC12,0(SP) ; AC12,0(SP) 404065' 202 12 0 17 000000 1467
HLRZ AC0,5(AC11) ; AC0,5(AC11) 404066' 554 00 0 11 000005
PUSH SP,AC0 ; SP,AC0 404067' 261 17 0 00 000000
PUSHJ SP,GETWRD ; SP,GETWRD 404070' 260 17 0 00 000000*
MOVE AC10,AC1 ; TEMP1,AC1 404071' 200 10 0 00 000001
MOVEM AC12,0(SP) ; AC12,0(SP) 404072' 202 12 0 17 000000 1468
MOVE AC0,AC10 ; AC0,TEMP1 404073' 200 00 0 00 000010
ADDI AC0,2 ; AC0,2 404074' 271 00 0 00 000002
PUSH SP,AC0 ; SP,AC0 404075' 261 17 0 00 000000
PUSHJ SP,GETWRD ; SP,GETWRD 404076' 260 17 0 00 000000*
MOVE AC14,AC1 ; TEMP2,AC1 404077' 200 14 0 00 000001
MOVEM AC12,-2(SP) ; AC12,-2(SP) 404100' 202 12 0 17 777776 1469
MOVEM AC0,-1(SP) ; AC0,-1(SP) 404101' 202 00 0 17 777777
SETZM 0(SP) ; 0(SP) 404102' 402 00 0 17 000000
PUSHJ SP,PUTWRD ; SP,PUTWRD 404103' 260 17 0 00 000000*
MOVE AC1,AC10 ; AC1,TEMP1 404104' 200 01 0 00 000010 1470
ADDI AC1,3 ; AC1,3 404105' 271 01 0 00 000003
MOVE AC0,AC1 ; TEMP3,AC1 404106' 200 00 0 00 000001
TRZ AC0,3 ; TEMP3,3 404107' 620 00 0 00 000003
MOVE AC1,AC10 ; AC1,TEMP1 404110' 200 01 0 00 000010 1471
SUB AC1,AC0 ; AC1,TEMP3 404111' 274 01 0 00 000000
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 78
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (9)
ADD AC14,AC1 ; TEMP2,AC1 404112' 270 14 0 00 000001
MOVEM AC12,0(SP) ; AC12,0(SP) 404113' 202 12 0 17 000000 1472
HLRZ AC1,5(AC11) ; AC1,5(AC11) 404114' 554 01 0 11 000005
PUSH SP,AC1 ; SP,AC1 404115' 261 17 0 00 000001
PUSH SP,AC0 ; SP,TEMP3 404116' 261 17 0 00 000000
PUSHJ SP,PUTWRD ; SP,PUTWRD 404117' 260 17 0 00 000000*
MOVEM AC12,-2(SP) ; AC12,-2(SP) 404120' 202 12 0 17 777776 1473
MOVEM AC0,-1(SP) ; TEMP3,-1(SP) 404121' 202 00 0 17 777777
SETZM 0(SP) ; 0(SP) 404122' 402 00 0 17 000000
PUSHJ SP,PUTWRD ; SP,PUTWRD 404123' 260 17 0 00 000000*
MOVEM AC12,0(SP) ; AC12,0(SP) 404124' 202 12 0 17 000000 1474
ADDI AC0,2 ; TEMP3,2 404125' 271 00 0 00 000002
PUSH SP,AC0 ; SP,TEMP3 404126' 261 17 0 00 000000
PUSH SP,AC14 ; SP,TEMP2 404127' 261 17 0 00 000014
PUSHJ SP,PUTWRD ; SP,PUTWRD 404130' 260 17 0 00 000000*
MOVEM AC12,0(SP) ; AC12,0(SP) 404131' 202 12 0 17 000000 1478
HRRZ AC0,6(AC11) ; AC0,6(AC11) 404132' 550 00 0 11 000006
PUSH SP,AC0 ; SP,AC0 404133' 261 17 0 00 000000
PUSHJ SP,GETWRD ; SP,GETWRD 404134' 260 17 0 00 000000*
MOVE AC10,AC1 ; TEMP1,AC1 404135' 200 10 0 00 000001
MOVEM AC12,0(SP) ; AC12,0(SP) 404136' 202 12 0 17 000000 1479
HRRZ AC0,6(AC11) ; AC0,6(AC11) 404137' 550 00 0 11 000006
PUSH SP,AC0 ; SP,AC0 404140' 261 17 0 00 000000
PUSH SP,-12(SP) ; SP,CEX_BASE 404141' 261 17 0 17 777766
PUSHJ SP,PUTWRD ; SP,PUTWRD 404142' 260 17 0 00 000000*
MOVEM AC12,-1(SP) ; AC12,-1(SP) 404143' 202 12 0 17 777777 1483
MOVEM AC10,0(SP) ; TEMP1,0(SP) 404144' 202 10 0 17 000000
MOVE AC0,-13(SP) ; AC0,CEX_BASE 404145' 200 00 0 17 777765 1484
SUB AC0,AC10 ; AC0,TEMP1 404146' 274 00 0 00 000010
PUSH SP,AC12 ; SP,AC12 404147' 261 17 0 00 000012
HLRZ AC1,5(AC11) ; AC1,5(AC11) 404150' 554 01 0 11 000005
SUBI AC1,2 ; AC1,2 404151' 275 01 0 00 000002
PUSH SP,AC1 ; SP,AC1 404152' 261 17 0 00 000001
PUSHJ SP,GETWRD ; SP,GETWRD 404153' 260 17 0 00 000000*
ANDCM AC0,AC1 ; AC0,AC1 404154' 420 00 0 00 000001
MOVEM AC0,-1(SP) ; AC0,-1(SP) 404155' 202 00 0 17 777777
ADJSP SP,-1 ; SP,-1 404156' 105 17 0 00 777777
PUSH SP,AC11 ; SP,AC11 404157' 261 17 0 00 000011 1483
PUSHJ SP,DEACB ; SP,DEACB 404160' 260 17 0 00 000000*
MOVEM AC12,0(SP) ; AC12,0(SP) 404161' 202 12 0 17 000000 1488
PUSH SP,C.63 ; SP,[0,,P.ABJ] 404162' 261 17 0 00 404242'
PUSH SP,C.6 ; SP,[0] 404163' 261 17 0 00 400475'
PUSH SP,-17(SP) ; SP,CEX_BASE 404164' 261 17 0 17 777761
PUSH SP,AC16 ; SP,CEX_TOP 404165' 261 17 0 00 000016
PUSH SP,C.64 ; SP,[100200] 404166' 261 17 0 00 404243'
HLRZ AC0,35(AC11) ; AC0,35(AC11) 404167' 554 00 0 11 000035
PUSH SP,AC0 ; SP,AC0 404170' 261 17 0 00 000000
PUSH SP,C.6 ; SP,[0] 404171' 261 17 0 00 400475'
PUSH SP,AC11 ; SP,AC11 404172' 261 17 0 00 000011
PUSHJ SP,M_PCB ; SP,M_PCB 404173' 260 17 0 00 000000*
MOVE AC0,-25(SP) ; ADDRESS,CEX_BASE 404174' 200 00 0 17 777753 1494
SOJA AC0,L.126 ; ADDRESS,L.126 404175' 364 00 0 00 404207'
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 79
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (9)
L.125: MOVEM AC12,-1(SP) ; AC12,-1(SP) 404176' 202 12 0 17 777777 1495
MOVEM AC0,0(SP) ; ADDRESS,0(SP) 404177' 202 00 0 17 000000
PUSH SP,AC13 ; SP,AC13 404200' 261 17 0 00 000013
PUSH SP,AC0 ; SP,ADDRESS 404201' 261 17 0 00 000000
PUSHJ SP,GETBYT ; SP,GETBYT 404202' 260 17 0 00 000000*
ADJSP SP,-1 ; SP,-1 404203' 105 17 0 00 777777
MOVEM AC1,0(SP) ; AC1,0(SP) 404204' 202 01 0 17 000000
PUSHJ SP,PUTBYT ; SP,PUTBYT 404205' 260 17 0 00 000000*
ADJSP SP,-1 ; SP,-1 404206' 105 17 0 00 777777
L.126: ADDI AC0,1 ; ADDRESS,1 404207' 271 00 0 00 000001 1494
CAMG AC0,AC16 ; ADDRESS,CEX_TOP 404210' 317 00 0 00 000016
JRST L.125 ; L.125 404211' 254 00 0 00 404176'
MOVE AC0,-26(SP) ; AC0,FLAGS 404212' 200 00 0 17 777752 1501
HRRZ AC1,30(AC11) ; AC1,30(AC11) 404213' 550 01 0 11 000030
IOR AC0,AC1 ; AC0,AC1 404214' 434 00 0 00 000001
MOVEM AC0,-26(SP) ; AC0,FLAGS 404215' 202 00 0 17 777752
MOVEM AC12,0(SP) ; AC12,0(SP) 404216' 202 12 0 17 000000 1502
HLRZ AC0,6(AC11) ; AC0,6(AC11) 404217' 554 00 0 11 000006
PUSH SP,AC0 ; SP,AC0 404220' 261 17 0 00 000000
PUSH SP,-27(SP) ; SP,FLAGS 404221' 261 17 0 17 777751
PUSHJ SP,PUTWRD ; SP,PUTWRD 404222' 260 17 0 00 000000*
ADJSP SP,-27 ; SP,-27 404223' 105 17 0 00 777751 1397
ADJSP SP,-6 ; SP,-6 404224' 105 17 0 00 777772 1363
POP SP,AC16 ; SP,AC16 404225' 262 17 0 00 000016
POP SP,AC14 ; SP,AC14 404226' 262 17 0 00 000014
POP SP,AC13 ; SP,AC13 404227' 262 17 0 00 000013
POP SP,AC12 ; SP,AC12 404230' 262 17 0 00 000012
POP SP,AC11 ; SP,AC11 404231' 262 17 0 00 000011
POP SP,AC10 ; SP,AC10 404232' 262 17 0 00 000010
POP SP,AC0 ; SP,AC0 404233' 262 17 0 00 000000
POPJ SP, ; SP, 404234' 263 17 0 00 000000
C.58: EXP 34 ; 34 404235' 000000 000034
C.59: XWD 0,ROUTINE_NAME ; 0,ROUTINE_NAME 404236' 000000 403733'
C.60: EXP 36 ; 36 404237' 000000 000036
C.61: EXP 41 ; 41 404240' 000000 000041
C.62: EXP 37 ; 37 404241' 000000 000037
C.63: XWD 0,P.ABJ ; 0,P.ABJ 404242' 000000 403734'
C.64: EXP 100200 ; 100200 404243' 000000 100200
; Routine Size: 198 words
; 1505
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 80
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (10)
; 1506 ROUTINE ALOC_POOL (KERNEL_FILE, AMOUNT, DUMMY, DUMMY2) = !ALLOCATE FROM POOL PARTITION
; 1507
; 1508 !++
; 1509 ! FUNCTIONAL DESCRIPTION:
; 1510 !
; 1511 ! ALLOCATE "AMOUNT" BYTES FROM THE CEXDAT PARTITION
; 1512 !
; 1513 ! FORMAL PARAMETERS:
; 1514 !
; 1515 ! KERNEL_FILE - THE RSX KERNEL
; 1516 ! AMOUNT - THE NUMBER OF BYTES TO ALLOCATE
; 1517 ! DUMMY - Dummy Parameter to Make CALL look like ALOCB Routine
; 1518 ! DUMMY2 - Dummy Parameter to Make CALL look like ALOCB Routine
; 1519 !
; 1520 ! IMPLICIT INPUTS:
; 1521 !
; 1522 ! FILE_HWM for KERNEL_FILE
; 1523 !
; 1524 ! IMPLICIT OUTPUTS:
; 1525 !
; 1526 ! NONE
; 1527 !
; 1528 ! ROUTINE VALUE:
; 1529 !
; 1530 ! Address of start of allocated area
; 1531 !
; 1532 ! SIDE EFFECTS
; 1533 !
; 1534 ! Expands the size of the SYSTEM image
; 1535 !
; 1536 !--
; 1537
; 1538 BEGIN
; 1539
; 1540 BIND
; 1541 ROUTINE_NAME = UPLIT (%ASCIZ'ALLOCATE_FROM_POOL');
; 1542
; 1543 MAP
; 1544 KERNEL_FILE : REF FILE_BLOCK;
; 1545
; 1546 LOCAL
; 1547 REAL_AMOUNT,
; 1548 RESULT;
; 1549
; 1550 !
; 1551 ! Round amount to two word boundary
; 1552 !
; 1553 REAL_AMOUNT = (.AMOUNT + 3) AND ( NOT 3);
; 1554 !
; 1555 ! Allocate by Moving the KERNEL_FILE's High Water Mark
; 1556 !
; 1557 RESULT = .KERNEL_FILE [FILE_HWM];
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 81
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (10)
; 1558 KERNEL_FILE [FILE_HWM] = .KERNEL_FILE [FILE_HWM] + .REAL_AMOUNT;
; 1559 !
; 1560 .RESULT
; 1561 END; !OF ALOC_POOL
P.ABK: BYTE (7)"A","L","L","O","C" ; ALLOC 404244' 101 114 114 117 103
BYTE (7)"A","T","E","_","F" ; ATE_F 404245' 101 124 105 137 106
BYTE (7)"R","O","M","_","P" ; ROM_P 404246' 122 117 115 137 120
BYTE (7)"O","O","L",000,000 ; OOL 404247' 117 117 114 000 000
ROUTINE_NAME= P.ABK ; 000000 404244'
ALOC_POOL:
MOVE AC1,-3(SP) ; AC1,AMOUNT 404250' 200 01 0 17 777775 1553
ADDI AC1,3 ; AC1,3 404251' 271 01 0 00 000003
MOVE AC3,AC1 ; REAL_AMOUNT,AC1 404252' 200 03 0 00 000001
TRZ AC3,3 ; REAL_AMOUNT,3 404253' 620 03 0 00 000003
MOVE AC2,-4(SP) ; AC2,KERNEL_FILE 404254' 200 02 0 17 777774 1557
MOVE AC1,16(AC2) ; RESULT,16(AC2) 404255' 200 01 0 02 000016
ADDM AC3,16(AC2) ; REAL_AMOUNT,16(AC2) 404256' 272 03 0 02 000016 1558
POPJ SP, ; SP, 404257' 263 17 0 00 000000 1506
; Routine Size: 8 words
; 1562
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 82
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (11)
; 1563 GLOBAL ROUTINE LD_DCB (KERNEL_FILE, FILE_CHAN, PCB_ADDR, DEV_NAME, VALUES) =
; 1564 !BUILD A DCB FOR AN LLC
; 1565
; 1566 !++
; 1567 ! FUNCTIONAL DESCRIPTION
; 1568 !
; 1569 ! ALLOCATE AND INSERT A DCB FOR A PARTICULAR LLC.
; 1570 !
; 1571 ! FORMAL PARAMETERS:
; 1572 !
; 1573 ! KERNEL_FILE - POINTER TO FILE THAT HOLDS THE KERNAL IMAGE
; 1574 ! FILE_CHAN - CHANNEL FOR PERFORMING I/O AT THIS LEVEL
; 1575 ! PCB_ADDR - PDP-11 ADDRESS OF PCB FOR THIS LLC
; 1576 ! DEV_NAME - LOCATION CONTAINING 2 CHARACTER DEVICE NAME
; 1577 ! VALUES - BLOCK OF LOTS OF GOOD THAINGS FOR VNP20
; 1578 !
; 1579 ! IMPLICIT INPUTS:
; 1580 !
; 1581 ! NONE
; 1582 !
; 1583 ! IMPLICIT OUTPUTS:
; 1584 !
; 1585 ! NONE
; 1586 !
; 1587 ! ROUTINE VALUE:
; 1588 !
; 1589 ! NONE
; 1590 !
; 1591 ! SIDE EFFECTS
; 1592 !
; 1593 ! THE KERNEL IS MODIFIED
; 1594 !
; 1595 !--
; 1596
; 1597 BEGIN
; 1598
; 1599 BIND
; 1600 ROUTINE_NAME = UPLIT (%ASCIZ'LD_DCB');
; 1601
; 1602 MAP
; 1603 KERNEL_FILE : REF FILE_BLOCK,
; 1604 VALUES : REF VNPVAL_BLOCK;
; 1605
; 1606 LOCAL
; 1607 LOC,
; 1608 DCB_FILE : REF FILE_BLOCK,
; 1609 DCB_NAME : VECTOR [CH$ALLOCATION (7)],
; 1610 XXBEG,
; 1611 XXEND,
; 1612 DCB_DATA_ADDR,
; 1613 DCB_ADDR,
; 1614 LAST_DCB_ADDR,
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 83
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (11)
; 1615 UCB_ADDR,
; 1616 FIRST_UCB_ADDR,
; 1617 UCB_LENGTH,
; 1618 SCB_ADDR,
; 1619 LAST_SCB_ADDR,
; 1620 NUNITS,
; 1621 MODU_PTR : REF MODU_BLOCK;
; 1622
; 1623 !
; 1624 ! GET FILE BLOCK TO READ IN FILE
; 1625 !
; 1626 DCB_FILE = GETBLK (FILE_TYP, FILE_LEN);
; 1627 !
; 1628 ! Tell someone what we are doing
; 1629 !
; 1630 OUTSTR (0, UPLIT (%ASCIZ'[Loading Device '));
; 1631 OUTSTR (0, DEV_NAME);
; 1632 OUTSTR (0, UPLIT (%ASCIZ': --> '));
; 1633 !
; 1634 ! SETUP FILENAME AS ??TAB
; 1635 !
; 1636 CH$COPY (2, CH$PTR (DEV_NAME), 3, CH$PTR (UPLIT (%ASCIZ'TAB')), 0, 6, CH$PTR (DCB_FILE [FILE_NAME]));
; 1637 !
; 1638 ! READ IN THE CORE FILE AND SYMBOL TABLE
; 1639 !
; 1640 RSTB (.FILE_CHAN, .DCB_FILE);
; 1641 RCOR (.DCB_FILE, .FILE_CHAN, 2*1024);
; 1642 !
; 1643 MODU_PTR = .DCB_FILE [FILE_MODU];
; 1644 OUTSTR (0, MODU_PTR [MODU_NAME]);
; 1645 OUTPUT (0, %C' ');
; 1646 OUTSTR (0, MODU_PTR [MODU_IDENT]);
; 1647 OUTSTR (0, UPLIT (%ASCIZ' ]'));
; 1648 PCRLF (0);
; 1649 !
; 1650 ! NOW LOOK UP THE STARTING AND ENDING SYMBOLS FOR COPYING
; 1651 !
; 1652 CH$COPY (1, CH$PTR (UPLIT (%ASCIZ'$')), 2, CH$PTR (DEV_NAME), 0, 7, CH$PTR (DCB_NAME));
; 1653 CH$MOVE (3, CH$PTR (UPLIT (%ASCIZ'DAT')), CH$PTR (DCB_NAME, 3));
; 1654 XXBEG = SYM_VAL (.DCB_FILE, DCB_NAME, 0);
; 1655 CH$MOVE (3, CH$PTR (UPLIT (%ASCIZ'END')), CH$PTR (DCB_NAME, 3));
; 1656 XXEND = SYM_VAL (.DCB_FILE, DCB_NAME, 0);
; 1657 !
; 1658 ! ALLOCATE THE DCB STRUCTURES
; 1659 !
; 1660 DCB_DATA_ADDR = ALOCB (.KERNEL_FILE, .XXEND - .XXBEG, 1, .VALUES);
; 1661 !
; 1662 ! COPY IN THE DATA STRUCTURE
; 1663 !
; 1664
; 1665 INCR COUNTER FROM .XXBEG TO .XXEND - 1 DO
; 1666 PUTBYT (.KERNEL_FILE, .DCB_DATA_ADDR + .COUNTER - .XXBEG, GETBYT (.DCB_FILE, .COUNTER));
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 84
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (11)
; 1667
; 1668 !
; 1669 ! NOW RELOCATE SOME OF THE DATA STRUCTURE LOCATIONS
; 1670 !
; 1671 !
; 1672 ! PROCESS EACH DCB, WITH ITS UCBS AND SCBS.
; 1673 !
; 1674 SCB_ADDR = 0;
; 1675 DCB_ADDR = .DCB_DATA_ADDR;
; 1676
; 1677 WHILE (.DCB_ADDR NEQ 0) DO
; 1678 BEGIN
; 1679 LAST_DCB_ADDR = .DCB_ADDR;
; 1680 !
; 1681 ! COMPUTE THE NUMBER OF UNITS AND THE LENGTH OF EACH UCB
; 1682 !
; 1683 NUNITS = GETBYT (.KERNEL_FILE, .DCB_ADDR + .VALUES [D_UNIT] + 1) - GETBYT (.KERNEL_FILE,
; 1684 .DCB_ADDR + .VALUES [D_UNIT]) + 1;
; 1685 UCB_LENGTH = GETWRD (.KERNEL_FILE, .DCB_ADDR + .VALUES [D_UCBL]);
; 1686 !
; 1687 ! RELOCATE THE DCB, UCB AND SCB.
; 1688 !
; 1689 FIRST_UCB_ADDR = GETWRD (.KERNEL_FILE, .DCB_ADDR + .VALUES [D_UCB]) - .XXBEG + .DCB_ADDR;
; 1690 PUTWRD (.KERNEL_FILE, .DCB_ADDR + .VALUES [D_UCB], .FIRST_UCB_ADDR);
; 1691 PUTWRD (.KERNEL_FILE, .DCB_ADDR + .VALUES [D_PCB], .PCB_ADDR);
; 1692
; 1693 INCR COUNTER FROM 0 TO .NUNITS - 1 DO
; 1694 BEGIN !EACH UCB
; 1695 UCB_ADDR = .FIRST_UCB_ADDR + (.UCB_LENGTH*.COUNTER);
; 1696 PUTWRD (.KERNEL_FILE, .UCB_ADDR + .VALUES [U_DCB],
; 1697 GETWRD (.KERNEL_FILE,
; 1698 .UCB_ADDR + .VALUES [U_DCB]) - .XXBEG + .DCB_ADDR);
; 1699 PUTWRD (.KERNEL_FILE, .UCB_ADDR + .VALUES [U_RED],
; 1700 GETWRD (.KERNEL_FILE,
; 1701 .UCB_ADDR + .VALUES [U_RED]) - .XXBEG + .DCB_ADDR);
; 1702 LAST_SCB_ADDR = .SCB_ADDR;
; 1703 SCB_ADDR = GETWRD (.KERNEL_FILE, .UCB_ADDR + .VALUES [U_SCB]) - .XXBEG + .DCB_ADDR;
; 1704 PUTWRD (.KERNEL_FILE, .UCB_ADDR + .VALUES [U_SCB], .SCB_ADDR);
; 1705
; 1706 IF (.SCB_ADDR NEQ .LAST_SCB_ADDR)
; 1707 THEN
; 1708 BEGIN
; 1709 PUTWRD (.KERNEL_FILE, .SCB_ADDR + .VALUES [S_LHD] + 2,
; 1710 GETWRD (.KERNEL_FILE,
; 1711 .SCB_ADDR + .VALUES [S_LHD] + 2) - .XXBEG + .DCB_ADDR);
; 1712 END;
; 1713
; 1714 END;
; 1715
; 1716 DCB_ADDR = GETWRD (.KERNEL_FILE, .DCB_ADDR + .VALUES [D_LNK]);
; 1717 END;
; 1718
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 85
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (11)
; 1719 !
; 1720 ! LINK THE DCB INTO THE SYSTEM'S LIST OF DCBS
; 1721 !
; 1722 LNKDCB (.KERNEL_FILE, .DCB_DATA_ADDR, .VALUES);
; 1723 !
; 1724 ! If this is for the CE: Device then we special case and store the data
; 1725 ! base address for use in loading other processes.
; 1726 !
; 1727
; 1728 IF (CH$EQL (2, CH$PTR (DEV_NAME), 2, CH$PTR (UPLIT (%ASCIZ'CE')), 0))
; 1729 THEN
; 1730 BEGIN
; 1731 VALUES [CE_DATA_BASE] = .DCB_DATA_ADDR;
; 1732 VALUES [CE_DATA_FILE] = .DCB_FILE;
; 1733 END
; 1734 ELSE
; 1735 !
; 1736 ! FREE SOME DATA STRUCTURES
; 1737 !
; 1738 FCOR (.DCB_FILE);
; 1739
; 1740 !
; 1741 ! Return Address of Start of Data Base
; 1742 !
; 1743 .DCB_DATA_ADDR
; 1744 END; !OF LD_DCB
P.ABL: BYTE (7)"L","D","_","D","C" ; LD_DC 404260' 114 104 137 104 103
BYTE (7)"B",000,000,000,000 ; B 404261' 102 000 000 000 000
P.ABM: BYTE (7)"[","L","o","a","d" ; [Load 404262' 133 114 157 141 144
BYTE (7)"i","n","g"," ","D" ; ing D 404263' 151 156 147 040 104
BYTE (7)"e","v","i","c","e" ; evice 404264' 145 166 151 143 145
BYTE (7)" ",000,000,000,000 ; 404265' 040 000 000 000 000
P.ABN: BYTE (7)":",011,"-","-",">" ; : --> 404266' 072 011 055 055 076
BYTE (7)" ",000,000,000,000 ; 404267' 040 000 000 000 000
P.ABO: BYTE (7)"T","A","B",000,000 ; TAB 404270' 124 101 102 000 000
P.ABP: BYTE (7)" ","]",000,000,000 ; ] 404271' 040 135 000 000 000
P.ABQ: BYTE (7)"$",000,000,000,000 ; $ 404272' 044 000 000 000 000
P.ABR: BYTE (7)"D","A","T",000,000 ; DAT 404273' 104 101 124 000 000
P.ABS: BYTE (7)"E","N","D",000,000 ; END 404274' 105 116 104 000 000
P.ABT: BYTE (7)"C","E",000,000,000 ; CE 404275' 103 105 000 000 000
ROUTINE_NAME= P.ABL ; 000000 404260'
LD_DCB::PUSH SP,AC0 ; SP,AC0 404276' 261 17 0 00 000000 1563
PUSH SP,AC10 ; SP,AC10 404277' 261 17 0 00 000010
PUSH SP,AC11 ; SP,AC11 404300' 261 17 0 00 000011
PUSH SP,AC12 ; SP,AC12 404301' 261 17 0 00 000012
PUSH SP,AC13 ; SP,AC13 404302' 261 17 0 00 000013
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 86
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (11)
PUSH SP,AC14 ; SP,AC14 404303' 261 17 0 00 000014
PUSH SP,AC16 ; SP,AC16 404304' 261 17 0 00 000016
ADJSP SP,20 ; SP,20 404305' 105 17 0 00 000020
PUSH SP,C.8 ; SP,[3] 404306' 261 17 0 00 400477' 1626
PUSH SP,C.9 ; SP,[20] 404307' 261 17 0 00 400500'
PUSHJ SP,GETBLK ; SP,GETBLK 404310' 260 17 0 00 000000*
MOVEM AC1,-10(SP) ; AC1,DCB_FILE 404311' 202 01 0 17 777770
SETZM 0(SP) ; 0(SP) 404312' 402 00 0 17 000000 1630
PUSH SP,C.66 ; SP,[0,,P.ABM] 404313' 261 17 0 00 405022'
PUSHJ SP,OUTSTR ; SP,OUTSTR 404314' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 404315' 402 00 0 17 000000 1631
MOVEI AC0,-34(SP) ; AC0,DEV_NAME 404316' 201 00 0 17 777744
PUSH SP,AC0 ; SP,AC0 404317' 261 17 0 00 000000
PUSHJ SP,OUTSTR ; SP,OUTSTR 404320' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 404321' 402 00 0 17 000000 1632
PUSH SP,C.67 ; SP,[0,,P.ABN] 404322' 261 17 0 00 405023'
PUSHJ SP,OUTSTR ; SP,OUTSTR 404323' 260 17 0 00 000000*
MOVEI AC2,-37(SP) ; AC2,DEV_NAME-1 404324' 201 02 0 17 777741 1636
HRLI AC2,10700 ; AC2,10700 404325' 505 02 0 00 010700
MOVEI AC0,6 ; AC0,6 404326' 201 00 0 00 000006
MOVE AC1,-13(SP) ; AC1,DCB_FILE 404327' 200 01 0 17 777765
MOVEI AC5,1(AC1) ; AC5,1(AC1) 404330' 201 05 0 01 000001
HRLI AC5,10700 ; AC5,10700 404331' 505 05 0 00 010700
MOVEI AC1,2 ; AC1,2 404332' 201 01 0 00 000002
MOVE AC4,AC0 ; AC4,AC0 404333' 200 04 0 00 000000
CAML AC4,AC1 ; AC4,AC1 404334' 311 04 0 00 000001
MOVE AC4,AC1 ; AC4,AC1 404335' 200 04 0 00 000001
SUB AC0,AC4 ; AC0,AC4 404336' 274 00 0 00 000004
EXTEND AC1,C.2 ; AC1,[MOVSLJ ] 404337' 123 01 0 00 400470'
JFCL ; 404340' 255 00 0 00 000000
JUMPLE AC0,L.127 ; AC0,L.127 404341' 323 00 0 00 404347'
MOVEI AC1,3 ; AC1,3 404342' 201 01 0 00 000003
MOVE AC2,C.68 ; AC2,[POINT 7,P.ABO-1,34] <1,7> 404343' 200 02 0 00 405024'
MOVE AC4,AC0 ; AC4,AC0 404344' 200 04 0 00 000000
EXTEND AC1,C.3 ; AC1,C.3 404345' 123 01 0 00 400471'
JFCL ; 404346' 255 00 0 00 000000
L.127: PUSH SP,-40(SP) ; SP,FILE_CHAN 404347' 261 17 0 17 777740 1640
PUSH SP,-14(SP) ; SP,DCB_FILE 404350' 261 17 0 17 777764
PUSHJ SP,RSTB ; SP,RSTB 404351' 260 17 0 00 000000*
MOVE AC0,-15(SP) ; AC0,DCB_FILE 404352' 200 00 0 17 777763 1641
MOVEM AC0,0(SP) ; AC0,0(SP) 404353' 202 00 0 17 000000
PUSH SP,-42(SP) ; SP,FILE_CHAN 404354' 261 17 0 17 777736
PUSH SP,C.69 ; SP,[4000] 404355' 261 17 0 00 405025'
PUSHJ SP,RCOR ; SP,RCOR 404356' 260 17 0 00 000000*
MOVE AC1,-17(SP) ; AC1,DCB_FILE 404357' 200 01 0 17 777761 1643
HRRZ AC0,14(AC1) ; MODU_PTR,14(AC1) 404360' 550 00 0 01 000014
SETZM 0(SP) ; 0(SP) 404361' 402 00 0 17 000000 1644
MOVE AC1,AC0 ; AC1,MODU_PTR 404362' 200 01 0 00 000000
ADDI AC1,1 ; AC1,1 404363' 271 01 0 00 000001
PUSH SP,AC1 ; SP,AC1 404364' 261 17 0 00 000001
PUSHJ SP,OUTSTR ; SP,OUTSTR 404365' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 404366' 402 00 0 17 000000 1645
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 87
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (11)
PUSH SP,C.16 ; SP,[40] 404367' 261 17 0 00 400507'
PUSHJ SP,OUTPUT ; SP,OUTPUT 404370' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 404371' 402 00 0 17 000000 1646
ADDI AC0,3 ; MODU_PTR,3 404372' 271 00 0 00 000003
PUSH SP,AC0 ; SP,MODU_PTR 404373' 261 17 0 00 000000
PUSHJ SP,OUTSTR ; SP,OUTSTR 404374' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 404375' 402 00 0 17 000000 1647
PUSH SP,C.70 ; SP,[0,,P.ABP] 404376' 261 17 0 00 405026'
PUSHJ SP,OUTSTR ; SP,OUTSTR 404377' 260 17 0 00 000000*
SETZM 0(SP) ; 0(SP) 404400' 402 00 0 17 000000 1648
PUSHJ SP,PCRLF ; SP,PCRLF 404401' 260 17 0 00 000000*
MOVEI AC0,-47(SP) ; AC0,DEV_NAME-1 404402' 201 00 0 17 777731 1652
HRLI AC0,10700 ; AC0,10700 404403' 505 00 0 00 010700
MOVEI AC3,7 ; AC3,7 404404' 201 03 0 00 000007
MOVEI AC5,-35(SP) ; AC5,DCB_NAME-1 404405' 201 05 0 17 777743
HRLI AC5,10700 ; AC5,10700 404406' 505 05 0 00 010700
MOVEI AC1,1 ; AC1,1 404407' 201 01 0 00 000001
MOVE AC2,C.71 ; AC2,[POINT 7,P.ABQ-1,34] <1,7> 404410' 200 02 0 00 405027'
MOVE AC4,AC3 ; AC4,AC3 404411' 200 04 0 00 000003
CAML AC4,AC1 ; AC4,AC1 404412' 311 04 0 00 000001
MOVE AC4,AC1 ; AC4,AC1 404413' 200 04 0 00 000001
SUB AC3,AC4 ; AC3,AC4 404414' 274 03 0 00 000004
EXTEND AC1,C.2 ; AC1,[MOVSLJ ] 404415' 123 01 0 00 400470'
JFCL ; 404416' 255 00 0 00 000000
JUMPLE AC3,L.128 ; AC3,L.128 404417' 323 03 0 00 404425'
MOVEI AC1,2 ; AC1,2 404420' 201 01 0 00 000002
MOVE AC2,AC0 ; AC2,AC0 404421' 200 02 0 00 000000
MOVE AC4,AC3 ; AC4,AC3 404422' 200 04 0 00 000003
EXTEND AC1,C.3 ; AC1,C.3 404423' 123 01 0 00 400471'
JFCL ; 404424' 255 00 0 00 000000
L.128: MOVEI AC5,-34(SP) ; AC5,DCB_NAME 404425' 201 05 0 17 777744 1653
HRLI AC5,170700 ; AC5,170700 404426' 505 05 0 00 170700
MOVEI AC1,3 ; AC1,3 404427' 201 01 0 00 000003
MOVE AC2,C.72 ; AC2,[POINT 7,P.ABR-1,34] <1,7> 404430' 200 02 0 00 405030'
MOVEI AC4,3 ; AC4,3 404431' 201 04 0 00 000003
EXTEND AC1,C.2 ; AC1,[MOVSLJ ] 404432' 123 01 0 00 400470'
JFCL ; 404433' 255 00 0 00 000000
MOVE AC0,-23(SP) ; AC0,DCB_FILE 404434' 200 00 0 17 777755 1654
MOVEM AC0,0(SP) ; AC0,0(SP) 404435' 202 00 0 17 000000
MOVEI AC0,-34(SP) ; AC0,DCB_NAME 404436' 201 00 0 17 777744
PUSH SP,AC0 ; SP,AC0 404437' 261 17 0 00 000000
PUSH SP,C.6 ; SP,[0] 404440' 261 17 0 00 400475'
PUSHJ SP,SYM_VAL ; SP,SYM_VAL 404441' 260 17 0 00 000000*
MOVEM AC1,-24(SP) ; AC1,XXBEG 404442' 202 01 0 17 777754
MOVEI AC5,-36(SP) ; AC5,DCB_NAME 404443' 201 05 0 17 777742 1655
HRLI AC5,170700 ; AC5,170700 404444' 505 05 0 00 170700
MOVEI AC1,3 ; AC1,3 404445' 201 01 0 00 000003
MOVE AC2,C.73 ; AC2,[POINT 7,P.ABS-1,34] <1,7> 404446' 200 02 0 00 405031'
MOVEI AC4,3 ; AC4,3 404447' 201 04 0 00 000003
EXTEND AC1,C.2 ; AC1,[MOVSLJ ] 404450' 123 01 0 00 400470'
JFCL ; 404451' 255 00 0 00 000000
MOVE AC0,-25(SP) ; AC0,DCB_FILE 404452' 200 00 0 17 777753 1656
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 88
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (11)
MOVEM AC0,0(SP) ; AC0,0(SP) 404453' 202 00 0 17 000000
MOVEI AC0,-36(SP) ; AC0,DCB_NAME 404454' 201 00 0 17 777742
PUSH SP,AC0 ; SP,AC0 404455' 261 17 0 00 000000
PUSH SP,C.6 ; SP,[0] 404456' 261 17 0 00 400475'
PUSHJ SP,SYM_VAL ; SP,SYM_VAL 404457' 260 17 0 00 000000*
MOVE AC10,AC1 ; XXEND,AC1 404460' 200 10 0 00 000001
MOVE AC0,-55(SP) ; AC0,KERNEL_FILE 404461' 200 00 0 17 777723 1660
MOVEM AC0,-36(SP) ; AC0,-36(SP) 404462' 202 00 0 17 777742
PUSH SP,-36(SP) ; SP,-36(SP) 404463' 261 17 0 17 777742
MOVE AC0,AC10 ; AC0,XXEND 404464' 200 00 0 00 000010
SUB AC0,-27(SP) ; AC0,XXBEG 404465' 274 00 0 17 777751
PUSH SP,AC0 ; SP,AC0 404466' 261 17 0 00 000000
PUSH SP,C.10 ; SP,[1] 404467' 261 17 0 00 400501'
MOVE AC14,-54(SP) ; AC14,VALUES 404470' 200 14 0 17 777724
PUSH SP,AC14 ; SP,AC14 404471' 261 17 0 00 000014
PUSHJ SP,ALOCB ; SP,ALOCB 404472' 260 17 0 00 000000*
MOVEM AC1,-31(SP) ; AC1,DCB_DATA_ADDR 404473' 202 01 0 17 777747
MOVE AC0,-32(SP) ; COUNTER,XXBEG 404474' 200 00 0 17 777746 1665
SOJA AC0,L.130 ; COUNTER,L.130 404475' 364 00 0 00 404513'
L.129: MOVE AC1,-42(SP) ; AC1,-42(SP) 404476' 200 01 0 17 777736 1666
MOVEM AC1,0(SP) ; AC1,0(SP) 404477' 202 01 0 17 000000
MOVE AC1,-31(SP) ; AC1,DCB_DATA_ADDR 404500' 200 01 0 17 777747
ADD AC1,AC0 ; AC1,COUNTER 404501' 270 01 0 00 000000
SUB AC1,-32(SP) ; AC1,XXBEG 404502' 274 01 0 17 777746
PUSH SP,AC1 ; SP,AC1 404503' 261 17 0 00 000001
PUSH SP,-34(SP) ; SP,DCB_FILE 404504' 261 17 0 17 777744
PUSH SP,AC0 ; SP,COUNTER 404505' 261 17 0 00 000000
PUSHJ SP,GETBYT ; SP,GETBYT 404506' 260 17 0 00 000000*
ADJSP SP,-1 ; SP,-1 404507' 105 17 0 00 777777
MOVEM AC1,0(SP) ; AC1,0(SP) 404510' 202 01 0 17 000000
PUSHJ SP,PUTBYT ; SP,PUTBYT 404511' 260 17 0 00 000000*
ADJSP SP,-2 ; SP,-2 404512' 105 17 0 00 777776
L.130: ADDI AC0,1 ; COUNTER,1 404513' 271 00 0 00 000001 1665
CAMGE AC0,AC10 ; COUNTER,XXEND 404514' 315 00 0 00 000010
JRST L.129 ; L.129 404515' 254 00 0 00 404476'
SETZM -30(SP) ; SCB_ADDR 404516' 402 00 0 17 777750 1674
MOVE AC11,-31(SP) ; DCB_ADDR,DCB_DATA_ADDR 404517' 200 11 0 17 777747 1675
MOVE AC0,AC14 ; AC0,AC14 404520' 200 00 0 00 000014 1716
ADDI AC0,72 ; AC0,72 404521' 271 00 0 00 000072
MOVEM AC0,-25(SP) ; AC0,-25(SP) 404522' 202 00 0 17 777753
MOVE AC13,AC14 ; AC13,AC14 404523' 200 13 0 00 000014 1703
ADDI AC13,103 ; AC13,103 404524' 271 13 0 00 000103
MOVE AC12,AC14 ; AC12,AC14 404525' 200 12 0 00 000014 1696
ADDI AC12,100 ; AC12,100 404526' 271 12 0 00 000100
MOVE AC0,AC14 ; AC0,AC14 404527' 200 00 0 00 000014 1691
ADDI AC0,76 ; AC0,76 404530' 271 00 0 00 000076
MOVE AC10,AC14 ; AC10,AC14 404531' 200 10 0 00 000014 1689
ADDI AC10,73 ; AC10,73 404532' 271 10 0 00 000073
MOVE AC16,AC14 ; AC16,AC14 404533' 200 16 0 00 000014 1683
ADDI AC16,74 ; AC16,74 404534' 271 16 0 00 000074
L.131: JUMPE AC11,L.135 ; DCB_ADDR,L.135 404535' 322 11 0 00 404761' 1677
MOVEM AC11,-35(SP) ; DCB_ADDR,LAST_DCB_ADDR 404536' 202 11 0 17 777743 1679
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 89
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (11)
MOVE AC1,-42(SP) ; AC1,-42(SP) 404537' 200 01 0 17 777736 1683
MOVEM AC1,0(SP) ; AC1,0(SP) 404540' 202 01 0 17 000000
MOVE AC1,AC11 ; AC1,DCB_ADDR 404541' 200 01 0 00 000011
HRRZ AC2,0(AC16) ; AC2,0(AC16) 404542' 550 02 0 16 000000
ADD AC1,AC2 ; AC1,AC2 404543' 270 01 0 00 000002
MOVEM AC1,-34(SP) ; AC1,-34(SP) 404544' 202 01 0 17 777744
ADDI AC1,1 ; AC1,1 404545' 271 01 0 00 000001
PUSH SP,AC1 ; SP,AC1 404546' 261 17 0 00 000001
PUSHJ SP,GETBYT ; SP,GETBYT 404547' 260 17 0 00 000000*
MOVEM AC1,-27(SP) ; AC1,-27(SP) 404550' 202 01 0 17 777751
MOVE AC1,-43(SP) ; AC1,-43(SP) 404551' 200 01 0 17 777735
MOVEM AC1,-1(SP) ; AC1,-1(SP) 404552' 202 01 0 17 777777
MOVE AC1,-35(SP) ; AC1,-35(SP) 404553' 200 01 0 17 777743
MOVEM AC1,0(SP) ; AC1,0(SP) 404554' 202 01 0 17 000000
PUSHJ SP,GETBYT ; SP,GETBYT 404555' 260 17 0 00 000000*
MOVE AC2,-27(SP) ; AC2,-27(SP) 404556' 200 02 0 17 777751
SUB AC2,AC1 ; AC2,AC1 404557' 274 02 0 00 000001
MOVEM AC2,-27(SP) ; AC2,-27(SP) 404560' 202 02 0 17 777751
MOVE AC1,-27(SP) ; AC1,-27(SP) 404561' 200 01 0 17 777751 1684
ADDI AC1,1 ; AC1,1 404562' 271 01 0 00 000001
MOVEM AC1,-42(SP) ; AC1,NUNITS 404563' 202 01 0 17 777736
MOVE AC1,-43(SP) ; AC1,-43(SP) 404564' 200 01 0 17 777735 1685
MOVEM AC1,0(SP) ; AC1,0(SP) 404565' 202 01 0 17 000000
MOVE AC1,AC11 ; AC1,DCB_ADDR 404566' 200 01 0 00 000011
HLRZ AC2,0(AC16) ; AC2,0(AC16) 404567' 554 02 0 16 000000
ADD AC1,AC2 ; AC1,AC2 404570' 270 01 0 00 000002
PUSH SP,AC1 ; SP,AC1 404571' 261 17 0 00 000001
PUSHJ SP,GETWRD ; SP,GETWRD 404572' 260 17 0 00 000000*
MOVEM AC1,-40(SP) ; AC1,UCB_LENGTH 404573' 202 01 0 17 777740
MOVE AC1,-44(SP) ; AC1,-44(SP) 404574' 200 01 0 17 777734 1689
MOVEM AC1,0(SP) ; AC1,0(SP) 404575' 202 01 0 17 000000
MOVE AC1,AC11 ; AC1,DCB_ADDR 404576' 200 01 0 00 000011
HRRZ AC2,0(AC10) ; AC2,0(AC10) 404577' 550 02 0 10 000000
ADD AC1,AC2 ; AC1,AC2 404600' 270 01 0 00 000002
MOVEM AC1,-36(SP) ; AC1,-36(SP) 404601' 202 01 0 17 777742
PUSH SP,-36(SP) ; SP,-36(SP) 404602' 261 17 0 17 777742
PUSHJ SP,GETWRD ; SP,GETWRD 404603' 260 17 0 00 000000*
SUB AC1,-35(SP) ; AC1,XXBEG 404604' 274 01 0 17 777743
ADD AC1,AC11 ; AC1,DCB_ADDR 404605' 270 01 0 00 000011
MOVEM AC1,-42(SP) ; AC1,FIRST_UCB_ADDR 404606' 202 01 0 17 777736
MOVE AC1,-45(SP) ; AC1,-45(SP) 404607' 200 01 0 17 777733 1690
MOVEM AC1,-2(SP) ; AC1,-2(SP) 404610' 202 01 0 17 777776
MOVE AC1,-37(SP) ; AC1,-37(SP) 404611' 200 01 0 17 777741
MOVEM AC1,-1(SP) ; AC1,-1(SP) 404612' 202 01 0 17 777777
MOVE AC1,-42(SP) ; AC1,FIRST_UCB_ADDR 404613' 200 01 0 17 777736
MOVEM AC1,0(SP) ; AC1,0(SP) 404614' 202 01 0 17 000000
PUSHJ SP,PUTWRD ; SP,PUTWRD 404615' 260 17 0 00 000000*
MOVE AC1,-45(SP) ; AC1,-45(SP) 404616' 200 01 0 17 777733 1691
MOVEM AC1,0(SP) ; AC1,0(SP) 404617' 202 01 0 17 000000
MOVE AC1,AC11 ; AC1,DCB_ADDR 404620' 200 01 0 00 000011
MOVE AC3,AC0 ; AC3,AC0 404621' 200 03 0 00 000000
HRRZ AC2,0(AC3) ; AC2,0(AC3) 404622' 550 02 0 03 000000
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 90
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (11)
ADD AC1,AC2 ; AC1,AC2 404623' 270 01 0 00 000002
PUSH SP,AC1 ; SP,AC1 404624' 261 17 0 00 000001
PUSH SP,-63(SP) ; SP,PCB_ADDR 404625' 261 17 0 17 777715
PUSHJ SP,PUTWRD ; SP,PUTWRD 404626' 260 17 0 00 000000*
SETOM -33(SP) ; COUNTER 404627' 476 00 0 17 777745 1693
JRST L.134 ; L.134 404630' 254 00 0 00 404743'
L.132: MOVE AC1,-43(SP) ; AC1,UCB_LENGTH 404631' 200 01 0 17 777735 1695
IMUL AC1,-33(SP) ; AC1,COUNTER 404632' 220 01 0 17 777745
ADD AC1,-44(SP) ; AC1,FIRST_UCB_ADDR 404633' 270 01 0 17 777734
MOVEM AC1,-34(SP) ; AC1,UCB_ADDR 404634' 202 01 0 17 777744
MOVE AC1,-47(SP) ; AC1,-47(SP) 404635' 200 01 0 17 777731 1696
MOVEM AC1,0(SP) ; AC1,0(SP) 404636' 202 01 0 17 000000
MOVE AC1,-34(SP) ; AC1,UCB_ADDR 404637' 200 01 0 17 777744
HRRZ AC2,0(AC12) ; AC2,0(AC12) 404640' 550 02 0 12 000000
ADD AC1,AC2 ; AC1,AC2 404641' 270 01 0 00 000002
PUSH SP,AC1 ; SP,AC1 404642' 261 17 0 00 000001
PUSH SP,-50(SP) ; SP,-50(SP) 404643' 261 17 0 17 777730 1697
PUSH SP,AC1 ; SP,AC1 404644' 261 17 0 00 000001
PUSHJ SP,GETWRD ; SP,GETWRD 404645' 260 17 0 00 000000*
SUB AC1,-42(SP) ; AC1,XXBEG 404646' 274 01 0 17 777736 1698
ADD AC1,AC11 ; AC1,DCB_ADDR 404647' 270 01 0 00 000011
MOVEM AC1,-1(SP) ; AC1,-1(SP) 404650' 202 01 0 17 777777
ADJSP SP,-1 ; SP,-1 404651' 105 17 0 00 777777
PUSHJ SP,PUTWRD ; SP,PUTWRD 404652' 260 17 0 00 000000* 1696
MOVE AC1,-51(SP) ; AC1,-51(SP) 404653' 200 01 0 17 777727 1699
MOVEM AC1,0(SP) ; AC1,0(SP) 404654' 202 01 0 17 000000
MOVE AC1,-36(SP) ; AC1,UCB_ADDR 404655' 200 01 0 17 777742
HLRZ AC2,0(AC12) ; AC2,0(AC12) 404656' 554 02 0 12 000000
ADD AC1,AC2 ; AC1,AC2 404657' 270 01 0 00 000002
PUSH SP,AC1 ; SP,AC1 404660' 261 17 0 00 000001
PUSH SP,-52(SP) ; SP,-52(SP) 404661' 261 17 0 17 777726 1700
PUSH SP,AC1 ; SP,AC1 404662' 261 17 0 00 000001
PUSHJ SP,GETWRD ; SP,GETWRD 404663' 260 17 0 00 000000*
SUB AC1,-44(SP) ; AC1,XXBEG 404664' 274 01 0 17 777734 1701
ADD AC1,AC11 ; AC1,DCB_ADDR 404665' 270 01 0 00 000011
MOVEM AC1,-1(SP) ; AC1,-1(SP) 404666' 202 01 0 17 777777
ADJSP SP,-1 ; SP,-1 404667' 105 17 0 00 777777
PUSHJ SP,PUTWRD ; SP,PUTWRD 404670' 260 17 0 00 000000* 1699
MOVE AC1,-41(SP) ; AC1,SCB_ADDR 404671' 200 01 0 17 777737 1702
MOVEM AC1,-51(SP) ; AC1,LAST_SCB_ADDR 404672' 202 01 0 17 777727
MOVE AC1,-53(SP) ; AC1,-53(SP) 404673' 200 01 0 17 777725 1703
MOVEM AC1,0(SP) ; AC1,0(SP) 404674' 202 01 0 17 000000
MOVE AC1,-40(SP) ; AC1,UCB_ADDR 404675' 200 01 0 17 777740
HRRZ AC2,0(AC13) ; AC2,0(AC13) 404676' 550 02 0 13 000000
ADD AC1,AC2 ; AC1,AC2 404677' 270 01 0 00 000002
MOVEM AC1,-45(SP) ; AC1,-45(SP) 404700' 202 01 0 17 777733
PUSH SP,-45(SP) ; SP,-45(SP) 404701' 261 17 0 17 777733
PUSHJ SP,GETWRD ; SP,GETWRD 404702' 260 17 0 00 000000*
SUB AC1,-44(SP) ; AC1,XXBEG 404703' 274 01 0 17 777734
ADD AC1,AC11 ; AC1,DCB_ADDR 404704' 270 01 0 00 000011
MOVEM AC1,-42(SP) ; AC1,SCB_ADDR 404705' 202 01 0 17 777736
MOVE AC1,-54(SP) ; AC1,-54(SP) 404706' 200 01 0 17 777724 1704
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 91
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (11)
MOVEM AC1,-2(SP) ; AC1,-2(SP) 404707' 202 01 0 17 777776
MOVE AC1,-46(SP) ; AC1,-46(SP) 404710' 200 01 0 17 777732
MOVEM AC1,-1(SP) ; AC1,-1(SP) 404711' 202 01 0 17 777777
MOVE AC1,-42(SP) ; AC1,SCB_ADDR 404712' 200 01 0 17 777736
MOVEM AC1,0(SP) ; AC1,0(SP) 404713' 202 01 0 17 000000
PUSHJ SP,PUTWRD ; SP,PUTWRD 404714' 260 17 0 00 000000*
MOVE AC1,-42(SP) ; AC1,SCB_ADDR 404715' 200 01 0 17 777736 1706
CAMN AC1,-52(SP) ; AC1,LAST_SCB_ADDR 404716' 316 01 0 17 777726
JRST L.133 ; L.133 404717' 254 00 0 00 404742'
MOVE AC1,-54(SP) ; AC1,-54(SP) 404720' 200 01 0 17 777724 1709
MOVEM AC1,0(SP) ; AC1,0(SP) 404721' 202 01 0 17 000000
MOVE AC2,-42(SP) ; AC2,SCB_ADDR 404722' 200 02 0 17 777736
MOVE AC4,AC0 ; AC4,AC0 404723' 200 04 0 00 000000
HLRZ AC3,0(AC4) ; AC3,0(AC4) 404724' 554 03 0 04 000000
ADD AC2,AC3 ; AC2,AC3 404725' 270 02 0 00 000003
MOVE AC1,AC2 ; AC1,AC2 404726' 200 01 0 00 000002
ADDI AC1,2 ; AC1,2 404727' 271 01 0 00 000002
PUSH SP,AC1 ; SP,AC1 404730' 261 17 0 00 000001
PUSH SP,-55(SP) ; SP,-55(SP) 404731' 261 17 0 17 777723 1710
PUSH SP,AC1 ; SP,AC1 404732' 261 17 0 00 000001
PUSHJ SP,GETWRD ; SP,GETWRD 404733' 260 17 0 00 000000*
SUB AC1,-47(SP) ; AC1,XXBEG 404734' 274 01 0 17 777731 1711
ADD AC1,AC11 ; AC1,DCB_ADDR 404735' 270 01 0 00 000011
MOVEM AC1,-1(SP) ; AC1,-1(SP) 404736' 202 01 0 17 777777
ADJSP SP,-1 ; SP,-1 404737' 105 17 0 00 777777
PUSHJ SP,PUTWRD ; SP,PUTWRD 404740' 260 17 0 00 000000* 1709
ADJSP SP,-2 ; SP,-2 404741' 105 17 0 00 777776 1708
L.133: ADJSP SP,-5 ; SP,-5 404742' 105 17 0 00 777773 1694
L.134: AOS AC1,-33(SP) ; AC1,COUNTER 404743' 350 01 0 17 777745 1693
CAMGE AC1,-46(SP) ; AC1,NUNITS 404744' 315 01 0 17 777732
JRST L.132 ; L.132 404745' 254 00 0 00 404631'
MOVE AC1,-47(SP) ; AC1,-47(SP) 404746' 200 01 0 17 777731 1716
MOVEM AC1,0(SP) ; AC1,0(SP) 404747' 202 01 0 17 000000
MOVE AC1,AC11 ; AC1,DCB_ADDR 404750' 200 01 0 00 000011
MOVE AC3,-32(SP) ; AC3,-32(SP) 404751' 200 03 0 17 777746
HLRZ AC2,0(AC3) ; AC2,0(AC3) 404752' 554 02 0 03 000000
ADD AC1,AC2 ; AC1,AC2 404753' 270 01 0 00 000002
PUSH SP,AC1 ; SP,AC1 404754' 261 17 0 00 000001
PUSHJ SP,GETWRD ; SP,GETWRD 404755' 260 17 0 00 000000*
MOVE AC11,AC1 ; DCB_ADDR,AC1 404756' 200 11 0 00 000001
ADJSP SP,-6 ; SP,-6 404757' 105 17 0 00 777772 1678
JRST L.131 ; L.131 404760' 254 00 0 00 404535' 1677
L.135: MOVE AC0,-42(SP) ; AC0,-42(SP) 404761' 200 00 0 17 777736 1722
MOVEM AC0,-2(SP) ; AC0,-2(SP) 404762' 202 00 0 17 777776
MOVE AC0,-31(SP) ; AC0,DCB_DATA_ADDR 404763' 200 00 0 17 777747
MOVEM AC0,-1(SP) ; AC0,-1(SP) 404764' 202 00 0 17 777777
MOVEM AC14,0(SP) ; AC14,0(SP) 404765' 202 14 0 17 000000
PUSHJ SP,LNKDCB ; SP,LNKDCB 404766' 260 17 0 00 000000*
MOVEI AC2,-57(SP) ; AC2,DEV_NAME-1 404767' 201 02 0 17 777721 1728
HRLI AC2,10700 ; AC2,10700 404770' 505 02 0 00 010700
MOVEI AC1,2 ; AC1,2 404771' 201 01 0 00 000002
MOVEI AC4,2 ; AC4,2 404772' 201 04 0 00 000002
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 92
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (11)
MOVE AC5,C.74 ; AC5,[POINT 7,P.ABT-1,34] <1,7> 404773' 200 05 0 00 405032'
EXTEND AC1,C.52 ; AC1,[CMPSE ] 404774' 123 01 0 00 403546'
JRST L.136 ; L.136 404775' 254 00 0 00 405003'
MOVE AC0,-31(SP) ; AC0,DCB_DATA_ADDR 404776' 200 00 0 17 777747 1731
DPB AC0,C.65 ; AC0,[POINT 19,4(AC14),35] <0,19> 404777' 137 00 0 00 405021'
MOVE AC0,-33(SP) ; AC0,DCB_FILE 405000' 200 00 0 17 777745 1732
HRRM AC0,5(AC14) ; AC0,5(AC14) 405001' 542 00 0 14 000005
JRST L.137 ; L.137 405002' 254 00 0 00 405006' 1728
L.136: MOVE AC0,-33(SP) ; AC0,DCB_FILE 405003' 200 00 0 17 777745 1738
MOVEM AC0,0(SP) ; AC0,0(SP) 405004' 202 00 0 17 000000
PUSHJ SP,FCOR ; SP,FCOR 405005' 260 17 0 00 000000*
L.137: ADJSP SP,-25 ; SP,-25 405006' 105 17 0 00 777753 1597
MOVE AC1,-4(SP) ; AC1,DCB_DATA_ADDR 405007' 200 01 0 17 777774 1563
ADJSP SP,-20 ; SP,-20 405010' 105 17 0 00 777760
POP SP,AC16 ; SP,AC16 405011' 262 17 0 00 000016
POP SP,AC14 ; SP,AC14 405012' 262 17 0 00 000014
POP SP,AC13 ; SP,AC13 405013' 262 17 0 00 000013
POP SP,AC12 ; SP,AC12 405014' 262 17 0 00 000012
POP SP,AC11 ; SP,AC11 405015' 262 17 0 00 000011
POP SP,AC10 ; SP,AC10 405016' 262 17 0 00 000010
POP SP,AC0 ; SP,AC0 405017' 262 17 0 00 000000
POPJ SP, ; SP, 405020' 263 17 0 00 000000
C.65: POINT 19,4(AC14),35 ; 19,4(AC14),35 405021' 00 23 0 14 000004
C.66: XWD 0,P.ABM ; 0,P.ABM 405022' 000000 404262'
C.67: XWD 0,P.ABN ; 0,P.ABN 405023' 000000 404266'
C.68: POINT 7,P.ABO-1,34 ; 7,P.ABO-1,34 405024' 01 07 0 00 404267'
C.69: EXP 4000 ; 4000 405025' 000000 004000
C.70: XWD 0,P.ABP ; 0,P.ABP 405026' 000000 404271'
C.71: POINT 7,P.ABQ-1,34 ; 7,P.ABQ-1,34 405027' 01 07 0 00 404271'
C.72: POINT 7,P.ABR-1,34 ; 7,P.ABR-1,34 405030' 01 07 0 00 404272'
C.73: POINT 7,P.ABS-1,34 ; 7,P.ABS-1,34 405031' 01 07 0 00 404273'
C.74: POINT 7,P.ABT-1,34 ; 7,P.ABT-1,34 405032' 01 07 0 00 404274'
; Routine Size: 349 words
; 1745
; 1746 END
; 1747
; 1748 ELUDOM
END
; Low segment length: 9 words
; High segment length: 2587 words
; LIBRARY STATISTICS
MCBFNC 25-Jan-1983 10:17:36 TOPS-20 Bliss-36 2A(142) Page 93
X03020 1-Jan-1983 14:51:05 NETPKG:<VNP36>MCBFNC.BLI.7 (11)
;
; -------- Symbols -------- Blocks
; File Total Loaded Percent Read
;
; NETPKG:<VNP36>VNPLIB.L36.6 498 322 64 0
; 1749 ! Local Modes:
; 1750 ! Comment Column:36
; 1751 ! Comment Start:!
; 1752 ! Mode:Fundamental
; 1753 ! Auto Save Mode:2
; 1754 ! End:
; Size: 2480 code + 116 data words
; Run Time: 00:40.4
; Elapsed Time: 02:24.6
; Memory Used: 89 pages
; Compilation Complete