Trailing-Edge
-
PDP-10 Archives
-
TOPS-20_V6.1_DECnetSrc_7-23-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