Google
 

Trailing-Edge - PDP-10 Archives - BB-R595B-SM_11-9-85 - mcb/utilities/lbrlst.lst
There is 1 other file named lbrlst.lst in the archive. Click here to see a list.
LBRLST								12-Apr-1985 07:11:53	TOPS-20 Bliss-36 4A(225)	    Page   1
								30-Dec-1982 17:43:21	DNET61:<DECNET.UTILITIES>LBRLST.BLI.1 (1)

;   0001  0	MODULE LBRLST (					!Display data to the listing file.
;   0002  0			IDENT = '001020',
;   0003  0			LANGUAGE (BLISS16, 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 THE ROUTINES TO SEND LINES OF TEXT TO THE
;   0036  1	! LISTING FILE
;   0037  1	!
;   0038  1	!
;   0039  1	! ENVIRONMENT: ANY
;   0040  1	!
;   0041  1	! AUTHOR: ALAN D. PECKHAM, CREATION DATE: 2-MAY-80
;   0042  1	!
;   0043  1	! MODIFIED BY:
;   0044  1	!
;   0045  1	!	Alan D. Peckham, : VERSION 01
;   0046  1	! 01	- Modify references to file blocks.
;   0047  1	!	  Move title definition to LBRCOM.
;   0048  1	! 02	- Correct TYPLIN to refer to TTYBLK for skipping lines.
;   0049  1	!--
;   0050  1	
;   0051  1	!
;   0052  1	! TABLE OF CONTENTS:
LBRLST								12-Apr-1985 07:11:53	TOPS-20 Bliss-36 4A(225)	    Page   2
001020								30-Dec-1982 17:43:21	DNET61:<DECNET.UTILITIES>LBRLST.BLI.1 (1)

;   0053  1	!
;   0054  1	
;   0055  1	FORWARD ROUTINE
;   0056  1	    LSTOPN,					!Initialize listing device.
;   0057  1	    PRINT : NOVALUE,				!Print a line with optional paging
;   0058  1	    PUTLIN : NOVALUE,				!Edit and display a line of text to the listing device.
;   0059  1	    						!on the listing device.
;   0060  1	    SBTTL : NOVALUE,				!Set the heading sub-title
;   0061  1	    						!and force a page break.
;   0062  1	    SKIP : NOVALUE,				!Skip the specified number of lines.
;   0063  1	    TTYOPN,					!Initialize the user's terminal.
;   0064  1	    TYPE : NOVALUE,				!Type a line to the user's terminal.
;   0065  1	    TYPLIN : NOVALUE;				!Edit and display a line of text to the user's terminal.
;   0066  1	
;   0067  1	!
;   0068  1	! INCLUDE FILES
;   0069  1	!
;   0070  1	
;   0071  1	LIBRARY 'LBRCOM';				!LBR COMMON DEFINITIONS
;   0072  1	
;   0073  1	!
;   0074  1	! MACROS:
;   0075  1	!
;   0076  1	!	NONE
;   0077  1	!
;   0078  1	! EQUATED SYMBOLS:
;   0079  1	!
;   0080  1	
;   0081  1	LITERAL
;   0082  1	    LINES_PER_PAGE = 55;			!Maximum number of lines per page.
;   0083  1	
;   0084  1	BIND
;   0085  1	    CRLF = CH$ASCII (%CHAR (13, 10, 10, 10));
;   0086  1	
;   0087  1	!
;   0088  1	! OWN STORAGE:
;   0089  1	!
;   0090  1	
;   0091  1	OWN
;   0092  1	    CURRENT_LINE,				!Current line on page.
;   0093  1	
; L 0094  1	    %IF NOT %NULL (LST_FILE)
;   0095  1	    %THEN
;   0096  1		FILE_LINE : CH$SEQUENCE (133),		!Dump file identification line.
;   0097  1		FILE_LINE_LEN,				!Length of FILE_LINE string.
;   0098  1	    %FI
;   0099  1	
;   0100  1	    LSTBLK,
;   0101  1	    MY_FLAGS : BITVECTOR [3],			!Internal flags.
;   0102  1	    PAGE_NUMBER,				!Current page number.
;   0103  1	    SBTTL_LEN,					!Length of current subtitle.
;   0104  1	    SBTTL_PTR,					!Pointer to current subtitle.
LBRLST								12-Apr-1985 07:11:53	TOPS-20 Bliss-36 4A(225)	    Page   3
001020								30-Dec-1982 17:43:21	DNET61:<DECNET.UTILITIES>LBRLST.BLI.1 (1)

;   0105  1	    TITLE : CH$SEQUENCE (133),			!Title line.
;   0106  1	    TITLE_PAGE_POS,				!Count of characters before page number.
;   0107  1	    TTYBLK;
;   0108  1	
;   0109  1	MACRO
; M 0110  1	    NEW_LISTING =
;   0111  1		MY_FLAGS [0] %,
; M 0112  1	    NEW_SBTTL =
;   0113  1		MY_FLAGS [1] %,
; M 0114  1	    WIDE_LISTING =
;   0115  1		MY_FLAGS [2] %;
;   0116  1	
;   0117  1	!
;   0118  1	! EXTERNAL REFERENCES:
;   0119  1	!
;   0120  1	
;   0121  1	EXTERNAL ROUTINE
;   0122  1	
; L 0123  1	    %IF NOT %NULL (LST_FILE)
;   0124  1	    %THEN
;   0125  1		FILNM : NOVALUE,			!Convert file name to ASCII.
;   0126  1		FILDT : NOVALUE,			!Convert file creation date to ASCII.
;   0127  1	    %FI
;   0128  1	
;   0129  1	    GETTIM : NOVALUE,				!Get the time and date.
;   0130  1	    OPEN,					!Open a file.
;   0131  1	    PUTFIL : NOVALUE,				!Send text to the listing file.
;   0132  1	    $CBDSG,					!Convert binary to signed decimal ASCII.
;   0133  1	    $EDMSG;					!Edit data into text message.
;   0134  1	
;   0135  1	EXTERNAL
;   0136  1	    $LNCNT;					!Line counter.
;   0137  1	
LBRLST								12-Apr-1985 07:11:53	TOPS-20 Bliss-36 4A(225)	    Page   4
001020								30-Dec-1982 17:43:21	DNET61:<DECNET.UTILITIES>LBRLST.BLI.1 (2)

;   0138  1	GLOBAL ROUTINE LSTOPN (LST_FILBLK, WIDE %IF NOT %NULL (LST_FILE) %THEN , LIB_FILBLK %FI) =
;   0139  1	
;   0140  1	!++
;   0141  1	! FUNCTIONAL DESCRIPTION:
;   0142  1	!
;   0143  1	!
;   0144  1	!
;   0145  1	!
;   0146  1	! FORMAL PARAMETERS:
;   0147  1	!
;   0148  1	!
;   0149  1	! IMPLICIT INPUTS:
;   0150  1	!
;   0151  1	!	NONE
;   0152  1	!
;   0153  1	! IMPLICIT OUTPUTS:
;   0154  1	!
;   0155  1	!	NONE
;   0156  1	!
;   0157  1	! ROUTINE VALUE:
;   0158  1	!
;   0159  1	!	NONE
;   0160  1	!
;   0161  1	! SIDE EFFECTS
;   0162  1	!
;   0163  1	!	NONE
;   0164  1	!
;   0165  1	!--
;   0166  1	
;   0167  2	    BEGIN
;   0168  2	
;   0169  2	    EXTERNAL LITERAL
;   0170  2		VERLNG,					!Length of version string.
;   0171  2		VERPTR;					!Pointer to version string.
;   0172  2	
;   0173  2	    OWN
;   0174  2		DATE_AND_TIME : VECTOR [8];
;   0175  2	
; L 0176  2	    %IF NOT %NULL (LST_FILE)
;   0177  2	    %THEN
;   0178  2		OWN
;   0179  2		    PARAMS : VECTOR [4] INITIAL (FILNM, 0, FILDT, 0);
;   0180  2	    %FI
;   0181  2	
;   0182  2	    BIND
;   0183  2		DATE = DATE_AND_TIME [0] : VECTOR [3],
;   0184  2		TIME = DATE_AND_TIME [3] : VECTOR [5];
;   0185  2	
;   0186  2	    LSTBLK = .LST_FILBLK;
;   0187  2	    GETTIM (DATE_AND_TIME);
;   0188  2	    TITLE_PAGE_POS = $EDMSG (%REF (CH$PTR (TITLE)),
;   0189  2		CH$ASCIZ ('%^', LST_TITLE, ' %#A%#S%Y %2Z  PAGE '),
LBRLST								12-Apr-1985 07:11:53	TOPS-20 Bliss-36 4A(225)	    Page   5
001020								30-Dec-1982 17:43:21	DNET61:<DECNET.UTILITIES>LBRLST.BLI.1 (2)

;   0190  2		UPLIT (VERLNG, VERPTR, 79 - %CHARCOUNT (LST_TITLE) - VERLNG, DATE, TIME));
;   0191  2	
; L 0192  2	    %IF NOT %NULL (LST_FILE)
;   0193  2	    %THEN
;   0194  2		PARAMS [1] = PARAMS [3] = .LIB_FILBLK;
;   0195  2		FILE_LINE_LEN = $EDMSG (%REF (CH$PTR (FILE_LINE)), CH$ASCIZ (LST_FILE, ' "%@" Created %@'), PARAMS);
;   0196  2	    %FI
;   0197  2	
;   0198  2	    NEW_LISTING = TRUE;
;   0199  2	    NEW_SBTTL = FALSE;
;   0200  2	    WIDE_LISTING = .WIDE;
;   0201  2	    CURRENT_LINE = 0;
;   0202  2	    PAGE_NUMBER = 0;
;   0203  2	    SBTTL_PTR = SBTTL_LEN;
;   0204  2	    SBTTL_LEN = 0;
;   0205  2	    OPEN (.LSTBLK, F_WRITE, F_ASCII)
;   0206  1	    END;					!OF LSTOPN


	TITLE	LBRLST
	TWOSEG


	.REQUEST  SYS:B362LB.REL


	RELOC	400000				;					400000'
P.AAA:	BYTE	(7)015,012,012,012,000		;					400000' 015 012 012 012 000
P.AAB:	BYTE	(7)"%","^","L","B","R"		; %^LBR					400001' 045 136 114 102 122
	BYTE	(7)"2","0"," ","-"," "		; 20 -					400002' 062 060 040 055 040
	BYTE	(7)"L","i","b","r","a"		; Libra					400003' 114 151 142 162 141
	BYTE	(7)"r","i","a","n"," "		; rian					400004' 162 151 141 156 040
	BYTE	(7)"U","t","i","l","i"		; Utili					400005' 125 164 151 154 151
	BYTE	(7)"t","y"," ","%","#"		; ty %#					400006' 164 171 040 045 043
	BYTE	(7)"A","%","#","S","%"		; A%#S%					400007' 101 045 043 123 045
	BYTE	(7)"Y"," ","%","2","Z"		; Y %2Z					400010' 131 040 045 062 132
	BYTE	(7)" "," ","P","A","G"		;   PAG					400011' 040 040 120 101 107
	BYTE	(7)"E"," ",000,000,000		; E					400012' 105 040 000 000 000
P.AAC:	EXP	VERLNG				;					400013' 000000	000000#
	EXP	VERPTR				;					400014' 000000	000000#
	EXP	<66-VERLNG>			;					400015' 000000	000000#
	XWD	0,DATE				;					400016' 000000	000077'
	EXP	TIME				;					400017' 000000	000000#
P.AAD:	BYTE	(7)"L","i","s","t","i"		; Listi					400020' 114 151 163 164 151
	BYTE	(7)"n","g"," ","o","f"		; ng of					400021' 156 147 040 157 146
	BYTE	(7)" ",042,"%","@",042		;  "%@"					400022' 040 042 045 100 042
	BYTE	(7)" ","C","r","e","a"		;  Crea					400023' 040 103 162 145 141
	BYTE	(7)"t","e","d"," ","%"		; ted %					400024' 164 145 144 040 045
	BYTE	(7)"@",000,000,000,000		; @					400025' 100 000 000 000 000


	RELOC	0				;					000000'
LBRLST								12-Apr-1985 07:11:53	TOPS-20 Bliss-36 4A(225)	    Page   6
001020								30-Dec-1982 17:43:21	DNET61:<DECNET.UTILITIES>LBRLST.BLI.1 (2)

CURRENT_LINE:
	BLOCK	1				;					000000'
FILE_LINE:
	BLOCK	33				;					000001'
FILE_LINE_LEN:
	BLOCK	1				;					000034'
LSTBLK: BLOCK	1				;					000035'
MY_FLAGS:
	BLOCK	1				;					000036'
PAGE_NUMBER:
	BLOCK	1				;					000037'
SBTTL_LEN:
	BLOCK	1				;					000040'
SBTTL_PTR:
	BLOCK	1				;					000041'
TITLE:	BLOCK	33				;					000042'
TITLE_PAGE_POS:
	BLOCK	1				;					000075'
TTYBLK: BLOCK	1				;					000076'
DATE_AND_TIME:
	BLOCK	10				;					000077'
PARAMS: XWD	0,FILNM				;					000107' 000000	000000*
	EXP	0				;					000110' 000000	000000
	XWD	0,FILDT				;					000111' 000000	000000*
	EXP	0				;					000112' 000000	000000


	EXTERN	FILNM, FILDT, GETTIM, OPEN, PUTFIL, $CBDSG, $EDMSG, $LNCNT, VERLNG, VERPTR


CRLF=		    <POINT 7,P.AAA-1,34>	;						01 07 0 00 377777'
DATE=		    DATE_AND_TIME		;						000000	000077'
TIME=		    DATE_AND_TIME+3		;						000000	000102'


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
LBRLST								12-Apr-1985 07:11:53	TOPS-20 Bliss-36 4A(225)	    Page   7
001020								30-Dec-1982 17:43:21	DNET61:<DECNET.UTILITIES>LBRLST.BLI.1 (2)


	RELOC	400026				;					400026'
LSTOPN::ADJSP	SP,1				; SP,1					400026' 105 17 0 00 000001		0138
	MOVE	AC1,-4(SP)			; AC1,LST_FILBLK			400027' 200 01 0 17 777774		0186
	MOVEM	AC1,LSTBLK			; AC1,LSTBLK				400030' 202 01 0 00 000035'
	PUSH	SP,C.3				; SP,[0,,DATE_AND_TIME]			400031' 261 17 0 00 400077'		0187
	PUSHJ	SP,GETTIM			; SP,GETTIM				400032' 260 17 0 00 000000*
	MOVE	AC1,C.4				; AC1,[POINT 7,TITLE-1,34]  <1,7>	400033' 200 01 0 00 400100'		0188
	MOVEM	AC1,-1(SP)			; AC1,-1(SP)				400034' 202 01 0 17 777777
	MOVEI	AC1,-1(SP)			; AC1,-1(SP)				400035' 201 01 0 17 777777
	PUSH	SP,AC1				; SP,AC1				400036' 261 17 0 00 000001
	PUSH	SP,C.5				; SP,[POINT 7,P.AAB-1,34]  <1,7>	400037' 261 17 0 00 400101'
	PUSH	SP,C.6				; SP,[0,,P.AAC]				400040' 261 17 0 00 400102'
	PUSHJ	SP,$EDMSG			; SP,$EDMSG				400041' 260 17 0 00 000000*
	MOVEM	AC1,TITLE_PAGE_POS		; AC1,TITLE_PAGE_POS			400042' 202 01 0 00 000075'
	MOVE	AC1,-6(SP)			; AC1,LIB_FILBLK			400043' 200 01 0 17 777772		0194
	MOVEM	AC1,PARAMS+3			; AC1,PARAMS+3				400044' 202 01 0 00 000112'
	MOVEM	AC1,PARAMS+1			; AC1,PARAMS+1				400045' 202 01 0 00 000110'
	MOVE	AC1,C.7				; AC1,[POINT 7,FILE_LINE-1,34]  <1,7>	400046' 200 01 0 00 400103'		0195
	MOVEM	AC1,-4(SP)			; AC1,-4(SP)				400047' 202 01 0 17 777774
	MOVEI	AC1,-4(SP)			; AC1,-4(SP)				400050' 201 01 0 17 777774
	PUSH	SP,AC1				; SP,AC1				400051' 261 17 0 00 000001
	PUSH	SP,C.8				; SP,[POINT 7,P.AAD-1,34]  <1,7>	400052' 261 17 0 00 400104'
	PUSH	SP,C.9				; SP,[0,,PARAMS]			400053' 261 17 0 00 400105'
	PUSHJ	SP,$EDMSG			; SP,$EDMSG				400054' 260 17 0 00 000000*
	MOVEM	AC1,FILE_LINE_LEN		; AC1,FILE_LINE_LEN			400055' 202 01 0 00 000034'
	MOVEI	AC1,1				; AC1,1					400056' 201 01 0 00 000001		0198
	DPB	AC1,C.1				; AC1,[POINT 2,MY_FLAGS,35]  <0,2>	400057' 137 01 0 00 400075'
	MOVE	AC1,-12(SP)			; AC1,WIDE				400060' 200 01 0 17 777766		0200
	DPB	AC1,C.2				; AC1,[POINT 1,MY_FLAGS,33]  <2,1>	400061' 137 01 0 00 400076'
	SETZM	CURRENT_LINE			; CURRENT_LINE				400062' 402 00 0 00 000000'		0201
	SETZM	PAGE_NUMBER			; PAGE_NUMBER				400063' 402 00 0 00 000037'		0202
	MOVEI	AC1,SBTTL_LEN			; AC1,SBTTL_LEN				400064' 201 01 0 00 000040'		0203
	MOVEM	AC1,SBTTL_PTR			; AC1,SBTTL_PTR				400065' 202 01 0 00 000041'
	SETZM	SBTTL_LEN			; SBTTL_LEN				400066' 402 00 0 00 000040'		0204
	PUSH	SP,LSTBLK			; SP,LSTBLK				400067' 261 17 0 00 000035'		0205
	PUSH	SP,C.10				; SP,[1]				400070' 261 17 0 00 400106'
	PUSH	SP,C.11				; SP,[0]				400071' 261 17 0 00 400107'
	PUSHJ	SP,OPEN				; SP,OPEN				400072' 260 17 0 00 000000*
	ADJSP	SP,-13				; SP,-13				400073' 105 17 0 00 777765		0167
	POPJ	SP,				; SP,					400074' 263 17 0 00 000000		0138
C.1:	POINT	2,MY_FLAGS,35			; 2,MY_FLAGS,35				400075' 00 02 0 00 000036'
C.2:	POINT	1,MY_FLAGS,33			; 1,MY_FLAGS,33				400076' 02 01 0 00 000036'
C.3:	XWD	0,DATE_AND_TIME			; 0,DATE_AND_TIME			400077' 000000	000077'
C.4:	POINT	7,TITLE-1,34			; 7,TITLE-1,34				400100' 01 07 0 00 000041'
C.5:	POINT	7,P.AAB-1,34			; 7,P.AAB-1,34				400101' 01 07 0 00 400000'
C.6:	XWD	0,P.AAC				; 0,P.AAC				400102' 000000	400013'
C.7:	POINT	7,FILE_LINE-1,34		; 7,FILE_LINE-1,34			400103' 01 07 0 00 000000'
C.8:	POINT	7,P.AAD-1,34			; 7,P.AAD-1,34				400104' 01 07 0 00 400017'
C.9:	XWD	0,PARAMS			; 0,PARAMS				400105' 000000	000107'
C.10:	EXP	1				; 1					400106' 000000	000001
C.11:	EXP	0				; 0					400107' 000000	000000
LBRLST								12-Apr-1985 07:11:53	TOPS-20 Bliss-36 4A(225)	    Page   8
001020								30-Dec-1982 17:43:21	DNET61:<DECNET.UTILITIES>LBRLST.BLI.1 (2)


; Routine Size:  50 words


;   0207  1	
LBRLST								12-Apr-1985 07:11:53	TOPS-20 Bliss-36 4A(225)	    Page   9
001020								30-Dec-1982 17:43:21	DNET61:<DECNET.UTILITIES>LBRLST.BLI.1 (3)

;   0208  1	GLOBAL ROUTINE PRINT (TEXT_PTR, LENGTH) : NOVALUE =
;   0209  1	
;   0210  1	!++
;   0211  1	! FUNCTIONAL DESCRIPTION:
;   0212  1	!
;   0213  1	!
;   0214  1	!
;   0215  1	!
;   0216  1	! FORMAL PARAMETERS:
;   0217  1	!
;   0218  1	!	.TEXT_PTR				!POINTER TO TEXT STRING TO PRINT
;   0219  1	!	.LENGTH					!LENGTH OF TEXT
;   0220  1	!
;   0221  1	! IMPLICIT INPUTS:
;   0222  1	!
;   0223  1	!	NONE
;   0224  1	!
;   0225  1	! IMPLICIT OUTPUTS:
;   0226  1	!
;   0227  1	!	NONE
;   0228  1	!
;   0229  1	! ROUTINE VALUE:
;   0230  1	!
;   0231  1	!	NONE
;   0232  1	!
;   0233  1	! SIDE EFFECTS
;   0234  1	!
;   0235  1	!	NONE
;   0236  1	!
;   0237  1	!--
;   0238  1	
;   0239  2	    BEGIN
;   0240  2	
;   0241  2	    IF .WIDE_LISTING
;   0242  2	    THEN
;   0243  2		CURRENT_LINE = .CURRENT_LINE + ($LNCNT = .$LNCNT + 1);
;   0244  2	
;   0245  2	    IF .NEW_SBTTL OR .NEW_LISTING OR .CURRENT_LINE GEQ LINES_PER_PAGE
;   0246  2	    THEN
;   0247  3		BEGIN
;   0248  3	
;   0249  3		IF .WIDE_LISTING
;   0250  3		THEN
;   0251  4		    BEGIN
;   0252  4	
;   0253  4		    LOCAL
;   0254  4			TITLE_LEN;
;   0255  4	
;   0256  4		    TITLE_LEN = $CBDSG (%REF (CH$PTR (TITLE, .TITLE_PAGE_POS)), (PAGE_NUMBER = .PAGE_NUMBER + 1), 0) +
;   0257  4		    .TITLE_PAGE_POS;
;   0258  4		    PUTFIL (.LSTBLK, CH$PTR (TITLE), .TITLE_LEN);
;   0259  3		    END;
LBRLST								12-Apr-1985 07:11:53	TOPS-20 Bliss-36 4A(225)	    Page  10
001020								30-Dec-1982 17:43:21	DNET61:<DECNET.UTILITIES>LBRLST.BLI.1 (3)

;   0260  3	
;   0261  3		PUTFIL (.LSTBLK, CRLF, 2);
;   0262  3	
;   0263  3		IF .WIDE_LISTING OR .NEW_LISTING
;   0264  3		THEN
;   0265  4		    BEGIN
;   0266  4	
; L 0267  4		    %IF NOT %NULL (LST_FILE)
;   0268  4		    %THEN
;   0269  4			PUTFIL (.LSTBLK, CH$PTR (FILE_LINE), .FILE_LINE_LEN);
;   0270  4		    %FI
;   0271  4	
;   0272  4		    PUTFIL (.LSTBLK, CRLF, 2);
;   0273  4		    NEW_LISTING = FALSE;
;   0274  3		    END;
;   0275  3	
;   0276  3		PUTFIL (.LSTBLK, .SBTTL_PTR, .SBTTL_LEN);
;   0277  3		PUTFIL (.LSTBLK, CRLF, 2);
;   0278  3	
;   0279  3		IF .WIDE_LISTING AND NOT .NEW_SBTTL
;   0280  3		THEN
;   0281  3		    PUTFIL (.LSTBLK, CRLF, 3)
;   0282  3		ELSE
;   0283  3		    NEW_SBTTL = FALSE;
;   0284  3	
;   0285  3		CURRENT_LINE = .$LNCNT;
;   0286  2		END;
;   0287  2	
;   0288  2	    PUTFIL (.LSTBLK, .TEXT_PTR, .LENGTH);
;   0289  2	    PUTFIL (.LSTBLK, CRLF, 2);
;   0290  2	    $LNCNT = 0;
;   0291  1	    END;					!OF PRINT


PRINT:: ADJSP	SP,1				; SP,1					400110' 105 17 0 00 000001		0208
	MOVEI	AC1,4				; AC1,4					400111' 201 01 0 00 000004		0241
	TDNN	AC1,MY_FLAGS			; AC1,MY_FLAGS				400112' 616 01 0 00 000036'
	JRST	L.1				; L.1					400113' 254 00 0 00 400116'
	AOS	AC1,$LNCNT			; AC1,$LNCNT				400114' 350 01 0 00 000000*		0243
	ADDM	AC1,CURRENT_LINE		; AC1,CURRENT_LINE			400115' 272 01 0 00 000000'
L.1:	MOVEI	AC1,3				; AC1,3					400116' 201 01 0 00 000003		0245
	TDNE	AC1,MY_FLAGS			; AC1,MY_FLAGS				400117' 612 01 0 00 000036'
	JRST	L.2				; L.2					400120' 254 00 0 00 400124'
	MOVEI	AC1,67				; AC1,67				400121' 201 01 0 00 000067
	CAMLE	AC1,CURRENT_LINE		; AC1,CURRENT_LINE			400122' 313 01 0 00 000000'
	JRST	L.7				; L.7					400123' 254 00 0 00 400222'
L.2:	MOVEI	AC1,4				; AC1,4					400124' 201 01 0 00 000004		0249
	TDNN	AC1,MY_FLAGS			; AC1,MY_FLAGS				400125' 616 01 0 00 000036'
	JRST	L.3				; L.3					400126' 254 00 0 00 400147'
	MOVE	AC2,C.12			; AC2,[POINT 7,TITLE,-1]  <36,7>	400127' 200 02 0 00 400235'		0256
	MOVE	AC1,TITLE_PAGE_POS		; AC1,TITLE_PAGE_POS			400130' 200 01 0 00 000075'
	ADJBP	AC1,AC2				; AC1,AC2				400131' 133 01 0 00 000002
LBRLST								12-Apr-1985 07:11:53	TOPS-20 Bliss-36 4A(225)	    Page  11
001020								30-Dec-1982 17:43:21	DNET61:<DECNET.UTILITIES>LBRLST.BLI.1 (3)

	MOVEM	AC1,0(SP)			; AC1,0(SP)				400132' 202 01 0 17 000000
	MOVEI	AC1,0(SP)			; AC1,0(SP)				400133' 201 01 0 17 000000
	PUSH	SP,AC1				; SP,AC1				400134' 261 17 0 00 000001
	AOS	AC1,PAGE_NUMBER			; AC1,PAGE_NUMBER			400135' 350 01 0 00 000037'
	PUSH	SP,AC1				; SP,AC1				400136' 261 17 0 00 000001
	PUSH	SP,C.11				; SP,[0]				400137' 261 17 0 00 400107'
	PUSHJ	SP,$CBDSG			; SP,$CBDSG				400140' 260 17 0 00 000000*
	ADD	AC1,TITLE_PAGE_POS		; AC1,TITLE_PAGE_POS			400141' 270 01 0 00 000075'
	PUSH	SP,LSTBLK			; SP,LSTBLK				400142' 261 17 0 00 000035'		0258
	PUSH	SP,C.4				; SP,[POINT 7,TITLE-1,34]  <1,7>	400143' 261 17 0 00 400100'
	PUSH	SP,AC1				; SP,TITLE_LEN				400144' 261 17 0 00 000001
	PUSHJ	SP,PUTFIL			; SP,PUTFIL				400145' 260 17 0 00 000000*
	ADJSP	SP,-6				; SP,-6					400146' 105 17 0 00 777772		0251
L.3:	PUSH	SP,LSTBLK			; SP,LSTBLK				400147' 261 17 0 00 000035'		0261
	PUSH	SP,C.13				; SP,[POINT 7,P.AAA-1,34]  <1,7>	400150' 261 17 0 00 400236'
	PUSH	SP,C.14				; SP,[2]				400151' 261 17 0 00 400237'
	PUSHJ	SP,PUTFIL			; SP,PUTFIL				400152' 260 17 0 00 000000*
	MOVEI	AC1,5				; AC1,5					400153' 201 01 0 00 000005		0263
	TDNN	AC1,MY_FLAGS			; AC1,MY_FLAGS				400154' 616 01 0 00 000036'
	JRST	L.4				; L.4					400155' 254 00 0 00 400171'
	PUSH	SP,LSTBLK			; SP,LSTBLK				400156' 261 17 0 00 000035'		0269
	PUSH	SP,C.7				; SP,[POINT 7,FILE_LINE-1,34]  <1,7>	400157' 261 17 0 00 400103'
	PUSH	SP,FILE_LINE_LEN		; SP,FILE_LINE_LEN			400160' 261 17 0 00 000034'
	PUSHJ	SP,PUTFIL			; SP,PUTFIL				400161' 260 17 0 00 000000*
	PUSH	SP,LSTBLK			; SP,LSTBLK				400162' 261 17 0 00 000035'		0272
	PUSH	SP,C.13				; SP,[POINT 7,P.AAA-1,34]  <1,7>	400163' 261 17 0 00 400236'
	PUSH	SP,C.14				; SP,[2]				400164' 261 17 0 00 400237'
	PUSHJ	SP,PUTFIL			; SP,PUTFIL				400165' 260 17 0 00 000000*
	MOVEI	AC1,1				; AC1,1					400166' 201 01 0 00 000001		0273
	ANDCAM	AC1,MY_FLAGS			; AC1,MY_FLAGS				400167' 412 01 0 00 000036'
	ADJSP	SP,-6				; SP,-6					400170' 105 17 0 00 777772		0265
L.4:	PUSH	SP,LSTBLK			; SP,LSTBLK				400171' 261 17 0 00 000035'		0276
	PUSH	SP,SBTTL_PTR			; SP,SBTTL_PTR				400172' 261 17 0 00 000041'
	PUSH	SP,SBTTL_LEN			; SP,SBTTL_LEN				400173' 261 17 0 00 000040'
	PUSHJ	SP,PUTFIL			; SP,PUTFIL				400174' 260 17 0 00 000000*
	PUSH	SP,LSTBLK			; SP,LSTBLK				400175' 261 17 0 00 000035'		0277
	PUSH	SP,C.13				; SP,[POINT 7,P.AAA-1,34]  <1,7>	400176' 261 17 0 00 400236'
	PUSH	SP,C.14				; SP,[2]				400177' 261 17 0 00 400237'
	PUSHJ	SP,PUTFIL			; SP,PUTFIL				400200' 260 17 0 00 000000*
	MOVEI	AC1,4				; AC1,4					400201' 201 01 0 00 000004		0279
	TDNN	AC1,MY_FLAGS			; AC1,MY_FLAGS				400202' 616 01 0 00 000036'
	JRST	L.5				; L.5					400203' 254 00 0 00 400215'
	MOVEI	AC1,2				; AC1,2					400204' 201 01 0 00 000002
	TDNE	AC1,MY_FLAGS			; AC1,MY_FLAGS				400205' 612 01 0 00 000036'
	JRST	L.5				; L.5					400206' 254 00 0 00 400215'
	PUSH	SP,LSTBLK			; SP,LSTBLK				400207' 261 17 0 00 000035'		0281
	PUSH	SP,C.13				; SP,[POINT 7,P.AAA-1,34]  <1,7>	400210' 261 17 0 00 400236'
	PUSH	SP,C.15				; SP,[3]				400211' 261 17 0 00 400240'
	PUSHJ	SP,PUTFIL			; SP,PUTFIL				400212' 260 17 0 00 000000*
	ADJSP	SP,-3				; SP,-3					400213' 105 17 0 00 777775
	JRST	L.6				; L.6					400214' 254 00 0 00 400217'		0279
L.5:	MOVEI	AC1,2				; AC1,2					400215' 201 01 0 00 000002		0283
LBRLST								12-Apr-1985 07:11:53	TOPS-20 Bliss-36 4A(225)	    Page  12
001020								30-Dec-1982 17:43:21	DNET61:<DECNET.UTILITIES>LBRLST.BLI.1 (3)

	ANDCAM	AC1,MY_FLAGS			; AC1,MY_FLAGS				400216' 412 01 0 00 000036'
L.6:	MOVE	AC1,$LNCNT			; AC1,$LNCNT				400217' 200 01 0 00 000000*		0285
	MOVEM	AC1,CURRENT_LINE		; AC1,CURRENT_LINE			400220' 202 01 0 00 000000'
	ADJSP	SP,-11				; SP,-11				400221' 105 17 0 00 777767		0247
L.7:	PUSH	SP,LSTBLK			; SP,LSTBLK				400222' 261 17 0 00 000035'		0288
	PUSH	SP,-4(SP)			; SP,TEXT_PTR				400223' 261 17 0 17 777774
	PUSH	SP,-4(SP)			; SP,LENGTH				400224' 261 17 0 17 777774
	PUSHJ	SP,PUTFIL			; SP,PUTFIL				400225' 260 17 0 00 000000*
	PUSH	SP,LSTBLK			; SP,LSTBLK				400226' 261 17 0 00 000035'		0289
	PUSH	SP,C.13				; SP,[POINT 7,P.AAA-1,34]  <1,7>	400227' 261 17 0 00 400236'
	PUSH	SP,C.14				; SP,[2]				400230' 261 17 0 00 400237'
	PUSHJ	SP,PUTFIL			; SP,PUTFIL				400231' 260 17 0 00 000000*
	SETZM	$LNCNT				; $LNCNT				400232' 402 00 0 00 000000*		0290
	ADJSP	SP,-7				; SP,-7					400233' 105 17 0 00 777771		0239
	POPJ	SP,				; SP,					400234' 263 17 0 00 000000		0208
C.12:	POINT	7,TITLE,-1			; 7,TITLE,-1				400235' 44 07 0 00 000042'
C.13:	POINT	7,P.AAA-1,34			; 7,P.AAA-1,34				400236' 01 07 0 00 377777'
C.14:	EXP	2				; 2					400237' 000000	000002
C.15:	EXP	3				; 3					400240' 000000	000003

; Routine Size:  89 words


;   0292  1	
LBRLST								12-Apr-1985 07:11:53	TOPS-20 Bliss-36 4A(225)	    Page  13
001020								30-Dec-1982 17:43:21	DNET61:<DECNET.UTILITIES>LBRLST.BLI.1 (4)

;   0293  1	GLOBAL ROUTINE PUTLIN (TIMES, PATTERN_PTR, PRM_LIST_ADR) : NOVALUE =
;   0294  1	
;   0295  1	!++
;   0296  1	! FUNCTIONAL DESCRIPTION:
;   0297  1	!
;   0298  1	!
;   0299  1	!
;   0300  1	!
;   0301  1	! FORMAL PARAMETERS:
;   0302  1	!
;   0303  1	!	TIMES					!NUMBER OF LINES TO SKIP
;   0304  1	!						!BEFORE DISPLAYING LINE
;   0305  1	!	PATTERN					!ASCIZ STRING USED TO CONTROL
;   0306  1	!						!CONSTRUCTION OF OUTPUT LINE
;   0307  1	!	PARAMETER_LIST				!PARAMETERS TO TRANSLATE INTO
;   0308  1	!						!THE OUTPUT LINE
;   0309  1	!
;   0310  1	! IMPLICIT INPUTS:
;   0311  1	!
;   0312  1	!	NONE
;   0313  1	!
;   0314  1	! IMPLICIT OUTPUTS:
;   0315  1	!
;   0316  1	!	NONE
;   0317  1	!
;   0318  1	! ROUTINE VALUE:
;   0319  1	!
;   0320  1	!	NONE
;   0321  1	!
;   0322  1	! SIDE EFFECTS
;   0323  1	!
;   0324  1	!	NONE
;   0325  1	!
;   0326  1	!--
;   0327  1	
;   0328  2	    BEGIN
;   0329  2	
;   0330  2	    LOCAL
;   0331  2		BUFFER : CH$SEQUENCE (133),		!General editing buffer.
;   0332  2		BUF_LNG;				!Length of edited string.
;   0333  2	
;   0334  2	    BIND
;   0335  2		BUF_PTR = CH$PTR (BUFFER);		!Pointer to print buffer.
;   0336  2	
;   0337  2	    SKIP (.TIMES);
;   0338  2	    BUF_LNG = $EDMSG (%REF (BUF_PTR), .PATTERN_PTR, .PRM_LIST_ADR);
;   0339  2	
;   0340  2	    IF .BUF_LNG GTR 132
;   0341  2	    THEN
;   0342  3		BEGIN
;   0343  3	
;   0344  3		BIND
LBRLST								12-Apr-1985 07:11:53	TOPS-20 Bliss-36 4A(225)	    Page  14
001020								30-Dec-1982 17:43:21	DNET61:<DECNET.UTILITIES>LBRLST.BLI.1 (4)

;   0345  3		    OVERFLOW = CH$ASCIZ (WARNING, 'I JUST OVERFLOWED MY OUTPUT BUFFER !!!!');
;   0346  3	
;   0347  3		TYPE (OVERFLOW, CH$LEN (OVERFLOW));
;   0348  2		END;
;   0349  2	
;   0350  2	    PRINT (BUF_PTR, .BUF_LNG)
;   0351  1	    END;					!OF PUTLIN


P.AAE:	BYTE	(7)"*","W","A","R","N"		; *WARN					400241' 052 127 101 122 116
	BYTE	(7)"I","N","G","*"," "		; ING*					400242' 111 116 107 052 040
	BYTE	(7)" ","I"," ","J","U"		;  I JU					400243' 040 111 040 112 125
	BYTE	(7)"S","T"," ","O","V"		; ST OV					400244' 123 124 040 117 126
	BYTE	(7)"E","R","F","L","O"		; ERFLO					400245' 105 122 106 114 117
	BYTE	(7)"W","E","D"," ","M"		; WED M					400246' 127 105 104 040 115
	BYTE	(7)"Y"," ","O","U","T"		; Y OUT					400247' 131 040 117 125 124
	BYTE	(7)"P","U","T"," ","B"		; PUT B					400250' 120 125 124 040 102
	BYTE	(7)"U","F","F","E","R"		; UFFER					400251' 125 106 106 105 122
	BYTE	(7)" ","!","!","!","!"		;  !!!!					400252' 040 041 041 041 041
	BYTE	(7)000,000,000,000,000		;					400253' 000 000 000 000 000


OVERFLOW=	    <POINT 7,P.AAE-1,34>	;						01 07 0 00 400240'


PUTLIN::PUSH	SP,AC14				; SP,AC14				400254' 261 17 0 00 000014		0293
	PUSH	SP,AC16				; SP,AC16				400255' 261 17 0 00 000016
	ADJSP	SP,34				; SP,34					400256' 105 17 0 00 000034
	MOVEI	AC1,-34(SP)			; AC1,BUFFER-1				400257' 201 01 0 17 777744		0335
	HRLI	AC1,10700			; AC1,10700				400260' 505 01 0 00 010700
	MOVE	AC14,AC1			; AC14,AC1				400261' 200 14 0 00 000001
	PUSH	SP,-41(SP)			; SP,TIMES				400262' 261 17 0 17 777737		0337
	PUSHJ	SP,SKIP				; SP,SKIP				400263' 260 17 0 00 000000V
	MOVEM	AC14,-1(SP)			; AC14,-1(SP)				400264' 202 14 0 17 777777		0338
	MOVEI	AC1,-1(SP)			; AC1,-1(SP)				400265' 201 01 0 17 777777
	PUSH	SP,AC1				; SP,AC1				400266' 261 17 0 00 000001
	PUSH	SP,-42(SP)			; SP,PATTERN_PTR			400267' 261 17 0 17 777736
	PUSH	SP,-42(SP)			; SP,PRM_LIST_ADR			400270' 261 17 0 17 777736
	PUSHJ	SP,$EDMSG			; SP,$EDMSG				400271' 260 17 0 00 000000*
	MOVE	AC16,AC1			; BUF_LNG,AC1				400272' 200 16 0 00 000001
	CAIG	AC16,204			; BUF_LNG,204				400273' 307 16 0 00 000204		0340
	JRST	L.8				; L.8					400274' 254 00 0 00 400311'
	PUSH	SP,C.16				; SP,[POINT 7,P.AAE-1,34]  <1,7>	400275' 261 17 0 00 400320'		0347
	PUSH	SP,C.17				; SP,[310]				400276' 261 17 0 00 400321'
	PUSH	SP,C.16				; SP,[POINT 7,P.AAE-1,34]  <1,7>	400277' 261 17 0 00 400320'
	PUSH	SP,C.11				; SP,[0]				400300' 261 17 0 00 400107'
	PUSHJ	SP,CHFCH%			; SP,CHFCH%				400301' 260 17 0 00 000000*
	PUSH	SP,AC1				; SP,AC1				400302' 261 17 0 00 000001
	PUSH	SP,C.16				; SP,[POINT 7,P.AAE-1,34]  <1,7>	400303' 261 17 0 00 400320'
	PUSHJ	SP,CHDIF%			; SP,CHDIF%				400304' 260 17 0 00 000000*
	ADJSP	SP,-4				; SP,-4					400305' 105 17 0 00 777774
	MOVEM	AC1,0(SP)			; AC1,0(SP)				400306' 202 01 0 17 000000
LBRLST								12-Apr-1985 07:11:53	TOPS-20 Bliss-36 4A(225)	    Page  15
001020								30-Dec-1982 17:43:21	DNET61:<DECNET.UTILITIES>LBRLST.BLI.1 (4)

	PUSHJ	SP,TYPE				; SP,TYPE				400307' 260 17 0 00 000000V
	ADJSP	SP,-2				; SP,-2					400310' 105 17 0 00 777776		0342
L.8:	MOVEM	AC14,-1(SP)			; AC14,-1(SP)				400311' 202 14 0 17 777777		0350
	MOVEM	AC16,0(SP)			; BUF_LNG,0(SP)				400312' 202 16 0 17 000000
	PUSHJ	SP,PRINT			; SP,PRINT				400313' 260 17 0 00 400110'
	ADJSP	SP,-40				; SP,-40				400314' 105 17 0 00 777740		0335
	POP	SP,AC16				; SP,AC16				400315' 262 17 0 00 000016		0293
	POP	SP,AC14				; SP,AC14				400316' 262 17 0 00 000014
	POPJ	SP,				; SP,					400317' 263 17 0 00 000000
C.16:	POINT	7,P.AAE-1,34			; 7,P.AAE-1,34				400320' 01 07 0 00 400240'
C.17:	EXP	310				; 310					400321' 000000	000310

; Routine Size:  38 words


;   0352  1	
LBRLST								12-Apr-1985 07:11:53	TOPS-20 Bliss-36 4A(225)	    Page  16
001020								30-Dec-1982 17:43:21	DNET61:<DECNET.UTILITIES>LBRLST.BLI.1 (5)

;   0353  1	GLOBAL ROUTINE SBTTL (ASCIZ_TEXT_PTR) : NOVALUE =
;   0354  1	
;   0355  1	!++
;   0356  1	! FUNCTIONAL DESCRIPTION:
;   0357  1	!
;   0358  1	!
;   0359  1	!
;   0360  1	!
;   0361  1	! FORMAL PARAMETERS:
;   0362  1	!
;   0363  1	!	ASCII_TEXT				!TEXT STRING FOR NEW SUB-TITLE
;   0364  1	!	TEXT_LENGTH				!LENGTH OF SUB-TITLE STRING
;   0365  1	!
;   0366  1	! IMPLICIT INPUTS:
;   0367  1	!
;   0368  1	!	NONE
;   0369  1	!
;   0370  1	! IMPLICIT OUTPUTS:
;   0371  1	!
;   0372  1	!	NONE
;   0373  1	!
;   0374  1	! ROUTINE VALUE:
;   0375  1	!
;   0376  1	!	NONE
;   0377  1	!
;   0378  1	! SIDE EFFECTS
;   0379  1	!
;   0380  1	!	NONE
;   0381  1	!
;   0382  1	!--
;   0383  1	
;   0384  2	    BEGIN
;   0385  2	    SBTTL_PTR = .ASCIZ_TEXT_PTR;		!Save the sub-title address
;   0386  2	    SBTTL_LEN = CH$LEN (.ASCIZ_TEXT_PTR);	!and its length.
;   0387  2	    NEW_SBTTL = TRUE;
;   0388  1	    END;					!OF SBTTL


SBTTL:: MOVE	AC1,-1(SP)			; AC1,ASCIZ_TEXT_PTR			400322' 200 01 0 17 777777		0385
	MOVEM	AC1,SBTTL_PTR			; AC1,SBTTL_PTR				400323' 202 01 0 00 000041'
	PUSH	SP,C.17				; SP,[310]				400324' 261 17 0 00 400321'		0386
	PUSH	SP,-2(SP)			; SP,ASCIZ_TEXT_PTR			400325' 261 17 0 17 777776
	PUSH	SP,C.11				; SP,[0]				400326' 261 17 0 00 400107'
	PUSHJ	SP,CHFCH%			; SP,CHFCH%				400327' 260 17 0 00 000000*
	PUSH	SP,AC1				; SP,AC1				400330' 261 17 0 00 000001
	PUSH	SP,-5(SP)			; SP,ASCIZ_TEXT_PTR			400331' 261 17 0 17 777773
	PUSHJ	SP,CHDIF%			; SP,CHDIF%				400332' 260 17 0 00 000000*
	MOVEM	AC1,SBTTL_LEN			; AC1,SBTTL_LEN				400333' 202 01 0 00 000040'
	MOVEI	AC1,2				; AC1,2					400334' 201 01 0 00 000002		0387
	IORM	AC1,MY_FLAGS			; AC1,MY_FLAGS				400335' 436 01 0 00 000036'
	ADJSP	SP,-5				; SP,-5					400336' 105 17 0 00 777773		0384
	POPJ	SP,				; SP,					400337' 263 17 0 00 000000		0353
LBRLST								12-Apr-1985 07:11:53	TOPS-20 Bliss-36 4A(225)	    Page  17
001020								30-Dec-1982 17:43:21	DNET61:<DECNET.UTILITIES>LBRLST.BLI.1 (5)


; Routine Size:  14 words


;   0389  1	
LBRLST								12-Apr-1985 07:11:53	TOPS-20 Bliss-36 4A(225)	    Page  18
001020								30-Dec-1982 17:43:21	DNET61:<DECNET.UTILITIES>LBRLST.BLI.1 (6)

;   0390  1	GLOBAL ROUTINE SKIP (TIMES) : NOVALUE =
;   0391  1	
;   0392  1	!++
;   0393  1	! FUNCTIONAL DESCRIPTION:
;   0394  1	!
;   0395  1	!
;   0396  1	! FORMAL PARAMETERS:
;   0397  1	!
;   0398  1	!	NONE
;   0399  1	!
;   0400  1	! IMPLICIT INPUTS:
;   0401  1	!
;   0402  1	!	NONE
;   0403  1	!
;   0404  1	! IMPLICIT OUTPUTS:
;   0405  1	!
;   0406  1	!	NONE
;   0407  1	!
;   0408  1	! ROUTINE VALUE:
;   0409  1	!
;   0410  1	!	NONE
;   0411  1	!
;   0412  1	! SIDE EFFECTS:
;   0413  1	!
;   0414  1	!	NONE
;   0415  1	!
;   0416  1	!--
;   0417  1	
;   0418  2	    BEGIN
;   0419  2	
;   0420  2	    LOCAL
;   0421  2		BLANK_LINES;
;   0422  2	
;   0423  2	    BLANK_LINES = (IF NOT .WIDE_LISTING THEN MIN (.TIMES, 1) ELSE .TIMES);
;   0424  2	
;   0425  2	    WHILE (BLANK_LINES = .BLANK_LINES - 1) GEQ 0 DO
;   0426  2		PRINT (0, 0);
;   0427  2	
;   0428  1	    END;					!End of SKIP


SKIP::	PUSH	SP,AC16				; SP,AC16				400340' 261 17 0 00 000016		0390
	MOVEI	AC1,4				; AC1,4					400341' 201 01 0 00 000004		0423
	TDNE	AC1,MY_FLAGS			; AC1,MY_FLAGS				400342' 612 01 0 00 000036'
	JRST	L.9				; L.9					400343' 254 00 0 00 400350'
	MOVE	AC1,-2(SP)			; AC1,TIMES				400344' 200 01 0 17 777776
	CAILE	AC1,1				; AC1,1					400345' 303 01 0 00 000001
	MOVEI	AC1,1				; AC1,1					400346' 201 01 0 00 000001
	SKIPA	AC16,AC1			; BLANK_LINES,AC1			400347' 334 16 0 00 000001
L.9:	MOVE	AC16,-2(SP)			; BLANK_LINES,TIMES			400350' 200 16 0 17 777776
L.10:	SOJL	AC16,L.11			; BLANK_LINES,L.11			400351' 361 16 0 00 400357'		0425
	PUSH	SP,C.11				; SP,[0]				400352' 261 17 0 00 400107'		0426
LBRLST								12-Apr-1985 07:11:53	TOPS-20 Bliss-36 4A(225)	    Page  19
001020								30-Dec-1982 17:43:21	DNET61:<DECNET.UTILITIES>LBRLST.BLI.1 (6)

	PUSH	SP,C.11				; SP,[0]				400353' 261 17 0 00 400107'
	PUSHJ	SP,PRINT			; SP,PRINT				400354' 260 17 0 00 400110'
	ADJSP	SP,-2				; SP,-2					400355' 105 17 0 00 777776
	JRST	L.10				; L.10					400356' 254 00 0 00 400351'		0425
L.11:	POP	SP,AC16				; SP,AC16				400357' 262 17 0 00 000016		0390
	POPJ	SP,				; SP,					400360' 263 17 0 00 000000

; Routine Size:  17 words


;   0429  1	
LBRLST								12-Apr-1985 07:11:53	TOPS-20 Bliss-36 4A(225)	    Page  20
001020								30-Dec-1982 17:43:21	DNET61:<DECNET.UTILITIES>LBRLST.BLI.1 (7)

;   0430  1	GLOBAL ROUTINE TYPE (TEXT_PTR, LENGTH) : NOVALUE =
;   0431  1	
;   0432  1	!++
;   0433  1	! FUNCTIONAL DESCRIPTION:
;   0434  1	!
;   0435  1	!
;   0436  1	!
;   0437  1	!
;   0438  1	! FORMAL PARAMETERS:
;   0439  1	!
;   0440  1	!	.TEXT_PTR				!POINTER TO TEXT STRING TO PRINT
;   0441  1	!	.LENGTH					!LENGTH OF TEXT
;   0442  1	!
;   0443  1	! IMPLICIT INPUTS:
;   0444  1	!
;   0445  1	!	NONE
;   0446  1	!
;   0447  1	! IMPLICIT OUTPUTS:
;   0448  1	!
;   0449  1	!	NONE
;   0450  1	!
;   0451  1	! ROUTINE VALUE:
;   0452  1	!
;   0453  1	!	NONE
;   0454  1	!
;   0455  1	! SIDE EFFECTS
;   0456  1	!
;   0457  1	!	NONE
;   0458  1	!
;   0459  1	!--
;   0460  1	
;   0461  2	    BEGIN
;   0462  2	    PUTFIL (.TTYBLK, .TEXT_PTR, .LENGTH);
;   0463  2	    PUTFIL (.TTYBLK, CRLF, 2);
;   0464  1	    END;					!OF TYPE


TYPE::	PUSH	SP,TTYBLK			; SP,TTYBLK				400361' 261 17 0 00 000076'		0462
	PUSH	SP,-3(SP)			; SP,TEXT_PTR				400362' 261 17 0 17 777775
	PUSH	SP,-3(SP)			; SP,LENGTH				400363' 261 17 0 17 777775
	PUSHJ	SP,PUTFIL			; SP,PUTFIL				400364' 260 17 0 00 000000*
	PUSH	SP,TTYBLK			; SP,TTYBLK				400365' 261 17 0 00 000076'		0463
	PUSH	SP,C.13				; SP,[POINT 7,P.AAA-1,34]  <1,7>	400366' 261 17 0 00 400236'
	PUSH	SP,C.14				; SP,[2]				400367' 261 17 0 00 400237'
	PUSHJ	SP,PUTFIL			; SP,PUTFIL				400370' 260 17 0 00 000000*
	ADJSP	SP,-6				; SP,-6					400371' 105 17 0 00 777772		0461
	POPJ	SP,				; SP,					400372' 263 17 0 00 000000		0430

; Routine Size:  10 words


;   0465  1	
LBRLST								12-Apr-1985 07:11:53	TOPS-20 Bliss-36 4A(225)	    Page  21
001020								30-Dec-1982 17:43:21	DNET61:<DECNET.UTILITIES>LBRLST.BLI.1 (8)

;   0466  1	GLOBAL ROUTINE TTYOPN (TTY_FILBLK) =
;   0467  1	
;   0468  1	!++
;   0469  1	! FUNCTIONAL DESCRIPTION:
;   0470  1	!
;   0471  1	!
;   0472  1	!
;   0473  1	!
;   0474  1	! FORMAL PARAMETERS:
;   0475  1	!
;   0476  1	!
;   0477  1	! IMPLICIT INPUTS:
;   0478  1	!
;   0479  1	!	NONE
;   0480  1	!
;   0481  1	! IMPLICIT OUTPUTS:
;   0482  1	!
;   0483  1	!	NONE
;   0484  1	!
;   0485  1	! ROUTINE VALUE:
;   0486  1	!
;   0487  1	!	NONE
;   0488  1	!
;   0489  1	! SIDE EFFECTS
;   0490  1	!
;   0491  1	!	NONE
;   0492  1	!
;   0493  1	!--
;   0494  1	
;   0495  2	    BEGIN
;   0496  2	    TTYBLK = .TTY_FILBLK;
;   0497  2	    OPEN (.TTYBLK, F_WRITE, F_ASCII)
;   0498  1	    END;					!OF TTYOPN


TTYOPN::MOVE	AC1,-1(SP)			; AC1,TTY_FILBLK			400373' 200 01 0 17 777777		0496
	MOVEM	AC1,TTYBLK			; AC1,TTYBLK				400374' 202 01 0 00 000076'
	PUSH	SP,TTYBLK			; SP,TTYBLK				400375' 261 17 0 00 000076'		0497
	PUSH	SP,C.10				; SP,[1]				400376' 261 17 0 00 400106'
	PUSH	SP,C.11				; SP,[0]				400377' 261 17 0 00 400107'
	PUSHJ	SP,OPEN				; SP,OPEN				400400' 260 17 0 00 000000*
	ADJSP	SP,-3				; SP,-3					400401' 105 17 0 00 777775		0495
	POPJ	SP,				; SP,					400402' 263 17 0 00 000000		0466

; Routine Size:  8 words
LBRLST								12-Apr-1985 07:11:53	TOPS-20 Bliss-36 4A(225)	    Page  22
001020								30-Dec-1982 17:43:21	DNET61:<DECNET.UTILITIES>LBRLST.BLI.1 (9)

;   0499  1	GLOBAL ROUTINE TYPLIN (TIMES, PATTERN_PTR, PRM_LIST_ADR) : NOVALUE =
;   0500  1	
;   0501  1	!++
;   0502  1	! FUNCTIONAL DESCRIPTION:
;   0503  1	!
;   0504  1	!
;   0505  1	!
;   0506  1	!
;   0507  1	! FORMAL PARAMETERS:
;   0508  1	!
;   0509  1	!	TIMES					!NUMBER OF LINES TO SKIP
;   0510  1	!						!BEFORE DISPLAYING LINE
;   0511  1	!	PATTERN					!ASCIZ STRING USED TO CONTROL
;   0512  1	!						!CONSTRUCTION OF OUTPUT LINE
;   0513  1	!	PARAMETER_LIST				!PARAMETERS TO TRANSLATE INTO
;   0514  1	!						!THE OUTPUT LINE
;   0515  1	!
;   0516  1	! IMPLICIT INPUTS:
;   0517  1	!
;   0518  1	!	NONE
;   0519  1	!
;   0520  1	! IMPLICIT OUTPUTS:
;   0521  1	!
;   0522  1	!	NONE
;   0523  1	!
;   0524  1	! ROUTINE VALUE:
;   0525  1	!
;   0526  1	!	NONE
;   0527  1	!
;   0528  1	! SIDE EFFECTS
;   0529  1	!
;   0530  1	!	NONE
;   0531  1	!
;   0532  1	!--
;   0533  1	
;   0534  2	    BEGIN
;   0535  2	
;   0536  2	    LOCAL
;   0537  2		BUFFER : CH$SEQUENCE (133),		!General editing buffer.
;   0538  2		BUF_LNG;				!Length of edited string.
;   0539  2	
;   0540  2	    BIND
;   0541  2		BUF_PTR = CH$PTR (BUFFER);		!Pointer to print buffer.
;   0542  2	
;   0543  2	
;   0544  2	    LOCAL
;   0545  2		BLANK_LINES;
;   0546  2	
;   0547  2	    BUF_LNG = .TIMES;
;   0548  2	
;   0549  2	    WHILE (BUF_LNG = .BUF_LNG - 1) GEQ 0 DO
;   0550  2		TYPE (0, 0);
LBRLST								12-Apr-1985 07:11:53	TOPS-20 Bliss-36 4A(225)	    Page  23
001020								30-Dec-1982 17:43:21	DNET61:<DECNET.UTILITIES>LBRLST.BLI.1 (9)

;   0551  2	
;   0552  2	    BUF_LNG = $EDMSG (%REF (BUF_PTR), .PATTERN_PTR, .PRM_LIST_ADR);
;   0553  2	
;   0554  2	    IF .BUF_LNG GTR 132
;   0555  2	    THEN
;   0556  3		BEGIN
;   0557  3	
;   0558  3		BIND
;   0559  3		    OVERFLOW = CH$ASCIZ (WARNING, 'I JUST OVERFLOWED MY OUTPUT BUFFER !!!!');
;   0560  3	
;   0561  3		TYPE (OVERFLOW, CH$LEN (OVERFLOW));
;   0562  2		END;
;   0563  2	
;   0564  2	    TYPE (BUF_PTR, .BUF_LNG)
;   0565  1	    END;					!OF TYPLIN


P.AAF:	BYTE	(7)"*","W","A","R","N"		; *WARN					400403' 052 127 101 122 116
	BYTE	(7)"I","N","G","*"," "		; ING*					400404' 111 116 107 052 040
	BYTE	(7)" ","I"," ","J","U"		;  I JU					400405' 040 111 040 112 125
	BYTE	(7)"S","T"," ","O","V"		; ST OV					400406' 123 124 040 117 126
	BYTE	(7)"E","R","F","L","O"		; ERFLO					400407' 105 122 106 114 117
	BYTE	(7)"W","E","D"," ","M"		; WED M					400410' 127 105 104 040 115
	BYTE	(7)"Y"," ","O","U","T"		; Y OUT					400411' 131 040 117 125 124
	BYTE	(7)"P","U","T"," ","B"		; PUT B					400412' 120 125 124 040 102
	BYTE	(7)"U","F","F","E","R"		; UFFER					400413' 125 106 106 105 122
	BYTE	(7)" ","!","!","!","!"		;  !!!!					400414' 040 041 041 041 041
	BYTE	(7)000,000,000,000,000		;					400415' 000 000 000 000 000


OVERFLOW=	    <POINT 7,P.AAF-1,34>	;						01 07 0 00 400402'


TYPLIN::PUSH	SP,AC14				; SP,AC14				400416' 261 17 0 00 000014		0499
	PUSH	SP,AC16				; SP,AC16				400417' 261 17 0 00 000016
	ADJSP	SP,34				; SP,34					400420' 105 17 0 00 000034
	MOVEI	AC1,-34(SP)			; AC1,BUFFER-1				400421' 201 01 0 17 777744		0541
	HRLI	AC1,10700			; AC1,10700				400422' 505 01 0 00 010700
	MOVE	AC14,AC1			; AC14,AC1				400423' 200 14 0 00 000001
	MOVE	AC16,-41(SP)			; BUF_LNG,TIMES				400424' 200 16 0 17 777737		0547
L.12:	SOJL	AC16,L.13			; BUF_LNG,L.13				400425' 361 16 0 00 400433'		0549
	PUSH	SP,C.11				; SP,[0]				400426' 261 17 0 00 400107'		0550
	PUSH	SP,C.11				; SP,[0]				400427' 261 17 0 00 400107'
	PUSHJ	SP,TYPE				; SP,TYPE				400430' 260 17 0 00 400361'
	ADJSP	SP,-2				; SP,-2					400431' 105 17 0 00 777776
	JRST	L.12				; L.12					400432' 254 00 0 00 400425'		0549
L.13:	MOVEM	AC14,0(SP)			; AC14,0(SP)				400433' 202 14 0 17 000000		0552
	MOVEI	AC1,0(SP)			; AC1,0(SP)				400434' 201 01 0 17 000000
	PUSH	SP,AC1				; SP,AC1				400435' 261 17 0 00 000001
	PUSH	SP,-41(SP)			; SP,PATTERN_PTR			400436' 261 17 0 17 777737
	PUSH	SP,-41(SP)			; SP,PRM_LIST_ADR			400437' 261 17 0 17 777737
	PUSHJ	SP,$EDMSG			; SP,$EDMSG				400440' 260 17 0 00 000000*
LBRLST								12-Apr-1985 07:11:53	TOPS-20 Bliss-36 4A(225)	    Page  24
001020								30-Dec-1982 17:43:21	DNET61:<DECNET.UTILITIES>LBRLST.BLI.1 (9)

	MOVE	AC16,AC1			; BUF_LNG,AC1				400441' 200 16 0 00 000001
	CAIG	AC16,204			; BUF_LNG,204				400442' 307 16 0 00 000204		0554
	JRST	L.14				; L.14					400443' 254 00 0 00 400460'
	PUSH	SP,C.18				; SP,[POINT 7,P.AAF-1,34]  <1,7>	400444' 261 17 0 00 400467'		0561
	PUSH	SP,C.17				; SP,[310]				400445' 261 17 0 00 400321'
	PUSH	SP,C.18				; SP,[POINT 7,P.AAF-1,34]  <1,7>	400446' 261 17 0 00 400467'
	PUSH	SP,C.11				; SP,[0]				400447' 261 17 0 00 400107'
	PUSHJ	SP,CHFCH%			; SP,CHFCH%				400450' 260 17 0 00 000000*
	PUSH	SP,AC1				; SP,AC1				400451' 261 17 0 00 000001
	PUSH	SP,C.18				; SP,[POINT 7,P.AAF-1,34]  <1,7>	400452' 261 17 0 00 400467'
	PUSHJ	SP,CHDIF%			; SP,CHDIF%				400453' 260 17 0 00 000000*
	ADJSP	SP,-4				; SP,-4					400454' 105 17 0 00 777774
	MOVEM	AC1,0(SP)			; AC1,0(SP)				400455' 202 01 0 17 000000
	PUSHJ	SP,TYPE				; SP,TYPE				400456' 260 17 0 00 400361'
	ADJSP	SP,-2				; SP,-2					400457' 105 17 0 00 777776		0556
L.14:	MOVEM	AC14,-1(SP)			; AC14,-1(SP)				400460' 202 14 0 17 777777		0564
	MOVEM	AC16,0(SP)			; BUF_LNG,0(SP)				400461' 202 16 0 17 000000
	PUSHJ	SP,TYPE				; SP,TYPE				400462' 260 17 0 00 400361'
	ADJSP	SP,-37				; SP,-37				400463' 105 17 0 00 777741		0541
	POP	SP,AC16				; SP,AC16				400464' 262 17 0 00 000016		0499
	POP	SP,AC14				; SP,AC14				400465' 262 17 0 00 000014
	POPJ	SP,				; SP,					400466' 263 17 0 00 000000
C.18:	POINT	7,P.AAF-1,34			; 7,P.AAF-1,34				400467' 01 07 0 00 400402'

; Routine Size:  42 words


;   0566  1	
;   0567  1	
;   0568  1	END
;   0569  1	
;   0570  0	ELUDOM




; Low  segment length:      75 words
; High segment length:     312 words




;				LIBRARY STATISTICS
;
;					     -------- Symbols --------    Blocks          Processing
;	File				     Total    Loaded   Percent      Read           Time
;
;  DNET61:<DECNET.UTILITIES>LBRCOM.L36.2       705        11         1        26	     00:00.1
LBRLST								12-Apr-1985 07:11:53	TOPS-20 Bliss-36 4A(225)	    Page  25
001020								30-Dec-1982 17:43:21	DNET61:<DECNET.UTILITIES>LBRLST.BLI.1 (9)


; Size:		268 code + 119 data words
; Run Time:	   00:04.6
; Elapsed Time:	   00:05.9
; Lines/CPU Min:    7444
; Lexemes/CPU-Min: 28850
; Memory Used:	19 pages
; Compilation Complete