Google
 

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