Trailing-Edge
-
PDP-10 Archives
-
decuslib10-07
-
43,50460/xglob.lpt
There are no other files named xglob.lpt in the archive.
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE 1
XGLOB MAC 19-MAR-76 13:24 B. SCHREIBER
1 TITLE XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1
2 SUBTTL B. SCHREIBER
3 SEARCH JOBDAT,UUOSYM,MACTEN,SCNMAC
4 .DIREC .XTABM
5 SALL
6
7 000000 AC= 0 ;TMP
8 000001 T1= 1 ;ALSO
9 000002 T2= 2 ;
10 000003 T3= 3
11 000004 T4= 4
12 000005 P1= 5
13 000006 P2= 6
14 000007 P3= <N=7> ;NAME SCANNED
15 000010 P4= <C=10> ;LAST CHARACTER
16 000011 F= 11 ;FLAGS
17 000012 B= 12 ;CURRENT TITLE BLOCK POINTER
18 000017 P= 17 ;PUSHDOWN AC
19
20 ;FLAGS IN LH OF F
21
22 400000 FL.NAM==(1B0) ;ON WHEN BLOCK TYPE 6 (NAME) SEEN
23 200000 FL.SKP==(1B1) ;ON WHEN SKIPING A MULT DEFINED BLOCK
24 100000 FL.TTO==(1B2) ;ON IF TTY IS OUTPUT DEVICE
25 040000 FL.PP== (1B3) ;ON FOR PRETTY PRINT (FFEED EVERY 60 LINES)
26 020000 FL.FSA==(1B4) ;ON IF FILE SPACE ALLOCATED
27 ; FL.NAR==(1B5) ;ON IF /NARROW (SET BY SCAN)
28 004000 FL.HSE==(1B6) ;ON IF BLOCK 3 (HISEG) SEEN
29
30 260740 000000 OPDEF CALL [PUSHJ P,]
31 263740 000000 OPDEF RETURN [POPJ P,]
32
33 400000 SW.LIB==1B18 ;THIS IS A LIBRARY
34 010000 000000 SW.NAR==1B5 ;THIS OUTPUT IS IN NARROW FORMAT
35 010000 000000 FL.NAR==SW.NAR ;THE VALUE IN THE FLAG WORD
36 000032 .FXLIB==.FXLEN ;-1 IF A LIBRARY FILE
37 ND FTDDT,1 ;1 FOR DEBUG FEATURES (SLIM)
38 ND FTCPU,0 ;1 TO PRINT CPU PGM WILL RUN ON
39 ND FT2SEG,0 ;1 FOR TWOSEGMENT VERSION
40 ND PDSIZ,^D50 ;PUSHDOWN LIST LENGTH
41 ND FBLKSZ,.FXLEN+1 ;LENGTH OF SCAN FILE BLOCK
42 ;LAST WORD IS FLAGS
43 ND NIBUF,6 ;INPUT BUFFER COUNT
44 ND NOBUF,2 ;OUTPUT BUFFER COUNT
45
46 EXT <.ISCAN,.TSCAN,.TSTRG,.TCHAR,.STOPN,.LKWLD,.MNRET,.TCRLF,^_
47 .SAVE1,.SAVE2,.SAVE3,.SAVE4,.TSPAC,^_
48 .POPJ,.POPJ1,.TSIXN,.TTABC,.TOLEB,.TOCTW,.TYOCH,.TTIME,^_
49 .TTIMN,.TDATE,.TDATN,.FMSG,.FMSGN,.FMSGD,.FMSGO,.FMSGF,^_
50 E.DFL,F.NAM,.TDECW>
51
52 000001 ICH== 1 ;INPUT CHANNEL
53 000002 OCH== 2 ;OUTPUT CHANNEL
54 000003 TTY== 3 ;CHANNEL FOR BUFFERED TTY OUTPUT
55
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE 1-1
XGLOB MAC 19-MAR-76 13:24 B. SCHREIBER
56 ;VERSION INFORMATION
57
58 000000 XGBWHO==0 ;LOCAL UPDATE
59 000002 XGBVER==2 ;MAJOR VERSION
60 000000 XGBMIN==0 ;MINOR VERSION
61 000004 XGBEDT==4 ;EDIT LEVEL
62
63 COMMENT \ REVISION HISTORY
64 1 CREATION
65 2 FIX UP F40 SO IT HANDLES MAIN PGMS OK
66 3 FIX LISTING--GRQ'S MISSING CALL TO INIEGO
67 2(4) ADD CODE TO SUPPORT COMMON INFORMATION
68 \
69
70 IFN FT2SEG,<
71 TWOSEG
72 RELOC 400000
73 >
74 IFE FT2SEG,<
75 000000' RELOC 0
76 >
77
78 000137 LOC .JBVER
79 000137 0 002 00 000004 VRSN. XGB
80 000000' RELOC
81
82 DEFINE SAVE ($X)<
83 XLIST
84 IRP $X,<PUSH P,$X>
85 LIST
86 >
87
88 DEFINE RESTOR ($X)<
89 XLIST
90 IRP $X,<POP P,$X>
91 LIST
92 >
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE 2
XGLOB MAC 19-MAR-76 13:24 DEFINE THE DATA STRUCTURE
93 SUBTTL DEFINE THE DATA STRUCTURE
94
95 COMMENT \THERE ARE TWO TYPES OF DATA STRUCTURES: 1) THE TITLE BLOCK,
96 WHICH CONTAINS LINKS TO THE GLOBAL REQUEST LIST AND THE ENTRY
97 LIST, AS WELL AS THE FILE SPECIFICATION FOR THE SOURCE OF THIS
98 MODULE. 2) ENTRY, GLOBAL REQUEST, LOCAL SYMBOL BLOCK. THESE BLOCKS ARE IN A
99 LIST OFF OF THE TITLE BLOCK. EACH LINK CONTAINS NAME, FLAGS, AND
100 A FEW POINTERS.
101
102 \
103
104 ;DEFINE THE TITLE BLOCK
105
106 000000 PHASE 0
107
108 000000 TL$BAK:! ;LH LINK BACKWARDS
109 000000 TL$NXT:!BLOCK 1 ;RH LINK FORWARDS
110 000001 TL$FLG:!BLOCK 1 ;LH COMPILER TYPE AND PROCESSOR CODE
111 ;RH FLAGS
112 000002 TL$NAM:!BLOCK 1 ;SIXBIT TITLE NAME
113 000003 TL$ENT:!BLOCK 1 ;LH 0, R PTR TO ENTRY LIST
114 000004 TL$GRQ:!BLOCK 1 ;LH 0, RH PTR TO GLBL REQ LIST
115 000005 TL$SIZ:!BLOCK 1 ;LH=HISEG SIZE,RH=LOWSEG SIZE
116 000006 TL$COM:!BLOCK 1 ;LH TOTAL COMMON SIZE, RH PTR TO LIST
117 000007 TL$DEV:!BLOCK 1 ;SIXBIT DEVICE
118 000010 TL$PPN:!BLOCK 1 ;PPN
119 000011 TL$FIL:!BLOCK 1 ;SIXBIT FILENAME
120 000012 TL$EXT:! ;SIXBIT EXTENSION
121 000012 TL$END:!
122 000013 TTLSIZ==TL$END+1 ;SIZE OF A TITLE BLOCK
123 000012' DEPHASE
124
125 ;NOW DEFINE THE ENTRY, GLOBAL REQUEST, AND COMMON LISTS
126
127 000000 PHASE 0
128
129 000000 EG$BAK:! ;LH LINK BACKWARDS
130 000000 EG$NXT:!BLOCK 1 ;RH LINK FORWARDS
131 000001 EG$FLG:!BLOCK 1 ;FLAGS
132 000002 EG$NAM:!BLOCK 1 ;SIXBIT NAME
133 000003 EG$TTL:! ;RH LINK TO TITLE BLOCK
134 000003 EG$ORD:!EG$END:! ;LH LINK TO NEXT ENTRY OR GRQ IN ALPHA ORDER
135 000004 EGLSIZ==EG$END+1 ;SIZE OF AN EGR BLOCK
136 000015' DEPHASE
137
138 ;DEFINE THE FLAGS USED IN THESE BLOCKS
139
140 400000 FT$LIB==1B18 ;ON IF THIS IS FROM A LIBRARY
141 200000 FT$REF==1B19 ;ON IF THIS LIB MODULE HAS BEEN REFERENCED
142 100000 FT$SCN==1B20 ;THIS LIBRARY MODULE HAS BEEN SCANED
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE 3
XGLOB MAC 19-MAR-76 13:24 MAIN PROGRAM
143 SUBTTL MAIN PROGRAM
144
145 000015' 634 01 0 00 000001 XGLOB: TDZA T1,T1 ;NORML ENTRY
146 000016' 201 01 0 00 000001 MOVEI T1,1 ;CCL ENTRY
147 000017' 047 00 0 00 000000 RESET ;STOP THE WORLD
148 000020' 202 01 0 00 002013' MOVEM T1,OFFSET ;SAVE START OFFSET FOR SCAN
149 000021' 202 00 0 00 001724' MOVEM .SGNAM,SGNAM ;SAVE INITIAL SPECS
150 000022' 202 07 0 00 001725' MOVEM .SGPPN,SGPPN
151 000023' 202 11 0 00 001726' MOVEM .SGDEV,SGDEV
152 000024' 202 17 0 00 001727' MOVEM .SGLOW,SGLOW
153 000025' 201 01 0 00 000047' MOVEI T1,XGLOB2 ;RESET START ADDR
154 000026' 542 01 0 00 000120 HRRM T1,.JBSA ;SO ^C START WILL WORK
155 000027' 200 17 0 00 004143' XGLOB1: MOVE P,[IOWD PDSIZ,PDLIST] ;INIT PUSHDOWN LIST
156 000030' 402 00 0 00 002014' STORE T1,F.ZER,L.ZER,0 ;CLEAR CORE
157 000031' 200 01 0 00 004144'
158 000032' 251 01 0 00 004142'
159
160 000033' 041 03 0 00 000000 INIT TTY,.IOASC ;GET THE TTY FOR OUTPUT
161 000034' 64 64 71 00 00 00 SIXBIT /TTY/
162 000035' 004140' 000000 XWD TOBHR,0
163 000036' 254 04 0 00 000000 HALT ;CAN'T HAPPEN!!
164 000037' 065 03 0 00 000002 OUTBUF TTY,2 ;SETUP BUFFERS NOW
165 000040' 067 03 0 00 000000 OUTPUT TTY, ;DUMMY OUTPUT
166 MOVE T1,[3,,[0 ;ARGBLOCK FOR SCAN -- NO RESCAN
167 XWD OFFSET,'XGB';STARTING OFFSET, CCL NAME
168 XWD 0,TOCHAR ;DEFAULT INPUT, BUFFERED OUTPUT ROUTINE
169 ]
170 000041' 200 01 0 00 004150' ]
171 000042' 260 17 0 00 000000* CALL .ISCAN ;INITIALIZE THE SCANNER
172 000043' 200 01 0 00 000121 MOVE T1,.JBFF ;SAVE INITIAL CORE END
173 000044' 504 01 0 00 000044 HRL T1,.JBREL ;AND END OF CORE
174 000045' 202 01 0 00 002012' MOVEM T1,SAVJFF ;...
175 000046' 254 00 0 00 000051' JRST GBXSCN
176
177 000047' 047 00 0 00 000000 XGLOB2: RESET ;HERE ON ^C START
178 000050' 254 00 0 00 000027' JRST XGLOB1
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE 4
XGLOB MAC 19-MAR-76 13:24 MAIN PROGRAM
179 000051' 400 11 0 00 000000 GBXSCN: SETZ F, ;CLEAR THE FLAGS
180 000052' 260 17 0 00 000364' CALL UPSCN ;MAKE SURE HISEG IS THERE
181 000053' 201 12 0 00 004134' MOVEI B,LSTHED ;INITIALIZE THE POINTER
182 MOVE T1,[11,[IOWD GBXSWL,GBXSWN ;ARGBLOCK FOR .TSCAN
183 XWD GBXSWD,GBXSWM
184 EXP GBXSWP ;POINTER TO SWITCH POINTERS
185 EXP -1 ;USE JOB TABLE FOR NAME
186 XWD CLRANS,CLRFIL
187 XWD ALCIN,ALCOUT
188 XWD 0,0 ;MEMSTK,APLSTK
189 0
190 EXP SWTSTO ;STORE SWITCHES
191 ]
192 000054' 200 01 0 00 004162' ]
193 000055' 260 17 0 00 000000* CALL .TSCAN ;PARSE A LINE
194 000056' 434 11 0 00 004073' IOR F,FLAGS ;GET THE FLAGS
195 000057' 260 17 0 00 000144' CALL SCNCHK ;LEGALIZE THE SCAN BLOCKS
196 000060' 402 00 0 00 002030' SETZM WLDTMP ;CLEAR TEMP STORE FOR WILD
197 000061' 201 01 0 00 004075' MOVEI T1,O.AREA ;BEGINNING OF OUTPUT SPEC
198 000062' 201 02 0 00 002031' MOVEI T2,OPNBLK ;ADDRESS OF 3 WORD OPEN BLOCK
199 000063' 200 03 0 00 004163' MOVE T3,[.RBSIZ+1,,LKPBLK] ;SIZE,,ADDRESS OF LOOKUP BLOCK
200 000064' 556 03 0 00 002022' HLRZM T3,LKPBLK ;SET SIZE INTO LOOKUP BLOCK
201 000065' 260 17 0 00 000000* CALL .STOPN ;CONVERT SCAN BLOCK TO OPEN/ENTER BLOCK
202 JRST [MOVE T1,OPNBLK+.OPDEV ;GET DEVICE
203 DEVCHR T1, ;FIND WHAT SORT IT IS
204 TXNE T1,DV.DIR ;HAVE A DIRECTORY?
205 JRST E.WOI ;YES, ERROR THEM
206 000066' 254 00 0 00 004164' JRST DOXGLB] ;NO, FORGE AHEAD
207
208 000067' 554 01 0 00 002032' DOXGLB: HLRZ T1,OPNBLK+.OPDEV;GET THE DEVICE NAME
209 000070' 306 01 0 00 646471 CAIN T1,'TTY' ;TTY IS DIFFERENT
210 JRST [TLO F,FL.TTO;YES, OUTPUT TO TTY
211 000071' 254 00 0 00 004171' JRST DOXGL1] ;BUT INPUT IS THE SAME
212 000072' 201 01 0 00 000000 MOVEI T1,.IOASC ;OPEN OUTPUT IN ASCII
213 000073' 436 01 0 00 002031' IORM T1,OPNBLK+.OPMOD
214 000074' 205 01 0 00 002014' MOVSI T1,OUTBHR ;BUFFER HEADER
215 000075' 202 01 0 00 002033' MOVEM T1,OPNBLK+.OPBUF
216 000076' 050 02 0 00 002031' OPEN OCH,OPNBLK ;GET THE DEVICE
217 000077' 254 00 0 00 000234' JRST E.OPN ;CAN'T
218 000100' 077 02 0 00 002022' ENTER OCH,LKPBLK ;WRITE THE FILE
219 000101' 254 00 0 00 000243' JRST E.ENT ;CAN'T
220 000102' 201 01 0 00 002034' MOVEI T1,OUTBUF ;SET UP BUFFERS
221 000103' 250 01 0 00 000121 EXCH T1,.JBFF
222 000104' 065 02 0 00 000002 OUTBUF OCH,NOBUF
223 000105' 202 01 0 00 000121 MOVEM T1,.JBFF ;RESTORE JOBFF
224 ; SETZ T1, ;GET MY RUNTIME
225 ; RUNTIM T1,
226 ; MOVEM T1,TIMEON
227
228 ;HERE TO GET NEXT INPUT FILE
229
230 000106' 260 17 0 00 000364' DOXGL1: CALL UPSCN ;MAKE SURE SCAN IS THERE
231 MOVE T1,[4,,[INBEG,,INEND ;INPUT START,INPUT END
232 OPNBLK,,LKPBLK ;
233 FBLKSZ,,.RBSIZ+1;INPUT SIZE,,OUTPUT SIZE
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE 4-1
XGLOB MAC 19-MAR-76 13:24 MAIN PROGRAM
234 EXP 1B0+WLDTMP
235 ]
236 000107' 200 01 0 00 004177' ]
237 000110' 260 17 0 00 000000* CALL .LKWLD ;FIND A FILE
238 000111' 254 00 0 00 000132' JRST DOXGLF ;FINISH UP, NO MORE FILES
239 000112' 540 11 0 00 002030' HRR F,WLDTMP ;GET ADDRESS OF CURRENT SCAN BLOCK
240 000113' 201 01 0 00 000014 MOVEI T1,.IOBIN ;DO THE INPUT IN BINARY
241 000114' 436 01 0 00 002031' IORM T1,OPNBLK+.OPMOD
242 000115' 201 01 0 00 002017' MOVEI T1,INPBHR ;INPUT HEADER
243 000116' 202 01 0 00 002033' MOVEM T1,OPNBLK+.OPBUF
244 000117' 050 01 0 00 002031' OPEN ICH,OPNBLK ;OPEN THE DEVICE
245 000120' 254 00 0 00 000234' JRST E.OPN ;CAN'T
246 000121' 076 01 0 00 002022' LOOKUP ICH,LKPBLK
247 000122' 254 00 0 00 000251' JRST E.LKP
248 000123' 201 01 0 00 002442' MOVEI T1,INPBUF ;SETUP BUFFERS
249 000124' 250 01 0 00 000121 EXCH T1,.JBFF
250 000125' 064 01 0 00 000006 INBUF ICH,NIBUF
251 000126' 202 01 0 00 000121 MOVEM T1,.JBFF
252
253 000127' 260 17 0 00 000355' CALL DWNSCN ;DOWN WITH HISEG
254 000130' 260 17 0 00 000440' CALL DOFILE ;PROCESS THE FILE
255 000131' 254 00 0 00 000106' JRST DOXGL1 ;DO NEXT FILE
256
257 000132' 260 17 0 00 000355' DOXGLF: CALL DWNSCN ;.TOUTS IS IN THE LOWSEG
258 000133' 260 17 0 00 001223' CALL LISTIT ;OUTPUT THE LISTING
259 000134' 603 11 0 00 100000 TLNE F,FL.TTO ;IF TTY OUTPUT
260 000135' 254 00 0 00 000142' JRST XGLF1 ;SKIP AHEAD
261 000136' 201 01 0 00 000014 MOVEI T1,.CHFFD ;BOOT TO NEW PAGE AT END
262 000137' 260 17 0 00 001650' CALL OBYTE ;...
263 000140' 070 02 0 00 000000 CLOSE OCH,
264 000141' 071 02 0 00 000000 RELEASE OCH,
265 000142' 071 01 0 00 000000 XGLF1: RELEASE ICH,
266 ; SETZ T1,
267 ; RUNTIM T1, ;SEE HOW LONG IT TOOK
268 ; SUB T1,TIMEON ;IN MILLISECS
269 ; CALL .TTIME ;TYPE THE TIME
270 ; MOVEI T1,[ASCIZ\ CPU TIME
271 ;\]
272 ; CALL .TSTRG ;OUTPUT IT
273 000143' 254 00 0 00 000051' JRST GBXSCN ;NEXT COMMAND
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE 5
XGLOB MAC 19-MAR-76 13:24 SCNCHK VERIFIES SCANNED COMMAND
274 SUBTTL SCNCHK VERIFIES SCANNED COMMAND
275
276 000144' 260 17 0 00 000000* SCNCHK: CALL .SAVE1 ;
277 000145' 201 02 0 00 004075' MOVEI T2,O.AREA ;GET POINTER TO OUTPUT SPEC
278 000146' 205 01 0 00 546064 MOVSI T1,'LPT' ;YES, GET DEFAULT DEVICE
279 000147' 336 00 0 02 000000 SKIPN .FXDEV(T2) ;DID USER SPECIFY ONE?
280 000150' 202 01 0 02 000000 MOVEM T1,.FXDEV(T2) ;NO, USE DEFAULT
281 000151' 336 05 0 00 004131' SKIPN P1,INBEG ;GET ADDRESS OF INPUT SPEC
282 000152' 254 00 0 00 000220' JRST E.NIS ;WASN'T ANY?
283 000153' 336 01 0 05 000001 SKIPN T1,.FXNAM(P1) ;WAS THERE A NAME?
284 000154' 254 00 0 00 000203' JRST E.NFI ;NO
285 000155' 336 00 0 02 000001 SKIPN .FXNAM(T2) ;WAS THERE AN OUTPUT NAME?
286 000156' 202 01 0 02 000001 MOVEM T1,.FXNAM(T2) ;NO, USE FIRST INPUT NAME
287 000157' 205 01 0 00 777777 MOVSI T1,-1 ;SET TO CHECK NAME
288 000160' 612 01 0 02 000003 TDNE T1,.FXEXT(T2) ;WAS EXTENSION GIVEN?
289 000161' 254 00 0 00 000166' JRST SCNCK1 ;YES, DON'T DIDDLE
290 000162' 200 04 0 02 000004 MOVE T4,.FXMOD(T2) ;NO, GET FLAG
291 000163' 525 01 0 00 546364 HRLOI T1,'LST' ;INCASE DEFAULT NEEDED
292 000164' 603 04 0 00 200000 TXNE T4,FX.NUL ;EXPLICITLY NULL?
293 000165' 202 01 0 02 000003 MOVEM T1,.FXEXT(T2) ;NO, STORE DEFAULT
294
295 000166' 336 00 0 05 000001 SCNCK1: SKIPN .FXNAM(P1) ;INPUT NAME SPECIFIED?
296 000167' 254 00 0 00 000203' JRST E.NFI
297 000170' 205 01 0 00 777777 MOVSI T1,-1 ;
298 000171' 612 01 0 05 000003 TDNE T1,.FXEXT(P1) ;GIVEN?
299 000172' 254 00 0 00 000177' JRST SCNCK2 ;YES, CHECK NEXT BLOCK
300 000173' 200 02 0 05 000004 MOVE T2,.FXMOD(P1) ;GET FLAGS
301 000174' 525 01 0 00 624554 HRLOI T1,'REL' ;INCASE NEEDED
302 000175' 603 02 0 00 200000 TXNE T2,FX.NUL ;SPECIFICALLY NULL?
303 000176' 202 01 0 05 000003 MOVEM T1,.FXEXT(P1) ;NO, STORE DEFAULT
304 000177' 316 05 0 00 004132' SCNCK2: CAMN P1,INEND ;DONE SCANNING INPUT BLOCKS?
305 000200' 263 17 0 00 000000 RETURN ;YES
306 000201' 271 05 0 00 000033 ADDI P1,FBLKSZ ;NO, MOVE TO NEXT ONE
307 000202' 254 00 0 00 000166' JRST SCNCK1 ;CHECK IT OUT
308
309 000203' 265 01 0 00 000000* E.NFI: M.FAIL (NULL FILENAME ILLEGAL)
310 000211' 265 01 0 00 000203* E.WOI: M.FAIL (WILD CARD ON OUTPUT ILLEGAL)
311 000220' 265 01 0 00 000211* E.NIS: M.FAIL (NULL INPUT SPEC ILLEGAL)
312 000226' 265 01 0 00 000220* E.TMO: M.FAIL (TOO MANY OUTPUT SPECS)
313 000234' 200 07 0 00 002032' E.OPN: MOVE N,OPNBLK+.OPDEV ;GET DEVICE NAME
314 000235' 265 01 0 00 000000* M.FAIN (OPEN ERROR FOR DEVICE )
315 000243' 201 07 0 00 004075' E.ENT: MOVEI N,O.AREA ;POINT AT THE SPEC
316 000244' 265 01 0 00 000000* M.FAIF (ENTER ERROR FOR )
317 000251' 260 17 0 00 000000* E.LKP: CALL E.DFL
318 000252' 200 17 0 00 004143' SCNERR: MOVE P,[IOWD PDSIZ,PDLIST] ;RESET PDLIST
319 000253' 260 17 0 00 000000* CALL .CLRBF## ;CLEAR THE INPUT TYPE AHEAD
320 000254' 254 00 0 00 000051' JRST GBXSCN ;FORGE ONWARD
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE 6
XGLOB MAC 19-MAR-76 13:24 CLRANS/ALCOUT/ALCINP
321 SUBTTL CLRANS/ALCOUT/ALCINP
322
323 000255' 331 01 0 00 004133' CLRFIL: SKIPL T1,INXTZ ;BLOCK ALLOC?
324 000256' 254 00 0 00 000265' JRST CLRFL1 ;NO
325 000257' 553 00 0 00 000001 HRRZS T1 ;YES, CLEAR LH
326 000260' 550 02 0 00 002012' HRRZ T2,SAVJFF ;START OF LIST
327 000261' 316 01 0 00 000002 CAMN T1,T2 ;THIS THE FIRST?
328 000262' 402 00 0 00 004131' SETZM INBEG ;YES, START OVER
329 000263' 275 01 0 00 000033 SUBI T1,FBLKSZ ;COMPUTE END OF CORE
330 000264' 202 01 0 00 000121 MOVEM T1,.JBFF
331 000265' 402 00 0 00 004133' CLRFL1: SETZM INXTZ
332 000266' 263 17 0 00 000000 RETURN
333
334 000267' CLRANS:
335 000267' 402 00 0 00 004073' STORE T1,SCN.F,SCN.Z,0 ;CLEAR SCANNER INFO
336 000270' 200 01 0 00 004200'
337 000271' 251 01 0 00 004137'
338 000272' 200 01 0 00 002012' MOVE T1,SAVJFF ;RESTORE JOBFF
339 000273' 552 01 0 00 000121 HRRZM T1,.JBFF
340 000274' 557 00 0 00 000001 HLRZS T1 ;GET JOBREL BACK
341 000275' 312 01 0 00 000044 CAME T1,.JBREL ;IS IT THE SAME?
342 000276' 047 01 0 00 000011 CORE T1, ;NO, SHRINK IT BACK
343 000277' 255 00 0 00 000000 JFCL ;IGNORE THE ERROR
344 000300' 263 17 0 00 000000 RETURN ;BACK TO SCAN
345
346 000301' 201 01 0 00 004075' ALCOUT: MOVEI T1,O.AREA ;GET ADDRESS
347 000302' 201 02 0 00 000032 MOVEI T2,O.SIZE ;AND SIZE
348 000303' 476 00 0 00 004137' SETOM OUTDON ;FLAG OUTPUT SIDE DONE
349 000304' 263 17 0 00 000000 RETURN
350
351 000305' 335 00 0 00 004133' ALCIN: SKIPGE INXTZ ;FUNNY IN PROGRESS?
352 000306' 254 00 0 00 000317' JRST ALCIN1 ;YES
353 000307' 201 01 0 00 000033 MOVEI T1,FBLKSZ ;SIZE OF BLOCK
354 000310' 260 17 0 00 000340' CALL GETCOR ;GET SOME SPACE
355 000311' 336 00 0 00 004131' SKIPN INBEG ;FIRST ONE?
356 000312' 202 01 0 00 004131' MOVEM T1,INBEG ;YES, REMEMBER WHERE IT IS
357 000313' 202 01 0 00 004132' MOVEM T1,INEND ;SAVE ADDRESS OF LAST
358 000314' 540 11 0 00 000001 ALCIN2: HRR F,T1 ;BLOCK ADDRESS INTO F
359 000315' 201 02 0 00 000032 MOVEI T2,.FXLEN ;RETURN SIZE
360 000316' 263 17 0 00 000000 RETURN
361 000317' 553 01 0 00 004133' ALCIN1: HRRZS T1,INXTZ ;CLEAR FUNNY FLAG
362 000320' 254 00 0 00 000314' JRST ALCIN2 ;BLOCK IS ALREADY ALLOCATED
363
364 000321' 331 00 0 00 004137' SWTSTO: SKIPL OUTDON ;GOT OUTPUT?
365 000322' 263 17 0 00 000000 RETURN ;NO,IGNORE
366 000323' 332 00 0 00 000000* SKIPE F.NAM ;GLOBAL SWTCHES?
367 000324' 254 00 0 00 000331' JRST SWTLOC ;NO
368 000325' 201 01 0 00 400000 MOVX T1,SW.LIB ;YES, GET LIB SWITCH
369 000326' 436 01 0 00 004073' IORM T1,FLAGS
370 000327' 436 01 0 00 004074' IORM T1,FLAGS+1
371 000330' 263 17 0 00 000000 RETURN
372 000331' 336 01 0 00 004133' SWTLOC: SKIPN T1,INXTZ ;BLOCK SET UP?
373 000332' 254 00 0 00 000335' JRST SWTLC1 ;NO
374 000333' 476 00 0 01 000032 SWTLC2: SETOM .FXLIB(T1) ;STORE FLAG ON
375 000334' 263 17 0 00 000000 RETURN
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE 6-1
XGLOB MAC 19-MAR-76 13:24 CLRANS/ALCOUT/ALCINP
376 000335' 260 17 0 00 000305' SWTLC1: CALL ALCIN ;GET A BLOCK
377 000336' 562 01 0 00 004133' HRROM T1,INXTZ ;FLAG FUNNY
378 000337' 254 00 0 00 000333' JRST SWTLC2 ;GO STORE
379
380 ;GETCOR
381 ;CALL: MOVEI T1,WORDS
382 ; CALL GETCOR
383 ; *RETURN T1=ADDR OF CORE*
384
385 000340' 200 02 0 00 000001 GETCOR: MOVE T2,T1 ;COPY # WORDS
386 000341' 200 01 0 00 000121 MOVE T1,.JBFF ;GET ADDRESS OF BLOCK
387 000342' 273 02 0 00 000121 ADDB T2,.JBFF ;UPDATE NEW END OF CORE
388 000343' 317 02 0 00 000044 CAMG T2,.JBREL ;OK?
389 000344' 263 17 0 00 000000 RETURN ;YES, IN MY MEMORY
390 000345' 047 02 0 00 000011 CORE T2, ;NO, GET SOME MORE
391 000346' 334 00 0 00 000000 SKIPA ;???CAN'T
392 000347' 263 17 0 00 000000 RETURN
393 000350' 260 17 0 00 000364' CALL UPSCN ;SEE ABOUT THE HISEG
394 MOVEI T1,[ASCIZ\?GBXNEC NOT ENOUGH CORE
395 000351' 201 01 0 00 004201' \]
396 000352' 260 17 0 00 000000* CALL .TSTRG
397 000353' 260 17 0 00 000000* CALL .MNRET
398 000354' 254 00 0 00 000353' JRST .-1 ;NO HOPE
399
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE 7
XGLOB MAC 19-MAR-76 13:24 CLRANS/ALCOUT/ALCINP
400 IFN FT2SEG,<
401 DWNSCN= .POPJ ;WE'RE UP THERE TOO!
402 UPSCN= .POPJ
403 >
404 IFE FT2SEG,< ;ARE WE IN THE LOWSEGMENT?
405 000355' 335 00 0 00 000437' DWNSCN: SKIPGE SCNDWN ;WHERE IS THE LITTLE RASCAL?
406 000356' 263 17 0 00 000000 RETURN ;HE WENT AWAY
407 000357' 205 01 0 00 000001 MOVSI T1,1 ;STILL HERE,
408 000360' 047 01 0 00 000011 CORE T1, ;BUT THIS SHOULD GET HIM
409 000361' 263 17 0 00 000000 RETURN ;DIDN'T? SNH
410 000362' 476 00 0 00 000437' SETOM SCNDWN ;SAY SCAN HAS GONE AWAY
411 000363' 263 17 0 00 000000 RETURN ;AND GO AWAY
412
413 000364' 331 00 0 00 000437' UPSCN: SKIPL SCNDWN ;IS SCAN MISSING?
414 000365' 263 17 0 00 000000 RETURN ;NO, HE'S RIGHT ABOVE ME
415 000366' 202 17 0 00 000436' MOVEM 17,SAV17 ;SAVE ACS OVER GETSEG UUO
416 000367' 201 17 0 00 000417' MOVEI 17,SAV0 ;STASH THEM AWAY
417 000370' 251 17 0 00 000435' BLT 17,SAV0+16 ;...
418 000371' 200 01 0 00 001726' MOVE T1,SGDEV ;GET DEVICE
419 000372' 202 01 0 00 000411' MOVEM T1,SEGBLK ;PUT IN SEG BLOCK
420 000373' 200 01 0 00 001724' MOVE T1,SGNAM ;DITTO FOR THE REST
421 000374' 202 01 0 00 000412' MOVEM T1,SEGBLK+1
422 000375' 402 00 0 00 000413' SETZM SEGBLK+2
423 000376' 402 00 0 00 000414' SETZM SEGBLK+3
424 000377' 200 01 0 00 001725' MOVE T1,SGPPN
425 000400' 202 01 0 00 000415' MOVEM T1,SEGBLK+4
426 000401' 402 00 0 00 000416' SETZM SEGBLK+5
427 000402' 201 01 0 00 000411' SEGAGN: MOVEI T1,SEGBLK
428 000403' 047 01 0 00 000040 GETSEG T1,
429 000404' 334 00 0 00 000000 SKIPA
430 JRST [SETZM SCNDWN
431 MOVSI 17,SAV0
432 BLT 17,17
433 000405' 254 00 0 00 004207' RETURN]
434 OUTSTR [ASCIZ\?XGBNGS CANNOT GET HISEG BACK
435 000406' 051 03 0 00 004213' \]
436 000407' 047 01 0 00 000012 EXIT 1,
437 000410' 254 00 0 00 000402' JRST SEGAGN
438 000411' SEGBLK: BLOCK 6 ;ARGLIST FOR GETSEG UUUO
439 000417' SAV0: BLOCK 20 ;SAVE ACS OVER GETSEG UUO
440 000436' SAV17=.-1
441 000437' SCNDWN: BLOCK 1 ;-1 WHEN SCAN HAS TAKEN A VACATION
442 >;END IFE FT2SEG
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE 8
XGLOB MAC 19-MAR-76 13:24 DO ONE FILE
443 SUBTTL DO ONE FILE
444
445 000440' 260 17 0 00 000000* DOFILE: CALL .SAVE2 ;NEED P1,P2
446 000441' 402 00 0 00 004072' SETZM HSEGOR ;CLEAR ORIGINS
447 000442' 402 00 0 00 004071' SETZM LSEGOR ;...
448 000443' 621 11 0 00 604000 TLZ F,FL.NAM!FL.SKP!FL.HSE ;CLEAR VITAL FLAGS
449 000444' 265 02 0 00 000530' FILREAD:JSP T2,IBYTEJ ;GET NEXT BLOCK TYPE
450 000445' 554 05 0 00 000001 HLRZ P1,T1 ;GET BLOCK CODE
451 000446' 550 06 0 00 000001 HRRZ P2,T1 ;AND SIZE
452 000447' 306 05 0 00 000014 CAIN P1,14 ;IF INDEX BLOCK
453 000450' 254 00 0 00 000533' JRST RDNDXB ;DO SPECIAL
454 000451' 302 05 0 00 000400 CAIE P1,400 ;CHECK FOR F40
455 000452' 306 05 0 00 000401 CAIN P1,401 ;OR MANTIS
456 000453' 254 00 0 00 000675' JRST RDF40 ;YES
457 000454' 205 03 0 00 777766 MOVSI T3,-NBLKTY ;AOBJN
458 000455' 312 05 0 03 000504' CAME P1,BLKTYP(T3) ;THIS IT/
459 000456' 253 03 0 00 000455' AOBJN T3,.-1 ;NO, LOOP FOR ALL
460 000457' 325 03 0 00 000465' JUMPGE T3,FILRD4 ;JUMP IF NOT FOUND YET
461 000460' 265 02 0 00 000530' JSP T2,IBYTEJ ;SKIP RELOC WORD
462 000461' 305 05 0 00 000100 CAIGE P1,100 ;LEGAL BLOCK TYPE (OLDSTYLE)
463 000462' 260 17 0 00 001066' CALL COUNT ;YES, GET CORRECT COUNT
464 000463' 367 06 1 03 000516' SOJG P2,@BLKDIS(T3) ;COUNT RELOC WORD AND JUMP OFF
465 000464' 254 00 0 00 000444' JRST FILREAD ;NULL BLOCK (RELOC WORD ONLY)
466 000465' 301 05 0 00 000100 FILRD4: CAIL P1,100 ;OLD TYPE LEGAL?
467 000466' 254 00 0 00 000473' JRST FILRD2 ;NO, MUST CHECK SOME MORE
468 000467' 260 17 0 00 001066' FILRD1: CALL COUNT ;COMPUTE CORRECT SIZE
469 000470' 361 06 0 00 000444' FILRD3: SOJL P2,FILREAD ;JUMP IF DONE
470 000471' 265 02 0 00 000530' JSP T2,IBYTEJ
471 000472' 254 00 0 00 000470' JRST FILRD3 ;MORE
472
473 000473' 301 05 0 00 001000 FILRD2: CAIL P1,1000 ;IS IT A NEW BLOCK TYPE?
474 000474' 301 05 0 00 001777 CAIL P1,1777 ;...
475 000475' 334 00 0 00 000000 SKIPA ;NO, SEE IF ASCII
476 000476' 254 00 0 00 000470' JRST FILRD3 ;YES, SKIP IT
477 000477' 307 05 0 00 003777 CAIG P1,3777 ;IS IT ASCII?
478 000500' 254 00 0 00 000751' JRST E.BLKT ;NO, ILLEGAL TYPE
479 000501' 265 02 0 00 000530' JSP T2,IBYTEJ
480 000502' 326 01 0 00 000500' JUMPN T1,.-2 ;WATCH FOR THE 'Z' IN ASCIZ
481 000503' 254 00 0 00 000444' JRST FILREAD ;GET NEXT BLOCK
482
483 000504' 000000 000004 BLKTYP: EXP 4 ;ENTRY BLOCK
484 000505' 000000 001001 EXP 1001 ;ENTRY BLOCK
485 000506' 000000 001002 EXP 1002 ;LONG ENTRY BLOCK
486 000507' 000000 000003 EXP 3 ;HISEG BLOCK
487 000510' 000000 000006 EXP 6 ;NAME BLOCK
488 000511' 000000 001003 EXP 1003 ;NAME BLOCK
489 000512' 000000 000002 EXP 2 ;SYMBOL
490 000513' 000000 000020 EXP 20 ;COMMON ALLOCATION
491 000514' 000000 000005 EXP 5 ;END BLOCK
492 000515' 000000 001040 EXP 1040 ;END BLOCK
493 000012 NBLKTY==.-BLKTYP
494
495 000516' 000000 000622' BLKDIS: EXP RDNTRY
496 000517' 000000 000622' EXP RDNTRY
497 000520' 000000 000622' EXP RDNTRY
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE 8-1
XGLOB MAC 19-MAR-76 13:24 DO ONE FILE
498 000521' 000000 000537' EXP RDHSEG
499 000522' 000000 000641' EXP RDNAME
500 000523' 000000 000641' EXP RDNAME
501 000524' 000000 000565' EXP RDSYMB
502 000525' 000000 000550' EXP RDCOMM
503 000526' 000000 000577' EXP RDEND
504 000527' 000000 000577' EXP RDEND
505
506 000530' 260 17 0 00 001667' IBYTEJ: CALL IBYTE ;GET A BYTE
507 000531' 263 17 0 00 000000 RETURN ;EOF
508 000532' 254 00 0 02 000000 JRST (T2) ;OK, RETURN
509
510 000533' 550 03 0 00 000001 RDNDXB: HRRZ T3,T1 ;GET SIZE OF BLOCK
511 000534' 265 02 0 00 000530' JSP T2,IBYTEJ ;SKIP ONE
512 000535' 367 03 0 00 000534' SOJG T3,.-1 ;SKIP THEM ALL
513 000536' 254 00 0 00 000444' JRST FILREAD ;CONTINUE
514
515 000537' 661 11 0 00 004000 RDHSEG: TLO F,FL.HSE ;FLAG HISEG SEEN
516 000540' 265 02 0 00 000530' JSP T2,IBYTEJ ;GET HIGH SEG ORIGIN
517 000541' 370 00 0 00 000006 SOS P2 ;COUNT HISEG ORIGIN
518 000542' 402 00 0 00 004071' SETZM LSEGOR ;CLEAR IN CASE NONE
519 000543' 552 01 0 00 004072' HRRZM T1,HSEGOR ;SAVE HISEG ORIGIN
520 000544' 361 06 0 00 000444' SOJL P2,FILREAD ;JUMP IF NO 2ND WORD
521 000545' 265 02 0 00 000530' JSP T2,IBYTEJ ;GET LOWSEG ORIGIN
522 000546' 552 01 0 00 004071' HRRZM T1,LSEGOR ;...
523 000547' 254 00 0 00 000470' JRST FILRD3 ;CONTINUE
524
525 ;HERE TO READ COMMON ALLOCATION BLOCK
526
527 000550' 265 02 0 00 000530' RDCOMM: JSP T2,IBYTEJ ;GET NAME
528 000551' 370 00 0 00 000006 SOS P2
529 000552' 260 17 0 00 000760' CALL R50T6 ;CONVERT TO SIXBIT
530 000553' 260 17 0 00 001152' CALL NTRCOM ;ENDTER IN THE LIST
531 JRST [JSP T2,IBYTEJ ;ALREADY DEFINED IN THIS MODULE
532 000554' 254 00 0 00 004222' JRST RDCOM1] ;IGNORE IT
533 000555' 200 05 0 00 000001 MOVE P1,T1 ;REMEMBER WHERE BLOCK IS
534 000556' 265 02 0 00 000530' JSP T2,IBYTEJ ;GET SIZE
535 000557' 554 02 0 12 000006 HLRZ T2,TL$COM(B) ;GET TOTAL COMMON ALLOC SO FAR
536 000560' 271 02 0 01 000000 ADDI T2,(T1) ;TOTAL NEW
537 000561' 506 02 0 12 000006 HRLM T2,TL$COM(B) ;SAVE
538 000562' 506 01 0 05 000001 HRLM T1,EG$FLG(P1) ;STORE COMMON ALLOCATION IN COMMON BLOC
539 000563' 363 06 0 00 000444' RDCOM1: SOJLE P2,FILREAD ;EXIT IF ENOUGH
540 000564' 254 00 0 00 000550' JRST RDCOMM ;THERE IS MORE
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE 9
XGLOB MAC 19-MAR-76 13:24 DO ONE FILE
541 000565' 265 02 0 00 000530' RDSYMB: JSP T2,IBYTEJ ;GET THE SYMBOL
542 000566' 135 02 0 00 004224' LDB T2,[POINT 4,T1,3] ;GET CODE
543 000567' 302 02 0 00 000014 CAIE T2,14 ;GLOBAL REQUEST?
544 000570' 254 00 0 00 000573' JRST RDSYM1 ;***NO, IGNORE THIS SYMBOL
545 000571' 260 17 0 00 000760' CALL R50T6 ;CONVER TO SIXBIT IN T1
546 000572' 260 17 0 00 001143' CALL NTRGRQ ;ENTER THIS REQUEST INTO THE CHAIN
547
548 000573' 361 06 0 00 000444' RDSYM1: SOJL P2,FILREAD ;COUNT SYMBOL AND JUMP IF AT END OF BLOCK
549 000574' 265 02 0 00 000530' JSP T2,IBYTEJ ;SKIP VALUE
550 000575' 367 06 0 00 000565' SOJG P2,RDSYMB ;JUMP IF MORE SYMBOLS
551 000576' 254 00 0 00 000444' JRST FILREAD ;NO, READ NEXT BLOCK TYPE
552
553 000577' 621 11 0 00 200000 RDEND: TLZ F,FL.SKP ;CLEAR SKIP FLAG
554 000600' 627 11 0 00 400000 TLZN F,FL.NAM ;HAVE A NAME BLOCK?
555 000601' 254 00 0 00 000614' JRST RDEND1 ;NO NOT TODAY
556 000602' 265 02 0 00 000530' JSP T2,IBYTEJ ;GET FIRST DATA WORD
557 000603' 370 00 0 00 000006 SOS P2 ;COUNT IT
558 000604' 627 11 0 00 004000 TLZN F,FL.HSE ;YES, HAVE A HISEG BLOCK?
559 000605' 254 00 0 00 000617' JRST RDEND2 ;NO, LOWSEG ONLY
560 000606' 274 01 0 00 004072' SUB T1,HSEGOR ;YES, COMPUTE HISEG SIZE
561 000607' 506 01 0 12 000005 HRLM T1,TL$SIZ(B) ;SAVE IN TITLE BLOCK
562 000610' 361 06 0 00 000444' SOJL P2,FILREAD ;JUMP IF DONE
563 000611' 265 02 0 00 000530' JSP T2,IBYTEJ ;GET LOWSEG BREAK
564 000612' 274 01 0 00 004071' SUB T1,LSEGOR ;COMPUTE SIZE
565 000613' 542 01 0 12 000005 HRRM T1,TL$SIZ(B)
566 000614' 361 06 0 00 000444' RDEND1: SOJL P2,FILREAD
567 000615' 265 02 0 00 000530' JSP T2,IBYTEJ ;SKIP ANY LEFT
568 000616' 254 00 0 00 000614' JRST RDEND1
569
570 000617' 274 01 0 00 004071' RDEND2: SUB T1,LSEGOR ;COMPUTE LOWSEG SIZE
571 000620' 552 01 0 12 000005 HRRZM T1,TL$SIZ(B) ;SAVE
572 000621' 254 00 0 00 000614' JRST RDEND1 ;CONTINUE
573
574 000622' 603 11 0 00 400000 RDNTRY: TLNE F,FL.NAM ;HAVE A TITLE BLOCK?
575 000623' 254 00 0 00 000630' JRST RDNT1 ;YES
576 000624' 400 01 0 00 000000 SETZ T1, ;NO, REQUEST ONE
577 000625' 260 17 0 00 001074' CALL NTRTTL ;WITH NULL NAME
578 000626' 254 04 0 00 000626' HALT . ;DIAGNOSTIC
579 000627' 661 11 0 00 400000 TLO F,FL.NAM ;WE HAVE ONE NOW
580 000630' 205 05 0 00 777756 RDNT1: MOVSI P1,-22 ;RELOC WORD EVERY 18
581 000631' 265 02 0 00 000530' RDNT2: JSP T2,IBYTEJ ;GET ENTRY NAME
582 000632' 260 17 0 00 000760' CALL R50T6 ;CONVERT TO SIXBIT
583 000633' 260 17 0 00 001134' CALL NTRENT ;PUT IT IN THE LIST OF ENTRIES
584 000634' 363 06 0 00 000444' SOJLE P2,FILREAD ;JUMP IF END OF BLOCK
585 000635' 253 05 0 00 000631' AOBJN P1,RDNT2 ;JUMP IF NOT RELOC TIME
586 000636' 265 02 0 00 000530' JSP T2,IBYTEJ ;GET RELOC WORD
587 000637' 367 06 0 00 000630' SOJG P2,RDNT1 ;JUMP IF MORE ENTRIES
588 000640' 254 00 0 00 000444' JRST FILREAD ;NO, GET NEXT BLOCK
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE 10
XGLOB MAC 19-MAR-76 13:24 DO ONE FILE
589 000641' 265 02 0 00 000530' RDNAME: JSP T2,IBYTEJ ;GET THE NAME
590 000642' 370 00 0 00 000006 SOS P2 ;COUNT THE NAME
591 000643' 260 17 0 00 000760' CALL R50T6 ;CONVERT TO SIXBIT
592 000644' 607 11 0 00 400000 TLNN F,FL.NAM ;ALREADY HAVE TITLE BLOCK?
593 000645' 254 00 0 00 000652' JRST RDNAM1 ;NO, CONTINUE
594 000646' 332 00 0 12 000002 SKIPE TL$NAM(B) ;YES, IS THERE A NAME?
595 000647' 254 04 0 00 000000 HALT ;DIAGNOSTIC
596 000650' 202 01 0 12 000002 MOVEM T1,TL$NAM(B) ;NO, STORE IT
597 000651' 254 00 0 00 000655' JRST RDNAM2 ;CONTINUE
598 000652' 260 17 0 00 001074' RDNAM1: CALL NTRTTL ;ENTER IT
599 000653' 661 11 0 00 200000 TLO F,FL.SKP ;ALREADY DEFINED
600 000654' 661 11 0 00 400000 TLO F,FL.NAM ;WE HAVE NAME BLOCK
601 000655' 361 06 0 00 000444' RDNAM2: SOJL P2,FILREAD ;JUMP IS NO FLAG WORD
602 000656' 265 02 0 00 000530' JSP T2,IBYTEJ ;GET FLAG WORD
603 000657' 502 01 0 12 000001 HLLM T1,TL$FLG(B) ;STORE CPU/XLATR FLAGS
604 000660' 135 02 0 00 004225' LDB T2,[POINT 12,T1,17] ;GET XLATOR TYPE
605 000661' 306 02 0 00 000002 CAIN T2,CBLXLT ;IS IT COBOL?
606 000662' 254 00 0 00 000470' JRST FILRD3 ;YES--RH IS SIZE OF STATIC LOW SEG
607 000663' 550 05 0 00 000001 HRRZ P1,T1 ;GET POSSIBLE BLANK COMMON ALLOC
608 000664' 322 05 0 00 000470' JUMPE P1,FILRD3 ;JUMP IF NONE
609 000665' 200 01 0 00 004226' MOVE T1,[SIXBIT/.COMM./] ;BLANK COMMON NAME
610 000666' 260 17 0 00 001152' PUSHJ P,NTRCOM ;ENTER IT
611 000667' 254 00 0 00 000470' JRST FILRD3 ;??ALREADY DEFINED??
612 000670' 506 05 0 01 000001 HRLM P1,EG$FLG(T1) ;STORE BLANK COMMON SIZE
613 000671' 554 02 0 12 000006 HLRZ T2,TL$COM(B) ;CURRENT SIZE THIS MODULE
614 000672' 271 02 0 05 000000 ADDI T2,(P1) ;ADD NEW
615 000673' 506 02 0 12 000006 HRLM T2,TL$COM(B) ;STORE
616 000674' 254 00 0 00 000470' JRST FILRD3 ;CONTINUE
617
618 000675' 265 02 0 00 000530' RDF40: JSP T2,IBYTEJ ;SKIP OVER CODE
619 000676' 554 02 0 00 000001 HLRZ T2,T1 ;[2] GET CODE BITS
620 000677' 405 02 0 00 770000 ANDI T2,770000 ;[2] TRIM TO TYPE
621 000700' 306 02 0 00 040000 CAIN T2,40000 ;[2] GLOBAL DEFINITION?
622 JRST [ ;[2] YES--ENTER IT
623 CALL R50T6 ;[2] CONVERT TO SIXBIT
624 CALL NTRENT ;[2] ENTER THE ENTRY
625 JRST RDF40 ;[2] CONTINUE THE SCAN
626 000701' 254 00 0 00 004227' ]
627 000702' 312 01 0 00 004232' CAME T1,[-2] ;
628 000703' 254 00 0 00 000675' JRST RDF40 ;NOT YYET
629 000704' 201 03 0 00 000003 MOVEI T3,3 ;SKIP TWO WORDS
630 000705' 265 02 0 00 000530' JSP T2,IBYTEJ
631 000706' 367 03 0 00 000705' SOJG T3,.-1
632 000707' 200 03 0 00 000001 MOVE T3,T1 ;GET LAST WORD
633 000710' 322 03 0 00 000713' JUMPE T3,RDF40A ;JUMP IS NULL SECTION
634 000711' 265 02 0 00 000530' JSP T2,IBYTEJ
635 000712' 367 03 0 00 000711' SOJG T3,.-1
636
637 000713' 265 02 0 00 000530' RDF40A: JSP T2,IBYTEJ ;GET # GLOBAL REQUESTS
638 000714' 322 01 0 00 000722' JUMPE T1,RDF40C ;JUMP IF NONE
639 000715' 200 06 0 00 000001 MOVE P2,T1 ;COPY IT
640 000716' 265 02 0 00 000530' RDF40B: JSP T2,IBYTEJ ;GET SYMBOL
641 000717' 260 17 0 00 000760' CALL R50T6 ;CONVERT TO SIXBIT
642 000720' 260 17 0 00 001143' CALL NTRGRQ ;PUT IN GLOBAL REQUEST LIST
643 000721' 367 06 0 00 000716' SOJG P2,RDF40B ;GET ALL OF THEM
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE 10-1
XGLOB MAC 19-MAR-76 13:24 DO ONE FILE
644
645 000722' 265 02 0 00 000530' RDF40C: JSP T2,IBYTEJ ;# WORDS IN SCLAR SECTION
646 000723' 322 01 0 00 000727' JUMPE T1,RDF40D ;JUMP IF NONE
647 000724' 200 03 0 00 000001 MOVE T3,T1 ;COPY IT
648 000725' 265 02 0 00 000530' JSP T2,IBYTEJ ;GET ONE
649 000726' 367 03 0 00 000725' SOJG T3,.-1 ;SKIP THEM ALL
650
651 000727' 265 02 0 00 000530' RDF40D: JSP T2,IBYTEJ ;GET # WORDS IN ARRAY SECTION
652 000730' 322 01 0 00 000734' JUMPE T1,RDF40E ;JUMP IF NONE
653 000731' 200 03 0 00 000001 MOVE T3,T1
654 000732' 265 02 0 00 000530' JSP T2,IBYTEJ
655 000733' 367 03 0 00 000732' SOJG T3,.-1
656
657 000734' 265 02 0 00 000530' RDF40E: JSP T2,IBYTEJ ;NUMBER WORDS IN NEXT SECTION
658 000735' 322 01 0 00 000741' JUMPE T1,RDF40F ;JUMP IF EMPTY
659 000736' 200 03 0 00 000001 MOVE T3,T1
660 000737' 265 02 0 00 000530' JSP T2,IBYTEJ
661 000740' 367 03 0 00 000737' SOJG T3,.-1
662
663 000741' 265 02 0 00 000530' RDF40F: JSP T2,IBYTEJ ;SKIP A WORD
664 000742' 265 02 0 00 000530' JSP T2,IBYTEJ ;GET # WORDS IN COMMON SECTION
665 000743' 322 01 0 00 000747' JUMPE T1,RDF40G ;JUMP IF NONE
666 000744' 200 03 0 00 000001 MOVE T3,T1
667 000745' 265 02 0 00 000530' JSP T2,IBYTEJ
668 000746' 367 03 0 00 000745' SOJG T3,.-1
669
670 000747' 621 11 0 00 400000 RDF40G: TLZ F,FL.NAM ;THIS IS THE END
671 000750' 254 00 0 00 000444' JRST FILREAD ;READ NEXT BLOCK
672
673 ;E.BLKT: CALL UPSCN ;PUT SCAN BACK
674 000751' 201 01 0 00 004233' E.BLKT: MOVEI T1,[ASCIZ\%GBXUBA UNKNOWN BLOCK TYPE \]
675 000752' 260 17 0 00 000352* CALL .TSTRG
676 000753' 200 01 0 00 000005 MOVE T1,P1
677 000754' 260 17 0 00 000000* CALL .TOCTW ;TELL WHAT SORT IT IS
678 MOVEI T1,[ASCIZ\, ATTEMPTING RECOVERY
679 000755' 201 01 0 00 004241' \]
680 000756' 260 17 0 00 000752* CALL .TSTRG
681 ; CALL DWNSCN ;MAKE SCAN DISAPPEAR
682 000757' 254 00 0 00 000470' JRST FILRD3 ;IGNORE ILLEGAL BLOCK TYPES
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE 11
XGLOB MAC 19-MAR-76 13:24 DO ONE FILE
683 ;CALL WITH SYMBOL IN T1 IN RADIX 50
684 ;RETURN WITH SIXBIT SYMBOL IN T1
685 ;USES T1-3
686
687 000760' 621 01 0 00 740000 R50T6: TLZ T1,740000 ;CLEAR CODE BITS
688 000761' 400 03 0 00 000000 SETZ T3, ;CLEAR RESULT
689 ;CODED INLINE FOR SPEED
690 REPEAT 4,<
691 XLIST
692 IDIVI T1,50 ;PEEL OFF A DIGIT
693 SKIPE T2,R50TAB(T2) ;LOAD UP SIXBIT
694 LSHC T2,-6 ;ADD INTO T3
695 CAIG T1,50 ;DOWN TO LAST DIGIT?
696 JRST R50T6X ;YES
697 LIST
698 >;END REPEAT 4
699
700
701 001006' 231 01 0 00 000050 IDIVI T1,50 ;GET NEXT TO LAST DIGIT
702 001007' 332 02 0 02 001015' SKIPE T2,R50TAB(T2) ;GET FIFTH CHAR
703 001010' 246 02 0 00 777772 LSHC T2,-6 ;STORE IT
704 001011' 332 02 0 01 001015' R50T6X: SKIPE T2,R50TAB(T1) ;ONCE MORE
705 001012' 246 02 0 00 777772 LSHC T2,-6
706 001013' 200 01 0 00 000003 MOVE T1,T3 ;POSITION
707 001014' 263 17 0 00 000000 RETURN
708
709 DEFINE R50 (C)<
710 XLIST
711 IRPC C,<
712 ''C''
713 >
714 LIST
715 >
716
717 001015' R50TAB: R50 ( 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ.$% )
718
719 ;CALL WITH COUNT IN P2
720 ;RETURN WITH CORRECT COUNT (INCLUDING RELOC WORDS IN P2)
721
722 001066' 550 01 0 00 000006 COUNT: HRRZ T1,P2 ;GET COUNT
723 001067' 231 01 0 00 000022 IDIVI T1,22 ;COUNT #18 GROUUPS
724 001070' 271 06 0 01 000000 ADDI P2,(T1) ;ONE RELOC WORD FOR EACH
725 001071' 332 00 0 00 000002 SKIPE T2 ;ANY STRAGGLERS?
726 001072' 350 00 0 00 000006 AOS P2 ;YES, ONE MORE RELOC WORD
727 001073' 263 17 0 00 000000 RETURN ;BACK
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE 12
XGLOB MAC 19-MAR-76 13:24 NTRTTL/NTRGRQ/NTRENT
728 SUBTTL NTRTTL/NTRGRQ/NTRENT
729
730 ;NTRTTL
731 ;CALL: MOVE T1,SIXBIT NAME
732 ; CALL NTRTTL
733 ; *RETURN IF ALREADY DEFINED*
734 ; *RETURN THIS DEFINES IT*
735
736 001074' 260 17 0 00 001126' NTRTTL: CALL IFDFIN ;SEE IF MODULE DEFINED
737 001075' 354 00 0 17 000000 AOSA (P) ;NO, ENTER IT
738 001076' 263 17 0 00 000000 RETURN ;YES, RETURN CPOPJ
739 SAVE T1 ;SAVE THE SYMBOL
740 001100' 201 01 0 00 000013 MOVEI T1,TTLSIZ ;GET CORE FOR IT
741 001101' 260 17 0 00 000340' CALL GETCOR ;...
742 001102' 250 12 0 00 000001 EXCH B,T1 ;SAVE LAST, GET NEW
743 001103' 402 00 0 12 000000 SETZM (B) ;CLEAR THE BLOCK
744 001104' 205 02 0 12 000000 MOVSI T2,(B)
745 001105' 541 02 0 12 000001 HRRI T2,1(B) ;FORM BLT WORD
746 001106' 251 02 0 12 000012 BLT T2,TTLSIZ-1(B) ;CLEAR THE BLOCK
747 RESTOR TL$NAM(B) ;ENTER THE NAME
748 001110' 200 02 0 00 002032' MOVE T2,OPNBLK+.OPDEV;GET THE DEVICE
749 001111' 202 02 0 12 000007 MOVEM T2,TL$DEV(B) ;STORE
750 001112' 200 02 0 00 002024' MOVE T2,LKPBLK+.RBNAM;FILENAME
751 001113' 202 02 0 12 000011 MOVEM T2,TL$FIL(B) ;
752 001114' 200 02 0 00 002025' MOVE T2,LKPBLK+.RBEXT;EXTENSION
753 001115' 512 02 0 12 000012 HLLZM T2,TL$EXT(B)
754 001116' 200 02 0 00 002023' MOVE T2,LKPBLK+.RBPPN;AND THE PPN
755 001117' 202 02 0 12 000010 MOVEM T2,TL$PPN(B)
756 001120' 201 02 0 00 400000 MOVX T2,FT$LIB ;GET BIT FOR LIBRARY
757 001121' 332 00 0 11 000032 SKIPE .FXLIB(F) ;LIBRARY?
758 001122' 436 02 0 12 000001 IORM T2,TL$FLG(B) ;YES, INDICATE IT
759 001123' 542 12 0 01 000000 HRRM B,(T1) ;STORE LINK TO THIS ONE
760 001124' 506 01 0 12 000000 HRLM T1,(B) ;STORE BACK LINK
761 001125' 263 17 0 00 000000 RETURN ;SKIP BACK
762
763 ;CALL WITH T1 SIXBIT NAME
764 ;SKIP IF TITLE BLOCK DEFINED, NO SKIP IF NOT
765
766 001126' 201 02 0 00 004134' IFDFIN: MOVEI T2,LSTHED ;START THE SEARCH
767 001127' 550 02 0 02 000000 IFDF1: HRRZ T2,(T2) ;MOVE ALONG THE LIST
768 001130' 322 02 0 00 000000* JUMPE T2,.POPJ ;JUMP IF NOT FOUND
769 001131' 312 01 0 02 000002 CAME T1,TL$NAM(T2) ;IS THIS ME?
770 001132' 254 00 0 00 001127' JRST IFDF1 ;NO, KEEP SEARCHING
771 001133' 254 00 0 00 000000* JRST .POPJ1 ;YES, SKIP BACK
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE 13
XGLOB MAC 19-MAR-76 13:24 NTRTTL/NTRGRQ/NTRENT
772 ;NTRENT TO ENTER AN ENTRY
773 ;NTRGRQ TO ENTER A GLOBAL REQUEST
774 ;NTRLOC TO ENTER A LOCAL SYMBOL (FUTURE)
775
776 001134' 603 11 0 00 200000 NTRENT: TLNE F,FL.SKP ;IGNORING THIS BLOCK?
777 001135' 263 17 0 00 000000 RETURN
778 001136' 201 02 0 12 000003 MOVEI T2,TL$ENT(B) ;INIT THE POINTER
779 001137' 260 17 0 00 001161' CALL ENTRIT ;PUT IT ON THE LIST
780 001140' 263 17 0 00 000000 RETURN ;ALREADY DEFINED
781 001141' 201 02 0 00 004132' MOVEI T2,ENTLST-EG$ORD;POINT AT LIST MINUS OFFSET
782 001142' 254 00 0 00 001212' PJRST ENTSRT ;PUT THIS ENTRY IN THE SORTED LIST NOW
783
784 001143' 603 11 0 00 200000 NTRGRQ: TLNE F,FL.SKP
785 001144' 263 17 0 00 000000 RETURN
786 001145' 201 02 0 12 000004 MOVEI T2,TL$GRQ(B)
787 001146' 260 17 0 00 001161' CALL ENTRIT ;PUT IN THE TABLE
788 001147' 263 17 0 00 000000 RETURN ;ALREADY THERE
789 001150' 201 02 0 00 004133' MOVEI T2,GLBLST-EG$ORD;PUT THIS ENTRY IN ALPHA LIST
790 001151' 254 00 0 00 001212' PJRST ENTSRT ;...
791
792 001152' 603 11 0 00 200000 NTRCOM: TLNE F,FL.SKP ;SKIPPING?
793 001153' 263 17 0 00 000000 RETURN ;YES
794 001154' 201 02 0 12 000006 MOVEI T2,TL$COM(B) ;GET THE LIST
795 001155' 260 17 0 00 001161' CALL ENTRIT ;ENTER COMMON IN THE LIST
796 001156' 263 17 0 00 000000 RETURN ;ALREADY DEFINED
797 001157' 350 00 0 17 000000 AOS (P)
798 001160' 263 17 0 00 000000 RETURN ;RETURN WITH ADDR IN T1
799
800 ;CALL HERE TO PUT ITEM IN THE LIST
801 ;RETURN CPOPJ IF ALREADY IN
802 ;RETURN CPOPJ1 IN JUST INSERTED WITH PTR IN T1
803
804 001161' 200 03 0 00 000002 ENTRIT: MOVE T3,T2 ;REMEMBER WHERE WE CAME FROM
805 001162' 550 02 0 02 000000 HRRZ T2,(T2) ;GET NEXT
806 001163' 322 02 0 00 001177' JUMPE T2,ENTRT2 ;JUMP IF AT END OF LIST
807 001164' 316 01 0 02 000002 CAMN T1,EG$NAM(T2) ;IS THIS IT?
808 001165' 263 17 0 00 000000 RETURN ;YES, RETURN
809 001166' 313 01 0 02 000002 CAMLE T1,EG$NAM(T2) ;NO, SHOULD IT GO IN HERE ALPHABETICALY?
810 001167' 254 00 0 00 001161' JRST ENTRIT ;NO, KEEP LOOKING
811
812 001170' 260 17 0 00 001205' ENTRT3: CALL ENTRT5 ;PUT NAME IN THE CORE WE WILL GET
813 001171' 200 02 0 03 000000 MOVE T2,(T3) ;GET PTR TO NEXT LINK
814 001172' 542 02 0 01 000000 HRRM T2,(T1) ;MAKE THIS ONE POINT AT IT
815 001173' 506 03 0 01 000000 HRLM T3,(T1) ;SET IN THE BACK LINK
816 001174' 506 01 0 02 000000 HRLM T1,(T2) ;SET IN BACK LINK ON NEXT LINK
817 001175' 542 01 0 03 000000 HRRM T1,(T3) ;MAKE PREDECESSOR POINT AT ME
818 001176' 254 00 0 00 001202' JRST ENTRTX ;GO FINISH UP
819
820
821 001177' 260 17 0 00 001205' ENTRT2: CALL ENTRT5 ;GET CORE AND INSERT NAME
822 001200' 542 01 0 03 000000 HRRM T1,(T3) ;SET THIS LINK INTO TH CHAIN
823 001201' 516 03 0 01 000000 HRLZM T3,(T1) ;SET IN BACK LINK,,CLEAR FORWARD LINK
824 001202' 402 00 0 01 000001 ENTRTX: SETZM EG$FLG(T1) ;CLEAR THE FLAGS
825 001203' 552 12 0 01 000003 HRRZM B,EG$TTL(T1) ;AND POINT TO TITLE BLOCK
826 001204' 254 00 0 00 001133* JRST .POPJ1 ;SKIP BACK--WE JUST INSERTED IT
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE 13-1
XGLOB MAC 19-MAR-76 13:24 NTRTTL/NTRGRQ/NTRENT
827
828 001205' ENTRT5: SAVE T1 ;SAVE NAME
829 001206' 201 01 0 00 000004 MOVEI T1,EGLSIZ ;GET BLOCK SIZE
830 001207' 260 17 0 00 000340' CALL GETCOR ;GET NEEDED CORE
831 RESTORE EG$NAM(T1) ;PUT THE NAMEIN THE TABLE
832 001211' 263 17 0 00 000000 RETURN
833
834 ;CALL HERE TO ENTER ENTRY OR GLOBAL REF INTO LINKED ALPHABETICAL TABLE
835 ;T1=PTR TO THIS ENTRY
836 ;T2=PTR TO ENTLST OR GLBLST
837
838 001212' ENTSRT:
839 001212' 200 03 0 00 000002 ENTSR2: MOVE T3,T2 ;SAVE LAST
840 001213' 554 02 0 02 000003 HLRZ T2,EG$ORD(T2) ;GET NEXT
841 001214' 322 02 0 00 001220' JUMPE T2,ENTSR1 ;JUMP IF AT END
842 001215' 200 04 0 01 000002 MOVE T4,EG$NAM(T1) ;GET NAME WE ARE AT
843 001216' 313 04 0 02 000002 CAMLE T4,EG$NAM(T2) ;DOES IT GO IN HERE?
844 001217' 254 00 0 00 001212' JRST ENTSR2 ;NO, SEARCH SOME MORE
845
846 001220' 506 02 0 01 000003 ENTSR1: HRLM T2,EG$ORD(T1) ;SAVE LINK
847 001221' 506 01 0 03 000003 HRLM T1,EG$ORD(T3) ;PUT THIS ONE IN THE LIST
848 001222' 263 17 0 00 000000 RETURN
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE 14
XGLOB MAC 19-MAR-76 13:24 LISTING ROUTINES
849 SUBTTL LISTING ROUTINES
850
851 001223' 260 17 0 00 000000* LISTIT: CALL .SAVE4 ;MIGHT AS WELL...
852 001224' 260 17 0 00 001271' CALL LINKER ;GO LINK EVERYTHING UP
853 001225' 201 12 0 00 004132' MOVEI B,ENTLST-EG$ORD ;INIT THE PERM POINTER
854 001226' 603 11 0 00 100000 TLNE F,FL.TTO ;OUTPUTTING TO TTY?
855 001227' 254 00 0 00 001236' JRST LSTIT1 ;YES, SKIP AHEAD
856 001230' 201 01 0 00 001650' MOVEI T1,OBYTE ;SET UP OUTPUT ROUTINE
857 001231' 260 17 0 00 000000* CALL .TYOCH ;WITH SCAN
858 SAVE T1 ;BUT REMEMBER WHAT IT WAS
859 001233' 201 01 0 00 000074 MOVEI T1,^D60 ;SET UP LINES/PAGE
860 001234' 202 01 0 00 004065' MOVEM T1,LINKNT
861 001235' 661 11 0 00 040000 TLO F,FL.PP ;PRETTY PRINT
862
863 001236' 201 01 0 00 004246' LSTIT1: MOVEI T1,[ASCIZ\XGLOB %\]
864 001237' 260 17 0 00 000756* CALL .TSTRG
865 001240' 200 01 0 00 000137 MOVE T1,.JBVER ;MY VERSION
866 001241' 260 17 0 00 000000* CALL .TVERW## ;TYPE IT
867 001242' 201 01 0 00 001424' MOVEI T1,HEDMSG ;OUTPUT FIRST MESSAGE
868 001243' 260 17 0 00 001237* CALL .TSTRG ;OUTPUT THE HEADER
869
870 001244' 554 12 0 12 000003 LSTNXT: HLRZ B,EG$ORD(B) ;GET THE NEXT IN THE LIST
871 001245' 322 12 0 00 001265' JUMPE B,LSTDUN ;QUIT AT THE END (AS USUAL)
872 001246' 550 06 0 12 000003 HRRZ P2,EG$TTL(B) ;LINK TO TITLE BLOCK
873 001247' 200 01 0 06 000001 MOVE T1,TL$FLG(P2) ;GET FLAGS
874 001250' 606 01 0 00 400000 TRNN T1,FT$LIB ;IS THIS A LIBRARY
875 001251' 254 00 0 00 001257' JRST LSTNX1 ;NO
876 001252' 606 01 0 00 200000 TRNN T1,FT$REF ;YES, WAS IT REF?
877 001253' 254 00 0 00 001244' JRST LSTNXT ;NO
878 001254' 200 01 0 12 000001 MOVE T1,EG$FLG(B) ;GET FLAGS FOR THIS ENTRY
879 001255' 606 01 0 00 200000 TRNN T1,FT$REF ;HAS IT BEEN REFERENCED?
880 001256' 254 00 0 00 001244' JRST LSTNXT ;NO, DON'T PRINT IT
881 001257' 400 10 0 00 000000 LSTNX1: SETZ P4, ;CLEAR COUNT OF REFERENCES TO THIS ENTRY
882 001260' 200 07 0 00 000121 MOVE P3,.JBFF ;REMEMBER THE START OF THE LIST
883 001261' 260 17 0 00 001510' CALL FNDREF ;FIND ALL REFERENCES, MAKE LIST AT END OF CORE
884 ;POINTING TO TITLE BLOCKS OF REFERENCING MODULS
885 001262' 202 07 0 00 000121 MOVEM P3,.JBFF ;***RESTORE .JBFF NOW, WHILE WE THINK OF IT
886 ; HRRZ P2,EG$TTL(B) ;GET LINK TO TITLE BLOCK
887 ; MOVE T1,TL$FLG(P2) ;GET THE FLAGS
888 ; TRNE T1,FT$LIB ;IS THIS A LIBRARY?
889 ; JUMPE P4,LSTNXT ;YES, AND IF WE JUMP IT WAS NEVER REFERENCED
890 001263' 260 17 0 00 001350' CALL LSTENT ;NO, LIST THIS ENTRY
891 001264' 254 00 0 00 001244' JRST LSTNXT ;AND GO ON TO THE NEXT ONE
892 001265' 603 11 0 00 100000 LSTDUN: TLNE F,FL.TTO ;TTY OUTPUT?
893 001266' 263 17 0 00 000000 RETURN ;YES, ALLDONE
894 RESTOR T1 ;GET TYPEOUT ADDRESS BACK
895 001270' 254 00 0 00 001231* PJRST .TYOCH ;RESTORE AND RETURN
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE 15
XGLOB MAC 19-MAR-76 13:24 LISTING ROUTINES
896 001271' 201 12 0 00 004134' LINKER: MOVEI B,LSTHED ;POINT AT TITLE LIST
897 001272' 550 12 0 12 000000 LINK1: HRRZ B,(B) ;LINK TO NEXT
898 001273' 322 12 0 00 001302' JUMPE B,LINK2 ;JUMP IF DONE WITH PHASE ONE
899 001274' 200 01 0 12 000001 MOVE T1,TL$FLG(B) ;NO, GET FLAGS
900 001275' 602 01 0 00 400000 TRNE T1,FT$LIB ;LIBRARY?
901 001276' 254 00 0 00 001272' JRST LINK1 ;YES, IGNORE IT
902 001277' 201 05 0 12 000004 MOVEI P1,TL$GRQ(B) ;NO, POINT AT GLOBAL REQUEST LIST
903 001300' 260 17 0 00 001322' CALL LNKSAT ;FLAG ALL MODULES THAT SATISFY GLB REQ
904 001301' 254 00 0 00 001272' JRST LINK1 ;DO ALL NON-LIB MODULES
905
906 001302' 201 12 0 00 004134' LINK2: MOVEI B,LSTHED ;NOW DO ALL LIBRARY MODULES
907 001303' 402 00 0 00 004070' SETZM FOUND1 ;CLEAR THE FLAG TO GO AGAIN
908 001304' 550 12 0 12 000000 LINK3: HRRZ B,(B) ;CHAIN TO NEXT
909 001305' 322 12 0 00 001317' JUMPE B,LINK4 ;JUMP AT THE END
910 001306' 200 01 0 12 000001 MOVE T1,TL$FLG(B) ;GET THE FLAGS
911 001307' 602 01 0 00 400000 TRNE T1,FT$LIB ;IS IT A LIBRARY?
912 001310' 606 01 0 00 200000 TRNN T1,FT$REF ;YES, HAS IT BEEN REFERENCED?
913 001311' 254 00 0 00 001304' JRST LINK3 ;NO TO ONE OF ABOVE
914 001312' 602 01 0 00 100000 TRNE T1,FT$SCN ;BEEN SCANED YET/
915 001313' 254 00 0 00 001304' JRST LINK3 ;YES, ONLY DO IT ONCE
916 001314' 201 05 0 12 000004 MOVEI P1,TL$GRQ(B) ;NO, GET GRQ LIST
917 001315' 260 17 0 00 001322' CALL LNKSAT ;FIND SATISFYING MODULES
918 001316' 254 00 0 00 001304' JRST LINK3
919
920 001317' 332 00 0 00 004070' LINK4: SKIPE FOUND1 ;DO ANYTHING?
921 001320' 254 00 0 00 001302' JRST LINK2 ;YES, GO AGAIN
922 001321' 263 17 0 00 000000 RETURN ;NO, RETURN
923
924 001322' LNKSAT:
925 001322' 550 05 0 05 000000 LSAT1: HRRZ P1,(P1) ;MOVE ALONG GRQ LIST
926 001323' 322 05 0 00 001130* JUMPE P1,.POPJ ;RETURN ON NULL
927 001324' 200 04 0 05 000002 MOVE T4,EG$NAM(P1) ;GET THE NAME
928 001325' 201 03 0 00 004134' MOVEI T3,LSTHED ;POINT AT THE LIST
929 001326' 550 03 0 03 000000 LSAT2: HRRZ T3,(T3) ;CHAIN TO NEXT
930 001327' 322 03 0 00 001322' JUMPE T3,LSAT1 ;FINISED?
931 001330' 200 02 0 03 000001 MOVE T2,TL$FLG(T3) ;NO, GET FLAGS
932 001331' 602 02 0 00 400000 TRNE T2,FT$LIB ;LIBRARY?
933 001332' 602 02 0 00 200000 TRNE T2,FT$REF ;YES, REFERENCED?
934 001333' 254 00 0 00 001326' JRST LSAT2 ;NOT LIB OR ALREADY REF
935 001334' 201 02 0 03 000003 MOVEI T2,TL$ENT(T3) ;POINT AT ENTRY LST
936 001335' 550 02 0 02 000000 LSAT3: HRRZ T2,(T2) ;LINK TO NEXT
937 001336' 322 02 0 00 001326' JUMPE T2,LSAT2 ;JUMP ON END
938 001337' 312 04 0 02 000002 CAME T4,EG$NAM(T2) ;ENTRY SATISFY GRQ?
939 001340' 254 00 0 00 001335' JRST LSAT3 ;NO
940 001341' 201 01 0 00 200000 MOVEI T1,FT$REF ;YES, GET FLAG BIT
941 001342' 436 01 0 03 000001 IORM T1,TL$FLG(T3) ;FLAG IN TITLE BLOCK
942 001343' 436 01 0 02 000001 IORM T1,EG$FLG(T2) ;SET ENTRY ENTRY REFERENCED
943 001344' 201 02 0 00 100000 MOVEI T2,FT$SCN ;GET SCANNED FLAG
944 001345' 436 02 0 05 000001 IORM T2,TL$FLG(P1) ;FLAG THIS BLOCK SCANNED
945 001346' 476 00 0 00 004070' SETOM FOUND1 ;FLAG TO GO AGAIN
946 001347' 254 00 0 00 001326' JRST LSAT2 ;FIND MORE
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE 16
XGLOB MAC 19-MAR-76 13:24 LISTING ROUTINES
947 ;CALL HERE TO LIST ONE ENTRY
948
949 001350' 260 17 0 00 000000* LSTENT: CALL .TCRLF ;START WITH NEW LINE
950 001351' 201 01 0 00 001423' MOVEI T1,STARS ;START OUT WITH SOME STARS
951 001352' 260 17 0 00 001243* CALL .TSTRG
952 001353' 200 01 0 12 000002 MOVE T1,EG$NAM(B) ;GET THE NAME
953 001354' 260 17 0 00 000000* CALL .TSIXN ;OUTPUT IT
954 001355' 201 01 0 00 001423' MOVEI T1,STARS ;MORE STARS
955 001356' 260 17 0 00 001352* CALL .TSTRG
956 MOVEI T1,[ASCIZ\
957 001357' 201 01 0 00 004250' FOUND IN \]
958 001360' 260 17 0 00 001356* CALL .TSTRG
959 001361' 260 17 0 00 001505' CALL LISFLS ;OUTPUT THE FILE SPEC
960 001362' 201 01 0 00 004253' MOVEI T1,[ASCIZ\, MODULE \]
961 001363' 260 17 0 00 001360* CALL .TSTRG
962 001364' 200 01 0 06 000002 MOVE T1,TL$NAM(P2) ;THE MODULE NAME
963 001365' 260 17 0 00 001354* CALL .TSIXN
964 001366' 201 01 0 00 004255' MOVEI T1,[ASCIZ\, COMPILED BY \]
965 001367' 260 17 0 00 001363* CALL .TSTRG
966 001370' 135 01 0 00 004260' LDB T1,[POINT 12,TL$FLG(P2),17] ;COMPILER VALUE
967 001371' 303 01 0 00 000013 CAILE T1,MXLATR ;CHECK FOR ONE WE KNOW
968 001372' 201 01 0 00 000000 MOVEI T1,0 ;NO, USE ???
969 001373' 200 01 0 01 001472' MOVE T1,XLATOR(T1) ;GET STRING ADDRESS
970 001374' 260 17 0 00 001367* CALL .TSTRG
971 IFN FTCPU,<
972 MOVEI T1,[ASCIZ\ FOR \]
973 CALL .TSTRG
974 LDB T1,[POINT 6,TL$FLG(P2),5] ;CPU IT WILL RUN ON
975 CAILE T1,MAXCPU
976 MOVEI T1,0 ;MUST BE KL
977 MOVE T1,CPUTYP(T1)
978 CALL .TSTRG
979 >;END IFN FTCPU
980 001375' 260 17 0 00 001350* CALL .TCRLF ;NEXT LINE
981 001376' 201 01 0 00 004261' MOVEI T1,[ASCIZ\MODULE SIZE IS \]
982 001377' 260 17 0 00 001374* CALL .TSTRG ;TELL THE SIZZE
983 001400' 554 01 0 06 000005 HLRZ T1,TL$SIZ(P2) ;GET HISEG SIZE
984 001401' 322 01 0 00 001405' JUMPE T1,LSTEN1 ;JUMP IF NO HISEG
985 001402' 260 17 0 00 001603' CALL TOCDEC ;TYPE OCTAL AND DECIMAL
986 001403' 201 01 0 00 004265' MOVEI T1,[ASCIZ\ [HISEG] \]
987 001404' 260 17 0 00 001377* CALL .TSTRG
988 001405' 550 01 0 06 000005 LSTEN1: HRRZ T1,TL$SIZ(P2)
989 001406' 260 17 0 00 001603' CALL TOCDEC
990 001407' 201 01 0 00 004267' MOVEI T1,[ASCIZ\ [LOWSEG] \]
991 001410' 260 17 0 00 001404* CALL .TSTRG
992 001411' 554 01 0 06 000006 HLRZ T1,TL$COM(P2) ;GET COMMON ALLOCATION
993 JUMPE T1,[CALL .TCRLF ;JUMP IF NONE
994 001412' 322 01 0 00 004272' JRST LSTEN2] ;AND CONTINUE
995 001413' 260 17 0 00 001603' CALL TOCDEC ;TYPE THE SIZE
996 MOVEI T1,[ASCIZ\ [COMMON]
997 001414' 201 01 0 00 004274' \]
998 001415' 260 17 0 00 001410* CALL .TSTRG ;
999 001416' 260 17 0 00 001540' LSTEN2: CALL LSENTR ;LIST ENTRY POINTS
1000 001417' 260 17 0 00 001554' CALL LSGRQ ;LIST GLOBAL REQUESTS
1001 001420' 260 17 0 00 001625' CALL LSTCOM ;LIST COMMON ALLOCATION THIS MODULE
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE 16-1
XGLOB MAC 19-MAR-76 13:24 LISTING ROUTINES
1002 001421' 260 17 0 00 001560' CALL LISREF ;LIST REFERENCES TO THIS ENTRY POINT
1003 001422' 263 17 0 00 000000 RETURN ;***END LIST ONE ENTRY
1004
1005 001423' 052 052 052 000 000 STARS: ASCIZ \***\ ;PRETTY!
1006 001424' HEDMSG: ASCIZ \
1007
1008 001424' 015 012 015 012 105 E - ENTRY POINTS INTO THE MODULE
1009 001425' 040 055 040 105 116
1010 001426' 124 122 131 040 120
1011 001427' 117 111 116 124 123
1012 001430' 040 111 116 124 117
1013 001431' 040 124 110 105 040
1014 001432' 115 117 104 125 114
1015 001433' 105 015 012 107 040 G - GLOBAL REFERENCES
1016 001434' 055 040 107 114 117
1017 001435' 102 101 114 040 122
1018 001436' 105 106 105 122 105
1019 001437' 116 103 105 123 015
1020 001440' 012 103 040 055 040 C - COMMON DECLARED IN THIS MODULE
1021 001441' 103 117 115 115 117
1022 001442' 116 040 104 105 103
1023 001443' 114 101 122 105 104
1024 001444' 040 111 116 040 124
1025 001445' 110 111 123 040 115
1026 001446' 117 104 125 114 105
1027 001447' 015 012 040 040 040 NOTE: COMMON LENGTH NOT INCLUDED IN MODULE SIZE
1028 001450' 040 116 117 124 105
1029 001451' 072 040 103 117 115
1030 001452' 115 117 116 040 114
1031 001453' 105 116 107 124 110
1032 001454' 040 116 117 124 040
1033 001455' 111 116 103 114 125
1034 001456' 104 105 104 040 111
1035 001457' 116 040 115 117 104
1036 001460' 125 114 105 040 123
1037 001461' 111 132 105 015 012 R - MODULES THAT REFERENCE THIS ONE
1038 001462' 122 040 055 040 115
1039 001463' 117 104 125 114 105
1040 001464' 123 040 124 110 101
1041 001465' 124 040 122 105 106
1042 001466' 105 122 105 116 103
1043 001467' 105 040 124 110 111
1044 001470' 123 040 117 116 105
1045
1046 001471' 015 012 015 012 000 \
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE 17
XGLOB MAC 19-MAR-76 13:24 LISTING ROUTINES
1047 DEFINE P(A)<[ASCIZ\'A\]>
1048
1049 001472' 000000 004277' XLATOR: P UNKNOWN
1050 001473' 000000 004301' P F40
1051 001474' 000000 004302' P COBOL
1052 000002 CBLXLT==.-XLATOR-1 ;COBOL COMPILER TYPE
1053 001475' 000000 004304' P ALGOL-60
1054 001476' 000000 004306' P NELIAC
1055 001477' 000000 004310' P PL/1
1056 001500' 000000 004311' P BLISS-10
1057 001501' 000000 004313' P SAIL
1058 001502' 000000 004314' P FORTRAN-10
1059 001503' 000000 004317' P MACRO
1060 001504' 000000 004321' P FAIL
1061 000013 MXLATR==.-XLATOR
1062
1063 IFN FTCPU,<
1064 CPUTYP: P <EITHER CPU>
1065 P <KA10 CPU>
1066 P <KI10 CPU>
1067 MAXCPU==.-CPUTYP
1068 >;END IFN FTCPU
1069
1070 001505' 201 02 0 06 000007 LISFLS: MOVEI T2,TL$PPN-.RBPPN(P2) ;FAKE OUT .TOLEB A BIT
1071 001506' 201 01 0 06 000006 MOVEI T1,TL$DEV-.OPDEV(P2) ;AND SOME MORE TRICKERY
1072 001507' 254 00 0 00 000000* PJRST .TOLEB ;GO TYPE THE FILE SPEC
1073
1074 001510' 201 03 0 00 004133' FNDREF: MOVEI T3,GLBLST-EG$ORD ;INIT THE POINTER
1075 001511' 200 04 0 12 000002 FNDRF1: MOVE T4,EG$NAM(B) ;GET NAME WE ARE LOOKING FOR
1076 001512' 554 03 0 03 000003 FNDNXT: HLRZ T3,EG$ORD(T3) ;NEXT LINK
1077 001513' 322 03 0 00 001323* JUMPE T3,.POPJ ;EXIT ON NULL LINK
1078 001514' 312 04 0 03 000002 CAME T4,EG$NAM(T3) ;FIND IT?
1079 001515' 254 00 0 00 001512' JRST FNDNXT ;NO, KEEP LOOKING
1080 001516' 550 05 0 03 000003 HRRZ P1,EG$TTL(T3) ;GET LINK TO TITLE BLOCK
1081 001517' 200 01 0 05 000001 MOVE T1,TL$FLG(P1) ;GET THE FLAGS
1082 001520' 606 01 0 00 400000 TRNN T1,FT$LIB ;IS THIS A LIBRARY?
1083 001521' 254 00 0 00 001524' JRST FNDRF3 ;NO, GO AHEAD
1084 001522' 606 01 0 00 200000 TRNN T1,FT$REF ;YES, HAS IT BEEN REFERENCED ?
1085 001523' 254 00 0 00 001512' JRST FNDNXT ;NO, MOVE ALONG
1086 001524' 322 10 0 00 001534' FNDRF3: JUMPE P4,FNDRF2 ;JUMP IF THIS IS THE FIRST
1087 001525' 210 04 0 00 000010 MOVN T4,P4 ;NO, GET - COUNT OF REFERENCES
1088 001526' 517 00 0 00 000004 HRLZS T4 ;POSITION IN LH
1089 001527' 540 04 0 00 000007 HRR T4,P3 ;POINT AT THE LIST ON THE END OF CORE
1090 001530' 312 05 0 04 000000 CAME P1,(T4) ;IS THIS IT (ALREADY REQUESTED?)
1091 001531' 253 04 0 00 001530' AOBJN T4,.-1 ;NO, LOOP FOR ALL
1092 001532' 321 04 0 00 001511' JUMPL T4,FNDRF1 ;JUMP IF WE FOUND ONE
1093 001533' 200 04 0 12 000002 MOVE T4,EG$NAM(B) ;NO, RESTORE THE NAME
1094 001534' 201 01 0 00 000001 FNDRF2: MOVEI T1,1 ;ADD 1 TO THE LIST
1095 001535' 260 17 0 00 000340' CALL GETCOR ;WHICH ALSO DESTROYS T2
1096 001536' 202 05 0 01 000000 MOVEM P1,(T1) ;STORE ON LIST AT END OF CORE
1097 001537' 344 10 0 00 001512' AOJA P4,FNDNXT ;COUNT AND GO FOR MORE
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE 18
XGLOB MAC 19-MAR-76 13:24 LISTING ROUTINES
1098 001540' 201 01 0 00 004322' LSENTR: MOVEI T1,[ASCIZ\E \] ;START THE LINE
1099 001541' 260 17 0 00 001415* CALL .TSTRG
1100 001542' 201 05 0 06 000003 MOVEI P1,TL$ENT(P2) ;LINK TO ENTRYS
1101 001543' 260 17 0 00 001613' LSEGGO: CALL INIEGO ;INITIALIZE THE FORMATTER
1102
1103 001544' 550 05 0 05 000000 LSENXT: HRRZ P1,(P1) ;GET THE NEXT ONE
1104 001545' 322 05 0 00 001375* JUMPE P1,.TCRLF ;QUIT ON NULL
1105 001546' 200 01 0 05 000002 MOVE T1,EG$NAM(P1) ;GET THE NAME
1106 001547' 260 17 0 00 001365* CALL .TSIXN ;TYPE IT
1107 001550' 377 00 0 00 004066' SOSG MODKNT ;CHECK IF TIME FOR NEW LINE
1108 JRST [CALL .TCRLF ;YES, FORCE ONE
1109 CALL INIEGO ;INIT THE NEW LINE
1110 HRRZ T1,(P1) ;GET LINK TO NEXT
1111 JUMPE T1,.POPJ;JUMP IF NO MORE TO PRINT
1112 001551' 254 00 0 00 004323' JRST .+1] ;YES, TAB OVER AND CONTINUE
1113 001552' 260 17 0 00 000000* CALL .TTABC ;MOVE TO NEXT TAB STOP
1114 001553' 254 00 0 00 001544' JRST LSENXT ;LIST NEXT ENTRY
1115
1116 001554' 201 01 0 00 004330' LSGRQ: MOVEI T1,[ASCIZ\G \] ;START FOR GLOBAL REQUESTS
1117 001555' 260 17 0 00 001541* CALL .TSTRG
1118 001556' 201 05 0 06 000004 MOVEI P1,TL$GRQ(P2) ;LINK TO GLOBAL REQUESTS
1119 001557' 254 00 0 00 001543' JRST LSEGGO ;[3] GO DO IT
1120
1121 001560' 326 10 0 00 001563' LISREF: JUMPN P4,LISRF1 ;CHECK FOR NEVER REFERENCED
1122 MOVEI T1,[ASCIZ\NEVER REFERENCED
1123 001561' 201 01 0 00 004331' \]
1124 001562' 254 00 0 00 001555* PJRST .TSTRG ;OUTPUT AND RETURN
1125 001563' 201 01 0 00 004335' LISRF1: MOVEI T1,[ASCIZ\R \] ;START THE LINE
1126 001564' 260 17 0 00 001562* CALL .TSTRG
1127 001565' 260 17 0 00 001620' CALL INIRFL ;INIT FOR TYPEOUT
1128 001566' 200 06 0 07 000000 LISRF2: MOVE P2,(P3) ;GET THE POINTER TO TITLE BLOCK
1129 001567' 260 17 0 00 001505' CALL LISFLS ;OUTPUT THE NAME
1130 001570' 260 17 0 00 001601' CALL .TSLSH ;AND A SLASH
1131 001571' 200 01 0 06 000002 MOVE T1,EG$NAM(P2) ;GET THE MODULE NAME
1132 001572' 260 17 0 00 001547* CALL .TSIXN ;OUTPUT IT
1133 001573' 260 17 0 00 001601' CALL .TSLSH ;ANOTHER SLASH
1134 001574' 377 00 0 00 004066' SOSG MODKNT ;CHEK IF END OF LINE
1135 JRST [CALL .TCRLF ;YES, NEW LINE
1136 SOJLE P4,.POPJ;RETURN IF DONE
1137 CALL INIRFL ;INIT FOR A NEW LINE
1138 CALL .TTABC ;ELSE, SPACE OVER
1139 001575' 254 00 0 00 004336' AOJA P3,LISRF2] ;AND CONTINUE
1140 001576' 260 17 0 00 001552* CALL .TTABC ;SPACE OVER
1141 001577' 363 10 0 00 001545* SOJLE P4,.TCRLF ;QUIT WHEN DONE
1142 001600' 344 07 0 00 001566' AOJA P3,LISRF2 ;NO, BUMP POINTER AND GET NEXT
1143
1144 001601' 201 01 0 00 000057 .TSLSH: MOVEI T1,"/"
1145 001602' 254 00 0 00 000000* PJRST .TCHAR
1146
1147 001603' TOCDEC: SAVE T1 ;SAVE THE NUMBER
1148 001604' 260 17 0 00 000754* CALL .TOCTW ;TYPE OCTAL
1149 001605' 201 01 0 00 004343' MOVEI T1,[ASCIZ\ (\]
1150 001606' 260 17 0 00 001564* CALL .TSTRG
1151 RESTORE T1 ;GET NUMBER BACK
1152 001610' 260 17 0 00 000000* CALL .TDECW ;TYPE DECIMAL
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE 18-1
XGLOB MAC 19-MAR-76 13:24 LISTING ROUTINES
1153 001611' 201 01 0 00 004344' MOVEI T1,[ASCIZ\.) \]
1154 001612' 254 00 0 00 001606* PJRST .TSTRG ;OUTPUT AND RETURN
1155
1156 001613' 201 01 0 00 000017 INIEGO: MOVEI T1,^D15 ;PUT 15 ENTRIES AND GLBREQ / LINE
1157 001614' 603 11 0 00 010000 TXNE F,FL.NAR ;/NARROW?
1158 001615' 201 01 0 00 000010 MOVEI T1,^D8 ;THEN ONLY 8
1159 001616' 202 01 0 00 004066' MOVEM T1,MODKNT ;STORE
1160 001617' 263 17 0 00 000000 RETURN
1161
1162 001620' 201 01 0 00 000003 INIRFL: MOVEI T1,3 ;THREE ACROSS
1163 001621' 603 11 0 00 010000 TXNE F,FL.NAR ;IF /NAROW
1164 001622' 201 01 0 00 000002 MOVEI T1,2 ;THEN ONLY 2
1165 001623' 202 01 0 00 004066' MOVEM T1,MODKNT
1166 001624' 263 17 0 00 000000 RETURN
1167
1168 ;HERE TO LIST COMMON DECLARED HERE
1169
1170 001625' 554 01 0 06 000006 LSTCOM: HLRZ T1,TL$COM(P2) ;SEE IF ANY
1171 001626' 322 01 0 00 001513* JUMPE T1,.POPJ ;JUMP IF NOT
1172 001627' 201 01 0 00 004345' MOVEI T1,[ASCIZ\C \] ;START THE LINE
1173 001630' 260 17 0 00 001612* CALL .TSTRG
1174 001631' 201 05 0 06 000006 MOVEI P1,TL$COM(P2) ;INIT THE PTR
1175 001632' 260 17 0 00 001620' CALL INIRFL ;INIT THE FORMATTER
1176 001633' 550 05 0 05 000000 COMNXT: HRRZ P1,(P1) ;GET NEXT
1177 001634' 322 05 0 00 001577* JUMPE P1,.TCRLF ;QUIT ON NULL
1178 001635' 260 17 0 00 001601' CALL .TSLSH ;SLASH
1179 001636' 200 01 0 05 000002 MOVE T1,EG$NAM(P1) ;THE NAME
1180 001637' 260 17 0 00 001572* CALL .TSIXN ;OUTPUT IT
1181 001640' 260 17 0 00 001601' CALL .TSLSH ;SLASH
1182 001641' 260 17 0 00 000000* CALL .TSPAC ;SPACE
1183 001642' 554 01 0 05 000001 HLRZ T1,EG$FLG(P1) ;SIZE
1184 001643' 260 17 0 00 001603' CALL TOCDEC ;LIST IT
1185 001644' 377 00 0 00 004066' SOSG MODKNT ;CHECK FOR NEW LINE
1186 JRST [CALL .TCRLF ;YES
1187 CALL INIRFL
1188 HRRZ T1,(P1) ;SEE IF ANOTHER
1189 JUMPE T1,.POPJ;JUMP IF AT END
1190 CALL .TTABC ;TAB OVER
1191 001645' 254 00 0 00 004346' JRST .+1] ;NO--FORGE ON
1192 001646' 260 17 0 00 001641* CALL .TSPAC ;SPACE OVER
1193 001647' 254 00 0 00 001633' JRST COMNXT ;CONTINUE
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE 19
XGLOB MAC 19-MAR-76 13:24 I/O ROUTINES
1194 SUBTTL I/O ROUTINES
1195
1196 ;CALL WITH T1 ASCII BYTE FOR OUTPUT
1197
1198 001650' 377 00 0 00 002016' OBYTE: SOSG OUTBHR+2 ;ROOM?
1199 001651' 254 00 0 00 001664' JRST OBYBUF ;NO
1200 001652' 136 01 0 00 002015' OBYTE1: IDPB T1,OUTBHR+1
1201 001653' 603 11 0 00 040000 TLNE F,FL.PP ;PRETTY PRINT?
1202 001654' 306 01 0 00 000012 CAIN T1,.CHLFD ;YES--IS THIS A LINEFFEED?
1203 001655' 373 00 0 00 004065' SOSLE LINKNT ;YES--TIME TO FORMFEED?
1204 001656' 263 17 0 00 000000 RETURN ;NOT A LINEFEED OR NOT TIME
1205 001657' 201 01 0 00 000074 MOVEI T1,^D60 ;YES, RESET THE COUNTER
1206 001660' 202 01 0 00 004065' MOVEM T1,LINKNT ;...
1207 001661' 201 01 0 00 000014 MOVEI T1,.CHFFD ;GET A FORMFEED
1208 001662' 254 00 0 00 001650' JRST OBYTE ;AND SEND IT
1209 ; AOS BYTCNT ;COUNT FOR FORMATTING
1210 001663' 263 17 0 00 000000 RETURN
1211 001664' 057 02 0 00 000000 OBYBUF: OUT OCH,
1212 001665' 254 00 0 00 001652' JRST OBYTE1 ;NO ERRORS
1213 001666' 254 00 0 00 001652' JRST OBYTE1 ;***FIXUP LATER
1214
1215 ;CALL HERE TO GET 36-BIT BYTE INTO T1
1216 ;SKIP RETURN WITH THE BYTE, OR CPOPJ IF EOF
1217
1218 001667' 375 00 0 00 002021' IBYTE: SOSGE INPBHR+2 ;ANYTHING THERE/
1219 001670' 254 00 0 00 001674' JRST IBYTEN ;NO
1220 001671' 134 01 0 00 002020' ILDB T1,INPBHR+1
1221 001672' 350 00 0 17 000000 AOS (P)
1222 001673' 263 17 0 00 000000 RETURN
1223 001674' 056 01 0 00 000000 IBYTEN: IN ICH, ;GET NEW BUFFER
1224 001675' 254 00 0 00 001667' JRST IBYTE ;OK, GO GET DATA
1225 001676' 062 01 0 00 000001 GETSTS ICH,T1 ;OOPS, GET STATUS BITS
1226 SAVE T1 ;REMEMBER THEM
1227 001700' 620 01 0 00 740000 TXZ T1,IO.ERR ;CLEAR ERROR BITS
1228 001701' 060 01 0 01 000000 SETSTS ICH,(T1) ;CLEAR WITH MON
1229 RESTOR T1 ;GET BITS BACK
1230 001703' 606 01 0 00 020000 TXNN T1,IO.EOF ;END OF FILE?
1231 001704' 254 00 0 00 001667' JRST IBYTE ;NO, GO PROCESS DATA
1232 001705' 263 17 0 00 000000 RETURN ;YES, POPJ BACK
1233
1234 ;CALL WITH CHAR FOR TTY OUTPUT IN T1
1235
1236 001706' 377 00 0 00 004142' TOCHAR: SOSG TOBHR+2 ;ROOM?
1237 001707' 067 03 0 00 000000 OUTPUT TTY, ;NO, BOOT THE BUFFER
1238 001710' 136 01 0 00 004141' IDPB T1,TOBHR+1 ;STORE IN THE BUFFER
1239 ; AOS BYTCNT ;COUNT FOR FORMATTING
1240 001711' 306 01 0 00 000012 CAIN T1,.CHLFD ;IF A LINEFEED
1241 001712' 067 03 0 00 000000 OUTPUT TTY, ;OUTPUT IT ANYWAY
1242 001713' 263 17 0 00 000000 RETURN
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE 20
XGLOB MAC 19-MAR-76 13:24 SCAN SWITCH TABLES
1243 SUBTTL SCAN SWITCH TABLES
1244
1245 DEFINE SWTCHS,<
1246 SS *LIBRAR,.FXLIB,1
1247 SN *NARROW,<POINTR(FLAGS,SW.NAR)>,FS.NUE
1248 >
1249
1250 DOSCAN (GBXSW)
1251 001714' 125451 426241 EXP SIXBIT /*LIBRAR/
1252 001715' 125641 626257 EXP SIXBIT /*NARROW/
1253 001716' 000000 000032 EXP <.FXLIB> ;*LIBRAR
1254 001717' 360100 004073' ARROW
1255 001720' 000000 000000 XWD 0,0 ;*LIBRAR
1256 001721' 000000 000000 XWD 0,0 ;*NARROW
1257 001722' 000000 000001 XWD ..TEMR,1 ;*LIBRAR
1258 001723' 110000 000000 XWD ..TEMR,0 ;*NARROW
1259
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE 21
XGLOB MAC 19-MAR-76 13:24 STORAGE
1260 SUBTTL STORAGE
1261
1262 IFN FT2SEG,<RELOC>
1263
1264 001724' SGNAM: BLOCK 1 ;SAVE-GET ARGS
1265 001725' SGPPN: BLOCK 1
1266 001726' SGDEV: BLOCK 1
1267 001727' SGLOW: BLOCK 1
1268 001730' PDLIST: BLOCK PDSIZ ;PUSHDOWN LIST
1269 002012' SAVJFF: BLOCK 1 ;ORIG. .JBFF
1270 002013' OFFSET: BLOCK 1 ;START OFFSET FOR CCL
1271 002014' F.ZER==.
1272 002014' OUTBHR: BLOCK 3 ;OUTPUT BUFFER HEADER
1273 002017' INPBHR: BLOCK 3 ;INPUT BUFFER HEADER
1274 002022' LKPBLK: BLOCK .RBSIZ+1 ;EXTENDED LOOKUP BLOCK
1275 002030' WLDTMP: BLOCK 1 ;WILD STORES CURRENT BLOCK ADR HERE
1276 002031' OPNBLK: BLOCK 3 ;DEVICE OPEN BLOCK
1277 002034' OUTBUF: BLOCK 203*NOBUF ;OUTPUT BUFFERS
1278 002442' INPBUF: BLOCK 203*NIBUF ;INPUT BUFFERS
1279 004064' BYTCNT: BLOCK 1 ;REGISTER FOR FORMATTING OUTPUT
1280 004065' LINKNT: BLOCK 1 ;COUNTER FOR LINES/PAGE
1281 004066' MODKNT: BLOCK 1 ;NO. MODULES /LINE
1282 004067' TIMEON: BLOCK 1 ;FOR COUNTING CPU USAGE
1283 004070' FOUND1: BLOCK 1 ;-1 IF NEED ANOTHER PASS IN LINKER
1284 004071' LSEGOR: BLOCK 1 ;LOWSEG ORIGIN
1285 004072' HSEGOR: BLOCK 1 ;HISEG ORIGIN
1286
1287 004073' SCN.F==. ;START OF SCAN INFO AREA
1288 004073' FLAGS: BLOCK 2 ;PERMANENT FLAGS DURING SCAN
1289 004075' O.AREA: BLOCK .FXLEN ;OUTPUT SPEC SIZE
1290 000032 O.SIZE==.FXLEN
1291 004127' SWTWRD: BLOCK 2 ;SWITCH STORE AREA
1292 004131' INBEG: BLOCK 1 ;ADDRESS OF START OF INPUT SPECS
1293 004132' INEND: BLOCK 1 ;ADDRESS OF LAST INPUT SPEC
1294 004133' INXTZ: BLOCK 1 ;CURRENT BLOCK
1295 004134' LSTHED: BLOCK 1 ;POINTER TO FIRST TITLE BLOCK
1296 004135' ENTLST: BLOCK 1 ;POINTER TO SORTED ENTRY LIST
1297 004136' GLBLST: BLOCK 1 ;POINTER TO SORTED GLOBAL LIST
1298 004137' OUTDON: BLOCK 1 ;OUTPUT HAS BEEN SETUP
1299 004137' SCN.Z==.-1 ;END OF SCANINFO AREA
1300
1301 004140' TOBHR: BLOCK 3 ;TTY OUTPUT BUFFER HEADER
1302 004142' L.ZER==.-1
1303
1304 000015' END XGLOB
NO ERRORS DETECTED
PROGRAM BREAK IS 004354
CPU TIME USED 00:30.974
13K CORE USED
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE S-1
XGLOB MAC 19-MAR-76 13:24 SYMBOL TABLE
AC 000000 F.NAM 000323' EXT INIEGO 001613' OBYTE1 001652'
ALCIN 000305' F.ZER 002014' SPD INIRFL 001620' OCH 000002 SPD
ALCIN1 000317' FBLKSZ 000033 SPD INIT 041000 000000 OFFSET 002013'
ALCIN2 000314' FILRD1 000467' INPBHR 002017' OPEN 050000 000000
ALCOUT 000301' FILRD2 000473' INPBUF 002442' OPNBLK 002031'
B 000012 FILRD3 000470' INXTZ 004133' OUT 057000 000000
BLKDIS 000516' FILRD4 000465' IO.EOF 020000 SPD OUTBHR 002014'
BLKTYP 000504' FILREA 000444' IO.ERR 740000 SPD OUTBUF 002034'
BYTCNT 004064' FL.FSA 020000 SPD L.ZER 004142' SPD OUTBUF 065000 000000
C 000010 FL.HSE 004000 SPD LINK1 001272' OUTDON 004137'
CALL 260740 000000 FL.NAM 400000 SPD LINK2 001302' OUTPUT 067000 000000
CBLXLT 000002 SPD FL.NAR 010000 000000 SPD LINK3 001304' OUTSTR 051140 000000
CLOSE 070000 000000 FL.PP 040000 SPD LINK4 001317' P 000017
CLRANS 000267' FL.SKP 200000 SPD LINKER 001271' P1 000005
CLRFIL 000255' FL.TTO 100000 SPD LINKNT 004065' P2 000006
CLRFL1 000265' FLAGS 004073' LISFLS 001505' P3 000007
COMNXT 001633' FNDNXT 001512' LISREF 001560' P4 000010
CORE 047000 000011 FNDREF 001510' LISRF1 001563' PD. 000000 SPD
COUNT 001066' FNDRF1 001511' LISRF2 001566' PDLIST 001730'
DEVCHR 047000 000004 FNDRF2 001534' LISTIT 001223' PDSIZ 000062 SPD
DOFILE 000440' FNDRF3 001524' LKPBLK 002022' PJRST 254000 000000
DOXGL1 000106' FOUND1 004070' LNKSAT 001322' PJSP 265000 000000
DOXGLB 000067' FS.LRG 200000 000000 SPD LOOKUP 076000 000000 R50T6 000760'
DOXGLF 000132' FS.NOS 010000 000000 SPD LSAT1 001322' R50T6X 001011'
DV.DIR 000004 000000 SPD FS.NUE 100000 000000 SPD LSAT2 001326' R50TAB 001015'
DWNSCN 000355' FT$LIB 400000 SPD LSAT3 001335' RDCOM1 000563'
E.BLKT 000751' FT$REF 200000 SPD LSEGGO 001543' RDCOMM 000550'
E.DFL 000251' EXT FT$SCN 100000 SPD LSEGOR 004071' RDEND 000577'
E.ENT 000243' FT2SEG 000000 SPD LSENTR 001540' RDEND1 000614'
E.LKP 000251' FTCPU 000000 SPD LSENXT 001544' RDEND2 000617'
E.NFI 000203' FTDDT 000001 SPD LSGRQ 001554' RDF40 000675'
E.NIS 000220' FX.NUL 200000 000000 SPD LSTCOM 001625' RDF40A 000713'
E.OPN 000234' GBXSCN 000051' LSTDUN 001265' RDF40B 000716'
E.TMO 000226' GBXSWD 001722' LSTEN1 001405' RDF40C 000722'
E.WOI 000211' GBXSWL 000002 SPD LSTEN2 001416' RDF40D 000727'
EG$BAK 000000 SPD GBXSWM 001720' LSTENT 001350' RDF40E 000734'
EG$END 000003 SPD GBXSWN 001714' LSTHED 004134' RDF40F 000741'
EG$FLG 000001 SPD GBXSWP 001716' LSTIT1 001236' RDF40G 000747'
EG$NAM 000002 SPD GETCOR 000340' LSTNX1 001257' RDHSEG 000537'
EG$NXT 000000 SPD GETSEG 047000 000040 LSTNXT 001244' RDNAM1 000652'
EG$ORD 000003 SPD GETSTS 062000 000000 MODKNT 004066' RDNAM2 000655'
EG$TTL 000003 SPD GLBLST 004136' MX. 000000 SPD RDNAME 000641'
EGLSIZ 000004 SPD HALT 254200 000000 MXLATR 000013 SPD RDNDXB 000533'
ENTER 077000 000000 HEDMSG 001424' N 000007 RDNT1 000630'
ENTLST 004135' HSEGOR 004072' NBLKTY 000012 SPD RDNT2 000631'
ENTRIT 001161' IBYTE 001667' NIBUF 000006 SPD RDNTRY 000622'
ENTRT2 001177' IBYTEJ 000530' NOBUF 000002 SPD RDSYM1 000573'
ENTRT3 001170' IBYTEN 001674' NTRCOM 001152' RDSYMB 000565'
ENTRT5 001205' ICH 000001 SPD NTRENT 001134' RELEAS 071000 000000
ENTRTX 001202' IFDF1 001127' NTRGRQ 001143' RESET 047000 000000
ENTSR1 001220' IFDFIN 001126' NTRTTL 001074' RETURN 263740 000000
ENTSR2 001212' IN 056000 000000 O.AREA 004075' SAV0 000417'
ENTSRT 001212' INBEG 004131' O.SIZE 000032 SPD SAV17 000436'
EXIT 047000 000012 INBUF 064000 000000 OBYBUF 001664' SAVJFF 002012'
F 000011 INEND 004132' OBYTE 001650' SCN.F 004073' SPD
XGLOB GENERATE REVERSE GLOBS FOR OVERLAY SETUP %1 MACRO %50A(441)-2 14:03 23-FEB-77 PAGE S-2
XGLOB MAC 19-MAR-76 13:24 SYMBOL TABLE
SCN.Z 004137' SPD .CHFFD 000014 SPD .TTIMN 000000 EXT
SCNCHK 000144' .CHLFD 000012 SPD .TVERW 001241' EXT
SCNCK1 000166' .CLRBF 000253' EXT .TYOCH 001270' EXT
SCNCK2 000177' .FMSG 000226' EXT
SCNDWN 000437' .FMSGD 000000 EXT
SCNERR 000252' .FMSGF 000244' EXT
SEGAGN 000402' .FMSGN 000235' EXT
SEGBLK 000411' .FMSGO 000000 EXT
SETSTS 060000 000000 .FXDEV 000000 SPD
SGDEV 001726' .FXEXT 000003 SPD
SGLOW 001727' .FXLEN 000032 SPD
SGNAM 001724' .FXLIB 000032 SPD
SGPPN 001725' .FXMOD 000004 SPD
STARS 001423' .FXNAM 000001 SPD
SW.LIB 400000 SPD .IOASC 000000 SPD
SW.NAR 010000 000000 SPD .IOBIN 000014 SPD
SWTLC1 000335' .ISCAN 000042' EXT
SWTLC2 000333' .JBFF 000121
SWTLOC 000331' .JBREL 000044
SWTSTO 000321' .JBSA 000120
SWTWRD 004127' .JBVER 000137
T1 000001 .LKWLD 000110' EXT
T2 000002 .MNRET 000353' EXT
T3 000003 .OPBUF 000002 SPD
T4 000004 .OPDEV 000001 SPD
TIMEON 004067' .OPMOD 000000 SPD
TL$BAK 000000 SPD .POPJ 004351' EXT
TL$COM 000006 SPD .POPJ1 001204' EXT
TL$DEV 000007 SPD .RBEXT 000003 SPD
TL$END 000012 SPD .RBNAM 000002 SPD
TL$ENT 000003 SPD .RBPPN 000001 SPD
TL$EXT 000012 SPD .RBSIZ 000005 SPD
TL$FIL 000011 SPD .SAVE1 000144' EXT
TL$FLG 000001 SPD .SAVE2 000440' EXT
TL$GRQ 000004 SPD .SAVE3 000000 EXT
TL$NAM 000002 SPD .SAVE4 001223' EXT
TL$NXT 000000 SPD .SGDEV 000011 SPD
TL$PPN 000010 SPD .SGLOW 000017 SPD
TL$SIZ 000005 SPD .SGNAM 000000 SPD
TOBHR 004140' .SGPPN 000007 SPD
TOCDEC 001603' .STOPN 000065' EXT
TOCHAR 001706' .TCHAR 001602' EXT
TTLSIZ 000013 SPD .TCRLF 004346' EXT
TTY 000003 SPD .TDATE 000000 EXT
UPSCN 000364' .TDATN 000000 EXT
WLDTMP 002030' .TDECW 001610' EXT
XGBEDT 000004 SPD .TOCTW 001604' EXT
XGBMIN 000000 SPD .TOLEB 001507' EXT
XGBVER 000002 SPD .TSCAN 000055' EXT
XGBWHO 000000 SPD .TSIXN 001637' EXT
XGLF1 000142' .TSLSH 001601'
XGLOB 000015' .TSPAC 001646' EXT
XGLOB1 000027' .TSTRG 001630' EXT
XGLOB2 000047' .TTABC 004352' EXT
XLATOR 001472' .TTIME 000000 EXT
AC 7#
ALCIN 187 351# 376
ALCIN1 352 361#
ALCIN2 358# 362
ALCOUT 187 346#
B 17# 181 535 537 561 565 571 594 596 603 613 615 742 743
744 745 746 748 749 751 753 755 758 759 760 778 786 794
825 853 870 871 872 878 896 897 898 899 902 906 908 909
910 916 952 1075 1093
BLKDIS 464 495#
BLKTYP 458 483# 493
BYTCNT 1279#
C 15#
CBLXLT 605 1052#
CLRANS 186 334#
CLRFIL 186 323#
CLRFL1 324 331#
COMNXT 1176# 1193
COUNT 463 468 722#
DOFILE 254 445#
DOXGL1 211 230# 255
DOXGLB 206 208#
DOXGLF 238 257#
DV.DIR 204
DWNSCN 253 257 405#
E.BLKT 478 674#
E.DFL 50 50# 317
E.ENT 219 315#
E.LKP 247 317#
E.NFI 284 296 309#
E.NIS 282 311#
E.OPN 217 245 313#
E.TMO 312#
E.WOI 205 310#
EG$BAK 129#
EG$END 134# 135
EG$FLG 131# 538 612 824 878 942 1183
EG$NAM 132# 807 809 832 842 843 927 938 952 1075 1078 1093 1105 1131
1179
EG$NXT 130#
EG$ORD 134# 781 789 840 846 847 853 870 1074 1076
EG$TTL 133# 825 872 1080
EGLSIZ 135# 829
ENTLST 781 853 1296#
ENTRIT 779 787 795 804# 810
ENTRT2 806 821#
ENTRT3 812#
ENTRT5 812 821 828#
ENTRTX 818 824#
ENTSR1 841 846#
ENTSR2 839# 844
ENTSRT 782 790 838#
F 16# 179 194 210 239 259 358 448 515 553 554 558 574 579
592 599 600 670 757 776 784 792 854 861 892 1157 1163 1201
F.NAM 50 50# 366
F.ZER 156 157 1271#
FBLKSZ 41 233 306 329 353
FILRD1 468#
FILRD2 467 473#
FILRD3 469# 471 476 523 606 608 611 616 682
FILRD4 460 466#
FILREA 449# 465 469 481 513 520 539 548 551 562 566 584 588 601
671
FL.FSA 26#
FL.HSE 28# 448 515 558
FL.NAM 22# 448 554 574 579 592 600 670
FL.NAR 35# 1157 1163
FL.PP 25# 861 1201
FL.SKP 23# 448 553 599 776 784 792
FL.TTO 24# 210 259 854 892
FLAGS 194 369 370 1254 1288#
FNDNXT 1076# 1079 1085 1097
FNDREF 883 1074#
FNDRF1 1075# 1092
FNDRF2 1086 1094#
FNDRF3 1083 1086#
FOUND1 907 920 945 1283#
FS.LRG 1255 1256 1257 1258
FS.NOS 1256 1258
FS.NUE 1256 1258
FT$LIB 140# 756 874 900 911 932 1082
FT$REF 141# 876 879 912 933 940 1084
FT$SCN 142# 914 943
FT2SEG 39 70 74 400 404 1262
FTCPU 38 971 1063
FTDDT 37
FX.NUL 292 302
GBXSCN 175 179# 273 320
GBXSWD 183 1257#
GBXSWL 182 1253#
GBXSWM 183 1255#
GBXSWN 182 1251# 1253
GBXSWP 184 1253#
GETCOR 354 385# 741 830 1095
GLBLST 789 1074 1297#
HEDMSG 867 1006#
HSEGOR 446 519 560 1285#
IBYTE 506 1218# 1224 1231
IBYTEJ 449 461 470 479 506# 511 516 521 527 531 534 541 549 556
563 567 581 586 589 602 618 630 634 637 640 645 648 651
654 657 660 663 664 667
IBYTEN 1219 1223#
ICH 52# 244 246 250 265 1223 1225 1228
IFDF1 767# 770
IFDFIN 736 766#
INBEG 231 281 328 355 356 1292#
INEND 231 304 357 1293#
INIEGO 1101 1109 1156#
INIRFL 1127 1137 1162# 1175 1187
INPBHR 242 1218 1220 1273#
INPBUF 248 1278#
INXTZ 323 331 351 361 372 377 1294#
IO.EOF 1230
IO.ERR 1227
L.ZER 158 1302#
LINK1 897# 901 904
LINK2 898 906# 921
LINK3 908# 913 915 918
LINK4 909 920#
LINKER 852 896#
LINKNT 860 1203 1206 1280#
LISFLS 959 1070# 1129
LISREF 1002 1121#
LISRF1 1121 1125#
LISRF2 1128# 1139 1142
LISTIT 258 851#
LKPBLK 199 200 218 232 246 750 752 754 1274#
LNKSAT 903 917 924#
LSAT1 925# 930
LSAT2 929# 934 937 946
LSAT3 936# 939
LSEGGO 1101# 1119
LSEGOR 447 518 522 564 570 1284#
LSENTR 999 1098#
LSENXT 1103# 1114
LSGRQ 1000 1116#
LSTCOM 1001 1170#
LSTDUN 871 892#
LSTEN1 984 988#
LSTEN2 994 999#
LSTENT 890 949#
LSTHED 181 766 896 906 928 1295#
LSTIT1 855 863#
LSTNX1 875 881#
LSTNXT 870# 877 880 891
MODKNT 1107 1134 1159 1165 1185 1281#
MX. 1255#
MXLATR 967 1061#
N 14# 313 315
NBLKTY 457 493#
NIBUF 43 250 1278
NOBUF 44 222 1277
NTRCOM 530 610 792#
NTRENT 583 624 776#
NTRGRQ 546 642 784#
NTRTTL 577 598 736#
O.AREA 197 277 315 346 1289#
O.SIZE 347 1290#
OBYBUF 1199 1211#
OBYTE 262 856 1198# 1208
OBYTE1 1200# 1212 1213
OCH 53# 216 218 222 263 264 1211
OFFSET 148 167 1270#
OPNBLK 198 202 208 213 215 216 232 241 243 244 313 748 1276#
OUTBHR 214 1198 1200 1272#
OUTBUF 220 1277#
OUTDON 348 364 1298#
P 18# 30 31 155 318 610 737 740 748 797 829 832 859 895
1148 1152 1221 1227 1230
P1 12# 281 283 295 298 300 303 304 306 450 452 454 455 458
462 466 473 474 477 533 538 580 585 607 608 612 614 676
902 916 925 926 927 944 1080 1081 1090 1096 1100 1103 1104 1105
1110 1118 1174 1176 1177 1179 1183 1188
P2 13# 451 464 469 517 520 528 539 548 550 557 562 566 584
587 590 601 639 643 722 724 726 872 873 962 966 983 988
992 1070 1071 1100 1118 1128 1131 1170 1174
P3 14# 882 885 1089 1128 1139 1142
P4 15# 881 1086 1087 1097 1121 1136 1141
PD. 1257#
PDLIST 155 318 1268#
PDSIZ 40 155 318 1268
R50T6 529 545 582 591 623 641 687#
R50T6X 700 704#
R50TAB 700 702 704 717#
RDCOM1 532 539#
RDCOMM 502 527# 540
RDEND 503 504 553#
RDEND1 555 566# 568 572
RDEND2 559 570#
RDF40 456 618# 625 628
RDF40A 633 637#
RDF40B 640# 643
RDF40C 638 645#
RDF40D 646 651#
RDF40E 652 657#
RDF40F 658 663#
RDF40G 665 670#
RDHSEG 498 515#
RDNAM1 593 598#
RDNAM2 597 601#
RDNAME 499 500 589#
RDNDXB 453 510#
RDNT1 575 580# 587
RDNT2 581# 585
RDNTRY 495 496 497 574#
RDSYM1 544 548#
RDSYMB 501 541# 550
SAV0 416 417 431 439#
SAV17 415 440#
SAVJFF 174 326 338 1269#
SCN.F 335 336 1287#
SCN.Z 337 1299#
SCNCHK 195 276#
SCNCK1 289 295# 307
SCNCK2 299 304#
SCNDWN 405 410 413 430 441#
SCNERR 318#
SEGAGN 427# 437
SEGBLK 419 421 422 423 425 426 427 438#
SGDEV 151 418 1266#
SGLOW 152 1267#
SGNAM 149 420 1264#
SGPPN 150 424 1265#
STARS 950 954 1005#
SW.LIB 33# 368
SW.NAR 34# 35 1254
SWTLC1 373 376#
SWTLC2 374# 378
SWTLOC 367 372#
SWTSTO 190 364#
SWTWRD 1291#
T1 8# 145 146 148 153 154 157 158 166 172 173 174 182 197
202 203 204 208 209 212 213 214 215 220 221 223 231 240
241 242 243 248 249 251 261 278 280 283 286 287 288 291
293 297 298 301 303 309 310 311 312 314 316 323 325 327
329 330 336 337 338 339 340 341 342 346 353 356 357 358
361 368 369 370 372 374 377 385 386 394 407 408 418 419
420 421 424 425 427 428 450 451 480 510 519 522 533 536
538 542 560 561 564 565 570 571 576 596 603 604 607 609
612 619 627 632 638 639 646 647 652 653 658 659 665 666
674 676 678 687 700 701 704 706 722 723 724 740 742 759
760 769 807 809 814 815 816 817 822 823 824 825 829 832
842 846 847 856 859 860 863 865 867 873 874 876 878 879
895 899 900 910 911 912 914 940 941 942 950 952 954 956
960 962 964 966 967 968 969 981 983 984 986 988 990 992
993 996 1071 1081 1082 1084 1094 1096 1098 1105 1110 1111 1116 1122
1125 1131 1144 1148 1149 1152 1153 1156 1158 1159 1162 1164 1165 1170
1171 1172 1179 1183 1188 1189 1200 1202 1205 1206 1207 1220 1225 1227
1228 1230 1238 1240
T2 9# 198 277 279 280 285 286 288 290 293 300 302 326 327
347 359 385 387 388 390 449 461 470 479 508 511 516 521
527 531 534 535 536 537 541 542 543 549 556 563 567 581
586 589 602 604 605 613 614 615 618 619 620 621 630 634
637 640 645 648 651 654 657 660 663 664 667 700 702 703
704 705 725 744 745 746 748 749 750 751 752 753 754 755
756 758 766 767 768 769 778 781 786 789 794 804 805 806
807 809 813 814 816 839 840 841 843 846 931 932 933 935
936 937 938 942 943 944 1070
T3 10# 199 200 457 458 459 460 464 510 512 629 631 632 633
635 647 649 653 655 659 661 666 668 688 706 804 813 815
817 822 823 839 847 928 929 930 931 935 941 1074 1076 1077
1078 1080
T4 11# 290 292 842 843 927 938 1075 1078 1087 1088 1089 1090 1091
1092 1093
TEMP%% 204# 204
TIMEON 1282#
TL$BAK 108#
TL$COM 116# 535 537 613 615 794 992 1170 1174
TL$DEV 117# 749 1071
TL$END 121# 122
TL$ENT 113# 778 935 1100
TL$EXT 120# 753
TL$FIL 119# 751
TL$FLG 110# 603 758 873 899 910 931 941 944 966 1081
TL$GRQ 114# 786 902 916 1118
TL$NAM 112# 594 596 748 769 962
TL$NXT 109#
TL$PPN 118# 755 1070
TL$SIZ 115# 561 565 571 983 988
TOBHR 162 1236 1238 1301#
TOCDEC 985 989 995 1147# 1184
TOCHAR 168 1236#
TTLSIZ 122# 740 746
TTY 54# 160 164 165 1237 1241
UPSCN 180 230 393 413#
WLDTMP 196 234 239 1275#
XGBEDT 61# 79
XGBMIN 60# 79
XGBVER 59# 79
XGBWHO 58# 79
XGLF1 260 265#
XGLOB 145# 1304
XGLOB1 155# 178
XGLOB2 153 177#
XLATOR 969 1049# 1052 1061
..TEMP 1253# 1253 1254# 1254 1255# 1255 1256 1256# 1257 1257# 1258 1258# 1259
..TEMR 1257# 1257 1258# 1258 1259
.CHFFD 261 1207
.CHLFD 1202 1240
.CLRBF 319
.FMSG 50 50# 309 310 311 312
.FMSGD 50 50#
.FMSGF 50 50# 316
.FMSGN 50 50# 314
.FMSGO 50 50#
.FXDEV 279 280
.FXEXT 288 293 298 303
.FXLEN 36 359 1289 1290
.FXLIB 36# 374 757 1253
.FXMOD 290 300
.FXNAM 283 285 286 295
.IOASC 160 212
.IOBIN 240
.ISCAN 50 50# 171
.JBFF 172 221 223 249 251 330 339 386 387 882 885
.JBREL 173 341 388
.JBSA 154
.JBVER 78 865
.LKWLD 50 50# 237
.MNRET 50 50# 397
.OPBUF 215 243
.OPDEV 202 208 313 748 1071
.OPMOD 213 241
.POPJ 50 50# 768 926 1077 1111 1136 1171 1189
.POPJ1 50 50# 771 826
.RBEXT 752
.RBNAM 750
.RBPPN 754 1070
.RBSIZ 199 233 1274
.SAVE1 50 50# 276
.SAVE2 50 50# 445
.SAVE3 50 50#
.SAVE4 50 50# 851
.SGDEV 151
.SGLOW 152
.SGNAM 149
.SGPPN 150
.STOPN 50 50# 201
.TCHAR 50 50# 1145
.TCRLF 50 50# 949 980 993 1104 1108 1135 1141 1177 1186
.TDATE 50 50#
.TDATN 50 50#
.TDECW 50 50# 1152
.TOCTW 50 50# 677 1148
.TOLEB 50 50# 1072
.TSCAN 50 50# 193
.TSIXN 50 50# 953 963 1106 1132 1180
.TSLSH 1130 1133 1144# 1178 1181
.TSPAC 50 50# 1182 1192
.TSTRG 50 50# 396 675 680 864 868 951 955 958 961 965 970 982
987 991 998 1099 1117 1124 1126 1150 1154 1173
.TTABC 50 50# 1113 1138 1140 1190
.TTIME 50 50#
.TTIMN 50 50#
.TVERW 866
.TYOCH 50 50# 857 895
CALL 30# 171 180 193 195 201 230 237 253 254 257 258 262 276
317 319 354 376 393 396 397 445 463 468 506 529 530 545
546 577 582 583 591 598 623 624 641 642 675 677 680 736
741 779 787 795 812 821 830 851 852 857 864 866 868 883
890 903 917 949 951 953 955 958 959 961 963 965 970 980
982 985 987 989 991 993 995 998 999 1000 1001 1002 1095 1099
1101 1106 1108 1109 1113 1117 1126 1127 1129 1130 1132 1133 1135 1137
1138 1140 1148 1150 1152 1173 1175 1178 1180 1181 1182 1184 1186 1187
1190 1192
CLOSE 263
CORE 342 390 408
DEVCHR 203
DOSCAN 1250
ENTER 218
EXIT 436
EXT 46 309 310 311 312 314 316
GETSEG 428
GETSTS 1225
HALT 163 578 595
IN 1223
INBUF 250
INIT 160
LOOKUP 246
M.FAIF 316
M.FAIL 309 310 311 312
M.FAIN 314
MOVX 368 756
ND 37 38 39 40 41 43 44
OP%%TX 204
OPEN 216 244
OUT 1211
OUTBUF 164 222
OUTPUT 165 1237 1241
OUTSTR 434
P 1047# 1049 1050 1051 1053 1054 1055 1056 1057 1058 1059 1060
PJRST 782 790 895 1072 1124 1145 1154
PJSP 309 310 311 312 314 316
POINTR 1254
POS 1254
R50 709# 717
RELEAS 264 265
RESET 147 177
RESTOR 88# 747 831 894 1151 1229
RETURN 31# 305 332 344 349 360 365 371 375 389 392 406 409 411
414 433 507 707 727 738 761 777 780 785 788 793 796 798
808 832 848 893 922 1003 1160 1166 1204 1210 1222 1232 1242
SAVE 82# 739 828 858 1147 1226
SETSTS 1228
SN 1252 1254 1256 1258
SS 1251 1253 1255 1257
STORE 156 335
SWTCHS 1245# 1251 1253 1255 1257
TXNE 204 292 302 1157 1163
TXNN 1230
TXZ 1227
VRSN. 79
WID 1254
X 1251# 1251 1252 1253# 1253 1254 1255# 1255 1256 1257# 1257 1258