Trailing-Edge
-
PDP-10 Archives
-
BB-R595B-SM_11-9-85
-
mcb/utilities/lbrsys.lst
There is 1 other file named lbrsys.lst in the archive. Click here to see a list.
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 1
30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (1)
; 0001 0 MODULE LBRSYS ( !System dependant functions
; 0002 0 IDENT = '001040',
; 0003 0 LANGUAGE (BLISS36)
; 0004 0 ) =
; 0005 1 BEGIN
; 0006 1 !
; 0007 1 !
; 0008 1 !
; 0009 1 ! COPYRIGHT (c) 1980, 1981, 1982
; 0010 1 ! DIGITAL EQUIPMENT CORPORATION
; 0011 1 ! Maynard, Massachusetts
; 0012 1 !
; 0013 1 ! This software is furnished under a license and may be used
; 0014 1 ! and copied only in accordance with the terms of such license
; 0015 1 ! and with the inclusion of the above copyright notice. This
; 0016 1 ! software or any other copies thereof may not be provided or
; 0017 1 ! otherwise made available to any other person. No title to
; 0018 1 ! and ownership of the software is hereby transferred.
; 0019 1 !
; 0020 1 ! The information in this software is subject to change
; 0021 1 ! without notice and should not be construed as a commitment
; 0022 1 ! by DIGITAL EQUIPMENT CORPORATION.
; 0023 1 !
; 0024 1 ! DIGITAL assumes no responsibility for the use or reliability
; 0025 1 ! of its software on equipment which is not supplied by
; 0026 1 ! DIGITAL.
; 0027 1 !
; 0028 1
; 0029 1 !++
; 0030 1 ! FACILITY: LBR20 - Librarian Utility
; 0031 1 !
; 0032 1 ! ABSTRACT:
; 0033 1 !
; 0034 1 !
; 0035 1 ! This module contains routines to do system dependant functions.
; 0036 1 ! This includes I/O, command processing, and information access.
; 0037 1 !
; 0038 1 !
; 0039 1 ! ENVIRONMENT: TOPS20
; 0040 1 !
; 0041 1 ! AUTHOR: ALAN D. PECKHAM, CREATION DATE: 19-MAY-80
; 0042 1 !
; 0043 1 ! MODIFIED BY:
; 0044 1 !
; 0045 1 ! Alan D. Peckham, : VERSION 01
; 0046 1 ! 01 - Restructure file positioning to refer to block/offset.
; 0047 1 ! Add "get file position" function (FILPOS).
; 0048 1 ! 02 - Add COMPRESS function to command parser.
; 0049 1 ! 03 - Add FAST switch.
; 0050 1 ! 04 - Add support for RG (replace global) switch.
; 0051 1 !--
; 0052 1
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 2
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (1)
; 0053 1 !
; 0054 1 ! TABLE OF CONTENTS:
; 0055 1 !
; 0056 1
; 0057 1 FORWARD ROUTINE
; 0058 1 ALLOCATE_FILBLK, !Allocate a file block.
; 0059 1 ASSOCIATE, !Associate filename with control block.
; 0060 1 CLOSE : NOVALUE, !Close a file.
; 0061 1 CMD, !Get a user command.
; 0062 1 FILDT, !Return the file creation date in ASCII.
; 0063 1 FILNM, !Convert a file name to ASCII.
; 0064 1 FILPOS, !Get the current file position.
; 0065 1 GETFIL, !Get data from a file opened for input.
; 0066 1 GETTIM : NOVALUE, !Get the current time.
; 0067 1 INIT_PARSE : NOVALUE, !Initialize for command parse.
; 0068 1 OPEN, !Open a file.
; 0069 1 POSFIL : NOVALUE, !Set the current position within the file.
; 0070 1 PUTFIL : NOVALUE, !Put a string to a file opened for output.
; 0071 1 RELEASE_FILBLK : NOVALUE; !Release a file block.
; 0072 1
; 0073 1 !
; 0074 1 ! INCLUDE FILES
; 0075 1 !
; 0076 1
; 0077 1 LIBRARY 'LBRCOM'; !LBR common definitions.
; 0078 1
; 0079 1 REQUIRE 'BLI:MONSYM.R36'; !Define the TOPS20 monitor symbols.
; 5438 1
; 5439 1 BUILTIN
; 5440 1 JSYS; !Define the JSYS machine specific function.
; 5441 1
; 5442 1 !
; 5443 1 ! MACROS:
; 5444 1 !
; 5445 1
; 5446 1 MACRO
; M 5447 1 REGISTERS [ACN] =
; 5448 1 REGISTER %NAME('AC',ACN) = ACN %,
; M 5449 1 DUMP_FLAG =
; 5450 1 MY_FLAGS [0] %,
; M 5451 1 BASE_FLAG =
; 5452 1 MY_FLAGS [1] %,
; M 5453 1 CMD_FUNCTION (function, link, cmd_data, default, help, mask) =
; M 5454 1 VECTOR [%IF %NULL (mask) %THEN 4 %ELSE 5 %FI]
; M 5455 1 INITIAL ( FLD (function, CM_FNC)
; M 5456 1 %IF NOT %NULL (link)
; M 5457 1 %THEN +FLD (link,CM_LST)
; M 5458 1 %FI
; M 5459 1 %IF NOT %NULL (help)
; M 5460 1 %THEN +CM_HPP+CM_SDH
; M 5461 1 %FI
; M 5462 1 %IF NOT %NULL (mask)
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 3
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (1)
; M 5463 1 %THEN +CM_BRK
; M 5464 1 %FI
; M 5465 1 %IF NOT %NULL (default)
; M 5466 1 %THEN +CM_DPP
; M 5467 1 %FI,
; M 5468 1 %IF NOT %NULL (cmd_data)
; M 5469 1 %THEN cmd_data
; M 5470 1 %ELSE 0
; M 5471 1 %FI,
; M 5472 1 %IF %NULL (help)
; M 5473 1 %THEN 0
; M 5474 1 %ELSE CH$ASCIZ (help)
; M 5475 1 %FI,
; M 5476 1 %IF %NULL (default)
; M 5477 1 %THEN 0
; M 5478 1 %ELSE default
; M 5479 1 %FI
; M 5480 1 %IF NOT %NULL (mask)
; M 5481 1 %THEN ,mask
; M 5482 1 %FI
; 5483 1 ) %,
; M 5484 1 CMD_DATA_STRING (STRING) =
; 5485 1 CH$ASCIZ(STRING) %,
; M 5486 1 CMD_DATA_KEYS (TABLE) =
; 5487 1 UPLIT( KEY_COUNT(%REMOVE(TABLE)), KEY_STR_SET(%REMOVE(TABLE)) ) %,
; M 5488 1 KEY_COUNT (ARGS) =
; 5489 1 (%LENGTH)^18+%LENGTH %,
; M 5490 1 KEY_STR_SET [PAIR] =
; 5491 1 KEY( %REMOVE(PAIR) ) %,
; M 5492 1 KEY (TEXT) [VALUE] =
; 5493 1 UPLIT(%ASCIZ %STRING(TEXT))^18+VALUE %,
; M 5494 1 CMD_DATA_MASK (chars) =
; M 5495 1 UPLIT (0 + MASK_WORD (0, 31, %REMOVE (chars)) XOR -1,
; M 5496 1 0 + MASK_WORD (32, 63, %REMOVE (chars)) XOR -1,
; M 5497 1 0 + MASK_WORD (64, 95, %REMOVE (chars)) XOR -1,
; 5498 1 0 + MASK_WORD (96, 127, %REMOVE (chars)) XOR -1) %,
; M 5499 1 MASK_WORD (low_char, high_char) [char] =
; M 5500 1 %IF ((%C char GEQ low_char) AND (%C char LEQ high_char))
; M 5501 1 %THEN 1^(35 + low_char - %C char)
; M 5502 1 %ELSE 0
; 5503 1 %FI %,
; M 5504 1 CMD_COMMA (LINK) =
; 5505 1 CMD_FUNCTION($CMCMA,LINK) %,
; M 5506 1 CMD_CONFIRM (LINK) =
; 5507 1 CMD_FUNCTION($CMCFM,LINK) %,
; M 5508 1 CMD_DIRECTORY (LINK, HELP) =
; 5509 1 CMD_FUNCTION($CMDIR,LINK,,,HELP) %,
; M 5510 1 CMD_FILE (LINK, DEFAULT, HELP) =
; 5511 1 CMD_FUNCTION($CMFIL,LINK,,DEFAULT,HELP) %,
; M 5512 1 CMD_FIELD (LINK) =
; 5513 1 CMD_FUNCTION($CMFLD,LINK) %,
; M 5514 1 CMD_INITIALIZE =
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 4
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (1)
; 5515 1 CMD_FUNCTION($CMINI) %,
; M 5516 1 CMD_INPUT_FILE (LINK, STRING, DEFAULT, HELP) =
; 5517 1 CMD_FUNCTION($CMIFI,LINK,STRING,DEFAULT,HELP) %,
; M 5518 1 CMD_KEYWORDS (LINK, TABLE, DEFAULT, HELP) =
; 5519 1 CMD_FUNCTION($CMKEY,LINK,CMD_DATA_KEYS(TABLE),DEFAULT,HELP) %,
; M 5520 1 CMD_NOISE (LINK, STRING, DEFAULT, HELP) =
; 5521 1 CMD_FUNCTION($CMNOI,LINK,CMD_DATA_STRING(STRING),DEFAULT,HELP) %,
; M 5522 1 CMD_NUMBER (LINK, RADIX, DEFAULT, HELP) =
; 5523 1 CMD_FUNCTION($CMNUM,LINK,RADIX,DEFAULT,HELP) %,
; M 5524 1 CMD_QUOTED_STR (LINK, DEFAULT, HELP) =
; 5525 1 CMD_FUNCTION($CMQST, LINK,, DEFAULT, HELP) %,
; M 5526 1 CMD_RAD50 (LINK, DEFAULT, HELP) =
; M 5527 1 CMD_FUNCTION ($CMFLD,LINK,,DEFAULT,HELP,
; 5528 1 CMD_DATA_MASK ((%EXPLODE ('ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$.')))) %,
; M 5529 1 CMD_STRING (LINK, STRING, DEFAULT, HELP) =
; 5530 1 CMD_FUNCTION($CMTOK,LINK,CMD_DATA_STRING(STRING),DEFAULT,HELP) %,
; M 5531 1 CMD_SWITCHES (LINK, TABLE, DEFAULT, HELP) =
; 5532 1 CMD_FUNCTION($CMSWI,LINK,CMD_DATA_KEYS(TABLE),DEFAULT,HELP) %,
; M 5533 1 CMD_TOKEN (LINK, STRING, DEFAULT, HELP) =
; 5534 1 CMD_FUNCTION($CMTOK,LINK,CMD_DATA_STRING(STRING),DEFAULT,HELP) %;
; 5535 1
; 5536 1 MACRO
; M 5537 1 BIT_NUMBER (p1, p2, p3, p4) =
; 5538 1 p2 %;
; 5539 1
; 5540 1 !
; 5541 1 ! EQUATED SYMBOLS:
; 5542 1 !
; 5543 1
; 5544 1 MACRO
; M 5545 1 F_JFN =
; 5546 1 0, 0, 18, 0 %;
; 5547 1
; 5548 1 LITERAL
; 5549 1 F_LENGTH = 1;
; 5550 1
; 5551 1 LITERAL
; 5552 1 CMD_ATOM_MAX = 40, !Maximum atom length.
; 5553 1 CMD_INPUT_MAX = 133, !Maximum command length.
; 5554 1 JFN_NAME_MAX = 40, !Maximum file name length.
; 5555 1 SWT_CMD = %O'770000',
; 5556 1 SWT_MIN = 0,
; 5557 1 SWT_FLAG_OFF = 0,
; 5558 1 SWT_FLAG_ON = 1,
; 5559 1 SWT_LIST = 2,
; 5560 1 SWT_CREATE = 3,
; 5561 1 SWT_DE = 4,
; 5562 1 SWT_DG = 5,
; 5563 1 SWT_COMPRESS = 6,
; 5564 1 SWT_MAX = 6,
; 5565 1 SWT_VAL = %O'007777';
; 5566 1
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 5
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (1)
; 5567 1 BIND
; 5568 1 FLAG_OFF = FLD (SWT_FLAG_OFF, SWT_CMD),
; 5569 1 FLAG_ON = FLD (SWT_FLAG_ON, SWT_CMD),
; 5570 1 S_LIST = FLD (SWT_LIST, SWT_CMD),
; 5571 1 S_COMPRESS = FLD (SWT_COMPRESS, SWT_CMD),
; 5572 1 S_CREATE = FLD (SWT_CREATE, SWT_CMD),
; 5573 1 S_DE = FLD (SWT_DE, SWT_CMD),
; 5574 1 S_DG = FLD (SWT_DG, SWT_CMD);
; 5575 1
; 5576 1 !
; 5577 1 ! OWN STORAGE:
; 5578 1 !
; 5579 1
; 5580 1 OWN
; 5581 1 CMD_ATOM : CH$SEQUENCE (CMD_ATOM_MAX),
; 5582 1 CMD_INPUT : CH$SEQUENCE (CMD_INPUT_MAX + %CHARCOUNT (PROMPT, '>')) INITIAL (%STRING (PROMPT, '>')),
; 5583 1 CMD_JFN : VECTOR [14] INITIAL ( REP 14 OF (0)),
; 5584 1 CMD_STATE_BLK : VECTOR [10] INITIAL (CM_RAI, $PRIIN^18 + $PRIOU,
; 5585 1 CH$PTR(CMD_INPUT,0),CH$PTR(CMD_INPUT,%CHARCOUNT (PROMPT, '>')),
; 5586 1 CH$PTR(CMD_INPUT, %CHARCOUNT (PROMPT, '>')),CMD_INPUT_MAX-%CHARCOUNT (PROMPT, '>'),0,
; 5587 1 CH$PTR(CMD_ATOM,0),CMD_ATOM_MAX,
; 5588 1 CMD_JFN),
; 5589 1 DEF_LIB_FILE : CH$SEQUENCE (JFN_NAME_MAX) INITIAL ( REP CH$ALLOCATION (JFN_NAME_MAX) OF (0)),
; 5590 1 DEF_LST_NAME : CH$SEQUENCE (JFN_NAME_MAX) INITIAL ( REP CH$ALLOCATION (JFN_NAME_MAX) OF (0)),
; 5591 1 FILBLK : BLOCKVECTOR [LBR_MAX_FILES, F_LENGTH] INITIAL (REP LBR_MAX_FILES*F_LENGTH OF (0)),
; 5592 1 FUNCTION, !Current function
; 5593 1 MY_FLAGS : BITVECTOR [16],
; 5594 1 RSCAN_FLAG;
; 5595 1
; 5596 1 !
; 5597 1 ! Command parser tables
; 5598 1 !
; 5599 1
; 5600 1 FORWARD
; 5601 1 CO2 : VECTOR [4],
; 5602 1 CO3 : VECTOR [4],
; 5603 1 CO4 : VECTOR [4],
; 5604 1 CO5 : VECTOR [4],
; 5605 1 CO6 : VECTOR [4],
; 5606 1 CO7 : VECTOR [4],
; 5607 1 CR2 : VECTOR [4],
; 5608 1 CR3 : VECTOR [4],
; 5609 1 CR4 : VECTOR [4],
; 5610 1 CR5 : VECTOR [4],
; 5611 1 CR6 : VECTOR [4],
; 5612 1 DE2 : VECTOR [5],
; 5613 1 DG2 : VECTOR [5],
; 5614 1 EOL : VECTOR [4],
; 5615 1 FI2 : VECTOR [4],
; 5616 1 FI3 : VECTOR [4],
; 5617 1 FI4 : VECTOR [4],
; 5618 1 FN1 : VECTOR [4],
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 6
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (1)
; 5619 1 FN2 : VECTOR [4],
; 5620 1 FN3 : VECTOR [4],
; 5621 1 FN4 : VECTOR [4],
; 5622 1 LI2 : VECTOR [4];
; 5623 1
; 5624 1 OWN
; 5625 1 FN1 : CMD_INITIALIZE,
; 5626 1 FN2 : CMD_FILE (FN3, CH$PTR (DEF_LIB_FILE), 'library file'),
; P 5627 1 FN3 : CMD_SWITCHES (EOL, (
; P 5628 1 ('EXIT', M_EXIT + FLAG_ON), !
; P 5629 1 ('HELP', M_HELP + FLAG_ON), !
; P 5630 1 ('VERSION', M_VERSION + FLAG_ON) !
; 5631 1 )),
; P 5632 1 FN4 : CMD_SWITCHES (FI2, (
; P 5633 1 ('COMPRESS:', S_COMPRESS), !
; P 5634 1 ('CREATE:', S_CREATE), !
; P 5635 1 ('DELETE:', S_DE), !
; P 5636 1 ('DG:', S_DG), !
; P 5637 1 ('EPT', M_NOEPT + FLAG_OFF), !
; P 5638 1 ('EXIT', M_EXIT + FLAG_ON), !
; P 5639 1 ('FAST', M_FAST + FLAG_ON), !
; P 5640 1 ('FULL', M_LIST_HEADERS + FLAG_ON), !
; P 5641 1 ('HELP', M_HELP + FLAG_ON), !
; P 5642 1 ('INSERT', M_REPLACE + FLAG_OFF), !
; P 5643 1 ('LE', M_LIST_ENTRIES + FLAG_ON), !
; P 5644 1 ('LISTING:', S_LIST), !
; P 5645 1 ('NOEPT', M_NOEPT + FLAG_ON), !
; P 5646 1 ('NORG', M_RG + FLAG_OFF), !
; P 5647 1 ('NOSS', M_SS + FLAG_OFF), !
; P 5648 1 ('REPLACE', M_REPLACE + FLAG_ON), !
; P 5649 1 ('RG', M_RG + FLAG_ON), !
; P 5650 1 ('SS', M_SS + FLAG_ON), !
; P 5651 1 ('VERSION', M_VERSION + FLAG_ON), !
; P 5652 1 ('WIDE', M_WIDE + FLAG_ON) !
; 5653 1 )),
; 5654 1 FI2 : CMD_FILE (EOL,, 'object file'),
; P 5655 1 FI3 : CMD_SWITCHES (FI4, (
; P 5656 1 ('EPT', BIT_NUMBER (F_NOEPT) + FLAG_OFF), !
; P 5657 1 ('INSERT', BIT_NUMBER (F_REPLACE) + FLAG_OFF), !
; P 5658 1 ('NOEPT', BIT_NUMBER (F_NOEPT) + FLAG_ON), !
; P 5659 1 ('NORG', BIT_NUMBER (F_RG) + FLAG_OFF), !
; P 5660 1 ('NOSS', BIT_NUMBER (F_SS) + FLAG_OFF), !
; P 5661 1 ('REPLACE', BIT_NUMBER (F_REPLACE) + FLAG_ON), !
; P 5662 1 ('RG', BIT_NUMBER (F_RG) + FLAG_ON), !
; P 5663 1 ('SS', BIT_NUMBER (F_SS) + FLAG_ON) !
; 5664 1 )),
; 5665 1 FI4 : CMD_COMMA (EOL),
; 5666 1 LI2 : CMD_FILE (, CH$ASCIZ ('TTY:'), 'listing file'),
; 5667 1 CO2 : CMD_NUMBER (, 10,, 'size of file in blocks'),
; 5668 1 CO3 : CMD_TOKEN (CO7, ':', CH$ASCIZ (':')),
; 5669 1 CO4 : CMD_NUMBER (, 10,, 'maximum entry points'),
; 5670 1 CO5 : CMD_TOKEN (CO7, ':', CH$ASCIZ (':')),
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 7
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (1)
; 5671 1 CO6 : CMD_NUMBER (, 10,, 'maximum modules'),
; 5672 1 CO7 : CMD_FILE (EOL,, 'library file'),
; 5673 1 CR2 : CMD_NUMBER (, 10, CH$ASCIZ ('100'), 'size of file in blocks'),
; 5674 1 CR3 : CMD_TOKEN (FN4, ':', CH$ASCIZ (':')),
; 5675 1 CR4 : CMD_NUMBER (, 10, CH$ASCIZ ('512'), 'maximum entry points'),
; 5676 1 CR5 : CMD_TOKEN (FN4, ':', CH$ASCIZ (':')),
; 5677 1 CR6 : CMD_NUMBER (, 10, CH$ASCIZ ('256'), 'maximum modules'),
; 5678 1 DE2 : CMD_RAD50 (,, 'module name'),
; 5679 1 DG2 : CMD_RAD50 (,, 'entry point'),
; 5680 1 EOL : CMD_CONFIRM ();
; 5681 1
; 5682 1 !
; 5683 1 ! EXTERNAL REFERENCES:
; 5684 1 !
; 5685 1
; 5686 1 EXTERNAL ROUTINE
; 5687 1 $CAT5; !Convert ASCII to RAD50.
; 5688 1
; 5689 1 EXTERNAL
; 5690 1 FLAGS : BITVECTOR [M_MAX_BITS],
; 5691 1 GBLNAM : BLOCKVECTOR [LBR_MAX_GLOBAL_DELETES, 2],
; 5692 1 GBLNUM,
; 5693 1 LIBBLK, !Dump file block.
; 5694 1 LSTBLK, !Listing file block.
; 5695 1 MODNAM : BLOCKVECTOR [LBR_MAX_MODULE_DELETES, 2],
; 5696 1 MODNUM,
; 5697 1 NUMEPT,
; 5698 1 NUMMNT,
; 5699 1 OBJBLK : VECTOR [LBR_MAX_OBJ],
; 5700 1 OBJFLG : BLOCKVECTOR [LBR_MAX_OBJ, F_MAX],
; 5701 1 OBJNUM,
; 5702 1 SIZFIL,
; 5703 1 TTYBLK; !Terminal block.
; 5704 1
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 8
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (2)
; 5705 1 ROUTINE ALLOCATE_FILBLK (FILPTR) =
; 5706 1
; 5707 1 !++
; 5708 1 ! FUNCTIONAL DESCRIPTION:
; 5709 1 !
; 5710 1 !
; 5711 1 !
; 5712 1 !
; 5713 1 ! FORMAL PARAMETERS:
; 5714 1 !
; 5715 1 ! NONE
; 5716 1 !
; 5717 1 ! IMPLICIT INPUTS:
; 5718 1 !
; 5719 1 ! NONE
; 5720 1 !
; 5721 1 ! IMPLICIT OUTPUTS:
; 5722 1 !
; 5723 1 ! NONE
; 5724 1 !
; 5725 1 ! ROUTINE VALUE:
; 5726 1 !
; 5727 1 ! NONE
; 5728 1 !
; 5729 1 ! SIDE EFFECTS
; 5730 1 !
; 5731 1 ! NONE
; 5732 1 !
; 5733 1 !--
; 5734 1
; 5735 1 IF ..FILPTR EQL 0
; 5736 1 THEN
; 5737 2 BEGIN
; 5738 2
; 5739 2 INCR INDEX FROM 0 TO LBR_MAX_FILES - 1 DO
; 5740 2
; 5741 2 IF .FILBLK [.INDEX, F_JFN] EQL 0
; 5742 2 THEN
; 5743 3 BEGIN
; 5744 3 .FILPTR = FILBLK [.INDEX, F_JFN];
; 5745 3 RETURN TRUE
; 5746 2 END;
; 5747 2
; 5748 2 FALSE
; 5749 2 END
; 5750 1 ELSE
; 5751 1 TRUE; !OF ALLOCATE_FILBLK
TITLE LBRSYS
TWOSEG
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 9
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (2)
.REQUEST SYS:B362LB.REL
RELOC 400000 ; 400000'
P.AAA: BYTE (7)"l","i","b","r","a" ; libra 400000' 154 151 142 162 141
BYTE (7)"r","y"," ","f","i" ; ry fi 400001' 162 171 040 146 151
BYTE (7)"l","e",000,000,000 ; le 400002' 154 145 000 000 000
P.AAC: BYTE (7)"E","X","I","T",000 ; EXIT 400003' 105 130 111 124 000
P.AAD: BYTE (7)"H","E","L","P",000 ; HELP 400004' 110 105 114 120 000
P.AAE: BYTE (7)"V","E","R","S","I" ; VERSI 400005' 126 105 122 123 111
BYTE (7)"O","N",000,000,000 ; ON 400006' 117 116 000 000 000
P.AAB: EXP 3000003 ; 400007' 000003 000003
EXP <<<P.AAC_22>+3>+10000> ; 400010' 000000 000000#
EXP <<<P.AAD_22>+2>+10000> ; 400011' 000000 000000#
EXP <<<P.AAE_22>+1>+10000> ; 400012' 000000 000000#
P.AAG: BYTE (7)"C","O","M","P","R" ; COMPR 400013' 103 117 115 120 122
BYTE (7)"E","S","S",":",000 ; ESS: 400014' 105 123 123 072 000
P.AAH: BYTE (7)"C","R","E","A","T" ; CREAT 400015' 103 122 105 101 124
BYTE (7)"E",":",000,000,000 ; E: 400016' 105 072 000 000 000
P.AAI: BYTE (7)"D","E","L","E","T" ; DELET 400017' 104 105 114 105 124
BYTE (7)"E",":",000,000,000 ; E: 400020' 105 072 000 000 000
P.AAJ: BYTE (7)"D","G",":",000,000 ; DG: 400021' 104 107 072 000 000
P.AAK: BYTE (7)"E","P","T",000,000 ; EPT 400022' 105 120 124 000 000
P.AAL: BYTE (7)"E","X","I","T",000 ; EXIT 400023' 105 130 111 124 000
P.AAM: BYTE (7)"F","A","S","T",000 ; FAST 400024' 106 101 123 124 000
P.AAN: BYTE (7)"F","U","L","L",000 ; FULL 400025' 106 125 114 114 000
P.AAO: BYTE (7)"H","E","L","P",000 ; HELP 400026' 110 105 114 120 000
P.AAP: BYTE (7)"I","N","S","E","R" ; INSER 400027' 111 116 123 105 122
BYTE (7)"T",000,000,000,000 ; T 400030' 124 000 000 000 000
P.AAQ: BYTE (7)"L","E",000,000,000 ; LE 400031' 114 105 000 000 000
P.AAR: BYTE (7)"L","I","S","T","I" ; LISTI 400032' 114 111 123 124 111
BYTE (7)"N","G",":",000,000 ; NG: 400033' 116 107 072 000 000
P.AAS: BYTE (7)"N","O","E","P","T" ; NOEPT 400034' 116 117 105 120 124
BYTE (7)000,000,000,000,000 ; 400035' 000 000 000 000 000
P.AAT: BYTE (7)"N","O","R","G",000 ; NORG 400036' 116 117 122 107 000
P.AAU: BYTE (7)"N","O","S","S",000 ; NOSS 400037' 116 117 123 123 000
P.AAV: BYTE (7)"R","E","P","L","A" ; REPLA 400040' 122 105 120 114 101
BYTE (7)"C","E",000,000,000 ; CE 400041' 103 105 000 000 000
P.AAW: BYTE (7)"R","G",000,000,000 ; RG 400042' 122 107 000 000 000
P.AAX: BYTE (7)"S","S",000,000,000 ; SS 400043' 123 123 000 000 000
P.AAY: BYTE (7)"V","E","R","S","I" ; VERSI 400044' 126 105 122 123 111
BYTE (7)"O","N",000,000,000 ; ON 400045' 117 116 000 000 000
P.AAZ: BYTE (7)"W","I","D","E",000 ; WIDE 400046' 127 111 104 105 000
P.AAF: EXP 24000024 ; 400047' 000024 000024
EXP <<P.AAG_22>+60000> ; 400050' 000000 000000#
EXP <<P.AAH_22>+30000> ; 400051' 000000 000000#
EXP <<P.AAI_22>+40000> ; 400052' 000000 000000#
EXP <<P.AAJ_22>+50000> ; 400053' 000000 000000#
EXP <<P.AAK_22>+13> ; 400054' 000000 000000#
EXP <<<P.AAL_22>+3>+10000> ; 400055' 000000 000000#
EXP <<<P.AAM_22>+5>+10000> ; 400056' 000000 000000#
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 10
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (2)
EXP <<<P.AAN_22>+10>+10000> ; 400057' 000000 000000#
EXP <<<P.AAO_22>+2>+10000> ; 400060' 000000 000000#
EXP <<P.AAP_22>+14> ; 400061' 000000 000000#
EXP <<<P.AAQ_22>+7>+10000> ; 400062' 000000 000000#
EXP <<P.AAR_22>+20000> ; 400063' 000000 000000#
EXP <<<P.AAS_22>+13>+10000> ; 400064' 000000 000000#
EXP <<P.AAT_22>+15> ; 400065' 000000 000000#
EXP <<P.AAU_22>+16> ; 400066' 000000 000000#
EXP <<<P.AAV_22>+14>+10000> ; 400067' 000000 000000#
EXP <<<P.AAW_22>+15>+10000> ; 400070' 000000 000000#
EXP <<<P.AAX_22>+16>+10000> ; 400071' 000000 000000#
EXP <<<P.AAY_22>+1>+10000> ; 400072' 000000 000000#
EXP <<<P.AAZ_22>+4>+10000> ; 400073' 000000 000000#
P.ABA: BYTE (7)"o","b","j","e","c" ; objec 400074' 157 142 152 145 143
BYTE (7)"t"," ","f","i","l" ; t fil 400075' 164 040 146 151 154
BYTE (7)"e",000,000,000,000 ; e 400076' 145 000 000 000 000
P.ABC: BYTE (7)"E","P","T",000,000 ; EPT 400077' 105 120 124 000 000
P.ABD: BYTE (7)"I","N","S","E","R" ; INSER 400100' 111 116 123 105 122
BYTE (7)"T",000,000,000,000 ; T 400101' 124 000 000 000 000
P.ABE: BYTE (7)"N","O","E","P","T" ; NOEPT 400102' 116 117 105 120 124
BYTE (7)000,000,000,000,000 ; 400103' 000 000 000 000 000
P.ABF: BYTE (7)"N","O","R","G",000 ; NORG 400104' 116 117 122 107 000
P.ABG: BYTE (7)"N","O","S","S",000 ; NOSS 400105' 116 117 123 123 000
P.ABH: BYTE (7)"R","E","P","L","A" ; REPLA 400106' 122 105 120 114 101
BYTE (7)"C","E",000,000,000 ; CE 400107' 103 105 000 000 000
P.ABI: BYTE (7)"R","G",000,000,000 ; RG 400110' 122 107 000 000 000
P.ABJ: BYTE (7)"S","S",000,000,000 ; SS 400111' 123 123 000 000 000
P.ABB: EXP 10000010 ; 400112' 000010 000010
EXP <P.ABC_22> ; 400113' 000000 000000#
EXP <<P.ABD_22>+1> ; 400114' 000000 000000#
EXP <<P.ABE_22>+10000> ; 400115' 000000 000000#
EXP <<P.ABF_22>+2> ; 400116' 000000 000000#
EXP <<P.ABG_22>+3> ; 400117' 000000 000000#
EXP <<<P.ABH_22>+1>+10000> ; 400120' 000000 000000#
EXP <<<P.ABI_22>+2>+10000> ; 400121' 000000 000000#
EXP <<<P.ABJ_22>+3>+10000> ; 400122' 000000 000000#
P.ABK: BYTE (7)"l","i","s","t","i" ; listi 400123' 154 151 163 164 151
BYTE (7)"n","g"," ","f","i" ; ng fi 400124' 156 147 040 146 151
BYTE (7)"l","e",000,000,000 ; le 400125' 154 145 000 000 000
P.ABL: BYTE (7)"T","T","Y",":",000 ; TTY: 400126' 124 124 131 072 000
P.ABM: BYTE (7)"s","i","z","e"," " ; size 400127' 163 151 172 145 040
BYTE (7)"o","f"," ","f","i" ; of fi 400130' 157 146 040 146 151
BYTE (7)"l","e"," ","i","n" ; le in 400131' 154 145 040 151 156
BYTE (7)" ","b","l","o","c" ; bloc 400132' 040 142 154 157 143
BYTE (7)"k","s",000,000,000 ; ks 400133' 153 163 000 000 000
P.ABN: BYTE (7)":",000,000,000,000 ; : 400134' 072 000 000 000 000
P.ABO: BYTE (7)":",000,000,000,000 ; : 400135' 072 000 000 000 000
P.ABP: BYTE (7)"m","a","x","i","m" ; maxim 400136' 155 141 170 151 155
BYTE (7)"u","m"," ","e","n" ; um en 400137' 165 155 040 145 156
BYTE (7)"t","r","y"," ","p" ; try p 400140' 164 162 171 040 160
BYTE (7)"o","i","n","t","s" ; oints 400141' 157 151 156 164 163
BYTE (7)000,000,000,000,000 ; 400142' 000 000 000 000 000
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 11
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (2)
P.ABQ: BYTE (7)":",000,000,000,000 ; : 400143' 072 000 000 000 000
P.ABR: BYTE (7)":",000,000,000,000 ; : 400144' 072 000 000 000 000
P.ABS: BYTE (7)"m","a","x","i","m" ; maxim 400145' 155 141 170 151 155
BYTE (7)"u","m"," ","m","o" ; um mo 400146' 165 155 040 155 157
BYTE (7)"d","u","l","e","s" ; dules 400147' 144 165 154 145 163
BYTE (7)000,000,000,000,000 ; 400150' 000 000 000 000 000
P.ABT: BYTE (7)"l","i","b","r","a" ; libra 400151' 154 151 142 162 141
BYTE (7)"r","y"," ","f","i" ; ry fi 400152' 162 171 040 146 151
BYTE (7)"l","e",000,000,000 ; le 400153' 154 145 000 000 000
P.ABU: BYTE (7)"s","i","z","e"," " ; size 400154' 163 151 172 145 040
BYTE (7)"o","f"," ","f","i" ; of fi 400155' 157 146 040 146 151
BYTE (7)"l","e"," ","i","n" ; le in 400156' 154 145 040 151 156
BYTE (7)" ","b","l","o","c" ; bloc 400157' 040 142 154 157 143
BYTE (7)"k","s",000,000,000 ; ks 400160' 153 163 000 000 000
P.ABV: BYTE (7)"1","0","0",000,000 ; 100 400161' 061 060 060 000 000
P.ABW: BYTE (7)":",000,000,000,000 ; : 400162' 072 000 000 000 000
P.ABX: BYTE (7)":",000,000,000,000 ; : 400163' 072 000 000 000 000
P.ABY: BYTE (7)"m","a","x","i","m" ; maxim 400164' 155 141 170 151 155
BYTE (7)"u","m"," ","e","n" ; um en 400165' 165 155 040 145 156
BYTE (7)"t","r","y"," ","p" ; try p 400166' 164 162 171 040 160
BYTE (7)"o","i","n","t","s" ; oints 400167' 157 151 156 164 163
BYTE (7)000,000,000,000,000 ; 400170' 000 000 000 000 000
P.ABZ: BYTE (7)"5","1","2",000,000 ; 512 400171' 065 061 062 000 000
P.ACA: BYTE (7)":",000,000,000,000 ; : 400172' 072 000 000 000 000
P.ACB: BYTE (7)":",000,000,000,000 ; : 400173' 072 000 000 000 000
P.ACC: BYTE (7)"m","a","x","i","m" ; maxim 400174' 155 141 170 151 155
BYTE (7)"u","m"," ","m","o" ; um mo 400175' 165 155 040 155 157
BYTE (7)"d","u","l","e","s" ; dules 400176' 144 165 154 145 163
BYTE (7)000,000,000,000,000 ; 400177' 000 000 000 000 000
P.ACD: BYTE (7)"2","5","6",000,000 ; 256 400200' 062 065 066 000 000
P.ACE: BYTE (7)"m","o","d","u","l" ; modul 400201' 155 157 144 165 154
BYTE (7)"e"," ","n","a","m" ; e nam 400202' 145 040 156 141 155
BYTE (7)"e",000,000,000,000 ; e 400203' 145 000 000 000 000
P.ACF: EXP -1 ; 400204' 777777 777777
EXP -20013776001 ; 400205' 757764 001777
EXP -377777777001 ; 400206' 400000 000777
EXP -1 ; 400207' 777777 777777
P.ACG: BYTE (7)"e","n","t","r","y" ; entry 400210' 145 156 164 162 171
BYTE (7)" ","p","o","i","n" ; poin 400211' 040 160 157 151 156
BYTE (7)"t",000,000,000,000 ; t 400212' 164 000 000 000 000
P.ACH: EXP -1 ; 400213' 777777 777777
EXP -20013776001 ; 400214' 757764 001777
EXP -377777777001 ; 400215' 400000 000777
EXP -1 ; 400216' 777777 777777
RELOC 0 ; 000000'
CMD_ATOM:
BLOCK 10 ; 000000'
CMD_INPUT:
BYTE (7)"L","B","R","2","0" ; LBR20 000010' 114 102 122 062 060
BYTE (7)">",000,000,000,000 ; > 000011' 076 000 000 000 000
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 12
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (2)
BLOCK 32 ; 000012'
CMD_JFN:EXP 0 ; 000044' 000000 000000
EXP 0 ; 000045' 000000 000000
EXP 0 ; 000046' 000000 000000
EXP 0 ; 000047' 000000 000000
EXP 0 ; 000050' 000000 000000
EXP 0 ; 000051' 000000 000000
EXP 0 ; 000052' 000000 000000
EXP 0 ; 000053' 000000 000000
EXP 0 ; 000054' 000000 000000
EXP 0 ; 000055' 000000 000000
EXP 0 ; 000056' 000000 000000
EXP 0 ; 000057' 000000 000000
EXP 0 ; 000060' 000000 000000
EXP 0 ; 000061' 000000 000000
CMD_STATE_BLK:
EXP 4000000000 ; 000062' 004000 000000
EXP 100000101 ; 000063' 000100 000101
POINT 7,CMD_INPUT-1,34 ; 000064' 01 07 0 00 000007'
POINT 7,CMD_INPUT+1,6 ; 000065' 35 07 0 00 000011'
POINT 7,CMD_INPUT+1,6 ; 000066' 35 07 0 00 000011'
EXP 177 ; 000067' 000000 000177
EXP 0 ; 000070' 000000 000000
POINT 7,CMD_ATOM-1,34 ; 000071' 01 07 0 00 777777'
EXP 50 ; 000072' 000000 000050
XWD 0,CMD_JFN ; 000073' 000000 000044'
DEF_LIB_FILE:
EXP 0 ; 000074' 000000 000000
EXP 0 ; 000075' 000000 000000
EXP 0 ; 000076' 000000 000000
EXP 0 ; 000077' 000000 000000
EXP 0 ; 000100' 000000 000000
EXP 0 ; 000101' 000000 000000
EXP 0 ; 000102' 000000 000000
EXP 0 ; 000103' 000000 000000
DEF_LST_NAME:
EXP 0 ; 000104' 000000 000000
EXP 0 ; 000105' 000000 000000
EXP 0 ; 000106' 000000 000000
EXP 0 ; 000107' 000000 000000
EXP 0 ; 000110' 000000 000000
EXP 0 ; 000111' 000000 000000
EXP 0 ; 000112' 000000 000000
EXP 0 ; 000113' 000000 000000
FILBLK: EXP 0 ; 000114' 000000 000000
EXP 0 ; 000115' 000000 000000
EXP 0 ; 000116' 000000 000000
EXP 0 ; 000117' 000000 000000
EXP 0 ; 000120' 000000 000000
EXP 0 ; 000121' 000000 000000
EXP 0 ; 000122' 000000 000000
EXP 0 ; 000123' 000000 000000
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 13
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (2)
EXP 0 ; 000124' 000000 000000
EXP 0 ; 000125' 000000 000000
EXP 0 ; 000126' 000000 000000
EXP 0 ; 000127' 000000 000000
EXP 0 ; 000130' 000000 000000
EXP 0 ; 000131' 000000 000000
EXP 0 ; 000132' 000000 000000
FUNCTION:
BLOCK 1 ; 000133'
MY_FLAGS:
BLOCK 1 ; 000134'
RSCAN_FLAG:
BLOCK 1 ; 000135'
FN1: EXP 14000000000 ; 000136' 014000 000000
EXP 0 ; 000137' 000000 000000
EXP 0 ; 000140' 000000 000000
EXP 0 ; 000141' 000000 000000
FN2: EXP FN3+6007000000 ; 000142' 000000 000000#
EXP 0 ; 000143' 000000 000000
POINT 7,P.AAA-1,34 ; 000144' 01 07 0 00 377777'
POINT 7,DEF_LIB_FILE-1,34 ; 000145' 01 07 0 00 000073'
FN3: EXP EOL+3000000000 ; 000146' 000000 000000#
XWD 0,P.AAB ; 000147' 000000 400007'
EXP 0 ; 000150' 000000 000000
EXP 0 ; 000151' 000000 000000
FN4: EXP FI2+3000000000 ; 000152' 000000 000000#
XWD 0,P.AAF ; 000153' 000000 400047'
EXP 0 ; 000154' 000000 000000
EXP 0 ; 000155' 000000 000000
FI2: EXP EOL+6005000000 ; 000156' 000000 000000#
EXP 0 ; 000157' 000000 000000
POINT 7,P.ABA-1,34 ; 000160' 01 07 0 00 400073'
EXP 0 ; 000161' 000000 000000
FI3: EXP FI4+3000000000 ; 000162' 000000 000000#
XWD 0,P.ABB ; 000163' 000000 400112'
EXP 0 ; 000164' 000000 000000
EXP 0 ; 000165' 000000 000000
FI4: EXP EOL+13000000000 ; 000166' 000000 000000#
EXP 0 ; 000167' 000000 000000
EXP 0 ; 000170' 000000 000000
EXP 0 ; 000171' 000000 000000
LI2: EXP 6007000000 ; 000172' 006007 000000
EXP 0 ; 000173' 000000 000000
POINT 7,P.ABK-1,34 ; 000174' 01 07 0 00 400122'
POINT 7,P.ABL-1,34 ; 000175' 01 07 0 00 400125'
CO2: EXP 1005000000 ; 000176' 001005 000000
EXP 12 ; 000177' 000000 000012
POINT 7,P.ABM-1,34 ; 000200' 01 07 0 00 400126'
EXP 0 ; 000201' 000000 000000
CO3: EXP CO7+23002000000 ; 000202' 000000 000000#
POINT 7,P.ABN-1,34 ; 000203' 01 07 0 00 400133'
EXP 0 ; 000204' 000000 000000
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 14
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (2)
POINT 7,P.ABO-1,34 ; 000205' 01 07 0 00 400134'
CO4: EXP 1005000000 ; 000206' 001005 000000
EXP 12 ; 000207' 000000 000012
POINT 7,P.ABP-1,34 ; 000210' 01 07 0 00 400135'
EXP 0 ; 000211' 000000 000000
CO5: EXP CO7+23002000000 ; 000212' 000000 000000#
POINT 7,P.ABQ-1,34 ; 000213' 01 07 0 00 400142'
EXP 0 ; 000214' 000000 000000
POINT 7,P.ABR-1,34 ; 000215' 01 07 0 00 400143'
CO6: EXP 1005000000 ; 000216' 001005 000000
EXP 12 ; 000217' 000000 000012
POINT 7,P.ABS-1,34 ; 000220' 01 07 0 00 400144'
EXP 0 ; 000221' 000000 000000
CO7: EXP EOL+6005000000 ; 000222' 000000 000000#
EXP 0 ; 000223' 000000 000000
POINT 7,P.ABT-1,34 ; 000224' 01 07 0 00 400150'
EXP 0 ; 000225' 000000 000000
CR2: EXP 1007000000 ; 000226' 001007 000000
EXP 12 ; 000227' 000000 000012
POINT 7,P.ABU-1,34 ; 000230' 01 07 0 00 400153'
POINT 7,P.ABV-1,34 ; 000231' 01 07 0 00 400160'
CR3: EXP FN4+23002000000 ; 000232' 000000 000000#
POINT 7,P.ABW-1,34 ; 000233' 01 07 0 00 400161'
EXP 0 ; 000234' 000000 000000
POINT 7,P.ABX-1,34 ; 000235' 01 07 0 00 400162'
CR4: EXP 1007000000 ; 000236' 001007 000000
EXP 12 ; 000237' 000000 000012
POINT 7,P.ABY-1,34 ; 000240' 01 07 0 00 400163'
POINT 7,P.ABZ-1,34 ; 000241' 01 07 0 00 400170'
CR5: EXP FN4+23002000000 ; 000242' 000000 000000#
POINT 7,P.ACA-1,34 ; 000243' 01 07 0 00 400171'
EXP 0 ; 000244' 000000 000000
POINT 7,P.ACB-1,34 ; 000245' 01 07 0 00 400172'
CR6: EXP 1007000000 ; 000246' 001007 000000
EXP 12 ; 000247' 000000 000012
POINT 7,P.ACC-1,34 ; 000250' 01 07 0 00 400173'
POINT 7,P.ACD-1,34 ; 000251' 01 07 0 00 400177'
DE2: EXP 7025000000 ; 000252' 007025 000000
EXP 0 ; 000253' 000000 000000
POINT 7,P.ACE-1,34 ; 000254' 01 07 0 00 400200'
EXP 0 ; 000255' 000000 000000
XWD 0,P.ACF ; 000256' 000000 400204'
DG2: EXP 7025000000 ; 000257' 007025 000000
EXP 0 ; 000260' 000000 000000
POINT 7,P.ACG-1,34 ; 000261' 01 07 0 00 400207'
EXP 0 ; 000262' 000000 000000
XWD 0,P.ACH ; 000263' 000000 400213'
EOL: EXP 10000000000 ; 000264' 010000 000000
EXP 0 ; 000265' 000000 000000
EXP 0 ; 000266' 000000 000000
EXP 0 ; 000267' 000000 000000
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 15
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (2)
EXTERN $CAT5, FLAGS, GBLNAM, GBLNUM, LIBBLK, LSTBLK, MODNAM, MODNUM, NUMEPT, NUMMNT, OBJBLK
EXTERN OBJFLG, OBJNUM, SIZFIL, TTYBLK
FLAG_OFF== 0 ; 000000 000000
FLAG_ON== 10000 ; 000000 010000
S_LIST== 20000 ; 000000 020000
S_COMPRESS== 60000 ; 000000 060000
S_CREATE== 30000 ; 000000 030000
S_DE== 40000 ; 000000 040000
S_DG== 50000 ; 000000 050000
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 400217 ; 400217'
ALLOCATE_FILBLK:
MOVE AC2,-1(SP) ; AC2,FILPTR 400217' 200 02 0 17 777777 5735
SKIPE 0(AC2) ; 0(AC2) 400220' 332 00 0 02 000000
JRST L.3 ; L.3 400221' 254 00 0 00 400234'
SETZ AC1, ; INDEX, 400222' 400 01 0 00 000000 5739
L.1: HRRZ AC3,FILBLK(AC1) ; AC3,FILBLK(INDEX) 400223' 550 03 0 01 000114' 5741
JUMPN AC3,L.2 ; AC3,L.2 400224' 326 03 0 00 400230'
MOVEI AC3,FILBLK(AC1) ; AC3,FILBLK(INDEX) 400225' 201 03 0 01 000114' 5744
MOVEM AC3,0(AC2) ; AC3,0(AC2) 400226' 202 03 0 02 000000
JRST L.3 ; L.3 400227' 254 00 0 00 400234'
L.2: ADDI AC1,1 ; INDEX,1 400230' 271 01 0 00 000001 5739
CAIG AC1,16 ; INDEX,16 400231' 307 01 0 00 000016
JRST L.1 ; L.1 400232' 254 00 0 00 400223'
TDZA AC1,AC1 ; AC1,AC1 400233' 634 01 0 00 000001 5735
L.3: MOVEI AC1,1 ; AC1,1 400234' 201 01 0 00 000001
POPJ SP, ; SP, 400235' 263 17 0 00 000000 5705
; Routine Size: 15 words
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 16
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (2)
; 5752 1
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 17
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (3)
; 5753 1 GLOBAL ROUTINE ASSOCIATE (FILPTR, FILE_NAME_PTR, EXT_PTR) =
; 5754 1
; 5755 1 !++
; 5756 1 ! FUNCTIONAL DESCRIPTION:
; 5757 1 !
; 5758 1 !
; 5759 1 !
; 5760 1 !
; 5761 1 ! FORMAL PARAMETERS:
; 5762 1 !
; 5763 1 ! NONE
; 5764 1 !
; 5765 1 ! IMPLICIT INPUTS:
; 5766 1 !
; 5767 1 ! NONE
; 5768 1 !
; 5769 1 ! IMPLICIT OUTPUTS:
; 5770 1 !
; 5771 1 ! NONE
; 5772 1 !
; 5773 1 ! ROUTINE VALUE:
; 5774 1 !
; 5775 1 ! NONE
; 5776 1 !
; 5777 1 ! SIDE EFFECTS
; 5778 1 !
; 5779 1 ! NONE
; 5780 1 !
; 5781 1 !--
; 5782 1
; 5783 2 BEGIN
; 5784 2
; 5785 2 OWN
; 5786 2 JFN_BLOCK : VECTOR [9],
; 5787 2 JFN_DIRECTORY : CH$SEQUENCE (40);
; 5788 2
; 5789 2 JFN_BLOCK [$GJGEN] = GJ_OLD + $GJDEF;
; 5790 2 JFN_BLOCK [$GJSRC] = $NULIO^18 + $NULIO;
; 5791 2 JFN_BLOCK [$GJDEV] = 0;
; 5792 2 JFN_BLOCK [$GJDIR] = 0;
; 5793 2 JFN_BLOCK [$GJNAM] = 0;
; 5794 2 JFN_BLOCK [$GJEXT] = .EXT_PTR;
; 5795 2 JFN_BLOCK [$GJPRO] = 0;
; 5796 2 JFN_BLOCK [$GJACT] = 0;
; 5797 2 JFN_BLOCK [$GJJFN] = 0;
; 5798 2
; 5799 2 IF NOT ALLOCATE_FILBLK (.FILPTR) THEN RETURN FALSE;
; 5800 2
; 5801 3 BEGIN
; 5802 3 REGISTERS (1, 2, 3);
; 5803 3 AC2 = .FILE_NAME_PTR;
; 5804 3 AC1 = JFN_BLOCK;
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 18
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (3)
; 5805 3 AC3 = JSYS (1, GTJFN, AC1, AC2);
; 5806 3
; 5807 3 IF .AC3 NEQ 1 THEN RETURN FALSE;
; 5808 3
; 5809 3 BLOCK [..FILPTR, F_JFN] = .AC1<0, 18>;
; 5810 2 END;
; 5811 2 TRUE
; 5812 1 END; !OF ASSOCIATE
RELOC 270 ; 000270'
JFN_BLOCK:
BLOCK 11 ; 000270'
JFN_DIRECTORY:
BLOCK 10 ; 000301'
RELOC 400236 ; 400236'
ASSOCIATE::
MOVSI AC1,100000 ; AC1,100000 400236' 205 01 0 00 100000 5789
MOVEM AC1,JFN_BLOCK ; AC1,JFN_BLOCK 400237' 202 01 0 00 000270'
MOVE AC1,C.1 ; AC1,[377777377777] 400240' 200 01 0 00 400275' 5790
MOVEM AC1,JFN_BLOCK+1 ; AC1,JFN_BLOCK+1 400241' 202 01 0 00 000271'
SETZM JFN_BLOCK+2 ; JFN_BLOCK+2 400242' 402 00 0 00 000272' 5791
SETZM JFN_BLOCK+3 ; JFN_BLOCK+3 400243' 402 00 0 00 000273' 5792
SETZM JFN_BLOCK+4 ; JFN_BLOCK+4 400244' 402 00 0 00 000274' 5793
MOVE AC1,-1(SP) ; AC1,EXT_PTR 400245' 200 01 0 17 777777 5794
MOVEM AC1,JFN_BLOCK+5 ; AC1,JFN_BLOCK+5 400246' 202 01 0 00 000275'
SETZM JFN_BLOCK+6 ; JFN_BLOCK+6 400247' 402 00 0 00 000276' 5795
SETZM JFN_BLOCK+7 ; JFN_BLOCK+7 400250' 402 00 0 00 000277' 5796
SETZM JFN_BLOCK+10 ; JFN_BLOCK+10 400251' 402 00 0 00 000300' 5797
PUSH SP,-3(SP) ; SP,FILPTR 400252' 261 17 0 17 777775 5799
PUSHJ SP,ALLOCATE_FILBLK ; SP,ALLOCATE_FILBLK 400253' 260 17 0 00 400217'
ADJSP SP,-1 ; SP,-1 400254' 105 17 0 00 777777
TRNN AC1,1 ; AC1,1 400255' 606 01 0 00 000001
JRST L.4 ; L.4 400256' 254 00 0 00 400266'
MOVE AC2,-2(SP) ; AC2,FILE_NAME_PTR 400257' 200 02 0 17 777776 5803
MOVEI AC1,JFN_BLOCK ; AC1,JFN_BLOCK 400260' 201 01 0 00 000270' 5804
JSYS 20 ; 20 400261' 104 00 0 00 000020 5805
TDZA AC3,AC3 ; AC3,AC3 400262' 634 03 0 00 000003
MOVEI AC3,1 ; AC3,1 400263' 201 03 0 00 000001
CAIN AC3,1 ; AC3,1 400264' 306 03 0 00 000001 5807
JRST L.5 ; L.5 400265' 254 00 0 00 400270'
L.4: SETZ AC1, ; AC1, 400266' 400 01 0 00 000000
POPJ SP, ; SP, 400267' 263 17 0 00 000000
L.5: MOVE AC2,-3(SP) ; AC2,FILPTR 400270' 200 02 0 17 777775 5809
MOVE AC2,0(AC2) ; AC2,0(AC2) 400271' 200 02 0 02 000000
HRRM AC1,0(AC2) ; AC1,0(AC2) 400272' 542 01 0 02 000000
MOVEI AC1,1 ; AC1,1 400273' 201 01 0 00 000001 5753
POPJ SP, ; SP, 400274' 263 17 0 00 000000
C.1: EXP 377777377777 ; 377777377777 400275' 377777 377777
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 19
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (3)
; Routine Size: 32 words
; 5813 1
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 20
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (4)
; 5814 1 GLOBAL ROUTINE CLOSE (FILPTR) : NOVALUE =
; 5815 1
; 5816 1 !++
; 5817 1 ! FUNCTIONAL DESCRIPTION:
; 5818 1 !
; 5819 1 !
; 5820 1 !
; 5821 1 !
; 5822 1 ! FORMAL PARAMETERS:
; 5823 1 !
; 5824 1 ! NONE
; 5825 1 !
; 5826 1 ! IMPLICIT INPUTS:
; 5827 1 !
; 5828 1 ! NONE
; 5829 1 !
; 5830 1 ! IMPLICIT OUTPUTS:
; 5831 1 !
; 5832 1 ! NONE
; 5833 1 !
; 5834 1 ! ROUTINE VALUE:
; 5835 1 !
; 5836 1 ! NONE
; 5837 1 !
; 5838 1 ! SIDE EFFECTS
; 5839 1 !
; 5840 1 ! NONE
; 5841 1 !
; 5842 1 !--
; 5843 1
; 5844 1 IF ..FILPTR NEQ 0
; 5845 1 THEN
; 5846 2 BEGIN
; 5847 3 BEGIN
; 5848 3 REGISTERS (1);
; 5849 3 AC1 = .BLOCK [..FILPTR, F_JFN];
; 5850 3
; 5851 3 IF JSYS (1, CLOSF, AC1) NEQ 1
; 5852 3 THEN
; 5853 4 BEGIN
; 5854 4 AC1 = .BLOCK [..FILPTR, F_JFN];
; 5855 4 JSYS (1, RLJFN, AC1);
; 5856 3 END;
; 5857 3
; 5858 2 END;
; 5859 2 BLOCK [..FILPTR, F_JFN] = 0;
; 5860 2 .FILPTR = 0;
; 5861 1 END; !OF CLOSE
CLOSE:: MOVE AC1,-1(SP) ; AC1,FILPTR 400276' 200 01 0 17 777777 5844
MOVE AC1,0(AC1) ; AC1,0(AC1) 400277' 200 01 0 01 000000
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 21
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (4)
JUMPE AC1,L.7 ; AC1,L.7 400300' 322 01 0 00 400320'
HRRZ AC1,0(AC1) ; AC1,0(AC1) 400301' 550 01 0 01 000000 5849
JSYS 22 ; 22 400302' 104 00 0 00 000022 5851
TDZA AC2,AC2 ; AC2,AC2 400303' 634 02 0 00 000002
MOVEI AC2,1 ; AC2,1 400304' 201 02 0 00 000001
CAIN AC2,1 ; AC2,1 400305' 306 02 0 00 000001
JRST L.6 ; L.6 400306' 254 00 0 00 400314'
MOVE AC2,-1(SP) ; AC2,FILPTR 400307' 200 02 0 17 777777 5854
MOVE AC2,0(AC2) ; AC2,0(AC2) 400310' 200 02 0 02 000000
HRRZ AC1,0(AC2) ; AC1,0(AC2) 400311' 550 01 0 02 000000
JSYS 23 ; 23 400312' 104 00 0 00 000023 5855
JFCL ; 400313' 255 00 0 00 000000
L.6: MOVE AC2,-1(SP) ; AC2,FILPTR 400314' 200 02 0 17 777777 5859
MOVE AC1,0(AC2) ; AC1,0(AC2) 400315' 200 01 0 02 000000
HLLZS 0(AC1) ; 0(AC1) 400316' 513 00 0 01 000000
SETZM 0(AC2) ; 0(AC2) 400317' 402 00 0 02 000000 5860
L.7: POPJ SP, ; SP, 400320' 263 17 0 00 000000 5814
; Routine Size: 19 words
; 5862 1
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 22
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (5)
; 5863 1 GLOBAL ROUTINE CMD =
; 5864 1
; 5865 1 !++
; 5866 1 ! FUNCTIONAL DESCRIPTION:
; 5867 1 !
; 5868 1 !
; 5869 1 !
; 5870 1 !
; 5871 1 ! FORMAL PARAMETERS:
; 5872 1 !
; 5873 1 ! NONE
; 5874 1 !
; 5875 1 ! IMPLICIT INPUTS:
; 5876 1 !
; 5877 1 ! NONE
; 5878 1 !
; 5879 1 ! IMPLICIT OUTPUTS:
; 5880 1 !
; 5881 1 ! NONE
; 5882 1 !
; 5883 1 ! ROUTINE VALUE:
; 5884 1 !
; 5885 1 ! NONE
; 5886 1 !
; 5887 1 ! SIDE EFFECTS
; 5888 1 !
; 5889 1 ! NONE
; 5890 1 !
; 5891 1 !--
; 5892 1
; 5893 2 BEGIN
; 5894 2
; 5895 2 LOCAL
; 5896 2 COMND_FLAGS, !Returned flags from the COMND JSYS.
; 5897 2 COMND_USED,
; 5898 2 COMND_DATA;
; 5899 2
; 5900 2 BIND
; 5901 2 LIB_FILE_TYPE = CH$ASCIZ ('OLB'),
; 5902 2 LST_FILE_TYPE = CH$ASCIZ ('LST'),
; 5903 2 OBJ_FILE_TYPE = CH$ASCIZ ('OBJ');
; 5904 2
; 5905 2 !+
; 5906 2 ! Check for a command in the rescan buffer.
; 5907 2 !-
; 5908 2
; 5909 2 RSCAN_FLAG =
; 5910 3 BEGIN
; 5911 3
; 5912 3 LOCAL
; 5913 3 CMD_LEN;
; 5914 3
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 23
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (5)
; 5915 3 IF
; 5916 4 BEGIN
; 5917 4 REGISTERS (1);
; 5918 4 AC1 = $RSINI;
; 5919 5 CMD_LEN = (IF JSYS (1, RSCAN, AC1) THEN .AC1 ELSE 0)
; 5920 4 END
; 5921 3 NEQ 0
; 5922 3 THEN
; 5923 4 BEGIN
; 5924 4
; 5925 4 LOCAL
; 5926 4 TEMP;
; 5927 4
; 5928 4 BIND
; 5929 4 CMD_PTR = CH$PTR (CMD_INPUT, %CHARCOUNT (PROMPT, '>'));
; 5930 4
; 5931 4 !+
; 5932 4 ! Get a copy of the rescan line to see if it has valid
; 5933 4 ! information in it.
; 5934 4 !-
; 5935 4
; 5936 5 BEGIN
; 5937 5 REGISTERS (1, 2, 3);
; 5938 5 AC3 = .CMD_LEN;
; 5939 5 AC2 = CMD_PTR;
; 5940 5 AC1 = $CTTRM;
; 5941 5 JSYS (0, SIN, AC1, AC2, AC3);
; 5942 5 TEMP = .AC2;
; 5943 4 END;
; 5944 4
; 5945 4 !+
; 5946 4 ! Now change lower case to upper case for comparisons
; 5947 4 ! and chop off cr/lf if present.
; 5948 4 !-
; 5949 4
; 5950 5 BEGIN
; 5951 5
; 5952 5 LOCAL
; 5953 5 CHR,
; 5954 5 CNT,
; 5955 5 PTR;
; 5956 5
; 5957 5 PTR = CMD_PTR;
; 5958 5 CMD_LEN = 0;
; 5959 5
; 5960 5 WHILE (CHR = CH$RCHAR (.PTR)) GEQ %C' ' DO
; 5961 6 BEGIN
; 5962 6
; 5963 6 IF (.CHR GEQ %C'a') AND (.CHR LEQ %C'z') THEN CH$WCHAR (.CHR - %C'a' + %C'A', .PTR);
; 5964 6
; 5965 6 PTR = CH$PLUS (.PTR, 1);
; 5966 6 CMD_LEN = .CMD_LEN + 1;
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 24
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (5)
; 5967 5 END;
; 5968 5
; 5969 4 END;
; 5970 4
; 5971 4 !+
; 5972 4 ! If not RUN or START then must have good stuff.
; 5973 4 !-
; 5974 4
; 5975 4 IF NOT CH$FAIL (TEMP = CH$FIND_CH (39, CMD_PTR, %C' ')) AND
; 5976 4 NOT CH$FAIL (TEMP = CH$FIND_NOT_CH (4, .TEMP, %C' ')) AND
; 5977 4 NOT CH$EQL (4, CH$ASCII ('RUN '), 4, CMD_PTR, %C' ') AND
; 5978 4 NOT CH$EQL (6, CH$ASCII ('START '), 6, CMD_PTR, %C' ')
; 5979 4 THEN
; 5980 5 BEGIN
; 5981 5
; 5982 5 !+
; 5983 5 ! Append a /EX to the end so as to avoid re-prompt
; 5984 5 !-
; 5985 5
; 5986 5 CH$MOVE (6, CH$ASCIZ ('/EX', %CHAR (13, 10)), CH$PLUS (CMD_PTR, .CMD_LEN));
; 5987 5
; 5988 5 !+
; 5989 5 ! Now re-insert the line back into the rescan buffer and
; 5990 5 ! redirect input to it instead of primary input.
; 5991 5 !-
; 5992 5
; 5993 5 CMD_STATE_BLK [$CMIOJ] = $CTTRM^18 + $NULIO;
; 5994 6 BEGIN
; 5995 6 REGISTERS (1, 2, 3);
; 5996 6 AC1 = .TEMP;
; 5997 6 JSYS (1, RSCAN, AC1);
; 5998 6 AC1 = $RSINI;
; 5999 6 JSYS (1, RSCAN, AC1)
; 6000 6 END
; 6001 5 END
; 6002 4 ELSE
; 6003 4 FALSE
; 6004 4
; 6005 4 END
; 6006 3 ELSE
; 6007 3 FALSE
; 6008 3
; 6009 2 END;
; 6010 2
; 6011 2 !+
; 6012 2 ! Now parse the command line.
; 6013 2 !-
; 6014 2
; 6015 2 FUNCTION = FN1;
; 6016 2
; 6017 2 DO
; 6018 3 BEGIN
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 25
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (5)
; 6019 3
; 6020 3 SELECTA .FUNCTION<0, 18> OF
; 6021 3 SET
; 6022 3
; 6023 3 [FN2, CO7] :
; 6024 4 BEGIN
; 6025 4 CMD_JFN [$GJGEN] = $GJDEF;
; 6026 4 CMD_JFN [$GJNAM] = 0;
; 6027 4 CMD_JFN [$GJEXT] = LIB_FILE_TYPE;
; 6028 3 END;
; 6029 3
; 6030 3 [LI2] :
; 6031 4 BEGIN
; 6032 4 CMD_JFN [$GJGEN] = GJ_FOU + $GJDEF;
; 6033 4 CMD_JFN [$GJNAM] = CH$PTR (DEF_LST_NAME);
; 6034 4 CMD_JFN [$GJEXT] = LST_FILE_TYPE;
; 6035 3 END;
; 6036 3
; 6037 3 [FN4, FI2] :
; 6038 4 BEGIN
; 6039 4 CMD_JFN [$GJGEN] = GJ_OLD + $GJDEF;
; 6040 4 CMD_JFN [$GJNAM] = 0;
; 6041 4 CMD_JFN [$GJEXT] = OBJ_FILE_TYPE;
; 6042 3 END;
; 6043 3 TES;
; 6044 3
; 6045 4 BEGIN
; 6046 4 REGISTERS (1, 2, 3);
; 6047 4 AC1 = CMD_STATE_BLK;
; 6048 4 AC2 = .FUNCTION;
; 6049 4 JSYS (0, COMND, AC1, AC2, AC3);
; 6050 4 COMND_FLAGS = .AC1;
; 6051 4 COMND_DATA = .AC2;
; 6052 4 COMND_USED = .AC3<0, 18>;
; 6053 3 END;
; 6054 3
; 6055 3 SELECTONE 1 OF
; 6056 3 SET
; 6057 3
; 6058 3 [.POINTR (COMND_FLAGS, CM_NOP)] :
; 6059 3
; 6060 3 IF .POINTR (.FUNCTION, CM_FNC) EQL $CMFIL
; 6061 3 THEN
; 6062 4 BEGIN
; 6063 4
; 6064 4 LOCAL
; 6065 4 BLK_PTR;
; 6066 4
; 6067 4 INCRA BLK_PTR FROM CMD_JFN [0] TO CMD_JFN [14] DO
; 6068 4 .BLK_PTR = 0;
; 6069 4
; 6070 4 CMD_JFN [$GJGEN] = GJ_OFG;
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 26
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (5)
; 6071 4 END
; 6072 3 ELSE
; 6073 4 BEGIN
; 6074 4 REGISTERS (1, 2, 3);
; 6075 4 AC3 = 0;
; 6076 4 AC2 = $FHSLF^18 + %O'777777';
; 6077 4 AC1 = $PRIOU;
; 6078 4 JSYS (2, ERSTR, AC1, AC2, AC3);
; 6079 4 FUNCTION = FN1;
; 6080 3 END;
; 6081 3
; 6082 3 [.POINTR (COMND_FLAGS, CM_RPT)] :
; 6083 3 INIT_PARSE ();
; 6084 3
; 6085 3 [OTHERWISE] :
; 6086 3
; 6087 3 SELECTONEA .COMND_USED OF
; 6088 3 SET
; 6089 3
; 6090 3 [CO2] :
; 6091 4 BEGIN
; 6092 4 SIZFIL = .COMND_DATA <0, 16>;
; 6093 4 FUNCTION = CO3;
; 6094 3 END;
; 6095 3
; 6096 3 [CO3] :
; 6097 3 FUNCTION = CO4;
; 6098 3
; 6099 3 [CO4] :
; 6100 4 BEGIN
; 6101 4 NUMEPT = .COMND_DATA <0, 16>;
; 6102 4 FUNCTION = CO5;
; 6103 3 END;
; 6104 3
; 6105 3 [CO5] :
; 6106 3 FUNCTION = CO6;
; 6107 3
; 6108 3 [CO6] :
; 6109 4 BEGIN
; 6110 4 NUMMNT = .COMND_DATA <0, 16>;
; 6111 4 FUNCTION = CO7;
; 6112 3 END;
; 6113 3
; 6114 3 [CO7] :
; 6115 3 0;
; 6116 3
; 6117 3 [CR2] :
; 6118 4 BEGIN
; 6119 4 SIZFIL = .COMND_DATA <0, 16>;
; 6120 4 FUNCTION = CR3;
; 6121 3 END;
; 6122 3
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 27
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (5)
; 6123 3 [CR3] :
; 6124 3 FUNCTION = CR4;
; 6125 3
; 6126 3 [CR4] :
; 6127 4 BEGIN
; 6128 4 NUMEPT = .COMND_DATA <0, 16>;
; 6129 4 FUNCTION = CR5;
; 6130 3 END;
; 6131 3
; 6132 3 [CR5] :
; 6133 3 FUNCTION = CR6;
; 6134 3
; 6135 3 [CR6] :
; 6136 4 BEGIN
; 6137 4 NUMMNT = .COMND_DATA <0, 16>;
; 6138 4 FUNCTION = FN4;
; 6139 3 END;
; 6140 3
; 6141 3 [DE2] :
; 6142 4 BEGIN
; 6143 4
; 6144 4 LOCAL
; 6145 4 PTR;
; 6146 4
; 6147 4 FUNCTION = FN4;
; 6148 4 PTR = CH$PTR (CMD_ATOM);
; 6149 4 MODNAM [.MODNUM, 0, 0, 16, 0] = $CAT5 (PTR, 1);
; 6150 4 MODNAM [.MODNUM, 1, 0, 16, 0] = $CAT5 (PTR, 1);
; 6151 4
; 6152 4 IF CH$RCHAR (.PTR) EQL 0
; 6153 4 THEN
; 6154 4 MODNUM = .MODNUM + 1
; 6155 4 ELSE
; 6156 5 BEGIN
; 6157 5 REGISTERS (1);
; 6158 5 AC1 = CH$ASCIZ ('? improper module name', %CHAR (13, 10));
; 6159 5 JSYS (0, PSOUT, AC1);
; 6160 5 FUNCTION = FN1;
; 6161 4 END;
; 6162 4
; 6163 3 END;
; 6164 3
; 6165 3 [DG2] :
; 6166 4 BEGIN
; 6167 4
; 6168 4 LOCAL
; 6169 4 PTR;
; 6170 4
; 6171 4 FUNCTION = FN4;
; 6172 4 PTR = CH$PTR (CMD_ATOM);
; 6173 4 GBLNAM [.GBLNUM, 0, 0, 16, 0] = $CAT5 (PTR, 1);
; 6174 4 GBLNAM [.GBLNUM, 1, 0, 16, 0] = $CAT5 (PTR, 1);
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 28
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (5)
; 6175 4
; 6176 4 IF CH$RCHAR (.PTR) EQL 0
; 6177 4 THEN
; 6178 4 GBLNUM = .GBLNUM + 1
; 6179 4 ELSE
; 6180 5 BEGIN
; 6181 5 REGISTERS (1);
; 6182 5 AC1 = CH$ASCIZ ('? improper entry point name', %CHAR (13, 10));
; 6183 5 JSYS (0, PSOUT, AC1);
; 6184 5 FUNCTION = FN1;
; 6185 4 END;
; 6186 4
; 6187 3 END;
; 6188 3
; 6189 3 [EOL] :
; 6190 3 FUNCTION = 0;
; 6191 3
; 6192 3 [FI2] :
; 6193 4 BEGIN
; 6194 4 OBJNUM = .OBJNUM + 1;
; 6195 4 CLOSE (OBJBLK [.OBJNUM - 1]);
; 6196 4
; 6197 4 IF NOT ALLOCATE_FILBLK (OBJBLK [.OBJNUM - 1]) THEN RETURN FALSE;
; 6198 4
; 6199 4 BLOCK [.OBJBLK [.OBJNUM - 1], F_JFN] = .COMND_DATA;
; 6200 4 OBJFLG [.OBJNUM - 1, F_SS] = .FLAGS [M_SS];
; 6201 4 OBJFLG [.OBJNUM - 1, F_REPLACE] = .FLAGS [M_REPLACE];
; 6202 4 OBJFLG [.OBJNUM - 1, F_NOEPT] = .FLAGS [M_NOEPT];
; 6203 4 FUNCTION = FI3;
; 6204 3 END;
; 6205 3
; 6206 3 [FI3] :
; 6207 4 BEGIN
; 6208 4
; 6209 4 BIND
; 6210 4 SWITCH_CMD = .POINTR ((.COMND_DATA), SWT_CMD),
; 6211 4 SWITCH_VAL = .POINTR ((.COMND_DATA), SWT_VAL);
; 6212 4
; 6213 4 CASE SWITCH_CMD FROM SWT_MIN TO SWT_MAX OF
; 6214 4 SET
; 6215 4
; 6216 4 [SWT_FLAG_OFF] :
; 6217 4 OBJFLG [.OBJNUM - 1, 0, .SWITCH_VAL, 1, 0] = 0;
; 6218 4
; 6219 4 [SWT_FLAG_ON] :
; 6220 4 OBJFLG [.OBJNUM - 1, 0, .SWITCH_VAL, 1, 0] = 1;
; 6221 4
; 6222 4 [INRANGE] :
; 6223 4 0;
; 6224 4
; 6225 4 TES;
; 6226 4
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 29
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (5)
; 6227 3 END;
; 6228 3
; 6229 3 [FI4] :
; 6230 3 FUNCTION = FI2;
; 6231 3
; 6232 3 [FN1] :
; 6233 3 INIT_PARSE ();
; 6234 3
; 6235 3 [FN2] :
; 6236 4 BEGIN
; 6237 4 CLOSE (LIBBLK);
; 6238 4
; 6239 4 IF NOT ALLOCATE_FILBLK (LIBBLK) THEN RETURN FALSE;
; 6240 4
; 6241 4 BLOCK [.LIBBLK, F_JFN] = .COMND_DATA;
; 6242 5 BEGIN
; 6243 5 REGISTERS (1, 2, 3, 4);
; 6244 5 AC3 = FLD ($JSAOF, JS_TYP);
; 6245 5 AC2 = .BLOCK [.LIBBLK, F_JFN];
; 6246 5 AC1 = CH$PTR (CMD_ATOM);
; 6247 5 JSYS (0, JFNS, AC1, AC2, AC3, AC4);
; 6248 5 AC3 = 0;
; 6249 5 AC2 = .BLOCK [.LIBBLK, F_JFN];
; 6250 5 AC1 = CH$PTR (DEF_LIB_FILE);
; 6251 5 JSYS (0, JFNS, AC1, AC2, AC3, AC4);
; 6252 5 CH$WCHAR (0, .AC1);
; 6253 4 END;
; 6254 4 DUMP_FLAG = 1;
; 6255 4
; 6256 4 IF .DEF_LST_NAME EQL 0
; 6257 4 THEN
; 6258 5 BEGIN
; 6259 5 REGISTERS (1, 2, 3, 4);
; 6260 5 AC3 = FLD ($JSAOF, JS_NAM);
; 6261 5 AC2 = .BLOCK [.LIBBLK, F_JFN];
; 6262 5 AC1 = CH$PTR (DEF_LST_NAME);
; 6263 5 JSYS (0, JFNS, AC1, AC2, AC3, AC4);
; 6264 4 END;
; 6265 4
; 6266 4 FUNCTION = FN4;
; 6267 3 END;
; 6268 3
; 6269 3 [FN3, FN4] :
; 6270 4 BEGIN
; 6271 4
; 6272 4 BIND
; 6273 4 SWITCH_CMD = .POINTR ((.COMND_DATA), SWT_CMD),
; 6274 4 SWITCH_VAL = .POINTR ((.COMND_DATA), SWT_VAL);
; 6275 4
; 6276 4 FUNCTION = .COMND_USED;
; 6277 4
; 6278 4 CASE SWITCH_CMD FROM SWT_MIN TO SWT_MAX OF
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 30
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (5)
; 6279 4 SET
; 6280 4
; 6281 4 [SWT_FLAG_OFF] :
; 6282 4 FLAGS [SWITCH_VAL] = 0;
; 6283 4
; 6284 4 [SWT_FLAG_ON] :
; 6285 4 FLAGS [SWITCH_VAL] = 1;
; 6286 4
; 6287 4 [SWT_LIST] :
; 6288 5 BEGIN
; 6289 5 FLAGS [M_LIST] = 1;
; 6290 5
; 6291 5 FUNCTION = (IF .POINTR (COMND_FLAGS, CM_SWT) THEN LI2 ELSE FN4);
; 6292 5
; 6293 4 END;
; 6294 4
; 6295 4 [SWT_COMPRESS] :
; 6296 5 BEGIN
; 6297 5 FLAGS [M_COMPRESS] = 1;
; 6298 5 NUMEPT = -1;
; 6299 5 NUMMNT = -1;
; 6300 5 SIZFIL = -1;
; 6301 5 FUNCTION = (IF .POINTR (COMND_FLAGS, CM_SWT) THEN CO2 ELSE CO7);
; 6302 4 END;
; 6303 4
; 6304 4 [SWT_CREATE] :
; 6305 5 BEGIN
; 6306 5 FLAGS [M_CREATE] = 1;
; 6307 5 NUMEPT = 512;
; 6308 5 NUMMNT = 256;
; 6309 5 SIZFIL = 100;
; 6310 5 FUNCTION = (IF .POINTR (COMND_FLAGS, CM_SWT) THEN CR2 ELSE FN4);
; 6311 4 END;
; 6312 4
; 6313 4 [SWT_DE] :
; 6314 4
; 6315 4 IF NOT .POINTR (COMND_FLAGS, CM_SWT)
; 6316 4 THEN
; 6317 4 FUNCTION = FN4
; 6318 4 ELSE
; 6319 4
; 6320 4 IF .MODNUM LSS LBR_MAX_MODULE_DELETES
; 6321 4 THEN
; 6322 4 FUNCTION = DE2
; 6323 4 ELSE
; 6324 5 BEGIN
; 6325 5 REGISTERS (1);
; 6326 5 AC1 = CH$ASCIZ ('? too many modules', %CHAR (13, 10));
; 6327 5 JSYS (0, PSOUT, AC1);
; 6328 5 FUNCTION = FN1;
; 6329 4 END;
; 6330 4
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 31
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (5)
; 6331 4 [SWT_DG] :
; 6332 4
; 6333 4 IF NOT .POINTR (COMND_FLAGS, CM_SWT)
; 6334 4 THEN
; 6335 4 FUNCTION = FN4
; 6336 4 ELSE
; 6337 4
; 6338 4 IF .GBLNUM LSS LBR_MAX_GLOBAL_DELETES
; 6339 4 THEN
; 6340 4 FUNCTION = DG2
; 6341 4 ELSE
; 6342 5 BEGIN
; 6343 5 REGISTERS (1);
; 6344 5 AC1 = CH$ASCIZ ('? too many global symbols', %CHAR (13, 10));
; 6345 5 JSYS (0, PSOUT, AC1);
; 6346 5 FUNCTION = FN1;
; 6347 4 END;
; 6348 4
; 6349 4 TES;
; 6350 4
; 6351 3 END;
; 6352 3
; 6353 3 [LI2] :
; 6354 4 BEGIN
; 6355 4 CLOSE (LSTBLK);
; 6356 4
; 6357 4 IF NOT ALLOCATE_FILBLK (LSTBLK) THEN RETURN FALSE;
; 6358 4
; 6359 4 BLOCK [.LSTBLK, F_JFN] = .COMND_DATA;
; 6360 4 FUNCTION = FN4;
; 6361 3 END;
; 6362 3
; 6363 3 TES;
; 6364 3
; 6365 3 TES;
; 6366 3
; 6367 3 END
; 6368 2 WHILE .FUNCTION NEQ 0;
; 6369 2
; 6370 2 IF .LSTBLK NEQ 0
; 6371 2 THEN
; 6372 3 BEGIN
; 6373 3 REGISTERS (1, 2, 3);
; 6374 3 AC1 = .BLOCK [.LSTBLK, F_JFN];
; 6375 3 JSYS (0, DVCHR, AC1, AC2, AC3);
; 6376 3 SELECTONE .POINTR (AC2, DV_TYP) OF
; 6377 3 SET
; 6378 3 [$DVTTY, $DVPTY] : 0;
; 6379 3 [OTHERWISE] : FLAGS [M_WIDE] = 1;
; 6380 3 TES;
; 6381 2 END;
; 6382 2
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 32
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (5)
; 6383 2 .DUMP_FLAG
; 6384 1 END; !OF CMD
P.ACI: BYTE (7)"O","L","B",000,000 ; OLB 400321' 117 114 102 000 000
P.ACJ: BYTE (7)"L","S","T",000,000 ; LST 400322' 114 123 124 000 000
P.ACK: BYTE (7)"O","B","J",000,000 ; OBJ 400323' 117 102 112 000 000
P.ACL: BYTE (7)"R","U","N"," ",000 ; RUN 400324' 122 125 116 040 000
P.ACM: BYTE (7)"S","T","A","R","T" ; START 400325' 123 124 101 122 124
BYTE (7)" ",000,000,000,000 ; 400326' 040 000 000 000 000
P.ACN: BYTE (7)"/","E","X",015,012 ; /EX 400327' 057 105 130 015 012
BYTE (7)000,000,000,000,000 ; 400330' 000 000 000 000 000
P.ACO: BYTE (7)"?"," ","i","m","p" ; ? imp 400331' 077 040 151 155 160
BYTE (7)"r","o","p","e","r" ; roper 400332' 162 157 160 145 162
BYTE (7)" ","m","o","d","u" ; modu 400333' 040 155 157 144 165
BYTE (7)"l","e"," ","n","a" ; le na 400334' 154 145 040 156 141
BYTE (7)"m","e",015,012,000 ; me 400335' 155 145 015 012 000
P.ACP: BYTE (7)"?"," ","i","m","p" ; ? imp 400336' 077 040 151 155 160
BYTE (7)"r","o","p","e","r" ; roper 400337' 162 157 160 145 162
BYTE (7)" ","e","n","t","r" ; entr 400340' 040 145 156 164 162
BYTE (7)"y"," ","p","o","i" ; y poi 400341' 171 040 160 157 151
BYTE (7)"n","t"," ","n","a" ; nt na 400342' 156 164 040 156 141
BYTE (7)"m","e",015,012,000 ; me 400343' 155 145 015 012 000
P.ACQ: BYTE (7)"?"," ","t","o","o" ; ? too 400344' 077 040 164 157 157
BYTE (7)" ","m","a","n","y" ; many 400345' 040 155 141 156 171
BYTE (7)" ","m","o","d","u" ; modu 400346' 040 155 157 144 165
BYTE (7)"l","e","s",015,012 ; les 400347' 154 145 163 015 012
BYTE (7)000,000,000,000,000 ; 400350' 000 000 000 000 000
P.ACR: BYTE (7)"?"," ","t","o","o" ; ? too 400351' 077 040 164 157 157
BYTE (7)" ","m","a","n","y" ; many 400352' 040 155 141 156 171
BYTE (7)" ","g","l","o","b" ; glob 400353' 040 147 154 157 142
BYTE (7)"a","l"," ","s","y" ; al sy 400354' 141 154 040 163 171
BYTE (7)"m","b","o","l","s" ; mbols 400355' 155 142 157 154 163
BYTE (7)015,012,000,000,000 ; 400356' 015 012 000 000 000
LIB_FILE_TYPE= <POINT 7,P.ACI-1,34> ; 01 07 0 00 400320'
LST_FILE_TYPE= <POINT 7,P.ACJ-1,34> ; 01 07 0 00 400321'
OBJ_FILE_TYPE= <POINT 7,P.ACK-1,34> ; 01 07 0 00 400322'
CMD_PTR= <POINT 7,CMD_INPUT+1,6> ; 35 07 0 00 000011'
CMD:: PUSH SP,AC11 ; SP,AC11 400357' 261 17 0 00 000011 5863
PUSH SP,AC12 ; SP,AC12 400360' 261 17 0 00 000012
PUSH SP,AC13 ; SP,AC13 400361' 261 17 0 00 000013
PUSH SP,AC14 ; SP,AC14 400362' 261 17 0 00 000014
PUSH SP,AC16 ; SP,AC16 400363' 261 17 0 00 000016
ADJSP SP,2 ; SP,2 400364' 105 17 0 00 000002
SETZ AC1, ; AC1, 400365' 400 01 0 00 000000 5918
JSYS 500 ; 500 400366' 104 00 0 00 000500 5919
JRST L.8 ; L.8 400367' 254 00 0 00 400371'
SKIPA AC13,AC1 ; CMD_LEN,AC1 400370' 334 13 0 00 000001
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 33
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (5)
L.8: SETZ AC13, ; CMD_LEN, 400371' 400 13 0 00 000000
JUMPE AC13,L.14 ; CMD_LEN,L.14 400372' 322 13 0 00 400476' 5921
MOVE AC3,AC13 ; AC3,CMD_LEN 400373' 200 03 0 00 000013 5938
MOVE AC2,C.25 ; AC2,[POINT 7,CMD_INPUT+1,6] <29,7> 400374' 200 02 0 00 401335' 5939
MOVEI AC1,-1 ; AC1,-1 400375' 201 01 0 00 777777 5940
JSYS 52 ; 52 400376' 104 00 0 00 000052 5941
MOVE AC14,AC2 ; TEMP,AC2 400377' 200 14 0 00 000002 5942
MOVE AC2,C.25 ; PTR,[POINT 7,CMD_INPUT+1,6] <29,7> 400400' 200 02 0 00 401335' 5957
SETZ AC13, ; CMD_LEN, 400401' 400 13 0 00 000000 5958
L.9: MOVE AC3,AC2 ; AC3,PTR 400402' 200 03 0 00 000002 5960
ILDB AC1,AC3 ; CHR,AC3 400403' 134 01 0 00 000003
CAIGE AC1,40 ; CHR,40 400404' 305 01 0 00 000040
JRST L.11 ; L.11 400405' 254 00 0 00 400421'
CAIL AC1,141 ; CHR,141 400406' 301 01 0 00 000141 5963
CAILE AC1,172 ; CHR,172 400407' 303 01 0 00 000172
JRST L.10 ; L.10 400410' 254 00 0 00 400415'
MOVE AC4,AC1 ; AC4,CHR 400411' 200 04 0 00 000001
SUBI AC4,40 ; AC4,40 400412' 275 04 0 00 000040
MOVE AC3,AC2 ; AC3,PTR 400413' 200 03 0 00 000002
IDPB AC4,AC3 ; AC4,AC3 400414' 136 04 0 00 000003
L.10: MOVE AC3,AC2 ; AC3,PTR 400415' 200 03 0 00 000002 5965
IBP AC3 ; AC3 400416' 133 00 0 00 000003
MOVE AC2,AC3 ; PTR,AC3 400417' 200 02 0 00 000003
AOJA AC13,L.9 ; CMD_LEN,L.9 400420' 344 13 0 00 400402' 5960
L.11: PUSH SP,C.26 ; SP,[47] 400421' 261 17 0 00 401336' 5975
PUSH SP,C.25 ; SP,[POINT 7,CMD_INPUT+1,6] <29,7> 400422' 261 17 0 00 401335'
PUSH SP,C.27 ; SP,[40] 400423' 261 17 0 00 401337'
PUSHJ SP,CHFCH% ; SP,CHFCH% 400424' 260 17 0 00 000000*
MOVE AC14,AC1 ; TEMP,AC1 400425' 200 14 0 00 000001
ADJSP SP,-3 ; SP,-3 400426' 105 17 0 00 777775
JUMPE AC14,L.14 ; TEMP,L.14 400427' 322 14 0 00 400476'
PUSH SP,C.28 ; SP,[4] 400430' 261 17 0 00 401340' 5976
PUSH SP,AC14 ; SP,TEMP 400431' 261 17 0 00 000014
PUSH SP,C.27 ; SP,[40] 400432' 261 17 0 00 401337'
PUSHJ SP,CHFNC% ; SP,CHFNC% 400433' 260 17 0 00 000000*
MOVE AC14,AC1 ; TEMP,AC1 400434' 200 14 0 00 000001
ADJSP SP,-3 ; SP,-3 400435' 105 17 0 00 777775
JUMPE AC14,L.14 ; TEMP,L.14 400436' 322 14 0 00 400476'
MOVEI AC1,4 ; AC1,4 400437' 201 01 0 00 000004 5977
MOVE AC2,C.29 ; AC2,[POINT 7,P.ACL-1,34] <1,7> 400440' 200 02 0 00 401341'
MOVEI AC4,4 ; AC4,4 400441' 201 04 0 00 000004
MOVE AC5,C.25 ; AC5,[POINT 7,CMD_INPUT+1,6] <29,7> 400442' 200 05 0 00 401335'
EXTEND AC1,C.2 ; AC1,[CMPSE ] 400443' 123 01 0 00 401306'
JRST L.12 ; L.12 400444' 254 00 0 00 400446'
JRST L.14 ; L.14 400445' 254 00 0 00 400476'
L.12: MOVEI AC1,6 ; AC1,6 400446' 201 01 0 00 000006 5978
MOVE AC2,C.30 ; AC2,[POINT 7,P.ACM-1,34] <1,7> 400447' 200 02 0 00 401342'
MOVEI AC4,6 ; AC4,6 400450' 201 04 0 00 000006
MOVE AC5,C.25 ; AC5,[POINT 7,CMD_INPUT+1,6] <29,7> 400451' 200 05 0 00 401335'
EXTEND AC1,C.2 ; AC1,[CMPSE ] 400452' 123 01 0 00 401306'
JRST L.13 ; L.13 400453' 254 00 0 00 400455'
JRST L.14 ; L.14 400454' 254 00 0 00 400476'
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 34
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (5)
L.13: MOVE AC5,AC13 ; AC5,CMD_LEN 400455' 200 05 0 00 000013 5986
ADJBP AC5,C.25 ; AC5,[POINT 7,CMD_INPUT+1,6] <29,7> 400456' 133 05 0 00 401335'
MOVEI AC1,6 ; AC1,6 400457' 201 01 0 00 000006
MOVE AC2,C.31 ; AC2,[POINT 7,P.ACN-1,34] <1,7> 400460' 200 02 0 00 401343'
MOVEI AC4,6 ; AC4,6 400461' 201 04 0 00 000006
EXTEND AC1,C.3 ; AC1,[MOVSLJ ] 400462' 123 01 0 00 401307'
JFCL ; 400463' 255 00 0 00 000000
HRROI AC1,377777 ; AC1,377777 400464' 561 01 0 00 377777 5993
MOVEM AC1,CMD_STATE_BLK+1 ; AC1,CMD_STATE_BLK+1 400465' 202 01 0 00 000063'
MOVE AC1,AC14 ; AC1,TEMP 400466' 200 01 0 00 000014 5996
JSYS 500 ; 500 400467' 104 00 0 00 000500 5997
JFCL ; 400470' 255 00 0 00 000000
SETZ AC1, ; AC1, 400471' 400 01 0 00 000000 5998
JSYS 500 ; 500 400472' 104 00 0 00 000500 5999
TDZA AC2,AC2 ; AC2,AC2 400473' 634 02 0 00 000002
MOVEI AC2,1 ; AC2,1 400474' 201 02 0 00 000001
SKIPA AC1,AC2 ; AC1,AC2 400475' 334 01 0 00 000002 5975
L.14: SETZ AC1, ; AC1, 400476' 400 01 0 00 000000 5910
MOVEM AC1,RSCAN_FLAG ; AC1,RSCAN_FLAG 400477' 202 01 0 00 000135' 5909
MOVEI AC1,FN1 ; AC1,FN1 400500' 201 01 0 00 000136' 6015
MOVEM AC1,FUNCTION ; AC1,FUNCTION 400501' 202 01 0 00 000133'
MOVE AC11,FUNCTION ; AC11,FUNCTION 400502' 200 11 0 00 000133' 6048
L.15: HRRZ AC1,FUNCTION ; AC1,FUNCTION 400503' 550 01 0 00 000133' 6020
CAIE AC1,FN2 ; AC1,FN2 400504' 302 01 0 00 000142' 6023
CAIN AC1,CO7 ; AC1,CO7 400505' 306 01 0 00 000222'
JRST L.16 ; L.16 400506' 254 00 0 00 400510'
JRST L.17 ; L.17 400507' 254 00 0 00 400514'
L.16: SETZM CMD_JFN ; CMD_JFN 400510' 402 00 0 00 000044' 6025
SETZM CMD_JFN+4 ; CMD_JFN+4 400511' 402 00 0 00 000050' 6026
MOVE AC2,C.32 ; AC2,[POINT 7,P.ACI-1,34] <1,7> 400512' 200 02 0 00 401344' 6027
MOVEM AC2,CMD_JFN+5 ; AC2,CMD_JFN+5 400513' 202 02 0 00 000051'
L.17: CAIE AC1,LI2 ; AC1,LI2 400514' 302 01 0 00 000172' 6030
JRST L.18 ; L.18 400515' 254 00 0 00 400524'
MOVSI AC2,400000 ; AC2,400000 400516' 205 02 0 00 400000 6032
MOVEM AC2,CMD_JFN ; AC2,CMD_JFN 400517' 202 02 0 00 000044'
MOVE AC2,C.33 ; AC2,[POINT 7,DEF_LST_NAME-1,34] <1,7>400520' 200 02 0 00 401345' 6033
MOVEM AC2,CMD_JFN+4 ; AC2,CMD_JFN+4 400521' 202 02 0 00 000050'
MOVE AC2,C.34 ; AC2,[POINT 7,P.ACJ-1,34] <1,7> 400522' 200 02 0 00 401346' 6034
MOVEM AC2,CMD_JFN+5 ; AC2,CMD_JFN+5 400523' 202 02 0 00 000051'
L.18: CAIE AC1,FN4 ; AC1,FN4 400524' 302 01 0 00 000152' 6037
CAIN AC1,FI2 ; AC1,FI2 400525' 306 01 0 00 000156'
JRST L.19 ; L.19 400526' 254 00 0 00 400530'
JRST L.20 ; L.20 400527' 254 00 0 00 400535'
L.19: MOVSI AC1,100000 ; AC1,100000 400530' 205 01 0 00 100000 6039
MOVEM AC1,CMD_JFN ; AC1,CMD_JFN 400531' 202 01 0 00 000044'
SETZM CMD_JFN+4 ; CMD_JFN+4 400532' 402 00 0 00 000050' 6040
MOVE AC1,C.35 ; AC1,[POINT 7,P.ACK-1,34] <1,7> 400533' 200 01 0 00 401347' 6041
MOVEM AC1,CMD_JFN+5 ; AC1,CMD_JFN+5 400534' 202 01 0 00 000051'
L.20: MOVEI AC1,CMD_STATE_BLK ; AC1,CMD_STATE_BLK 400535' 201 01 0 00 000062' 6047
MOVE AC2,AC11 ; AC2,AC11 400536' 200 02 0 00 000011 6048
JSYS 544 ; 544 400537' 104 00 0 00 000544 6049
MOVE AC12,AC1 ; COMND_FLAGS,AC1 400540' 200 12 0 00 000001 6050
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 35
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (5)
MOVE AC13,AC2 ; COMND_DATA,AC2 400541' 200 13 0 00 000002 6051
MOVEI AC14,0(AC3) ; COMND_USED,0(AC3) 400542' 201 14 0 03 000000 6052
LDB AC1,C.4 ; AC1,[POINT 1,COMND_FLAGS,1] <34,1> 400543' 135 01 0 00 401310' 6058
CAIE AC1,1 ; AC1,1 400544' 302 01 0 00 000001
JRST L.24 ; L.24 400545' 254 00 0 00 400572'
LDB AC1,C.5 ; AC1,[POINT 9,FUNCTION,8] <27,9> 400546' 135 01 0 00 401311' 6060
MOVEI AC2,6 ; AC2,6 400547' 201 02 0 00 000006
CAME AC2,0(AC1) ; AC2,0(AC1) 400550' 312 02 0 01 000000
JRST L.23 ; L.23 400551' 254 00 0 00 400563'
MOVEI AC1,CMD_JFN ; BLK_PTR,CMD_JFN 400552' 201 01 0 00 000044' 6067
JRST L.22 ; L.22 400553' 254 00 0 00 400556'
L.21: SETZM 0(AC1) ; 0(BLK_PTR) 400554' 402 00 0 01 000000 6068
ADDI AC1,1 ; BLK_PTR,1 400555' 271 01 0 00 000001 6067
L.22: CAMG AC1,C.36 ; BLK_PTR,[CMD_JFN+16] 400556' 317 01 0 00 401350'
JRST L.21 ; L.21 400557' 254 00 0 00 400554'
MOVSI AC1,40 ; AC1,40 400560' 205 01 0 00 000040 6070
MOVEM AC1,CMD_JFN ; AC1,CMD_JFN 400561' 202 01 0 00 000044'
JRST L.75 ; L.75 400562' 254 00 0 00 401261' 6060
L.23: SETZ AC3, ; AC3, 400563' 400 03 0 00 000000 6075
HRLOI AC2,400000 ; AC2,400000 400564' 525 02 0 00 400000 6076
MOVEI AC1,101 ; AC1,101 400565' 201 01 0 00 000101 6077
JSYS 11 ; 11 400566' 104 00 0 00 000011 6078
JFCL ; 400567' 255 00 0 00 000000
JFCL ; 400570' 255 00 0 00 000000
JRST L.68 ; L.68 400571' 254 00 0 00 401235'
L.24: LDB AC1,C.6 ; AC1,[POINT 1,COMND_FLAGS,3] <32,1> 400572' 135 01 0 00 401312' 6082
CAIN AC1,1 ; AC1,1 400573' 306 01 0 00 000001
JRST L.49 ; L.49 400574' 254 00 0 00 401050'
CAIE AC14,CO2 ; COMND_USED,CO2 400575' 302 14 0 00 000176' 6090
JRST L.25 ; L.25 400576' 254 00 0 00 400603'
LDB AC1,C.7 ; AC1,[POINT 16,COMND_DATA,35] <0,16> 400577' 135 01 0 00 401313' 6092
MOVEM AC1,SIZFIL ; AC1,SIZFIL 400600' 202 01 0 00 000000*
MOVEI AC1,CO3 ; AC1,CO3 400601' 201 01 0 00 000202' 6093
JRST L.69 ; L.69 400602' 254 00 0 00 401236'
L.25: CAIE AC14,CO3 ; COMND_USED,CO3 400603' 302 14 0 00 000202' 6096
JRST L.26 ; L.26 400604' 254 00 0 00 400607'
MOVEI AC1,CO4 ; AC1,CO4 400605' 201 01 0 00 000206' 6097
JRST L.69 ; L.69 400606' 254 00 0 00 401236'
L.26: CAIE AC14,CO4 ; COMND_USED,CO4 400607' 302 14 0 00 000206' 6099
JRST L.27 ; L.27 400610' 254 00 0 00 400615'
LDB AC1,C.7 ; AC1,[POINT 16,COMND_DATA,35] <0,16> 400611' 135 01 0 00 401313' 6101
MOVEM AC1,NUMEPT ; AC1,NUMEPT 400612' 202 01 0 00 000000*
MOVEI AC1,CO5 ; AC1,CO5 400613' 201 01 0 00 000212' 6102
JRST L.69 ; L.69 400614' 254 00 0 00 401236'
L.27: CAIE AC14,CO5 ; COMND_USED,CO5 400615' 302 14 0 00 000212' 6105
JRST L.28 ; L.28 400616' 254 00 0 00 400621'
MOVEI AC1,CO6 ; AC1,CO6 400617' 201 01 0 00 000216' 6106
JRST L.69 ; L.69 400620' 254 00 0 00 401236'
L.28: CAIE AC14,CO6 ; COMND_USED,CO6 400621' 302 14 0 00 000216' 6108
JRST L.29 ; L.29 400622' 254 00 0 00 400626'
LDB AC1,C.7 ; AC1,[POINT 16,COMND_DATA,35] <0,16> 400623' 135 01 0 00 401313' 6110
MOVEM AC1,NUMMNT ; AC1,NUMMNT 400624' 202 01 0 00 000000*
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 36
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (5)
JRST L.59 ; L.59 400625' 254 00 0 00 401173'
L.29: CAIN AC14,CO7 ; COMND_USED,CO7 400626' 306 14 0 00 000222' 6114
JRST L.75 ; L.75 400627' 254 00 0 00 401261' 6087
CAIE AC14,CR2 ; COMND_USED,CR2 400630' 302 14 0 00 000226' 6117
JRST L.30 ; L.30 400631' 254 00 0 00 400636'
LDB AC1,C.7 ; AC1,[POINT 16,COMND_DATA,35] <0,16> 400632' 135 01 0 00 401313' 6119
MOVEM AC1,SIZFIL ; AC1,SIZFIL 400633' 202 01 0 00 000000*
MOVEI AC1,CR3 ; AC1,CR3 400634' 201 01 0 00 000232' 6120
JRST L.69 ; L.69 400635' 254 00 0 00 401236'
L.30: CAIE AC14,CR3 ; COMND_USED,CR3 400636' 302 14 0 00 000232' 6123
JRST L.31 ; L.31 400637' 254 00 0 00 400642'
MOVEI AC1,CR4 ; AC1,CR4 400640' 201 01 0 00 000236' 6124
JRST L.69 ; L.69 400641' 254 00 0 00 401236'
L.31: CAIE AC14,CR4 ; COMND_USED,CR4 400642' 302 14 0 00 000236' 6126
JRST L.32 ; L.32 400643' 254 00 0 00 400650'
LDB AC1,C.7 ; AC1,[POINT 16,COMND_DATA,35] <0,16> 400644' 135 01 0 00 401313' 6128
MOVEM AC1,NUMEPT ; AC1,NUMEPT 400645' 202 01 0 00 000000*
MOVEI AC1,CR5 ; AC1,CR5 400646' 201 01 0 00 000242' 6129
JRST L.69 ; L.69 400647' 254 00 0 00 401236'
L.32: CAIE AC14,CR5 ; COMND_USED,CR5 400650' 302 14 0 00 000242' 6132
JRST L.33 ; L.33 400651' 254 00 0 00 400654'
MOVEI AC1,CR6 ; AC1,CR6 400652' 201 01 0 00 000246' 6133
JRST L.69 ; L.69 400653' 254 00 0 00 401236'
L.33: CAIE AC14,CR6 ; COMND_USED,CR6 400654' 302 14 0 00 000246' 6135
JRST L.34 ; L.34 400655' 254 00 0 00 400661'
LDB AC1,C.7 ; AC1,[POINT 16,COMND_DATA,35] <0,16> 400656' 135 01 0 00 401313' 6137
MOVEM AC1,NUMMNT ; AC1,NUMMNT 400657' 202 01 0 00 000000*
JRST L.64 ; L.64 400660' 254 00 0 00 401224'
L.34: CAIE AC14,DE2 ; COMND_USED,DE2 400661' 302 14 0 00 000252' 6141
JRST L.36 ; L.36 400662' 254 00 0 00 400714'
MOVEI AC1,FN4 ; AC1,FN4 400663' 201 01 0 00 000152' 6147
MOVEM AC1,FUNCTION ; AC1,FUNCTION 400664' 202 01 0 00 000133'
MOVE AC1,C.37 ; AC1,[POINT 7,CMD_ATOM-1,34] <1,7> 400665' 200 01 0 00 401351' 6148
MOVEM AC1,0(SP) ; AC1,PTR 400666' 202 01 0 17 000000
MOVE AC16,MODNUM ; AC16,MODNUM 400667' 200 16 0 00 000000* 6149
IMULI AC16,2 ; AC16,2 400670' 221 16 0 00 000002
MOVEI AC1,0(SP) ; AC1,PTR 400671' 201 01 0 17 000000
PUSH SP,AC1 ; SP,AC1 400672' 261 17 0 00 000001
PUSH SP,C.38 ; SP,[1] 400673' 261 17 0 00 401352'
PUSHJ SP,$CAT5 ; SP,$CAT5 400674' 260 17 0 00 000000*
DPB AC1,C.8 ; AC1,[POINT 16,MODNAM,35] <0,16> 400675' 137 01 0 00 401314'
MOVE AC16,MODNUM ; AC16,MODNUM 400676' 200 16 0 00 000000* 6150
IMULI AC16,2 ; AC16,2 400677' 221 16 0 00 000002
MOVEI AC1,-2(SP) ; AC1,PTR 400700' 201 01 0 17 777776
PUSH SP,AC1 ; SP,AC1 400701' 261 17 0 00 000001
PUSH SP,C.38 ; SP,[1] 400702' 261 17 0 00 401352'
PUSHJ SP,$CAT5 ; SP,$CAT5 400703' 260 17 0 00 000000*
DPB AC1,C.9 ; AC1,[POINT 16,MODNAM+1,35] <0,16> 400704' 137 01 0 00 401315'
MOVE AC1,-4(SP) ; AC1,PTR 400705' 200 01 0 17 777774 6152
ILDB AC1,AC1 ; AC1,AC1 400706' 134 01 0 00 000001
JUMPN AC1,L.35 ; AC1,L.35 400707' 326 01 0 00 400712'
AOS MODNUM ; MODNUM 400710' 350 00 0 00 000000* 6154
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 37
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (5)
JRST L.39 ; L.39 400711' 254 00 0 00 400751' 6152
L.35: MOVE AC1,C.39 ; AC1,[POINT 7,P.ACO-1,34] <1,7> 400712' 200 01 0 00 401353' 6158
JRST L.38 ; L.38 400713' 254 00 0 00 400746'
L.36: CAIE AC14,DG2 ; COMND_USED,DG2 400714' 302 14 0 00 000257' 6165
JRST L.40 ; L.40 400715' 254 00 0 00 400753'
MOVEI AC1,FN4 ; AC1,FN4 400716' 201 01 0 00 000152' 6171
MOVEM AC1,FUNCTION ; AC1,FUNCTION 400717' 202 01 0 00 000133'
MOVE AC1,C.37 ; AC1,[POINT 7,CMD_ATOM-1,34] <1,7> 400720' 200 01 0 00 401351' 6172
MOVEM AC1,-1(SP) ; AC1,PTR 400721' 202 01 0 17 777777
MOVE AC16,GBLNUM ; AC16,GBLNUM 400722' 200 16 0 00 000000* 6173
IMULI AC16,2 ; AC16,2 400723' 221 16 0 00 000002
MOVEI AC1,-1(SP) ; AC1,PTR 400724' 201 01 0 17 777777
PUSH SP,AC1 ; SP,AC1 400725' 261 17 0 00 000001
PUSH SP,C.38 ; SP,[1] 400726' 261 17 0 00 401352'
PUSHJ SP,$CAT5 ; SP,$CAT5 400727' 260 17 0 00 000000*
DPB AC1,C.10 ; AC1,[POINT 16,GBLNAM,35] <0,16> 400730' 137 01 0 00 401316'
MOVE AC16,GBLNUM ; AC16,GBLNUM 400731' 200 16 0 00 000000* 6174
IMULI AC16,2 ; AC16,2 400732' 221 16 0 00 000002
MOVEI AC1,-3(SP) ; AC1,PTR 400733' 201 01 0 17 777775
PUSH SP,AC1 ; SP,AC1 400734' 261 17 0 00 000001
PUSH SP,C.38 ; SP,[1] 400735' 261 17 0 00 401352'
PUSHJ SP,$CAT5 ; SP,$CAT5 400736' 260 17 0 00 000000*
DPB AC1,C.11 ; AC1,[POINT 16,GBLNAM+1,35] <0,16> 400737' 137 01 0 00 401317'
MOVE AC1,-5(SP) ; AC1,PTR 400740' 200 01 0 17 777773 6176
ILDB AC1,AC1 ; AC1,AC1 400741' 134 01 0 00 000001
JUMPN AC1,L.37 ; AC1,L.37 400742' 326 01 0 00 400745'
AOS GBLNUM ; GBLNUM 400743' 350 00 0 00 000000* 6178
JRST L.39 ; L.39 400744' 254 00 0 00 400751' 6176
L.37: MOVE AC1,C.40 ; AC1,[POINT 7,P.ACP-1,34] <1,7> 400745' 200 01 0 00 401354' 6182
L.38: JSYS 76 ; 76 400746' 104 00 0 00 000076 6183
MOVEI AC1,FN1 ; AC1,FN1 400747' 201 01 0 00 000136' 6184
MOVEM AC1,FUNCTION ; AC1,FUNCTION 400750' 202 01 0 00 000133'
L.39: ADJSP SP,-4 ; SP,-4 400751' 105 17 0 00 777774 6166
JRST L.75 ; L.75 400752' 254 00 0 00 401261' 6087
L.40: CAIE AC14,EOL ; COMND_USED,EOL 400753' 302 14 0 00 000264' 6189
JRST L.41 ; L.41 400754' 254 00 0 00 400757'
SETZM FUNCTION ; FUNCTION 400755' 402 00 0 00 000133' 6190
JRST L.75 ; L.75 400756' 254 00 0 00 401261' 6087
L.41: CAIE AC14,FI2 ; COMND_USED,FI2 400757' 302 14 0 00 000156' 6192
JRST L.42 ; L.42 400760' 254 00 0 00 401011'
AOS AC1,OBJNUM ; AC1,OBJNUM 400761' 350 01 0 00 000000* 6195
ADDI AC1,OBJBLK ; AC1,OBJBLK 400762' 271 01 0 00 000000*
SUBI AC1,1 ; AC1,1 400763' 275 01 0 00 000001
PUSH SP,AC1 ; SP,AC1 400764' 261 17 0 00 000001
PUSHJ SP,CLOSE ; SP,CLOSE 400765' 260 17 0 00 400276'
MOVE AC1,OBJNUM ; AC1,OBJNUM 400766' 200 01 0 00 000000* 6197
ADDI AC1,OBJBLK ; AC1,OBJBLK 400767' 271 01 0 00 000000*
SUBI AC1,1 ; AC1,1 400770' 275 01 0 00 000001
PUSH SP,AC1 ; SP,AC1 400771' 261 17 0 00 000001
PUSHJ SP,ALLOCATE_FILBLK ; SP,ALLOCATE_FILBLK 400772' 260 17 0 00 400217'
ADJSP SP,-1 ; SP,-1 400773' 105 17 0 00 777777
TRNN AC1,1 ; AC1,1 400774' 606 01 0 00 000001
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 38
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (5)
JRST L.71 ; L.71 400775' 254 00 0 00 401251'
MOVE AC1,OBJNUM ; AC1,OBJNUM 400776' 200 01 0 00 000000* 6199
MOVE AC2,OBJBLK-1(AC1) ; AC2,OBJBLK-1(AC1) 400777' 200 02 0 01 777777*
HRRM AC13,0(AC2) ; COMND_DATA,0(AC2) 401000' 542 13 0 02 000000
LDB AC2,C.12 ; AC2,[POINT 1,FLAGS,21] <14,1> 401001' 135 02 0 00 401320' 6200
DPB AC2,C.13 ; AC2,[POINT 1,OBJFLG-1(AC1),32] <3,1> 401002' 137 02 0 00 401321'
LDB AC2,C.14 ; AC2,[POINT 1,FLAGS,23] <12,1> 401003' 135 02 0 00 401322' 6201
DPB AC2,C.15 ; AC2,[POINT 1,OBJFLG-1(AC1),34] <1,1> 401004' 137 02 0 00 401323'
LDB AC2,C.16 ; AC2,[POINT 1,FLAGS,24] <11,1> 401005' 135 02 0 00 401324' 6202
DPB AC2,C.17 ; AC2,[POINT 1,OBJFLG-1(AC1),35] <0,1> 401006' 137 02 0 00 401325'
MOVEI AC1,FI3 ; AC1,FI3 401007' 201 01 0 00 000162' 6203
JRST L.74 ; L.74 401010' 254 00 0 00 401257'
L.42: CAIE AC14,FI3 ; COMND_USED,FI3 401011' 302 14 0 00 000162' 6206
JRST L.47 ; L.47 401012' 254 00 0 00 401042'
LDB AC1,C.18 ; AC1,[POINT 6,0(COMND_DATA),23] <12,6>401013' 135 01 0 00 401326' 6210
LDB AC2,C.19 ; AC2,[POINT 12,0(COMND_DATA),35] <0,12>
; 401014' 135 02 0 00 401327' 6211
JRST L.43(AC1) ; L.43(AC1) 401015' 254 00 0 01 401016' 6213
L.43: JRST L.44 ; L.44 401016' 254 00 0 00 401025'
JRST L.45 ; L.45 401017' 254 00 0 00 401033'
JRST L.75 ; L.75 401020' 254 00 0 00 401261'
JRST L.75 ; L.75 401021' 254 00 0 00 401261'
JRST L.75 ; L.75 401022' 254 00 0 00 401261'
JRST L.75 ; L.75 401023' 254 00 0 00 401261'
JRST L.75 ; L.75 401024' 254 00 0 00 401261'
L.44: MOVE AC1,OBJNUM ; AC1,OBJNUM 401025' 200 01 0 00 000000* 6217
MOVE AC3,C.17 ; AC3,[POINT 1,OBJFLG-1(AC1),35] <0,1> 401026' 200 03 0 00 401325'
MOVE AC4,0(AC2) ; AC4,0(AC2) 401027' 200 04 0 02 000000
DPB AC4,C.20 ; AC4,[POINT 6,AC3,5] <30,6> 401030' 137 04 0 00 401330'
SETZ AC4, ; AC4, 401031' 400 04 0 00 000000
JRST L.46 ; L.46 401032' 254 00 0 00 401040'
L.45: MOVE AC1,OBJNUM ; AC1,OBJNUM 401033' 200 01 0 00 000000* 6220
MOVE AC3,C.17 ; AC3,[POINT 1,OBJFLG-1(AC1),35] <0,1> 401034' 200 03 0 00 401325'
MOVE AC4,0(AC2) ; AC4,0(AC2) 401035' 200 04 0 02 000000
DPB AC4,C.20 ; AC4,[POINT 6,AC3,5] <30,6> 401036' 137 04 0 00 401330'
MOVEI AC4,1 ; AC4,1 401037' 201 04 0 00 000001
L.46: DPB AC4,AC3 ; AC4,AC3 401040' 137 04 0 00 000003
JRST L.75 ; L.75 401041' 254 00 0 00 401261' 6213
L.47: CAIE AC14,FI4 ; COMND_USED,FI4 401042' 302 14 0 00 000166' 6229
JRST L.48 ; L.48 401043' 254 00 0 00 401046'
MOVEI AC1,FI2 ; AC1,FI2 401044' 201 01 0 00 000156' 6230
JRST L.69 ; L.69 401045' 254 00 0 00 401236'
L.48: CAIE AC14,FN1 ; COMND_USED,FN1 401046' 302 14 0 00 000136' 6232
JRST L.50 ; L.50 401047' 254 00 0 00 401052'
L.49: PUSHJ SP,INIT_PARSE ; SP,INIT_PARSE 401050' 260 17 0 00 000000V 6233
JRST L.75 ; L.75 401051' 254 00 0 00 401261' 6087
L.50: CAIE AC14,FN2 ; COMND_USED,FN2 401052' 302 14 0 00 000142' 6235
JRST L.51 ; L.51 401053' 254 00 0 00 401112'
PUSH SP,C.41 ; SP,[0,,LIBBLK] 401054' 261 17 0 00 401355' 6237
PUSHJ SP,CLOSE ; SP,CLOSE 401055' 260 17 0 00 400276'
PUSH SP,C.41 ; SP,[0,,LIBBLK] 401056' 261 17 0 00 401355' 6239
PUSHJ SP,ALLOCATE_FILBLK ; SP,ALLOCATE_FILBLK 401057' 260 17 0 00 400217'
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 39
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (5)
ADJSP SP,-1 ; SP,-1 401060' 105 17 0 00 777777
TRNN AC1,1 ; AC1,1 401061' 606 01 0 00 000001
JRST L.71 ; L.71 401062' 254 00 0 00 401251'
MOVE AC1,LIBBLK ; AC1,LIBBLK 401063' 200 01 0 00 000000* 6241
HRRM AC13,0(AC1) ; COMND_DATA,0(AC1) 401064' 542 13 0 01 000000
MOVSI AC3,100 ; AC3,100 401065' 205 03 0 00 000100 6244
HRRZ AC2,0(AC1) ; AC2,0(AC1) 401066' 550 02 0 01 000000 6245
MOVE AC1,C.37 ; AC1,[POINT 7,CMD_ATOM-1,34] <1,7> 401067' 200 01 0 00 401351' 6246
JSYS 30 ; 30 401070' 104 00 0 00 000030 6247
SETZ AC3, ; AC3, 401071' 400 03 0 00 000000 6248
MOVE AC5,LIBBLK ; AC5,LIBBLK 401072' 200 05 0 00 000000* 6249
HRRZ AC2,0(AC5) ; AC2,0(AC5) 401073' 550 02 0 05 000000
MOVE AC1,C.42 ; AC1,[POINT 7,DEF_LIB_FILE-1,34] <1,7>401074' 200 01 0 00 401356' 6250
JSYS 30 ; 30 401075' 104 00 0 00 000030 6251
SETZ AC2, ; AC2, 401076' 400 02 0 00 000000 6252
IDPB AC2,AC1 ; AC2,AC1 401077' 136 02 0 00 000001
MOVEI AC1,1 ; AC1,1 401100' 201 01 0 00 000001 6254
IORM AC1,MY_FLAGS ; AC1,MY_FLAGS 401101' 436 01 0 00 000134'
SKIPE DEF_LST_NAME ; DEF_LST_NAME 401102' 332 00 0 00 000104' 6256
JRST L.73 ; L.73 401103' 254 00 0 00 401256'
MOVSI AC3,1000 ; AC3,1000 401104' 205 03 0 00 001000 6260
MOVE AC1,LIBBLK ; AC1,LIBBLK 401105' 200 01 0 00 000000* 6261
HRRZ AC2,0(AC1) ; AC2,0(AC1) 401106' 550 02 0 01 000000
MOVE AC1,C.33 ; AC1,[POINT 7,DEF_LST_NAME-1,34] <1,7>401107' 200 01 0 00 401345' 6262
JSYS 30 ; 30 401110' 104 00 0 00 000030 6263
JRST L.73 ; L.73 401111' 254 00 0 00 401256' 5863
L.51: CAIE AC14,FN3 ; COMND_USED,FN3 401112' 302 14 0 00 000146' 6269
CAIN AC14,FN4 ; COMND_USED,FN4 401113' 306 14 0 00 000152'
JRST L.52 ; L.52 401114' 254 00 0 00 401116'
JRST L.70 ; L.70 401115' 254 00 0 00 401240'
L.52: LDB AC1,C.18 ; AC1,[POINT 6,0(COMND_DATA),23] <12,6>401116' 135 01 0 00 401326' 6273
LDB AC4,C.19 ; AC4,[POINT 12,0(COMND_DATA),35] <0,12>
; 401117' 135 04 0 00 401327' 6274
MOVEM AC14,FUNCTION ; COMND_USED,FUNCTION 401120' 202 14 0 00 000133' 6276
JRST L.53(AC1) ; L.53(AC1) 401121' 254 00 0 01 401122' 6278
L.53: JRST L.54 ; L.54 401122' 254 00 0 00 401131'
JRST L.55 ; L.55 401123' 254 00 0 00 401142'
JRST L.57 ; L.57 401124' 254 00 0 00 401154'
JRST L.60 ; L.60 401125' 254 00 0 00 401175'
JRST L.61 ; L.61 401126' 254 00 0 00 401211'
JRST L.63 ; L.63 401127' 254 00 0 00 401222'
JRST L.58 ; L.58 401130' 254 00 0 00 401162'
L.54: MOVE AC1,AC4 ; AC1,AC4 401131' 200 01 0 00 000004 6282
IDIVI AC1,44 ; AC1,44 401132' 231 01 0 00 000044
MOVE AC3,AC1 ; AC3,AC1 401133' 200 03 0 00 000001
MOVE AC1,AC4 ; AC1,AC4 401134' 200 01 0 00 000004
IDIVI AC1,44 ; AC1,44 401135' 231 01 0 00 000044
MOVE AC1,C.21 ; AC1,[POINT 1,FLAGS(AC3),35] <0,1> 401136' 200 01 0 00 401331'
DPB AC2,C.22 ; AC2,[POINT 6,AC1,5] <30,6> 401137' 137 02 0 00 401332'
SETZ AC4, ; AC4, 401140' 400 04 0 00 000000
JRST L.56 ; L.56 401141' 254 00 0 00 401152'
L.55: MOVE AC1,AC4 ; AC1,AC4 401142' 200 01 0 00 000004 6285
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 40
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (5)
IDIVI AC1,44 ; AC1,44 401143' 231 01 0 00 000044
MOVE AC3,AC1 ; AC3,AC1 401144' 200 03 0 00 000001
MOVE AC1,AC4 ; AC1,AC4 401145' 200 01 0 00 000004
IDIVI AC1,44 ; AC1,44 401146' 231 01 0 00 000044
MOVE AC1,C.21 ; AC1,[POINT 1,FLAGS(AC3),35] <0,1> 401147' 200 01 0 00 401331'
DPB AC2,C.22 ; AC2,[POINT 6,AC1,5] <30,6> 401150' 137 02 0 00 401332'
MOVEI AC4,1 ; AC4,1 401151' 201 04 0 00 000001
L.56: DPB AC4,AC1 ; AC4,AC1 401152' 137 04 0 00 000001
JRST L.75 ; L.75 401153' 254 00 0 00 401261' 6278
L.57: MOVEI AC1,100 ; AC1,100 401154' 201 01 0 00 000100 6289
IORM AC1,FLAGS ; AC1,FLAGS 401155' 436 01 0 00 000000*
TLNN AC12,20000 ; COMND_FLAGS,20000 401156' 607 12 0 00 020000 6291
JRST L.64 ; L.64 401157' 254 00 0 00 401224'
MOVEI AC1,LI2 ; AC1,LI2 401160' 201 01 0 00 000172'
JRST L.69 ; L.69 401161' 254 00 0 00 401236'
L.58: MOVEI AC1,2000 ; AC1,2000 401162' 201 01 0 00 002000 6297
IORM AC1,FLAGS ; AC1,FLAGS 401163' 436 01 0 00 000000*
SETOM NUMEPT ; NUMEPT 401164' 476 00 0 00 000000* 6298
SETOM NUMMNT ; NUMMNT 401165' 476 00 0 00 000000* 6299
SETOM SIZFIL ; SIZFIL 401166' 476 00 0 00 000000* 6300
TLNN AC12,20000 ; COMND_FLAGS,20000 401167' 607 12 0 00 020000 6301
JRST L.59 ; L.59 401170' 254 00 0 00 401173'
MOVEI AC1,CO2 ; AC1,CO2 401171' 201 01 0 00 000176'
JRST L.69 ; L.69 401172' 254 00 0 00 401236'
L.59: MOVEI AC1,CO7 ; AC1,CO7 401173' 201 01 0 00 000222'
JRST L.69 ; L.69 401174' 254 00 0 00 401236'
L.60: MOVEI AC1,1000 ; AC1,1000 401175' 201 01 0 00 001000 6306
IORM AC1,FLAGS ; AC1,FLAGS 401176' 436 01 0 00 000000*
MOVEI AC1,1000 ; AC1,1000 401177' 201 01 0 00 001000 6307
MOVEM AC1,NUMEPT ; AC1,NUMEPT 401200' 202 01 0 00 000000*
MOVEI AC1,400 ; AC1,400 401201' 201 01 0 00 000400 6308
MOVEM AC1,NUMMNT ; AC1,NUMMNT 401202' 202 01 0 00 000000*
MOVEI AC1,144 ; AC1,144 401203' 201 01 0 00 000144 6309
MOVEM AC1,SIZFIL ; AC1,SIZFIL 401204' 202 01 0 00 000000*
TLNN AC12,20000 ; COMND_FLAGS,20000 401205' 607 12 0 00 020000 6310
JRST L.64 ; L.64 401206' 254 00 0 00 401224'
MOVEI AC1,CR2 ; AC1,CR2 401207' 201 01 0 00 000226'
JRST L.69 ; L.69 401210' 254 00 0 00 401236'
L.61: TLNN AC12,20000 ; COMND_FLAGS,20000 401211' 607 12 0 00 020000 6315
JRST L.64 ; L.64 401212' 254 00 0 00 401224'
MOVEI AC1,17 ; AC1,17 401213' 201 01 0 00 000017 6320
CAMG AC1,MODNUM ; AC1,MODNUM 401214' 317 01 0 00 000000*
JRST L.62 ; L.62 401215' 254 00 0 00 401220'
MOVEI AC1,DE2 ; AC1,DE2 401216' 201 01 0 00 000252' 6322
JRST L.69 ; L.69 401217' 254 00 0 00 401236'
L.62: MOVE AC1,C.43 ; AC1,[POINT 7,P.ACQ-1,34] <1,7> 401220' 200 01 0 00 401357' 6326
JRST L.67 ; L.67 401221' 254 00 0 00 401234'
L.63: TLNE AC12,20000 ; COMND_FLAGS,20000 401222' 603 12 0 00 020000 6333
JRST L.65 ; L.65 401223' 254 00 0 00 401226'
L.64: MOVEI AC1,FN4 ; AC1,FN4 401224' 201 01 0 00 000152' 6335
JRST L.69 ; L.69 401225' 254 00 0 00 401236'
L.65: MOVEI AC1,17 ; AC1,17 401226' 201 01 0 00 000017 6338
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 41
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (5)
CAMG AC1,GBLNUM ; AC1,GBLNUM 401227' 317 01 0 00 000000*
JRST L.66 ; L.66 401230' 254 00 0 00 401233'
MOVEI AC1,DG2 ; AC1,DG2 401231' 201 01 0 00 000257' 6340
JRST L.69 ; L.69 401232' 254 00 0 00 401236'
L.66: MOVE AC1,C.44 ; AC1,[POINT 7,P.ACR-1,34] <1,7> 401233' 200 01 0 00 401360' 6344
L.67: JSYS 76 ; 76 401234' 104 00 0 00 000076 6345
L.68: MOVEI AC1,FN1 ; AC1,FN1 401235' 201 01 0 00 000136' 6346
L.69: MOVEM AC1,FUNCTION ; AC1,FUNCTION 401236' 202 01 0 00 000133'
JRST L.75 ; L.75 401237' 254 00 0 00 401261' 6087
L.70: CAIE AC14,LI2 ; COMND_USED,LI2 401240' 302 14 0 00 000172' 6353
JRST L.75 ; L.75 401241' 254 00 0 00 401261'
PUSH SP,C.45 ; SP,[0,,LSTBLK] 401242' 261 17 0 00 401361' 6355
PUSHJ SP,CLOSE ; SP,CLOSE 401243' 260 17 0 00 400276'
PUSH SP,C.45 ; SP,[0,,LSTBLK] 401244' 261 17 0 00 401361' 6357
PUSHJ SP,ALLOCATE_FILBLK ; SP,ALLOCATE_FILBLK 401245' 260 17 0 00 400217'
ADJSP SP,-1 ; SP,-1 401246' 105 17 0 00 777777
TRNE AC1,1 ; AC1,1 401247' 602 01 0 00 000001
JRST L.72 ; L.72 401250' 254 00 0 00 401254'
L.71: ADJSP SP,-1 ; SP,-1 401251' 105 17 0 00 777777
SETZ AC1, ; AC1, 401252' 400 01 0 00 000000
JRST L.78 ; L.78 401253' 254 00 0 00 401277'
L.72: MOVE AC1,LSTBLK ; AC1,LSTBLK 401254' 200 01 0 00 000000* 6359
HRRM AC13,0(AC1) ; COMND_DATA,0(AC1) 401255' 542 13 0 01 000000
L.73: MOVEI AC1,FN4 ; AC1,FN4 401256' 201 01 0 00 000152' 6360
L.74: MOVEM AC1,FUNCTION ; AC1,FUNCTION 401257' 202 01 0 00 000133'
ADJSP SP,-1 ; SP,-1 401260' 105 17 0 00 777777 6354
L.75: MOVE AC11,FUNCTION ; AC11,FUNCTION 401261' 200 11 0 00 000133' 6368
JUMPN AC11,L.15 ; AC11,L.15 401262' 326 11 0 00 400503'
MOVE AC1,LSTBLK ; AC1,LSTBLK 401263' 200 01 0 00 000000* 6370
JUMPE AC1,L.77 ; AC1,L.77 401264' 322 01 0 00 401276'
HRRZ AC1,0(AC1) ; AC1,0(AC1) 401265' 550 01 0 01 000000 6374
JSYS 117 ; 117 401266' 104 00 0 00 000117 6375
LDB AC1,C.23 ; AC1,[POINT 9,AC2,17] <18,9> 401267' 135 01 0 00 401333' 6376
CAIGE AC1,12 ; AC1,12 401270' 305 01 0 00 000012 6378
JRST L.76 ; L.76 401271' 254 00 0 00 401274'
CAIG AC1,13 ; AC1,13 401272' 307 01 0 00 000013
JRST L.77 ; L.77 401273' 254 00 0 00 401276' 6376
L.76: MOVEI AC1,20 ; AC1,20 401274' 201 01 0 00 000020 6379
IORM AC1,FLAGS ; AC1,FLAGS 401275' 436 01 0 00 000000*
L.77: LDB AC1,C.24 ; AC1,[POINT 1,MY_FLAGS,35] <0,1> 401276' 135 01 0 00 401334' 5863
L.78: ADJSP SP,-2 ; SP,-2 401277' 105 17 0 00 777776
POP SP,AC16 ; SP,AC16 401300' 262 17 0 00 000016
POP SP,AC14 ; SP,AC14 401301' 262 17 0 00 000014
POP SP,AC13 ; SP,AC13 401302' 262 17 0 00 000013
POP SP,AC12 ; SP,AC12 401303' 262 17 0 00 000012
POP SP,AC11 ; SP,AC11 401304' 262 17 0 00 000011
POPJ SP, ; SP, 401305' 263 17 0 00 000000
C.2: CMPSE ; 401306' 002 00 0 00 000000
C.3: MOVSLJ ; 401307' 016 00 0 00 000000
C.4: POINT 1,AC12,1 ; 1,COMND_FLAGS,1 401310' 42 01 0 00 000012
C.5: POINT 9,FUNCTION,8 ; 9,FUNCTION,8 401311' 33 11 0 00 000133'
C.6: POINT 1,AC12,3 ; 1,COMND_FLAGS,3 401312' 40 01 0 00 000012
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 42
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (5)
C.7: POINT 16,AC13,35 ; 16,COMND_DATA,35 401313' 00 20 0 00 000013
C.8: POINT 16,MODNAM(AC16),35 ; 16,MODNAM,35 401314' 00 20 0 16 000000*
C.9: POINT 16,MODNAM+1(AC16),35 ; 16,MODNAM+1,35 401315' 00 20 0 16 000001*
C.10: POINT 16,GBLNAM(AC16),35 ; 16,GBLNAM,35 401316' 00 20 0 16 000000*
C.11: POINT 16,GBLNAM+1(AC16),35 ; 16,GBLNAM+1,35 401317' 00 20 0 16 000001*
C.12: POINT 1,FLAGS,21 ; 1,FLAGS,21 401320' 16 01 0 00 000000*
C.13: POINT 1,OBJFLG-1(AC1),32 ; 1,OBJFLG-1(AC1),32 401321' 03 01 0 01 777777*
C.14: POINT 1,FLAGS,23 ; 1,FLAGS,23 401322' 14 01 0 00 000000*
C.15: POINT 1,OBJFLG-1(AC1),34 ; 1,OBJFLG-1(AC1),34 401323' 01 01 0 01 777777*
C.16: POINT 1,FLAGS,24 ; 1,FLAGS,24 401324' 13 01 0 00 000000*
C.17: POINT 1,OBJFLG-1(AC1),35 ; 1,OBJFLG-1(AC1),35 401325' 00 01 0 01 777777*
C.18: POINT 6,0(AC13),23 ; 6,0(COMND_DATA),23 401326' 14 06 0 13 000000
C.19: POINT 12,0(AC13),35 ; 12,0(COMND_DATA),35 401327' 00 14 0 13 000000
C.20: POINT 6,AC3,5 ; 6,AC3,5 401330' 36 06 0 00 000003
C.21: POINT 1,FLAGS(AC3),35 ; 1,FLAGS(AC3),35 401331' 00 01 0 03 000000*
C.22: POINT 6,AC1,5 ; 6,AC1,5 401332' 36 06 0 00 000001
C.23: POINT 9,AC2,17 ; 9,AC2,17 401333' 22 11 0 00 000002
C.24: POINT 1,MY_FLAGS,35 ; 1,MY_FLAGS,35 401334' 00 01 0 00 000134'
C.25: POINT 7,CMD_INPUT+1,6 ; 7,CMD_INPUT+1,6 401335' 35 07 0 00 000011'
C.26: EXP 47 ; 47 401336' 000000 000047
C.27: EXP 40 ; 40 401337' 000000 000040
C.28: EXP 4 ; 4 401340' 000000 000004
C.29: POINT 7,P.ACL-1,34 ; 7,P.ACL-1,34 401341' 01 07 0 00 400323'
C.30: POINT 7,P.ACM-1,34 ; 7,P.ACM-1,34 401342' 01 07 0 00 400324'
C.31: POINT 7,P.ACN-1,34 ; 7,P.ACN-1,34 401343' 01 07 0 00 400326'
C.32: POINT 7,P.ACI-1,34 ; 7,P.ACI-1,34 401344' 01 07 0 00 400320'
C.33: POINT 7,DEF_LST_NAME-1,34 ; 7,DEF_LST_NAME-1,34 401345' 01 07 0 00 000103'
C.34: POINT 7,P.ACJ-1,34 ; 7,P.ACJ-1,34 401346' 01 07 0 00 400321'
C.35: POINT 7,P.ACK-1,34 ; 7,P.ACK-1,34 401347' 01 07 0 00 400322'
C.36: EXP CMD_JFN+16 ; CMD_JFN+16 401350' 000000 000000#
C.37: POINT 7,CMD_ATOM-1,34 ; 7,CMD_ATOM-1,34 401351' 01 07 0 00 777777'
C.38: EXP 1 ; 1 401352' 000000 000001
C.39: POINT 7,P.ACO-1,34 ; 7,P.ACO-1,34 401353' 01 07 0 00 400330'
C.40: POINT 7,P.ACP-1,34 ; 7,P.ACP-1,34 401354' 01 07 0 00 400335'
C.41: XWD 0,LIBBLK ; 0,LIBBLK 401355' 000000 000000*
C.42: POINT 7,DEF_LIB_FILE-1,34 ; 7,DEF_LIB_FILE-1,34 401356' 01 07 0 00 000073'
C.43: POINT 7,P.ACQ-1,34 ; 7,P.ACQ-1,34 401357' 01 07 0 00 400343'
C.44: POINT 7,P.ACR-1,34 ; 7,P.ACR-1,34 401360' 01 07 0 00 400350'
C.45: XWD 0,LSTBLK ; 0,LSTBLK 401361' 000000 000000*
; Routine Size: 515 words
; 6385 1
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 43
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (6)
; 6386 1 GLOBAL ROUTINE FILDT (BUF_PTR_ADR, PAT_PTR_ADR, PRM_LST_ADR_ADR) =
; 6387 1
; 6388 1 !++
; 6389 1 ! FUNCTIONAL DESCRIPTION:
; 6390 1 !
; 6391 1 !
; 6392 1 ! FORMAL PARAMETERS:
; 6393 1 !
; 6394 1 ! NONE
; 6395 1 !
; 6396 1 ! IMPLICIT INPUTS:
; 6397 1 !
; 6398 1 ! NONE
; 6399 1 !
; 6400 1 ! IMPLICIT OUTPUTS:
; 6401 1 !
; 6402 1 ! NONE
; 6403 1 !
; 6404 1 ! ROUTINE VALUE:
; 6405 1 !
; 6406 1 ! NONE
; 6407 1 !
; 6408 1 ! SIDE EFFECTS:
; 6409 1 !
; 6410 1 ! NONE
; 6411 1 !
; 6412 1 !--
; 6413 1
; 6414 2 BEGIN
; 6415 2 REGISTERS (1, 2, 3, 4);
; 6416 2
; 6417 2 LOCAL
; 6418 2 BUF_PTR_INI,
; 6419 2 FILPTR,
; 6420 2 PRM_LIST : REF VECTOR;
; 6421 2
; 6422 2 PRM_LIST = ..PRM_LST_ADR_ADR;
; 6423 2 FILPTR = .PRM_LIST [0];
; 6424 2 .PRM_LST_ADR_ADR = PRM_LIST [1];
; 6425 2 AC1 = (BUF_PTR_INI = ..BUF_PTR_ADR);
; 6426 2 AC2 = .BLOCK [..FILPTR, F_JFN];
; 6427 2 AC3 = FLD ($JSAOF, JS_CDR);
; 6428 2 AC4 = 0;
; 6429 2 JSYS (0, JFNS, AC1, AC2, AC3, AC4);
; 6430 2 .BUF_PTR_ADR = .AC1;
; 6431 2 CH$DIFF (..BUF_PTR_ADR, .BUF_PTR_INI)
; 6432 1 END; !End of FILDT
FILDT:: MOVE AC1,-1(SP) ; AC1,PRM_LST_ADR_ADR 401362' 200 01 0 17 777777 6422
MOVE AC2,0(AC1) ; PRM_LIST,0(AC1) 401363' 200 02 0 01 000000
MOVE AC3,0(AC2) ; FILPTR,0(PRM_LIST) 401364' 200 03 0 02 000000 6423
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 44
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (6)
ADDI AC2,1 ; PRM_LIST,1 401365' 271 02 0 00 000001 6424
MOVEM AC2,0(AC1) ; PRM_LIST,0(AC1) 401366' 202 02 0 01 000000
MOVE AC1,-3(SP) ; AC1,BUF_PTR_ADR 401367' 200 01 0 17 777775 6425
MOVE AC5,0(AC1) ; BUF_PTR_INI,0(AC1) 401370' 200 05 0 01 000000
MOVE AC1,AC5 ; AC1,BUF_PTR_INI 401371' 200 01 0 00 000005
MOVE AC2,0(AC3) ; AC2,0(FILPTR) 401372' 200 02 0 03 000000 6426
HRRZ AC2,0(AC2) ; AC2,0(AC2) 401373' 550 02 0 02 000000
MOVEI AC3,10000 ; AC3,10000 401374' 201 03 0 00 010000 6427
SETZ AC4, ; AC4, 401375' 400 04 0 00 000000 6428
JSYS 30 ; 30 401376' 104 00 0 00 000030 6429
MOVE AC2,-3(SP) ; AC2,BUF_PTR_ADR 401377' 200 02 0 17 777775 6430
MOVEM AC1,0(AC2) ; AC1,0(AC2) 401400' 202 01 0 02 000000
PUSH SP,0(AC2) ; SP,0(AC2) 401401' 261 17 0 02 000000 6431
PUSH SP,AC5 ; SP,BUF_PTR_INI 401402' 261 17 0 00 000005
PUSHJ SP,CHDIF% ; SP,CHDIF% 401403' 260 17 0 00 000000*
ADJSP SP,-2 ; SP,-2 401404' 105 17 0 00 777776
POPJ SP, ; SP, 401405' 263 17 0 00 000000 6386
; Routine Size: 20 words
; 6433 1
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 45
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (7)
; 6434 1 GLOBAL ROUTINE FILNM (BUF_PTR_ADR, PAT_PTR_ADR, PRM_LST_ADR_ADR) =
; 6435 1
; 6436 1 !++
; 6437 1 ! FUNCTIONAL DESCRIPTION:
; 6438 1 !
; 6439 1 !
; 6440 1 ! FORMAL PARAMETERS:
; 6441 1 !
; 6442 1 ! NONE
; 6443 1 !
; 6444 1 ! IMPLICIT INPUTS:
; 6445 1 !
; 6446 1 ! NONE
; 6447 1 !
; 6448 1 ! IMPLICIT OUTPUTS:
; 6449 1 !
; 6450 1 ! NONE
; 6451 1 !
; 6452 1 ! ROUTINE VALUE:
; 6453 1 !
; 6454 1 ! NONE
; 6455 1 !
; 6456 1 ! SIDE EFFECTS:
; 6457 1 !
; 6458 1 ! NONE
; 6459 1 !
; 6460 1 !--
; 6461 1
; 6462 2 BEGIN
; 6463 2 REGISTERS (1, 2, 3, 4);
; 6464 2
; 6465 2 LOCAL
; 6466 2 BUF_PTR_INI,
; 6467 2 FILPTR,
; 6468 2 PRM_LIST : REF VECTOR;
; 6469 2
; 6470 2 PRM_LIST = ..PRM_LST_ADR_ADR;
; 6471 2 FILPTR = .PRM_LIST [0];
; 6472 2 .PRM_LST_ADR_ADR = PRM_LIST [1];
; 6473 2 AC1 = (BUF_PTR_INI = ..BUF_PTR_ADR);
; 6474 2 AC2 = .BLOCK [..FILPTR, F_JFN];
; P 6475 2 AC3 = FLD ($JSAOF, JS_DEV) + FLD ($JSAOF, JS_DIR) + FLD ($JSAOF, JS_NAM) + FLD ($JSAOF, JS_TYP) + FLD (
; 6476 2 $JSAOF, JS_GEN) + JS_PAF;
; 6477 2 AC4 = 0;
; 6478 2 JSYS (0, JFNS, AC1, AC2, AC3, AC4);
; 6479 2 .BUF_PTR_ADR = .AC1;
; 6480 2 CH$DIFF (..BUF_PTR_ADR, .BUF_PTR_INI)
; 6481 1 END; !End of FILNM
FILNM:: MOVE AC1,-1(SP) ; AC1,PRM_LST_ADR_ADR 401406' 200 01 0 17 777777 6470
MOVE AC2,0(AC1) ; PRM_LIST,0(AC1) 401407' 200 02 0 01 000000
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 46
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (7)
MOVE AC3,0(AC2) ; FILPTR,0(PRM_LIST) 401410' 200 03 0 02 000000 6471
ADDI AC2,1 ; PRM_LIST,1 401411' 271 02 0 00 000001 6472
MOVEM AC2,0(AC1) ; PRM_LIST,0(AC1) 401412' 202 02 0 01 000000
MOVE AC1,-3(SP) ; AC1,BUF_PTR_ADR 401413' 200 01 0 17 777775 6473
MOVE AC5,0(AC1) ; BUF_PTR_INI,0(AC1) 401414' 200 05 0 01 000000
MOVE AC1,AC5 ; AC1,BUF_PTR_INI 401415' 200 01 0 00 000005
MOVE AC2,0(AC3) ; AC2,0(FILPTR) 401416' 200 02 0 03 000000 6474
HRRZ AC2,0(AC2) ; AC2,0(AC2) 401417' 550 02 0 02 000000
MOVE AC3,C.46 ; AC3,[111110000001] 401420' 200 03 0 00 401432' 6475
SETZ AC4, ; AC4, 401421' 400 04 0 00 000000 6477
JSYS 30 ; 30 401422' 104 00 0 00 000030 6478
MOVE AC2,-3(SP) ; AC2,BUF_PTR_ADR 401423' 200 02 0 17 777775 6479
MOVEM AC1,0(AC2) ; AC1,0(AC2) 401424' 202 01 0 02 000000
PUSH SP,0(AC2) ; SP,0(AC2) 401425' 261 17 0 02 000000 6480
PUSH SP,AC5 ; SP,BUF_PTR_INI 401426' 261 17 0 00 000005
PUSHJ SP,CHDIF% ; SP,CHDIF% 401427' 260 17 0 00 000000*
ADJSP SP,-2 ; SP,-2 401430' 105 17 0 00 777776
POPJ SP, ; SP, 401431' 263 17 0 00 000000 6434
C.46: EXP 111110000001 ; 111110000001 401432' 111110 000001
; Routine Size: 21 words
; 6482 1
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 47
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (8)
; 6483 1 GLOBAL ROUTINE FILPOS (FILPTR, FBLOCK_ADR, OFFSET_ADR) =
; 6484 1
; 6485 1 !++
; 6486 1 ! FUNCTIONAL DESCRIPTION:
; 6487 1 !
; 6488 1 !
; 6489 1 !
; 6490 1 !
; 6491 1 ! FORMAL PARAMETERS:
; 6492 1 !
; 6493 1 !
; 6494 1 ! IMPLICIT INPUTS:
; 6495 1 !
; 6496 1 ! NONE
; 6497 1 !
; 6498 1 ! IMPLICIT OUTPUTS:
; 6499 1 !
; 6500 1 ! NONE
; 6501 1 !
; 6502 1 ! ROUTINE VALUE:
; 6503 1 !
; 6504 1 ! NONE
; 6505 1 !
; 6506 1 ! SIDE EFFECTS
; 6507 1 !
; 6508 1 ! NONE
; 6509 1 !
; 6510 1 !--
; 6511 1
; 6512 2 BEGIN
; 6513 2
; 6514 2 LITERAL
; 6515 2 BLOCK_SIZE = 512;
; 6516 2
; 6517 2 LOCAL
; 6518 2 POSITION;
; 6519 2
; 6520 3 BEGIN
; 6521 3 REGISTERS (1, 2);
; 6522 3 AC1 = .BLOCK [..FILPTR, F_JFN];
; 6523 3
; 6524 3 IF JSYS (1, RFPTR, AC1, AC2) NEQ 1 THEN RETURN FALSE;
; 6525 3
; 6526 3 POSITION = .AC2;
; 6527 2 END;
; 6528 2 .FBLOCK_ADR = .POSITION^1/BLOCK_SIZE + 1;
; 6529 2 .OFFSET_ADR = .POSITION^1 MOD BLOCK_SIZE;
; 6530 2 TRUE
; 6531 1 END; !OF FILPOS
FILPOS::MOVE AC1,-3(SP) ; AC1,FILPTR 401433' 200 01 0 17 777775 6522
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 48
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (8)
MOVE AC1,0(AC1) ; AC1,0(AC1) 401434' 200 01 0 01 000000
HRRZ AC1,0(AC1) ; AC1,0(AC1) 401435' 550 01 0 01 000000
JSYS 43 ; 43 401436' 104 00 0 00 000043 6524
TDZA AC3,AC3 ; AC3,AC3 401437' 634 03 0 00 000003
MOVEI AC3,1 ; AC3,1 401440' 201 03 0 00 000001
CAIN AC3,1 ; AC3,1 401441' 306 03 0 00 000001
JRST L.79 ; L.79 401442' 254 00 0 00 401445'
SETZ AC1, ; AC1, 401443' 400 01 0 00 000000
POPJ SP, ; SP, 401444' 263 17 0 00 000000
L.79: MOVE AC1,AC2 ; POSITION,AC2 401445' 200 01 0 00 000002 6526
MOVE AC3,-2(SP) ; AC3,FBLOCK_ADR 401446' 200 03 0 17 777776 6528
MOVE AC4,AC1 ; AC4,POSITION 401447' 200 04 0 00 000001
LSH AC4,1 ; AC4,1 401450' 242 04 0 00 000001
MOVE AC1,AC4 ; AC1,AC4 401451' 200 01 0 00 000004
IDIVI AC1,1000 ; AC1,1000 401452' 231 01 0 00 001000
ADDI AC1,1 ; AC1,1 401453' 271 01 0 00 000001
MOVEM AC1,0(AC3) ; AC1,0(AC3) 401454' 202 01 0 03 000000
MOVE AC3,-1(SP) ; AC3,OFFSET_ADR 401455' 200 03 0 17 777777 6529
MOVE AC1,AC4 ; AC1,AC4 401456' 200 01 0 00 000004
IDIVI AC1,1000 ; AC1,1000 401457' 231 01 0 00 001000
MOVEM AC2,0(AC3) ; AC2,0(AC3) 401460' 202 02 0 03 000000
MOVEI AC1,1 ; AC1,1 401461' 201 01 0 00 000001 6483
POPJ SP, ; SP, 401462' 263 17 0 00 000000
; Routine Size: 24 words
; 6532 1
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 49
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (9)
; 6533 1 ROUTINE INIT_PARSE : NOVALUE =
; 6534 1
; 6535 1 !++
; 6536 1 ! FUNCTIONAL DESCRIPTION:
; 6537 1 !
; 6538 1 !
; 6539 1 ! FORMAL PARAMETERS:
; 6540 1 !
; 6541 1 ! NONE
; 6542 1 !
; 6543 1 ! IMPLICIT INPUTS:
; 6544 1 !
; 6545 1 ! NONE
; 6546 1 !
; 6547 1 ! IMPLICIT OUTPUTS:
; 6548 1 !
; 6549 1 ! NONE
; 6550 1 !
; 6551 1 ! ROUTINE VALUE:
; 6552 1 !
; 6553 1 ! NONE
; 6554 1 !
; 6555 1 ! SIDE EFFECTS:
; 6556 1 !
; 6557 1 ! NONE
; 6558 1 !
; 6559 1 !--
; 6560 1
; 6561 2 BEGIN
; 6562 2 OBJNUM = 0;
; 6563 2 MODNUM = 0;
; 6564 2 GBLNUM = 0;
; 6565 2 DEF_LST_NAME = 0;
; 6566 2 FLAGS = 0;
; 6567 2 MY_FLAGS = 0;
; 6568 3 FUNCTION = (SELECTONE .RSCAN_FLAG OF
; 6569 3 SET
; 6570 3 [0] : FN2;
; 6571 3 [1] : (RSCAN_FLAG = 2; FN2);
; 6572 3 [2] : (FLAGS [M_EXIT] = 1; 0);
; 6573 2 TES);
; 6574 1 END; !End of INIT_PARSE
INIT_PARSE:
SETZM OBJNUM ; OBJNUM 401463' 402 00 0 00 000000* 6562
SETZM MODNUM ; MODNUM 401464' 402 00 0 00 000000* 6563
SETZM GBLNUM ; GBLNUM 401465' 402 00 0 00 000000* 6564
SETZM DEF_LST_NAME ; DEF_LST_NAME 401466' 402 00 0 00 000104' 6565
SETZM FLAGS ; FLAGS 401467' 402 00 0 00 000000* 6566
SETZM MY_FLAGS ; MY_FLAGS 401470' 402 00 0 00 000134' 6567
MOVE AC1,RSCAN_FLAG ; AC1,RSCAN_FLAG 401471' 200 01 0 00 000135' 6568
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 50
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (9)
JUMPE AC1,L.80 ; AC1,L.80 401472' 322 01 0 00 401477' 6570
CAIE AC1,1 ; AC1,1 401473' 302 01 0 00 000001 6571
JRST L.81 ; L.81 401474' 254 00 0 00 401501'
MOVEI AC2,2 ; AC2,2 401475' 201 02 0 00 000002
MOVEM AC2,RSCAN_FLAG ; AC2,RSCAN_FLAG 401476' 202 02 0 00 000135'
L.80: MOVEI AC1,FN2 ; AC1,FN2 401477' 201 01 0 00 000142' 6568
JRST L.83 ; L.83 401500' 254 00 0 00 401507'
L.81: CAIE AC1,2 ; AC1,2 401501' 302 01 0 00 000002 6572
JRST L.82 ; L.82 401502' 254 00 0 00 401506'
MOVEI AC1,10 ; AC1,10 401503' 201 01 0 00 000010
IORM AC1,FLAGS ; AC1,FLAGS 401504' 436 01 0 00 000000*
TDZA AC1,AC1 ; AC1,AC1 401505' 634 01 0 00 000001 6568
L.82: SETO AC1, ; AC1, 401506' 474 01 0 00 000000
L.83: MOVEM AC1,FUNCTION ; AC1,FUNCTION 401507' 202 01 0 00 000133'
POPJ SP, ; SP, 401510' 263 17 0 00 000000 6533
; Routine Size: 22 words
; 6575 1
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 51
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (10)
; 6576 1 GLOBAL ROUTINE GETFIL (FILPTR, BUFFER_PTR, LENGTH) =
; 6577 1
; 6578 1 !++
; 6579 1 ! FUNCTIONAL DESCRIPTION:
; 6580 1 !
; 6581 1 !
; 6582 1 !
; 6583 1 !
; 6584 1 ! FORMAL PARAMETERS:
; 6585 1 !
; 6586 1 !
; 6587 1 ! IMPLICIT INPUTS:
; 6588 1 !
; 6589 1 ! NONE
; 6590 1 !
; 6591 1 ! IMPLICIT OUTPUTS:
; 6592 1 !
; 6593 1 ! NONE
; 6594 1 !
; 6595 1 ! ROUTINE VALUE:
; 6596 1 !
; 6597 1 ! NONE
; 6598 1 !
; 6599 1 ! SIDE EFFECTS
; 6600 1 !
; 6601 1 ! NONE
; 6602 1 !
; 6603 1 !--
; 6604 1
; 6605 2 BEGIN
; 6606 2 REGISTERS (1, 2, 3, 4);
; 6607 2 AC1 = .BLOCK [..FILPTR, F_JFN]; !Pick up the JFN
; 6608 2 AC2 = .BUFFER_PTR;
; 6609 2 AC3 = -.LENGTH;
; 6610 2 JSYS (0, SIN, AC1, AC2, AC3, AC4); !read in a 18 bit byte
; 6611 2 .LENGTH + .AC3 !and trim to 16 bits.
; 6612 1 END; !OF GETFIL
GETFIL::MOVE AC1,-3(SP) ; AC1,FILPTR 401511' 200 01 0 17 777775 6607
MOVE AC1,0(AC1) ; AC1,0(AC1) 401512' 200 01 0 01 000000
HRRZ AC1,0(AC1) ; AC1,0(AC1) 401513' 550 01 0 01 000000
MOVE AC2,-2(SP) ; AC2,BUFFER_PTR 401514' 200 02 0 17 777776 6608
MOVN AC3,-1(SP) ; AC3,LENGTH 401515' 210 03 0 17 777777 6609
JSYS 52 ; 52 401516' 104 00 0 00 000052 6610
MOVE AC1,-1(SP) ; AC1,LENGTH 401517' 200 01 0 17 777777 6611
ADD AC1,AC3 ; AC1,AC3 401520' 270 01 0 00 000003
POPJ SP, ; SP, 401521' 263 17 0 00 000000 6576
; Routine Size: 9 words
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 52
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (10)
; 6613 1
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 53
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (11)
; 6614 1 GLOBAL ROUTINE GETTIM (TIME_BLOCK) : NOVALUE =
; 6615 1
; 6616 1 !++
; 6617 1 ! FUNCTIONAL DESCRIPTION:
; 6618 1 !
; 6619 1 !
; 6620 1 ! FORMAL PARAMETERS:
; 6621 1 !
; 6622 1 ! .TIME_BLOCK !Address of 8 word block
; 6623 1 ! !to receive date and time.
; 6624 1 !
; 6625 1 ! IMPLICIT INPUTS:
; 6626 1 !
; 6627 1 ! NONE
; 6628 1 !
; 6629 1 ! IMPLICIT OUTPUTS:
; 6630 1 !
; 6631 1 ! NONE
; 6632 1 !
; 6633 1 ! ROUTINE VALUE:
; 6634 1 !
; 6635 1 ! NONE
; 6636 1 !
; 6637 1 ! SIDE EFFECTS:
; 6638 1 !
; 6639 1 ! NONE
; 6640 1 !
; 6641 1 !--
; 6642 1
; 6643 2 BEGIN
; 6644 2
; 6645 2 MAP
; 6646 2 TIME_BLOCK : REF VECTOR [8];
; 6647 2
; 6648 2 REGISTERS (1, 2, 3, 4);
; 6649 2 AC4 = IC_ADS;
; 6650 2 AC2 = -1;
; 6651 2 JSYS (0, ODCNV, AC1, AC2, AC3, AC4);
; 6652 2 TIME_BLOCK [0] = .AC2<18, 16> - 1900;
; 6653 2 TIME_BLOCK [1] = .AC2<0, 16> + 1;
; 6654 2 TIME_BLOCK [2] = .AC3<18, 16> + 1;
; 6655 2 TIME_BLOCK [3] = (.AC4<0, 18>/(60*60)) MOD 24;
; 6656 2 TIME_BLOCK [4] = (.AC4<0, 18>/60) MOD 60;
; 6657 2 TIME_BLOCK [5] = (.AC4<0, 18>) MOD 60;
; 6658 2 TIME_BLOCK [6] = 0;
; 6659 2 TIME_BLOCK [7] = 0;
; 6660 1 END; !End of GETTIM
GETTIM::MOVSI AC4,200000 ; AC4,200000 401522' 205 04 0 00 200000 6649
SETO AC2, ; AC2, 401523' 474 02 0 00 000000 6650
JSYS 222 ; 222 401524' 104 00 0 00 000222 6651
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 54
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (11)
MOVE AC5,-1(SP) ; AC5,TIME_BLOCK 401525' 200 05 0 17 777777 6652
LDB AC1,C.47 ; AC1,[POINT 16,AC2,17] <18,16> 401526' 135 01 0 00 401561'
SUBI AC1,3554 ; AC1,3554 401527' 275 01 0 00 003554
MOVEM AC1,0(AC5) ; AC1,0(AC5) 401530' 202 01 0 05 000000
LDB AC1,C.48 ; AC1,[POINT 16,AC2,35] <0,16> 401531' 135 01 0 00 401562' 6653
ADDI AC1,1 ; AC1,1 401532' 271 01 0 00 000001
MOVEM AC1,1(AC5) ; AC1,1(AC5) 401533' 202 01 0 05 000001
LDB AC1,C.49 ; AC1,[POINT 16,AC3,17] <18,16> 401534' 135 01 0 00 401563' 6654
ADDI AC1,1 ; AC1,1 401535' 271 01 0 00 000001
MOVEM AC1,2(AC5) ; AC1,2(AC5) 401536' 202 01 0 05 000002
MOVEI AC1,0(AC4) ; AC1,0(AC4) 401537' 201 01 0 04 000000 6655
IDIVI AC1,7020 ; AC1,7020 401540' 231 01 0 00 007020
MOVE AC3,AC1 ; AC3,AC1 401541' 200 03 0 00 000001
IDIVI AC1,30 ; AC1,30 401542' 231 01 0 00 000030
MOVE AC3,AC2 ; AC3,AC2 401543' 200 03 0 00 000002
MOVEM AC3,3(AC5) ; AC3,3(AC5) 401544' 202 03 0 05 000003
MOVEI AC1,0(AC4) ; AC1,0(AC4) 401545' 201 01 0 04 000000 6656
IDIVI AC1,74 ; AC1,74 401546' 231 01 0 00 000074
MOVE AC3,AC1 ; AC3,AC1 401547' 200 03 0 00 000001
IDIVI AC1,74 ; AC1,74 401550' 231 01 0 00 000074
MOVE AC3,AC2 ; AC3,AC2 401551' 200 03 0 00 000002
MOVEM AC3,4(AC5) ; AC3,4(AC5) 401552' 202 03 0 05 000004
MOVEI AC1,0(AC4) ; AC1,0(AC4) 401553' 201 01 0 04 000000 6657
IDIVI AC1,74 ; AC1,74 401554' 231 01 0 00 000074
MOVEM AC2,5(AC5) ; AC2,5(AC5) 401555' 202 02 0 05 000005
SETZM 6(AC5) ; 6(AC5) 401556' 402 00 0 05 000006 6658
SETZM 7(AC5) ; 7(AC5) 401557' 402 00 0 05 000007 6659
POPJ SP, ; SP, 401560' 263 17 0 00 000000 6614
C.47: POINT 16,AC2,17 ; 16,AC2,17 401561' 22 20 0 00 000002
C.48: POINT 16,AC2,35 ; 16,AC2,35 401562' 00 20 0 00 000002
C.49: POINT 16,AC3,17 ; 16,AC3,17 401563' 22 20 0 00 000003
; Routine Size: 34 words
; 6661 1
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 55
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (12)
; 6662 1 GLOBAL ROUTINE OPEN (FILPTR, ACCESS, MODE) =
; 6663 1
; 6664 1 !++
; 6665 1 ! FUNCTIONAL DESCRIPTION:
; 6666 1 !
; 6667 1 !
; 6668 1 !
; 6669 1 !
; 6670 1 ! FORMAL PARAMETERS:
; 6671 1 !
; 6672 1 ! NONE
; 6673 1 !
; 6674 1 ! IMPLICIT INPUTS:
; 6675 1 !
; 6676 1 ! NONE
; 6677 1 !
; 6678 1 ! IMPLICIT OUTPUTS:
; 6679 1 !
; 6680 1 ! NONE
; 6681 1 !
; 6682 1 ! ROUTINE VALUE:
; 6683 1 !
; 6684 1 ! NONE
; 6685 1 !
; 6686 1 ! SIDE EFFECTS
; 6687 1 !
; 6688 1 ! NONE
; 6689 1 !
; 6690 1 !--
; 6691 1
; 6692 2 BEGIN
; 6693 2
; 6694 2 BIND
; 6695 2 ACCESS_TYPE = UPLIT (OF_RD, OF_WR, OF_RD + OF_WR, OF_RD + OF_WR, OF_RD + OF_WR) : VECTOR [5],
; 6696 2 MODE_TYPE = UPLIT (FLD (7, OF_BSZ), FLD (18, OF_BSZ)) : VECTOR [2];
; 6697 2
; 6698 2 LOCAL
; 6699 2 FLAG_WORD;
; 6700 2
; 6701 2 FLAG_WORD = .ACCESS_TYPE [.ACCESS] + .MODE_TYPE [.MODE];
; 6702 2
; 6703 2 IF ..FILPTR EQL 0
; 6704 2 THEN
; 6705 3 BEGIN
; 6706 3
; 6707 3 IF NOT ALLOCATE_FILBLK (.FILPTR) THEN RETURN FALSE;
; 6708 3
; 6709 3 IF .POINTR (FLAG_WORD, OF_WR)
; 6710 3 THEN
; 6711 3 BLOCK [..FILPTR, F_JFN] = $PRIOU
; 6712 3 ELSE
; 6713 3 BLOCK [..FILPTR, F_JFN] = $PRIIN;
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 56
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (12)
; 6714 3
; 6715 2 END;
; 6716 2
; 6717 3 BEGIN
; 6718 3 REGISTERS (1, 2);
; 6719 3 AC1 = .BLOCK [..FILPTR, F_JFN]; !Set the JFN
; 6720 3 AC2 = .FLAG_WORD; !Set access and block if not available.
; 6721 3
; 6722 3 IF .AC1 NEQ $PRIIN AND .AC1 NEQ $PRIOU AND JSYS (1, OPENF, AC1, AC2) NEQ 1 THEN RETURN FALSE;
; 6723 3
; 6724 2 END;
; 6725 2 !and try to open it.
; 6726 2 TRUE
; 6727 1 END; !OF OPEN
P.ACS: EXP 200000 ; 401564' 000000 200000
EXP 100000 ; 401565' 000000 100000
EXP 300000 ; 401566' 000000 300000
EXP 300000 ; 401567' 000000 300000
EXP 300000 ; 401570' 000000 300000
P.ACT: EXP 70000000000 ; 401571' 070000 000000
EXP 220000000000 ; 401572' 220000 000000
ACCESS_TYPE= P.ACS ; 000000 401564'
MODE_TYPE= P.ACT ; 000000 401571'
OPEN:: PUSH SP,AC14 ; SP,AC14 401573' 261 17 0 00 000014 6662
PUSH SP,AC16 ; SP,AC16 401574' 261 17 0 00 000016
MOVE AC2,-4(SP) ; AC2,ACCESS 401575' 200 02 0 17 777774 6701
MOVE AC1,-3(SP) ; AC1,MODE 401576' 200 01 0 17 777775
MOVE AC14,ACCESS_TYPE(AC2) ; FLAG_WORD,ACCESS_TYPE(AC2) 401577' 200 14 0 02 401564'
ADD AC14,MODE_TYPE(AC1) ; FLAG_WORD,MODE_TYPE(AC1) 401600' 270 14 0 01 401571'
MOVE AC16,-5(SP) ; AC16,FILPTR 401601' 200 16 0 17 777773 6703
SKIPE 0(AC16) ; 0(AC16) 401602' 332 00 0 16 000000
JRST L.86 ; L.86 401603' 254 00 0 00 401621'
PUSH SP,AC16 ; SP,AC16 401604' 261 17 0 00 000016 6707
PUSHJ SP,ALLOCATE_FILBLK ; SP,ALLOCATE_FILBLK 401605' 260 17 0 00 400217'
ADJSP SP,-1 ; SP,-1 401606' 105 17 0 00 777777
TRNN AC1,1 ; AC1,1 401607' 606 01 0 00 000001
JRST L.87 ; L.87 401610' 254 00 0 00 401633'
TRNN AC14,100000 ; FLAG_WORD,100000 401611' 606 14 0 00 100000 6709
JRST L.84 ; L.84 401612' 254 00 0 00 401616'
MOVE AC1,0(AC16) ; AC1,0(AC16) 401613' 200 01 0 16 000000 6711
MOVEI AC2,101 ; AC2,101 401614' 201 02 0 00 000101
JRST L.85 ; L.85 401615' 254 00 0 00 401620'
L.84: MOVE AC1,0(AC16) ; AC1,0(AC16) 401616' 200 01 0 16 000000 6713
MOVEI AC2,100 ; AC2,100 401617' 201 02 0 00 000100
L.85: HRRM AC2,0(AC1) ; AC2,0(AC1) 401620' 542 02 0 01 000000
L.86: MOVE AC1,0(AC16) ; AC1,0(AC16) 401621' 200 01 0 16 000000 6719
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 57
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (12)
HRRZ AC1,0(AC1) ; AC1,0(AC1) 401622' 550 01 0 01 000000
MOVE AC2,AC14 ; AC2,FLAG_WORD 401623' 200 02 0 00 000014 6720
CAIE AC1,100 ; AC1,100 401624' 302 01 0 00 000100 6722
CAIN AC1,101 ; AC1,101 401625' 306 01 0 00 000101
JRST L.88 ; L.88 401626' 254 00 0 00 401634'
JSYS 21 ; 21 401627' 104 00 0 00 000021
TDZA AC3,AC3 ; AC3,AC3 401630' 634 03 0 00 000003
MOVEI AC3,1 ; AC3,1 401631' 201 03 0 00 000001
CAIE AC3,1 ; AC3,1 401632' 302 03 0 00 000001
L.87: TDZA AC1,AC1 ; AC1,AC1 401633' 634 01 0 00 000001
L.88: MOVEI AC1,1 ; AC1,1 401634' 201 01 0 00 000001 6662
POP SP,AC16 ; SP,AC16 401635' 262 17 0 00 000016
POP SP,AC14 ; SP,AC14 401636' 262 17 0 00 000014
POPJ SP, ; SP, 401637' 263 17 0 00 000000
; Routine Size: 37 words
; 6728 1
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 58
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (13)
; 6729 1 GLOBAL ROUTINE POSFIL (FILPTR, FBLOCK, OFFSET) : NOVALUE =
; 6730 1
; 6731 1 !++
; 6732 1 ! FUNCTIONAL DESCRIPTION:
; 6733 1 !
; 6734 1 !
; 6735 1 !
; 6736 1 !
; 6737 1 ! FORMAL PARAMETERS:
; 6738 1 !
; 6739 1 !
; 6740 1 ! IMPLICIT INPUTS:
; 6741 1 !
; 6742 1 ! NONE
; 6743 1 !
; 6744 1 ! IMPLICIT OUTPUTS:
; 6745 1 !
; 6746 1 ! NONE
; 6747 1 !
; 6748 1 ! ROUTINE VALUE:
; 6749 1 !
; 6750 1 ! NONE
; 6751 1 !
; 6752 1 ! SIDE EFFECTS
; 6753 1 !
; 6754 1 ! NONE
; 6755 1 !
; 6756 1 !--
; 6757 1
; 6758 2 BEGIN
; 6759 2
; 6760 2 LITERAL
; 6761 2 BLOCK_SIZE = 512;
; 6762 2
; 6763 2 LOCAL
; 6764 2 POSITION;
; 6765 2
; 6766 2 POSITION = ((.FBLOCK - 1)*BLOCK_SIZE + .OFFSET)^-1;
; 6767 3 BEGIN
; 6768 3 REGISTERS (1, 2);
; 6769 3 AC2 = .POSITION;
; 6770 3 AC1 = .BLOCK [..FILPTR, F_JFN];
; 6771 3 JSYS (1, SFPTR, AC1, AC2);
; 6772 2 END;
; 6773 1 END; !OF POSFIL
POSFIL::MOVE AC1,-2(SP) ; AC1,FBLOCK 401640' 200 01 0 17 777776 6766
IMULI AC1,1000 ; AC1,1000 401641' 221 01 0 00 001000
ADD AC1,-1(SP) ; AC1,OFFSET 401642' 270 01 0 17 777777
SUBI AC1,1000 ; AC1,1000 401643' 275 01 0 00 001000
ASH AC1,-1 ; POSITION,-1 401644' 240 01 0 00 777777
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 59
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (13)
MOVE AC2,AC1 ; AC2,POSITION 401645' 200 02 0 00 000001 6769
MOVE AC1,-3(SP) ; AC1,FILPTR 401646' 200 01 0 17 777775 6770
MOVE AC1,0(AC1) ; AC1,0(AC1) 401647' 200 01 0 01 000000
HRRZ AC1,0(AC1) ; AC1,0(AC1) 401650' 550 01 0 01 000000
JSYS 27 ; 27 401651' 104 00 0 00 000027 6771
JFCL ; 401652' 255 00 0 00 000000
POPJ SP, ; SP, 401653' 263 17 0 00 000000 6729
; Routine Size: 12 words
; 6774 1
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 60
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (14)
; 6775 1 GLOBAL ROUTINE PUTFIL (FILPTR, TEXT_PTR, LENGTH) : NOVALUE =
; 6776 1
; 6777 1 !++
; 6778 1 ! FUNCTIONAL DESCRIPTION:
; 6779 1 !
; 6780 1 !
; 6781 1 !
; 6782 1 !
; 6783 1 ! FORMAL PARAMETERS:
; 6784 1 !
; 6785 1 ! TEXT_PTR !POINTER TO TEXT STRING TO PRINT
; 6786 1 ! LENGTH !LENGTH OF TEXT
; 6787 1 !
; 6788 1 ! IMPLICIT INPUTS:
; 6789 1 !
; 6790 1 ! NONE
; 6791 1 !
; 6792 1 ! IMPLICIT OUTPUTS:
; 6793 1 !
; 6794 1 ! NONE
; 6795 1 !
; 6796 1 ! ROUTINE VALUE:
; 6797 1 !
; 6798 1 ! NONE
; 6799 1 !
; 6800 1 ! SIDE EFFECTS
; 6801 1 !
; 6802 1 ! NONE
; 6803 1 !
; 6804 1 !--
; 6805 1
; 6806 2 BEGIN
; 6807 2 REGISTERS (1, 2, 3);
; 6808 2
; 6809 2 IF .LENGTH NEQ 0
; 6810 2 THEN
; 6811 3 BEGIN
; 6812 3 AC1 = .BLOCK [..FILPTR, F_JFN]; !Set the JFN
; 6813 3 AC2 = .TEXT_PTR; !a pointer to the string
; 6814 3 AC3 = -.LENGTH; !the length of the string
; 6815 3 JSYS (0, SOUT, AC1, AC2, AC3); !and send it on its way.
; 6816 2 END;
; 6817 2
; 6818 1 END; !OF PUTFIL
PUTFIL::MOVE AC3,-1(SP) ; AC3,LENGTH 401654' 200 03 0 17 777777 6809
JUMPE AC3,L.89 ; AC3,L.89 401655' 322 03 0 00 401664'
MOVE AC1,-3(SP) ; AC1,FILPTR 401656' 200 01 0 17 777775 6812
MOVE AC1,0(AC1) ; AC1,0(AC1) 401657' 200 01 0 01 000000
HRRZ AC1,0(AC1) ; AC1,0(AC1) 401660' 550 01 0 01 000000
MOVE AC2,-2(SP) ; AC2,TEXT_PTR 401661' 200 02 0 17 777776 6813
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 61
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (14)
MOVN AC3,AC3 ; AC3,AC3 401662' 210 03 0 00 000003 6814
JSYS 53 ; 53 401663' 104 00 0 00 000053 6815
L.89: POPJ SP, ; SP, 401664' 263 17 0 00 000000 6775
; Routine Size: 9 words
; 6819 1
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 62
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (15)
; 6820 1 ROUTINE RELEASE_FILBLK (FILPTR) : NOVALUE =
; 6821 1
; 6822 1 !++
; 6823 1 ! FUNCTIONAL DESCRIPTION:
; 6824 1 !
; 6825 1 !
; 6826 1 !
; 6827 1 !
; 6828 1 ! FORMAL PARAMETERS:
; 6829 1 !
; 6830 1 ! NONE
; 6831 1 !
; 6832 1 ! IMPLICIT INPUTS:
; 6833 1 !
; 6834 1 ! NONE
; 6835 1 !
; 6836 1 ! IMPLICIT OUTPUTS:
; 6837 1 !
; 6838 1 ! NONE
; 6839 1 !
; 6840 1 ! ROUTINE VALUE:
; 6841 1 !
; 6842 1 ! NONE
; 6843 1 !
; 6844 1 ! SIDE EFFECTS
; 6845 1 !
; 6846 1 ! NONE
; 6847 1 !
; 6848 1 !--
; 6849 1
; 6850 1 IF ..FILPTR NEQ 0
; 6851 1 THEN
; 6852 2 BEGIN
; 6853 2
; 6854 2 IF .BLOCK [..FILPTR, F_JFN] NEQ 0
; 6855 2 THEN
; 6856 2 CLOSE (.FILPTR);
; 6857 2
; 6858 2 .FILPTR = 0;
; 6859 1 END; !OF RELEASE_FILBLK
RELEASE_FILBLK:
PUSH SP,AC16 ; SP,AC16 401665' 261 17 0 00 000016 6820
MOVE AC16,-2(SP) ; AC16,FILPTR 401666' 200 16 0 17 777776 6850
MOVE AC1,0(AC16) ; AC1,0(AC16) 401667' 200 01 0 16 000000
JUMPE AC1,L.91 ; AC1,L.91 401670' 322 01 0 00 401677'
HRRZ AC2,0(AC1) ; AC2,0(AC1) 401671' 550 02 0 01 000000 6854
JUMPE AC2,L.90 ; AC2,L.90 401672' 322 02 0 00 401676'
PUSH SP,AC16 ; SP,AC16 401673' 261 17 0 00 000016 6856
PUSHJ SP,CLOSE ; SP,CLOSE 401674' 260 17 0 00 400276'
ADJSP SP,-1 ; SP,-1 401675' 105 17 0 00 777777
LBRSYS 12-Apr-1985 07:10:55 TOPS-20 Bliss-36 4A(225) Page 63
001040 30-Dec-1982 17:53:56 DNET61:<DECNET.UTILITIES>LBRSYS.B36.1 (15)
L.90: SETZM 0(AC16) ; 0(AC16) 401676' 402 00 0 16 000000 6858
L.91: POP SP,AC16 ; SP,AC16 401677' 262 17 0 00 000016 6820
POPJ SP, ; SP, 401700' 263 17 0 00 000000
; Routine Size: 12 words
; 6860 1
; 6861 1 END
; 6862 1
; 6863 0 ELUDOM
; Low segment length: 201 words
; High segment length: 961 words
; LIBRARY STATISTICS
;
; -------- Symbols -------- Blocks Processing
; File Total Loaded Percent Read Time
;
; DNET61:<DECNET.UTILITIES>LBRCOM.L36.2 705 32 4 26 00:00.1
; Size: 781 code + 381 data words
; Run Time: 00:46.3
; Elapsed Time: 00:54.0
; Lines/CPU Min: 8902
; Lexemes/CPU-Min:109187
; Memory Used: 184 pages
; Compilation Complete