Trailing-Edge
-
PDP-10 Archives
-
decuslib10-07
-
43,50457/dumpr.lpt
There are 2 other files named dumpr.lpt in the archive. Click here to see a list.
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 1
DUMPR MAC 21-FEB-77 17:03 B. SCHREIBER - UI HIGH ENERGY PHYSICS GROUP
1 SUBTTL B. SCHREIBER - UI HIGH ENERGY PHYSICS GROUP
2
3 SEARCH JOBDAT,UUOSYM,MACTEN,SCNMAC
4 .DIREC .XTABM
5 SALL
6
7 ;DUMPR VERSION INFORMATION
8
9 000005 DMPVER==5 ;VERSION
10 000026 DMPEDT==26 ;EDIT
11 000000 DMPMIN==0 ;MINOR VERSION
12 000000 DMPWHO==0 ;WHO
13
14 DEFINE CTITLE (TEXT,MAJVER,VEREDT)
15 <TITLE 'TEXT'MAJVER(VEREDT)>
16
17 CTITLE (<DUMPR - UTILITY FILE DUMPER %>,\DMPVER,\DMPEDT)
18
19 000137 LOC .JBVER
20 000500 000026 %%DUMP==:VRSN. (DMP) ;FOR LINK-EDIT MAP
21 000137 000500 000026 EXP %%DUMP
22
23 ;SHOW UNIVERSAL VERSION
24
25 043000 000443 %%JOBD==:%%JOBD ;JOBDAT
26 101100 000225 %%UUOS==:%%UUOS ;UUOSYM
27 000100 000024 %%MACT==:%%MACT ;MACTEN
28 000700 000203 %%SCNM==:%%SCNM ;SCNMAC
29
30 ;REQUEST REST OF LOADING NOW
31
32 IF2,< ;ONLY NEED TO REQUEST LOADING IN PASS 2
33 IFE FT$SEG,< ;IF LOADING RUNNING PART IN LOWSEG
34 .REQUE REL:HELPER
35 IFN FT$WLD,<.REQUE REL:WLD7A>
36 .TEXT \REL:ALCOR/SEG:LOW/SEARCH\
37 .TEXT \REL:SCN7B/SEG:LOW/SEARCH/EXCLUD:(.SCAN),REL:SCN7B/SEARCH\
38 >;END IFE FT$SEG
39
40 IFN FT$SEG,< ;IF LOADING IT ALL IN HIGH SEGMENT
41 .REQUE REL:ALCOR
42 .REQUE REL:SCN7B
43 IFN FT$WLD,<.REQUE REL:WLD7A>
44 .REQUE REL:HELPER
45 >;END IFN FT$SEG
46 >;END IF2
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 2
DUMPR MAC 21-FEB-77 17:03 REVISION HISTORY
47 SUBTTL REVISION HISTORY
48
49 COMMENT \
50
51 1(1) 11/1/76 BIRTH
52 1(2) 11/2/76 RECOVER FROM BLOCK TOO LARGE WITH /FORTRA OR
53 /IREAD(ON DSK).
54 1(3) 11/4/76 MAKE DISK IREAD MUCH FASTER. WORD COUNTS FOR
55 NOT /LINRDX:DEC WILL START AT ZERO, RATHER
56 THAN ONE.
57 2(4) 11/4/76 IMPLEMENT /MODE:BYTE:N DUMP. ADD CODE FOR
58 SKIPPING FORTRAN BINARY ON MAGTAPE.
59 2(5) 11/5/76 IMPLEMENT /MTBUF AND /ERROR
60 2(6) 11/7/76 MAKE /MODE:ASCII WORK IF NOT /OMIT.
61 2(7) 11/10/76 MAKE CONTROL CHARACTERS VISIBLE IF/MODE:ASCII/OMIT.
62 CORRECT BYTE WIDTH COMPUTATION IF /RADIX ALSO.
63 2(10) 11/11/76 MAKE /DUMP:F:R WORK IF /SUM. CHANGE JRST DUMP$G
64 TO JRST DUMP.2 AT DUMP$G+7.
65 2(11) 11/14/76 MISC. CLEANUPS. IMPLEMENT "I" OPTION FOR IFTYP.
66 2(12) 11/15/76 SKIPE T3 IS REALLY SKIPE T2 AT GMBWID+6. THIS
67 FIXES PROBLEM WITH /MODE:BYTE DUMPS
68 2(13) 12/10/76 READ TTY WIDTH IF TTY DUMP AND NO /WIDTH GIVEN.
69 FEATURE TEST IREAD STUFF WITH FT$PHX. MISC. CODE
70 CLEANUPS.
71 3(14) 12/27/76 ADD WILDCARDING UNDER FT$WLD CONDITIONAL
72 3(15) 1/2/77 FINISH WILDCARDING (SINGLE INPUT SPEC ONLY). IF SPOOLED
73 OUTPUT AND WILDCARDS, THEN CLOSE AND REOPEN OUTPUT AFTER
74 EACH FILE. FIX UP EIGHT-BIT ASCII PRINTOUT TO MAKE
75 ALL CHARACTERS VISIBLE.
76 3(16) 1/2/77 FIX BUG AT DUMPEF (NO HISEG PRESENT IF FT$WLD=1)
77 3(17) 1/3/77 MAKE EBCDIC DUMP WORK. ADD /BLOCK TO SPECIFY
78 # CHARACTERS IN AN EBCDIC RECORD
79 4(20) 1/5/77 ADD /POSITION SWITCH.
80 4(21) 1/6/77 MISC. CLEANUPS
81 4(22) 1/27/77 ADD [DMPIPT INITIAL POSITION OF TAPE IS FILE N REC M]
82 TO SHOW WHERE THE TAPE IS INITIALLY
83 4(23) 1/27/77 SHOW FILE/RECORD POSITION ON INPUT ERRORS. DO A
84 WAIT WHEN ERROR HAPPENS TO MAKE SURE I/O IS OVER
85 4(24) 2/3/77 MTWAT BEFORE THE TAPOP. IN DMPINI WILL PROBABLY
86 CURE SOME OF THE PROBLEMS WITH FUNNY FILE AND
87 RECORD COUNTS.
88 4(25) 2/13/77 SEE IF DEVICE IS ALSO TTY IF MTA (IE NULL) AND
89 ZAP DV.MTA IF SO
90 5(26) 2/18/77 IMPLEMENT /MODE:HALF AND /MODE:SYMBOL
91
92 \;END OF HISTORY
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 3
DUMPR MAC 21-FEB-77 17:03 ASSEMBLY / ACCUMULATOR DEFINITIONS
93 SUBTTL ASSEMBLY / ACCUMULATOR DEFINITIONS
94
95 ;ASSEMBLY DEFINES
96
97 ND LN$PDL,^D200 ;PDL SIZE
98 ND MY$NAM,'DUMPR ' ;MY NAME
99 ND MY$PFX,'DMP' ;MESSAGE PREFIX
100 ND LN$ACT,^D50 ;SIZE OF ACTION LIST
101 ND LN$CMD,^D20 ;SIZE OF BUFFER TO REMEMBER COMMANDS IN
102 000143 MX$CMD==<LN$CMD*5>-1 ;MAX # CHARS IN COMMAND (LEAVE NULL ON END)
103 ND LN$TTL,^D30 ;LENGTH OF TITLE BLOCK (.NMUL IN SCAN IS THIS LONG)
104 ND DF$BFZ,^D1024 ;DEFAULT BUFFERSIZE IF NONE GIVEN
105 ND FT$SEG,0 ;1 = ALL EXECUTABLE CODE GOES IN HIGH SEGMENT
106 ;0 = ONLY PUT SCAN IN HIGH SEGMENT AND THROW
107 ; IT AWAY WHEN RUNNING
108 ND FT$OPT,1 ;1 = SCAN SWITCH.INI FOR SWITCHES ALSO
109 ND FT$PHX,1 ;1 = INCLUDE /IREAD SWITCH (FOR UI PHYSICS)
110 ND FT$WLD,1 ;1 = ALLOW INPUT WILDCARDING
111 ND FT$ISD,1 ;1 = INCLUDE INSTRUCTION SET DUMP
112
113 400000' TWOSEG
114 IFN FT$SEG,<RELOC 400000>
115 000000' IFE FT$SEG,<RELOC 0>
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 4
DUMPR MAC 21-FEB-77 17:03 ASSEMBLY / ACCUMULATOR DEFINITIONS
116 ;DEFINE THE ACCUMULATORS
117
118 DEFINE AC$ (X)
119 <X=ZZ
120 ZZ==ZZ+1
121 X=X>
122
123 000000 ZZ==0
124
125 000000 AC$ (F) ;FLAGS
126 000001 AC$ (T1) ;T1-4 ARE TEMPORARY
127 000002 AC$ (T2)
128 000003 AC$ (T3)
129 000004 AC$ (T4)
130 000005 AC$ (P1) ;P1-4 ARE PERMANENT AND MUST BE PRESERVED
131 000006 AC$ (P2)
132 000007 AC$ (P3)
133 000010 AC$ (P4)
134 000011 AC$ (A) ;ACTION LIST POINTER
135 000012 AC$ (DC) ;LH=DEVCHR LH FOR INPUT DEVICE
136 ;RH=DEVCHR LH FOR OUTPUT DEVICE
137 000013 AC$ (W) ;AOBJN PTR TO DATA DURING DUMP
138 000014 AC$ (M) ;CURRENT DUMP MODE INDEX
139 000015 AC$ (L) ;# WORDS/LINE IN CURRENT DUMP MODE
140 000016 AC$ (Q) ;# CHARACTER POSITIONS/WORD IN CURRENT DUMP MODE
141 000017 P=17 ;PUSHDOWN LIST POINTER
142 000010 C=P4 ;CHARACTER FROM SCAN
143 000007 N=P3 ;NUMBER OR WORD FROM SCAN
144 000007 E1=P3 ;USED IN FLOATING POINT OUTPUT
145 000010 E2=P4 ;DITTO
146 000011 E3=A ;MORE
147 000012 E4=DC ;AND MORE
148 000013 E5=W ;AND THE LAST
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 5
DUMPR MAC 21-FEB-77 17:03 FLAG DEFINITIONS
149 SUBTTL FLAG DEFINITIONS
150
151 ;FLAGS IN LH OF F
152
153 DEFINE FLAG$ (FLG)
154 <FL$'FLG==ZZ
155 ZZ==ZZ_-1
156 FL$'FLG==FL$'FLG>
157
158 400000 ZZ==(1B0)
159
160 400000 FLAG$ (FOR) ;1 = DO FORTRAN INPUT
161 400000 000000 $FLFOR==(FL$FOR) ;LEFT HANDED VALUE
162 IFN FT$PHX,<
163 200000 FLAG$ (PHY) ;1 = DO IREAD (PHYSIX) INPUT
164 200000 000000 $FLPHY==(FL$PHY) ;LEFT HANDED VALUE
165 >;END IFN FT$PHX
166 IFE FT$PHX,<FL$PHY==0> ;DUMMY DEFINITION IF FEATURE TURNED OFF
167 100000 FLAG$ (SUM) ;1 = /SUMMARY
168 100000 000000 $FLSUM==(FL$SUM) ;LEFT HANDED VALUE
169 040000 FLAG$ (TOT) ;1 = /TOTALS
170 040000 000000 $FLTOT==(FL$TOT) ;LEFT HANDED VALUE
171 020000 FLAG$ (OMI) ;1 = OMIT LINE NUMBERS (UNFORMATTED DUMP FOR ASCII)
172 020000 000000 $FLOMI==(FL$OMI) ;LEFT HANDED VALUE
173 010000 FLAG$ (ITY) ;1 = /IFTYP
174 010000 000000 $FLITY==(FL$ITY) ;LEFT HANDED VALUE
175 004000 FLAG$ (IND) ;1 = /INDUSTRY
176 004000 000000 $FLIND==(FL$IND) ;LEFT HANDED VALUE
177 002000 FLAG$ (OUT) ;1 = OUTPUT SPEC HAS BEEN ALLOCATED
178 001000 FLAG$ (NEG) ;1 = CURRENT # IS NEGATIVE IN INTFMT, FLTFMT
179 000400 FLAG$ (TMP) ;GENERAL TEMPORARY FLAG (NOT SAVED OVER CALLS)
180 000200 FLAG$ (MNP) ;1 = DOING FILE POSITIONING IN FORTRA/IREAD MODE
181 000100 FLAG$ (EOT) ;END-OF-TAPE FLAG (2 EOFS IN A ROW)
182 000040 FLAG$ (OLY) ;1 = THERE IS A /ONLY IN EFFECT
183 000020 FLAG$ (FL2) ;TEMPORARY FLAG
184 000010 FLAG$ (OPN) ;1 = OUTPUT FILE IS OPEN
185 000004 FLAG$ (RDX) ;1 = A /RADIX WAS GIVEN
186 000002 FLAG$ (IOF) ;FLAG FOR USE IN XCTIO AND BELOW
187 000001 FLAG$ (ODN) ;OUTPUT HAS BEEN DONE
188
189 764000 FL$SCN==FL$FOR!FL$PHY!FL$SUM!FL$TOT!FL$OMI!FL$IND ;FLAGS TO CLEAR AT CLRANS
190 776004 FL$SCN==FL$SCN!FL$OUT!FL$ITY!FL$RDX
191
192 400000 ZZ==1B18 ;OVER TO THE RIGHT HALF
193
194 400000 FLAG$ (POS) ;1 = /POSITION SWITCH
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 6
DUMPR MAC 21-FEB-77 17:03 FLAG DEFINITIONS
195 ;I/O CHANNELS
196
197 ;0 USED BY HELPER
198 000001 INPC==1 ;INPUT CHANNEL
199 000002 OUTC==2 ;OUTPUT CHANNEL
200
201 000020 ATSIGN==(1B13) ;I/O SWITCH FLAG FOR OPENIO
202
203 ;MISCELLANEOUS BITS AND STUFF
204
205 000024 000000 $OKDVI==DV.MTA!DV.DIR ;INPUT CAN BE MTA OR DIRECTORY DEVICE
206 040034 000000 $OKDVO==DV.MTA!DV.DIR!DV.TTY!DV.LPT ;OUTPUT CAN BE ONE OF THESE
207 003000 CW$ANY==3000 ;FORTRAN BINARY ANY LSCW PATTERN
208 001000 CW$1O3==1000 ;FORTRAN BINARY LSCW TYPE 1 OR 3 PATTERN
209 002000 CW$TY3==2000 ;FORTRAN BINARY LSCW TYPE 3 PATTERN
210
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 7
DUMPR MAC 21-FEB-77 17:03 FLAG DEFINITIONS
211 ;FLAGS AND BITS FOR SWTCHS MACRO
212
213 774000 000000 FS$XXX==FS.NFS!FS.LRG!FS.NUE!FS.VRQ!FS.OBV!FS.NOS!FS.NCM ;BITS USED BY SCAN
214 ;SEE SCNMAC.MAC FOR DESCRIPTION OF ABOVE BITS
215 000001 000000 FS$XTR==1B17 ;THIS SWITCH CAN TAKE EXTRA ARGUMENTS (/BACKSP:F:R)
216 000002 000000 FS$NVL==1B16 ;THIS SWITCH NEVER TAKES A VALUE
217 000004 000000 FS$INP==1B15 ;THIS SWITCH IS INPUT ONLY
218 000010 000000 FS$OUT==1B14 ;THIS SWITCH IS OUTPUT ONLY
219
220 ;DEFINE THE FUNCTIONS
221
222 777777 777776 FN$END==-2 ;END OF ALL FUNCTIONS -- TERMINATE DUMP
223 777777 777777 FN$INP==-1 ;ALL FUNCTIONS FOLLOWING THIS ARE INPUT ONLY
224
225 DEFINE FUNCTS
226 <X (<MOD,ONL,DMP,BSP,SKP,REW,RIB>)>
227
228 DEFINE X(A)
229 <IRP A,<FN$'A==ZZ
230 ZZ==ZZ+1>>
231
232 000001 ZZ==1 ;FUNCTIONS GO FROM 1-HIGHEST
233
234 FUNCTS ;DEFINE THE FUNCTIONS
235
236 ;ALL POSITIONING FUNCTIONS MUST BE BETWEEN BSP AND REW
237
238 000004 FN$TP1==FN$BSP ;FIRST LEGAL POSITIONING FUNCTION
239 000006 FN$TPX==FN$REW ;LAST LEGAL POSITIONING FUNCTION
240
241 ;OPDEFINES
242
243 260740 000000 OPDEF CALL [PUSHJ P,] ;SUBROUTINE CALL
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 9
DUMPR MAC 21-FEB-77 17:03 ERROR MACRO DEFINITIONS
244 SUBTTL ERROR MACRO DEFINITIONS
245
246 ;ERROR. ($FLGS,$PFX,$MSG)
247 ;
248 ;$FLGS IS THE COMBINITATION OF THE FOLLOWING BITS:
249
250 000000 EF$ERR==0 ;ERROR--PREFIX MSG WITH ?, RETURN CONTROL AFTER CALL
251 000400 EF$FTL==400 ;FATAL ERROR--ABORT AND RESTART
252 000200 EF$WRN==200 ;WARNING MESSAGE--CONTINUE
253 000100 EF$INF==100 ;INFORMATIVE MESSAGE--CONTINUE
254 000040 EF$NCR==40 ;NO FREE CRLF AFTER MESSAGE
255
256 DEFINE ETYP ($TYP)
257 <ZZ==ZZ+1
258 EF$'$TYP==ZZ>
259
260 000000 ZZ==0 ;TYPE CODES ARE FROM 1-37
261
262 000001 ETYP (DEC) ;TYPE T1 IN DECIMAL AT END OF MESSAGE
263 000002 ETYP (OCT) ;TYPE T1 IN OCTAL AT END OF MESSAGE
264 000003 ETYP (SIX) ;TYPE T1 IN SIXBIT AT END OF MESSAGE
265 000004 ETYP (PPN) ;TYPE T1 AS A PPN AT END OF MESSAGE
266 000005 ETYP (STR) ;T1 PTS TO ASCIZ STR TO TYPE AT END OF MESSAGE
267 000006 ETYP (FIL) ;T1 PTS TO SCAN FILE BLOCK TO TYPE AT END OF MSG
268 000006 EF$MAX==ZZ ;MAX ERROR TYPE
269
270 IFG ZZ-37,<PRINTX ?TOO MANY ERROR TYPES>
271
272 ;$PFX IS THE 3-LETTER PREFIX FOR THE MESSAGE
273 ;$MSG IS THE MESSAGE ITSELF
274
275 300000 NOOP== (CAI) ;DEFINE NO-MEMORY-REFERENCE RIGHT-HAND NOOP
276
277 DEFINE ERROR. ($FLGS,$PFX,$MSG)
278 <CALL EHNDLR
279 XWD NOOP+<$FLGS>,[''$PFX'',,[ASCIZ @$MSG@ ] ]
280 >
281
282 ;WARN. FLGS,PFX,MSG
283
284 DEFINE WARN. ($FLGS,$PFX,$MSG)
285 <ERROR. EF$WRN!$FLGS,$PFX,$MSG>
286
287 ;INFO. FLGS,PFX,MSG
288
289 DEFINE INFO. ($FLGS,$PFX,$MSG)
290 <ERROR. EF$INF!$FLGS,$PFX,$MSG>
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 11
DUMPR MAC 21-FEB-77 17:03 ERROR MACRO DEFINITIONS
291 ;SAVE$ SAVES DATA ON THE STACK
292
293 DEFINE SAVE$ (X)
294 <XLIST
295 IRP X,<PUSH P,X>
296 LIST>
297
298 ;RESTR$ RESTORES DATA FROM THE STACK
299
300 DEFINE RESTR$ (X)
301 <XLIST
302 IRP X,<POP P,X>
303 LIST>
304
305 ;MACRO TO ALLOCATE STORAGE IN THE LOW SEGMENT DATA BASE
306
307 DEFINE U ($NAME,$WORDS<1>)
308 <$NAME: BLOCK $WORDS>
309
310 ;STRNG$ (STRING) SENDS STRING TO OUTPUT THROUGH .TSTRG
311
312 DEFINE STRNG$ (S)
313 <MOVEI T1,[ASCIZ \S\]
314 CALL .TSTRG##>
315
316 ;ASCIZ$ (STRING) CREATES XLISTED ASCIZ STRING TO KEEP LISTING PRETTY
317
318 DEFINE ASCIZ$ (S)
319 <XLIST
320 ASCIZ \S\
321 LIST>
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 12
DUMPR MAC 21-FEB-77 17:03 ERROR MACRO DEFINITIONS
322 ;HIGH$ SWITCHES TO HIGH SEGMENT IF FT$SEG==0
323
324 DEFINE HIGH$
325 <IFE FT$SEG,<IFE CSEG$,<HILOC$==.
326 CSEG$==-1
327 RELOC LOLOC$>>
328 >
329
330 ;LOW$ SWITCHES TO LOW SEGMENT IF FT$SEG==0
331
332 DEFINE LOW$
333 <IFE FT$SEG,<IFN CSEG$,<LOLOC$==.
334 CSEG$==0
335 RELOC HILOC$>>
336 >
337
338 ;RELOC$ SETS UP LOLOC$ AND CSEG$ INITIALLY
339
340 DEFINE RELOC$
341 <IFE FT$SEG,<LOLOC$==400000 ;;POINT LOLOC$ AT HIGH SEGMENT
342 CSEG$== 0>> ;START OUT IN THE LOW SEGMENT (CSEG$=0)
343
344 ;LIT$ FORCES OUT LITERALS IN CURRENT SEGMENT
345
346 DEFINE LIT$
347 <XLIST
348 LIT
349 LIST>
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 13
DUMPR MAC 21-FEB-77 17:03 MAIN PROGRAM
350 SUBTTL MAIN PROGRAM
351
352 000000 RELOC$
353
354 ;PROGRAM ENTRY POINT
355
356 000000' 634 01 0 00 000001 DUMPR: TDZA T1,T1 ;NOT CCL
357 000001' 201 01 0 00 000001 MOVEI T1,1 ;CCL
358 000002' 202 01 0 00 004523' MOVEM T1,OFFSET ;SAVE FOR SCAN
359 IFE FT$SEG,< ;NEED TO SAVE THIS STUFF
360 000003' 332 00 0 00 004516' SKIPE SAVRUN ;SAVED UUO ARGS?
361 000004' 254 00 0 00 000012' JRST RUNSVD ;YES
362 000005' 202 00 0 00 004520' MOVEM .SGNAM,SGNAM
363 000006' 202 07 0 00 004522' MOVEM .SGPPN,SGPPN
364 000007' 202 11 0 00 004517' MOVEM .SGDEV,SGDEV
365 000010' 202 17 0 00 004521' MOVEM .SGLOW,SGLOW
366 000011' 476 00 0 00 004516' SETOM SAVRUN
367
368 000012' RUNSVD:>;END IFE FT$SEG
369 000012' 402 00 0 00 000000 RESTRT: STORE 17,0,16,0 ;CLEAR ACS
370 000013' 200 17 0 00 000075'
371 000014' 251 17 0 00 000016
372 000015' 402 00 0 00 004524' STORE 17,FW$ZER,LW$ZER,0 ;AND STORAGE
373 000016' 200 17 0 00 000076'
374 000017' 251 17 0 00 005475'
375 000020' 047 00 0 00 000000 RESET ;STOP ALL I/O
376 000021' 334 17 0 00 000022' SKIPA P,.+1 ;SETUP PDP
377 000022' 777470 004523' INIPDP: IOWD LN$PDL,PDLIST
378 000023' 260 17 0 00 000000* CALL .RECOR## ;RESET CORE
379 000024' 260 17 0 00 000110' IFE FT$SEG,<CALL UPSCN> ;MAKE SURE HISEG IS THERE
380 000025' 200 01 0 00 400011' MOVE T1,ISCNBL ;BLOCK FOR .ISCAN
381 000026' 260 17 0 00 000000* CALL .ISCAN## ;INIT THE SCANNER
382 000027' 202 01 0 00 004514' MOVEM T1,ISCNVL ;SAVE FOR LATER
383 000030' 336 00 0 00 004523' SKIPN OFFSET ;CCL ENTRY?
384 000031' 332 00 0 00 004515' SKIPE TLDVER ;TOLD WHO I AM?
385 000032' 254 00 0 00 000041' JRST FILD.0 ;YES
386 000033' 201 01 0 00 000077' STRNG$ <DUMPR %>
387 000034' 260 17 0 00 000000*
388 000035' 200 01 0 00 000137 MOVE T1,.JBVER
389 000036' 260 17 0 00 000000* CALL .TVERW##
390 000037' 260 17 0 00 000000* CALL .TCRLF##
391 000040' 476 00 0 00 004515' SETOM TLDVER
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 14
DUMPR MAC 21-FEB-77 17:03 MAIN PROGRAM
392 000041' 260 17 0 00 400000' FILD.0: CALL SCNCMD ;SCAN A COMMAND
393 000042' 622 00 0 00 400000 TRZE F,FL$POS ;WAS /POSITION GIVEN?
394 000043' 254 00 0 00 400555' JRST MTAPOS ;YES--GO DO IT
395 000044' 474 05 0 00 000000 SETO P1, ;FLAG OUTPUT NOT OPEN YET
396 000045' 260 17 0 00 000133' FILD.2: CALL OPNINP ;OPEN INPUT FILE
397 000046' 254 00 0 00 000070' IFN FT$WLD,<JRST FILD.9> ;WILD SAYS ALL DONE
398 000047' 356 00 0 00 000005 AOSN P1 ;ONLY OPEN OUTPUT FILE FIRST TIME THRU
399 000050' 260 17 0 00 000234' CALL OPNOUT ;AND OUTPUT FILE
400 000051' 260 17 0 00 000101' IFE FT$SEG,<CALL DWNSCN> ;RELEASE HISEG WHILE RUNNING
401 000052' 260 17 0 00 000347' CALL PROCMD ;PROCESS THE COMMAND
402 000053' 260 17 0 00 000110' IFE FT$SEG,<CALL UPSCN> ;REGET HISEG IF WE LOST IT
403 000054' 260 17 0 00 000205' CALL INPCLS ;CLOSE INPUT FILE
404 IFN FT$WLD,<
405 000055' 337 00 0 00 005257' SKIPG LKWLFL ;ARE WILD FILES POSSIBLE (DTA/DSK)?
406 000056' 336 00 0 00 000000* SKIPN .WLDFL## ;YES--AND ARE THERE ANY WILD FILES?
407 000057' 254 00 0 00 000070' JRST FILD.9 ;NO--GO FINISH UP
408 000060' 200 01 0 00 005263' MOVE T1,ODVNAM ;YES--GET OUTPUT DEVICE NAME
409 000061' 047 01 0 00 000053 DEVTYP T1, ;SEE IF IT IS SPOOLED
410 000062' 254 00 0 00 000045' JRST FILD.2 ;ASSUME NOT
411 000063' 607 01 0 00 000020 TXNN T1,TY.SPL ;IS IT SPOOLED?
412 000064' 254 00 0 00 000045' JRST FILD.2 ;NO--JUST GO AHEAD
413 000065' 260 17 0 00 000224' CALL OUTCLS ;YES--MAKE A NEW FILE
414 000066' 260 17 0 00 000234' CALL OPNOUT ; ...
415 000067' 254 00 0 00 000045' JRST FILD.2 ;GO TO IT
416 >;END IFN FT$WLD
417 000070' 260 17 0 00 000224' FILD.9: CALL OUTCLS ;CLOSE OUTPUT FILE
418 000071' 260 17 0 00 000000* FILD.X: CALL .RUNCM## ;HANDLE /RUN IF SPECIFIED
419 000072' 332 00 0 00 004523' SKIPE OFFSET ;EXIT 1, IF CCL ENTRY
420 000073' 260 17 0 00 000000* CALL .MONRT## ;
421 000074' 254 00 0 00 000012' JRST RESTRT ;AND RESTART
422 IFE FT$SEG,<LIT$> ;FORCE OUT LOW SEGMENT LITERALS
423
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 15
DUMPR MAC 21-FEB-77 17:03 SCAN A COMMAND FROM THE USER
424 SUBTTL SCAN A COMMAND FROM THE USER
425
426 400000' HIGH$ ;TO HIGH SEGMENT IF FT$SEG=0
427
428 400000' 200 01 0 00 400017' SCNCMD: MOVE T1,TSCNBL ;FOR .TSCAN
429 400001' 260 17 0 00 000000* CALL .TSCAN## ;SCAN THE COMMAND
430 IFN FT$OPT,<
431 400002' 200 01 0 00 400031' MOVE T1,OSCNBL ;GET OSCAN ARG BLOCK
432 400003' 260 17 0 00 000000* CALL .OSCAN## ;SCAN SWITCH.INI FOR SOME SWITCHES
433 >;END IFN FT$OPT
434
435 IFN FT$WLD,<
436 400004' 201 01 0 00 005340' MOVEI T1,INPSPC ;SETUP PTR FOR WILD
437 400005' 202 01 0 00 005255' MOVEM T1,WLDFIR ;...
438 >;END IFN FT$WLD
439 400006' 606 00 0 00 400000 TRNN F,FL$POS ;/POSITION?
440 400007' 254 00 0 00 400051' PJRST CHKCMD ;CHECK COMMAND FOR GOODNESS
441 400010' 263 17 0 00 000000 POPJ P, ;YES--WILL CHECK GOODNESS LATER
442
443 ;ARG BLOCK FOR .ISCAN
444
445 400011' 000005 400012' ISCNBL: XWD 5, .+1
446 400012' 777777 400043' IOWD N$CMDS,CMDLST
447 400013' 004523' 445560 XWD OFFSET,MY$PFX
448 400014' 400045' 000000 XWD TTINPT,0 ;MY INPUT SO WE CAN REMEMBER CMD
449 400015' 000000 000000 EXP 0
450 400016' 400037' 000000 XWD DOPRMP,0
451
452 ;ARG BLOCK FOR .TSCAN
453
454 400017' 000011 400020' TSCNBL: XWD 11, .+1
455 400020' 777750 400231' IOWD SWTL,SWTN
456 400021' 400342' 400312' XWD SWTD,SWTM
457 400022' 000000 400262' XWD 0,SWTP
458 400023' 777777 777777 EXP -1
459 400024' 400444' 400462' XWD CLRANS,CLRFIL
460 400025' 400422' 400434' XWD AIN,AOUT
461 400026' 000000 000000 EXP 0
462 400027' 000000 000000 EXP 0
463 400030' 000000 400466' EXP STOSWT
464
465 IFN FT$OPT,<
466 400031' 000004 400032' OSCNBL: XWD 4, .+1
467 400032' 777772 400371' IOWD OPSWL,OPSWN
468 400033' 400414' 400406' XWD OPSWD,OPSWM
469 400034' 000000 400400' EXP OPSWP
470 400035' 777777 777777 EXP -1
471 400036' 000000 000000 EXP 0
472 >;END IFN FT$OPT
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 16
DUMPR MAC 21-FEB-77 17:03 SCAN A COMMAND FROM THE USER
473 ;SCAN CALLS HERE TO PROMPT WITH T1 NEGATIVE IF CONTINUATION PROMPT
474
475 400037' 331 00 0 00 000001 DOPRMP: SKIPL T1 ;FIRST OR CONT?
476 400040' 334 01 0 00 400043' SKIPA T1,PRMPTM ;FIRST
477 400041' 205 01 0 00 030000 MOVSI T1,'# ' ;CONTINUATION
478 400042' 254 00 0 00 000000* PJRST .TSIXN## ;TYPE IT
479
480 400043' 445560 360000 PRMPTM: XWD MY$PFX,'> ' ;FIRST MSG
481
482 400044' 446555 606200 CMDLST: EXP MY$NAM ;MY NAME
483 000001 N$CMDS==.-CMDLST
484
485 ;SCAN CALLS HERE TO GET COMMAND CHARACTERS FROM TTY
486
487 400045' 051 04 0 00 000010 TTINPT: INCHWL C ;GET A CHARACTER
488 400046' 371 00 0 00 005254' SOSL SCMDCT ;ROOM TO STORE IT?
489 400047' 136 10 0 00 005253' IDPB C,SCMDBP ;YES
490 400050' 263 17 0 00 000000 POPJ P, ;RETURN WITH CHARACTER IN C
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 17
DUMPR MAC 21-FEB-77 17:03 CHECK COMMAND FOR GOODNESS
491 SUBTTL CHECK COMMAND FOR GOODNESS
492
493 400051' 260 17 0 00 400164' CHKCMD: CALL OUTDFL ;DEFAULT OUTPUT SIDE
494 400052' 260 17 0 00 400117' CALL INPDFL ;AND INPUT SIDE
495 400053' 337 01 0 00 005473' SKIPG T1,USERDX ;/RADIX SPECIFIED
496 400054' 334 01 0 00 400703' SKIPA T1,[EXP ^D8] ;NO--USE BASE 8
497 400055' 661 00 0 00 000004 TLO F,FL$RDX ;REMEMBER /RADIX WAS SEEN FOR "OCTAL" DUMPING
498 400056' 202 01 0 00 005473' MOVEM T1,USERDX ;...
499 400057' 607 00 0 00 000004 TLNN F,FL$RDX ;SPECIFY /RADIX/
500 400060' 254 00 0 00 400070' JRST CHKC.0 ;NO
501 400061' 301 01 0 00 000002 CAIL T1,2 ;YES--CHECK LEGALITY
502 400062' 303 01 0 00 000020 CAILE T1,^D16 ;...
503 400063' 260 17 0 00 004407' ERROR. EF$ERR!EF$DEC,IAR,<ILLEGAL ARG FOR /RADIX - >
504 400064' 300001 400712'
505 400065' 242 01 0 00 777776 LSH T1,-2 ;DIVIDE BY 4
506 400066' 200 01 0 01 400112' MOVE T1,WRDRDX(T1) ;GET A WIDTH FOR THE WORD
507 400067' 202 01 0 00 005474' MOVEM T1,USRWID ;SAVE FOR DUMPING
508 400070' 337 01 0 00 005467' CHKC.0: SKIPG T1,LINRDX ;WAS A LINE # RADIX SPECIFIED?
509 400071' 201 01 0 00 000001 MOVEI T1,LRXDEC ;NO--DEFAULT
510 400072' 202 01 0 00 005467' MOVEM T1,LINRDX ;SET IT IN
511 400073' 200 01 0 00 005262' MOVE T1,IDVNAM ;GET INPUT REAL NAME
512 400074' 603 12 0 00 000020 TLNE DC,(DV.MTA) ;MTA?
513 400075' 312 01 0 00 005263' CAME T1,ODVNAM ;SAME DEVICE?
514 400076' 254 00 0 00 400101' JRST CHKC.1 ;NO--ONWARD
515 400077' 260 17 0 00 004407' ERROR. EF$SIX!EF$FTL,CUS,<CAN'T USE SAME MTA FOR INPUT AND OUTPUT - >
516 400100' 300403 400724'
517 400101' CHKC.1:
518 IFN FT$PHX,<
519 400101' 641 00 0 00 600000 TLC F,FL$FOR!FL$PHY ;CAN'T HAVE /IREAD AND /FORTRAN
520 400102' 647 00 0 00 600000 TLCN F,FL$FOR!FL$PHY ;SO MAKE SURE NOW
521 400103' 260 17 0 00 004407' ERROR. EF$FTL,MSE,<MODE SPECIFICATION ERROR - /IREAD + /FORTRAN>
522 400104' 300400 400736'
523 >;END IFN FT$PHX
524 400105' 641 00 0 00 140000 TLC F,FL$SUM!FL$TOT ;CAN'T HAVE /SUMMARY AND /TOTALS
525 400106' 647 00 0 00 140000 TLCN F,FL$SUM!FL$TOT
526 400107' 260 17 0 00 004407' ERROR. EF$FTL,SWE,<SWITCH ERROR - /SUMMARY + /TOTALS>
527 400110' 300400 400746'
528 400111' 263 17 0 00 000000 POPJ P, ;COMMAND IS SANCTIFIED
529
530 400112' 000000 000045 WRDRDX: EXP ^D37 ;BASE 2
531 400113' 000000 000023 EXP ^D19 ;BASE 4
532 400114' 000000 000015 EXP ^D13 ;BASE 8
533 400115' 000000 000015 EXP ^D13 ;DUMMY
534 400116' 000000 000012 EXP ^D10 ;BASE 16
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 18
DUMPR MAC 21-FEB-77 17:03 CHECK COMMAND FOR GOODNESS
535
536 ;DEFAULT INPUT SPECS
537
538 400117' 336 01 0 00 005340' INPDFL: SKIPN T1,INPSPC+.FXDEV;DEFAULT DEVICE
539 400120' 205 01 0 00 446353 MOVSI T1,'DSK' ;IS DSK
540 400121' 202 01 0 00 005340' MOVEM T1,INPSPC+.FXDEV
541 400122' 047 01 0 00 000064 DEVNAM T1, ;SEE WHO IT IS
542 400123' 254 00 0 00 400161' JRST ILLIDV
543 400124' 202 01 0 00 005262' MOVEM T1,IDVNAM
544 400125' 047 01 0 00 000004 DEVCHR T1, ;GET BITS
545 400126' 607 01 0 00 000024 TLNN T1,($OKDVI) ;CAN I USE IT?
546 400127' 254 00 0 00 400161' JRST ILLIDV ;NO
547 400130' 500 12 0 00 000001 HLL DC,T1 ;YES--SAVE DEVCHR BITS
548 400131' 603 12 0 00 000020 TLNE DC,(DV.MTA) ;IS DEVICE A MAGTAPE?
549 400132' 254 00 0 00 400151' JRST INPD.1 ;YES--CLEAR FILENAME AND EXTENSION
550 400133' 623 00 0 00 004000 TLZE F,FL$IND ;NO--CLEAR /INDUSTRY IF GIVEN
551 400134' 260 17 0 00 004407' WARN. 0,IND,</INDUSTRY NO-OP ON NON-MTA DEVICE>
552 400135' 300200 400756'
553 400136' 200 01 0 00 400757' MOVE T1,[SIXBIT /DUMPIT/] ;DEFAULT NAME
554 400137' 474 02 0 00 000000 SETO T2,
555 400140' 336 00 0 00 005341' SKIPN INPSPC+.FXNAM
556 400141' 202 02 0 00 005342' MOVEM T2,INPSPC+.FXNMM
557 400142' 336 00 0 00 005341' SKIPN INPSPC+.FXNAM
558 400143' 202 01 0 00 005341' MOVEM T1,INPSPC+.FXNAM
559 400144' 525 01 0 00 444164 HRLOI T1,'DAT' ;AND EXTENSION
560 400145' 205 02 0 00 200000 MOVX T2,FX.NUL ;GET NULL EXTENSION BIT
561 400146' 612 02 0 00 005344' TDNE T2,INPSPC+.FXMOD;WAS ANYTHING SET FOR EXTENSION?
562 400147' 202 01 0 00 005343' MOVEM T1,INPSPC+.FXEXT;NO--USE A DEFAULT
563 400150' 263 17 0 00 000000 POPJ P,
564
565 ;HERE IF DEVICE SEEMS TO BE A MAGTAPE
566
567 400151' 603 12 0 00 000010 INPD.1: TLNE DC,(DV.TTY) ;SEE IF IT IS ALSO A TTY (IE NUL:)
568 400152' 621 12 0 00 000020 TLZ DC,(DV.MTA) ;YES--MAKE SURE WE DON'T TO MAGTAPE OPS
569 400153' 402 00 0 00 005341' SETZM INPSPC+.FXNAM ;CLEAR NAME
570 400154' 402 00 0 00 005342' SETZM INPSPC+.FXNMM ;AND MASK
571 400155' 402 00 0 00 005343' SETZM INPSPC+.FXEXT ;AND EXTENSION
572 400156' 402 00 0 00 005346' SETZM INPSPC+.FXDIR ;AND DIRECTORY
573 400157' 263 17 0 00 000000 POPJ P, ;DONE
574
575 400160' 334 01 0 00 400760' ILLODV: SKIPA T1,[EXP OUTSPC] ;ILLEGAL OUTPUT DEVICE
576 400161' 201 01 0 00 005340' ILLIDV: MOVEI T1,INPSPC ;ILLEGAL INPUT DEVICE
577 400162' 260 17 0 00 004407' ERROR. EF$FTL!EF$FIL,IDV,<ILLEGAL DEVICE >
578 400163' 300406 400765'
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 19
DUMPR MAC 21-FEB-77 17:03 CHECK COMMAND FOR GOODNESS
579 ;HERE TO DEFAULT OUTPUT SPECIFICATION
580
581 400164' 205 02 0 00 400000 OUTDFL: MOVX T2,FX.NDV ;NULL DEVICE FLAG
582 400165' 616 02 0 00 005376' TDNN T2,OUTSPC+.FXMOD;WAS IT REALLY A NULL DEVICE?
583 400166' 336 01 0 00 005372' SKIPN T1,OUTSPC+.FXDEV;NO--PICK UP DEVICE IF GIVEN
584 400167' 205 01 0 00 546064 MOVSI T1,'LPT' ;YES--USE DEFAULT
585 400170' 202 01 0 00 005372' MOVEM T1,OUTSPC+.FXDEV
586 400171' 047 01 0 00 000064 DEVNAM T1, ;SEE WHO IT REALLY IS
587 400172' 254 00 0 00 400160' JRST ILLODV ;NOT ONE I KNOW
588 400173' 202 01 0 00 005263' MOVEM T1,ODVNAM ;SAVE REAL NAME
589 400174' 047 01 0 00 000004 DEVCHR T1, ;SEE WHAT SORT OF DEVICE IT IS
590 400175' 607 01 0 00 040034 TLNN T1,($OKDVO) ;A DEVICE I LIKE?
591 400176' 254 00 0 00 400160' JRST ILLODV ;NO
592 400177' 544 12 0 00 000001 HLR DC,T1 ;SAVE DEVICE CHARACTERISTICS
593 400200' 200 01 0 00 400766' MOVE T1,[SIXBIT /DUMPED/] ;DEFAULT FILENAME
594 400201' 474 02 0 00 000000 SETO T2, ;AND MASK
595 400202' 336 00 0 00 005373' SKIPN OUTSPC+.FXNAM ;NAME GIVEN?
596 400203' 202 02 0 00 005374' MOVEM T2,OUTSPC+.FXNMM;NO--USE MY DEFAULT
597 400204' 336 00 0 00 005373' SKIPN OUTSPC+.FXNAM
598 400205' 202 01 0 00 005373' MOVEM T1,OUTSPC+.FXNAM
599 400206' 525 01 0 00 546064 HRLOI T1,'LPT' ;FINALLY THE EXTENSION
600 400207' 336 00 0 00 005375' SKIPN OUTSPC+.FXEXT
601 400210' 202 01 0 00 005375' MOVEM T1,OUTSPC+.FXEXT
602 400211' 263 17 0 00 000000 POPJ P,
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 20
DUMPR MAC 21-FEB-77 17:03 SWITCH TABLE
603 SUBTTL SWITCH TABLE
604
605 DEFINE SWTCHS,<
606 SP *BACKSP,FN$BSP,.SWDEC##,MTN,FS$XTR!FS.VRQ
607 SP BLOCK,S.BLKF,.SWDEC##,BKF,FS.NUE
608 SP BUFSIZ,BUFSIZ,.SWDEC##,BFZ,FS.NUE
609 SP *DUMP,FN$DMP,.SWDEC##,MTN,FS$XTR!FS$INP!FS.VRQ
610 SL *ERROR,FLERR,ERR,ERRCON,FS.NUE
611 SS *FORTRA,<POINTR(F,$FLFOR)>,1,FS.NUE
612 SS IFTYP,<POINTR(F,$FLITY)>,1,FS.NUE
613 SS INDUST,<POINTR(F,$FLIND)>,1,FS$INP!FS.NUE
614 IFN FT$PHX,<SS *IREAD,<POINTR(F,$FLPHY)>,1,FS$INP!FS.NUE>
615 SL LINRDX,LINRDX,LRX,LRXDEC,FS.NUE
616 SL *MODE,FN$MOD,MOD,MODOCT,FS$XTR!FS$OUT
617 SP MTBUF,NMTBUF,.SWDEC##,MBF,FS.NUE
618 SS *NORETR,FLNTRY,1,FS$INP!FS.NUE
619 SS OMIT,<POINTR(F,$FLOMI)>,1,FS$OUT!FS.NUE
620 SP *ONLY,FN$ONL,.SWDEC##,ONL,FS$XTR!FS$INP
621 SS *POSIT,<POINTR(F,FL$POS)>,1,FS.NUE
622 SP RADIX,USERDX,.SWDEC##,RDX,FS$OUT!FS.NUE
623 SS *REWIND,FN$REW,FN$REW,FS$NVL
624 SS RIB,FN$RIB,FN$RIB,FS$NVL
625 SP *SKIP,FN$SKP,.SWDEC##,MTN,FS$XTR!FS.VRQ
626 SS SUMMAR,<POINTR(F,$FLSUM)>,1,FS$OUT!FS.NUE
627 SP TITLE,<POINT ^D65-LN$TTL,TITLEB>,.SWASQ##,,FS.NUE
628 SS *TOTALS,<POINTR(F,$FLTOT)>,1,FS$OUT!FS.NUE
629 SP *WIDTH,FLWIDT,.SWDEC##,WID,FS$OUT!FS.NUE
630 >
631
632
633 DM (BFZ,^D4096,^D2048,^D1024)
634 DM (BKF,177777,^D80,^D80)
635 DM (MBF,^D10,^D3,^D3)
636 DM (MTN,177777,177777,177777)
637 DM (ONL,177777,0,0)
638 DM (RDX,^D16,^D8,^D8)
639 DM (WID,^D132,^D80,^D80)
640 400212' 435756 645156 KEYS (ERR,<CONTIN,IGNORE,QUERY>)
641 400213' 514756 576245
642 400214' 616545 627100
643 400215' 416343 515100 KEYS (MOD,<ASCII,BYTE,EBCDIC,FLOAT,HALF,HEX,INTEGE,OCTAL,SIXBIT,SYMBOL>)
644 400216' 427164 450000
645 400217' 454243 445143
646 400220' 465457 416400
647 400221' 504154 460000
648 400222' 504570 000000
649 400223' 515664 454745
650 400224' 574364 415400
651 400225' 635170 425164
652 400226' 637155 425754
653 400227' 444543 515541 KEYS (LRX,<DECIMA,HEX,OCTAL>)
654 400230' 504570 000000
655 400231' 574364 415400
656
657 ;NOW EXPAND THE SWITCH TABLE
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 20-1
DUMPR MAC 21-FEB-77 17:03 SWITCH TABLE
658
659 DOSCAN (SWT)
660 400232' 124241 435363 EXP SIXBIT /*BACKSP/
661 400233' 425457 435300 EXP SIXBIT /BLOCK/
662 400234' 426546 635172 EXP SIXBIT /BUFSIZ/
663 400235' 124465 556000 EXP SIXBIT /*DUMP/
664 400236' 124562 625762 EXP SIXBIT /*ERROR/
665 400237' 124657 626462 EXP SIXBIT /*FORTRA/
666 400240' 514664 716000 EXP SIXBIT /IFTYP/
667 400241' 515644 656364 EXP SIXBIT /INDUST/
668 400242' 125162 454144 EXP SIXBIT /*IREAD/
669 400243' 545156 624470 EXP SIXBIT /LINRDX/
670 400244' 125557 444500 EXP SIXBIT /*MODE/
671 400245' 556442 654600 EXP SIXBIT /MTBUF/
672 400246' 125657 624564 EXP SIXBIT /*NORETR/
673 400247' 575551 640000 EXP SIXBIT /OMIT/
674 400250' 125756 547100 EXP SIXBIT /*ONLY/
675 400251' 126057 635164 EXP SIXBIT /*POSIT/
676 400252' 624144 517000 EXP SIXBIT /RADIX/
677 400253' 126245 675156 EXP SIXBIT /*REWIND/
678 400254' 625142 000000 EXP SIXBIT /RIB/
679 400255' 126353 516000 EXP SIXBIT /*SKIP/
680 400256' 636555 554162 EXP SIXBIT /SUMMAR/
681 400257' 645164 544500 EXP SIXBIT /TITLE/
682 400260' 126457 644154 EXP SIXBIT /*TOTALS/
683 400261' 126751 446450 EXP SIXBIT /*WIDTH/
684 400262' 000000 000004 EXP <FN$BSP> ;*BACKSP
685 400263' 000000 005464' EXP <S.BLKF> ;BLOCK
686 400264' 000000 005465' EXP <BUFSIZ> ;BUFSIZ
687 400265' 000000 000003 EXP <FN$DMP> ;*DUMP
688 400266' 000000 005466' EXP <FLERR> ;*ERROR
689 400267' 430100 000000 ($FLFOR)^<^L<$FLFOR>+^L<-<<$FLFOR>_<^L<$FLFOR>>>-1>-1>^>^> ;*FORTRA
690 400270' 360100 000000 ($FLITY)^<^L<$FLITY>+^L<-<<$FLITY>_<^L<$FLITY>>>-1>-1>^>^> ;IFTYP
691 400271' 350100 000000 ($FLIND)^<^L<$FLIND>+^L<-<<$FLIND>_<^L<$FLIND>>>-1>-1>^>^> ;INDUST
692 400272' 420100 000000 ($FLPHY)^<^L<$FLPHY>+^L<-<<$FLPHY>_<^L<$FLPHY>>>-1>-1>^>^> ;*IREAD
693 400273' 000000 005467' EXP <LINRDX> ;LINRDX
694 400274' 000000 000001 EXP <FN$MOD> ;*MODE
695 400275' 000000 005470' EXP <NMTBUF> ;MTBUF
696 400276' 000000 005471' EXP <FLNTRY> ;*NORETR
697 400277' 370100 000000 ($FLOMI)^<^L<$FLOMI>+^L<-<<$FLOMI>_<^L<$FLOMI>>>-1>-1>^>^> ;OMIT
698 400300' 000000 000002 EXP <FN$ONL> ;*ONLY
699 400301' 210100 000000 (FL$POS)^<^L<FL$POS>+^L<-<<FL$POS>_<^L<FL$POS>>>-1>-1>^>^> ;*POSIT
700 400302' 000000 005473' EXP <USERDX> ;RADIX
701 400303' 000000 000006 EXP <FN$REW> ;*REWIND
702 400304' 000000 000007 EXP <FN$RIB> ;RIB
703 400305' 000000 000005 EXP <FN$SKP> ;*SKIP
704 400306' 410100 000000 ($FLSUM)^<^L<$FLSUM>+^L<-<<$FLSUM>_<^L<$FLSUM>>>-1>-1>^>^> ;SUMMAR
705 400307' 444300 005425' EXP <POINT ^D65-LN$TTL,TITLEB> ;TITLE
706 400310' 400100 000000 ($FLTOT)^<^L<$FLTOT>+^L<-<<$FLTOT>_<^L<$FLTOT>>>-1>-1>^>^> ;*TOTALS
707 400311' 000000 005475' EXP <FLWIDT> ;*WIDTH
708 400312' 177777 000000* XWD MX.MTN,.SWDEC## ;*BACKSP
709 400313' 177777 400312* XWD MX.BKF,.SWDEC## ;BLOCK
710 400314' 010000 400313* XWD MX.BFZ,.SWDEC## ;BUFSIZ
711 400315' 177777 400314* XWD MX.MTN,.SWDEC## ;*DUMP
712 400316' 777775 400211' XWD -ERR.L,ERR.T-1 ;*ERROR
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 20-2
DUMPR MAC 21-FEB-77 17:03 SWITCH TABLE
713 400317' 000000 000000 XWD 0,0 ;*FORTRA
714 400320' 000000 000000 XWD 0,0 ;IFTYP
715 400321' 000000 000000 XWD 0,0 ;INDUST
716 400322' 000000 000000 XWD 0,0 ;*IREAD
717 400323' 777775 400226' XWD -LRX.L,LRX.T-1 ;LINRDX
718 400324' 777766 400214' XWD -MOD.L,MOD.T-1 ;*MODE
719 400325' 000012 400315* XWD MX.MBF,.SWDEC## ;MTBUF
720 400326' 000000 000000 XWD 0,0 ;*NORETR
721 400327' 000000 000000 XWD 0,0 ;OMIT
722 400330' 177777 400325* XWD MX.ONL,.SWDEC## ;*ONLY
723 400331' 000000 000000 XWD 0,0 ;*POSIT
724 400332' 000020 400330* XWD MX.RDX,.SWDEC## ;RADIX
725 400333' 000000 000000 XWD 0,0 ;*REWIND
726 400334' 000000 000000 XWD 0,0 ;RIB
727 400335' 177777 400332* XWD MX.MTN,.SWDEC## ;*SKIP
728 400336' 000000 000000 XWD 0,0 ;SUMMAR
729 400337' 000000 000000* XWD MX.,.SWASQ## ;TITLE
730 400340' 000000 000000 XWD 0,0 ;*TOTALS
731 400341' 000204 400335* XWD MX.WID,.SWDEC## ;*WIDTH
732 400342' 040001 177777 XWD ..TEMR,PD.MTN ;*BACKSP
733 400343' 100000 000120 XWD ..TEMR,PD.BKF ;BLOCK
734 400344' 100000 002000 XWD ..TEMR,PD.BFZ ;BUFSIZ
735 400345' 040005 177777 XWD ..TEMR,PD.MTN ;*DUMP
736 400346' 100000 000001 XWD ..TEMR,ERRCON ;*ERROR
737 400347' 100000 000001 XWD ..TEMR,1 ;*FORTRA
738 400350' 100000 000001 XWD ..TEMR,1 ;IFTYP
739 400351' 100004 000001 XWD ..TEMR,1 ;INDUST
740 400352' 100004 000001 XWD ..TEMR,1 ;*IREAD
741 400353' 100000 000001 XWD ..TEMR,LRXDEC ;LINRDX
742 400354' 000011 000010 XWD ..TEMR,MODOCT ;*MODE
743 400355' 100000 000003 XWD ..TEMR,PD.MBF ;MTBUF
744 400356' 100004 000001 XWD ..TEMR,1 ;*NORETR
745 400357' 100010 000001 XWD ..TEMR,1 ;OMIT
746 400360' 000005 000000 XWD ..TEMR,PD.ONL ;*ONLY
747 400361' 100000 000001 XWD ..TEMR,1 ;*POSIT
748 400362' 100010 000010 XWD ..TEMR,PD.RDX ;RADIX
749 400363' 000002 000006 XWD ..TEMR,FN$REW ;*REWIND
750 400364' 000002 000007 XWD ..TEMR,FN$RIB ;RIB
751 400365' 040001 177777 XWD ..TEMR,PD.MTN ;*SKIP
752 400366' 100010 000001 XWD ..TEMR,1 ;SUMMAR
753 400367' 100000 000000 XWD ..TEMR,PD. ;TITLE
754 400370' 100010 000001 XWD ..TEMR,1 ;*TOTALS
755 400371' 100010 000120 XWD ..TEMR,PD.WID ;*WIDTH
756
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 21
DUMPR MAC 21-FEB-77 17:03 SWITCH TABLE FOR OPTION SCAN
757 SUBTTL SWITCH TABLE FOR OPTION SCAN
758
759 IFN FT$OPT,<
760
761 DEFINE SWTCHS,<
762 SP BUFSIZ,BUFSIZ,.SWDEC##,BFZ,FS.NUE
763 SL ERROR,FLERR,ERR,ERRCON,FS.NUE
764 SS IFTYP,<POINTR(F,$FLITY)>,1,FS.NUE
765 SL LINRDX,LINRDX,LRX,LRXDEC,FS.NUE
766 SP MTBUF,NMTBUF,.SWDEC##,MBF,FS.NUE
767 SP WIDTH,FLWIDT,.SWDEC##,WID,FS.NUE
768 >
769
770 DOSCAN (OPSW)
771 400372' 426546 635172 EXP SIXBIT /BUFSIZ/
772 400373' 456262 576200 EXP SIXBIT /ERROR/
773 400374' 514664 716000 EXP SIXBIT /IFTYP/
774 400375' 545156 624470 EXP SIXBIT /LINRDX/
775 400376' 556442 654600 EXP SIXBIT /MTBUF/
776 400377' 675144 645000 EXP SIXBIT /WIDTH/
777 400400' 000000 005465' EXP <BUFSIZ> ;BUFSIZ
778 400401' 000000 005466' EXP <FLERR> ;ERROR
779 400402' 360100 000000 ($FLITY)^<^L<$FLITY>+^L<-<<$FLITY>_<^L<$FLITY>>>-1>-1>^>^> ;IFTYP
780 400403' 000000 005467' EXP <LINRDX> ;LINRDX
781 400404' 000000 005470' EXP <NMTBUF> ;MTBUF
782 400405' 000000 005475' EXP <FLWIDT> ;WIDTH
783 400406' 010000 400341* XWD MX.BFZ,.SWDEC## ;BUFSIZ
784 400407' 777775 400211' XWD -ERR.L,ERR.T-1 ;ERROR
785 400410' 000000 000000 XWD 0,0 ;IFTYP
786 400411' 777775 400226' XWD -LRX.L,LRX.T-1 ;LINRDX
787 400412' 000012 400406* XWD MX.MBF,.SWDEC## ;MTBUF
788 400413' 000204 400412* XWD MX.WID,.SWDEC## ;WIDTH
789 400414' 100000 002000 XWD ..TEMR,PD.BFZ ;BUFSIZ
790 400415' 100000 000001 XWD ..TEMR,ERRCON ;ERROR
791 400416' 100000 000001 XWD ..TEMR,1 ;IFTYP
792 400417' 100000 000001 XWD ..TEMR,LRXDEC ;LINRDX
793 400420' 100000 000003 XWD ..TEMR,PD.MBF ;MTBUF
794 400421' 100000 000120 XWD ..TEMR,PD.WID ;WIDTH
795 >;END IFN FT$OPT
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 22
DUMPR MAC 21-FEB-77 17:03 COMMAND SCANNING SUBROUTINES
796 SUBTTL COMMAND SCANNING SUBROUTINES
797
798 400422' AIN:
799 400422' 332 00 0 00 005340' SKIPE INPSPC+.FXDEV ;ALREADY BEEN HERE?
800 400423' 260 17 0 00 004407' ERROR. EF$FTL,MIS,<MULTIPLE INPUT SPECIFICATIONS ILLEGAL>
801 400424' 300400 400777'
802 400425' 336 00 0 00 005424' SKIPN DUMPFL ;SEEN A /DUMP?
803 400426' 260 17 0 00 400463' CALL HOLDMP ;NO--SET TO DUMP ENTIRE WHATEVER
804 400427' 561 01 0 00 777776 HRROI T1,FN$END ;SEND END OF LIST
805 400430' 260 17 0 00 400520' CALL PUTACT ;...
806 400431' 201 01 0 00 005340' MOVEI T1,INPSPC ;GET ADDRESS
807 400432' 201 02 0 00 000032 ALEN: MOVEI T2,.FXLEN ;AND SIZE
808 400433' 263 17 0 00 000000 POPJ P,
809 400434' AOUT:
810 400434' 332 00 0 00 005372' SKIPE OUTSPC+.FXDEV ;BEEN HERE?
811 400435' 260 17 0 00 004407' ERROR. EF$FTL,MOF,<MULTIPLE OUTPUT FILES ILLEGAL>
812 400436' 300400 401006'
813 400437' 561 01 0 00 777777 HRROI T1,FN$INP ;SET END OF OUTPUT FUNCTIONS
814 400440' 260 17 0 00 400520' CALL PUTACT ;SEND TO LIST
815 400441' 661 00 0 00 002000 TLO F,FL$OUT ;SET OUTPUT SPEC ALLOCATED
816 400442' 201 01 0 00 005372' MOVEI T1,OUTSPC
817 400443' 254 00 0 00 400432' PJRST ALEN
818
819 ;SCAN CALLS HERE TO CLEAR ALL ANSWERS
820
821 400444' 334 11 0 00 400445' CLRANS: SKIPA A,.+1 ;LOAD UP ACTION PTR
822 400445' 777716 005170' INIACT: IOWD LN$ACT,ACTLST
823 400446' 621 00 0 00 776004 TLZ F,FL$SCN ;CLEAR SCAN FLAGS IN F
824 400447' 402 00 0 00 005314' STORE T1,SCN$FZ,SCN$LZ,0 ;CLEAR WHAT SHOULD BE ZERO
825 400450' 200 01 0 00 401007'
826 400451' 251 01 0 00 005463'
827 400452' 476 00 0 00 005464' STORE T1,SCN$FO,SCN$LO,-1 ;MINUS 1 WHAT SHOULD BE MINUS 1
828 400453' 200 01 0 00 401010'
829 400454' 251 01 0 00 005475'
830 400455' 200 01 0 00 401011' MOVE T1,[POINT 7,CMDBFR] ;INIT PTR TO STORE COMMAND
831 400456' 202 01 0 00 005253' MOVEM T1,SCMDBP ;...
832 400457' 201 01 0 00 000143 MOVEI T1,MX$CMD ;AND COUNTER
833 400460' 202 01 0 00 005254' MOVEM T1,SCMDCT ;...
834 400461' 263 17 0 00 000000 POPJ P,
835
836 ;SCAN CALLS HERE TO CLEAR FILE ANSWERS
837
838 400462' CLRFIL:
839 400462' 263 17 0 00 000000 POPJ P,
840
841 ;CALL TO DUMP WHOLE TAPE
842
843 400463' 201 01 0 00 000003 HOLDMP: MOVEI T1,FN$DMP ;FUNCTION
844 400464' 525 02 0 00 777777 HRLOI T2,777777 ;A RIDICULOUSLY LARGE FILE/RECORD COUNT
845 ;(USE NEG. # SO IF DSK INPUT WE KNOW
846 ; NO /DUMP AND THEN DUMP WHOLE FILE)
847 400465' 254 00 0 00 400520' PJRST PUTACT ;STOW AWAY AND RETURN
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 23
DUMPR MAC 21-FEB-77 17:03 STORE SWITCHES
848 SUBTTL STORE SWITCHES
849
850 ;SCAN CALLS HERE TO STORE SOME SWITCHES
851 ;N=VALUE, T2=PTR (FN$XXX), T3=FLAGS (FS$XXX), P1=SWITCH INDEX
852
853 400466' 607 03 0 00 000010 STOSWT: TLNN T3,(FS$OUT) ;OUTPUT ONLY?
854 400467' 254 00 0 00 400472' JRST STOSWA ;NO
855 400470' 603 00 0 00 002000 TLNE F,FL$OUT ;YES--OUTPUT ALLOCATED?
856 400471' 254 00 0 00 400547' JRST E$$OSI ;NO--BOMB
857 400472' 607 03 0 00 000004 STOSWA: TLNN T3,(FS$INP) ;INPUT ONLY?
858 400473' 254 00 0 00 400476' JRST STOSWB ;NO
859 400474' 607 00 0 00 002000 TLNN F,FL$OUT ;YES--OUTPUT ALLOCATED?
860 400475' 254 00 0 00 400552' JRST E$$ISO ;NO--BOMB
861 400476' 603 03 0 00 000002 STOSWB: TLNE T3,(FS$NVL) ;NEVER TAKE A VALUE?
862 400477' 254 00 0 00 400516' JRST SWTST0 ;YES--THATS CORRECT
863 400500' 306 02 0 00 000001 CAIN T2,FN$MOD ;THIS /MODE?
864 400501' 254 00 0 00 400525' JRST STOMOD ;YES--DO DIFFERENTLY
865 400502' 603 03 0 00 000001 TLNE T3,(FS$XTR) ;TAKE EXTRA ARGS?
866 400503' 302 10 0 00 000072 CAIE C,":" ;YES--ARE THEY THERE?
867 400504' 254 00 0 00 400516' JRST SWTST0 ;NO--JUST STORE
868 SAVE$ <N,T2> ;YES--SAVE VALUE, AND FUNCTION
869 400507' 260 17 0 00 000000* CALL .DECNW## ;READ SECOND VALUE
870 RESTR$ <T1,T2> ;GET FUNCTION AND VALUE IN RIGHT ACS
871 400512' 207 00 0 00 000002 MOVSS T2 ;POSITION FILE COUNT IN LH
872 400513' 540 02 0 00 000007 HRR T2,N ;AND RECORD COUNT IN RH
873 400514' 254 00 0 00 400520' PJRST PUTACT ;PUT ON ACTION LIST AND RETURN
874
875 400515' 201 07 0 00 000001 SWTS0A: MOVEI N,1 ;NEVER TAKES A VALUE,MAKE SURE IT GETS DONE 1 X
876 400516' 200 01 0 00 000002 SWTST0: MOVE T1,T2 ;POSITION FUNCTION
877 400517' 550 02 0 00 000007 HRRZ T2,N ;AND VALUE
878 ; PJRST PUTACT ;STORE PARAMS AND RETURN
879
880 ;PUTACT -- STORE PARAMETERS IN ACTION LIST
881 ;CALL: MOVE T1,<FUNCTION>
882 ; MOVE T2,<VALUE>
883 ; CALL PUTACT
884
885 400520' 261 11 0 00 000001 PUTACT: PUSH A,T1 ;STORE FUNCTION
886 400521' 261 11 0 00 000002 PUSH A,T2 ;AND VALUE
887 400522' 306 01 0 00 000003 CAIN T1,FN$DMP ;THIS THE /DUMP?
888 400523' 476 00 0 00 005424' SETOM DUMPFL ;YES--SAY WE HAVE ONE
889 400524' 263 17 0 00 000000 POPJ P,
890
891 400525' 302 07 0 00 000002 STOMOD: CAIE N,MODBYT ;/MODE:BYTE?
892 400526' 254 00 0 00 400516' JRST SWTST0 ;NO--DO NORMALLY
893
894 400527' 302 10 0 00 000072 CAIE C,":" ;MUST HAVE A VALUE
895 400530' 260 17 0 00 004407' ERROR. EF$FTL,BRB,</BYTE REQUIRES BYTESIZE>
896 400531' 300400 401017'
897 SAVE$ <N,T2> ;SAVE MODBYT, FN$MOD
898 400534' 260 17 0 00 400507* CALL .DECNW## ;READ BYTESIZE
899 RESTR$ <T1,T2> ;FN$MOD IN T1, MODBYT IN T2
900 400537' 303 07 0 00 000000 CAILE N,0 ;CAN'T VERY WELL HAVE NEGATIVE BYTE SIZES
901 400540' 303 07 0 00 000044 CAILE N,^D36 ;OR GREATR THAN ONE WORD
902 400541' 254 00 0 00 400544' JRST E$$IBS ;SO TELL HIM ITS ILLEGAL AND QUIT
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 23-1
DUMPR MAC 21-FEB-77 17:03 STORE SWITCHES
903 400542' 504 02 0 00 000007 HRL T2,N ;PUT BYTESIZE IN LH
904 400543' 254 00 0 00 400520' PJRST PUTACT ;SET ON ACTION LIST AND RETURN
905 400544' 200 01 0 00 000007 E$$IBS: MOVE T1,N ;POSITION TO TELL USER WHAT IS ILLEGAL
906 400545' 260 17 0 00 004407' ERROR. EF$FTL!EF$DEC,IBS,<ILLEGAL BYTE SIZE - >
907 400546' 300401 401025'
908
909 400547' 200 01 0 05 400232' E$$OSI: MOVE T1,SWTN(P1) ;OUTPUT SWITCH ON INPUT SIDE
910 400550' 260 17 0 00 004407' ERROR. EF$FTL!EF$SIX,OSI,<OUTPUT SWITCH ILLEGAL ON INPUT - >
911 400551' 300403 401035'
912 400552' 200 01 0 05 400232' E$$ISO: MOVE T1,SWTN(P1) ;INPUT SWITCH ON OUTPUT SIDE
913 400553' 260 17 0 00 004407' ERROR. EF$FTL!EF$SIX,ISO,<INPUT SWITCH ILLEGAL ON OUTPUT - >
914 400554' 300403 401045'
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 24
DUMPR MAC 21-FEB-77 17:03 DO /POSITION SWITCH
915 SUBTTL DO /POSITION SWITCH
916
917 400555' 260 17 0 00 400567' MTAPOS: CALL CKPOSC ;CHECK FOR ILLEGAL FUNCTIONS, NEVER RETURN IFSO
918 400556' 200 01 0 00 005340' MOVE T1,INPSPC+.FXDEV;GET INPUT NAME
919 400557' 047 01 0 00 000004 DEVCHR T1, ;SEE WHAT IT IS
920 400560' 607 01 0 00 000020 TXNN T1,DV.MTA ;IS IT A MAGTAPE?
921 400561' 254 00 0 00 400161' JRST ILLIDV ;NO--GO QUIT NOW
922 400562' 260 17 0 00 400650' CALL INWLDO ;OPEN THE UNIT
923 400563' 254 00 0 00 000012' JRST RESTRT ;SNH
924 400564' 260 17 0 00 400606' CALL MNPXCI ;DO MTA MANIPULATIONS
925 400565' 260 17 0 00 000205' CALL INPCLS ;CLOSE INPUT
926 400566' 254 00 0 00 000071' JRST FILD.X ;GO DO RUN COMMAND, EXIT 1, OR RESTRT
927
928 ;ROUTINE TO CHECK FUNCTION LIST FOR BADDIES
929
930 400567' 201 01 0 00 005171' CKPOSC: MOVEI T1,ACTLST ;POINT AT THE LIST
931 400570' 550 02 0 01 000000 CKPS.1: HRRZ T2,(T1) ;GET A FUNC
932 400571' 271 01 0 00 000002 ADDI T1,2 ;MOVE TO NEXT FUNCTION
933 400572' 306 02 0 00 777776 CAIN T2,FN$END ;IS THIS THE END?
934 400573' 263 17 0 00 000000 POPJ P, ;YES
935 400574' 205 03 0 00 777774 MOVSI T3,-N$MTAF ;SETUP AOBJN
936 400575' 312 02 0 03 400602' CAME T2,LGLMTF(T3) ;IS THIS IT?
937 400576' 253 03 0 00 400575' AOBJN T3,.-1 ;NO--CHECK ALL
938 400577' 321 03 0 00 400570' JUMPL T3,CKPS.1 ;GO CHECK NEXT IF THIS ONE OK
939 400600' 260 17 0 00 004407' ERROR. EF$FTL,IPF,<ILLEGAL POSITIONING FUNCTION>
940 400601' 300400 401054'
941
942 ;TABLE OF LEGAL POSITIONING FUNCTIONS
943
944 400602' 000000 000004 LGLMTF: EXP FN$BSP,FN$SKP,FN$REW,FN$DMP ;FN$DMP IS IGNORED LATER
945 400603' 000000 000005
946 400604' 000000 000006
947 400605' 000000 000003
948 000004 N$MTAF==.-LGLMTF
949
950 ;ROUTINE TO WHIP THROUGH ACTLST AND EXECUTE MTA FILE POSITIONING ONLY
951 ;THE LIST MUST CONTAIN ONLY FILE POSITIONING COMMANDS AND FN$END
952
953 400606' 260 17 0 00 000000* MNPXCI: CALL .SAVE4## ;PRESERVE 4 REGISTERS
954 400607' 201 05 0 00 000040 MOVEI P1,(Z INPC,) ;SETUP THE CHANNEL
955 400610' 201 06 0 00 005171' MOVEI P2,ACTLST ;POINT AT THE LIST
956 400611' 550 01 0 06 000000 MNPX.2: HRRZ T1,(P2) ;GET NEXT THING
957 400612' 306 01 0 00 777776 CAIN T1,FN$END ;IS THIS THE END?
958 400613' 263 17 0 00 000000 POPJ P, ;YES--ALL DONE
959 400614' 554 07 0 06 000001 HLRZ P3,1(P2) ;GET POSSIBLE FILE COUNT
960 400615' 550 10 0 06 000001 HRRZ P4,1(P2) ;AND POSSIBLE RECORD COUNT
961 400616' 271 06 0 00 000002 ADDI P2,2 ;MOVE TO NEXT THING
962 400617' 254 00 1 01 400615' JRST @MNPDSP-FN$BSP(T1) ;DISPATCH
963
964 400620' 000000 400611' EXP MNPX.2 ;IGNORE /DUMP
965 400621' 000000 400634' MNPDSP: EXP MNP.BS
966 400622' 000000 400634' EXP MNP.SK
967 400623' 000000 400624' EXP MNP.RW
968
969 400624' 200 01 0 00 401055' MNP.RW: MOVE T1,[MTREW.] ;SETUP FUNCTION TO EXECUTE
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 24-1
DUMPR MAC 21-FEB-77 17:03 DO /POSITION SWITCH
970 400625' 400 03 0 00 000000 SETZ T3, ;CLEAR COUNT
971 400626' 260 17 0 00 400630' MNPXDG: CALL MNP.XX ;DO THE REWIND
972 400627' 254 00 0 00 400611' JRST MNPX.2 ;GO GET NEXT THING
973
974 ;GET HERE WITH T1 HAVING MTAPE TO DO (MINUS CHAN), AND T3=# TIMES TO DO IT
975
976 400630' 661 01 0 05 000000 MNP.XX: TLO T1,(P1) ;SETUP THE CHANNEL
977 400631' 256 00 0 00 000001 XCT T1 ;DO IT ONE TIME
978 400632' 367 03 0 00 400631' SOJG T3,.-1 ;DO IT ALL WE NEED TO
979 400633' 263 17 0 00 000000 POPJ P,
980
981 400634' MNP.SK:
982 400634' 333 00 0 00 000010 MNP.BS: SKIPLE P4 ;ANY RECORDS TO DO?
983 400635' 261 17 0 01 401052' PUSH P,[EXP <MTBSR.>,<MTSKR.>]-FN$BSP(T1) ;YES--SETUP FOR IT
984 400636' 333 00 0 00 000007 SKIPLE P3 ;ANY FILES TO DO?
985 400637' 261 17 0 01 401054' PUSH P,[EXP <MTBSF.>,<MTSKF.>]-FN$BSP(T1) ;YES--
986 400640' 337 03 0 00 000007 MNP.BF: SKIPG T3,P3 ;CHECK/PICKUP FILE ACTION
987 400641' 254 00 0 00 400644' JRST MNP.B1 ;NO--CHECK RECORD ACTION
988 400642' 262 17 0 00 000001 POP P,T1 ;YES--GET MTAPE
989 400643' 260 17 0 00 400630' CALL MNP.XX ;DO IT
990 400644' 337 03 0 00 000010 MNP.B1: SKIPG T3,P4 ;CHECK/PICKUP RECORD ACTION
991 400645' 254 00 0 00 400611' JRST MNPX.2 ;NO--GET NEXT THING
992 400646' 262 17 0 00 000001 POP P,T1 ;YES--GET MTAPE
993 400647' 254 00 0 00 400626' JRST MNPXDG ;GO DO IT AND LOOP FOR MORE ACTION
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 25
DUMPR MAC 21-FEB-77 17:03 WILD CARD HANDLING FOR INPUT FILE
994 SUBTTL WILD CARD HANDLING FOR INPUT FILE
995
996 IFN FT$WLD,<
997 ;ROUTINE TO CALL .LKWLD AND OPEN/LOOKUP THE FILE PRESENTED
998 ;CPOPJ IF NO FILE FOUND
999 ;CPOPJ1 IF OPENED OK
1000
1001 400650' 200 01 0 00 401062' INWLDO: MOVE T1,[XWD SVINOB,OPNBLK] ;RESET OPNBLK IN CASE NOT FIRST TIME
1002 400651' 251 01 0 00 005056' BLT T1,OPNBLK+.OPBUF
1003 400652' 200 01 0 00 400675' INWL.1: MOVE T1,LKWLDB ;GET THE ARG BLOCK
1004 400653' 260 17 0 00 000000* CALL .LKWLD## ;FIND A FILE TO DO
1005 400654' 263 17 0 00 000000 POPJ P, ;CAN'T FIND ANYTHING
1006 400655' 202 02 0 00 005257' MOVEM T2,LKWLFL ;SAVE FLAG FOR LATER (IN CASE MTA)
1007 400656' 201 01 0 00 000014 MOVEI T1,.IOBIN ;USE BINARY MODE
1008 400657' 542 01 0 00 005054' HRRM T1,OPNBLK+.OPMOD
1009 400660' 201 01 0 00 005264' MOVEI T1,IBHR ;SETUP MY BUFFER HEADER ADDRESS
1010 400661' 202 01 0 00 005056' MOVEM T1,OPNBLK+.OPBUF
1011 400662' 050 01 0 00 005054' OPEN INPC,OPNBLK ;OPEN THE DEVICE
1012 JRST [CALL E.DFO## ;REPORT OPEN ERROR
1013 400663' 254 00 0 00 401063' JRST INWL.1] ;KEEP GOING TILL .LKWLD SAYS DONE
1014 400664' 333 00 0 00 005257' SKIPLE LKWLFL ;DO WE NEED TO DO A LOOKUP?
1015 400665' 254 00 0 00 004306' JRST $POPJ1 ;NO--THEN WHY BOTHER (NOT DIR DEVICE)
1016 400666' 076 01 0 00 005057' LOOKUP INPC,LKPBLK ;FIND THE FILE
1017 JRST [CALL E.DFL## ;REPORT ERROR
1018 400667' 254 00 0 00 401065' JRST INWL.1] ;AND KEEP LOOKING
1019 400670' 337 00 0 00 005367' SKIPG INPSPC+.FXFLM ;ENSURE .FXFLM IS RIGHT
1020 400671' 476 00 0 00 005367' SETOM INPSPC+.FXFLM ;SO .CHKTM WILL WORK WRIGHT
1021 400672' 260 17 0 00 000000* CALL .CHKTM## ;CHECK DATE/TIME CONSTRAINTS
1022 400673' 254 00 0 00 400652' JRST INWL.1 ;FAILED--GET NEXT FILE
1023 400674' 254 00 0 00 004306' JRST $POPJ1 ;OK--SKIP BACK WITH THE FILE
1024
1025 400675' 000005 400676' LKWLDB: XWD 5,.+1
1026 400676' 005255' 000000 XWD WLDFIR,0
1027 400677' 005054' 005057' XWD OPNBLK,LKPBLK
1028 400700' 000032 000036 XWD .FXLEN,.RBTIM+1
1029 400701' 400000 005256' EXP 1B0+WLDPTR
1030 400702' 000000 000000 EXP 0
1031 >;END IFN FT$WLD
1032 IFE FT$SEG,<LIT$>
1033 000101' LOW$ ;TO LOW SEGMENT IF FT$SEG=0
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 26
DUMPR MAC 21-FEB-77 17:03 HIGH SEGMENT HANDLERS
1034 SUBTTL HIGH SEGMENT HANDLERS
1035
1036 IFE FT$SEG,< ;NOT NECESSARY IF LOAD ALL IN HIGH SEGMENT
1037 ;CALL DWNSCN TO REMOVE HIGH SEGMENT
1038
1039 000101' 336 00 0 00 000115 DWNSCN: SKIPN .JBHRL ;SEG AROUND?
1040 000102' 263 17 0 00 000000 POPJ P, ;NO--DON'T DO CORE UUO NOW
1041 SAVE$ T1 ;PRESERVE T1
1042 000104' 205 01 0 00 000001 MOVSI T1,1 ;YES--GET RID OF IT
1043 000105' 047 01 0 00 000011 CORE T1, ;BYE/!
1044 000106' 255 00 0 00 000000 JFCL ;SNH
1045 000107' 254 00 0 00 004367' JRST TPOPJ ;RESTORE T1 AND RETURN
1046
1047 ;CALL UPSCN TO REGET THE HIGH SEGMENT
1048
1049 000110' 332 00 0 00 000115 UPSCN: SKIPE .JBHRL ;SCAN AROUND?
1050 000111' 263 17 0 00 000000 POPJ P, ;YES--SKIP COSTLY GETSEG
1051 000112' 202 17 0 00 005053' MOVEM 17,SAVAC+17 ;GETSEG DESTROYS ACS
1052 000113' 201 17 0 00 005034' MOVEI 17,SAVAC
1053 000114' 251 17 0 00 005052' BLT 17,SAVAC+16 ;SAVE ALL
1054 000115' 200 01 0 00 004517' SEGAGN: MOVE T1,SGDEV ;SETUP FOR GETSEG
1055 000116' 200 02 0 00 004520' MOVE T2,SGNAM
1056 000117' 200 03 0 00 004521' MOVE T3,SGLOW
1057 000120' 403 04 0 00 000006 SETZB T4,P2
1058 000121' 200 05 0 00 004522' MOVE P1,SGPPN
1059 000122' 201 07 0 00 000001 MOVEI P3,T1 ;POINT AT THE BLOCK
1060 000123' 047 07 0 00 000040 GETSEG P3,
1061 000124' 334 01 0 00 000007 SKIPA T1,P3 ;FAILED!--GET ERROR CODE IN T1
1062 JRST [MOVSI 17,SAVAC
1063 BLT 17,17
1064 000125' 254 00 0 00 005476' POPJ P,]
1065 000126' 200 17 0 00 000022' MOVE P,INIPDP ;RESET PDP (WILL GET RESTORED IF WE GET SEG)
1066 000127' 260 17 0 00 004407' ERROR. EF$OCT!EF$ERR,CGH,<CAN'T GET HIGH SEGMENT, CODE = >
1067 000130' 300002 005510'
1068 000131' 047 01 0 00 000012 EXIT 1,
1069 000132' 254 00 0 00 000115' JRST SEGAGN ;MAYBE IT WAS JUST LOST?
1070 >;END IFE FT$SEG
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 27
DUMPR MAC 21-FEB-77 17:03 OPEN FILES
1071 SUBTTL OPEN FILES
1072
1073 ;CALL HERE TO OPEN INPUT FILE
1074 ;ALWAYS RETURN CPOPJ IF FT$WLD=0
1075 ;IF FT$WLD=1, IF NO FILE FOUND RETURN CPOPJ, ELSE RETURN CPOPJ1 WITH GOODIES
1076
1077 000133' OPNINP:
1078 IFE FT$WLD,<
1079 MOVEI T1,INPSPC ;POINT AT THE SPEC
1080 CALL OPENIO ;OPEN THE DEVICE (LOOKUP FILE IF NEEDED)
1081 CAI INPC,IBHR(.IOBIN) ;
1082 >;END IFE FT$WLD
1083 IFN FT$WLD,<
1084 000133' 260 17 0 00 400650' CALL INWLDO ;OPEN INPUT FILE
1085 000134' 263 17 0 00 000000 POPJ P, ;CAN'T FIND ANY--ALL DONE
1086 000135' 350 00 0 17 000000 AOS (P) ;SETUP TO SKIP BACK--WE HAVE A FILE
1087 >;END IFN FT$WLD
1088 000136' 204 01 0 00 005511' MOVS T1,[XWD SVINOB,OPNBLK] ;SETUP TO SAVE OPEN/LOOKUP BLOCK
1089 000137' 251 01 0 00 005166' BLT T1,SVINLK+.RBTIM;COPY IT OVER
1090 000140' 200 01 0 00 005064' MOVE T1,LKPBLK+.RBSIZ;GET SIZE OF FILE IN WORDS
1091 000141' 242 01 0 00 777771 LSH T1,-7 ;CVT TO BLOCKS
1092 000142' 340 01 0 00 000000 AOJ T1, ;...
1093 000143' 202 01 0 00 005261' MOVEM T1,IFILSZ ;SAVE FOR LATER (POSITIONING)
1094 000144' 607 12 0 00 000020 OPNI.A: TLNN DC,(DV.MTA) ;INPUT MTA?
1095 000145' 254 00 0 00 000161' JRST OPNI.1 ;NO
1096 000146' 260 17 0 00 000000* CALL .SAVE3## ;YES--SAVE REGISTERS
1097 000147' 201 05 0 00 005340' MOVEI P1,INPSPC ;POINT AT SPEC
1098 000150' 201 06 0 00 000001 MOVEI P2,INPC ;AND CHANNEL
1099 000151' 201 07 0 00 000001 MOVEI P3,INPC ;FOR MTCHR
1100 000152' 047 07 0 00 000112 MTCHR. P3,
1101 000153' 400 07 0 00 000000 SETZ P3, ;SNH
1102 000154' 260 17 0 00 000262' CALL SETCHR ;SET /DENSITY AND /PARITY
1103 000155' 603 00 0 00 004000 TLNE F,FL$IND ;/INDUSTRY?
1104 000156' 072 01 0 00 000101 MTIND. INPC, ;YES--SETUP FOR IT
1105 000157' 333 00 0 00 005471' SKIPLE FLNTRY ;/NORETRY?
1106 JRST [GETSTS INPC,T1 ;YES--GET STATUS
1107 SETSTS INPC,IO.NRC(T1) ;SET NO RETRY
1108 000160' 254 00 0 00 005512' JRST .+1]
1109 000161' 337 01 0 00 005465' OPNI.1: SKIPG T1,BUFSIZ ;/BUFSIZ GIVEN?
1110 000162' 201 01 0 00 002000 MOVEI T1,DF$BFZ ;NO--USE A K
1111 000163' 202 01 0 00 005465' MOVEM T1,BUFSIZ ;SET IN CASE WE DEFAULTED
1112 ;NOTE THAT .ALCBF WILL ADJUST BUFFER
1113 ;TO 128. FOR DSK OR 127. FOR DTA
1114 000164' 505 01 0 00 000006 HRLI T1,6 ;ASSUME DISK INPUT
1115 000165' 607 12 0 00 000020 TLNN DC,(DV.MTA) ;BUT SEE IF MAGTAPE
1116 000166' 254 00 0 00 000172' JRST OPNI.2 ;NO--SIX IS RIGHT
1117 000167' 337 02 0 00 005470' SKIPG T2,NMTBUF ;DID USER SPECIFY /MTBUF?
1118 000170' 201 02 0 00 000002 MOVEI T2,2 ;NO--USE 2
1119 000171' 505 01 0 02 000000 HRLI T1,(T2) ;SET CORRECT BUFFER COUNT
1120 000172' 334 02 0 00 000173' OPNI.2: SKIPA T2,.+1 ;OTHER ALCBUF ARGWORD
1121 000173' 005054' 005264' XWD OPNBLK,IBHR
1122 000174' 260 17 0 00 000000* CALL .ALCBF## ;SETUP BUFFERS
1123 000175' 607 12 0 00 000020 TLNN DC,(DV.MTA) ;DSK OR DTA INPUT?
1124 000176' 607 00 0 00 600000 TLNN F,FL$FOR!FL$PHY ;AND /IREAD OR /FORTRAN?
1125 000177' 603 00 0 00 400000 TLNE F,FL$FOR ;BUT IF /FORTRAN ON TAPE
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 27-1
DUMPR MAC 21-FEB-77 17:03 OPEN FILES
1126 000200' 334 01 0 00 005465' SKIPA T1,BUFSIZ ;YES--NEED TO ALLOCATE FORBUF
1127 000201' 263 17 0 00 000000 POPJ P, ;NO--WE ARE DONE
1128 000202' 260 17 0 00 000000* CALL .ALCOR## ;ALLOCATE FORTRA/IREAD BUFFER
1129 000203' 202 01 0 00 005272' MOVEM T1,FORADR ;SAVE FOR LATER USAGE
1130 000204' 263 17 0 00 000000 POPJ P,
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 28
DUMPR MAC 21-FEB-77 17:03 OPEN FILES
1131 ;COME HERE TO CLOSE INPUT DEVICE
1132
1133 000205' 070 01 0 00 000000 INPCLS: CLOSE INPC,
1134 000206' 071 01 0 00 000000 RELEASE INPC,
1135 000207' 332 01 0 00 005272' SKIPE T1,FORADR ;WAS THERE A FORTRA/IREAD ARRAY?
1136 000210' 260 17 0 00 000000* CALL .DECOR## ;YES--MAKE IT GO AWAY
1137 000211' 402 00 0 00 005272' SETZM FORADR ;CLEAR IN CASE
1138 000212' 201 01 0 00 005264' MOVEI T1,IBHR
1139 ; PJRST TSTBHR ;FREE UP BUFFERS
1140
1141 ;HERE TO FREE BUFFERS IF THEY WERE ALLOCATED
1142
1143 000213' 336 00 0 01 000000 TSTBHR: SKIPN .BFADR(T1) ;USED?
1144 000214' 263 17 0 00 000000 POPJ P, ;NO--QUIT NOW
1145 SAVE$ T1 ;SAVE ADDRESS
1146 000216' 260 17 0 00 000000* CALL .FREBF## ;FREE BUFFERS
1147 RESTR$ T1 ;RESTORE ADDRESS
1148 000220' 402 00 0 01 000000 SETZM .BFADR(T1)
1149 000221' 402 00 0 01 000001 SETZM .BFPTR(T1)
1150 000222' 402 00 0 01 000002 SETZM .BFCTR(T1)
1151 000223' 263 17 0 00 000000 POPJ P,
1152
1153 ;HERE TO CLOSE OUTPUT FILE
1154
1155 000224' 623 00 0 00 000001 OUTCLS: TLZE F,FL$ODN ;WAS ANY OUTPUT DONE?
1156 000225' 634 01 0 00 000001 TDZA T1,T1 ;YES--PRESERVE THE FILE
1157 000226' 201 01 0 00 000040 MOVEI T1,CL.RST ;NO--MAKE FILE DISSAPPEAR
1158 000227' 070 02 0 01 000000 CLOSE OUTC,(T1) ;FINISH WRITING THE FILE
1159 000230' 071 02 0 00 000000 RELEASE OUTC,
1160 000231' 621 00 0 00 000010 TLZ F,FL$OPN ;NOT OPEN NOW
1161 000232' 201 01 0 00 005267' MOVEI T1,OBHR
1162 000233' 254 00 0 00 000213' PJRST TSTBHR
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 29
DUMPR MAC 21-FEB-77 17:03 OPEN FILES
1163 ;HERE TO OPEN OUTPUT FILE
1164
1165 000234' 201 01 0 00 005372' OPNOUT: MOVEI T1,OUTSPC ;SETUP
1166 000235' 260 17 0 00 004117' CALL OPENIO ;DO IT
1167 000236' 300 02 1 00 005267' CAI OUTC,@OBHR(.IOASC)
1168 000237' 602 12 0 00 000020 TRNE DC,(DV.MTA) ;IS OUTPUT DEVICE MTA?
1169 000240' 254 00 0 00 000250' JRST OPNO.1 ;NO
1170 000241' 260 17 0 00 000146* CALL .SAVE3## ;YES--SAVE P1-3
1171 000242' 201 05 0 00 005372' MOVEI P1,OUTSPC
1172 000243' 201 06 0 00 000002 MOVEI P2,OUTC
1173 000244' 201 07 0 00 000002 MOVEI P3,OUTC
1174 000245' 047 07 0 00 000112 MTCHR. P3,
1175 000246' 400 07 0 00 000000 SETZ P3, ;...SNH
1176 000247' 260 17 0 00 000262' CALL SETCHR ;SET /DENSITY AND /PARITY
1177 000250' 205 01 0 00 000006 OPNO.1: MOVSI T1,6 ;USE 6 BUFFERS
1178 000251' 602 12 0 00 000020 TRNE DC,(DV.MTA) ;UNLESS MTA
1179 000252' 205 01 0 00 000002 MOVSI T1,2 ;IN WHICH CASE USE 2
1180 000253' 334 02 0 00 000254' SKIPA T2,.+1 ;
1181 000254' 005054' 005267' XWD OPNBLK,OBHR
1182 000255' 260 17 0 00 000174* CALL .ALCBF##
1183 000256' 067 02 0 00 000000 OUTPUT OUTC, ;DO DUMMY OUTPUT
1184 000257' 661 00 0 00 000010 TLO F,FL$OPN ;OUTPUT FILE IS OPEN FOR BUSINESS
1185 000260' 621 00 0 00 000001 TLZ F,FL$ODN ;NO OUTPUT DONE YET, THO
1186 000261' 263 17 0 00 000000 POPJ P,
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 30
DUMPR MAC 21-FEB-77 17:03 SET MAGTAPE CHARACTERISTICS
1187 SUBTTL SET MAGTAPE CHARACTERISTICS
1188
1189 ;SETCHR -- SET TAPE CHARACTERISTICS
1190 ;CALL: MOVEI P1,<SPEC ADDR>
1191 ; MOVEI P2,<CHANNEL>
1192 ; MOVE P3,<AC RESULT OF MTCHR. UUO>
1193 ; CALL SETCHR
1194 ; *RETURN*
1195
1196 000262' 135 01 0 00 005515' SETCHR: LDB T1,[POINTR (.FXMOD(P1),FX.DEN)] ;GET /DENSITY: VALUE
1197 000263' 322 01 0 00 000271' JUMPE T1,SETC.1 ;JUMP IF NONE
1198 000264' 256 00 0 01 000274' XCT SETDEN(T1) ;SET THE DENSITY
1199 000265' 200 01 0 00 005516' MOVE T1,[XWD 3,T2] ;TAPOP. ARG
1200 000266' 201 02 0 00 002001 MOVEI T2,.TFDEN+.TFSET;FUNCTION
1201 000267' 200 03 0 00 000006 MOVE T3,P2 ;CHANNEL
1202 000270' 260 17 0 00 000324' CALL DOTPOP ;DO TAPOP.
1203 000271' 135 01 0 00 005517' SETC.1: LDB T1,[POINTR(.FXMOD(P2),FX.PAR)] ;/PARITY: VALUE
1204 000272' 256 00 0 01 000316' XCT SETPAR(T1) ;SET THE PARITY
1205 000273' 263 17 0 00 000000 POPJ P,
1206
1207 000274' 255 00 0 00 000000 SETDEN: JFCL ;SNH
1208 000275' 260 17 0 00 000304' CALL DEN200 ;200 BPI
1209 000276' 260 17 0 00 000304' CALL DEN556 ;556 BPI
1210 000277' 201 04 0 00 000003 MOVEI T4,.TFD80 ;800 BPI
1211 000300' 260 17 0 00 000311' CALL DEN160 ;1600 BPI
1212 000301' 260 17 0 00 000311' CALL DEN625 ;6250 BPI
1213 000302' 200 04 0 00 000001 MOVE T4,T1 ;(6)
1214 000303' 200 04 0 00 000001 MOVE T4,T1 ;(7)
1215
1216 000304' DEN556:
1217 000304' 606 07 0 00 000020 DEN200: TRNN P3,MT.7TR ;MUST BE 7 TRACK
1218 000305' 260 17 0 00 004407' E$$ID9: ERROR. EF$FTL,ID9,<ILLEGAL DENSITY FOR 9-TRACK>
1219 000306' 300400 005526'
1220 000307' 200 04 0 00 000001 MOVE T4,T1 ;SETUP DENSITY
1221 000310' 263 17 0 00 000000 POPJ P,
1222
1223 000311' DEN625:
1224 000311' 602 07 0 00 000020 DEN160: TRNE P3,MT.7TR ;CAN'T BE 7 TRACK
1225 000312' 260 17 0 00 004407' E$$ID7: ERROR. EF$FTL,ID7,<ILLEGAL DENSITY FOR 7-TRACK>
1226 000313' 300400 005535'
1227 000314' 200 04 0 00 000001 MOVE T4,T1
1228 000315' 263 17 0 00 000000 POPJ P,
1229
1230 000316' 255 00 0 00 000000 SETPAR: JFCL ;ODD IS THE DEFAULT
1231 000317' 260 17 0 00 000320' CALL EVNPAR ;SET EVEN
1232 000320' 200 01 0 00 005516' EVNPAR: MOVE T1,[XWD 3,T2] ;ARGWORD
1233 000321' 201 02 0 00 002005 MOVEI T2,.TFPAR+.TFSET;FUNCTION
1234 000322' 200 03 0 00 000006 MOVE T3,P2 ;CHANNEL
1235 000323' 201 04 0 00 000001 MOVEI T4,1 ;EVEN PARITY
1236 ; PJRST DOTPOP ;DO AND RETURN
1237 ;FALL THROUGH TO DOTPOP
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 31
DUMPR MAC 21-FEB-77 17:03 SET MAGTAPE CHARACTERISTICS
1238 ;DOTPOP -- DO A TAPOP WITH ERROR REPORTING
1239 ;CALL: MOVE T1,[ARGBLOCK]
1240 ; MOVEI T2,<FUNCTION>
1241 ; MOVE T3,<TAPNAM,IOCHAN, OR SOMETHING JUST AS GOOD>
1242 ; MOVE T4,<ARG>
1243 ; CALL DOTPOP
1244 ; *RETURN*
1245
1246 000324' 047 01 0 00 000154 DOTPOP: TAPOP. T1, ;DO IT
1247 000325' 304 00 0 00 000000 CAIA ;FAILED--REPORT ERROR
1248 000326' 263 17 0 00 000000 POPJ P, ;OK
1249
1250 000327' ETAPOP: SAVE$ <T4,T3,T2,T1> ;SAVE ON PDL
1251 000333' 260 17 0 00 004407' WARN. EF$OCT!EF$NCR,TUF,<TAPOP. UUO FAILURE--CODE = >
1252 000334' 300242 005544'
1253 000335' 201 01 0 00 005545' STRNG$ < - FN=>
1254 000336' 260 17 0 00 000034*
1255 000337' 200 01 0 17 777777 MOVE T1,-1(P) ;GET FN (WAS IN T2)
1256 000340' 260 17 0 00 000000* CALL .TOCTW##
1257 000341' 260 17 0 00 000037* CALL .TCRLF##
1258 RESTR$ <T1,T2,T3,T4>
1259 000346' 263 17 0 00 000000 POPJ P,
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 32
DUMPR MAC 21-FEB-77 17:03 PROCESS THE COMMAND LIST
1260 SUBTTL PROCESS THE COMMAND LIST
1261
1262 ;THIS IS THE HEART OF THE DUMPR PROGRAM. IT GETS THE FUNCTIONS OFF
1263 ;OF THE ACTION (COMMAND) LIST AND PROCESSES THEM.
1264
1265 000347' 260 17 0 00 400606* PROCMD: CALL .SAVE4## ;SAVE P1-4
1266 000350' 260 17 0 00 000373' CALL DMPINI ;INITIALIZE
1267 000351' 201 11 0 00 005171' MOVEI A,ACTLST ;SETUP A TO POINT TO ACTION LIST
1268 000352' 625 00 0 00 002000 TLZA F,FL$OUT ;FLAG WE ARE ON OUTPUT SIDE OF THINGS
1269 000353' 661 00 0 00 002000 DMPINP: TLO F,FL$OUT ;FLAG WE ARE ON INPUT SIDE OF THINGS
1270 000354' 200 01 0 11 000000 DMPLUP: MOVE T1,(A) ;GET A COMMAND
1271 000355' 574 05 0 11 000001 HLRE P1,1(A) ;GET LH OF ARG WORD (USUALLY FILE COUNT)
1272 000356' 550 06 0 11 000001 HRRZ P2,1(A) ;GET RH OF ARG WORD (USUALLY RECORD COUNT)
1273 000357' 271 11 0 00 000002 ADDI A,2 ;MOVE TO NEXT ACTION
1274 000360' 254 00 1 01 000363' JRST @DMPDSP(T1) ;GO TO IT
1275
1276 000361' 000000 000615' EXP DMPEND ;(-2) END IT ALL
1277 000362' 000000 000353' EXP DMPINP ;(-1) ALL POSITIONING SWITCHES FOLLOWING
1278 ; ARE FOR INPUT SIDE
1279 000363' 254 04 0 00 000363' DMPDSP: HALT . ;(0) SHOULD NOT HAPPEN
1280
1281 DEFINE X(A) ;MACRO TO GENERATE REST OF TABLE
1282 <IRP A,<EXP D$'A>>
1283 000364' 000000 001261' FUNCTS ;GENERATE REST OF TABLE
1284 000365' 000000 004030'
1285 000366' 000000 000502'
1286 000367' 000000 003730'
1287 000370' 000000 003634'
1288 000371' 000000 003776'
1289 000372' 000000 004021'
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 33
DUMPR MAC 21-FEB-77 17:03 PROCESS THE COMMAND LIST
1290 ;INITIALIZE FOR THE COMMAND PROCESSING
1291
1292 000373' 402 00 0 00 005302' DMPINI: STORE T1,RUN$FZ,RUN$LZ,0 ;CLEAR SOME THINGS
1293 000374' 200 01 0 00 005547'
1294 000375' 251 01 0 00 005313'
1295 000376' 603 12 0 00 000020 TLNE DC,(DV.MTA) ;IS INPUT MAGTAPE?
1296 000377' 603 00 0 00 400000 TLNE F,FL$FOR ;AND NOT /FORTRAN?
1297 000400' 254 00 0 00 000411' JRST DMPI.1 ;NOT MTA OR MTA AND /FORTRAN
1298 000401' 201 01 0 00 001016 MOVEI T1,.TFSTA ;ATTEMPT TO DIVINE THE TAPE'S LOCATION
1299 000402' 202 01 0 00 005302' MOVEM T1,TAPOBL-3 ;WITH A TAPOP.
1300 000403' 201 01 0 00 000001 MOVEI T1,INPC ;HOPE TAPUUO LIKES CHANNEL ARGS TODAY
1301 000404' 202 01 0 00 005303' MOVEM T1,TAPOBL-2 ;...
1302 000405' 200 01 0 00 005550' MOVE T1,[XWD 5,TAPOBL-3] ;ARGWORD
1303 000406' 072 01 0 00 000000 MTWAT. INPC, ;FIRST MAKE SURE THE TAPE HAS STOPPED MOVING!
1304 000407' 047 01 0 00 000154 TAPOP. T1, ;ASK MONITOR WHERE THE TAPE IS
1305 000410' 255 00 0 00 000000 JFCL ;(IGNORE ERROR)
1306 000411' 403 14 0 00 000013 DMPI.1: SETZB M,W ;DEFAULT IS OCTAL MODE
1307 000412' 260 17 0 00 001270' CALL D$MSET ;SET UP L AND Q
1308 000413' 621 00 0 00 000340 TLZ F,FL$EOT!FL$OLY!FL$MNP ;CERTAINLY NOT END OF TAPE
1309 000414' 260 17 0 00 000677' CALL INIHDR ;OUTPUT INITIAL HEADER MESSAGE
1310 000415' 337 01 0 00 005464' SKIPG T1,S.BLKF ;GET BLOCKING FACTOR IN CASE EBCDIC
1311 000416' 201 01 0 00 000120 MOVEI T1,AD.BKF ;NOT SPECIFIED--GET DEFAULT
1312 000417' 202 01 0 00 005464' MOVEM T1,S.BLKF ;SET IN CASE NEEDED
1313 000420' 202 01 0 00 005260' MOVEM T1,EBCKNT ;AND THE COUNTER ALSO
1314 000421' 263 17 0 00 000000 POPJ P, ;DONE
1315
1316 ;DISPATCH TABLE FOR DUMPING WORDS
1317
1318 000422' 000000 002767' DMPWRD: EXP FMTOCT ; 0--RADIX 8
1319 000423' 000000 002514' EXP O$ASCW ; 1--ASCII
1320 000424' 000000 002557' EXP O$BYTW ; 2--BYTE
1321 000425' 000000 000435' EXP E$$EIW ; 3--EBCDIC
1322 000426' 000000 003050' EXP FMTFLO ; 4--FLOAT
1323 000427' 000000 005551' EXP [HALT] ; 6--HALF (SNH)
1324 000430' 000000 001477' EXP O$HEXW ; 5--HEX
1325 000431' 000000 002735' EXP FMTINT ; 6--INTEGER
1326 000432' 000000 002767' EXP FMTOCT ; 7--OCTAL
1327 000433' 000000 002462' EXP O$SIXN ;10--SIXBIT
1328 000434' 000000 001507' EXP O$SYMW ;11--SYMBOL
1329
1330 000435' 260 17 0 00 004407' E$$EIW: ERROR. EF$FTL,EIW,<EBCDIC ILLEGAL WITHOUT /INDUSTRY>
1331 000436' 300400 005561'
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 34
DUMPR MAC 21-FEB-77 17:03 MAJOR DUMP LOOP
1332 SUBTTL MAJOR DUMP LOOP
1333
1334 000437' 365 15 0 00 000442' DUMPIT: SOJGE L,DUMP.1 ;ROOM LEFT ON LINE?
1335 000440' 260 17 0 00 001155' CALL D$NEWL ;NO--MAKE NEW LINE
1336 000441' 360 15 0 00 000000 SOJ L, ;DON'T FORGET TO COUNT WORD WE DUMP NOW
1337 000442' 200 01 0 13 000000 DUMP.1: MOVE T1,(W) ;GET A WORD
1338 000443' 260 17 0 00 000527' CALL D$WORD ;DUMP IN PROPER MODE
1339 000444' 253 13 0 00 000437' AOBJN W,DUMPIT ;DO ALL WORDS IN RECORD
1340
1341 000445' 337 00 0 00 000005 DUMP.2: SKIPG P1 ;FILES LEFT?
1342 000446' 363 06 0 00 000615' SOJLE P2,DMPEND ;YES--ANY RECORDS LEFT?
1343 000447' 260 17 0 00 003355' DUMP$G: CALL GETBUF ;NEW BUFFER FULL
1344 000450' 254 00 0 00 000600' JRST DUMPEF ;END OF FILE
1345 000451' 621 00 0 00 000100 TLZ F,FL$EOT ;CLEAR EOT FLAG--WE SAW SOME DATA
1346 000452' 260 17 0 00 004063' CALL CHKTTY ;ATTEND TO TTY IF /IFTYP
1347 000453' 254 00 0 00 000615' JRST DMPEND ;SAID TO KILL IT OFF
1348 000454' 260 17 0 00 001045' CALL RECHDR ;OUTPUT RECORD (BLOCK) HEADER
1349 000455' 603 00 0 00 140000 TLNE F,FL$SUM!FL$TOT ;/SUMMARY OR /TOTAL
1350 000456' 254 00 0 00 000445' JRST DUMP.2 ;YES--DONE WITH THIS RECORD
1351 000457' 607 00 0 00 000040 TLNN F,FL$OLY ;IS THERE A /ONLY IN EFFECT?
1352 000460' 254 00 0 00 000437' JRST DUMPIT ;CONTINUE DUMPING
1353 000461' 200 07 0 00 005312' OLYDMP: MOVE P3,ONLYLO ;GET LOW LIMIT
1354 000462' 201 01 0 07 777777 MOVEI T1,-1(P3) ;ADJUST WRDCNT
1355 000463' 272 01 0 00 005311' ADDM T1,WRDCNT ;TO REFLECT THE WORDS WE SKIPPED
1356 000464' 363 07 0 00 000467' SOJLE P3,OLYD.1 ;JUMP IF WE HAVE SKIPPED ENOUGH
1357 000465' 253 13 0 00 000464' AOBJN W,.-1 ;NO--SKIP MORE, BUT WATCH FOR END OF RECORD
1358 000466' 254 00 0 00 000447' JRST DUMP$G ;RAN OUT OF RECORD BEFORE LOW LIMIT REACHED
1359
1360 000467' 200 07 0 00 005313' OLYD.1: MOVE P3,ONLYHI ;GET UPPER LIMIT
1361 000470' 274 07 0 00 005312' SUB P3,ONLYLO ;COMPUTE # WORDS TO DUMP
1362 000471' 474 15 0 00 000000 SETO L, ;FORCE A NEW LINE FIRST TIME THROUGH
1363 000472' 365 15 0 00 000475' OLYD.2: SOJGE L,OLYD.3 ;TIME FOR NEW LINE?
1364 000473' 260 17 0 00 001155' CALL D$NEWL ;YES
1365 000474' 275 15 0 00 000001 SUBI L,1 ;COUNT WHAT WE DO NOW
1366 000475' 200 01 0 13 000000 OLYD.3: MOVE T1,(W) ;GET A WORD
1367 000476' 260 17 0 00 000527' CALL D$WORD ;DUMP IN PROPER FORMAT
1368 000477' 361 07 0 00 000445' SOJL P3,DUMP.2 ;JUMP IF DUMPED ENOUGH
1369 000500' 253 13 0 00 000472' AOBJN W,OLYD.2 ;JUMP IF MORE WORDS IN RECORD
1370 000501' 254 00 0 00 000445' JRST DUMP.2 ;END OF RECORD
1371
1372 ;HERE TO START THE DUMP
1373
1374 000502' 603 12 0 00 000004 D$DMP: TLNE DC,(DV.DIR) ;INPUT A DIRECTORY DEVICE?
1375 000503' 327 05 0 00 000525' JUMPG P1,E$$CDM ;NO FILES ALLOWED ON DIRECTORY DEVICE
1376 000504' 607 12 0 00 000020 TLNN DC,(DV.MTA) ;CHECK FOR MTA INPUT
1377 000505' 254 00 0 00 000520' JRST D$DMP1 ;NO--SKIP MESSAGE
1378 000506' 201 01 0 00 005562' MOVEI T1,[ASCIZ/[DMPIPT INITIAL POSITION OF TAPE IS FILE /]
1379 000507' 260 17 0 00 001456' CALL O$STRG ;SEND IT
1380 000510' 200 01 0 00 005305' MOVE T1,FILE ;GET FILE COUNT
1381 000511' 260 17 0 00 002474' CALL O$DECW ;SEND IIT
1382 000512' 201 01 0 00 001107' MOVEI T1,RECMS2 ;<SP>RECORD<SP>
1383 000513' 260 17 0 00 001456' CALL O$STRG
1384 000514' 200 01 0 00 005306' MOVE T1,RECORD
1385 000515' 260 17 0 00 002474' CALL O$DECW
1386 000516' 260 17 0 00 001007' CALL RBRKNL ;CLOSE INFO
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 34-1
DUMPR MAC 21-FEB-77 17:03 MAJOR DUMP LOOP
1387 000517' 260 17 0 00 003523' CALL FRCTYO ;MAKE IT SHOW IF TTY OUTPUT....KEEP USER HAPPY
1388 000520' 325 05 0 00 000447' D$DMP1: JUMPGE P1,DUMP$G ;JUMP IF FILE COUNT IS OK
1389 000521' 607 12 0 00 000020 TLNN DC,(DV.MTA) ;NO--SEE IF MTA
1390 000522' 634 05 0 00 000005 TDZA P1,P1 ;NO--MAKE SURE FILE COUNT IS ZERO
1391 000523' 525 05 0 00 377777 HRLOI P1,377777 ;YES--DO WHOLE TAPE (SEE HOLDMP)
1392 000524' 254 00 0 00 000447' JRST DUMP$G ;BEGIN TO DUMP
1393 000525' 260 17 0 00 004407' E$$CDM: ERROR. EF$FTL,CDM,<CANT DUMP MULTIPLE FILES ON DIRECTORY DEVICE>
1394 000526' 300400 005604'
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 35
DUMPR MAC 21-FEB-77 17:03 DUMP WORD ROUTINE
1395 SUBTTL DUMP WORD ROUTINE
1396
1397 000527' 607 00 0 00 004000 D$WORD: TLNN F,FL$IND ;IN /INDUSTRY MODE?
1398 000530' 254 00 1 14 000422' PJRST @DMPWRD(M) ;NO--JUST GO DUMP THE SUCKER
1399 000531' 254 00 1 14 000563' PJRST @DMPINW(M) ;YES--DO IT THAT WAY
1400
1401 ;HERE TO CONVERT IBM 360/370 FLOATING POINT WORD TO PDP10
1402
1403 000532' 322 01 0 00 003050' INDFLO: JUMPE T1,FMTFLO ;ALL DONE IF ZERO
1404 000533' 331 00 0 00 000001 SKIPL T1 ;SET NEGATIVE FLAG IF NEEDED
1405 000534' 634 03 0 00 000003 TDZA T3,T3 ;NO--FLAG POSITIVE
1406 000535' 474 03 0 00 000000 SETO T3, ;YES--REMEMBER THAT
1407 000536' 400 02 0 00 000000 SETZ T2, ;CLEAR T2
1408 000537' 245 01 0 00 000010 ROTC T1,^D8 ;SEPARATE EXPONENT AND MANTISSA
1409 000540' 275 02 0 00 000100 SUBI T2,^D64 ;COMPUTE ACTUAL FRACTION
1410 000541' 240 02 0 00 000002 ASH T2,2 ;MAKE PDP-10 EXPONENT BASE 2
1411 000542' 315 02 0 00 005605' CAMGE T2,[EXP -^D128] ;WAS IT TOO SMALL?
1412 000543' 254 00 0 00 000556' JRST TOOSML ;YES--MAKE IT SMALLEST PDP-10 WORD
1413 000544' 303 02 0 00 000177 CAILE T2,^D127 ;TOO BIG?
1414 000545' 254 00 0 00 000560' JRST TOOBIG ;YES
1415 000546' 271 02 0 00 000200 ADDI T2,^D128 ;ADD PDP EXPONENT BIAS
1416 000547' 245 01 0 00 777767 FLTROT: ROTC T1,-^D9 ;REMAKE THE NUMBER
1417 000550' 145 01 0 00 000000 FADRI T1,(0.0) ;NORMALIZE IT
1418 000551' 322 03 0 00 003050' JUMPE T3,FMTFLO ;ALL DONE IF POSITIVE
1419 000552' 250 02 0 00 000001 EXCH T2,T1 ;NEED TO NEGATE IT
1420 000553' 400 01 0 00 000000 SETZ T1, ;SO SUBTRACT IT FROM ZERO
1421 000554' 154 01 0 00 000002 FSBR T1,T2 ;..
1422 000555' 254 00 0 00 003050' JRST FMTFLO ;DUMP PDP10 FLOATING PT NUMBER
1423 000556' 400 01 0 00 000000 TOOSML: SETZ T1, ;DO ZERO IF TOO SMALL
1424 000557' 254 00 0 00 003050' JRST FMTFLO ;OUTPUT A ZERO
1425 000560' 201 01 0 00 000377 TOOBIG: MOVEI T1,377 ;MAKE LARGEST DEC10 NUMBER
1426 000561' 474 02 0 00 000000 SETO T2, ;...
1427 000562' 254 00 0 00 000547' JRST FLTROT
1428
1429 000563' 000000 003001' DMPINW: EXP FMTRDX ;OCTAL
1430 000564' 000000 002546' EXP O$IASC ;EIGHT BIT ASCII
1431 000565' 000000 002557' EXP O$BYTW ;BYTE
1432 000566' 000000 002602' EXP O$EBCW ;EBCDIC
1433 000567' 000000 000532' EXP INDFLO ;FLOATING POINT
1434 000570' 000000 005551' EXP [HALT] ;HALFWORD (SNH)
1435 000571' 000000 001476' EXP O$HEXI ;HEX
1436 EXP [ASH T1,-4 ;INTEGER--POSITION NUMBER
1437 000572' 000000 005606' JRST FMTINT] ;AND DO IT
1438 000573' 000000 003001' EXP FMTRDX ;OCTAL
1439 000574' 000000 000576' EXP E$$SWI ;SIXBIT
1440 000575' 000000 000576' EXP E$$SWI ;SYMBOL
1441
1442 000576' 260 17 0 00 004407' E$$SWI: ERROR. EF$FTL,SWI,<SIXBIT/SYMBOL WITH /INDUSTRY ILLEGAL>
1443 000577' 300400 005620'
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 36
DUMPR MAC 21-FEB-77 17:03 DUMP WORD ROUTINE
1444 ;HERE AT END OF FILE
1445
1446 000600' 607 12 0 00 000004 DUMPEF: TLNN DC,(DV.DIR) ;DIRECTORY DEVICE?
1447 000601' 663 00 0 00 000100 TLOE F,FL$EOT ;MTA--SET/CHEK EOT FLAG
1448 000602' 254 00 0 00 000615' JRST DMPEND ;DIRECTORY DEVICE OR EOT
1449 000603' 260 17 0 00 001206' CALL FILEND ;OUTPUT END OF FILE MESSAGE
1450 000604' 260 17 0 00 000205' CALL INPCLS ;CLOSE INPUT FILE
1451 IFN FT$WLD,<
1452 000605' 200 01 0 00 005511' MOVE T1,[XWD SVINOB,OPNBLK] ;RESET OPEN BLOCK
1453 000606' 251 01 0 00 005114' BLT T1,LKPBLK+.RBTIM;(COPY LKPBLK ALSO IN CASE CAN'T REOPEN)
1454 000607' 050 01 0 00 005054' OPEN INPC,OPNBLK ;GET THE DEVICE AGAIN
1455 JRST [IFE FT$SEG,<CALL UPSCN> ;CAN'T--GET HISEG IF NEEDED
1456 CALL E.DFO## ;CAN'T--REPORT ERROR
1457 000610' 254 00 0 00 005621' JRST DMPE.1] ;AND GO FINISH UP
1458 000611' 260 17 0 00 000144' CALL OPNI.A ;SETUP BUFFERS , ETC.
1459 >;END IFN FT$WLD
1460 IFE FT$WLD,<
1461 CALL OPNINP ;REOPEN INPUT FILE
1462 >;END IFE FT$WLD
1463 000612' 367 05 0 00 000447' SOJG P1,DUMP$G ;JUMP IF MORE FILES
1464 000613' 327 06 0 00 000447' JUMPG P2,DUMP$G ;OR MORE RECORDS
1465 000614' 254 00 0 00 000623' JRST DMPE.1 ;END OF DUMP
1466
1467 ;HERE AT END OF DUMP
1468
1469 000615' DMPEND:
1470 000615' 603 00 0 00 000100 TLNE F,FL$EOT ;GET HERE WITH END OF TAPE?
1471 000616' 254 00 0 00 000623' JRST DMPE.1 ;YES--DON'T OUTPUT END OF FILE MESSAGE
1472 000617' 561 01 0 00 777776 HRROI T1,FN$END ;GET END FUNCTION
1473 000620' 312 01 0 11 000000 CAME T1,(A) ;IS IT NEXT ON THE LIST
1474 JRST [CALL O$CRLF ;NO--NEW LINE
1475 000621' 254 00 0 00 005624' JRST DMPE.1] ;AND SKIP
1476 000622' 260 17 0 00 001206' CALL FILEND ;YES--OUTPUT END MESSAGE
1477 000623' 201 01 0 00 000652' DMPE.1: MOVEI T1,ENDMS1 ;FIRST PART OF MESSAGE
1478 000624' 260 17 0 00 001456' CALL O$STRG ;SEND IT
1479 000625' 200 01 0 00 005307' MOVE T1,TOTFIL ;GET # FILES DUMPED
1480 000626' 322 01 0 00 000632' JUMPE T1,DMPE.2 ;JUMP IF NONE
1481 000627' 260 17 0 00 002474' CALL O$DECW ;SEND FILES
1482 000630' 201 01 0 00 000656' MOVEI T1,ENDMS2 ;GET MESAGE
1483 000631' 260 17 0 00 001456' CALL O$STRG ;SEND IT
1484 000632' 200 01 0 00 005310' DMPE.2: MOVE T1,TOTREC ;AND RECORDS
1485 000633' 260 17 0 00 002474' CALL O$DECW ;OUTPUT THEM
1486 000634' 607 12 0 00 000020 TLNN DC,(DV.MTA) ;MTA INPUT?
1487 000635' 603 00 0 00 600000 TLNE F,FL$FOR!FL$PHY ;NO--/FORTRA OR /IREAD?
1488 000636' 334 01 0 00 005626' SKIPA T1,[EXP ENDMS3] ;MTA OR /FORTRA OR /IREAD
1489 000637' 201 01 0 00 000663' MOVEI T1,ENDMS4 ;MUST BE STRAIGHT DISK INPUT
1490 000640' 260 17 0 00 001456' CALL O$STRG ;SEND IT
1491 000641' 201 01 0 00 000665' MOVEI T1,ENDMS5 ;FINAL MESSAGE
1492 000642' 260 17 0 00 001456' CALL O$STRG ;SEND IT
1493 000643' 260 17 0 00 003523' CALL FRCTYO ;IF TTY, FORCE OUTPUT OUT TO KEEP USER HAPPY
1494 000644' 561 01 0 00 777776 HRROI T1,FN$END ;GET END FUNCTION
1495 000645' 312 01 0 11 000000 CAME T1,0(A) ;IS IT COMING UP?
1496 000646' 254 00 0 00 000354' JRST DMPLUP ;NO--BACK FOR MORE
1497 000647' 201 01 0 00 000670' MOVEI T1,ENDMSG ;YES--GET END MESSAGE
1498 000650' 260 17 0 00 001456' CALL O$STRG ;END THE WORLD
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 36-1
DUMPR MAC 21-FEB-77 17:03 DUMP WORD ROUTINE
1499 000651' 254 00 0 00 003523' PJRST FRCTYO ;RETURN, FORCING OUTPUT IF TTY
1500
1501 000652' ENDMS1: ASCIZ$ <[DMPTOT TOTAL OF >
1502 000656' ENDMS2: ASCIZ$ < FILES AND >
1503 000661' ENDMS3: ASCIZ$ < RECORDS>
1504 000663' ENDMS4: ASCIZ$ < BLOCKS>
1505 ENDMS5: ASCIZ$ < IN DUMP]
1506 >
1507 ENDMSG: ASCIZ$ <[DMPERD END OF REQUESTED DUMP]
1508 >
1509
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 37
DUMPR MAC 21-FEB-77 17:03 OUTPUT INITIAL HEADER
1510 SUBTTL OUTPUT INITIAL HEADER
1511
1512 000677' 260 17 0 00 000000* INIHDR: CALL .SAVE1## ;MIGHT AS WELL
1513 000700' 336 00 0 00 005425' SKIPN TITLEB ;WAS THERE A /TITLE?
1514 000701' 254 00 0 00 000705' JRST INIH.1 ;NO
1515 000702' 201 01 0 00 005425' MOVEI T1,TITLEB ;YES--GET ADDRESS
1516 000703' 260 17 0 00 001456' CALL O$STRG ;SEND IT
1517 000704' 260 17 0 00 001434' CALL O$CRLF ;NEW LINE
1518 000705' 260 17 0 00 001434' INIH.1: CALL O$CRLF ;AND ANOTHER
1519 000706' 201 01 0 00 000761' MOVEI T1,IMES1 ;FIRST PART OF MESSAGE
1520 000707' 260 17 0 00 001456' CALL O$STRG ;PLEASE EXCUSE THE COMMENTS
1521 000710' 201 01 0 00 001437' MOVEI T1,O$CHAR ;BUT THIS CODE IS VERY SELF-EXPLANATORY
1522 000711' 260 17 0 00 000000* CALL .TYOCH## ;SETUP MY OUTPUT ROUTINE WITH SCAN
1523 SAVE$ T1 ;REMEMBER OLD WON
1524 000713' 260 17 0 00 001011' CALL TINSPC ;TYPE OUT THE INPUT FILE SPEC
1525 000714' 607 12 0 00 000020 TLNN DC,(DV.MTA) ;IS INPUT A MAGTAPE?
1526 000715' 254 00 0 00 000743' JRST INIH.4 ;NO
1527 000716' 336 00 0 00 005304' SKIPN REELID ;YES--WAS THERE A REELID ON THE TAPE?
1528 000717' 254 00 0 00 000724' JRST INIH.3 ;NO
1529 000720' 201 01 0 00 000771' MOVEI T1,IMES5 ;GET THE MESSAGE
1530 000721' 260 17 0 00 001456' CALL O$STRG ;SEND IT
1531 000722' 200 01 0 00 005304' MOVE T1,REELID ;GET THE REELID
1532 000723' 260 17 0 00 002460' CALL O$SIXW ;SEND IT
1533 000724' 260 17 0 00 001466' INIH.3: CALL O$SPAC ;SPACE OVER
1534 000725' 201 05 0 00 000001 MOVEI P1,INPC ;GET CHANNEL
1535
1536 000726' 047 05 0 00 000112 MTCHR. P1, ;GET CHARACTERISTICS
1537 000727' 400 05 0 00 000000 SETZ P1, ;SNH
1538 000730' 602 05 0 00 000020 TRNE P1,MT.7TR ;IS IT SEVEN TRACK?
1539 000731' 334 01 0 00 005627' SKIPA T1,[EXP "7"] ;YES--SETUP
1540 000732' 201 01 0 00 000071 MOVEI T1,"9" ;NO--MUST BE 9
1541 000733' 260 17 0 00 001437' CALL O$CHAR ;SEND IT
1542 000734' 201 01 0 00 000774' MOVEI T1,IMES6 ;GET "<SP>TRACK"
1543 000735' 260 17 0 00 001456' CALL O$STRG ;SEND IT
1544 000736' 135 01 0 00 005630' LDB T1,[POINT 3,P1,35] ;GET DENSITY
1545 000737' 200 01 0 01 000777' MOVE T1,DENTBL(T1) ;GET STRING ADDRESS
1546 000740' 260 17 0 00 001456' CALL O$STRG ;TELL DENSITY
1547 000741' 201 01 0 00 000776' MOVEI T1,BPIMES ;TELL WHAT WE JUST TOLD
1548 000742' 260 17 0 00 001456' CALL O$STRG ;TELL IT
1549 000743' 201 01 0 00 000763' INIH.4: MOVEI T1,IMES2
1550 000744' 260 17 0 00 001456' CALL O$STRG
1551 000745' 260 17 0 00 000000* CALL .TDATN## ;ADD THE DATE
1552 000746' 201 01 0 00 000764' MOVEI T1,IMES3
1553 000747' 260 17 0 00 001456' CALL O$STRG
1554 000750' 260 17 0 00 000000* CALL .TTIMN## ;AND THE TIME
1555 000751' 260 17 0 00 001007' CALL RBRKNL ;NEXT LINE
1556 000752' 201 01 0 00 000765' MOVEI T1,IMES4
1557 000753' 260 17 0 00 001456' CALL O$STRG
1558 000754' 260 17 0 00 001014' CALL CMDOUT ;DUMP THE COMMAND
1559 000755' 260 17 0 00 001007' CALL RBRKNL
1560 000756' 260 17 0 00 003523' CALL FRCTYO ;FORCE OUT TO TTY IF IT IS TTY
1561 RESTR$ T1
1562 000760' 254 00 0 00 000711* PJRST .TYOCH## ;GIVE SCAN BACK ITS OUTPUT RTN
1563
1564 000761' IMES1: ASCIZ$ <[DUMP OF >
1565 000763' IMES2: ASCIZ$ < ON >
1566 000764' IMES3: ASCIZ$ < AT >
1567 000765' IMES4: ASCIZ$ <[DMPCMD COMMAND: >
1568 000771' IMES5: ASCIZ$ < - REELID=>
1569 000774' IMES6: ASCIZ$ < TRACK/>
1570 000776' BPIMES: ASCIZ$ < BPI>
1571 000777' 000000 005631' DENTBL: [ASCIZ /(DEFAULT)/]
1572 001000' 000000 005633' [ASCIZ /200/]
1573 001001' 000000 005634' [ASCIZ /556/]
1574 001002' 000000 005635' [ASCIZ /800/]
1575 001003' 000000 005636' [ASCIZ /1600/]
1576 001004' 000000 005637' [ASCIZ /6250/]
1577 001005' 000000 005640' [ASCIZ /(6)/]
1578 001006' 000000 005641' [ASCIZ /(7)/]
1579
1580 001007' 265 01 0 00 001456' RBRKNL: PJSP T1,O$STRG
1581 ASCIZ .]
1582 001010' 135 015 012 000 000 .
1583
1584 001011' 201 01 0 00 005126' TINSPC: MOVEI T1,SVINOB ;POINT TO OPEN BLOCK
1585 001012' 201 02 0 00 005131' MOVEI T2,SVINLK ;AND LOOKUP BLOCK
1586 001013' 254 00 0 00 000000* PJRST .TOLEB## ;TYPE INPUT SPEC AND RETURN
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 38
DUMPR MAC 21-FEB-77 17:03 DUMP THE COMMAND TO THE DUMP FILE
1587 SUBTTL DUMP THE COMMAND TO THE DUMP FILE
1588
1589 001014' 200 02 0 00 005642' CMDOUT: MOVE T2,[POINT 7,CMDBFR] ;INIT THE POINTER
1590 001015' 400 03 0 00 000000 SETZ T3, ;CLEAR THE HYPHEN FLAG (CONTINUED COMMANDS)
1591 001016' 134 01 0 00 000002 CMDO.1: ILDB T1,T2 ;GET A CHARACTER
1592 001017' 322 01 0 00 004307' CMDO.3: JUMPE T1,$POPJ ;?? GOT TO END ??
1593 001020' 302 01 0 00 000055 CAIE T1,"-" ;IS THIS A HYPHEN/
1594 001021' 254 00 0 00 001030' JRST CMDO.2 ;NO--CHECK FURTHER
1595 001022' 200 01 0 00 000002 MOVE T1,T2 ;YES--GET NEXT CHARACTER
1596 001023' 134 01 0 00 000001 ILDB T1,T1 ;...
1597 001024' 305 01 0 00 000040 CAIGE T1," " ;.GE. A SPACE (ROUGH APPROX OF EOL)
1598 ;THIS WOULD BE LIKE IN A DATE
1599 001025' 364 03 0 00 001016' SOJA T3,CMDO.1 ;PROBABLY EOL--FLAG AND GO
1600 001026' 201 01 0 00 000055 MOVEI T1,"-" ;PROBABLY NOT EOL--RESET HYPHEN
1601 001027' 254 00 0 00 001043' JRST CMDO.4 ;AND GO SEND IT
1602 001030' 302 01 0 00 000011 CMDO.2: CAIE T1,.CHTAB ;IS IT A TAB?
1603 001031' 301 01 0 00 000040 CAIL T1," " ;OR GE SPACE
1604 001032' 254 00 0 00 001043' JRST CMDO.4 ;YES--GO SEND TO DUMP
1605 001033' 322 03 0 00 004307' JUMPE T3,$POPJ ;IF WE HAVEN'T SEEN A "-" THEN THIS IS THE END
1606 001034' 400 03 0 00 000000 SETZ T3, ;CLEAR HYPHEN FLAG AT EOL
1607 001035' 302 01 0 00 000015 CAIE T1,.CHCRT ;IS IT A CARRIAGE RETURN?
1608 001036' 254 00 0 00 001016' JRST CMDO.1 ;NO--MUST BE ALTMODE OR SOME SUCH EOL
1609 001037' 134 01 0 00 000002 ILDB T1,T2 ;YES--GET (POSSIBLE LINEFEED)
1610 001040' 306 01 0 00 000012 CAIN T1,.CHLFD ;IS IT?
1611 001041' 254 00 0 00 001016' JRST CMDO.1 ;YES--GET NEXT CHARACTER
1612 001042' 254 00 0 00 001017' JRST CMDO.3 ;NO--GO PROCESS THIS ONE
1613 001043' 260 17 0 00 001437' CMDO.4: CALL O$CHAR ;OUTPUT CHARACTER
1614 001044' 254 00 0 00 001016' JRST CMDO.1 ;DO MORE
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 39
DUMPR MAC 21-FEB-77 17:03 OUTPUT RECORD (BLOCK) HEADER
1615 SUBTTL OUTPUT RECORD (BLOCK) HEADER
1616
1617 001045' 350 00 0 00 005306' RECHDR: AOS RECORD ;COUNT THE RECORD
1618 001046' 350 00 0 00 005310' AOS TOTREC ;AND TOTAL RECORDS
1619 001047' 603 00 0 00 040000 TLNE F,FL$TOT ;TOTALS ONLY?
1620 001050' 263 17 0 00 000000 POPJ P, ;YES--DONE
1621 001051' 201 01 0 00 000001 MOVEI T1,1 ;RESET WRDCNT
1622 001052' 200 02 0 00 005467' MOVE T2,LINRDX ;GET /LINRDX: VALUE
1623 001053' 302 02 0 00 000001 CAIE T2,LRXDEC ;IS IT /LINRDX:DEC?
1624 001054' 201 01 0 00 000000 MOVEI T1,0 ;NO--WORDS START AT ZERO
1625 001055' 202 01 0 00 005311' MOVEM T1,WRDCNT ;SO LINE #'S WILL BE RIGHT(IF NOT /OMIT)
1626 001056' 607 00 0 00 100000 TLNN F,FL$SUM ;/SUMMARY?
1627 001057' 260 17 0 00 001434' CALL O$CRLF ;NEW LINE FOR NEW RECORD
1628 001060' 260 17 0 00 001434' CALL O$CRLF ;AND ANOTHER
1629 001061' 607 12 0 00 000004 RECH.1: TLNN DC,(DV.DIR) ;DIRECTORY DEVICE?
1630 001062' 254 00 0 00 001114' JRST RECMTA ;NO--MTA
1631 001063' 201 01 0 00 001077' MOVEI T1,BLKMS1 ;YES--GET MESSAGE
1632 001064' 603 00 0 00 600000 TLNE F,FL$FOR!FL$PHY ;/FORTRA OR /IREAD?
1633 001065' 201 01 0 00 001103' MOVEI T1,BLKMS3 ;YES--DIFFERENT MESSAGE
1634 001066' 260 17 0 00 001456' CALL O$STRG
1635 001067' 200 01 0 00 005306' MOVE T1,RECORD ;GET RECORD #
1636 001070' 260 17 0 00 002474' CALL O$DECW
1637 001071' 201 01 0 00 000072 MOVEI T1,":"
1638 001072' 260 17 0 00 001437' CALL O$CHAR
1639 001073' 574 01 0 00 000013 HLRE T1,W ;GET WORD COUNT
1640 001074' 213 00 0 00 000001 MOVNS T1 ;MAKE POSITIVE
1641 001075' 260 17 0 00 002474' CALL O$DECW
1642 001076' 254 00 0 00 001131' JRST RECH.2 ;REJOIN COD
1643
1644 001077' BLKMS1: ASCIZ$ <[BLOCK >
1645 001101' BLKMS2: ASCIZ$ < WORDS>
1646 001103' BLKMS3: ASCIZ$ <[RECORD >
1647 001105' RECMS1: ASCIZ$ <[FILE >
1648 001107' RECMS2: ASCIZ$ < RECORD >
1649 001111' RECMS3: ASCIZ$ < CHARACTERS>
1650
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 40
DUMPR MAC 21-FEB-77 17:03 OUTPUT RECORD (BLOCK) HEADER
1651 001114' 201 01 0 00 001105' RECMTA: MOVEI T1,RECMS1
1652 001115' 260 17 0 00 001456' CALL O$STRG
1653 001116' 200 01 0 00 005305' MOVE T1,FILE ;FILE COUNT
1654 001117' 260 17 0 00 002474' CALL O$DECW
1655 001120' 201 01 0 00 001107' MOVEI T1,RECMS2
1656 001121' 260 17 0 00 001456' CALL O$STRG
1657 001122' 200 01 0 00 005306' MOVE T1,RECORD
1658 001123' 260 17 0 00 002474' CALL O$DECW
1659 001124' 201 01 0 00 000072 MOVEI T1,":"
1660 001125' 260 17 0 00 001437' CALL O$CHAR
1661 001126' 574 01 0 00 000013 HLRE T1,W ;WORD COUNT
1662 001127' 213 00 0 00 000001 MOVNS T1
1663 001130' 260 17 0 00 002474' CALL O$DECW
1664 001131' 201 01 0 00 001101' RECH.2: MOVEI T1,BLKMS2
1665 001132' 260 17 0 00 001456' CALL O$STRG ;SEND IT
1666 001133' 302 14 0 00 000001 CAIE M,MODASC ;/MODE:ASCII?
1667 001134' 254 00 0 00 001144' JRST RECH.3 ;NO
1668 001135' 260 17 0 00 001466' CALL O$SPAC ;SPACE ONE
1669 001136' 574 01 0 00 000013 HLRE T1,W ;YES--GET WORDS AGAIN
1670 001137' 213 00 0 00 000001 MOVNS T1
1671 001140' 221 01 0 00 000005 IMULI T1,5 ;CVT TO CHARACTERS
1672 001141' 260 17 0 00 002474' CALL O$DECW ;OUTPUT IT
1673 001142' 201 01 0 00 001111' MOVEI T1,RECMS3 ;MESSAGE
1674 001143' 260 17 0 00 001456' CALL O$STRG
1675 001144' 201 01 0 00 000135 RECH.3: MOVEI T1,"]" ;CLOSE INFO
1676 001145' 260 17 0 00 001437' CALL O$CHAR ;...
1677 001146' 603 00 0 00 100040 TLNE F,FL$OLY!FL$SUM ;ONLY IN EFFECT? (OR /SUMMARY)
1678 001147' 254 00 0 00 003523' PJRST FRCTYO ;YES--NEW LINE STUFF DONE LATER
1679 001150' 302 14 0 00 000003 CAIE M,MODEBC ;MODE EBCDIC?
1680 001151' 306 14 0 00 000001 CAIN M,MODASC ;MODE ASCII?
1681 001152' 607 00 0 00 020000 TLNN F,FL$OMI ;ASCII OR EBCDIC--AND /OMIT?
1682 001153' 254 00 0 00 001155' JRST D$NEWL ;NO--DO NEW LINE THING
1683 001154' 254 00 0 00 001434' PJRST O$CRLF ;YES--NEW LINE AND RETURN
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 41
DUMPR MAC 21-FEB-77 17:03 OUTPUT RECORD (BLOCK) HEADER
1684 ;HERE TO DO WRDCNT AT BEGINNING OF LINE
1685
1686 001155' 302 14 0 00 000001 D$NEWL: CAIE M,MODASC ;IF /MODE:ASCII
1687 001156' 306 14 0 00 000003 CAIN M,MODEBC ;OR /MODE:EBCDIC
1688 001157' 607 00 0 00 020000 TLNN F,FL$OMI ;RIGHT--AND /OMIT?
1689 001160' 260 17 0 00 001434' CALL O$CRLF ;NO--NEW LINE
1690 001161' 603 00 0 00 020000 TLNE F,FL$OMI ;/OMIT?
1691 001162' 254 00 0 00 001172' JRST D$NEW2 ;YES--SKIP A LITTLE
1692 001163' 200 01 0 00 005311' MOVE T1,WRDCNT ;GET THE WORD COUNT
1693 001164' 200 03 0 00 005467' MOVE T3,LINRDX ;GET SPECIFIED LINE # RADIX
1694 001165' 200 16 0 03 001177' MOVE Q,LNOWID-1(T3) ;SETUP Q TO THE WIDTH
1695 001166' 200 04 0 03 001174' MOVE T4,LNORDX-1(T3) ;AND THE RADIX
1696 001167' 260 17 1 03 001202' CALL @LNODSP-1(T3) ;DO LINE NO IN SPECIFIED RADIX
1697 001170' 201 01 0 00 000057 MOVEI T1,"/" ;END THE LINE #
1698 001171' 260 17 0 00 001437' CALL O$CHAR ;(EACH FORMAT DOES A SPACE FIRST)
1699 ;(SO WE DON'T NEED ONE AFTER THE SLASH)
1700 001172' 260 17 0 00 001270' D$NEW2: CALL D$MSET ;RESET L AND Q
1701 001173' 272 15 0 00 005311' ADDM L,WRDCNT ;UPDATE WRDCNT FOR NEXT LINE
1702 001174' 263 17 0 00 000000 POPJ P,
1703
1704 ;TABLE OF LINE # (WORD COUNT) RADICES
1705
1706 001175' 000000 000012 LNORDX: EXP ^D10 ;
1707 001176' 000000 000020 EXP ^D16
1708 001177' 000000 000010 EXP ^D8
1709
1710 ;WIDTHS OF LINE #S IN SPECIFIED RADIX
1711
1712 001200' 000000 000006 LNOWID: EXP ^D6
1713 001201' 000000 000007 EXP ^D7
1714 001202' 000000 000010 EXP ^D8
1715
1716 001203' 000000 002735' LNODSP: EXP FMTINT ;INTEGER
1717 001204' 000000 003002' EXP FMTR.1 ;HEX
1718 001205' 000000 003002' EXP FMTR.1 ;OCTAL
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 42
DUMPR MAC 21-FEB-77 17:03 OUTPUT END OF FILE MESSAGE
1719 SUBTTL OUTPUT END OF FILE MESSAGE
1720
1721 001206' FILEND:
1722 001206' 607 00 0 00 040000 TLNN F,FL$TOT ;UNLESS /TOTAL
1723 001207' 260 17 0 00 001434' CALL O$CRLF ;NEED NEW LINE
1724 001210' 607 12 0 00 000020 TLNN DC,(DV.MTA) ;IS IT MAGTAPE?
1725 001211' 603 00 0 00 600000 TLNE F,FL$FOR!FL$PHY ;DSK--FORTRAN OR PHYSICS?
1726 001212' 334 01 0 00 005643' SKIPA T1,[FILMS1] ;MTA OR FORTRAN/IREAD
1727 001213' 201 01 0 00 001253' MOVEI T1,FILMS3 ;JUST STRAIGHT DISK INPUT
1728 001214' 260 17 0 00 001456' CALL O$STRG
1729 001215' 200 01 0 00 005306' MOVE T1,RECORD ;RECORDS
1730 001216' 260 17 0 00 002474' CALL O$DECW ;...
1731 001217' 607 12 0 00 000020 TLNN DC,(DV.MTA) ;MTA INPUT?
1732 001220' 603 00 0 00 600000 TLNE F,FL$FOR!FL$PHY ;DSK--IS IT FORTRAN OR IREAD?
1733 001221' 334 01 0 00 005644' SKIPA T1,[FILMS2] ;MTA OR RECORD-ORIENDTED DISK INPUT
1734 001222' 201 01 0 00 001255' MOVEI T1,FILMS4 ;DISK BLOCK ORIENTED
1735 001223' 260 17 0 00 001456' CALL O$STRG
1736 001224' 200 01 0 00 005305' MOVE T1,FILE
1737 001225' 260 17 0 00 002474' CALL O$DECW
1738 001226' 201 01 0 00 000763' MOVEI T1,IMES2 ;"<SP>ON<SP>"
1739 001227' 260 17 0 00 001456' CALL O$STRG
1740 001230' 201 01 0 00 001437' MOVEI T1,O$CHAR
1741 001231' 260 17 0 00 000760* CALL .TYOCH##
1742 SAVE$ T1
1743 001233' 260 17 0 00 001011' CALL TINSPC ;TYPE OUT THE INPUT FILE SPEC.
1744 RESTR$ T1
1745 001235' 260 17 0 00 001231* CALL .TYOCH##
1746 001236' 260 17 0 00 001007' CALL RBRKNL
1747 001237' 402 00 0 00 005306' SETZM RECORD ;MOVING ALONG
1748 001240' 607 12 0 00 000020 TLNN DC,(DV.MTA) ;ONLY MTA HAS MULTIPLE FILES
1749 001241' 254 00 0 00 003523' PJRST FRCTYO ;SO DON'T MESS UP THE TOTALS NOW
1750 001242' 350 00 0 00 005305' AOS FILE
1751 001243' 350 00 0 00 005307' AOS TOTFIL
1752 001244' 254 00 0 00 003523' PJRST FRCTYO ;FORCE OUTPUT IF TTY OUTPUT
1753
1754 001245' FILMS1: ASCIZ$ <[DMPRIF >
1755 001247' FILMS2: ASCIZ$ < RECORDS IN FILE >
1756 001253' FILMS3: ASCIZ$ <[DMPBIF >
1757 001255' FILMS4: ASCIZ$ < BLOCKS IN FILE >
1758
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 43
DUMPR MAC 21-FEB-77 17:03 /MODE -- SETUP CHARS/WORD AND WORDS/LINE
1759 SUBTTL /MODE -- SETUP CHARS/WORD AND WORDS/LINE
1760
1761 001261' 200 14 0 00 000006 D$MOD: MOVE M,P2 ;SET M TO THE MODE
1762 001262' 306 14 0 00 000002 CAIN M,MODBYT ;IS THIS /MODE:BYTE?
1763 001263' 254 00 0 00 001362' JRST D$MBYT ;YES--SET IT UP
1764 001264' 306 14 0 00 000005 CAIN M,MODHAL ;SEE IF /MODE:HALF
1765 001265' 254 00 0 00 001427' JRST D$MHLF ;YES--SETUP
1766 001266' 260 17 0 00 001270' CALL D$MSET ;SETUP L AND Q
1767 001267' 254 00 0 00 000354' JRST DMPLUP ;CONTINUE
1768
1769 ;HERE TO SET MODE--CALLED AT END OF LINE TO RESET L AND Q
1770
1771 001270' 306 14 0 00 000002 D$MSET: CAIN M,MODBYT ;/MODE:BYTE?
1772 001271' 254 00 0 00 001305' JRST MSETBY ;YES--DO IT
1773 001272' 260 17 0 00 001310' CALL GETWID ;GET THE WIDTH REQUIRED FOR THE DUMP
1774 001273' 603 00 0 00 004000 TLNE F,FL$IND ;/INDUSTRY?
1775 001274' 334 16 0 14 001347' SKIPA Q,MODTBI(M) ;YES--GET RIGHT SIZE FOR THAT
1776 001275' 200 16 0 14 001334' MOVE Q,MODTBL(M) ;GET WIDTH OF ONE WORDS' WORTH
1777 001276' 603 00 0 00 000004 TLNE F,FL$RDX ;/RADIX IN EFFECT?
1778 001277' 200 16 0 00 005474' MOVE Q,USRWID ;YES--GET COMPUTED WORD WIDTH
1779 001300' 231 01 0 16 000000 IDIVI T1,(Q) ;COMPUTE WORDS/LINE
1780 001301' 336 00 0 00 000002 SKIPN T2 ;IF A ZERO REMAINDER
1781 001302' 275 01 0 00 000001 SUBI T1,1 ;MUST SUBTRACT ONE--80 CPL DOES A FREE CRLF
1782 001303' 550 15 0 00 000001 HRRZ L,T1 ;PUT IN L FOR COUNTING
1783 001304' 263 17 0 00 000000 POPJ P,
1784 001305' 200 15 0 00 005300' MSETBY: MOVE L,BYTBPL ;GET BYTES/LINE
1785 001306' 200 16 0 00 005276' MOVE Q,BYTDPB ;AND DIGITS/BYTE
1786 001307' 263 17 0 00 000000 POPJ P,
1787
1788 001310' 606 12 0 00 000010 GETWID: TRNN DC,(DV.TTY) ;IS DUMP TO THE TTY?
1789 001311' 254 00 0 00 001325' JRST GETW.1 ;NO--
1790 001312' 333 01 0 00 005475' SKIPLE T1,FLWIDT ;WAS /WIDTH GIVEN (OR IS THIS 1ST TIME?)
1791 001313' 254 00 0 00 001327' JRST GETW.2 ;GOT IT--GO AHEAD
1792 001314' 200 01 0 00 005645' MOVE T1,[XWD 2,T2] ;SETUP TO DO A TRMOP
1793 001315' 201 02 0 00 001012 MOVEI T2,.TOWID ;GET THE WIDTH FUNCTION
1794 001316' 047 03 0 00 000030 PJOB T3, ;FIND MY JOB #
1795 001317' 047 03 0 00 000115 TRMNO. T3, ;TO FIND TTY UDX
1796 001320' 334 00 0 00 000000 SKIPA ;CAN'T--JUST USE DEFAULT AD.WID
1797 001321' 047 01 0 00 000116 TRMOP. T1, ;READ TTY WIDTH SETTING
1798 001322' 201 01 0 00 000120 MOVEI T1,AD.WID ;CAN'T FOR SOME REASON--USE A GOOD DEFAULT
1799 001323' 202 01 0 00 005475' MOVEM T1,FLWIDT ;SET FOR LATER USE
1800 001324' 254 00 0 00 001327' JRST GETW.2 ;JUMP IN TO COMMON CODE
1801 001325' 337 01 0 00 005475' GETW.1: SKIPG T1,FLWIDT ;NOT TTY--WAS /WIDTH GIVEN/
1802 001326' 201 01 0 00 000204 MOVEI T1,MX.WID ;NO--USE ^D132
1803 001327' 603 00 0 00 020000 GETW.2: TLNE F,FL$OMI ;OMITTING LINE NUMBERS?
1804 001330' 263 17 0 00 000000 POPJ P, ;YES--DONE
1805 001331' 200 02 0 00 005467' MOVE T2,LINRDX ;NO--GET LINE RADIX
1806 001332' 274 01 0 02 001177' SUB T1,LNOWID-1(T2) ;UNCOUNT WHAT WE WILL EAT FOR WORD COUNT
1807 001333' 263 17 0 00 000000 POPJ P, ;RETURN
1808
1809 001334' 000000 000015 MODTBL: EXP ^D13 ;OCTAL
1810 001335' 000000 000006 EXP ^D6 ;ASCII
1811 001336' 777777 777777 EXP -1 ;BYTYE
1812 001337' 000000 000005 EXP ^D5 ;EBCDIC
1813 001340' 000000 000017 EXP ^D15 ;FLOAT
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 43-1
DUMPR MAC 21-FEB-77 17:03 /MODE -- SETUP CHARS/WORD AND WORDS/LINE
1814 001341' 777777 777777 EXP -1 ;HALF
1815 001342' 000000 000012 EXP ^D10 ;HEX
1816 001343' 000000 000016 EXP ^D14 ;INTEGER
1817 001344' 000000 000015 EXP ^D13 ;OCTAL
1818 001345' 000000 000007 EXP ^D7 ;SIXBIT
1819 001346' 000000 000030 EXP ^D24 ;SYMBOL
1820
1821 001347' 000000 000014 MODTBI: EXP ^D12 ;OCTAL
1822 001350' 000000 000005 EXP ^D5 ;ASCII
1823 001351' 777777 777777 EXP -1 ;BYTE
1824 001352' 000000 000005 EXP ^D5 ;EBCDIC
1825 001353' 000000 000017 EXP ^D15 ;FLOATING POINT
1826 001354' 777777 777777 EXP -1 ;HALF
1827 001355' 000000 000011 EXP ^D9 ;HEX
1828 001356' 000000 000014 EXP ^D12 ;INTEGER
1829 001357' 000000 000014 EXP ^D12 ;INTEGER
1830 001360' 777777 777777 EXP -1 ;SIXBIT
1831 001361' 777777 777777 EXP -1 ;SYMBOL
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 44
DUMPR MAC 21-FEB-77 17:03 /MODE -- SETUP FOR /MODE:BYTE
1832 SUBTTL /MODE -- SETUP FOR /MODE:BYTE
1833
1834 001362' 205 02 0 00 440000 D$MBYT: MOVSI T2,(POINT) ;BEGIN TO FORM BYTE PTR
1835 001363' 541 02 0 00 000005 HRRI T2,P1 ;WILL LOAD FROM P1
1836 001364' 137 05 0 00 005646' DPB P1,[POINT 6,T2,11] ;SET SIZE IN
1837 001365' 202 02 0 00 005273' MOVEM T2,BYTPTR ;SAVE FOR LATER
1838 001366' 603 00 0 00 004000 TLNE F,FL$IND ;/INDUSTRY?
1839 001367' 334 01 0 00 005647' SKIPA T1,[EXP ^D32] ;YES
1840 001370' 201 01 0 00 000044 MOVEI T1,^D36 ;NO--FULL WORD
1841 001371' 231 01 0 05 000000 IDIVI T1,(P1) ;GET BYTES/WORD
1842 001372' 202 01 0 00 005274' MOVEM T1,BYTBPW ;...
1843 001373' 202 02 0 00 005275' MOVEM T2,BYTREM ;SAVE REMAINDER BYTES ALSO
1844 001374' 200 01 0 00 000005 MOVE T1,P1 ;COPY SIZE
1845 001375' 260 17 0 00 001417' CALL GMBWID ;GET THE WIDTH FOR A BYTE
1846 001376' 202 01 0 00 005276' MOVEM T1,BYTDPB ;SAVE FOR LATER
1847 001377' 200 01 0 00 005274' MOVE T1,BYTBPW ;GET BYTES/WORD
1848 001400' 220 01 0 00 005276' IMUL T1,BYTDPB ;TIMES DIGITS/BYTE
1849 001401' 270 01 0 00 005274' ADD T1,BYTBPW ;+ SLASHES AND SPACE
1850 001402' 202 01 0 00 005277' MOVEM T1,BYTWID ;= WIDTH OF WORD OF BYTES
1851 001403' 336 01 0 00 005275' SKIPN T1,BYTREM ;WAS THERE A REMAINDER?
1852 001404' 254 00 0 00 001411' JRST D$MBY1 ;NO
1853 001405' 260 17 0 00 001417' CALL GMBWID ;GET WIDTH OF THAT
1854 001406' 340 01 0 00 000000 AOJ T1, ;COUNT THE COMMA TOO
1855 001407' 272 01 0 00 005277' ADDM T1,BYTWID ;ADD INTO WIDTH
1856 001410' 202 01 0 00 005301' MOVEM T1,BYTRDB ;SAVE FOR LATER USE
1857 001411' 260 17 0 00 001310' D$MBY1: CALL GETWID ;GET THE WIDTH TO USE FOR OUTPUT
1858 001412' 230 01 0 00 005277' IDIV T1,BYTWID ;TO GET WORDS/LINE
1859 001413' 202 01 0 00 005300' MOVEM T1,BYTBPL ;SAVE BYTES/LINE
1860 001414' 200 15 0 00 000001 MOVE L,T1 ;COPY
1861 001415' 350 00 0 00 005276' AOS BYTDPB ;+1 SO FMTRDX WORKS
1862 001416' 254 00 0 00 000354' JRST DMPLUP ;CONTINUE
1863
1864 ;HERE WITH T1=BYTE SIZE
1865 ;RETURN T1=DIGITS REQUIRED TO DISPLAY IT. USES T2,T3
1866
1867 001417' 200 03 0 00 005473' GMBWID: MOVE T3,USERDX ;GET /RADIX:N OR 8
1868 001420' 400 02 0 00 000000 SETZ T2, ;ZERO POWER OF TWO COUNT
1869 001421' 242 03 0 00 777777 LSH T3,-1 ;DIVIDE BY TWO
1870 001422' 332 00 0 00 000003 SKIPE T3 ;DONE?
1871 001423' 344 02 0 00 001421' AOJA T2,.-2 ;NO--LOOP AROUND
1872 001424' 231 01 0 02 000000 IDIVI T1,(T2) ;YES--COMPUTE DIGITS REQUIRED
1873 001425' 322 02 0 00 004307' JUMPE T2,$POPJ ;JUMP IF ALL IS WELL
1874 001426' 344 01 0 00 004307' AOJA T1,$POPJ ;NO--NEED ONE MORE DIGIT--SO DO IT
1875
1876 ;HERE FOR /MODE:HALF SETUP
1877
1878 001427' 201 05 0 00 000022 D$MHLF: MOVEI P1,^D18 ;SETUP THE BYTE SIZE
1879 001430' 603 00 0 00 004000 TLNE F,FL$IND ;SEE IF /INDUSTRY
1880 001431' 201 05 0 00 000020 MOVEI P1,^D16 ;YES--DIFFERENT SIZE
1881 001432' 201 14 0 00 000002 MOVEI M,MODBYT ;SETUP M TO BYTE MODE
1882 001433' 254 00 0 00 001362' JRST D$MBYT ;DO BYTE SETUP
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 45
DUMPR MAC 21-FEB-77 17:03 DUMP FILE OUTPUT ROUTINES
1883 SUBTTL DUMP FILE OUTPUT ROUTINES
1884
1885 ;O$CRLF -- OUTPUT CRLF TO DUMP FILE
1886
1887 001434' 201 01 0 00 000015 O$CRLF: MOVEI T1,.CHCRT ;CARRIAGE RETURN
1888 001435' 260 17 0 00 001437' CALL O$CHAR ;DUMP IT
1889 001436' 201 01 0 00 000012 MOVEI T1,.CHLFD ;LINED FEED
1890 ;FALL INTO O$CHAR TO SEND LINEFEED
1891
1892 ;O$CHAR -- OUTPUT CHARACTER IN T1 TO DUMP FILE
1893
1894 001437' 377 00 0 00 005271' O$CHAR: SOSG OBHR+.BFCTR ;ROOM IN THE BUFFER?
1895 001440' 254 00 0 00 001445' JRST O$BUFR ;NO--MAKE SOME
1896 001441' 136 01 0 00 005270' O$CHR1: IDPB T1,OBHR+.BFPTR ;STORE CHARACTER
1897 001442' 661 00 0 00 000001 TLO F,FL$ODN ;WE HAVE DONE SOME OUTPUT
1898 001443' 350 00 0 00 005167' AOS CHRKNT ;COUNT FOR PEOPLE WHO NEED IT
1899 001444' 263 17 0 00 000000 POPJ P,
1900 001445' 260 17 0 00 000000* O$BUFR: CALL .PSH4T## ;PRESERVE T1-4 (XCTIO USES T2 AT LEAST)
1901 001446' 260 17 0 00 004205' CALL XCTIO ;WRITE A BUFFER
1902 001447' 057 02 0 00 000000 OUT OUTC, ;XCT'D
1903 001450' 334 00 0 00 000000 SKIPA ;?? DEVICE IS FULL OR EOT ??
1904 JRST [PUSHJ P,.POP4T## ;RESTORE REGS
1905 001451' 254 00 0 00 005650' JRST O$CHR1] ;AND CONTINUE
1906 001452' 260 17 0 00 004407' ERROR. EF$ERR,ODF,<OUTPUT DEVICE IS FULL>
1907 001453' 300000 005657'
1908 001454' 260 17 0 00 000224' CALL OUTCLS ;TRY TO PRESERVE WHAT WE CAN
1909 001455' 254 00 0 00 004475' PJRST ERRFTL ;GO DIE
1910
1911 ;O$STRG -- OUTPUTS ASCIZ STRING POINTED TO BY T1 TO DUMP FILE
1912
1913 001456' 505 01 0 00 440700 O$STRG: HRLI T1,(POINT 7) ;FORM PTR
1914 001457' 261 17 0 00 000001 PUSH P,T1 ;SAVE ON PDL
1915 001460' 134 01 0 17 000000 O$STR1: ILDB T1,(P) ;GET CHAR
1916 001461' 322 01 0 00 004367' JUMPE T1,TPOPJ ;JUMP IS END OF STRING
1917 001462' 260 17 0 00 001437' CALL O$CHAR ;WRITE THE CHARACTER
1918 001463' 254 00 0 00 001460' JRST O$STR1 ;LOOP
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 46
DUMPR MAC 21-FEB-77 17:03 DUMP FILE OUTPUT ROUTINES
1919 ;O$SPEC -- OUTPUT SPACE IF NOT /OMIT
1920 ;O$SPAC -- OUTPUT A SPACE
1921 ;O$DOT -- OUTPUT A DOT
1922 ;O$SLSH -- OUTPUT A SLASH
1923 ;O$TABC -- OUTPUT A TAB
1924 ;O$COMA -- OUTPUT A COMMA
1925
1926 001464' 603 00 0 00 020000 O$SPEC: TLNE F,FL$OMI ;/OMIT?
1927 001465' 263 17 0 00 000000 POPJ P, ;YES
1928 001466' 334 01 0 00 005647' O$SPAC: SKIPA T1,[EXP " "] ;DO A SPACE
1929 001467' 201 01 0 00 000056 O$DOT: MOVEI T1,"." ;DO A DOT
1930 001470' 254 00 0 00 001437' PJRST O$CHAR
1931 001471' 334 01 0 00 005660' O$TABC: SKIPA T1,[EXP " "] ;GET A TAB
1932 001472' 201 01 0 00 000057 O$SLSH: MOVEI T1,"/" ;GET ONE
1933 001473' 254 00 0 00 001437' PJRST O$CHAR ;AND SEND IT
1934 001474' 201 01 0 00 000054 O$COMA: MOVEI T1,"," ;GET A COMMA
1935 001475' 254 00 0 00 001437' PJRST O$CHAR ;SEND IT
1936
1937 ;O$HEXW --OUTPUT 36 BIT HEX WORD
1938 ;O$HEXI -- OUTPUT 32 BIT HEX WORD (INDUSTRY)
1939
1940 001476' 334 03 0 00 005661' O$HEXI: SKIPA T3,[DEC 8] ;8 HEX CHARS
1941 001477' 201 03 0 00 000011 O$HEXW: MOVEI T3,^D9 ;9 HEX CHARS
1942 001500' 200 02 0 00 000001 MOVE T2,T1 ;POSITION NUMBER
1943 001501' 260 17 0 00 001466' CALL O$SPAC ;SPACE OVER A CHARACTER
1944 001502' 400 01 0 00 000000 O$HEX1: SETZ T1, ;CLEAR RESULT
1945 001503' 246 01 0 00 000004 LSHC T1,4 ;GET A HEX DIGIT
1946 001504' 260 17 0 00 002510' CALL O$DIGT ;OUTPUT IT
1947 001505' 367 03 0 00 001502' SOJG T3,O$HEX1 ;DO 8 OR 9
1948 001506' 263 17 0 00 000000 POPJ P,
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 47
DUMPR MAC 21-FEB-77 17:03 SYMBOLIC OUTPUT
1949 SUBTTL SYMBOLIC OUTPUT
1950
1951 ;HERE TO OUTPUT WORD IN T1 IN SYMBOLIC FORMAT
1952
1953 001507' O$SYMW:
1954 IFE FT$ISD,<
1955 ERROR. EF$FTL,SNI,<SYMBOLIC DUMP NOT IMPLEMENTED>
1956 >;END IFE FT$ISD
1957 IFN FT$ISD,<
1958 001507' 260 17 0 00 000677* CALL .SAVE1## ;SAVE P1
1959 001510' 200 05 0 00 000001 MOVE P1,T1 ;COPY WORD
1960 001511' 260 17 0 00 001466' CALL O$SPAC ;SPACE OVER
1961 001512' 402 00 0 00 005167' SETZM CHRKNT ;CLEAR COUNTER
1962 001513' 135 01 0 00 005662' LDB T1,[POINT 9,P1,8];GET OP CODE
1963 001514' 301 01 0 00 000700 CAIL T1,700 ;SEE IF DIRECT I/O INSTR
1964 001515' 254 00 0 00 001572' JRST DIOIOW ;YES--GO DO IT
1965 001516' 305 01 0 00 000040 CAIGE T1,40 ;SEE IF LUUO
1966 001517' 254 00 0 00 001556' JRST UUOIOW ;YES--GO DO THAT
1967 001520' 200 01 0 01 001560' MOVE T1,MNETBL-40(T1);NO--GET OPCODE
1968 001521' 260 17 0 00 002460' CALL O$SIXW ;SHOW IT
1969 001522' 260 17 0 00 001466' OSYM.2: CALL O$SPAC ;GET A SPACE
1970 001523' 260 17 0 00 001466' CALL O$SPAC ;AND ONE MORE
1971 001524' 135 01 0 00 005663' LDB T1,[POINT 4,P1,12] ;GET AC FIELD
1972 001525' 322 01 0 00 001530' OSYM2A: JUMPE T1,OSYM.4 ;JUMP IF 0
1973 001526' 260 17 0 00 002473' CALL O$OCTW ;SHOW IT
1974 001527' 260 17 0 00 001474' CALL O$COMA ;AND A COMMA
1975 001530' 201 01 0 00 000100 OSYM.4: MOVEI T1,"@" ;IN CASE INDIRECTION NEEDED
1976 001531' 603 05 0 00 000020 TLNE P1,(1B13) ;CHECK IF SO
1977 001532' 260 17 0 00 001437' CALL O$CHAR ;SEND THE INDIRECT BIT
1978 001533' 550 01 0 00 000005 HRRZ T1,P1 ;GET RH 18 BITS
1979 001534' 260 17 0 00 002473' CALL O$OCTW ;SEND IT
1980 001535' 135 01 0 00 005664' LDB T1,[POINT 4,P1,17] ;SEE IF INDEX FIELD
1981 001536' 322 01 0 00 001546' JUMPE T1,OSYM.6 ;JUMP IF NO INDEX
1982 001537' 261 17 0 00 000001 PUSH P,T1 ;SAVE INDEX
1983 001540' 201 01 0 00 000050 MOVEI T1,"(" ;START INDEX FIELD
1984 001541' 260 17 0 00 001437' CALL O$CHAR ;SEND IT
1985 001542' 262 17 0 00 000001 POP P,T1 ;GET INDEX FIELD
1986 001543' 260 17 0 00 002473' CALL O$OCTW ;SEND IT
1987 001544' 201 01 0 00 000051 MOVEI T1,")" ;CLOSE INDEX
1988 001545' 260 17 0 00 001437' CALL O$CHAR ;SEND IT
1989 001546' 200 01 0 00 005167' OSYM.6: MOVE T1,CHRKNT ;GET COUNT TO HERE
1990 001547' 275 01 0 00 000027 SUBI T1,^D23 ;THIS MANY CHARS IN FULL INSTR
1991 001550' 325 01 0 00 004307' JUMPGE T1,$POPJ ;JUMP IF NO PADDING NEEDED
1992 001551' 261 17 0 00 000001 PUSH P,T1 ;NO--SAVE AMT NEEDED
1993 001552' 260 17 0 00 001466' CALL O$SPAC ;SEND ONE
1994 001553' 355 00 0 17 000000 AOSGE (P) ;SEE IF DONE
1995 001554' 254 00 0 00 001552' JRST .-2 ;NO--DO MORE
1996 001555' 254 00 0 00 004367' JRST TPOPJ ;CLEAR PDL AND RETURN
1997
1998 ;HERE IF UUO IS 0-40
1999
2000 001556' 322 01 0 00 001567' UUOIOW: JUMPE T1,UUO000 ;JUMP IF ILL UUO
2001 001557' 201 01 0 00 005665' MOVEI T1,[ASCIZ/UUO/]
2002 001560' 260 17 0 00 001456' CALL O$STRG ;SEND UUO
2003 001561' 135 02 0 00 005662' LDB T2,[POINT 9,P1,8] ;GET OP CODE
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 47-1
DUMPR MAC 21-FEB-77 17:03 SYMBOLIC OUTPUT
2004 001562' 207 00 0 00 000002 MOVSS T2 ;MOVE TO LH
2005 001563' 242 02 0 00 000011 LSH T2,^D9 ;PUT TO HIGH 9 BITS
2006 001564' 201 03 0 00 000003 MOVEI T3,3 ;TYPE 3 OCTAL DIGITS
2007 001565' 260 17 0 00 002774' CALL FMTO.1 ;TYPE THEM
2008 001566' 254 00 0 00 001522' JRST OSYM.2 ;CONTINUE
2009
2010 001567' 205 01 0 00 720000 UUO000: MOVSI T1,'Z ' ;GET A SIXBIT "Z"
2011 001570' 260 17 0 00 002460' CALL O$SIXW ;SEND SIXBIT (WILL SEND NULLS AS BLANKS)
2012 001571' 254 00 0 00 001522' PJRST OSYM.2 ;CONTINUE
2013
2014 ;HERE FOR DIRECT I/O INSTRS
2015
2016 001572' 135 01 0 00 005666' DIOIOW: LDB T1,[POINT 3,P1,12] ;GET 3 BITS THAT TELL THE TALE
2017 001573' 200 01 0 01 001610' MOVE T1,IOINTB(T1) ;GET THE SIXBIT FOR IT
2018 001574' 260 17 0 00 002460' CALL O$SIXW ;TYPE IT OUT
2019 001575' 260 17 0 00 001466' CALL O$SPAC ;AND THEN TWO SPACES
2020 001576' 260 17 0 00 001466' CALL O$SPAC ;...
2021 001577' 135 01 0 00 005667' LDB T1,[POINT 7,P1,9] ;GET DEVICE CODE
2022 001600' 254 00 0 00 001525' JRST OSYM2A ;GO JUMP INTO THE PROCESSING
2023
2024 001601' 554 01 0 00 000005 SYMXWD: HLRZ T1,P1 ;GET LH
2025 001602' 260 17 0 00 002473' CALL O$OCTW ;SHOW LH
2026 001603' 201 01 0 00 005670' MOVEI T1,[ASCIZ/,,/] ;SOME COMMAS
2027 001604' 260 17 0 00 001456' CALL O$STRG
2028 001605' 550 01 0 00 000005 HRRZ T1,P1 ;GET RH
2029 001606' 260 17 0 00 002473' CALL O$OCTW ;SHOW RH
2030 001607' 254 00 0 00 001546' JRST OSYM.6 ;GO FINISH UP
2031
2032 001610' 42 54 53 51 00 00 IOINTB: SIXBIT /BLKI/
2033 001611' 44 41 64 41 51 00 SIXBIT /DATAI/
2034 001612' 42 54 53 57 00 00 SIXBIT /BLKO/
2035 001613' 44 41 64 41 57 00 SIXBIT /DATAO/
2036 001614' 43 57 56 57 00 00 SIXBIT /CONO/
2037 001615' 43 57 56 51 00 00 SIXBIT /CONI/
2038 001616' 43 57 56 63 72 00 SIXBIT /CONSZ/
2039 001617' 43 57 56 63 57 00 SIXBIT /CONSO/
2040
2041 ;SIXBIT TABLE OF INSTR MNENOMICS
2042
2043 DEFINE X(A)<IRP A,<SIXBIT/A/>>
2044
2045 001620' MNETBL:
2046 001620' 43 41 54 54 00 00 X (<CALL ,INIT ,UUO042,UUO043,UUO044,UUO045,UUO046,CALLI ,OPEN ,TTCALL>)
2047 001621' 51 56 51 64 00 00
2048 001622' 65 65 57 20 24 22
2049 001623' 65 65 57 20 24 23
2050 001624' 65 65 57 20 24 24
2051 001625' 65 65 57 20 24 25
2052 001626' 65 65 57 20 24 26
2053 001627' 43 41 54 54 51 00
2054 001630' 57 60 45 56 00 00
2055 001631' 64 64 43 41 54 54
2056 001632' 65 65 57 20 25 22 X (<UUO052,UUO053,UUO054,RENAME,IN ,OUT ,SETSTS,STATO ,GETSTS,STATZ >)
2057 001633' 65 65 57 20 25 23
2058 001634' 65 65 57 20 25 24
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 47-2
DUMPR MAC 21-FEB-77 17:03 SYMBOLIC OUTPUT
2059 001635' 62 45 56 41 55 45
2060 001636' 51 56 00 00 00 00
2061 001637' 57 65 64 00 00 00
2062 001640' 63 45 64 63 64 63
2063 001641' 63 64 41 64 57 00
2064 001642' 47 45 64 63 64 63
2065 001643' 63 64 41 64 72 00
2066 001644' 51 56 42 65 46 00 X (<INBUF ,OUTBUF,INPUT ,OUTPUT,CLOSE ,RELEAS,MTAPE ,UGETF ,USETI ,USETO >)
2067 001645' 57 65 64 42 65 46
2068 001646' 51 56 60 65 64 00
2069 001647' 57 65 64 60 65 64
2070 001650' 43 54 57 63 45 00
2071 001651' 62 45 54 45 41 63
2072 001652' 55 64 41 60 45 00
2073 001653' 65 47 45 64 46 00
2074 001654' 65 63 45 64 51 00
2075 001655' 65 63 45 64 57 00
2076 001656' 54 57 57 53 65 60 X (<LOOKUP,ENTER ,UJEN ,UUO101,UUO102,UUO103,UUO104,UUO105,UUO106,UUO107>)
2077 001657' 45 56 64 45 62 00
2078 001660' 65 52 45 56 00 00
2079 001661' 65 65 57 21 20 21
2080 001662' 65 65 57 21 20 22
2081 001663' 65 65 57 21 20 23
2082 001664' 65 65 57 21 20 24
2083 001665' 65 65 57 21 20 25
2084 001666' 65 65 57 21 20 26
2085 001667' 65 65 57 21 20 27
2086 001670' 44 46 41 44 00 00 X (<DFAD ,DFSB ,DFMP ,DFDV ,UUO114,UUO115,UUO116,UUO117,DMOVE ,DMOVN >)
2087 001671' 44 46 63 42 00 00
2088 001672' 44 46 55 60 00 00
2089 001673' 44 46 44 66 00 00
2090 001674' 65 65 57 21 21 24
2091 001675' 65 65 57 21 21 25
2092 001676' 65 65 57 21 21 26
2093 001677' 65 65 57 21 21 27
2094 001700' 44 55 57 66 45 00
2095 001701' 44 55 57 66 56 00
2096 001702' 46 51 70 00 00 00 X (<FIX ,UUO123,DMOVEM,DMOVNM,FIXR ,FLTR ,UFA ,DFN ,FSC ,IBP >)
2097 001703' 65 65 57 21 22 23
2098 001704' 44 55 57 66 45 55
2099 001705' 44 55 57 66 56 55
2100 001706' 46 51 70 62 00 00
2101 001707' 46 54 64 62 00 00
2102 001710' 65 46 41 00 00 00
2103 001711' 44 46 56 00 00 00
2104 001712' 46 63 43 00 00 00
2105 001713' 51 42 60 00 00 00
2106 001714' 51 54 44 42 00 00 X (<ILDB ,LDB ,IDPB ,DPB ,FAD ,FADL ,FADM ,FADB ,FADR ,FADRI ,FADRM >)
2107 001715' 54 44 42 00 00 00
2108 001716' 51 44 60 42 00 00
2109 001717' 44 60 42 00 00 00
2110 001720' 46 41 44 00 00 00
2111 001721' 46 41 44 54 00 00
2112 001722' 46 41 44 55 00 00
2113 001723' 46 41 44 42 00 00
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 47-3
DUMPR MAC 21-FEB-77 17:03 SYMBOLIC OUTPUT
2114 001724' 46 41 44 62 00 00
2115 001725' 46 41 44 62 51 00
2116 001726' 46 41 44 62 55 00
2117 001727' 46 41 44 62 42 00 X (<FADRB ,FSB ,FSBL ,FSBM ,FSBB ,FSBR ,FSBRI ,FSBRM ,FSBRB ,FMP >)
2118 001730' 46 63 42 00 00 00
2119 001731' 46 63 42 54 00 00
2120 001732' 46 63 42 55 00 00
2121 001733' 46 63 42 42 00 00
2122 001734' 46 63 42 62 00 00
2123 001735' 46 63 42 62 51 00
2124 001736' 46 63 42 62 55 00
2125 001737' 46 63 42 62 42 00
2126 001740' 46 55 60 00 00 00
2127 001741' 46 55 60 54 00 00 X (<FMPL ,FMPM ,FMPB ,FMPR ,FMPRI ,FMPRM ,FMPRB ,FDV ,FDVL ,FDVM >)
2128 001742' 46 55 60 55 00 00
2129 001743' 46 55 60 42 00 00
2130 001744' 46 55 60 62 00 00
2131 001745' 46 55 60 62 51 00
2132 001746' 46 55 60 62 55 00
2133 001747' 46 55 60 62 42 00
2134 001750' 46 44 66 00 00 00
2135 001751' 46 44 66 54 00 00
2136 001752' 46 44 66 55 00 00
2137 001753' 46 44 66 42 00 00 X (<FDVB ,FDVR ,FDVRI ,FDVRM ,FDVRB ,MOVE ,MOVEI ,MOVEM ,MOVES ,MOVS >)
2138 001754' 46 44 66 62 00 00
2139 001755' 46 44 66 62 51 00
2140 001756' 46 44 66 62 55 00
2141 001757' 46 44 66 62 42 00
2142 001760' 55 57 66 45 00 00
2143 001761' 55 57 66 45 51 00
2144 001762' 55 57 66 45 55 00
2145 001763' 55 57 66 45 63 00
2146 001764' 55 57 66 63 00 00
2147 001765' 55 57 66 63 51 00 X (<MOVSI ,MOVSM ,MOVSS ,MOVN ,MOVNI ,MOVNM ,MOVNS ,MOVM ,MOVMI ,MOVMM >)
2148 001766' 55 57 66 63 55 00
2149 001767' 55 57 66 63 63 00
2150 001770' 55 57 66 56 00 00
2151 001771' 55 57 66 56 51 00
2152 001772' 55 57 66 56 55 00
2153 001773' 55 57 66 56 63 00
2154 001774' 55 57 66 55 00 00
2155 001775' 55 57 66 55 51 00
2156 001776' 55 57 66 55 55 00
2157 001777' 55 57 66 55 63 00 X (<MOVMS ,IMUL ,IMULI ,IMULM ,IMULB ,MUL ,MULI ,MULM ,MULB ,IDIV >)
2158 002000' 51 55 65 54 00 00
2159 002001' 51 55 65 54 51 00
2160 002002' 51 55 65 54 55 00
2161 002003' 51 55 65 54 42 00
2162 002004' 55 65 54 00 00 00
2163 002005' 55 65 54 51 00 00
2164 002006' 55 65 54 55 00 00
2165 002007' 55 65 54 42 00 00
2166 002010' 51 44 51 66 00 00
2167 002011' 51 44 51 66 51 00 X (<IDIVI ,IDIVM ,IDIVB ,DIV ,DIVI ,DIVM ,DIVB ,ASH ,ROT ,LSH >)
2168 002012' 51 44 51 66 55 00
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 47-4
DUMPR MAC 21-FEB-77 17:03 SYMBOLIC OUTPUT
2169 002013' 51 44 51 66 42 00
2170 002014' 44 51 66 00 00 00
2171 002015' 44 51 66 51 00 00
2172 002016' 44 51 66 55 00 00
2173 002017' 44 51 66 42 00 00
2174 002020' 41 63 50 00 00 00
2175 002021' 62 57 64 00 00 00
2176 002022' 54 63 50 00 00 00
2177 002023' 52 46 46 57 00 00 X (<JFFO ,ASHC ,ROTC ,LSHC ,UUO247,EXCH ,BLT ,AOBJP ,AOBJN ,JRST >)
2178 002024' 41 63 50 43 00 00
2179 002025' 62 57 64 43 00 00
2180 002026' 54 63 50 43 00 00
2181 002027' 65 65 57 22 24 27
2182 002030' 45 70 43 50 00 00
2183 002031' 42 54 64 00 00 00
2184 002032' 41 57 42 52 60 00
2185 002033' 41 57 42 52 56 00
2186 002034' 52 62 63 64 00 00
2187 002035' 52 46 43 54 00 00 X (<JFCL ,XCT ,MAP ,PUSHJ ,PUSH ,POP ,POPJ ,JSR ,JSP ,JSA >)
2188 002036' 70 43 64 00 00 00
2189 002037' 55 41 60 00 00 00
2190 002040' 60 65 63 50 52 00
2191 002041' 60 65 63 50 00 00
2192 002042' 60 57 60 00 00 00
2193 002043' 60 57 60 52 00 00
2194 002044' 52 63 62 00 00 00
2195 002045' 52 63 60 00 00 00
2196 002046' 52 63 41 00 00 00
2197 002047' 52 62 41 00 00 00 X (<JRA ,ADD ,ADDI ,ADDM ,ADDB ,SUB ,SUBI ,SUBM ,SUBB ,CAI >)
2198 002050' 41 44 44 00 00 00
2199 002051' 41 44 44 51 00 00
2200 002052' 41 44 44 55 00 00
2201 002053' 41 44 44 42 00 00
2202 002054' 63 65 42 00 00 00
2203 002055' 63 65 42 51 00 00
2204 002056' 63 65 42 55 00 00
2205 002057' 63 65 42 42 00 00
2206 002060' 43 41 51 00 00 00
2207 002061' 43 41 51 54 00 00 X (<CAIL ,CAIE ,CAILE ,CAIA ,CAIGE ,CAIN ,CAIG ,CAM ,CAML ,CAME >)
2208 002062' 43 41 51 45 00 00
2209 002063' 43 41 51 54 45 00
2210 002064' 43 41 51 41 00 00
2211 002065' 43 41 51 47 45 00
2212 002066' 43 41 51 56 00 00
2213 002067' 43 41 51 47 00 00
2214 002070' 43 41 55 00 00 00
2215 002071' 43 41 55 54 00 00
2216 002072' 43 41 55 45 00 00
2217 002073' 43 41 55 54 45 00 X (<CAMLE ,CAMA ,CAMGE ,CAMN ,CAMG ,JUMP ,JUMPL ,JUMPE ,JUMPLE,JUMPA >)
2218 002074' 43 41 55 41 00 00
2219 002075' 43 41 55 47 45 00
2220 002076' 43 41 55 56 00 00
2221 002077' 43 41 55 47 00 00
2222 002100' 52 65 55 60 00 00
2223 002101' 52 65 55 60 54 00
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 47-5
DUMPR MAC 21-FEB-77 17:03 SYMBOLIC OUTPUT
2224 002102' 52 65 55 60 45 00
2225 002103' 52 65 55 60 54 45
2226 002104' 52 65 55 60 41 00
2227 002105' 52 65 55 60 47 45 X (<JUMPGE,JUMPN ,JUMPG ,SKIP ,SKIPL ,SKIPE ,SKIPLE,SKIPA ,SKIPGE,SKIPN >)
2228 002106' 52 65 55 60 56 00
2229 002107' 52 65 55 60 47 00
2230 002110' 63 53 51 60 00 00
2231 002111' 63 53 51 60 54 00
2232 002112' 63 53 51 60 45 00
2233 002113' 63 53 51 60 54 45
2234 002114' 63 53 51 60 41 00
2235 002115' 63 53 51 60 47 45
2236 002116' 63 53 51 60 56 00
2237 002117' 63 53 51 60 47 00 X (<SKIPG ,AOJ ,AOJL ,AOJE ,AOJLE ,AOJA ,AOJGE ,AOJN ,AOJG ,AOS >)
2238 002120' 41 57 52 00 00 00
2239 002121' 41 57 52 54 00 00
2240 002122' 41 57 52 45 00 00
2241 002123' 41 57 52 54 45 00
2242 002124' 41 57 52 41 00 00
2243 002125' 41 57 52 47 45 00
2244 002126' 41 57 52 56 00 00
2245 002127' 41 57 52 47 00 00
2246 002130' 41 57 63 00 00 00
2247 002131' 41 57 63 54 00 00 X (<AOSL ,AOSE ,AOSLE ,AOSA ,AOSGE ,AOSN ,AOSG ,SOJ ,SOJL ,SOJE >)
2248 002132' 41 57 63 45 00 00
2249 002133' 41 57 63 54 45 00
2250 002134' 41 57 63 41 00 00
2251 002135' 41 57 63 47 45 00
2252 002136' 41 57 63 56 00 00
2253 002137' 41 57 63 47 00 00
2254 002140' 63 57 52 00 00 00
2255 002141' 63 57 52 54 00 00
2256 002142' 63 57 52 45 00 00
2257 002143' 63 57 52 54 45 00 X (<SOJLE ,SOJA ,SOJGE ,SOJN ,SOJG ,SOS ,SOSL ,SOSE ,SOSLE ,SOSA >)
2258 002144' 63 57 52 41 00 00
2259 002145' 63 57 52 47 45 00
2260 002146' 63 57 52 56 00 00
2261 002147' 63 57 52 47 00 00
2262 002150' 63 57 63 00 00 00
2263 002151' 63 57 63 54 00 00
2264 002152' 63 57 63 45 00 00
2265 002153' 63 57 63 54 45 00
2266 002154' 63 57 63 41 00 00
2267 002155' 63 57 63 47 45 00 X (<SOSGE ,SOSN ,SOSG ,SETZ ,SETZI ,SETZM ,SETZB ,AND ,ANDI ,ANDM >)
2268 002156' 63 57 63 56 00 00
2269 002157' 63 57 63 47 00 00
2270 002160' 63 45 64 72 00 00
2271 002161' 63 45 64 72 51 00
2272 002162' 63 45 64 72 55 00
2273 002163' 63 45 64 72 42 00
2274 002164' 41 56 44 00 00 00
2275 002165' 41 56 44 51 00 00
2276 002166' 41 56 44 55 00 00
2277 002167' 41 56 44 42 00 00 X (<ANDB ,ANDCA ,ANDCAI,ANDCAM,ANDCAB,SETM ,SETMI ,SETMM ,SETMB ,ANDCM >)
2278 002170' 41 56 44 43 41 00
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 47-6
DUMPR MAC 21-FEB-77 17:03 SYMBOLIC OUTPUT
2279 002171' 41 56 44 43 41 51
2280 002172' 41 56 44 43 41 55
2281 002173' 41 56 44 43 41 42
2282 002174' 63 45 64 55 00 00
2283 002175' 63 45 64 55 51 00
2284 002176' 63 45 64 55 55 00
2285 002177' 63 45 64 55 42 00
2286 002200' 41 56 44 43 55 00
2287 002201' 41 56 44 43 55 51 X (<ANDCMI,ANDCMM,ANDCMB,SETA ,SETAI ,SETAM ,SETAB ,XOR ,XORI ,XORM >)
2288 002202' 41 56 44 43 55 55
2289 002203' 41 56 44 43 55 42
2290 002204' 63 45 64 41 00 00
2291 002205' 63 45 64 41 51 00
2292 002206' 63 45 64 41 55 00
2293 002207' 63 45 64 41 42 00
2294 002210' 70 57 62 00 00 00
2295 002211' 70 57 62 51 00 00
2296 002212' 70 57 62 55 00 00
2297 002213' 70 57 62 42 00 00 X (<XORB ,IOR ,IORI ,IORM ,IORB ,ANDCB ,ANDCBI,ANDCBM,ANDCBB,EQV >)
2298 002214' 51 57 62 00 00 00
2299 002215' 51 57 62 51 00 00
2300 002216' 51 57 62 55 00 00
2301 002217' 51 57 62 42 00 00
2302 002220' 41 56 44 43 42 00
2303 002221' 41 56 44 43 42 51
2304 002222' 41 56 44 43 42 55
2305 002223' 41 56 44 43 42 42
2306 002224' 45 61 66 00 00 00
2307 002225' 45 61 66 51 00 00 X (<EQVI ,EQVM ,EQVB ,SETCA ,SETCAI,SETCAM,SETCAB,ORCA ,ORCAI ,ORCAM >)
2308 002226' 45 61 66 55 00 00
2309 002227' 45 61 66 42 00 00
2310 002230' 63 45 64 43 41 00
2311 002231' 63 45 64 43 41 51
2312 002232' 63 45 64 43 41 55
2313 002233' 63 45 64 43 41 42
2314 002234' 57 62 43 41 00 00
2315 002235' 57 62 43 41 51 00
2316 002236' 57 62 43 41 55 00
2317 002237' 57 62 43 41 42 00 X (<ORCAB ,SETCM ,SETCMI,SETCMM,SETCMB,ORCM ,ORCMI ,ORCMM ,ORCMB ,ORCB >)
2318 002240' 63 45 64 43 55 00
2319 002241' 63 45 64 43 55 51
2320 002242' 63 45 64 43 55 55
2321 002243' 63 45 64 43 55 42
2322 002244' 57 62 43 55 00 00
2323 002245' 57 62 43 55 51 00
2324 002246' 57 62 43 55 55 00
2325 002247' 57 62 43 55 42 00
2326 002250' 57 62 43 42 00 00
2327 002251' 57 62 43 42 51 00 X (<ORCBI ,ORCBM ,ORCBB ,SETO ,SETOI ,SETOM ,SETOB ,HLL ,HLLI ,HLLM >)
2328 002252' 57 62 43 42 55 00
2329 002253' 57 62 43 42 42 00
2330 002254' 63 45 64 57 00 00
2331 002255' 63 45 64 57 51 00
2332 002256' 63 45 64 57 55 00
2333 002257' 63 45 64 57 42 00
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 47-7
DUMPR MAC 21-FEB-77 17:03 SYMBOLIC OUTPUT
2334 002260' 50 54 54 00 00 00
2335 002261' 50 54 54 51 00 00
2336 002262' 50 54 54 55 00 00
2337 002263' 50 54 54 63 00 00 X (<HLLS ,HRL ,HRLI ,HRLM ,HRLS ,HLLZ ,HLLZI ,HLLZM ,HLLZS ,HRLZ >)
2338 002264' 50 62 54 00 00 00
2339 002265' 50 62 54 51 00 00
2340 002266' 50 62 54 55 00 00
2341 002267' 50 62 54 63 00 00
2342 002270' 50 54 54 72 00 00
2343 002271' 50 54 54 72 51 00
2344 002272' 50 54 54 72 55 00
2345 002273' 50 54 54 72 63 00
2346 002274' 50 62 54 72 00 00
2347 002275' 50 62 54 72 51 00 X (<HRLZI ,HRLZM ,HRLZS ,HLLO ,HLLOI ,HLLOM ,HLLOS ,HRLO ,HRLOI ,HRLOM >)
2348 002276' 50 62 54 72 55 00
2349 002277' 50 62 54 72 63 00
2350 002300' 50 54 54 57 00 00
2351 002301' 50 54 54 57 51 00
2352 002302' 50 54 54 57 55 00
2353 002303' 50 54 54 57 63 00
2354 002304' 50 62 54 57 00 00
2355 002305' 50 62 54 57 51 00
2356 002306' 50 62 54 57 55 00
2357 002307' 50 62 54 57 63 00 X (<HRLOS ,HLLE ,HLLEI ,HLLEM ,HLLES ,HRLE ,HRLEI ,HRLEM ,HRLES ,HRR >)
2358 002310' 50 54 54 45 00 00
2359 002311' 50 54 54 45 51 00
2360 002312' 50 54 54 45 55 00
2361 002313' 50 54 54 45 63 00
2362 002314' 50 62 54 45 00 00
2363 002315' 50 62 54 45 51 00
2364 002316' 50 62 54 45 55 00
2365 002317' 50 62 54 45 63 00
2366 002320' 50 62 62 00 00 00
2367 002321' 50 62 62 51 00 00 X (<HRRI ,HRRM ,HRRS ,HLR ,HLRI ,HLRM ,HLRS ,HRRZ ,HRRZI ,HRRZM >)
2368 002322' 50 62 62 55 00 00
2369 002323' 50 62 62 63 00 00
2370 002324' 50 54 62 00 00 00
2371 002325' 50 54 62 51 00 00
2372 002326' 50 54 62 55 00 00
2373 002327' 50 54 62 63 00 00
2374 002330' 50 62 62 72 00 00
2375 002331' 50 62 62 72 51 00
2376 002332' 50 62 62 72 55 00
2377 002333' 50 62 62 72 63 00 X (<HRRZS ,HLRZ ,HLRZI ,HLRZM ,HLRZS ,HRRO ,HRROI ,HRROM ,HRROS ,HLRO >)
2378 002334' 50 54 62 72 00 00
2379 002335' 50 54 62 72 51 00
2380 002336' 50 54 62 72 55 00
2381 002337' 50 54 62 72 63 00
2382 002340' 50 62 62 57 00 00
2383 002341' 50 62 62 57 51 00
2384 002342' 50 62 62 57 55 00
2385 002343' 50 62 62 57 63 00
2386 002344' 50 54 62 57 00 00
2387 002345' 50 54 62 57 51 00 X (<HLROI ,HLROM ,HLROS ,HRRE ,HRREI ,HRREM ,HRRES ,HLRE ,HLREI ,HLREM >)
2388 002346' 50 54 62 57 55 00
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 47-8
DUMPR MAC 21-FEB-77 17:03 SYMBOLIC OUTPUT
2389 002347' 50 54 62 57 63 00
2390 002350' 50 62 62 45 00 00
2391 002351' 50 62 62 45 51 00
2392 002352' 50 62 62 45 55 00
2393 002353' 50 62 62 45 63 00
2394 002354' 50 54 62 45 00 00
2395 002355' 50 54 62 45 51 00
2396 002356' 50 54 62 45 55 00
2397 002357' 50 54 62 45 63 00 X (<HLRES ,TRN ,TLN ,TRNE ,TLNE ,TRNA ,TLNA ,TRNN ,TLNN ,TDN >)
2398 002360' 64 62 56 00 00 00
2399 002361' 64 54 56 00 00 00
2400 002362' 64 62 56 45 00 00
2401 002363' 64 54 56 45 00 00
2402 002364' 64 62 56 41 00 00
2403 002365' 64 54 56 41 00 00
2404 002366' 64 62 56 56 00 00
2405 002367' 64 54 56 56 00 00
2406 002370' 64 44 56 00 00 00
2407 002371' 64 63 56 00 00 00 X (<TSN ,TDNE ,TSNE ,TDNA ,TSNA ,TDNN ,TSNN ,TRZ ,TLZ ,TRZE >)
2408 002372' 64 44 56 45 00 00
2409 002373' 64 63 56 45 00 00
2410 002374' 64 44 56 41 00 00
2411 002375' 64 63 56 41 00 00
2412 002376' 64 44 56 56 00 00
2413 002377' 64 63 56 56 00 00
2414 002400' 64 62 72 00 00 00
2415 002401' 64 54 72 00 00 00
2416 002402' 64 62 72 45 00 00
2417 002403' 64 54 72 45 00 00 X (<TLZE ,TRZA ,TLZA ,TRZN ,TLZN ,TDZ ,TSZ ,TDZE ,TSZE ,TDZA >)
2418 002404' 64 62 72 41 00 00
2419 002405' 64 54 72 41 00 00
2420 002406' 64 62 72 56 00 00
2421 002407' 64 54 72 56 00 00
2422 002410' 64 44 72 00 00 00
2423 002411' 64 63 72 00 00 00
2424 002412' 64 44 72 45 00 00
2425 002413' 64 63 72 45 00 00
2426 002414' 64 44 72 41 00 00
2427 002415' 64 63 72 41 00 00 X (<TSZA ,TDZN ,TSZN ,TRC ,TLC ,TRCE ,TLCE ,TRCA ,TLCA ,TRCN >)
2428 002416' 64 44 72 56 00 00
2429 002417' 64 63 72 56 00 00
2430 002420' 64 62 43 00 00 00
2431 002421' 64 54 43 00 00 00
2432 002422' 64 62 43 45 00 00
2433 002423' 64 54 43 45 00 00
2434 002424' 64 62 43 41 00 00
2435 002425' 64 54 43 41 00 00
2436 002426' 64 62 43 56 00 00
2437 002427' 64 54 43 56 00 00 X (<TLCN ,TDC ,TSC ,TDCE ,TSCE ,TDCA ,TSCA ,TDCN ,TSCN ,TRO >)
2438 002430' 64 44 43 00 00 00
2439 002431' 64 63 43 00 00 00
2440 002432' 64 44 43 45 00 00
2441 002433' 64 63 43 45 00 00
2442 002434' 64 44 43 41 00 00
2443 002435' 64 63 43 41 00 00
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 47-9
DUMPR MAC 21-FEB-77 17:03 SYMBOLIC OUTPUT
2444 002436' 64 44 43 56 00 00
2445 002437' 64 63 43 56 00 00
2446 002440' 64 62 57 00 00 00
2447 002441' 64 54 57 00 00 00 X (<TLO ,TROE ,TLOE ,TROA ,TLOA ,TRON ,TLON ,TDO ,TSO ,TDOE >)
2448 002442' 64 62 57 45 00 00
2449 002443' 64 54 57 45 00 00
2450 002444' 64 62 57 41 00 00
2451 002445' 64 54 57 41 00 00
2452 002446' 64 62 57 56 00 00
2453 002447' 64 54 57 56 00 00
2454 002450' 64 44 57 00 00 00
2455 002451' 64 63 57 00 00 00
2456 002452' 64 44 57 45 00 00
2457 002453' 64 63 57 45 00 00 X (<TSOE ,TDOA ,TSOA ,TDON ,TSON >)
2458 002454' 64 44 57 41 00 00
2459 002455' 64 63 57 41 00 00
2460 002456' 64 44 57 56 00 00
2461 002457' 64 63 57 56 00 00
2462 >;END IFN FT$ISD
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 48
DUMPR MAC 21-FEB-77 17:03 SYMBOLIC OUTPUT
2463 ;O$SIXN -- OUTPUT SIXBIT WORD IN T1 TO DUMP FILE
2464 ;O$SIXW -- DITTO EXCEPT NO SPACE BEFORE WORD
2465
2466 002460' 200 02 0 00 000001 O$SIXW: MOVE T2,T1 ;POSITION
2467 002461' 254 00 0 00 002464' JRST O$SIX0 ;SKIP THE SPACE
2468 002462' 200 02 0 00 000001 O$SIXN: MOVE T2,T1 ;POSITION
2469 002463' 260 17 0 00 001466' CALL O$SPAC ;SPACE ONE
2470 002464' 201 03 0 00 000006 O$SIX0: MOVEI T3,6 ;LOOP COUNT
2471 002465' 400 01 0 00 000000 O$SIX1: SETZ T1, ;CLEAR
2472 002466' 245 01 0 00 000006 ROTC T1,6 ;PEEL OFF A CHARACTER
2473 002467' 271 01 0 00 000040 ADDI T1," " ;ASCIIIZE IT
2474 002470' 260 17 0 00 001437' CALL O$CHAR ;DUMP IT
2475 002471' 367 03 0 00 002465' SOJG T3,O$SIX1 ;DO ALL
2476 002472' 263 17 0 00 000000 POPJ P,
2477
2478 ;O$DECW -- OUTPUT DECIMAL WORD IN T1 TO DUMP FILE
2479 ;O$OCTW -- OUTPUT OCTAL WORD IN T1 TO DUMP FILE
2480 ;O$RDXW -- OUTPUT WORD IN T1 TO DUMP FILE IN RADIX IN T3
2481 ;***THESE ARE UNFORMATTED DUMP ROUTINES
2482
2483 002473' 334 03 0 00 005661' O$OCTW: SKIPA T3,[^D8] ;OCTAL
2484 002474' 201 03 0 00 000012 O$DECW: MOVEI T3,^D10 ;DECIMAL
2485 002475' 325 01 0 00 002502' O$RDXW: JUMPGE T1,ORDXW1 ;JUMP IF POSITIVE
2486 002476' 200 02 0 00 000001 MOVE T2,T1 ;NO--SAVE NUMBER
2487 002477' 201 01 0 00 000055 MOVEI T1,"-"
2488 002500' 260 17 0 00 001437' CALL O$CHAR
2489 002501' 200 01 0 00 000002 MOVE T1,T2
2490 002502' 230 01 0 00 000003 ORDXW1: IDIV T1,T3 ;DIVIDE BY RADIX
2491 002503' 217 00 0 00 000002 MOVMS T2 ;GT MAGNITUDE
2492 002504' 506 02 0 17 000000 HRLM T2,(P) ;SAVE ON PIDDLE LIST
2493 002505' 332 00 0 00 000001 SKIPE T1 ;CHECK DONENESS
2494 002506' 260 17 0 00 002502' CALL ORDXW1 ;RECURSE
2495 002507' 554 01 0 17 000000 HLRZ T1,(P) ;GET DIGIT
2496 002510' 271 01 0 00 000060 O$DIGT: ADDI T1,"0" ;ASCIIIZE IT
2497 002511' 303 01 0 00 000071 CAILE T1,"9" ;SEE IF OVERFLOW INTO ALPHAS
2498 002512' 271 01 0 00 000007 ADDI T1,"A"-"9"-1 ;YES--PUT IT THERE
2499 002513' 254 00 0 00 001437' PJRST O$CHAR ;RECURSE OR RETURN
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 49
DUMPR MAC 21-FEB-77 17:03 SYMBOLIC OUTPUT
2500 ;O$ASCW -- DUMP WORD IN T1 IN ASCII
2501
2502 002514' 200 02 0 00 000001 O$ASCW: MOVE T2,T1 ;POSITION
2503 002515' 260 17 0 00 001464' CALL O$SPEC ;SPACE IF NOT /OMIT
2504 002516' 201 03 0 00 000005 MOVEI T3,5 ;5 CHARS/WORD
2505 002517' 400 01 0 00 000000 O$ASC1: SETZ T1, ;CLEAR
2506 002520' 245 01 0 00 000007 ROTC T1,7 ;GRAB A CHARACTER
2507 002521' 260 17 0 00 002524' CALL O$ASCC ;DUMP THE CHARACTER
2508 002522' 367 03 0 00 002517' SOJG T3,O$ASC1 ;DO ALL 5
2509 002523' 263 17 0 00 000000 POPJ P, ;DONE
2510
2511 002524' 301 01 0 00 000011 O$ASCC: CAIL T1,.CHTAB ;BETWEEN TAB AND CR?
2512 002525' 303 01 0 00 000015 CAILE T1,.CHCRT ;...
2513 002526' 306 01 0 00 000007 CAIN T1,.CHBEL ;IS IT A BELL?
2514 002527' 254 00 0 00 001437' PJRST O$CHAR ;TAB/LF/VT/FF/CR/BELL--GO PRINT IT
2515 002530' 603 00 0 00 020000 TLNE F,FL$OMI ;/OMIT?
2516 002531' 254 00 0 00 002536' JRST O$ASC5 ;YES--HANDLE SLIGHTLY DIFFERENT
2517 002532' 301 01 0 00 000040 CAIL T1," " ;LT A SPACE?
2518 002533' 303 01 0 00 000172 CAILE T1,"Z"+40 ;AND LE A LOWER CASE Z?
2519 002534' 201 01 0 00 000077 O$AQST: MOVEI T1,"?" ;NO--MAKE IT A QUESTION MARK
2520 002535' 254 00 0 00 001437' O$ASC4: PJRST O$CHAR ;OUTPUT IT AND RETURN
2521
2522 ;HERE TO SEE IF CONTROL CHARACTER (1-37, EXCEPT A FEW SPECIAL ONES)
2523
2524 002536' 301 01 0 00 000040 O$ASC5: CAIL T1," " ;MAKE A GROSS CHECK
2525 002537' 254 00 0 00 001437' PJRST O$CHAR ;TO ELIMINATE A LARGE PART OF THE ASCII SET
2526 SAVE$ T1 ;ITS A REAL CONTROL CHARACTER--SAVE IT
2527 002541' 201 01 0 00 000136 MOVEI T1,"^" ;GET AN ARROW
2528 002542' 260 17 0 00 001437' CALL O$CHAR ;ZIP IT OUT
2529 RESTR$ T1 ;GET CHARACTER BACK
2530 002544' 201 01 0 01 000100 MOVEI T1,100(T1) ;BY MAJIK IT BECOMES VISIBLE
2531 002545' 254 00 0 00 001437' PJRST O$CHAR ;GO PRINT IT
2532
2533 ;O$IASC -- OUTPUT WORD IN T1 AS EIGHT-BIT ASCII
2534
2535 002546' 200 02 0 00 000001 O$IASC: MOVE T2,T1 ;SEE COMMENTS FOR O$ASCW
2536 002547' 260 17 0 00 001464' CALL O$SPEC
2537 002550' 201 03 0 00 000004 MOVEI T3,4 ;ONLY 4 CHARS WORD
2538 002551' 400 01 0 00 000000 O$IAS1: SETZ T1,
2539 002552' 245 01 0 00 000010 ROTC T1,^D8
2540 002553' 405 01 0 00 000177 ANDI T1,177 ;TRIM TO SEVEN BITS
2541 002554' 260 17 0 00 002524' CALL O$ASCC ;OUTPUT THE CHARACTER
2542 002555' 367 03 0 00 002551' SOJG T3,O$IAS1
2543 002556' 263 17 0 00 000000 POPJ P,
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 50
DUMPR MAC 21-FEB-77 17:03 SYMBOLIC OUTPUT
2544 ;O$BYTW -- OUTPUT WORD IN BYTE FORMAT
2545
2546 002557' 260 17 0 00 000241* O$BYTW: CALL .SAVE3## ;GET A FEW
2547 002560' 200 05 0 00 000001 MOVE P1,T1 ;POSITION WORD
2548 002561' 200 06 0 00 005273' MOVE P2,BYTPTR ;PTR TO LOAD BYTES
2549 002562' 200 07 0 00 005274' MOVE P3,BYTBPW ;GET # BYTES / WORD
2550 002563' 260 17 0 00 001466' CALL O$SPAC ;SPACE OUT
2551 002564' 134 01 0 00 000006 O$BYT1: ILDB T1,P2 ;GET A BYTE
2552 002565' 260 17 0 00 003001' CALL FMTRDX ;OUTPUT IT
2553 002566' 363 07 0 00 002571' SOJLE P3,O$BYT2 ;DONE?
2554 002567' 260 17 0 00 001472' CALL O$SLSH ;NO--SLASH ONE
2555 002570' 254 00 0 00 002564' JRST O$BYT1 ;DO ANOTHER
2556 002571' 336 02 0 00 005275' O$BYT2: SKIPN T2,BYTREM ;WAS THERE A REMAINDER?
2557 002572' 263 17 0 00 000000 POPJ P, ;NO--DONE
2558 002573' 260 17 0 00 001472' CALL O$SLSH ;DO SLASH
2559 002574' 137 02 0 00 005671' DPB T2,[POINT 6,P2,11] ;SET IN THE SIZE
2560 002575' 134 01 0 00 000006 ILDB T1,P2 ;GET THE BYTE
2561 002576' 200 16 0 00 005301' MOVE Q,BYTRDB ;GET WIDTH OF REMAINDER
2562 002577' 260 17 0 00 003001' CALL FMTRDX ;OUTPUT #
2563 002600' 200 16 0 00 005276' MOVE Q,BYTDPB ;RESET Q
2564 002601' 263 17 0 00 000000 POPJ P,
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 51
DUMPR MAC 21-FEB-77 17:03 PRINT EBCDIC WORD
2565 SUBTTL PRINT EBCDIC WORD
2566
2567 ;O$EBCW -- OUTPUT EBCDIC WORD IN T1
2568
2569 002602' 200 02 0 00 000001 O$EBCW: MOVE T2,T1 ;COPY WORD
2570 002603' 260 17 0 00 001464' CALL O$SPEC ;SPACE IF NEEDED
2571 002604' 201 03 0 00 000004 MOVEI T3,4 ;4 CPW
2572 002605' 400 01 0 00 000000 O$EBC1: SETZ T1, ;CLEAR RESULT
2573 002606' 245 01 0 00 000010 ROTC T1,^D8 ;PEEL OFF A CHAR
2574 002607' 322 01 0 00 002617' JUMPE T1,O$EBC3 ;IGNORE NULL CHARACTERS
2575 002610' 260 17 0 00 002621' CALL XLTEBC ;XLATE TO ASCII
2576 002611' 260 17 0 00 001437' CALL O$CHAR ;SEND IT
2577 002612' 373 00 0 00 005260' SOSLE EBCKNT ;HAVE WE DONE A LINE?
2578 002613' 254 00 0 00 002617' JRST O$EBC3 ;NO--SEE IF DONE WITH WORD
2579 002614' 200 01 0 00 005464' MOVE T1,S.BLKF ;RESET BLOCK FACTOR
2580 002615' 202 01 0 00 005260' MOVEM T1,EBCKNT ;...
2581 002616' 260 17 0 00 001434' CALL O$CRLF ;NEW LINE PLEASE
2582 002617' 367 03 0 00 002605' O$EBC3: SOJG T3,O$EBC1 ;JUMP IF MORE CHARS THIS WORD
2583 002620' 263 17 0 00 000000 POPJ P,
2584
2585 002621' 301 01 0 00 000013 XLTEBC: CAIL T1,.CHVTB ;LT A VERT TAB?
2586 002622' 254 00 0 00 002627' JRST XLTE.1 ;NO
2587 002623' 306 01 0 00 000005 CAIN T1,5 ;IS IT A 5 (HORIZ. TAB)?
2588 002624' 334 01 0 00 005660' SKIPA T1,[EXP .CHTAB] ;YES--MAKE IT ONE
2589 002625' 201 01 0 00 000077 XLTQST: MOVEI T1,"?" ;FLAG WE DON'T KNOW IT
2590 002626' 263 17 0 00 000000 POPJ P,
2591 002627' 307 01 0 00 000015 XLTE.1: CAIG T1,.CHCRT ;GT A CR?
2592 002630' 263 17 0 00 000000 POPJ P, ;VERT TAB TO CR
2593 002631' 301 01 0 00 000201 CAIL T1,^D129 ;LT LOWER CASE A?
2594 002632' 254 00 0 00 002644' JRST XLTE.4 ;NO--HANDLE ALPHA NUMERICS
2595 002633' 261 17 0 00 000001 PUSH P,T1 ;YES--SAVE CHARACTER
2596 002634' 205 04 0 00 777741 MOVSI T4,-N$ECHR ;SET LOOP
2597 002635' 554 01 0 04 002660' XLTE.2: HLRZ T1,EBCTAB(T4) ;GET EBCDIC FROM TABLE
2598 002636' 312 01 0 17 000000 CAME T1,(P) ;THIS IT?
2599 002637' 253 04 0 00 002635' AOBJN T4,XLTE.2 ;NO--LOOP TO END OR FIND ONE
2600 002640' 262 17 0 00 000001 POP P,T1 ;CLEAR STACK
2601 002641' 325 04 0 00 002625' JUMPGE T4,XLTQST ;JUMP IF WE DON'T KNOW IT
2602 002642' 550 01 0 04 002660' HRRZ T1,EBCTAB(T4) ;YES--GET ASCII EQUIVALENT
2603 002643' 263 17 0 00 000000 POPJ P,
2604
2605 002644' 261 17 0 00 000001 XLTE.4: PUSH P,T1 ;SAVE CHARACTER ON PDL
2606 002645' 205 04 0 00 777771 MOVSI T4,-N$ECH2 ;GET A LOOPER
2607 002646' 554 01 0 04 002717' XLTE.5: HLRZ T1,EBCTB1(T4) ;GET LOWER LIMIT
2608 002647' 313 01 0 17 000000 CAMLE T1,(P) ;IN RANGE?
2609 002650' 254 00 0 00 002653' JRST XLTE.6 ;NO
2610 002651' 550 01 0 04 002717' HRRZ T1,EBCTB1(T4) ;HIGH LIMIT
2611 002652' 315 01 0 17 000000 CAMGE T1,(P) ;IN RANGE?
2612 002653' 253 04 0 00 002646' XLTE.6: AOBJN T4,XLTE.5 ;NO--LOOP
2613 002654' 262 17 0 00 000001 POP P,T1 ;GET CHARACTER BACK
2614 002655' 325 04 0 00 002625' JUMPGE T4,XLTQST ;NOT IN A GOOD RANGE
2615 002656' 270 01 0 04 002726' ADD T1,EBCTB2(T4) ;CONVERT TO ASCII
2616 002657' 263 17 0 00 000000 POPJ P,
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 52
DUMPR MAC 21-FEB-77 17:03 PRINT EBCDIC WORD
2617 002660' 000005 000011 EBCTAB: XWD ^D5,.CHTAB ;5 BECOMES A TAB
2618 002661' 000100 000040 XWD ^D64," "
2619 002662' 000112 000135 XWD ^D74,"]"
2620 002663' 000113 000056 XWD ^D75,"."
2621 002664' 000114 000074 XWD ^D76,"<"
2622 002665' 000115 000050 XWD ^D77,"("
2623 002666' 000116 000053 XWD ^D78,"+"
2624 002667' 000117 000136 XWD ^D79,"^"
2625 002670' 000120 000046 XWD ^D80,"&"
2626 002671' 000132 000041 XWD ^D90,"!"
2627 002672' 000133 000044 XWD ^D91,"$"
2628 002673' 000134 000052 XWD ^D92,"*"
2629 002674' 000135 000051 XWD ^D93,")"
2630 002675' 000136 000073 XWD ^D94,";"
2631 002676' 000137 000133 XWD ^D95,"["
2632 002677' 000140 000055 XWD ^D96,"-"
2633 002700' 000141 000057 XWD ^D97,"/"
2634 002701' 000153 000054 XWD ^D107,","
2635 002702' 000154 000045 XWD ^D108,"%"
2636 002703' 000155 000137 XWD ^D109,"_"
2637 002704' 000156 000076 XWD ^D110,">"
2638 002705' 000157 000077 XWD ^D111,"?"
2639 002706' 000172 000072 XWD ^D122,":"
2640 002707' 000173 000043 XWD ^D123,"#"
2641 002710' 000174 000100 XWD ^D124,"@"
2642 002711' 000175 000047 XWD ^D125,"'"
2643 002712' 000176 000075 XWD ^D126,"="
2644 002713' 000177 000042 XWD ^D127,""""
2645 002714' 000300 000077 XWD ^D192,"?"
2646 002715' 000320 000072 XWD ^D208,":"
2647 002716' 000377 000137 XWD ^D255,"_"
2648 000037 N$ECHR==.-EBCTAB
2649
2650 002717' 000201 000211 EBCTB1: XWD ^D129,^D137 ;RANGES FOR ALPHA NUMERICS
2651 002720' 000221 000231 XWD ^D145,^D153
2652 002721' 000242 000251 XWD ^D162,^D169
2653 002722' 000301 000311 XWD ^D193,^D201
2654 002723' 000321 000331 XWD ^D209,^D217
2655 002724' 000342 000351 XWD ^D226,^D233
2656 002725' 000360 000371 XWD ^D240,^D249
2657 000007 N$ECH2==.-EBCTB1
2658
2659 002726' 777777 777640 EBCTB2: EXP -^D129+"A"-40 ;LOWER CASE
2660 002727' 777777 777631 EXP -^D145+"J"-40
2661 002730' 777777 777621 EXP -^D162+"S"-40
2662 002731' 777777 777600 EXP -^D193+"A"
2663 002732' 777777 777571 EXP -^D209+"J"
2664 002733' 777777 777561 EXP -^D226+"S"
2665 002734' 777777 777500 EXP -^D240+"0"
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 53
DUMPR MAC 21-FEB-77 17:03 FORMATTED INTEGER I/O
2666 SUBTTL FORMATTED INTEGER I/O
2667
2668 002735' 260 17 0 00 000000* FMTINT: CALL .SAVE2## ;PRESERVE P1-2
2669 002736' 201 05 0 16 777777 MOVEI P1,-1(Q) ;CHARACTERS/WORD (-1 SO WE DON'T COUNT SPACE)
2670 002737' 400 06 0 00 000000 SETZ P2, ;CLEAR COUNT OF WHAT WE SEND
2671 002740' 200 03 0 00 000001 MOVE T3,T1 ;COPY NUMBER
2672 002741' 335 00 0 00 000003 SKIPGE T3 ;CHECK NEGATIVE
2673 002742' 665 00 0 00 001000 TLOA F,FL$NEG ;YES--SET FLAG
2674 002743' 625 00 0 00 001000 TLZA F,FL$NEG ;NO--CLEAR IT
2675 002744' 213 00 0 00 000003 MOVNS T3 ;IT WAS NEGATIVE--MAKE IT POSITIVE
2676 002745' 231 03 0 00 000012 FMTI.1: IDIVI T3,^D10 ;GET A DIGIT
2677 002746' 271 04 0 00 000060 ADDI T4,"0" ;MAKES IT ASCII
2678 002747' 261 17 0 00 000004 PUSH P,T4 ;SAVE ON PDL
2679 002750' 340 06 0 00 000000 AOJ P2, ;COUNT THE CHARACTER
2680 002751' 326 03 0 00 002745' JUMPN T3,FMTI.1 ;JUMP IF MORE
2681 002752' 274 05 0 00 000006 SUB P1,P2 ;GET THE DIFFERENCE
2682 002753' 201 01 0 00 000040 MOVEI T1," " ;SET IN CASE WE NEED TO PAD
2683 002754' 362 05 0 00 002757' SOJE P1,FMTSGN ;JUMP IF WE FIT OK
2684 002755' 260 17 0 00 001437' CALL O$CHAR
2685 002756' 367 05 0 00 002755' SOJG P1,.-1 ;PAD THEM ALL
2686 002757' 623 00 0 00 001000 FMTSGN: TLZE F,FL$NEG ;SEE IF NEGATIVE?
2687 002760' 201 01 0 00 000055 MOVEI T1,"-" ;YES--GET ONE (ELSE USE THE SPACE)
2688 002761' 260 17 0 00 001437' CALL O$CHAR ;SEND SPACE OR MINUS SIGN
2689 002762' 323 06 0 00 004307' JUMPLE P2,$POPJ ;JUMP IF WE SENT NO DIGITS?
2690 002763' 262 17 0 00 000001 POP P,T1 ;GET ONE BACK
2691 002764' 260 17 0 00 001437' CALL O$CHAR ;SEND IT
2692 002765' 367 06 0 00 002763' SOJG P2,.-2 ;DO ALL WE LEFT ON PDL
2693 002766' 263 17 0 00 000000 POPJ P, ;DONE
2694
2695 ;HERE TO DO (PROBABLY) OCTAL DUMP
2696 ;UNLESS /RADIX WAS SEEN THEN USE FMTRDX
2697
2698 002767' 603 00 0 00 000004 FMTOCT: TLNE F,FL$RDX ;SEEN /RADIX?
2699 002770' 254 00 0 00 003001' JRST FMTRDX ;YES--DO IT THE SLOW WAY
2700 002771' 201 03 0 00 000014 MOVEI T3,^D12 ;NO--12 OCTAL DIGITS COMING UP
2701 002772' 200 02 0 00 000001 MOVE T2,T1 ;WORD TO T2
2702 002773' 260 17 0 00 001466' CALL O$SPAC ;SPACE OVER ONE
2703 002774' 400 01 0 00 000000 FMTO.1: SETZ T1, ;CLEAR RESULT
2704 002775' 246 01 0 00 000003 LSHC T1,3 ;PEEL OFF A DIGIT
2705 002776' 260 17 0 00 002510' CALL O$DIGT ;OUTPUT IT
2706 002777' 367 03 0 00 002774' SOJG T3,FMTO.1 ;DO 12
2707 003000' 263 17 0 00 000000 POPJ P,
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 54
DUMPR MAC 21-FEB-77 17:03 RADIX FORMATTED OUTPUT
2708 SUBTTL RADIX FORMATTED OUTPUT
2709
2710 ;FMTRDX -- DUMP NUMBER IN T1 IN CURRENT RADIX (UNSIGNED)
2711 ;FMTR.1 -- DUMP NUMBER IN T1 IN RADIX IN T4
2712 ;THANKS TO ROGER UPHOFF FOR IDEA FROM DUMPER
2713
2714 003001' 200 04 0 00 005473' FMTRDX: MOVE T4,USERDX ;CURRENT RADIX
2715 003002' 260 17 0 00 002735* FMTR.1: CALL .SAVE2## ;THESE MUST BE SACRED
2716 003003' 201 05 0 16 777777 MOVEI P1,-1(Q) ;COPY Q
2717 003004' 201 06 0 16 777777 MOVEI P2,-1(Q) ;A COUPLE OF TIMES
2718 003005' 321 01 0 00 003032' RDXLUP: JUMPL T1,RDXADJ ;SPECIAL IF NEGATIVE
2719 003006' 322 01 0 00 003015' JUMPE T1,RADXZR ;WATCH FOR END
2720 003007' 230 01 0 00 000004 IDIV T1,T4 ;PEEL OFF A DIGIT
2721 003010' 271 02 0 00 000060 RDXCON: ADDI T2,"0" ;MAKE IT ASCII
2722 003011' 303 02 0 00 000071 CAILE T2,"9" ;IS IT A DIGIT?
2723 003012' 271 02 0 00 000007 ADDI T2,"A"-"9"-1 ;NO--MOVE UP TO ALPHABETICS
2724 003013' 261 17 0 00 000002 PUSH P,T2 ;SAVE ON PDL
2725 003014' 367 05 0 00 003005' SOJG P1,RDXLUP ;GO FOR MORE
2726
2727 003015' 274 06 0 00 000005 RADXZR: SUB P2,P1 ;GET # OF GOOD DIGITS
2728 003016' 201 01 0 00 000040 MOVEI T1," " ;SPACE OVER ONE
2729 003017' 302 14 0 00 000002 CAIE M,MODBYT ;UNLESS /MODE:BYTE
2730 003020' 260 17 0 00 001437' CALL O$CHAR
2731 003021' 323 05 0 00 003025' JUMPLE P1,RDXNZR ;DO WE NEED ANY LEADING ZEROES?
2732 003022' 201 01 0 00 000060 MOVEI T1,"0" ;YES--GET ONE
2733 003023' 260 17 0 00 001437' CALL O$CHAR ;SEND IT
2734 003024' 367 05 0 00 003023' SOJG P1,.-1 ;DO ALL NEEDED
2735 003025' 322 06 0 00 004307' RDXNZR: JUMPE P2,$POPJ ;JUMP IF NO CHARS ON PDL (# WAS 0)
2736 003026' 262 17 0 00 000001 POP P,T1 ;GET CHAR OFF PDL
2737 003027' 260 17 0 00 001437' CALL O$CHAR ;SEND IT
2738 003030' 367 06 0 00 003026' SOJG P2,.-2
2739 003031' 263 17 0 00 000000 POPJ P,
2740
2741 ;HERE IF NUMBER IS NEGATIVE
2742
2743 003032' 621 00 0 00 000400 RDXADJ: TLZ F,FL$TMP ;CLEAR TEMP FLAG
2744 003033' 246 01 0 00 777777 LSHC T1,-1 ;DIVIDE BY TWO
2745 003034' 603 02 0 00 400000 TLNE T2,(1B0) ;WAS LOW ORDER BIT ON?
2746 003035' 661 00 0 00 000400 TLO F,FL$TMP ;YES--REMEMBER THAT
2747 003036' 230 01 0 00 000004 IDIV T1,T4 ;DIVIDE BY RADIX
2748 003037' 242 01 0 00 000001 LSH T1,1 ;MULTIPLY QUOTIENT BY 2
2749 003040' 242 02 0 00 000001 LSH T2,1 ;SAME FOR REMAINDER
2750 003041' 623 00 0 00 000400 TLZE F,FL$TMP ;DID WE SHIFT OUT A ONE?
2751 003042' 340 02 0 00 000000 AOJ T2, ;INCRMEMENT REMAINDER BY ONE
2752 003043' 230 02 0 00 000004 IDIV T2,T4 ;DIVIDE REMAINDER BY RADIX
2753 003044' 332 00 0 00 000002 SKIPE T2 ;IS THERE A QUOTIENT AGAIN?
2754 003045' 340 01 0 00 000000 AOJ T1, ;YES--ADJUST ORIGINAL QUOTIENT
2755 003046' 200 02 0 00 000003 MOVE T2,T3 ;POSITION REMAINDER
2756 003047' 254 00 0 00 003010' JRST RDXCON ;AND CONTINUE
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 55
DUMPR MAC 21-FEB-77 17:03 FORMATTED FLOATING POINT OUTPUT
2757 SUBTTL FORMATTED FLOATING POINT OUTPUT
2758
2759 ;THANKS TO ROGER UPHOFF FOR ALGORITHM FROM DUMPER
2760
2761 003050' 260 17 0 00 004505' FMTFLO: CALL SAVACS ;SAVE ACS
2762 003051' 621 00 0 00 001420 TLZ F,FL$TMP!FL$NEG!FL$FL2 ;CLEAR FLAGS
2763 003052' 403 04 0 00 000002 SETZB T4,T2 ;CLEAR EXPONENT
2764 003053' 325 01 0 00 003056' JUMPGE T1,EFMT1 ;NUMBER NEGATIVE?
2765 003054' 210 01 0 00 000001 MOVN T1,T1 ;YES,NEGATE IT
2766 003055' 665 00 0 00 001000 TLOA F,FL$NEG ;SET NEGATIVE FLAG
2767
2768 003056' 322 01 0 00 003131' EFMT1: JUMPE T1,EFMT7 ;ESCAPE IF ZERO
2769 003057' 554 07 0 00 000001 HLRZ E1,T1 ;EXTRACT EXPONENT
2770 003060' 242 07 0 00 777767 LSH E1,-9 ;
2771 003061' 621 01 0 00 777000 TLZ T1,777000 ; GET RID OF EXPONENT
2772 003062' 240 01 0 00 000010 ASH T1,^D8 ;PUT BIN POINT BETWEEN BITS 0 AND 1
2773
2774 003063' 571 10 0 07 777602 EFMT2: HRREI E2,-200+2(E1) ;GET RID OF EXCESS 200
2775 003064' 221 10 0 00 000232 IMULI E2,232 ;DEC EXP=LOG10(2)*BIN EXP=.232(OCTAL)*BIN EXP
2776 003065' 240 10 0 00 777767 ASH E2,-^D9 ;GET RID OF 3 OCTAL FRACTION DIGITS
2777 003066' 214 11 0 00 000010 MOVM E3,E2 ;GET MAGNITUDE OF 10 SCALAR
2778 003067' 305 11 0 00 000024 CAIGE E3,PTLEN ;IS THE POWER OF 10 TABLE LARGE ENOUGH
2779 003070' 254 00 0 00 003121' JRST EFMT3 ;YES
2780 003071' 321 10 0 00 003073' JUMPL E2,.+2 ;NO, SCALE F BY LARGEST ENTRY
2781 003072' 334 10 0 00 005672' SKIPA E2,[PTLEN] ;GET ADDRESS OF LARGST POSITIVE POWER
2782 003073' 211 10 0 00 000024 MOVNI E2,PTLEN ;GET ADDR OF LARGEST NEGATIVE POWER
2783 003074' 260 17 0 00 003077' CALL BINEXP ;GET CORRESPONDING BINARY POWER OF TWO
2784 003075' 260 17 0 00 003110' CALL FLODIV ;SCALE BY A LARGE POWER OF TEN
2785 003076' 254 00 0 00 003063' JRST EFMT2 ;DO SECOND SCALING
2786
2787 003077' 200 11 0 00 000010 BINEXP: MOVE E3,E2 ;COPY DECIMAL POWER
2788 003100' 246 11 0 00 777776 LSHC E3,-2 ;DIVIDE BY 4-- EXP10 HAS 4 ENTRIES/WORD
2789 003101' 603 12 0 00 400000 TLNE E4,(1B0) ;WHICH HALF WORD?
2790 003102' 334 11 0 11 003347' SKIPA E3,EXP10(E3) ;RIGHT HALF
2791 003103' 554 11 0 11 003347' HLRZ E3,EXP10(E3) ;LEFT HALF
2792 003104' 607 12 0 00 200000 TLNN E4,(1B1) ;WHICH QUADRANT?
2793 003105' 242 11 0 00 777767 LSH E3,-^D9 ;1ST OR 3RD
2794 003106' 405 11 0 00 000777 ANDI E3,777 ;MASK TO SIZE
2795 003107' 263 17 0 00 000000 POPJ P, ;DONE
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 56
DUMPR MAC 21-FEB-77 17:03 FORMATTED FLOATING POINT OUTPUT
2796 ;SCALE SINGLE FRACTION BY A POWER OF TEN
2797
2798 003110' 322 10 0 00 004307' FLODIV: JUMPE E2,$POPJ ;IF EXP IS ZERO RETURN
2799 003111' 270 04 0 00 000010 ADD T4,E2 ;PUT SCALE FACTOR IN T4
2800 003112' 275 07 0 11 777577 SUBI E1,-200-1(E3) ;SUB BIN POWER OF 10 EXP FROM BIN
2801 ; FRACTION EXP,REMOVE EXCESS 200;
2802 ; -1 ALLOWS FOR ASHC,LH OF E1 IS GARBGE
2803 003113' 201 02 0 00 000000 MOVEI T2,0 ;CLEAR LOW WORD
2804 003114' 315 01 0 10 003315' CAMGE T1,HITEN(E2) ;WILL DIVIDE CAUSE A DIVIDE CHECK?
2805 003115' 364 07 0 00 003117' SOJA E1,.+2 ;NO, ALLOW FOR NOT DOING ASHC
2806 003116' 244 01 0 00 777777 ASHC T1,-1 ;YES, SCALE FRACTION
2807 003117' 234 01 0 10 003315' DIV T1,HITEN(E2) ;SCALE BY A POWER OF TEN
2808 003120' 263 17 0 00 000000 POPJ P, ;RETURN
2809
2810 003121' 260 17 0 00 003077' EFMT3: CALL BINEXP ; GET BIN EXP THAT MATCHES DEC EXP
2811 003122' 303 11 0 07 000000 CAILE E3,(E1) ;IS THIS POWER OF TEN .GT. FRACTION?
2812 003123' 254 00 0 00 003127' JRST EFMT4 ;YES, IN THE EXPONENT
2813 003124' 306 11 0 07 000000 CAIN E3,(E1) ;MAYBE.
2814 003125' 311 01 0 10 003315' CAML T1,HITEN(E2) ;EXPONENTS ARE THE SAME COMPARE FRACT
2815 003126' 344 10 0 00 003121' AOJA E2,EFMT3 ;POWER OF TEN IS ONE TOO SMALL
2816
2817 003127' 260 17 0 00 003110' EFMT4: CALL FLODIV ;POWER OF TEN O.K., DO SCALING
2818 003130' 240 01 0 07 777600 ASH T1,-200(E1) ;SCALE FRACTION RIGHT
2819
2820 003131' 261 17 0 00 000001 EFMT7: PUSH P,T1 ;PRESERVE T1
2821 003132' 260 17 0 00 001466' CALL O$SPAC ;OUTPUT A SPACE
2822 003133' 262 17 0 00 000001 POP P,T1 ;GRAB IT BACK
2823 003134' 201 05 0 00 000016 MOVEI P1,^D14 ;LOAD FIELD WIDTH
2824 003135' 201 06 0 00 000010 MOVEI P2,^D8 ;NO. OF DECIMAL PLACES
2825 003136' 200 10 0 00 000006 MOVE E2,P2 ;
2826 003137' 200 07 0 00 000017 MOVE E1,P ;MARK BOTTOM OF STACK
2827 003140' 261 17 0 00 005673' PUSH P,[0] ;ALLOW FOR POSSIBLE OVERFLOW
2828 003141' 335 11 0 00 000010 SKIPGE E3,E2 ;GET NUMBER OF DIGITS
2829 003142' 201 11 0 00 000000 MOVEI E3,0 ;IF NEGATIVE ADD .5 TO FRACTION
2830 003143' 270 01 0 11 003246' ADD T1,RNDHGH(E3) ;ROUND TO CORRECT NUMBER OF DIGITS
2831 003144' 271 01 0 00 000001 ADDI T1,1 ;ROUND A LITTLE MORE
2832 003145' 627 01 0 00 400000 TLZN T1,(1B0) ;DID CARRY PROPAGATE TO BIT 0
2833 003146' 350 00 0 17 000000 AOS (P) ;YES, PROPAGATE CARRY TO LEADING 0
2834
2835 003147' 225 01 0 00 000012 EFMT11: MULI T1,^D10 ;MULTIPLY BY 10
2836 003150' 261 17 0 00 000001 PUSH P,T1 ;STORE DIGIT ON STACK
2837 003151' 200 01 0 00 000002 MOVE T1,T2 ;SET UP NEW FRACTION
2838 003152' 367 11 0 00 003147' SOJG E3,EFMT11 ;
2839
2840 003153' 201 11 0 07 000002 MOVEI E3,2(E1) ;GET BASE OF STACKED DIGITS
2841 003154' 200 12 0 07 000001 MOVE E4,1(E1) ;
2842 003155' 322 12 0 00 003160' JUMPE E4,EFMT14 ;DID OVERFLOW OCCUR?
2843 003156' 275 11 0 00 000001 SUBI E3,1 ;YES, MOVE BACK BASE POINTER
2844 003157' 271 04 0 00 000001 ADDI T4,1 ;NO, INCREMENT EXPONENT
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 57
DUMPR MAC 21-FEB-77 17:03 FORMATTED FLOATING POINT OUTPUT
2845 003160' 200 13 0 00 000005 EFMT14: MOVE E5,P1 ;GET WIDTH
2846 003161' 275 13 0 06 000002 SUBI E5,2(P2) ;SIGN,POINT,AND CHARS FOLLOWING
2847 003162' 275 13 0 00 000004 SUBI E5,4 ;ALLOW FOR E+00
2848 003163' 307 13 0 00 000001 FIT: CAIG E5,1 ;SPACE FOR LEADING BLANKS?
2849 003164' 254 00 0 00 003167' JRST GO2ERF ;NO LEADING BLANKS
2850 003165' 260 17 0 00 001466' CALL O$SPAC ;OUTPUT ONE
2851 003166' 364 13 0 00 003163' SOJA E5,FIT ;UNTIL ENOUGH
2852
2853 003167' 326 10 0 00 003171' GO2ERF: JUMPN E2,.+2 ;CHECK FOR NO SIGNIFICANT DIGITS
2854 003170' 661 00 0 00 000020 TLO F,FL$FL2 ;ENSURE ZEROS WILL BE PRINTED
2855 003171' 260 17 0 00 003215' CALL SIGN ;OUTPUT SIGN
2856 003172' 323 13 0 00 003174' JUMPLE E5,EFORM2 ;NO SPACE LEFT FOR "0"
2857 003173' 260 17 0 00 003212' CALL ZERO ;OUTPUT ZERO
2858 003174' 260 17 0 00 001467' EFORM2: CALL O$DOT ;AND DECIMAL POINT
2859 003175' 260 17 0 00 003221' CALL DIGIT ;OUTPUT FRACTIONAL DIGIT
2860 003176' 366 10 0 00 003200' SOJN E2,.+2 ;TOTAL COUNT EXPIRED?
2861 003177' 661 00 0 00 000020 TLO F,FL$FL2 ;YES, FLAG DIGITS EXHAUSTED
2862 003200' 367 06 0 00 003175' SOJG P2,.-3 ;RETURN IF MORE DIGITS
2863
2864 003201' 201 01 0 00 000105 MOVEI T1,"E" ;
2865 003202' 260 17 0 00 001437' CALL O$CHAR ;OUTPUT E
2866 003203' 325 04 0 00 003205' JUMPGE T4,EFORM5 ;ALWAYS + IF ZERO
2867 003204' 661 00 0 00 001000 TLO F,FL$NEG ;TRANSFER EXPONENT SIGN
2868
2869 003205' 260 17 0 00 003214' EFORM5: CALL PLUS ;PRINT SIGN
2870 003206' 201 13 0 00 000002 MOVEI E5,2 ;AND SET DIGIT COUNT
2871 003207' 200 17 0 00 000007 MOVE P,E1 ;RESTORE STACK POINTER
2872 003210' 214 01 0 00 000004 MOVM T1,T4 ;GET EXPONENT
2873 003211' 254 00 0 00 003227' JRST OUTP1 ;
2874
2875 ;OUTPUT
2876
2877 003212' 201 01 0 00 000060 ZERO: MOVEI T1,"0" ;GET A ZERO
2878 003213' 254 00 0 00 001437' PJRST O$CHAR ;PRINT IT
2879 003214' 334 01 0 00 005674' PLUS: SKIPA T1,[EXP "+"] ;LOAD UP A PLUS SIGN
2880 003215' 201 01 0 00 000040 SIGN: MOVEI T1," " ;
2881 003216' 623 00 0 00 001000 SIGN1: TLZE F,FL$NEG ;IS SIGN NEGATIVE?
2882 003217' 201 01 0 00 000055 MOVEI T1,"-" ;YES, SET IT
2883 003220' 254 00 0 00 001437' PJRST O$CHAR ;PRINT IT
2884
2885 003221' 201 01 0 00 000060 DIGIT: MOVEI T1,"0" ;SET DIGIT TO ZERO
2886 003222' 603 00 0 00 000020 TLNE F,FL$FL2 ;DO WE NEED TO PRINT A ZERO?
2887 003223' 254 00 0 00 001437' PJRST O$CHAR ;YES--PRINT IT
2888 003224' 200 01 0 11 000000 MOVE T1,(E3) ;GET A DIGIT
2889 003225' 271 01 0 00 000060 ADDI T1,"0" ;SET TO ASCII
2890 003226' 344 11 0 00 001437' AOJA E3,O$CHAR ;PRINT IT
2891
2892 003227' 201 04 0 00 000001 OUTP1: MOVEI T4,1 ;INITIALIZE DIGIT COUNT
2893 003230' 231 01 0 00 000012 OUTP2: IDIVI T1,^D10 ; DIVIDE FRACTION BY TEN
2894 003231' 261 17 0 00 000002 PUSH P,T2 ;SAVE DIGIT
2895 003232' 322 01 0 00 003234' JUMPE T1,OUTP3 ;IS FRACTION ZERO YET?
2896 003233' 344 04 0 00 003230' AOJA T4,OUTP2 ;NO, DO ALL DIGITS
2897
2898 003234' 311 04 0 00 000013 OUTP3: CAML T4,E5 ;YES, ANY LEADING SPACES?
2899 003235' 254 00 0 00 003240' JRST OUTP4 ;NO
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 57-1
DUMPR MAC 21-FEB-77 17:03 FORMATTED FLOATING POINT OUTPUT
2900 003236' 260 17 0 00 003212' CALL ZERO ;YES, PRINT ONE
2901 003237' 364 13 0 00 003234' SOJA E5,OUTP3 ;FINISH THEM
2902 003240' 262 17 0 00 000001 OUTP4: POP P,T1 ;GET A DIGIT
2903 003241' 271 01 0 00 000060 ADDI T1,"0" ;SET TO ASCII
2904 003242' 260 17 0 00 001437' CALL O$CHAR ;PRINT IT
2905 003243' 366 04 0 00 003240' SOJN T4,OUTP4 ;DO ALL OF THEM
2906 003244' 260 17 0 00 004462' CALL RESACS ;RESTORE ACS
2907 003245' 263 17 0 00 000000 POPJ P, ;DONE
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 58
DUMPR MAC 21-FEB-77 17:03 FLOATING POINT OUTPUT TABLES
2908 SUBTTL FLOATING POINT OUTPUT TABLES
2909
2910 003246' 600000 000000 RNDHGH: 600000,,000000
2911 003247' 414631 463146 414631,,463146
2912 003250' 401217 270243 401217,,270243
2913 003251' 400101 422335 400101,,422335
2914 003252' 400006 433342 400006,,433342
2915 003253' 400000 517426 400000,,517426
2916 003254' 400000 041433 400000,,041433
2917 003255' 400000 003265 400000,,003265
2918 003256' 400000 000253 400000,,000253
2919 003257' 400000 000021 400000,,000021
2920 003260' 400000 000001 400000,,000001
2921 003261' 400000 000000 400000,,000000
2922 003262' 400000 000000 400000,,000000
2923 003263' 400000 000000 400000,,000000
2924 003264' 400000 000000 400000,,000000
2925 003265' 400000 000000 400000,,000000
2926 003266' 400000 000000 400000,,000000
2927 003267' 400000 000000 400000,,000000
2928 003270' 400000 000000 400000,,000000
2929 000024 PTLEN=24
2930 003271' 274712 041444 274712,,041444
2931 003272' 354074 451755 354074,,451755
2932 003273' 223445 672164 223445,,672164
2933 003274' 270357 250621 270357,,250621
2934 003275' 346453 122766 346453,,122766
2935 003276' 220072 763671 220072,,763671
2936 003277' 264111 560650 264111,,560650
2937 003300' 341134 115022 341134,,115022
2938 003301' 214571 460113 214571,,460113
2939 003302' 257727 774136 257727,,774136
2940 003303' 333715 773165 333715,,773165
2941 003304' 211340 575011 211340,,575011
2942 003305' 253630 734214 253630,,734214
2943 003306' 326577 123257 326577,,123257
2944 003307' 206157 364055 206157,,364055
2945 003310' 247613 261070 247613,,261070
2946 003311' 321556 135307 321556,,135307
2947 003312' 203044 672274 203044,,672274
2948 003313' 243656 135307 243656,,135307
2949 003314' 314631 463146 314631,,463146
2950 003315' 200000 000000 HITEN: 200000,,000000
2951 003316' 240000 000000 240000,,000000
2952 003317' 310000 000000 310000,,000000
2953 003320' 372000 000000 372000,,000000
2954 003321' 234200 000000 234200,,000000
2955 003322' 303240 000000 303240,,000000
2956 003323' 364110 000000 364110,,000000
2957 003324' 230455 000000 230455,,000000
2958 003325' 276570 200000 276570,,200000
2959 003326' 356326 240000 356326,,240000
2960 003327' 225005 744000 225005,,744000
2961 003330' 272207 355000 272207,,355000
2962 003331' 350651 224200 350651,,224200
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 58-1
DUMPR MAC 21-FEB-77 17:03 FLOATING POINT OUTPUT TABLES
2963 003332' 221411 634520 221411,,634520
2964 003333' 265714 203644 265714,,203644
2965 003334' 343277 244615 343277,,244615
2966 003335' 216067 446770 216067,,446770
2967 003336' 261505 360566 261505,,360566
2968 003337' 336026 654723 336026,,654723
2969 003340' 212616 214044 212616,,214044
2970 003341' 255361 657055 255361,,657055
2971
2972 003342' 076101 105110 076101,,105110
2973 003343' 113117 122125 113117,,122125
2974 003344' 131134 137143 131134,,137143
2975 003345' 146151 155160 146151,,155160
2976 003346' 163167 172175 163167,,172175
2977 003347' 201204 207212 EXP10: 201204,,207212
2978 003350' 216221 224230 216221,,224230
2979 003351' 233236 242245 233236,,242245
2980 003352' 250254 257262 250254,,257262
2981 003353' 266271 274300 266271,,274300
2982 003354' 303000 000000 303000,,000000
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 59
DUMPR MAC 21-FEB-77 17:03 FILE READING ROUTINES
2983 SUBTTL FILE READING ROUTINES
2984
2985 ;CALL GETBUF TO GET NEXT BUFFER
2986 ;GETBUF HANDLES THE DIFFERENT MODES AND SETS UP W AS AN AOBJN WORD TO THE
2987 ;DATA
2988
2989 003355' 603 00 0 00 400000 GETBUF: TLNE F,FL$FOR ;FORTRAN BINARY?
2990 003356' 254 00 0 00 003530' JRST RDFORT ;YES--GO TO IT
2991 IFN FT$PHX,<
2992 003357' 607 12 0 00 000020 TLNN DC,(DV.MTA) ;MTA INPUT?
2993 003360' 607 00 0 00 200000 TLNN F,FL$PHY ;NO--/IREAD?
2994 003361' 304 00 0 00 000000 CAIA ;MTA OR DIR AND NOT /IREAD
2995 003362' 254 00 0 00 003373' JRST RDPHYX ;DIR DEV AND /IREAD
2996 >;END IFN FT$PHX
2997 003363' 260 17 0 00 004205' CALL XCTIO ;GET A BUFFER FULL
2998 003364' 056 01 0 00 000000 IN INPC, ;
2999 003365' 263 17 0 00 000000 POPJ P, ;END OF FILE
3000 003366' 550 13 0 00 005265' HRRZ W,IBHR+.BFPTR ;START THE AOBJ WORD
3001 003367' 201 13 0 13 000001 MOVEI W,1(W) ;POINT AT DATA
3002 003370' 210 01 0 00 005266' MOVN T1,IBHR+.BFCTR ;GET WORD COUNT
3003 003371' 504 13 0 00 000001 HRL W,T1 ;FINISH W
3004 003372' 254 00 0 00 004306' JRST $POPJ1 ;RETURN
3005
3006 IFN FT$PHX,<
3007 003373' 260 17 0 00 003002* RDPHYX: CALL .SAVE2## ;NEED A COUPLE OF REGISTERS
3008 003374' 260 17 0 00 003513' PHYX.0: CALL INPWRD ;GET IREAD WORD COUNT
3009 003375' 263 17 0 00 000000 POPJ P, ;EOF
3010 003376' 322 01 0 00 003374' JUMPE T1,PHYX.0 ;NO SUCH THING AS ZERO WORD COUNT
3011 003377' 603 01 0 00 777777 TLNE T1,-1 ;OR MORE THAN 2**18 WORDS/RECORD
3012 003400' 254 00 0 00 003436' JRST E$$IFU ;**IREAD FILE IS MESSED UP
3013 003401' 313 01 0 00 005465' CAMLE T1,BUFSIZ ;MUST BE LESS THAN THIS
3014 003402' 254 00 0 00 003440' JRST PHXLRG ;NO--TELL ABOUT LARGE RECORD AND FINISH UP
3015 003403' 213 00 0 00 000001 PHYX.4: MOVNS T1 ;NEGATE IT
3016 003404' 514 02 0 00 000001 HRLZ T2,T1 ;FORM AOBJ WORD
3017 003405' 540 02 0 00 005272' HRR T2,FORADR ;POINT TO THE BUFFER
3018 003406' 200 13 0 00 000002 MOVE W,T2 ;W IS SETUP NOW
3019 003407' 210 05 0 00 000001 MOVN P1,T1 ;GET WORD COUNT AS POSITIVE
3020 003410' 550 06 0 00 000002 HRRZ P2,T2 ;GET BUFFER ADDRESS
3021
3022 003411' 333 04 0 00 005266' PHYX.2: SKIPLE T4,IBHR+.BFCTR ;GET WORD COUNT--ARE ANY WORDS LEFT?
3023 003412' 254 00 0 00 003421' JRST PHYX.3 ;YES--GO USE THEM
3024 003413' 260 17 0 00 004205' CALL XCTIO ;NO--NEED A BUFFER
3025 003414' 056 01 0 00 000000 IN INPC, ;XCT'D
3026 003415' 334 00 0 00 000000 SKIPA ;EOF ALREADY?
3027 003416' 254 00 0 00 003411' JRST PHYX.2 ;PICK UP THE WORD COUNT
3028 003417' 260 17 0 00 004407' ERROR. EF$FTL,EBE,<EOF BEFORE END OF IREAD RECORD>
3029 003420' 300400 005704'
3030 003421' 313 04 0 00 000005 PHYX.3: CAMLE T4,P1 ;ARE THERE MORE THAN WHAT WE NEED?
3031 003422' 200 04 0 00 000005 MOVE T4,P1 ;YES--ONLY USE WHAT WE NEED
3032 003423' 204 01 0 00 005265' MOVS T1,IBHR+.BFPTR ;BEGIN THE BLT CTL WORD
3033 003424' 541 01 0 06 777777 HRRI T1,-1(P2) ;FORM OTHER HALF (-1 FOR NEXT INSTR)
3034 003425' 252 01 0 00 003426' AOBJP T1,.+1 ;EVERYTHING IS OFF BY ONE
3035 003426' 272 04 0 00 005265' ADDM T4,IBHR+.BFPTR ;INCREMENT PTR TO NEXT FREE WORD
3036 003427' 272 04 0 00 000006 ADDM T4,P2 ;ALSO ADJUST FORADR PTR
3037 003430' 213 00 0 00 000004 MOVNS T4 ;MAKE COUNT NEGATIVE
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 59-1
DUMPR MAC 21-FEB-77 17:03 FILE READING ROUTINES
3038 003431' 272 04 0 00 000005 ADDM T4,P1 ;DECREMENT WORD REQUIRED
3039 003432' 272 04 0 00 005266' ADDM T4,IBHR+.BFCTR ;DECREMENT BUFFER TOTAL
3040 003433' 251 01 0 06 777777 BLT T1,-1(P2) ;XFR THE WORDS
3041 003434' 327 05 0 00 003411' JUMPG P1,PHYX.2 ;JUMP IF NOT FINISHED WITH RECORD
3042 003435' 254 00 0 00 004306' JRST $POPJ1 ;DONE
3043 003436' 260 17 0 00 004407' E$$IFU: ERROR. EF$FTL,IFU,<IREAD FILE MESSED UP>
3044 003437' 300400 005712'
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 60
DUMPR MAC 21-FEB-77 17:03 FILE READING ROUTINES
3045 ;HERE WHEN RECORD TOO LARGE READING DISK IREAD FILE
3046
3047 003440' 260 17 0 00 003454' PHXLRG: CALL LRGERR ;TELL USER AND DUMP FILE ABOUT IT
3048 003441' 210 02 0 00 005465' MOVN T2,BUFSIZ ;GET - MAX BUFFER SIZE
3049 003442' 270 02 0 00 000001 ADD T2,T1 ;COMPUTE # WORDS EXTRA IN RECORD
3050 SAVE$ T2 ;SAVE WHILE WE COPY REST OF RECORD
3051 003444' 200 01 0 00 005465' MOVE T1,BUFSIZ ;SETUP T1 TO MAX RECORD SIZE
3052 003445' 260 17 0 00 003403' CALL PHYX.4 ;COPY FIRST PART (FILL FORBUF)
3053 003446' 254 00 0 00 003436' JRST E$$IFU ;SNH
3054 RESTR$ T2 ;COMPUTE # WORDS WE MUST SKIP
3055 003450' 260 17 0 00 003513' PHXL.2: CALL INPWRD ;GET ONE
3056 003451' 254 00 0 00 003436' JRST E$$IFU ;SNH
3057 003452' 367 02 0 00 003450' SOJG T2,PHXL.2 ;EAT THEM ALL
3058 003453' 254 00 0 00 004306' JRST $POPJ1 ;RETURN WITH ALL THAT WE COULD EAT
3059 >;END IFN FT$PHX
3060
3061 ;CALL HERE TO REPORT RECORD TOO LARGE TO TTY AND DUMP FILE
3062 ;T1 CONTAINS SIZE OF RECORD THAT WAS TOO LARGE
3063
3064 003454' 260 17 0 00 003523' LRGERR: CALL FRCTYO ;FORCE TTY OUTPUT (SO CRLF IS CORRECT)
3065 003455' 260 17 0 00 000341* CALL .TCRLF## ;NEW LINE TO TTY (.TCRLF PRESERVES T1!)
3066 003456' 260 17 0 00 003474' CALL RTLERR ;REPORT RECORD IN ERROR TO TTY
3067 003457' 602 12 0 00 000010 TRNE DC,(DV.TTY) ;IF TTY OUTPUT FILE
3068 003460' 263 17 0 00 000000 POPJ P, ;DON'T TELL HIM (HER) TWICE
3069 SAVE$ T1 ;SAVE RECORD SIZE
3070 003462' 260 17 0 00 001434' CALL O$CRLF ;FIRST SET TO NEW LINE
3071 003463' 260 17 0 00 001434' CALL O$CRLF ;AND SKIP ONE SO MESSAGE STANDS OUT
3072 003464' 201 01 0 00 001437' MOVEI T1,O$CHAR ;SET MY OUTPUT ROUTINE
3073 003465' 260 17 0 00 001235* CALL .TYOCH## ;WITH .TOUTS
3074 003466' 250 01 0 17 000000 EXCH T1,(P) ;SAVE OLD ROUTINE, RESTORE SIZE
3075 003467' 476 00 0 00 005170' SETOM ERRTYX ;FLAG EHNDLR NOT TO SWITCH OUTPUTS
3076 003470' 260 17 0 00 003474' CALL RTLERR ;REPORT LARGE RECORD TO DUMP FILE
3077 003471' 250 01 0 17 000000 XCHTYO: EXCH T1,(P) ;...
3078 003472' 260 17 0 00 003465* CALL .TYOCH## ;RESTORE SCANS OUTPUT
3079 003473' 254 00 0 00 004367' JRST TPOPJ ;RESTORE T1 AND RETURN
3080
3081 003474' 260 17 0 00 004407' RTLERR: WARN. EF$DEC!EF$NCR,RTL,<RECORD TOO LARGE - >
3082 003475' 300241 005717'
3083 003476' 260 17 0 00 003500' CALL TYFREC ;TYPE FILE AND RECORD LOCATION
3084 003477' 254 00 0 00 003455* PJRST .TCRLF## ;NEW LINE AND EXIT
3085 003500' TYFREC: SAVE$ T1 ;SAVE SIZE
3086 003501' 201 01 0 00 005720' STRNG$ < - FILE >
3087 003502' 260 17 0 00 000336*
3088 003503' 200 01 0 00 005305' MOVE T1,FILE
3089 003504' 260 17 0 00 000000* CALL .TDECW##
3090 003505' 201 01 0 00 005722' STRNG$ < RECORD >
3091 003506' 260 17 0 00 003502*
3092 003507' 200 01 0 00 005306' MOVE T1,RECORD
3093 003510' 340 01 0 00 000000 AOJ T1, ;REALLY C(RECORD)+1
3094 003511' 260 17 0 00 003504* CALL .TDECW##
3095 003512' 254 00 0 00 004367' PJRST TPOPJ ;RESTORE SIZE AND RETURN
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 61
DUMPR MAC 21-FEB-77 17:03 FILE READING ROUTINES
3096 ;CALL HERE TO GET ONE WORD FROM INPUT FILE
3097 ;CPOPJ1 WITH WORD IN T1 OR CPOPJ IF EOF
3098
3099 003513' 375 00 0 00 005266' INPWRD: SOSGE IBHR+.BFCTR ;ANY WORDS AT ALL?
3100 003514' 254 00 0 00 003517' JRST INPW.1 ;NO--GET SOME
3101 003515' 134 01 0 00 005265' ILDB T1,IBHR+.BFPTR ;YES--GET IT
3102 003516' 254 00 0 00 004306' JRST $POPJ1
3103 003517' 260 17 0 00 004205' INPW.1: CALL XCTIO ;GET A BUFFER
3104 003520' 056 01 0 00 000000 IN INPC,
3105 003521' 263 17 0 00 000000 POPJ P, ;EOF
3106 003522' 254 00 0 00 003513' JRST INPWRD ;GET A WORD NOW
3107
3108 ;CALL HERE TO FORCE OUTPUT TO TTY IF OUTPUT OPEN AND TTY IS OUTPUT FILE
3109
3110 003523' 607 00 0 00 000010 FRCTYO: TLNN F,FL$OPN ;OUTPUT FILE OPEN?
3111 003524' 263 17 0 00 000000 POPJ P, ;NO--DONT GET UNASSIGNED CHANNEL IO
3112 003525' 602 12 0 00 000010 TRNE DC,(DV.TTY) ;TTY DUMP?
3113 003526' 067 02 0 00 000000 OUTPUT OUTC, ;YES--MAKE MESSAGE APPEAR IN RIGHT PLACE
3114 003527' 263 17 0 00 000000 POPJ P,
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 62
DUMPR MAC 21-FEB-77 17:03 READ FORTRAN BINARY RECORDS
3115 SUBTTL READ FORTRAN BINARY RECORDS
3116
3117 003530' 260 17 0 00 001507* RDFORT: CALL .SAVE1## ;NEED A REGISTER
3118 003531' 400 13 0 00 000000 SETZ W, ;CLEAR WORD COUNT
3119 003532' 200 05 0 00 005272' MOVE P1,FORADR ;POINT AT THE ARRAY
3120 003533' 621 00 0 00 000420 TLZ F,FL$TMP!FL$FL2 ;FL$TMP IS THE "SAW TYPE 1 LSCW" FLAG
3121 ;FL$FL2 IS THE "RECORD TOO LARGE" FLAG
3122
3123 003534' 260 17 0 00 003513' RFOR.1: CALL INPWRD ;GET A WORD
3124 003535' 263 17 0 00 000000 POPJ P, ;END OF FILE
3125 003536' 607 01 0 00 003000 RFOR.3: TLNN T1,CW$ANY ;IS IT AN LSCW
3126 003537' 254 00 0 00 003602' JRST FORSRC ;NO--GO FIND ONE
3127 003540' 607 01 0 00 001000 TLNN T1,CW$1O3 ;TYPE 1 OR 3?
3128 003541' 254 00 0 00 003566' JRST FORCW2 ;NO--TYPE 2
3129 003542' 603 01 0 00 002000 TLNE T1,CW$TY3 ;TYPE 3?
3130 003543' 254 00 0 00 003571' JRST FORCW3 ;YES
3131
3132 ;HERE TO DO FORTRAN TYPE 1 LSCW
3133
3134 003544' 661 00 0 00 000400 FORCW1: TLO F,FL$TMP ;FLAG WE SAW ONE
3135 003545' 200 02 0 00 000001 FORCON: MOVE T2,T1 ;COPY LSCW
3136 003546' 201 01 0 01 777777 MOVEI T1,-1(T1) ;GET DATA WORD COUNT
3137 003547' 270 13 0 00 000001 ADD W,T1 ;UPDATE WORD COUNT
3138 003550' 603 00 0 00 000020 TLNE F,FL$FL2 ;ARE WE IN A LARGE RECORD?
3139 003551' 254 00 0 00 003561' JRST RFOR.5 ;YES--SKIP AHEAD
3140 003552' 313 13 0 00 005465' CAMLE W,BUFSIZ ;ROOM IN BUFFER?
3141 003553' 254 00 0 00 003625' JRST FORLRG ;NO--GO FIXUP
3142 003554' 504 01 0 00 005265' HRL T1,IBHR+.BFPTR ;GET LH OF BLT
3143 003555' 541 01 0 05 777777 HRRI T1,-1(P1) ;RH--(-1 SO WE CAN AOBJN)
3144 003556' 253 01 0 00 003557' AOBJN T1,.+1 ;MAKE IT RIGHT
3145 003557' 270 05 0 00 000002 ADD P1,T2 ;COMPUTE END OF BLT
3146 003560' 251 01 0 05 777777 RFOR.4: BLT T1,-1(P1) ;MOVE WORDS
3147 003561' 201 01 0 02 777777 RFOR.5: MOVEI T1,-1(T2) ;COUNT DATA WORDS EATEN
3148 003562' 272 01 0 00 005265' ADDM T1,IBHR+.BFPTR
3149 003563' 211 01 0 02 777777 MOVNI T1,-1(T2) ;...
3150 003564' 272 01 0 00 005266' ADDM T1,IBHR+.BFCTR
3151 003565' 254 00 0 00 003534' JRST RFOR.1 ;CONTINUE
3152
3153 003566' 607 00 0 00 000400 FORCW2: TLNN F,FL$TMP ;SEEN A TYPE 1?
3154 003567' 254 00 0 00 003602' JRST FORSRC ;NO--GO FIND ONE
3155 003570' 254 00 0 00 003545' JRST FORCON ;YES--CONTINUE COPYING RECORD
3156
3157 003571' 627 00 0 00 000020 FORCW3: TLZN F,FL$FL2 ;WAS RECORD TOO LARGE?
3158 003572' 254 00 0 00 003576' JRST FOR3.X ;NO--EXIT GRACEFULLY
3159 003573' 200 01 0 00 000013 MOVE T1,W ;YES--GET RECORD SIZE
3160 003574' 260 17 0 00 003454' CALL LRGERR ;REPORT LARGE RECORD
3161 003575' 550 13 0 00 005465' HRRZ W,BUFSIZ ;SET TO RETURN ONLY MAX
3162 003576' 210 13 0 00 000013 FOR3.X: MOVN W,W ;BEGIN TO COMPUTE AOBJN TO FORADR
3163 003577' 517 00 0 00 000013 HRLZS W
3164 003600' 540 13 0 00 005272' HRR W,FORADR ;NOW WE ARE DONE
3165 003601' 254 00 0 00 004306' JRST $POPJ1 ;SKIP BACK
3166
3167 003602' 260 17 0 00 003513' FORSRC: CALL INPWRD ;GET A WORD
3168 003603' 260 17 0 00 004407' ERROR. EF$FTL,IFF,<INCORRECTLY FORMATTED FORTRAN FILE>
3169 003604' 300400 005733'
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 62-1
DUMPR MAC 21-FEB-77 17:03 READ FORTRAN BINARY RECORDS
3170 003605' 607 01 0 00 776000 TLNN T1,776000 ;ANY LS?
3171 003606' 607 01 0 00 001000 TLNN T1,1000 ;TYPE 1?
3172 003607' 254 00 0 00 003602' JRST FORSRC ;NOPE
3173 003610' 200 02 0 00 005465' MOVE T2,BUFSIZ ;YES--GET /BUFSIZ
3174 003611' 305 02 0 01 000000 CAIGE T2,(T1) ;CAN IT BE?
3175 003612' 254 00 0 00 003602' JRST FORSRC ;NOPE
3176 003613' 550 02 0 00 005266' HRRZ T2,IBHR+.BFCTR ;GET WHAT IS LEFT IN BUFFER
3177 003614' 302 02 0 01 777777 CAIE T2,-1(T1) ;THE SAME?
3178 003615' 254 00 0 00 003602' JRST FORSRC ;NO
3179 003616' 550 02 0 00 005265' HRRZ T2,IBHR+.BFPTR ;GET PTR
3180 003617' 271 02 0 01 000000 ADDI T2,(T1) ;COMPUTE WHERE NEXT LSCW IS
3181 003620' 200 02 1 00 000002 MOVE T2,@T2 ;GET IT
3182 003621' 607 02 0 00 774000 TLNN T2,774000 ;IS IT AN LSCW?
3183 003622' 607 02 0 00 003000 TLNN T2,CW$ANY ;IS IT ANY LSCW?
3184 003623' 254 00 0 00 003602' JRST FORSRC ;NOT YET
3185 003624' 254 00 0 00 003536' JRST RFOR.3 ;YES--GO PROCESS IT
3186
3187 ;HERE WHEN WE SEE THAT THE RECORD IS TOO LARGE
3188
3189 003625' 661 00 0 00 000020 FORLRG: TLO F,FL$FL2 ;FLAG FOR FORCW3 THAT RECORD IS TOO LARGE
3190 003626' 504 01 0 00 005265' HRL T1,IBHR+.BFPTR ;GET SET TO MOVE WHAT WE CAN FROM THIS RECORD
3191 003627' 541 01 0 05 777777 HRRI T1,-1(P1) ;...
3192 003630' 253 01 0 00 003631' AOBJN T1,.+1 ;FIX PTR
3193 003631' 550 05 0 00 005272' HRRZ P1,FORADR ;COMPUTE END OF BUFFER
3194 003632' 270 05 0 00 005465' ADD P1,BUFSIZ ;...
3195 003633' 254 00 0 00 003560' JRST RFOR.4 ;GO MOVE WHAT WE CAN AND SKIP REST
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 63
DUMPR MAC 21-FEB-77 17:03 POSITIONING FUNCTIONS
3196 SUBTTL POSITIONING FUNCTIONS
3197
3198 003634' 603 00 0 00 002000 D$SKP: TLNE F,FL$OUT ;WHICH SIDE?
3199 003635' 607 12 0 00 000004 TLNN DC,(DV.DIR) ;INPUT--IS THIS DIRECTORY?
3200 003636' 602 12 0 00 000004 TRNE DC,(DV.DIR) ;OUTPUT--IS THIS DIRECTORY?
3201 003637' 254 00 0 00 003703' JRST SKPDIR ;DIRECTORY--GO SKIP IT
3202 003640' 603 00 0 00 400000 TLNE F,FL$FOR ;MTA--IS IT FORTRAN SKIP?
3203 003641' 254 00 0 00 003651' JRST SKMFOR ;YES--DO IT
3204 003642' 272 05 0 00 005305' ADDM P1,FILE ;INCREMENT FILE COUNT
3205 003643' 272 06 0 00 005306' ADDM P2,RECORD ;AND RECORD COUNT
3206 003644' 200 01 0 00 005734' MOVE T1,[MTSKF.] ;GET FILE MTAPE
3207 003645' 200 02 0 00 005735' MOVE T2,[MTSKR.] ;AND RECORD MTAPE
3208 003646' 260 17 0 00 003660' DSKP.G: CALL SETIOC ;SET I/O CHANNELS IN
3209 003647' 260 17 0 00 003672' CALL SKPFLR ;DO THEM
3210 003650' 254 00 0 00 000354' JRST DMPLUP ;CONTINUE
3211
3212 ;HERE TO SKIP FORTRAN BINARY ON MTA
3213
3214 003651' 200 01 0 00 005734' SKMFOR: MOVE T1,[MTSKF.] ;SKIP FILES
3215 003652' 260 17 0 00 003660' CALL SETIOC ;SETUP FOR IT
3216 003653' 256 00 0 00 000001 SKMF.1: XCT T1 ;SKIP ONE FILE
3217 003654' 256 00 0 00 000003 XCT T3 ;WAIT FOR IT
3218 003655' 350 00 0 00 005305' AOS FILE ;COUNT THE FILE
3219 003656' 367 05 0 00 003653' SOJG P1,SKMF.1 ;DO ALL NEEDED
3220 003657' 254 00 0 00 003717' JRST SKDFOR ;GO SKIP RECORDS AND FINISH UP
3221
3222 003660' 603 00 0 00 002000 SETIOC: TLNE F,FL$OUT ;INPUT OR OUTPUT?
3223 003661' 254 00 0 00 003666' JRST SETI.1 ;INPUT
3224 003662' 661 01 0 00 000100 TLO T1,(Z OUTC,) ;SET IN CHANNEL
3225 003663' 661 02 0 00 000100 TLO T2,(Z OUTC,) ;...
3226 003664' 200 03 0 00 005736' MOVE T3,[MTWAT. OUTC,] ;SET INSTR TO WAIT ON I/O
3227 003665' 263 17 0 00 000000 POPJ P,
3228 003666' 661 01 0 00 000040 SETI.1: TLO T1,(Z INPC,) ;INPUT CHANNEL
3229 003667' 661 02 0 00 000040 TLO T2,(Z INPC,)
3230 003670' 200 03 0 00 005737' MOVE T3,[MTWAT. INPC,] ;INSTR TO WAIT ON I/O
3231 003671' 263 17 0 00 000000 POPJ P,
3232
3233 003672' 323 05 0 00 003676' SKPFLR: JUMPLE P1,SKPL.1 ;JUMP IF NO FILE ACTION
3234 003673' 256 00 0 00 000001 SKPL.0: XCT T1 ;DO IT
3235 003674' 256 00 0 00 000003 XCT T3 ;WAIT FOR OP TO FINISH
3236 003675' 367 05 0 00 003673' SOJG P1,SKPL.0 ;ALL REQUESTED TIMES
3237 003676' 323 06 0 00 004307' SKPL.1: JUMPLE P2,$POPJ ;JUMP IF NO RECORDS
3238 003677' 256 00 0 00 000002 SKPL.2: XCT T2
3239 003700' 256 00 0 00 000003 XCT T3 ;WAIT FOR I/O
3240 003701' 367 06 0 00 003677' SOJG P2,SKPL.2
3241 003702' 263 17 0 00 000000 POPJ P,
3242
3243 003703' 327 05 0 00 003726' SKPDIR: JUMPG P1,E$$SFI ;SKIPPING FILES IS HIGHLY ILLEGAL
3244 003704' 603 00 0 00 600000 TLNE F,FL$FOR!FL$PHY ;FORTRAN OR PHYSICS?
3245 003705' 254 00 0 00 003717' JRST SKDFOR ;YES
3246 003706' 336 01 0 00 005306' SKIPN T1,RECORD ;WHERE ARE WE NOW?
3247 003707' 201 01 0 00 000001 MOVEI T1,1 ;MUST BE AT THE BEGINNING
3248 003710' 271 01 0 06 777777 ADDI T1,-1(P2) ;COMPUTE NEW RECORD
3249 003711' 313 01 0 00 005261' CAMLE T1,IFILSZ ;DON'T USETI PAST EOF
3250 003712' 200 01 0 00 005261' MOVE T1,IFILSZ ;...
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 63-1
DUMPR MAC 21-FEB-77 17:03 POSITIONING FUNCTIONS
3251 003713' 202 01 0 00 005306' MOVEM T1,RECORD ;...
3252 003714' 074 01 0 01 000001 USETI INPC,1(T1) ;SET TO READ IT
3253 003715' 260 17 0 00 004050' CALL CLRUSE ;CLEAR USE BITS FOR FRESH READ
3254 003716' 254 00 0 00 000354' JRST DMPLUP ;CONTINUE EXECUTING FNS
3255
3256 003717' 661 00 0 00 000200 SKDFOR: TLO F,FL$MNP ;FLAG MANIPULATING
3257 003720' 260 17 0 00 003355' SKDF.1: CALL GETBUF ;READ A RECORD
3258 003721' 254 00 0 00 000615' JRST DMPEND ;END IT ALL
3259 003722' 350 00 0 00 005306' AOS RECORD ;COUNT THE RECORD
3260 003723' 367 06 0 00 003720' SOJG P2,SKDF.1 ;DO ALL REQUESTED
3261 003724' 621 00 0 00 000200 TLZ F,FL$MNP ;NOT MANIPULATING ANY MORE
3262 003725' 254 00 0 00 000354' JRST DMPLUP ;CONTINUE
3263 003726' 260 17 0 00 004407' E$$SFI: ERROR. EF$FTL,SFI,<SKIP/BACKSPACE FILES ILLEGAL ON DIRECTORY DEVICE>
3264 003727' 300400 005752'
3265
3266 003730' D$BSP:
3267 003730' 603 00 0 00 002000 TLNE F,FL$OUT ;INPUT OR OUTPUT?
3268 003731' 607 12 0 00 000004 TLNN DC,(DV.DIR) ;INPUT--IS IT A DIR DEV?
3269 003732' 602 12 0 00 000004 TRNE DC,(DV.DIR) ;OUTPUT--IS IT A DIR DEV?
3270 003733' 254 00 0 00 003747' JRST BSPDIR ;DIR DEV--GO DO IT
3271 003734' 603 00 0 00 400000 TLNE F,FL$FOR ;IS IT /FORTRAN?
3272 003735' 254 00 0 00 003745' JRST E$$SFM ;CANT
3273 003736' 210 01 0 00 000005 MOVN T1,P1 ;UPDATE FILE AND RECORD
3274 003737' 272 01 0 00 005305' ADDM T1,FILE ;COUNTS
3275 003740' 210 01 0 00 000006 MOVN T1,P2 ;...
3276 003741' 272 01 0 00 005306' ADDM T1,RECORD
3277 003742' 200 01 0 00 005753' MOVE T1,[MTBSF.] ;SETUP OPS
3278 003743' 200 02 0 00 005754' MOVE T2,[MTBSR.]
3279 003744' 254 00 0 00 003646' JRST DSKP.G ;GO DO IT AND RETURN
3280
3281 003745' 260 17 0 00 004407' E$$SFM: ERROR. EF$FTL,SFM,<CANT BACKSPACE MTA WITH /FORTRA>
3282 003746' 300400 005764'
3283
3284 003747' 327 05 0 00 003726' BSPDIR: JUMPG P1,E$$SFI ;CAN'T SKIP MULTIPLE FILES ON DIR DEV
3285 003750' 607 00 0 00 002000 TLNN F,FL$OUT ;NOR ON OUPTUT DEVICE
3286 003751' 254 00 0 00 003766' JRST E$$BSO ;GO DIE
3287 003752' 336 01 0 00 005306' SKIPN T1,RECORD ;WHERE ARE WE?
3288 003753' 201 01 0 00 000001 MOVEI T1,1 ;DON'T KNOW--MUST BE AT START OF FILE
3289 003754' 274 01 0 00 000006 SUB T1,P2 ;COMPUTE NEW POSITION
3290 003755' 337 00 0 00 000001 SKIPG T1 ;PAST BEGINNING OF FILE?
3291 003756' 201 01 0 00 000001 MOVEI T1,1 ;YES--SET FOR FIRST RECORD
3292 003757' 603 00 0 00 600000 TLNE F,FL$FOR!FL$PHY ;FORTRAN OR PHYSICS?
3293 003760' 254 00 0 00 003770' JRST BSPFOR ;YES--GO HANDLE IT
3294 003761' 074 01 0 01 000000 USETI INPC,(T1) ;POSITION MYSELF THERE
3295 003762' 370 00 0 00 000001 SOS T1 ;ONE LESS TO STORE IN RECORD
3296 003763' 202 01 0 00 005306' MOVEM T1,RECORD ;WILL GET UPDATE AT RECHDR
3297 003764' 260 17 0 00 004050' CALL CLRUSE ;CLEAR USE BITS
3298 003765' 254 00 0 00 000354' JRST DMPLUP
3299
3300 003766' 260 17 0 00 004407' E$$BSO: ERROR. EF$FTL,BSO,<CANT BACKSPACE DISK OUTPUT>
3301 003767' 300400 005773'
3302
3303 003770' 200 06 0 00 000001 BSPFOR: MOVE P2,T1 ;POSITION # RECS TO SKIP
3304 003771' 074 01 0 00 000001 USETI INPC,1 ;POSITION TO FILE START
3305 003772' 260 17 0 00 004050' CALL CLRUSE ;CLEAR USE BITS
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 63-2
DUMPR MAC 21-FEB-77 17:03 POSITIONING FUNCTIONS
3306 003773' 402 00 0 00 005306' SETZM RECORD ;RESET
3307 003774' 363 06 0 00 000354' SOJLE P2,DMPLUP ;JUMP IF WE ARE IN PROPER POSITION
3308 003775' 254 00 0 00 003717' JRST SKDFOR ;NO--GO SKIP SOME RECORDS
3309
3310 ;HERE TO PROCESS /REWIND
3311
3312 003776' 607 00 0 00 002000 D$REW: TLNN F,FL$OUT ;OUTPUT SIDE?
3313 003777' 602 12 0 00 000020 TRNE DC,(DV.MTA) ;YES--IS IT A MAGTAPE
3314 004000' 304 00 0 00 000000 CAIA ;INPUT DEVICE OR OUTPUT IS MTA
3315 004001' 260 17 0 00 004407' ERROR. EF$FTL,CRD,<CANNOT REWIND DISK OUTPUT>
3316 004002' 300400 006002'
3317 004003' 402 00 0 00 005305' SETZM FILE ;CLEAR FILE AND RECORD
3318 004004' 402 00 0 00 005306' SETZM RECORD ;...
3319 004005' 603 00 0 00 002000 TLNE F,FL$OUT ;INPUT SIDE?
3320 004006' 607 12 0 00 000004 TLNN DC,(DV.DIR) ;A DIRECTORY DEVICE?
3321 004007' 254 00 0 00 004013' JRST REWMTA ;OUTPUT OR INPUT NOT DIRECTORY
3322 004010' 074 01 0 00 000001 USETI INPC,1 ;SET TO READ FIRST BLOCK
3323 004011' 260 17 0 00 004050' CALL CLRUSE ;CLEAR THE USE BITS IN THE RING
3324 004012' 254 00 0 00 000354' JRST DMPLUP ;DO NEXT COMMAND
3325 004013' 200 01 0 00 006003' REWMTA: MOVE T1,[MTREW.] ;SET UP FUNCTION
3326 004014' 603 00 0 00 002000 TLNE F,FL$OUT ;INPUT OR OUTPUT?
3327 004015' 665 01 0 00 000040 TLOA T1,(Z INPC,) ;INPUT SIDE
3328 004016' 661 01 0 00 000100 TLO T1,(Z OUTC,) ;OUTPUT SIDE
3329 004017' 256 00 0 00 000001 XCT T1 ;REWIND THE DEVICE
3330 004020' 254 00 0 00 000354' JRST DMPLUP ;NEXT COMMAND
3331
3332 004021' 603 00 0 00 002000 D$RIB: TLNE F,FL$OUT ;MUST BE INPUT SIDE
3333 004022' 607 12 0 00 200000 TLNN DC,(DV.DSK) ;AND ON THE DSK
3334 004023' 260 17 0 00 004407' ERROR. EF$FTL,RIB,</RIB ILLEGAL ON OUTPUT OR ILLEGAL DEVICE FOR /RIB>
3335 004024' 300400 006016'
3336 004025' 074 01 0 00 000000 USETI INPC,0 ;POSITION TO READ THE RIB
3337 004026' 260 17 0 00 004050' CALL CLRUSE ;CLEAR THE USE BITS
3338 004027' 254 00 0 00 000354' JRST DMPLUP ;BACK FOR MORE
3339
3340 004030' 321 05 0 00 004046' D$ONL: JUMPL P1,E$$ONL ;CHECK FOR BAD NUMBERS
3341 004031' 321 06 0 00 004046' JUMPL P2,E$$ONL ;..
3342 004032' 200 01 0 00 000005 MOVE T1,P1 ;NOW SEE IF /ONLY WITH NO ARGS
3343 004033' 671 01 0 00 000006 TSO T1,P2 ;WHICH MEANS TO TURN OFF THE MODE
3344 004034' 322 01 0 00 004044' JUMPE T1,D$ONLF ;SO GO DO THAT
3345 004035' 315 06 0 00 000005 CAMGE P2,P1 ;END MUST BE AT LEAST AS BIG AS BEGINNING
3346 004036' 254 00 0 00 004046' JRST E$$ONL ;LOOSE
3347 004037' 336 00 0 00 000005 SKIPN P1 ;MAKE SURE WE HAVE AT LEAST ONE
3348 004040' 201 05 0 00 000001 MOVEI P1,1 ;...
3349 004041' 202 05 0 00 005312' MOVEM P1,ONLYLO ;SAVE LOW LIMIT
3350 004042' 202 06 0 00 005313' MOVEM P2,ONLYHI ;AND HIGH LIMIT
3351 004043' 665 00 0 00 000040 TLOA F,FL$OLY ;TELL DUMPIT WE ARE ONLY DUMPING PARTIAL REC
3352 004044' 621 00 0 00 000040 D$ONLF: TLZ F,FL$OLY ;HERE WE TURN OFF IF /ONLY OR /ONLY:0
3353 004045' 254 00 0 00 000354' JRST DMPLUP ;CONTINUE FUNCTIONS
3354 004046' 260 17 0 00 004407' E$$ONL: ERROR. EF$FTL,OIS,</ONLY INCORRECTLY SPECIFIED>
3355 004047' 300400 006025'
3356
3357 004050' 047 01 0 00 000010 CLRUSE: WAIT INPC, ;WAIT FOR THINGS TO SETTLE OUT
3358 004051' 550 01 0 00 005264' HRRZ T1,IBHR+.BFADR ;START AT THE BEGINNING
3359 004052' 550 02 0 00 000001 HRRZ T2,T1 ;COPY TO MOVE AROUND
3360 004053' 205 03 0 00 400000 MOVSI T3,(BF.IOU) ;BIT TO CLEAR
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 63-3
DUMPR MAC 21-FEB-77 17:03 POSITIONING FUNCTIONS
3361 004054' 412 03 0 02 000000 CLRU.1: ANDCAM T3,(T2) ;CLEAR THE USE BIT
3362 004055' 550 02 0 02 000000 HRRZ T2,(T2) ;MOVE TO NEXT
3363 004056' 316 02 0 00 000001 CAMN T2,T1 ;DONE?
3364 004057' 254 00 0 00 004054' JRST CLRU.1 ;NO
3365 004060' 205 03 0 00 400000 MOVSI T3,(BF.VBR) ;YES--NOW FIX BUFFER HEADER
3366 004061' 436 03 0 00 005264' IORM T3,IBHR+.BFADR
3367 004062' 263 17 0 00 000000 POPJ P, ;ALL DONE
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 64
DUMPR MAC 21-FEB-77 17:03 ATTEND TO TTY INPUT WHILE RUNNING
3368 SUBTTL ATTEND TO TTY INPUT WHILE RUNNING
3369
3370 ;CHKTTY -- SEE IF A COMMAND TYPED WHILE RUNNING
3371 ;CALL: CALL CHKTTY
3372 ; *SAID TO KILL*
3373 ; *KEEP GOING*
3374
3375 004063' 603 00 0 00 010000 CHKTTY: TLNE F,FL$ITY ;/IFTYP
3376 004064' 051 02 0 00 000001 INCHRS T1 ;YES--GET CHAR IF THERE
3377 004065' 254 00 0 00 004306' JRST $POPJ1 ;NO /IFTYP OR NO CHAR
3378 004066' 051 11 0 00 000000 CLRBFI ;EAT WHAT MIGHT BE LEFT
3379 004067' 205 02 0 00 777775 MOVSI T2,-N$IFTC ;AOBJN COUNTER
3380 004070' 312 01 0 02 004076' CAME T1,IFTCMD(T2) ;THIS IT?
3381 004071' 253 02 0 00 004070' AOBJN T2,.-1
3382 004072' 321 02 1 02 004101' JUMPL T2,@IFTDSP(T2) ;JUMP IF FOUND A GOOD ONE
3383 004073' 201 01 0 00 000007 MOVEI T1,.CHBEL ;NO--GET A BELL
3384 004074' 350 00 0 17 000000 AOS (P) ;SET TO SKIP BACK
3385 004075' 254 00 0 00 000000* PJRST .TCHAR## ;TYPE BELL AND CONTINUE
3386
3387 004076' 000000 000111 IFTCMD: EXP "I" ;IGNORE IFTYP
3388 004077' 000000 000113 EXP "K" ;KILL COMMAND
3389 004100' 000000 000120 EXP "P" ;PAUSE COMMAND
3390 000003 N$IFTC==.-IFTCMD
3391
3392 004101' 000000 004104' IFTDSP: EXP IFTIGN ;IGNORE
3393 004102' 000000 004307' EXP $POPJ ;KILL
3394 004103' 000000 004106' EXP CHKT.P ;PAUSE
3395
3396 004104' 621 00 0 00 010000 IFTIGN: TLZ F,FL$ITY ;CLEAR /IFTYP
3397 004105' 254 00 0 00 004306' PJRST $POPJ1 ;SKIP BACK
3398
3399 004106' 260 17 0 00 003477* CHKT.P: CALL .TCRLF## ;NEW LINE
3400 004107' 260 17 0 00 004407' INFO. 0,PTC,<PAUSING--TYPE ANY CHARACTER TO CONTINUE>
3401 004110' 300100 006036'
3402 004111' 350 00 0 17 000000 AOS (P) ;SKIP BACK
3403 004112' 051 11 0 00 000000 GCHNWL: CLRBFI ;CLEAR INPUT
3404 004113' 051 00 0 00 000001 INCHRW T1 ;GET A CHARACTER
3405 004114' 051 11 0 00 000000 CLRBFI ;EAT REAST
3406 OUTSTR [ASCIZ/
3407 004115' 051 03 0 00 006037' /]
3408 004116' 263 17 0 00 000000 POPJ P, ;RETURN
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 65
DUMPR MAC 21-FEB-77 17:03 OPEN I/O CHANNELS
3409 SUBTTL OPEN I/O CHANNELS
3410 ;OPENIO
3411 ;CALL: MOVEI T1,<FDB ADDR>
3412 ; CALL OPENIO
3413 ; CAI CHANNEL,BUFADR ;@ IF OUTPUT, (MODE)
3414 ; *ALL IS WELL RETURN* ;ABORT IF FAIL
3415
3416 004117' 504 01 0 17 000000 OPENIO: HRL T1,0(P) ;REMEMBER CALLER
3417 004120' 350 00 0 17 000000 AOS 0(P) ;SKIP ARGS ON RETURN
3418 004121' 260 17 0 00 002557* CALL .SAVE3## ;PRESERVE REGISTERS
3419 004122' 204 05 0 00 000001 MOVS P1,T1 ;COPY ARGUMENTS
3420 004123' 200 06 0 05 000000 MOVE P2,(P1) ;GET REST OF THEM
3421 004124' 402 00 0 00 005054' STORE T1,OPNBLK,LKPBLK+.RBTIM,0 ;CLEAR ANY RESIDUE IN BLOCK
3422 004125' 200 01 0 00 006040'
3423 004126' 251 01 0 00 005114'
3424 004127' 205 01 0 00 000032 MOVSI T1,.FXLEN ;SETUP FOR .STOPB
3425 004130' 544 01 0 00 000005 HLR T1,P1 ;...
3426 004131' 201 02 0 00 005054' MOVEI T2,OPNBLK ;
3427 004132' 334 03 0 00 004133' SKIPA T3,.+1
3428 004133' 000036 005057' .RBTIM+1,,LKPBLK
3429 004134' 201 04 0 00 005115' MOVEI T4,PTHBLK
3430 004135' 260 17 0 00 000000* CALL .STOPB## ;CONVERT TO OPEN/LOOKUP BLOCKS
3431 004136' 254 00 0 00 004171' JRST WLDERR ;NO WILDCARDING!
3432 004137' 201 01 0 00 000035 MOVEI T1,.RBTIM ;SETUP COUNT
3433 004140' 202 01 0 00 005057' MOVEM T1,LKPBLK+.RBCNT
3434 004141' 135 01 0 00 006041' LDB T1,[POINT 4,P2,17] ;GET MODE
3435 004142' 202 01 0 00 005054' MOVEM T1,OPNBLK ;STORE IN OPEN BLOCK
3436 004143' 550 01 0 00 000006 HRRZ T1,P2 ;BUFFER HEADER ADDRESS
3437 004144' 603 06 0 00 000020 TLNE P2,ATSIGN ;READ OR WRITE?
3438 004145' 207 00 0 00 000001 MOVSS T1 ;WRITING, POSITON FOR IT
3439 004146' 202 01 0 00 005056' MOVEM T1,OPNBLK+.OPBUF;STORE
3440 004147' 135 07 0 00 006042' LDB P3,[POINT 4,P2,12] ;GET I/O CHANNEL
3441 004150' 242 07 0 00 000005 LSH P3,5 ;POSITION
3442 004151' 207 00 0 00 000007 MOVSS P3 ;IN CHANNEL POSITION
3443 004152' 200 01 0 00 006043' MOVE T1,[OPEN OPNBLK];FORM INSTR
3444 004153' 434 01 0 00 000007 OR T1,P3 ;FINISH
3445 004154' 256 00 0 00 000001 XCT T1 ;TRY TO OPEN DEVICE
3446 004155' 254 00 0 00 004166' JRST OPENER ;CAN'T--BOMB OUT
3447
3448 004156' 200 01 0 00 000007 MOVE T1,P3 ;REGET I/O CHANNEL
3449 004157' 603 06 0 00 000020 TLNE P2,ATSIGN ;READ/WRITE?
3450 004160' 665 01 0 00 077000 TLOA T1,(ENTER) ;WRITE
3451 004161' 661 01 0 00 076000 TLO T1,(LOOKUP) ;READ
3452 004162' 541 01 0 00 005057' HRRI T1,LKPBLK ;COMPLETE INSTR
3453 004163' 256 00 0 00 000001 XCT T1 ;FIND/WRITE THE FILE
3454 004164' 254 00 0 00 004174' JRST LKENER ;CAN'T
3455 004165' 263 17 0 00 000000 POPJ P, ;DONE
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 67
DUMPR MAC 21-FEB-77 17:03 OPEN I/O CHANNELS
3456 ;OPENIO ERRORS
3457
3458 004166' 554 01 0 00 000005 OPENER: HLRZ T1,P1 ;COPY FDB ADDR
3459 004167' 260 17 0 00 004407' ERROR. EF$FTL!EF$FIL,COD,<CAN'T OPEN DEVICE, FILE >
3460 004170' 300406 006051'
3461
3462 004171' 554 01 0 00 000005 WLDERR: HLRZ T1,P1 ;GET FDB
3463 004172' 260 17 0 00 004407' ERROR. EF$FTL!EF$FIL,WFI,<WILDCARD FILESPEC ILLEGAL, FILE >
3464 004173' 300406 006061'
3465
3466 004174' 550 01 0 00 005062' LKENER: HRRZ T1,LKPBLK+.RBEXT;GET FAIL CODE
3467 004175' 260 17 0 00 004407' ERROR. EF$ERR!EF$OCT!EF$NCR,LER,<LOOKUP/ENTER ERROR(>
3468 004176' 300042 006066'
3469 004177' 201 01 0 00 006067' STRNG$ <) FILE >
3470 004200' 260 17 0 00 003506*
3471 004201' 554 01 0 00 000005 HLRZ T1,P1
3472 004202' 260 17 0 00 000000* CALL .TFBLK## ;TYPE SCAN BLOCK
3473 004203' 260 17 0 00 004106* CALL .TCRLF## ;NEW LINE
3474 004204' 254 00 0 00 004475' JRST ERRFTL ;GO DIE
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 69
DUMPR MAC 21-FEB-77 17:03 XCTIO EXECUTES IN/OUT UUO WITH ERROR HANDLING
3475 SUBTTL XCTIO EXECUTES IN/OUT UUO WITH ERROR HANDLING
3476
3477 ;XCTIO
3478 ;CALL: CALL XCTIO
3479 ; <INSTR TO XCT> ;IN/OUT UUO
3480 ; *EOF/EOT RETURN*
3481 ; *NORMAL RETURN*
3482
3483 004205' 256 00 1 17 000000 XCTIO: XCT @0(P) ;DO THE INSTR
3484 004206' 254 00 0 00 004305' JRST $POPJ2 ;OK--SKIP 2 AND RETURN
3485 SAVE$ T1 ;OOPS--SAVE T1
3486 004210' 200 01 1 17 777777 MOVE T1,@-1(P) ;GET INSTR WE FAILED ON
3487 004211' 350 00 0 17 777777 AOS -1(P) ;SKIP INSTR ON WAY BACK
3488 004212' 404 01 0 00 006071' XCTIOE: AND T1,[17B12] ;ERROR--GET THE CHANNEL
3489 004213' 261 17 0 00 000003 PUSH P,T3 ;SAVE T3 A SECOND
3490 004214' 200 03 0 00 000001 MOVE T3,T1 ;GET CHANNEL
3491 004215' 434 03 0 00 006072' OR T3,[WAIT] ;WAIT FOR I/O TO CEASE
3492 004216' 256 00 0 00 000003 XCT T3 ;DO IT NOW
3493 004217' 262 17 0 00 000003 POP P,T3 ;GET T3 BACK
3494 004220' 434 01 0 00 006073' OR T1,[GETSTS T2] ;GET ERRROR BITS
3495 004221' 256 00 0 00 000001 XCT T1
3496 004222' 602 02 0 00 022000 TRNE T2,IO.EOF!IO.EOT;END OF SOMETHING?
3497 004223' 254 00 0 00 004367' JRST TPOPJ ;YES
3498 004224' 250 01 0 00 000002 EXCH T1,T2 ;NO--GET BITS IN RIGHT PLACE, SAVE I/O INSTR
3499 004225' 540 02 0 00 000001 HRR T2,T1 ;PUT BITS IN THE INSTR
3500 004226' 620 02 0 00 740000 TRZ T2,IO.ERR ;CLEAR ERROR BITS
3501 004227' 621 02 0 00 002000 TLZ T2,002000 ;BY MAJIK, A GETSTS BECOMES A SETSTS
3502 004230' 256 00 0 00 000002 XCT T2 ;CLEAR THE ERROR BITS
3503 004231' 135 02 0 00 006074' LDB T2,[POINT 4,T2,12] ;GET IO CHANNEL
3504 SAVE$ T2 ;SAVE CHAN ON PDL
3505 004233' 302 02 0 00 000001 CAIE T2,INPC ;INPUT?
3506 004234' 254 00 0 00 004243' JRST XCTI.1 ;NO--ALWAYS MESSAGE THEM
3507 004235' 607 00 0 00 000200 TLNN F,FL$MNP ;READING TO SKIP?
3508 004236' 333 00 0 00 005471' SKIPLE FLNTRY ;OR NOT /NORETRY
3509 004237' 254 00 0 00 004371' JRST ETPJ1 ;ONE OR THE OTHER GETS NO MESSAGE
3510 004240' 200 02 0 00 005466' MOVE T2,FLERR ;GET /ERROR VALUE
3511 004241' 306 02 0 00 000002 CAIN T2,ERRIGN ;IS IT /ERROR:IGNORE?
3512 004242' 254 00 0 00 004371' JRST ETPJ1 ;YES--DON'T GRIPE
3513 004243' XCTI.1: RESTR$ T2 ;GET CHAN BACK
3514 004244' 260 17 0 00 004251' CALL TELIOE ;TELL OF THE ERROR
3515 004245' 333 01 0 00 005466' SKIPLE T1,FLERR ;GET /ERROR:ARG FLAG
3516 004246' 302 01 0 00 000003 CAIE T1,ERRQUE ;WAS IT /ERROR:QUERY?
3517 004247' 254 00 0 00 004365' JRST XIOCON ;NO--TELL CONTINUING AND EXIT THIS CALL
3518 004250' 254 00 0 00 004341' JRST GEROPT ;YES--SEE WHAT HE (SHE) WANTS TO DO
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 70
DUMPR MAC 21-FEB-77 17:03 XCTIO EXECUTES IN/OUT UUO WITH ERROR HANDLING
3519 004251' 260 17 0 00 003523' TELIOE: CALL FRCTYO ;FORCE TTY OUTPUT
3520 004252' 260 17 0 00 004203* CALL .TCRLF## ;NEW LINE
3521 004253' 260 17 0 00 004270' CALL TELIO1 ;TELL TO USERS TTY
3522 004254' 306 02 0 00 000001 CAIN T2,INPC ;IF NOT INPUT CHANNEL OR,
3523 004255' 602 12 0 00 000010 TRNE DC,(DV.TTY) ;IF OUTPUT IS ALSO TO TTY
3524 004256' 263 17 0 00 000000 POPJ P, ;THEN WE ARE DONE
3525 SAVE$ T1 ;NO--SAVE T1
3526 004260' 260 17 0 00 001434' CALL O$CRLF ;NEW LINE
3527 004261' 260 17 0 00 001434' CALL O$CRLF ;AND ANOTHER
3528 004262' 201 01 0 00 001437' MOVEI T1,O$CHAR ;SETUP ROUTINE
3529 004263' 260 17 0 00 003472* CALL .TYOCH## ;WITH SCAN
3530 004264' 250 01 0 17 000000 EXCH T1,(P) ;REMEMBER OLD ONE
3531 004265' 476 00 0 00 005170' SETOM ERRTYX ;TELL EHNDLR TO NOT SWITCH THEM NOW
3532 004266' 260 17 0 00 004270' CALL TELIO1 ;TELL ERROR TO LISTING
3533 004267' 254 00 0 00 003471' PJRST XCHTYO ;FIXUP OUTPUT AND RETURN
3534
3535 004270' 260 17 0 00 004407' TELIO1: WARN. EF$NCR!EF$OCT,IOE,<I/O ERROR - STATUS=>
3536 004271' 300242 006101'
3537 004272' 260 17 0 00 004310' CALL TELPRB ;DECODE BITS FOR USER
3538 SAVE$ T1 ;SAVE STATUS
3539 004274' 201 01 0 00 006057' STRNG$ <, FILE >
3540 004275' 260 17 0 00 004200*
3541 004276' 201 01 0 00 005372' MOVEI T1,OUTSPC ;ASSUME OUTPUT ERROR
3542 SAVE$ T2 ;SAVE CHAN
3543 004300' 260 17 1 02 006101' CALL @[EXP TINSPC,.TFBLK##]-1(T2) ;TYPE THE FILE SPEC
3544 004301' 260 17 0 00 003500' CALL TYFREC ;TYPE FEET AND RECORDS
3545 RESTR$ T2 ;GET CHANN BACK
3546 004303' 260 17 0 00 004252* CALL .TCRLF## ;NEW LINE
3547 004304' 254 00 0 00 004367' JRST TPOPJ ;RESTORE T1 AND RETURN
3548
3549 004305' 350 00 0 17 000000 $POPJ2: AOS (P) ;SKIP 2
3550 004306' 350 00 0 17 000000 $POPJ1: AOS (P) ;SKIP 1
3551 004307' 263 17 0 00 000000 $POPJ: POPJ P, ;SKIP 0
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 71
DUMPR MAC 21-FEB-77 17:03 XCTIO EXECUTES IN/OUT UUO WITH ERROR HANDLING
3552 ;HERE WITH ERROR BITS IN T1--DECODE THEM
3553 ;USES NO ACS
3554
3555 004310' 260 17 0 00 001445* TELPRB: CALL .PSH4T## ;PRESERVE ACS
3556 004311' 200 04 0 00 000001 MOVE T4,T1 ;COPY BITS
3557 004312' 405 04 0 00 740000 ANDI T4,IO.IMP!IO.DER!IO.DTE!IO.BKT ;GET ONLY ERROR BITS
3558 004313' 322 04 0 00 004334' JUMPE T4,PRBDUN ;JUMP IF NOT A PROBLEM
3559 004314' 242 04 0 00 777762 LSH T4,-<ALIGN. (IO.BKT)> ;LINE UP
3560 004315' 201 01 0 00 006104' MOVEI T1,[ASCIZ/ (/] ;START
3561 004316' 260 17 0 00 004275* CALL .TSTRG##
3562 004317' 621 00 0 00 000002 TLZ F,FL$IOF ;CLEAR A FLAG
3563 004320' 200 03 0 00 006105' MOVE T3,[POINT 18,PRBNAM] ;INIT A PTR
3564 004321' 134 02 0 00 000003 PRBLUP: ILDB T2,T3 ;GET A NAME
3565 004322' 606 04 0 00 000001 TRNN T4,1 ;IS THIS A PROBLEM?
3566 004323' 254 00 0 00 004330' JRST PRBNXT ;NO
3567 004324' 663 00 0 00 000002 TLOE F,FL$IOF ;YES--IS IT FIRST?
3568 004325' 260 17 0 00 004512' CALL TYSLSH ;NO--TYPE A SLASH
3569 004326' 205 01 0 02 000000 MOVSI T1,(T2) ;POSITION CODE
3570 004327' 260 17 0 00 400042* CALL .TSIXN## ;SEND IT
3571 004330' 242 04 0 00 777777 PRBNXT: LSH T4,-1 ;MOVE OVER
3572 004331' 326 04 0 00 004321' JUMPN T4,PRBLUP ;JUMP IF MORE PROBLEMS
3573 004332' 201 01 0 00 000051 MOVEI T1,")" ;NO--FINISH
3574 004333' 260 17 0 00 004075* CALL .TCHAR##
3575 004334' PRBDUN:
3576 004334' 260 17 0 00 000000* POP4J: CALL .POP4T## ;RESTORE REGS
3577 004335' 263 17 0 00 000000 POPJ P, ;AND RETURN
3578
3579 004336' 425364 604162 PRBNAM: 'BKTPAR' ;BLOCK TOO LARGE/PARITY ERROR
3580 004337' 444562 515560 'DERIMP' ;DEVICE ERROR/WRITE LOCKED
3581 004340' 000000 000000 EXP 0 ;SNH
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 72
DUMPR MAC 21-FEB-77 17:03 XCTIO EXECUTES IN/OUT UUO WITH ERROR HANDLING
3582 GEROPT: STRNG$ <
3583 004341' 201 01 0 00 006106' OPTION (H FOR HELP): >
3584 004342' 260 17 0 00 004316*
3585 004343' 260 17 0 00 004112' CALL GCHNWL ;GET HIS ANSWER IN T1
3586 004344' 205 02 0 00 777773 MOVSI T2,-N$EOPT ;GET LOOP COUNT
3587 004345' 312 01 0 02 004351' CAME T1,ERROPT(T2) ;IS THIS IT?
3588 004346' 253 02 0 00 004345' AOBJN T2,.-1 ;NO--CHECK ALL
3589 004347' 321 02 1 02 004356' JUMPL T2,@ERRDSP(T2) ;JUMP IF FOUND A MATCH
3590 004350' 254 00 0 00 004341' JRST GEROPT ;ELSE ASK AGAIN
3591
3592 004351' 000000 000103 ERROPT: EXP "C" ;CONTINUE
3593 004352' 000000 000110 EXP "H" ;GIVE SOME HELP
3594 004353' 000000 000111 EXP "I" ;IGNORE FROM NOW ON
3595 004354' 000000 000121 EXP "Q" ;QUIT (FAKE AN EOF)
3596 004355' 000000 000123 EXP "S" ;SKIP THIS RECORD
3597 000005 N$EOPT==.-ERROPT
3598
3599 004356' 000000 004365' ERRDSP: EXP XIOCON ;CONTINUE
3600 004357' 000000 004373' EXP GVEHLP ;GIVE HELP
3601 004360' 000000 004363' EXP ERIGNR ;IGNORE ERRORS FROM NOW ON
3602 004361' 000000 004377' EXP ERQUIT ;QUIT
3603 004362' 000000 004401' EXP ERSKIP ;SKIP THIS RECORD
3604
3605 ;HERE TO SET /ERROR:IGNORE
3606
3607 004363' 201 01 0 00 000002 ERIGNR: MOVEI T1,ERRIGN ;GET VALUE
3608 004364' 202 01 0 00 005466' MOVEM T1,FLERR ;
3609
3610 004365' XIOCON:
3611 004365' TPOPJ1: RESTR$ T1 ;GET T1 AGAIN
3612 004366' 354 00 0 17 000000 AOSA (P)
3613 004367' TPOPJ: RESTR$ T1
3614 004370' 263 17 0 00 000000 POPJ P,
3615 004371' 262 17 0 17 000000 ETPJ1: POP P,(P) ;CLEAR CRUD ON PDL
3616 004372' 254 00 0 00 004365' JRST TPOPJ1 ;AND RESTORE T1 AND RETURN
3617
3618 ;HERE TO GIVE SOME HELP
3619
3620 004373' GVEHLP:
3621 004373' 260 17 0 00 000110' IFE FT$SEG,<CALL UPSCN> ;MAKE HISEG ADDRESSABLE
3622 004374' 051 03 0 00 401067' OUTSTR ERRHLM ;GIVE THE HELP
3623 004375' 260 17 0 00 000101' IFE FT$SEG,<CALL DWNSCN> ;REMOVE CORE ONCE MORE
3624 004376' 254 00 0 00 004341' JRST GEROPT
3625
3626 401067' IFE FT$SEG,<HIGH$> ;PUT MESSAGE IN SHARABLE HISEG
3627 ERRHLM: ASCIZ$ <TYPE ONE OF:
3628 C - CONTINUE (DUMP THIS RECORD)
3629 H - TYPE THIS
3630 I - CONTINUE AND MAKE IT /ERROR:IGNORE
3631 Q - QUIT NOW
3632 S - SKIP THIS RECORD (DO NOT DUMP IT)
3633 >
3634 004377' IFE FT$SEG,<LOW$> ;BACK TO LOWSEG
3635
3636 ;HERE TO QUIT
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 72-1
DUMPR MAC 21-FEB-77 17:03 XCTIO EXECUTES IN/OUT UUO WITH ERROR HANDLING
3637
3638 004377' 403 05 0 00 000006 ERQUIT: SETZB P1,P2 ;FORCE AND END TO IT ALL
3639 004400' 254 00 0 00 004367' JRST TPOPJ ;RETURN EOF
3640
3641 ;HERE TO SKIP THIS RECORD
3642
3643 004401' 350 00 0 00 005306' ERSKIP: AOS RECORD ;COUNT RECORD WE SKIPPED
3644 004402' 200 01 0 17 777777 MOVE T1,-1(P) ;GET ADDRESS +1
3645 004403' 200 01 0 01 777777 MOVE T1,-1(T1) ;GET INSTR
3646 004404' 256 00 0 00 000001 XCT T1 ;CLANK IT AGAIN
3647 004405' 254 00 0 00 004365' JRST TPOPJ1 ;OK--RETURN
3648 004406' 254 00 0 00 004212' JRST XCTIOE ;JUST CAN'T WIN...
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 73
DUMPR MAC 21-FEB-77 17:03 ERROR HANDLER
3649 SUBTTL ERROR HANDLER
3650
3651 ;EHNDLR -- HANDLE ALL ERRORS
3652 ;THE ONLY CALL IS THRU THE ERROR. MACRO
3653
3654 004407' 260 17 0 00 004505' EHNDLR: CALL SAVACS ;SAVE THE ACS
3655 004410' 603 00 0 00 000010 TLNE F,FL$OPN ;OUTPUT FILE OPEN?
3656 004411' 606 12 0 00 000010 TRNN DC,(DV.TTY) ;IS THIS TTY OUTPUT?
3657 004412' 304 00 0 00 000000 CAIA ;OUTPUT NOT OPEN OR NOT TTY OUTPUT
3658 004413' 260 17 0 00 001434' CALL O$CRLF ;YES--MAKE NEW LINE SO MESSAGE IS SEEN
3659 004414' 260 17 0 00 003523' CALL FRCTYO ;FORCE OUTPUT IF TTY
3660 004415' 200 05 1 17 000000 MOVE P1,@0(P) ;GET FLAGS AND ADDRESSES
3661 004416' 352 00 0 00 005170' AOSE ERRTYX ;CLEAR/CHECK FLAG
3662 004417' 336 00 1 00 004263* SKIPN @.TYOCH## ;IS SCAN TTCALLING?
3663 JRST [SETZM ERRTYX ;YES--CLEAR FLAG
3664 004420' 254 00 0 00 006113' JRST EHND.0] ;AND SKIP ON
3665 004421' 400 01 0 00 000000 SETZ T1, ;NO--SO MAKE IT
3666 004422' 260 17 0 00 004417* CALL .TYOCH## ;TELL SCAN
3667 004423' 202 01 0 00 005170' MOVEM T1,ERRTYX ;REMEMBER/SET FLAG
3668 004424' 201 01 0 00 000077 EHND.0: MOVEI T1,"?" ;ASSUME AN ERROR
3669 004425' 603 05 0 00 000200 TLNE P1,EF$WRN ;CHECK WARNING
3670 004426' 201 01 0 00 000045 MOVEI T1,"%" ;YES
3671 004427' 603 05 0 00 000100 TLNE P1,EF$INF ;IF BOTH OFF NOW THEN INFO
3672 004430' 201 01 0 00 000133 MOVEI T1,"[" ;GOOD THING WE CHECKED
3673 004431' 260 17 0 00 004333* CALL .TCHAR## ;OUTPUT THE START OF MESSAGE
3674 004432' 205 01 0 00 445560 MOVSI T1,MY$PFX ;SET UP MY PREFIX
3675 004433' 544 01 0 05 000000 HLR T1,(P1) ;GET MESSAGE PREFIX
3676 004434' 260 17 0 00 004327* CALL .TSIXN## ;OUTPUT THE PREFIXES
3677 004435' 260 17 0 00 000000* CALL .TSPAC## ;AND A SPACE
3678 004436' 550 01 0 05 000000 HRRZ T1,(P1) ;GET STRING ADDRESS
3679 004437' 260 17 0 00 004342* CALL .TSTRG## ;SEND IT
3680 004440' 200 01 0 00 005035' MOVE T1,SAVAC+T1 ;GET ORIGINAL T1 IN CASE TYPEOUT DESIRED
3681 004441' 135 02 0 00 006115' LDB T2,[POINT 5,P1,17] ;GET TYPED OUT DESIRED
3682 004442' 303 02 0 00 000006 CAILE T2,EF$MAX ;CHECK LEGAL
3683 004443' 201 02 0 00 000000 MOVEI T2,0 ;NOOOP
3684 004444' 260 17 1 02 004466' CALL @ERRTAB(T2) ;CALL THE ROUTINE
3685 004445' 603 05 0 00 000040 TLNE P1,EF$NCR ;IF NO CRLF THEN DON'T CLOSE INFO
3686 004446' 254 00 0 00 004454' JRST EHND.1 ;NO--DON'T CHECK
3687 004447' 201 01 0 00 000135 MOVEI T1,"]" ;PREPARE TO CLOSE INFO
3688 004450' 603 05 0 00 000100 TLNE P1,EF$INF ;CHECK FOR INFO
3689 004451' 260 17 0 00 004431* CALL .TCHAR## ;SEND INFO CLOSE
3690 004452' 607 05 0 00 000040 TLNN P1,EF$NCR ;NO CARRIAGE RETURN?
3691 004453' 260 17 0 00 004303* CALL .TCRLF## ;YES--SEND ONE
3692 004454' 336 01 0 00 005170' EHND.1: SKIPN T1,ERRTYX ;DID WE RESET SCAN?
3693 004455' 254 00 0 00 004460' JRST EHND.2 ;NO
3694 004456' 260 17 0 00 004422* CALL .TYOCH## ;AND RESTORE IT
3695 004457' 402 00 0 00 005170' SETZM ERRTYX ;CLEAR FLAG
3696 004460' 603 05 0 00 000400 EHND.2: TLNE P1,EF$FTL ;NOW CHECK FATAL
3697 004461' 254 00 0 00 004475' JRST ERRFTL ;YES--GO DIE
3698 ;FALL INTO RESACS
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 74
DUMPR MAC 21-FEB-77 17:03 ERROR HANDLER
3699 ;RESACS -- RESTORE ALL ACS FROM SAVAC AREA
3700 ; CALL RESACS
3701 ; *ACS RESTORED FROM SAVAC*
3702
3703 004462' 202 17 0 00 005053' RESACS: MOVEM 17,SAVAC+17
3704 004463' 205 17 0 00 005034' MOVSI 17,SAVAC
3705 004464' 251 17 0 00 000017 BLT 17,17 ;REGISTERS ARE RESTORED
3706 004465' 263 17 0 00 000000 POPJ P, ;RETURN
3707
3708 004466' 000000 004307' ERRTAB: $POPJ ;CODE 0 -- NO ACTION
3709 004467' 000000 003511* .TDECW## ;CODE 1 -- TYPE T1 IN DECIMAL
3710 004470' 000000 000340* .TOCTW## ;CODE 2 -- TYPE T1 IN OCTAL
3711 004471' 000000 004434* .TSIXN## ;CODE 3 -- TYPE T1 IN SIXBIT
3712 004472' 000000 000000* .TPPNW## ;CODE 4 -- TYPE T1 AS PPN
3713 004473' 000000 004437* .TSTRG## ;CODE 5 -- T1 POINTS TO ASCIZ STRING
3714 004474' 000000 004202* .TFBLK## ;CODE 6 -- T1 POINTS AT FDB
3715
3716 ;HERE TO DIE--
3717
3718 004475' 047 00 0 00 000000 ERRFTL: RESET ;KILL ALL FILES
3719 004476' 200 17 0 00 000022' MOVE P,INIPDP ;RESET PDL
3720 004477' 260 17 0 00 000110' IFE FT$SEG,<CALL UPSCN> ;NEED HISEG
3721 004500' 260 17 0 00 000000* CALL .CLRBF## ;CLEAR REST OF LINE OR WHATEVER
3722 004501' 336 00 0 00 004523' SKIPN OFFSET ;CCL ENTRY
3723 004502' 331 00 0 00 004514' SKIPL ISCNVL ;OR MIXLOD MONITOR COMMAND?
3724 004503' 260 17 0 00 000073* CALL .MONRT## ;YES--EXIT 1,
3725 004504' 254 00 0 00 000012' JRST RESTRT ;AND RESTART ON CONTINUE
3726
3727 ;SAVAC -- SAVE ALL ACS
3728 ;CALL -- PUSHJ P,SAVACS
3729 ; *ACS SAVED IN SAVAC* BEWARE!!
3730
3731 004505' 202 17 0 00 005053' SAVACS: MOVEM 17,SAVAC+17 ;SAVE ONE
3732 004506' 201 17 0 00 005034' MOVEI 17,SAVAC
3733 004507' 251 17 0 00 005052' BLT 17,SAVAC+16
3734 004510' 200 17 0 00 005053' MOVE 17,SAVAC+17
3735 004511' 263 17 0 00 000000 POPJ P, ;ACS ARE SAVED
3736
3737 ;TYSLSH -- TYPE A SLASH THROUGH .TCHAR
3738
3739 004512' 201 01 0 00 000057 TYSLSH: MOVEI T1,"/"
3740 004513' 254 00 0 00 004451* PJRST .TCHAR## ;DONE
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 75
DUMPR MAC 21-FEB-77 17:03 STORAGE
3741 SUBTTL STORAGE
3742
3743 IFN FT$SEG,<RELOC 0> ;STORAGE GOES IN LOW SEGMENT
3744
3745 ;STORAGE THAT REMAINS BETWEEN RUNS
3746
3747 004514' U (ISCNVL) ;VALUE FROM .ISCAN
3748 004515' U (TLDVER) ;-1 WHEN TYPED VERSION TO TTY
3749 IFE FT$SEG,< ;NEED TO STORE RUN ARGS
3750 004516' U (SAVRUN) ;-1 WHEN HAVE SAVED RUN ARGS
3751 004517' U (SGDEV) ;RUN UUO ARGUMENTS ARE SG???
3752 004520' U (SGNAM)
3753 004521' U (SGLOW)
3754 004522' U (SGPPN)
3755 >;END IFE FT$SEG
3756 004523' U (OFFSET) ;STARTING OFFSET
3757
3758 004524' FW$ZER==. ;FIRST WORD ZEROED
3759 004524' U (PDLIST,LN$PDL) ;PUSHDOWN LIST
3760 005034' U (SAVAC,20) ;SAVE ACS HERE
3761 005054' U (OPNBLK,3) ;OPEN BLOCK
3762 005057' U (LKPBLK,.RBTIM+1) ;LOOKUP/ENTER BLOCK
3763 005115' U (PTHBLK,^D9) ;PATH BLOCK
3764 005126' U (SVINOB,3) ;PLACE TO SAVE OPEN BLOCK FOR INPUT FILE
3765 005131' U (SVINLK,.RBTIM+1) ;PLACE TO SAVE LOOKUP BLOCK FOR INPUT FILE
3766 005167' U (CHRKNT) ;COUNTER FOR CHARACTERS OUTPUT
3767 005170' U (ERRTYX) ;FLAG FOR EHNDLR
3768 005171' U (ACTLST,LN$ACT) ;ACTION LIST
3769 005253' U (SCMDBP) ;BYTE PTR TO STORE IN CMDBFR
3770 005254' U (SCMDCT) ;BYTE CTR TO STORE IN CMDBFR
3771 IFN FT$WLD,< ;WILD STORAGE
3772 005255' U (WLDFIR) ;ADDRESS OF SCAN BLOCK FOR .LKWLD
3773 005256' U (WLDPTR) ;WILD STORES SCAN BLOCK ADDR HERE
3774 005257' U (LKWLFL) ;-1/0/1 == DISK/DECTAPE/OTHER OR NULL
3775 >;END IFN FT$WLD
3776 005260' U (EBCKNT) ;COUNT-DOWN FOR EBCDIC PRETTY PRINTING
3777 005261' U (IFILSZ) ;SIZE OF INPUT FILE IN BLOCKS
3778 005262' U (IDVNAM) ;INPUT REAL DEVICE NAME
3779 005263' U (ODVNAM) ;OUTPUT REAL DEVICE NAME
3780 005264' U (IBHR,3) ;INPUT BUFFER HEADER
3781 005267' U (OBHR,3) ;OUTPUT BUFFER HEADER
3782 005272' U (FORADR) ;ADDRESS OF BUFFER FOR FORTRAN/IREAD INPUT
3783 005273' U (BYTPTR) ;PTR FOR /MODE:BYTE
3784 005274' U (BYTBPW) ;# BYTES/WORD
3785 005275' U (BYTREM) ;# BITS LEFT OVER
3786 005276' U (BYTDPB) ;# DIGITS/BYTE
3787 005277' U (BYTWID) ;BYTE WIDTH FOR A WORD
3788 005300' U (BYTBPL) ;# BYTES/LINE
3789 005301' U (BYTRDB) ;REMAINDER DIGITS/BYTE
3790 005302' RUN$FZ==. ;FIRST WORD ZEROED AT COMMAND PROCESS START
3791 005302' BLOCK 3 ;***FOR TAPOP. UUO
3792 005304' REELID==.-1 ;REELID IS TAPOPBL-1
3793 005305' TAPOBL: ;FOR TAPOP.
3794 005305' U (FILE) ;FILE NUMBER
3795 005306' U (RECORD) ;RECORD NUMBER
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE 75-1
DUMPR MAC 21-FEB-77 17:03 STORAGE
3796 005307' U (TOTFIL) ;TOTAL FILES DUMPED
3797 005310' U (TOTREC) ;TOTAL RECORDS DUMPED
3798 005311' U (WRDCNT) ;ACCUMULATED RECORD WORD COUNT
3799 005312' U (ONLYLO) ;LOWEST WORD # IN RECORD TO DUMP
3800 005313' U (ONLYHI) ;HIGHEST WORD # IN RECORD TO DUMP
3801 005313' RUN$LZ==.-1 ;LAST WORD ZEROED AS RUN STARTS (DUMPING)
3802
3803 005314' SCN$FZ==. ;FIRST WORD ZEROED AT CLRANS
3804 005314' U (CMDBFR,LN$CMD) ;SAVE COMMAND HERE SO WE CAN PUT ON DUMP
3805 005340' U (INPSPC,.FXLEN) ;INPUT SPECIFICATION
3806 005372' U (OUTSPC,.FXLEN) ;OUTPUT SPECIFICATION
3807 005424' U (DUMPFL) ;-1 WHEN /DUMP SEEN
3808 005425' U (TITLEB,LN$TTL) ;BLOCK FOR /TITLE
3809 005462' TITLEE==.-1 ;FOR END OF BLT
3810 005463' U (TTLZER) ;ENSURE A ZERO ON THE END
3811 005463' SCN$LZ==.-1 ;LAST WORD ZEROED AT CLRANS
3812 005464' SCN$FO==. ;FIRST WORD MINUS ONNED AT CLRANS
3813 005464' U (S.BLKF) ;/BLOCK:N
3814 005465' U (BUFSIZ) ;/BUFSIZ
3815 005466' U (FLERR) ;/ERROR:ARG
3816 005467' U (LINRDX) ;/LINRDX
3817 005470' U (NMTBUF) ;/MTBUF
3818 005471' U (FLNTRY) ;/NORETRY
3819 005472' U (FLOMIT) ;/OMIT
3820 005473' U (USERDX) ;/RADIX
3821 005474' U (USRWID) ;WIDTH OF WORD IF /RADIX USED
3822 005475' U (FLWIDT) ;/WIDTH
3823 005475' SCN$LO==.-1 ;LAST WORD ONNED AT CLRANS
3824 005475' LW$ZER==.-1 ;LAST WORD ZEROED AT STARTUP
3825 IFN FT$SEG,< ;FORCE LITERALS OUT IN HIGH SEGMENT
3826 RELOC
3827 >;END IFN FT$SEG
3828 XLIST ;JUST LITERALS FOLLOWING
3829 LIST ;LITERALS PRECEDE
3830 000000' ENDUMP::END DUMPR
NO ERRORS DETECTED
HI-SEG. BREAK IS 401127
PROGRAM BREAK IS 006116
CPU TIME USED 01:36.830
14K CORE USED
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE S-1
DUMPR MAC 21-FEB-77 17:03 SYMBOL TABLE
A 000011 CSEG$ 000000 SPD DUMPR 000000' EHNDLR 004407'
ACTLST 005171' CW$1O3 001000 SPD DV.DIR 000004 000000 SPD ENDMS1 000652'
AD.BFZ 004000 SPD CW$ANY 003000 SPD DV.DSK 200000 000000 SPD ENDMS2 000656'
AD.BKF 000120 SPD CW$TY3 002000 SPD DV.LPT 040000 000000 SPD ENDMS3 000661'
AD.MBF 000003 SPD D$BSP 003730' DV.MTA 000020 000000 SPD ENDMS4 000663'
AD.MTN 177777 SPD D$DMP 000502' DV.TTY 000010 000000 SPD ENDMS5 000665'
AD.ONL 000000 SPD D$DMP1 000520' DWNSCN 000101' ENDMSG 000670'
AD.RDX 000010 SPD D$MBY1 001411' E$$BSO 003766' ENDUMP 006116' INT
AD.WID 000120 SPD D$MBYT 001362' E$$CDM 000525' ENTER 077000 000000
AIN 400422' D$MHLF 001427' E$$EIW 000435' ERIGNR 004363'
ALEN 400432' D$MOD 001261' E$$IBS 400544' ERQUIT 004377'
AOUT 400434' D$MSET 001270' E$$ID7 000312' ERR.L 000003 SPD
ATSIGN 000020 SPD D$NEW2 001172' E$$ID9 000305' ERR.T 400212'
BF.IOU 400000 000000 SPD D$NEWL 001155' E$$IFU 003436' ERRCON 000001 SPD
BF.VBR 400000 000000 SPD D$ONL 004030' E$$ISO 400552' ERRDSP 004356'
BINEXP 003077' D$ONLF 004044' E$$ONL 004046' ERRFTL 004475'
BLKMS1 001077' D$REW 003776' E$$OSI 400547' ERRHLM 401067'
BLKMS2 001101' D$RIB 004021' E$$SFI 003726' ERRIGN 000002 SPD
BLKMS3 001103' D$SKP 003634' E$$SFM 003745' ERROPT 004351'
BPIMES 000776' D$WORD 000527' E$$SWI 000576' ERRQUE 000003 SPD
BSPDIR 003747' DC 000012 E.DFL 401065' EXT ERRTAB 004466'
BSPFOR 003770' DEN160 000311' E.DFO 005622' EXT ERRTYX 005170'
BUFSIZ 005465' DEN200 000304' E1 000007 ERSKIP 004401'
BYTBPL 005300' DEN556 000304' E2 000010 ETAPOP 000327'
BYTBPW 005274' DEN625 000311' E3 000011 ETPJ1 004371'
BYTDPB 005276' DENTBL 000777' E4 000012 EVNPAR 000320'
BYTPTR 005273' DEVCHR 047000 000004 E5 000013 EXIT 047000 000012
BYTRDB 005301' DEVNAM 047000 000064 EBCKNT 005260' EXP10 003347'
BYTREM 005275' DEVTYP 047000 000053 EBCTAB 002660' F 000000
BYTWID 005277' DF$BFZ 002000 SPD EBCTB1 002717' FILD.0 000041'
C 000010 DIGIT 003221' EBCTB2 002726' FILD.2 000045'
CALL 260740 000000 DIOIOW 001572' EF$DEC 000001 SPD FILD.9 000070'
CHKC.0 400070' DMPDSP 000363' EF$ERR 000000 SPD FILD.X 000071'
CHKC.1 400101' DMPE.1 000623' EF$FIL 000006 SPD FILE 005305'
CHKCMD 400051' DMPE.2 000632' EF$FTL 000400 SPD FILEND 001206'
CHKT.P 004106' DMPEDT 000026 SPD EF$INF 000100 SPD FILMS1 001245'
CHKTTY 004063' DMPEND 000615' EF$MAX 000006 SPD FILMS2 001247'
CHRKNT 005167' DMPI.1 000411' EF$NCR 000040 SPD FILMS3 001253'
CKPOSC 400567' DMPINI 000373' EF$OCT 000002 SPD FILMS4 001255'
CKPS.1 400570' DMPINP 000353' EF$PPN 000004 SPD FIT 003163'
CL.RST 000040 SPD DMPINW 000563' EF$SIX 000003 SPD FL$EOT 000100 SPD
CLOSE 070000 000000 DMPLUP 000354' EF$STR 000005 SPD FL$FL2 000020 SPD
CLRANS 400444' DMPMIN 000000 SPD EF$WRN 000200 SPD FL$FOR 400000 SPD
CLRBFI 051440 000000 DMPVER 000005 SPD EFMT1 003056' FL$IND 004000 SPD
CLRFIL 400462' DMPWHO 000000 SPD EFMT11 003147' FL$IOF 000002 SPD
CLRU.1 004054' DMPWRD 000422' EFMT14 003160' FL$ITY 010000 SPD
CLRUSE 004050' DOPRMP 400037' EFMT2 003063' FL$MNP 000200 SPD
CMDBFR 005314' DOTPOP 000324' EFMT3 003121' FL$NEG 001000 SPD
CMDLST 400044' DSKP.G 003646' EFMT4 003127' FL$ODN 000001 SPD
CMDO.1 001016' DUMP$G 000447' EFMT7 003131' FL$OLY 000040 SPD
CMDO.2 001030' DUMP.1 000442' EFORM2 003174' FL$OMI 020000 SPD
CMDO.3 001017' DUMP.2 000445' EFORM5 003205' FL$OPN 000010 SPD
CMDO.4 001043' DUMPEF 000600' EHND.0 004424' FL$OUT 002000 SPD
CMDOUT 001014' DUMPFL 005424' EHND.1 004454' FL$PHY 200000 SPD
CORE 047000 000011 DUMPIT 000437' EHND.2 004460' FL$POS 400000 SPD
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE S-2
DUMPR MAC 21-FEB-77 17:03 SYMBOL TABLE
FL$RDX 000004 SPD FT$WLD 000001 SPD IO.BKT 040000 SPD MODOCT 000010 SPD
FL$SCN 776004 SPD FW$ZER 004524' SPD IO.DER 200000 SPD MODSIX 000011 SPD
FL$SUM 100000 SPD FX.DEN 070000 SPD IO.DTE 100000 SPD MODSYM 000012 SPD
FL$TMP 000400 SPD FX.NDV 400000 000000 SPD IO.EOF 020000 SPD MODTBI 001347'
FL$TOT 040000 SPD FX.NUL 200000 000000 SPD IO.EOT 002000 SPD MODTBL 001334'
FLERR 005466' FX.PAR 004000 SPD IO.ERR 740000 SPD MSETBY 001305'
FLNTRY 005471' GCHNWL 004112' IO.IMP 400000 SPD MT.7TR 000020 SPD
FLODIV 003110' GEROPT 004341' IO.NRC 000100 SPD MTAPOS 400555'
FLOMIT 005472' GETBUF 003355' IOINTB 001610' MTBSF. 072000 000017
FLTROT 000547' GETSEG 047000 000040 ISCNBL 400011' MTBSR. 072000 000007
FLWIDT 005475' GETSTS 062000 000000 ISCNVL 004514' MTCHR. 047000 000112
FMTFLO 003050' GETW.1 001325' L 000015 MTIND. 072000 000101
FMTI.1 002745' GETW.2 001327' LGLMTF 400602' MTREW. 072000 000001
FMTINT 002735' GETWID 001310' LINRDX 005467' MTSKF. 072000 000016
FMTO.1 002774' GMBWID 001417' LKENER 004174' MTSKR. 072000 000006
FMTOCT 002767' GO2ERF 003167' LKPBLK 005057' MTWAT. 072000 000000
FMTR.1 003002' GVEHLP 004373' LKWLDB 400675' MX$CMD 000143 SPD
FMTRDX 003001' HALT 254200 000000 LKWLFL 005257' MX. 000000 SPD
FMTSGN 002757' HILOC$ 004377' SPD LN$ACT 000062 SPD MX.BFZ 010000 SPD
FN$BSP 000004 SPD HITEN 003315' LN$CMD 000024 SPD MX.BKF 177777 SPD
FN$DMP 000003 SPD HOLDMP 400463' LN$PDL 000310 SPD MX.MBF 000012 SPD
FN$END 777777 777776 SPD IBHR 005264' LN$TTL 000036 SPD MX.MTN 177777 SPD
FN$INP 777777 777777 SPD IDVNAM 005262' LNODSP 001203' MX.ONL 177777 SPD
FN$MOD 000001 SPD IFILSZ 005261' LNORDX 001175' MX.RDX 000020 SPD
FN$ONL 000002 SPD IFTCMD 004076' LNOWID 001200' MX.WID 000204 SPD
FN$REW 000006 SPD IFTDSP 004101' LOLOC$ 401127' SPD MY$NAM 446555 606200 SPD
FN$RIB 000007 SPD IFTIGN 004104' LOOKUP 076000 000000 MY$PFX 445560 SPD
FN$SKP 000005 SPD ILLIDV 400161' LRGERR 003454' N 000007
FN$TP1 000004 SPD ILLODV 400160' LRX.L 000003 SPD N$CMDS 000001 SPD
FN$TPX 000006 SPD IMES1 000761' LRX.T 400227' N$ECH2 000007 SPD
FOR3.X 003576' IMES2 000763' LRXDEC 000001 SPD N$ECHR 000037 SPD
FORADR 005272' IMES3 000764' LRXHEX 000002 SPD N$EOPT 000005 SPD
FORCON 003545' IMES4 000765' LRXOCT 000003 SPD N$IFTC 000003 SPD
FORCW1 003544' IMES5 000771' LW$ZER 005475' SPD N$MTAF 000004 SPD
FORCW2 003566' IMES6 000774' M 000014 NMTBUF 005470'
FORCW3 003571' IN 056000 000000 MNETBL 001620' NOOP 300000 SPD
FORLRG 003625' INCHRS 051100 000000 MNP.B1 400644' O$AQST 002534'
FORSRC 003602' INCHRW 051000 000000 MNP.BF 400640' O$ASC1 002517'
FRCTYO 003523' INCHWL 051200 000000 MNP.BS 400634' O$ASC4 002535'
FS$INP 000004 000000 SPD INDFLO 000532' MNP.RW 400624' O$ASC5 002536'
FS$NVL 000002 000000 SPD INIACT 400445' MNP.SK 400634' O$ASCC 002524'
FS$OUT 000010 000000 SPD INIH.1 000705' MNP.XX 400630' O$ASCW 002514'
FS$XTR 000001 000000 SPD INIH.3 000724' MNPDSP 400621' O$BUFR 001445'
FS$XXX 774000 000000 SPD INIH.4 000743' MNPX.2 400611' O$BYT1 002564'
FS.LRG 200000 000000 SPD INIHDR 000677' MNPXCI 400606' O$BYT2 002571'
FS.NCM 004000 000000 SPD INIPDP 000022' MNPXDG 400626' O$BYTW 002557'
FS.NFS 400000 000000 SPD INPC 000001 SPD MOD.L 000012 SPD O$CHAR 001437'
FS.NOS 010000 000000 SPD INPCLS 000205' MOD.T 400215' O$CHR1 001441'
FS.NUE 100000 000000 SPD INPD.1 400151' MODASC 000001 SPD O$COMA 001474'
FS.OBV 020000 000000 SPD INPDFL 400117' MODBYT 000002 SPD O$CRLF 001434'
FS.VRQ 040000 000000 SPD INPSPC 005340' MODEBC 000003 SPD O$DECW 002474'
FT$ISD 000001 SPD INPW.1 003517' MODFLO 000004 SPD O$DIGT 002510'
FT$OPT 000001 SPD INPWRD 003513' MODHAL 000005 SPD O$DOT 001467'
FT$PHX 000001 SPD INWL.1 400652' MODHEX 000006 SPD O$EBC1 002605'
FT$SEG 000000 SPD INWLDO 400650' MODINT 000007 SPD O$EBC3 002617'
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE S-3
DUMPR MAC 21-FEB-77 17:03 SYMBOL TABLE
O$EBCW 002602' OUTP3 003234' RECMTA 001114' SVINLK 005131'
O$HEX1 001502' OUTP4 003240' RECORD 005306' SVINOB 005126'
O$HEXI 001476' OUTPUT 067000 000000 REELID 005304' SPD SWTD 400342'
O$HEXW 001477' OUTSPC 005372' RELEAS 071000 000000 SWTL 000030 SPD
O$IAS1 002551' OUTSTR 051140 000000 RESACS 004462' SWTM 400312'
O$IASC 002546' P 000017 RESET 047000 000000 SWTN 400232'
O$OCTW 002473' P1 000005 RESTRT 000012' SWTP 400262'
O$RDXW 002475' P2 000006 REWMTA 004013' SWTS0A 400515'
O$SIX0 002464' P3 000007 RFOR.1 003534' SWTST0 400516'
O$SIX1 002465' P4 000010 RFOR.3 003536' SYMXWD 001601'
O$SIXN 002462' PD. 000000 SPD RFOR.4 003560' T1 000001
O$SIXW 002460' PD.BFZ 002000 SPD RFOR.5 003561' T2 000002
O$SLSH 001472' PD.BKF 000120 SPD RNDHGH 003246' T3 000003
O$SPAC 001466' PD.MBF 000003 SPD RTLERR 003474' T4 000004
O$SPEC 001464' PD.MTN 177777 SPD RUN$FZ 005302' SPD TAPOBL 005305'
O$STR1 001460' PD.ONL 000000 SPD RUN$LZ 005313' SPD TAPOP. 047000 000154
O$STRG 001456' PD.RDX 000010 SPD RUNSVD 000012' TELIO1 004270'
O$SYMW 001507' PD.WID 000120 SPD S.BLKF 005464' TELIOE 004251'
O$TABC 001471' PDLIST 004524' SAVAC 005034' TELPRB 004310'
OBHR 005267' PHXL.2 003450' SAVACS 004505' TINSPC 001011'
ODVNAM 005263' PHXLRG 003440' SAVRUN 004516' TITLEB 005425'
OFFSET 004523' PHYX.0 003374' SCMDBP 005253' TITLEE 005462' SPD
OLYD.1 000467' PHYX.2 003411' SCMDCT 005254' TLDVER 004515'
OLYD.2 000472' PHYX.3 003421' SCN$FO 005464' SPD TOOBIG 000560'
OLYD.3 000475' PHYX.4 003403' SCN$FZ 005314' SPD TOOSML 000556'
OLYDMP 000461' PJOB 047000 000030 SCN$LO 005475' SPD TOTFIL 005307'
ONLYHI 005313' PJRST 254000 000000 SCN$LZ 005463' SPD TOTREC 005310'
ONLYLO 005312' PJSP 265000 000000 SCNCMD 400000' TPOPJ 004367'
OPEN 050000 000000 PLUS 003214' SEGAGN 000115' TPOPJ1 004365'
OPENER 004166' POP4J 004334' SETC.1 000271' TRMNO. 047000 000115
OPENIO 004117' PRBDUN 004334' SETCHR 000262' TRMOP. 047000 000116
OPNBLK 005054' PRBLUP 004321' SETDEN 000274' TSCNBL 400017'
OPNI.1 000161' PRBNAM 004336' SETI.1 003666' TSTBHR 000213'
OPNI.2 000172' PRBNXT 004330' SETIOC 003660' TTINPT 400045'
OPNI.A 000144' PRMPTM 400043' SETPAR 000316' TTLZER 005463'
OPNINP 000133' PROCMD 000347' SETSTS 060000 000000 TY.SPL 000020 000000 SPD
OPNO.1 000250' PTHBLK 005115' SGDEV 004517' TYFREC 003500'
OPNOUT 000234' PTLEN 000024 SGLOW 004521' TYSLSH 004512'
OPSWD 400414' PUTACT 400520' SGNAM 004520' UPSCN 000110'
OPSWL 000006 SPD Q 000016 SGPPN 004522' USERDX 005473'
OPSWM 400406' RADXZR 003015' SIGN 003215' USETI 074000 000000
OPSWN 400372' RBRKNL 001007' SIGN1 003216' USRWID 005474'
OPSWP 400400' RDFORT 003530' SKDF.1 003720' UUO000 001567'
ORDXW1 002502' RDPHYX 003373' SKDFOR 003717' UUOIOW 001556'
OSCNBL 400031' RDXADJ 003032' SKMF.1 003653' W 000013
OSYM.2 001522' RDXCON 003010' SKMFOR 003651' WAIT 047000 000010
OSYM.4 001530' RDXLUP 003005' SKPDIR 003703' WLDERR 004171'
OSYM.6 001546' RDXNZR 003025' SKPFLR 003672' WLDFIR 005255'
OSYM2A 001525' RECH.1 001061' SKPL.0 003673' WLDPTR 005256'
OUT 057000 000000 RECH.2 001131' SKPL.1 003676' WRDCNT 005311'
OUTC 000002 SPD RECH.3 001144' SKPL.2 003677' WRDRDX 400112'
OUTCLS 000224' RECHDR 001045' STOMOD 400525' XCHTYO 003471'
OUTDFL 400164' RECMS1 001105' STOSWA 400472' XCTI.1 004243'
OUTP1 003227' RECMS2 001107' STOSWB 400476' XCTIO 004205'
OUTP2 003230' RECMS3 001111' STOSWT 400466' XCTIOE 004212'
DUMPR - UTILITY FILE DUMPER %5(26) MACRO %50A(441)-2 13:51 23-FEB-77 PAGE S-4
DUMPR MAC 21-FEB-77 17:03 SYMBOL TABLE
XIOCON 004365' .LKWLD 400653' EXT
XLTE.1 002627' .MONRT 004503' EXT
XLTE.2 002635' .OPBUF 000002 SPD
XLTE.4 002644' .OPMOD 000000 SPD
XLTE.5 002646' .OSCAN 400003' EXT
XLTE.6 002653' .POP4T 005650' EXT
XLTEBC 002621' .PSH4T 004310' EXT
XLTQST 002625' .RBCNT 000000 SPD
ZERO 003212' .RBEXT 000003 SPD
ZZ 000006 SPD .RBSIZ 000005 SPD
$FLFOR 400000 000000 SPD .RBTIM 000035 SPD
$FLIND 004000 000000 SPD .RECOR 000023' EXT
$FLITY 010000 000000 SPD .RUNCM 000071' EXT
$FLOMI 020000 000000 SPD .SAVE1 003530' EXT
$FLPHY 200000 000000 SPD .SAVE2 003373' EXT
$FLSUM 100000 000000 SPD .SAVE3 004121' EXT
$FLTOT 040000 000000 SPD .SAVE4 000347' EXT
$OKDVI 000024 000000 SPD .SGDEV 000011 SPD
$OKDVO 040034 000000 SPD .SGLOW 000017 SPD
$POPJ 004307' .SGNAM 000000 SPD
$POPJ1 004306' .SGPPN 000007 SPD
$POPJ2 004305' .STOPB 004135' EXT
%%DUMP 000500 000026 SIN .SWASQ 400337' EXT
%%JOBD 043000 000443 SIN .SWDEC 400413' EXT
%%MACT 000100 000024 SIN .TCHAR 004513' EXT
%%SCNM 000700 000203 SIN .TCRLF 004453' EXT
%%UUOS 101100 000225 SIN .TDATN 000745' EXT
.ALCBF 000255' EXT .TDECW 004467' EXT
.ALCOR 000202' EXT .TFBLK 006103' EXT
.BFADR 000000 SPD .TFD80 000003 SPD
.BFCTR 000002 SPD .TFDEN 001001 SPD
.BFPTR 000001 SPD .TFPAR 001005 SPD
.CHBEL 000007 SPD .TFSET 001000 SPD
.CHCRT 000015 SPD .TFSTA 001016 SPD
.CHKTM 400672' EXT .TOCTW 004470' EXT
.CHLFD 000012 SPD .TOLEB 001013' EXT
.CHTAB 000011 SPD .TOWID 001012 SPD
.CHVTB 000013 SPD .TPPNW 004472' EXT
.CLRBF 004500' EXT .TSCAN 400001' EXT
.DECNW 400534' EXT .TSIXN 004471' EXT
.DECOR 000210' EXT .TSPAC 004435' EXT
.FREBF 000216' EXT .TSTRG 004473' EXT
.FXDEV 000000 SPD .TTIMN 000750' EXT
.FXDIR 000006 SPD .TVERW 000036' EXT
.FXEXT 000003 SPD .TYOCH 004456' EXT
.FXFLM 000027 SPD .WLDFL 000056' EXT
.FXLEN 000032 SPD
.FXMOD 000004 SPD
.FXNAM 000001 SPD
.FXNMM 000002 SPD
.IOASC 000000 SPD
.IOBIN 000014 SPD
.ISCAN 000026' EXT
.JBHRL 000115
.JBVER 000137
A 134# 134 146 821 885 886 1267 1270 1271 1272 1273 1473 1495
ACTLST 822 930 955 1267 3768#
AD.BFZ 633
AD.BKF 634 1311
AD.MBF 635
AD.MTN 636
AD.ONL 637
AD.RDX 638
AD.WID 639 1798
AIN 460 798#
ALEN 807# 817
AOUT 460 809#
ATSIGN 201# 3437 3449
BF.IOU 3360
BF.VBR 3365
BINEXP 2783 2787# 2810
BLKMS1 1631 1644#
BLKMS2 1645# 1664
BLKMS3 1633 1646#
BPIMES 1547 1570#
BSPDIR 3270 3284#
BSPFOR 3293 3303#
BUFSIZ 686 777 1109 1111 1126 3013 3048 3051 3140 3161 3173 3194 3814#
BYTBPL 1784 1859 3788#
BYTBPW 1842 1847 1849 2549 3784#
BYTDPB 1785 1846 1848 1861 2563 3786#
BYTPTR 1837 2548 3783#
BYTRDB 1856 2561 3789#
BYTREM 1843 1851 2556 3785#
BYTWID 1850 1855 1858 3787#
C 142# 487 489 866 894
CHKC.0 500 508#
CHKC.1 514 517#
CHKCMD 440 493#
CHKT.P 3394 3399#
CHKTTY 1346 3375#
CHRKNT 1898 1961 1989 3766#
CKPOSC 917 930#
CKPS.1 931# 938
CL.RST 1157
CLRANS 459 821#
CLRFIL 459 838#
CLRU.1 3361# 3364
CLRUSE 3253 3297 3305 3323 3337 3357#
CMDBFR 830 1589 3804#
CMDLST 446 482# 483
CMDO.1 1591# 1599 1608 1611 1614
CMDO.2 1594 1602#
CMDO.3 1592# 1612
CMDO.4 1601 1604 1613#
CMDOUT 1558 1589#
CSEG$ 352# 426 426# 1033 1033# 3626 3626# 3634 3634#
CW$1O3 208# 3127
CW$ANY 207# 3125 3183
CW$TY3 209# 3129
D$BSP 1286 3266#
D$DMP 1285 1374#
D$DMP1 1377 1388#
D$MBY1 1852 1857#
D$MBYT 1763 1834# 1882
D$MHLF 1765 1878#
D$MOD 1283 1761#
D$MSET 1307 1700 1766 1771#
D$NEW2 1691 1700#
D$NEWL 1335 1364 1682 1686#
D$ONL 1284 3340#
D$ONLF 3344 3352#
D$REW 1288 3312#
D$RIB 1289 3332#
D$SKP 1287 3198#
D$WORD 1338 1367 1397#
DC 135# 135 147 512 547 548 567 568 592 1094 1115 1123 1168 1178
1295 1374 1376 1389 1446 1486 1525 1629 1724 1731 1748 1788 2992 3067
3112 3199 3200 3268 3269 3313 3320 3333 3523 3656
DEN160 1211 1224#
DEN200 1208 1217#
DEN556 1209 1216#
DEN625 1212 1223#
DENTBL 1545 1571#
DF$BFZ 104 1110
DIGIT 2859 2885#
DIOIOW 1964 2016#
DMPDSP 1274 1279#
DMPE.1 1457 1465 1471 1475 1477#
DMPE.2 1480 1484#
DMPEDT 10# 17 20
DMPEND 1276 1342 1347 1448 1469# 3258
DMPI.1 1297 1306#
DMPINI 1266 1292#
DMPINP 1269# 1277
DMPINW 1399 1429#
DMPLUP 1270# 1496 1767 1862 3210 3254 3262 3298 3307 3324 3330 3338 3353
DMPMIN 11# 20
DMPVER 9# 17 20
DMPWHO 12# 20
DMPWRD 1318# 1398
DOPRMP 450 475#
DOTPOP 1202 1246#
DSKP.G 3208# 3279
DUMP$G 1343# 1358 1388 1392 1463 1464
DUMP.1 1334 1337#
DUMP.2 1341# 1350 1368 1370
DUMPEF 1344 1446#
DUMPFL 802 888 3807#
DUMPIT 1334# 1339 1352
DUMPR 356# 3830
DV.DIR 205 206 1374 1446 1629 3199 3200 3268 3269 3320
DV.DSK 3333
DV.LPT 206
DV.MTA 205 206 512 548 568 920 1094 1115 1123 1168 1178 1295 1376 1389
1486 1525 1724 1731 1748 2992 3313
DV.TTY 206 567 1788 3067 3112 3523 3656
DWNSCN 400 1039# 3623
E$$BSO 3286 3300#
E$$CDM 1375 1393#
E$$EIW 1321 1330#
E$$IBS 902 905#
E$$ID7 1225#
E$$ID9 1218#
E$$IFU 3012 3043# 3053 3056
E$$ISO 860 912#
E$$ONL 3340 3341 3346 3354#
E$$OSI 856 909#
E$$SFI 3243 3263# 3284
E$$SFM 3272 3281#
E$$SWI 1439 1440 1442#
E.DFL 1017
E.DFO 1012 1456
E1 144# 2769 2770 2774 2800 2805 2811 2813 2818 2826 2840 2841 2871
E2 145# 2774 2775 2776 2777 2780 2781 2782 2787 2798 2799 2804 2807 2814
2815 2825 2828 2853 2860
E3 146# 2777 2778 2787 2788 2790 2791 2793 2794 2800 2811 2813 2828 2829
2830 2838 2840 2843 2888 2890
E4 147# 2789 2792 2841 2842
E5 148# 2845 2846 2847 2848 2851 2856 2870 2898 2901
EBCKNT 1313 2577 2580 3776#
EBCTAB 2597 2602 2617# 2648
EBCTB1 2607 2610 2650# 2657
EBCTB2 2615 2659#
EF$DEC 262# 504 907 3082
EF$ERR 250# 504 1067 1907 3468
EF$FIL 267# 578 3460 3464
EF$FTL 251# 516 522 527 578 801 812 896 907 911 914 940 1219 1226
1331 1394 1443 3029 3044 3169 3264 3282 3301 3316 3335 3355 3460 3464
3696
EF$INF 253# 3401 3671 3688
EF$MAX 268# 3682
EF$NCR 254# 1252 3082 3468 3536 3685 3690
EF$OCT 263# 1067 1252 3468 3536
EF$PPN 265#
EF$SIX 264# 516 911 914
EF$STR 266#
EF$WRN 252# 552 1252 3082 3536 3669
EFMT1 2764 2768#
EFMT11 2835# 2838
EFMT14 2842 2845#
EFMT2 2774# 2785
EFMT3 2779 2810# 2815
EFMT4 2812 2817#
EFMT7 2768 2820#
EFORM2 2856 2858#
EFORM5 2866 2869#
EHND.0 3664 3668#
EHND.1 3686 3692#
EHND.2 3693 3696#
EHNDLR 503 515 521 526 551 577 800 811 895 906 910 913 939 1066
1218 1225 1251 1330 1393 1442 1906 3028 3043 3081 3168 3263 3281 3300
3315 3334 3354 3400 3459 3463 3467 3535 3654#
ENDMS1 1477 1501#
ENDMS2 1482 1502#
ENDMS3 1488 1503#
ENDMS4 1489 1504#
ENDMS5 1491 1505#
ENDMSG 1497 1507#
ENDUMP 3830#
ERIGNR 3601 3607#
ERQUIT 3602 3638#
ERR.L 640# 641 641# 642 642# 643 643# 712 784
ERR.T 640# 712 784
ERRCON 641# 736 790
ERRDSP 3589 3599#
ERRFTL 1909 3474 3697 3718#
ERRHLM 3622 3627#
ERRIGN 642# 3511 3607
ERROPT 3587 3592# 3597
ERRQUE 643# 3516
ERRTAB 3684 3708#
ERRTYX 3075 3531 3661 3663 3667 3692 3695 3767#
ERSKIP 3603 3643#
ETAPOP 1250#
ETPJ1 3509 3512 3615#
EVNPAR 1231 1232#
EXP10 2790 2791 2977#
F 125# 125 393 439 497 499 519 520 524 525 550 689 690 691
692 697 699 704 706 779 815 823 855 859 1103 1124 1125 1155
1160 1184 1185 1268 1269 1296 1308 1345 1349 1351 1397 1447 1470 1487
1619 1626 1632 1677 1681 1688 1690 1722 1725 1732 1774 1777 1803 1838
1879 1897 1926 2515 2673 2674 2686 2698 2743 2746 2750 2762 2766 2854
2861 2867 2881 2886 2989 2993 3110 3120 3134 3138 3153 3157 3189 3198
3202 3222 3244 3256 3261 3267 3271 3285 3292 3312 3319 3326 3332 3351
3352 3375 3396 3507 3562 3567 3655
FILD.0 385 392#
FILD.2 396# 410 412 415
FILD.9 397 407 417#
FILD.X 418# 926
FILE 1380 1653 1736 1750 3088 3204 3218 3274 3317 3794#
FILEND 1449 1476 1721#
FILMS1 1726 1754#
FILMS2 1733 1755#
FILMS3 1727 1756#
FILMS4 1734 1757#
FIT 2848# 2851
FL$EOT 181# 181 1308 1345 1447 1470
FL$FL2 183# 183 2762 2854 2861 2886 3120 3138 3157 3189
FL$FOR 160# 160 161 189 519 520 1124 1125 1296 1487 1632 1725 1732 2989
3202 3244 3271 3292
FL$IND 175# 175 176 189 550 1103 1397 1774 1838 1879
FL$IOF 186# 186 3562 3567
FL$ITY 173# 173 174 190 3375 3396
FL$MNP 180# 180 1308 3256 3261 3507
FL$NEG 178# 178 2673 2674 2686 2762 2766 2867 2881
FL$ODN 187# 187 1155 1185 1897
FL$OLY 182# 182 1308 1351 1677 3351 3352
FL$OMI 171# 171 172 189 1681 1688 1690 1803 1926 2515
FL$OPN 184# 184 1160 1184 3110 3655
FL$OUT 177# 177 190 815 855 859 1268 1269 3198 3222 3267 3285 3312 3319
3326 3332
FL$PHY 163# 163 164 189 519 520 1124 1487 1632 1725 1732 2993 3244 3292
FL$POS 194# 194 393 439 699
FL$RDX 185# 185 190 497 499 1777 2698
FL$SCN 189# 190 190# 823
FL$SUM 167# 167 168 189 524 525 1349 1626 1677
FL$TMP 179# 179 2743 2746 2750 2762 3120 3134 3153
FL$TOT 169# 169 170 189 524 525 1349 1619 1722
FLERR 688 778 3510 3515 3608 3815#
FLNTRY 696 1105 3508 3818#
FLODIV 2784 2798# 2817
FLOMIT 3819#
FLTROT 1416# 1427
FLWIDT 707 782 1790 1799 1801 3822#
FMTFLO 1322 1403 1418 1422 1424 2761#
FMTI.1 2676# 2680
FMTINT 1325 1437 1716 2668#
FMTO.1 2007 2703# 2706
FMTOCT 1318 1326 2698#
FMTR.1 1717 1718 2715#
FMTRDX 1429 1438 2552 2562 2699 2714#
FMTSGN 2683 2686#
FN$BSP 234# 238 684 944 962 983 985
FN$DMP 234# 687 843 887 944
FN$END 222# 804 933 957 1472 1494
FN$INP 223# 813
FN$MOD 234# 694 863
FN$ONL 234# 698
FN$REW 234# 239 701 749 944
FN$RIB 234# 702 750
FN$SKP 234# 703 944
FN$TP1 238#
FN$TPX 239#
FOR3.X 3158 3162#
FORADR 1129 1135 1137 3017 3119 3164 3193 3782#
FORCON 3135# 3155
FORCW1 3134#
FORCW2 3128 3153#
FORCW3 3130 3157#
FORLRG 3141 3189#
FORSRC 3126 3154 3167# 3172 3175 3178 3184
FRCTYO 1387 1493 1499 1560 1678 1749 1752 3064 3110# 3519 3659
FS$INP 217# 711 715 716 720 722 735 739 740 744 746 857
FS$NVL 216# 725 726 749 750 861
FS$OUT 218# 718 721 724 728 730 731 742 745 748 752 754 755 853
FS$XTR 215# 708 711 718 722 727 732 735 742 746 751 865
FS$XXX 213#
FS.LRG 213 708 709 710 711 712 713 714 715 716 717 718 719 720
721 722 723 724 725 726 727 728 729 730 731 732 733 734
735 736 737 738 739 740 741 742 743 744 745 746 747 748
749 750 751 752 753 754 755 783 784 785 786 787 788 789
790 791 792 793 794
FS.NCM 213
FS.NFS 213
FS.NOS 213
FS.NUE 213 709 710 712 713 714 715 716 717 719 720 721 723 724
728 729 730 731 733 734 736 737 738 739 740 741 743 744
745 747 748 752 753 754 755 783 784 785 786 787 788 789
790 791 792 793 794
FS.OBV 213
FS.VRQ 213 708 711 727 732 735 751
FT$ISD 111 1954 1957
FT$OPT 108 430 465 759
FT$PHX 109 162 166 518 668 692 716 740 2991 3006
FT$SEG 33 40 105 114 115 352 359 379 400 402 422 426 1032 1033
1036 1455 3621 3623 3626 3634 3720 3743 3749 3825
FT$WLD 35 110 397 404 435 996 1078 1083 1451 1460 3771
FW$ZER 372 373 3758#
FX.DEN 1196
FX.NDV 581
FX.NUL 560
FX.PAR 1203
GCHNWL 3403# 3585
GEROPT 3518 3582# 3590 3624
GETBUF 1343 2989# 3257
GETW.1 1789 1801#
GETW.2 1791 1800 1803#
GETWID 1773 1788# 1857
GMBWID 1845 1853 1867#
GO2ERF 2849 2853#
GVEHLP 3600 3620#
HILOC$ 426# 1033 3626# 3634
HITEN 2804 2807 2814 2950#
HOLDMP 803 843#
IBHR 1009 1121 1138 3000 3002 3022 3032 3035 3039 3099 3101 3142 3148 3150
3176 3179 3190 3358 3366 3780#
IDVNAM 511 543 3778#
IFILSZ 1093 3249 3250 3777#
IFTCMD 3380 3387# 3390
IFTDSP 3382 3392#
IFTIGN 3392 3396#
ILLIDV 542 546 576# 921
ILLODV 575# 587 591
IMES1 1519 1564#
IMES2 1549 1565# 1738
IMES3 1552 1566#
IMES4 1556 1567#
IMES5 1529 1568#
IMES6 1542 1569#
INDFLO 1403# 1433
INIACT 822#
INIH.1 1514 1518#
INIH.3 1528 1533#
INIH.4 1526 1549#
INIHDR 1309 1512#
INIPDP 377# 1065 3719
INPC 198# 954 1011 1016 1098 1099 1104 1106 1107 1133 1134 1300 1303 1454
1534 2998 3025 3104 3228 3229 3230 3252 3294 3304 3322 3327 3336 3357
3505 3522
INPCLS 403 925 1133# 1450
INPD.1 549 567#
INPDFL 494 538#
INPSPC 436 538 540 555 556 557 558 561 562 569 570 571 572 576
799 806 918 1019 1020 1097 3805#
INPW.1 3100 3103#
INPWRD 3008 3055 3099# 3106 3123 3167
INWL.1 1003# 1013 1018 1022
INWLDO 922 1001# 1084
IO.BKT 3557 3559
IO.DER 3557
IO.DTE 3557
IO.EOF 3496
IO.EOT 3496
IO.ERR 3500
IO.IMP 3557
IO.NRC 1107
IOINTB 2017 2032#
ISCNBL 380 445#
ISCNVL 382 3723 3747#
L 139# 139 1334 1336 1362 1363 1365 1701 1782 1784 1860
LGLMTF 936 944# 948
LINRDX 508 510 693 780 1622 1693 1805 3816#
LKENER 3454 3466#
LKPBLK 1016 1027 1090 1453 3423 3428 3433 3452 3466 3762#
LKWLDB 1003 1025#
LKWLFL 405 1006 1014 3774#
LN$ACT 100 822 3768
LN$CMD 101 102 3804
LN$PDL 97 377 3759
LN$TTL 103 705 3808
LNODSP 1696 1716#
LNORDX 1695 1706#
LNOWID 1694 1712# 1806
LOLOC$ 352# 426 1033# 3626 3634#
LRGERR 3047 3064# 3160
LRX.L 653# 654 654# 655 655# 656 656# 717 786
LRX.T 653# 717 786
LRXDEC 509 654# 741 792 1623
LRXHEX 655#
LRXOCT 656#
LW$ZER 374 3824#
M 138# 138 1306 1398 1399 1666 1679 1680 1686 1687 1761 1762 1764 1771
1775 1776 1881 2729
MNETBL 1967 2045#
MNP.B1 987 990#
MNP.BF 986#
MNP.BS 965 982#
MNP.RW 967 969#
MNP.SK 966 981#
MNP.XX 971 976# 989
MNPDSP 962 965#
MNPX.2 956# 964 972 991
MNPXCI 924 953#
MNPXDG 971# 993
MOD.L 643# 644 644# 645 645# 646 646# 647 647# 648 648# 649 649# 650
650# 651 651# 652 652# 653 653# 718
MOD.T 643# 718
MODASC 644# 1666 1680 1686
MODBYT 645# 891 1762 1771 1881 2729
MODEBC 646# 1679 1687
MODFLO 647#
MODHAL 648# 1764
MODHEX 649#
MODINT 650#
MODOCT 651# 742
MODSIX 652#
MODSYM 653#
MODTBI 1775 1821#
MODTBL 1776 1809#
MSETBY 1772 1784#
MT.7TR 1217 1224 1538
MTAPOS 394 917#
MX$CMD 102# 832
MX. 708# 729 783#
MX.BFZ 633 710 783
MX.BKF 634 709
MX.MBF 635 719 787
MX.MTN 636 708 711 727
MX.ONL 637 722
MX.RDX 638 724
MX.WID 639 731 788 1802
MY$NAM 98 482
MY$PFX 99 447 480 3674
N 143# 869 872 875 877 891 898 900 901 903 905
N$CMDS 446 483#
N$ECH2 2606 2657#
N$ECHR 2596 2648#
N$EOPT 3586 3597#
N$IFTC 3379 3390#
N$MTAF 935 948#
NMTBUF 695 781 1117 3817#
NOOP 275# 504 516 522 527 552 578 801 812 896 907 911 914 940
1067 1219 1226 1252 1331 1394 1443 1907 3029 3044 3082 3169 3264 3282
3301 3316 3335 3355 3401 3460 3464 3468 3536
O$AQST 2519#
O$ASC1 2505# 2508
O$ASC4 2520#
O$ASC5 2516 2524#
O$ASCC 2507 2511# 2541
O$ASCW 1319 2502#
O$BUFR 1895 1900#
O$BYT1 2551# 2555
O$BYT2 2553 2556#
O$BYTW 1320 1431 2546#
O$CHAR 1521 1541 1613 1638 1660 1676 1698 1740 1888 1894# 1917 1930 1933 1935
1977 1984 1988 2474 2488 2499 2514 2520 2525 2528 2531 2576 2684 2688
2691 2730 2733 2737 2865 2878 2883 2887 2890 2904 3072 3528
O$CHR1 1896# 1905
O$COMA 1934# 1974
O$CRLF 1474 1517 1518 1627 1628 1683 1689 1723 1887# 2581 3070 3071 3526 3527
3658
O$DECW 1381 1385 1481 1485 1636 1641 1654 1658 1663 1672 1730 1737 2484#
O$DIGT 1946 2496# 2705
O$DOT 1929# 2858
O$EBC1 2572# 2582
O$EBC3 2574 2578 2582#
O$EBCW 1432 2569#
O$HEX1 1944# 1947
O$HEXI 1435 1940#
O$HEXW 1324 1941#
O$IAS1 2538# 2542
O$IASC 1430 2535#
O$OCTW 1973 1979 1986 2025 2029 2483#
O$RDXW 2485#
O$SIX0 2467 2470#
O$SIX1 2471# 2475
O$SIXN 1327 2468#
O$SIXW 1532 1968 2011 2018 2466#
O$SLSH 1932# 2554 2558
O$SPAC 1533 1668 1928# 1943 1960 1969 1970 1993 2019 2020 2469 2550 2702 2821
2850
O$SPEC 1926# 2503 2536 2570
O$STR1 1915# 1918
O$STRG 1379 1383 1478 1483 1490 1492 1498 1516 1520 1530 1543 1546 1548 1550
1553 1557 1580 1634 1652 1656 1665 1674 1728 1735 1739 1913# 2002 2027
O$SYMW 1328 1953#
O$TABC 1931#
OBHR 1161 1167 1181 1894 1896 3781#
ODVNAM 408 513 588 3779#
OFFSET 358 383 419 447 3722 3756#
OLYD.1 1356 1360#
OLYD.2 1363# 1369
OLYD.3 1363 1366#
OLYDMP 1353#
ONLYHI 1360 3350 3800#
ONLYLO 1353 1361 3349 3799#
OPENER 3446 3458#
OPENIO 1166 3416#
OPNBLK 1001 1002 1008 1010 1011 1027 1088 1121 1181 1452 1454 3421 3422 3426
3435 3439 3443 3761#
OPNI.1 1095 1109#
OPNI.2 1116 1120#
OPNI.A 1094# 1458
OPNINP 396 1077#
OPNO.1 1169 1177#
OPNOUT 399 414 1165#
OPSWD 468 789#
OPSWL 467 777#
OPSWM 468 783#
OPSWN 467 771# 777
OPSWP 469 777#
ORDXW1 2485 2490# 2494
OSCNBL 431 466#
OSYM.2 1969# 2008 2012
OSYM.4 1972 1975#
OSYM.6 1981 1989# 2030
OSYM2A 1972# 2022
OUTC 199# 1158 1159 1167 1172 1173 1183 1902 3113 3224 3225 3226 3328
OUTCLS 413 417 1155# 1908
OUTDFL 493 581#
OUTP1 2873 2892#
OUTP2 2893# 2896
OUTP3 2895 2898# 2901
OUTP4 2899 2902# 2905
OUTSPC 575 582 583 585 595 596 597 598 600 601 810 816 1165 1171
3541 3806#
P 141# 243 376 441 490 528 563 573 602 808 834 839 869 871
889 898 900 934 958 979 983 985 988 992 1005 1040 1042 1050
1064 1065 1085 1086 1127 1130 1144 1146 1148 1151 1186 1205 1221 1228
1248 1251 1255 1259 1314 1524 1562 1620 1702 1743 1745 1783 1786 1804
1807 1899 1904 1914 1915 1927 1948 1982 1985 1992 1994 2476 2492 2495
2509 2527 2530 2543 2557 2564 2583 2590 2592 2595 2598 2600 2603 2605
2608 2611 2613 2616 2678 2690 2693 2707 2724 2736 2739 2795 2808 2820
2822 2826 2827 2833 2836 2871 2894 2902 2907 2999 3009 3051 3055 3068
3070 3074 3077 3086 3105 3111 3114 3124 3227 3231 3241 3367 3384 3402
3408 3416 3417 3455 3483 3486 3487 3489 3493 3505 3514 3524 3526 3530
3539 3543 3546 3549 3550 3551 3577 3612 3614 3615 3644 3660 3706 3719
3735
P1 130# 130 395 398 909 912 954 976 1058 1097 1171 1196 1271 1341
1375 1388 1390 1391 1463 1534 1536 1537 1538 1544 1835 1836 1841 1844
1878 1880 1959 1962 1971 1976 1978 1980 2003 2016 2021 2024 2028 2547
2669 2681 2683 2685 2716 2725 2727 2731 2734 2823 2845 3019 3030 3031
3038 3041 3119 3143 3145 3146 3191 3193 3194 3204 3219 3233 3236 3243
3273 3284 3340 3342 3345 3347 3348 3349 3419 3420 3425 3458 3462 3471
3638 3660 3669 3671 3675 3678 3681 3685 3688 3690 3696
P2 131# 131 955 956 959 960 961 1057 1098 1172 1201 1203 1234 1272
1342 1464 1761 2548 2551 2559 2560 2670 2679 2681 2689 2692 2717 2727
2735 2738 2824 2825 2846 2862 3020 3033 3036 3040 3205 3237 3240 3248
3260 3275 3289 3303 3307 3341 3343 3345 3350 3420 3434 3436 3437 3440
3449 3638
P3 132# 132 143 144 959 984 986 1059 1060 1061 1099 1100 1101 1173
1174 1175 1217 1224 1353 1354 1356 1360 1361 1368 2549 2553 3440 3441
3442 3444 3448
P4 133# 133 142 145 960 982 990
PD. 732# 753 789#
PD.BFZ 633 734 789
PD.BKF 634 733
PD.MBF 635 743 793
PD.MTN 636 732 735 751
PD.ONL 637 746
PD.RDX 638 748
PD.WID 639 755 794
PDLIST 377 3759#
PHXL.2 3055# 3057
PHXLRG 3014 3047#
PHYX.0 3008# 3010
PHYX.2 3022# 3027 3041
PHYX.3 3023 3030#
PHYX.4 3015# 3052
PLUS 2869 2879#
POP4J 3576#
PRBDUN 3558 3575#
PRBLUP 3564# 3572
PRBNAM 3563 3579#
PRBNXT 3566 3571#
PRMPTM 476 480#
PROCMD 401 1265#
PTHBLK 3429 3763#
PTLEN 2778 2781 2782 2929#
PUTACT 805 814 847 873 885# 904
Q 140# 140 1694 1775 1776 1778 1779 1785 2561 2563 2669 2716 2717
RADXZR 2719 2727#
RBRKNL 1386 1555 1559 1580# 1746
RDFORT 2990 3117#
RDPHYX 2995 3007#
RDXADJ 2718 2743#
RDXCON 2721# 2756
RDXLUP 2718# 2725
RDXNZR 2731 2735#
RECH.1 1629#
RECH.2 1642 1664#
RECH.3 1667 1675#
RECHDR 1348 1617#
RECMS1 1647# 1651
RECMS2 1382 1648# 1655
RECMS3 1649# 1673
RECMTA 1630 1651#
RECORD 1384 1617 1635 1657 1729 1747 3092 3205 3246 3251 3259 3276 3287 3296
3306 3318 3643 3795#
REELID 1527 1531 3792#
RESACS 2906 3703#
RESTRT 369# 421 923 3725
REWMTA 3321 3325#
RFOR.1 3123# 3151
RFOR.3 3125# 3185
RFOR.4 3146# 3195
RFOR.5 3139 3147#
RNDHGH 2830 2910#
RTLERR 3066 3076 3081#
RUN$FZ 1292 1293 3790#
RUN$LZ 1294 3801#
RUNSVD 361 368#
S.BLKF 685 1310 1312 2579 3813#
SAVAC 1051 1052 1053 1062 3680 3703 3704 3731 3732 3733 3734 3760#
SAVACS 2761 3654 3731#
SAVRUN 360 366 3750#
SCMDBP 489 831 3769#
SCMDCT 488 833 3770#
SCN$FO 827 828 3812#
SCN$FZ 824 825 3803#
SCN$LO 829 3823#
SCN$LZ 826 3811#
SCNCMD 392 428#
SEGAGN 1054# 1069
SETC.1 1197 1203#
SETCHR 1102 1176 1196#
SETDEN 1198 1207#
SETI.1 3223 3228#
SETIOC 3208 3215 3222#
SETPAR 1204 1230#
SGDEV 364 1054 3751#
SGLOW 365 1056 3753#
SGNAM 362 1055 3752#
SGPPN 363 1058 3754#
SIGN 2855 2880#
SIGN1 2881#
SKDF.1 3257# 3260
SKDFOR 3220 3245 3256# 3308
SKMF.1 3216# 3219
SKMFOR 3203 3214#
SKPDIR 3201 3243#
SKPFLR 3209 3233#
SKPL.0 3234# 3236
SKPL.1 3233 3237#
SKPL.2 3238# 3240
STOMOD 864 891#
STOSWA 854 857#
STOSWB 858 861#
STOSWT 463 853#
SVINLK 1089 1585 3765#
SVINOB 1001 1088 1452 1584 3764#
SWTD 456 732#
SWTL 455 684#
SWTM 456 708#
SWTN 455 660# 684 909 912
SWTP 457 684#
SWTS0A 875#
SWTST0 862 867 876# 892
SYMXWD 2024#
T1 126# 126 356 357 358 380 382 386 388 408 409 411 428 431
436 437 475 476 477 495 496 498 501 502 505 506 507 508
509 510 511 513 538 539 540 541 543 544 545 547 553 558
559 562 575 576 583 584 585 586 588 589 590 592 593 598
599 601 804 806 813 816 825 826 828 829 830 831 832 833
843 871 876 885 887 900 905 909 912 918 919 920 930 931
932 956 957 962 969 976 977 983 985 988 992 1001 1002 1003
1007 1008 1009 1010 1042 1043 1054 1059 1061 1088 1089 1090 1091 1092
1093 1106 1107 1109 1110 1111 1114 1119 1126 1129 1135 1138 1143 1146
1148 1149 1150 1156 1157 1158 1161 1165 1177 1179 1196 1197 1198 1199
1203 1204 1213 1214 1220 1227 1232 1246 1251 1253 1255 1259 1270 1274
1293 1294 1298 1299 1300 1301 1302 1304 1310 1311 1312 1313 1337 1354
1355 1366 1378 1380 1382 1384 1403 1404 1408 1416 1417 1419 1420 1421
1423 1425 1436 1452 1453 1472 1473 1477 1479 1480 1482 1484 1488 1489
1491 1494 1495 1497 1515 1519 1521 1524 1529 1531 1539 1540 1542 1544
1545 1547 1549 1552 1556 1562 1580 1584 1591 1592 1593 1595 1596 1597
1600 1602 1603 1607 1609 1610 1621 1624 1625 1631 1633 1635 1637 1639
1640 1651 1653 1655 1657 1659 1661 1662 1664 1669 1670 1671 1673 1675
1692 1697 1726 1727 1729 1733 1734 1736 1738 1740 1743 1745 1779 1781
1782 1790 1792 1797 1798 1799 1801 1802 1806 1839 1840 1841 1842 1844
1846 1847 1848 1849 1850 1851 1854 1855 1856 1858 1859 1860 1872 1874
1887 1889 1896 1913 1914 1915 1916 1928 1929 1931 1932 1934 1942 1944
1945 1959 1962 1963 1965 1967 1971 1972 1975 1978 1980 1981 1982 1983
1985 1987 1989 1990 1991 1992 2000 2001 2010 2016 2017 2021 2024 2026
2028 2466 2468 2471 2472 2473 2485 2486 2487 2489 2490 2493 2495 2496
2497 2498 2502 2505 2506 2511 2512 2513 2517 2518 2519 2524 2527 2530
2535 2538 2539 2540 2547 2551 2560 2569 2572 2573 2574 2579 2580 2585
2587 2588 2589 2591 2593 2595 2597 2598 2600 2602 2605 2607 2608 2610
2611 2613 2615 2671 2682 2687 2690 2701 2703 2704 2718 2719 2720 2728
2732 2736 2744 2747 2748 2754 2764 2765 2768 2769 2771 2772 2804 2806
2807 2814 2818 2820 2822 2830 2831 2832 2835 2836 2837 2864 2872 2877
2879 2880 2882 2885 2888 2889 2893 2895 2902 2903 3002 3003 3010 3011
3013 3015 3016 3019 3032 3033 3034 3040 3049 3051 3070 3072 3074 3077
3086 3088 3090 3092 3093 3101 3125 3127 3129 3135 3136 3137 3142 3143
3144 3146 3147 3148 3149 3150 3159 3170 3171 3174 3177 3180 3190 3191
3192 3206 3214 3216 3224 3228 3234 3246 3247 3248 3249 3250 3251 3252
3273 3274 3275 3276 3277 3287 3288 3289 3290 3291 3294 3295 3296 3303
3325 3327 3328 3329 3342 3343 3344 3358 3359 3363 3376 3380 3383 3404
3416 3419 3422 3423 3424 3425 3432 3433 3434 3435 3436 3438 3439 3443
3444 3445 3448 3450 3451 3452 3453 3458 3462 3466 3469 3471 3486 3488
3490 3494 3495 3498 3499 3515 3516 3526 3528 3530 3539 3541 3556 3560
3569 3573 3583 3587 3607 3608 3612 3614 3644 3645 3646 3665 3667 3668
3670 3672 3674 3675 3678 3680 3687 3692 3739
T2 127# 127 554 556 560 561 581 582 594 596 807 844 863 869
871 872 876 877 886 898 900 903 931 933 936 1006 1055 1117
1118 1119 1120 1180 1199 1200 1232 1233 1251 1259 1407 1409 1410 1411
1413 1415 1419 1421 1426 1585 1589 1591 1595 1609 1622 1623 1780 1792
1793 1805 1806 1834 1835 1836 1837 1843 1868 1871 1872 1873 1942 2003
2004 2005 2466 2468 2486 2489 2491 2492 2502 2535 2556 2559 2569 2701
2721 2722 2723 2724 2745 2749 2751 2752 2753 2755 2763 2803 2837 2894
3016 3017 3018 3020 3048 3049 3051 3055 3057 3135 3145 3147 3149 3173
3174 3176 3177 3179 3180 3181 3182 3183 3207 3225 3229 3238 3278 3359
3361 3362 3363 3379 3380 3381 3382 3426 3494 3496 3498 3499 3500 3501
3502 3503 3505 3510 3511 3514 3522 3543 3546 3564 3569 3586 3587 3588
3589 3681 3682 3683 3684
T3 128# 128 853 857 861 865 935 936 937 938 970 978 986 990
1056 1201 1234 1251 1259 1405 1406 1418 1590 1599 1605 1606 1693 1694
1695 1696 1794 1795 1867 1869 1870 1940 1941 1947 2006 2470 2475 2483
2484 2490 2504 2508 2537 2542 2571 2582 2671 2672 2675 2676 2680 2700
2706 2755 3217 3226 3230 3235 3239 3360 3361 3365 3366 3427 3489 3490
3491 3492 3493 3563 3564
T4 129# 129 1057 1210 1213 1214 1220 1227 1235 1251 1259 1695 2596 2597
2599 2601 2602 2606 2607 2610 2612 2614 2615 2677 2678 2714 2720 2747
2752 2763 2799 2844 2866 2872 2892 2896 2898 2905 3022 3030 3031 3035
3036 3037 3038 3039 3429 3556 3557 3558 3559 3565 3571 3572
TAPOBL 1299 1301 1302 3793#
TELIO1 3521 3532 3535#
TELIOE 3514 3519#
TELPRB 3537 3555#
TINSPC 1524 1584# 1743 3543
TITLEB 705 1513 1515 3808#
TITLEE 3809#
TLDVER 384 391 3748#
TOOBIG 1414 1425#
TOOSML 1412 1423#
TOTFIL 1479 1751 3796#
TOTREC 1484 1618 3797#
TPOPJ 1045 1916 1996 3079 3095 3497 3547 3613# 3639
TPOPJ1 3611# 3616 3647
TSCNBL 428 454#
TSTBHR 1143# 1162
TTINPT 448 487#
TTLZER 3810#
TY.SPL 411
TYFREC 3083 3085# 3544
TYSLSH 3568 3739#
UPSCN 379 402 1049# 1455 3621 3720
USERDX 495 498 700 1867 2714 3820#
USRWID 507 1778 3821#
UUO000 2000 2010#
UUOIOW 1966 2000#
W 137# 137 148 1306 1337 1339 1357 1366 1369 1639 1661 1669 3000 3001
3003 3018 3118 3137 3140 3159 3161 3162 3163 3164
WLDERR 3431 3462#
WLDFIR 437 1026 3772#
WLDPTR 1029 3773#
WRDCNT 1355 1625 1692 1701 3798#
WRDRDX 506 530#
XCHTYO 3077# 3533
XCTI.1 3506 3513#
XCTIO 1901 2997 3024 3103 3483#
XCTIOE 3488# 3648
XIOCON 3517 3599 3610#
XLTE.1 2586 2591#
XLTE.2 2597# 2599
XLTE.4 2594 2605#
XLTE.5 2607# 2612
XLTE.6 2609 2612#
XLTEBC 2575 2585#
XLTQST 2589# 2601 2614
ZERO 2857 2877# 2900
ZZ 123# 125 125# 126 126# 127 127# 128 128# 129 129# 130 130# 131
131# 132 132# 133 133# 134 134# 135 135# 137 137# 138 138# 139
139# 140 140# 158# 160 160# 163 163# 167 167# 169 169# 171 171#
173 173# 175 175# 177 177# 178 178# 179 179# 180 180# 181 181#
182 182# 183 183# 184 184# 185 185# 186 186# 187 187# 192# 194
194# 232# 234 234# 260# 262 262# 263 263# 264 264# 265 265# 266
266# 267 267# 268 270
$FLFOR 161# 689
$FLIND 176# 691
$FLITY 174# 690 779
$FLOMI 172# 697
$FLPHY 164# 692
$FLSUM 168# 704
$FLTOT 170# 706
$OKDVI 205# 545
$OKDVO 206# 590
$POPJ 1592 1605 1873 1874 1991 2689 2735 2798 3237 3393 3551# 3708
$POPJ1 1015 1023 3004 3042 3058 3102 3165 3377 3397 3550#
$POPJ2 3484 3549#
%%DUMP 20# 21
%%JOBD 25 25#
%%MACT 27 27#
%%SCNM 28 28#
%%UUOS 26 26#
..TEMP 641# 641 642# 642 643# 643 644# 644 645# 645 646# 646 647# 647
648# 648 649# 649 650# 650 651# 651 652# 652 653# 653 654# 654
655# 655 656# 656 684# 684 685# 685 686# 686 687# 687 688# 688
689# 689 690# 690 691# 691 692# 692 693# 693 694# 694 695# 695
696# 696 697# 697 698# 698 699# 699 700# 700 701# 701 702# 702
703# 703 704# 704 705# 705 706# 706 707# 707 708# 708 709 709#
710 710# 711 711# 712 712# 713 713# 714 714# 715 715# 716 716#
717 717# 718 718# 719 719# 720 720# 721 721# 722 722# 723 723#
724 724# 725 725# 726 726# 727 727# 728 728# 729 729# 730 730#
731 731# 732 732# 733 733# 734 734# 735 735# 736 736# 737 737#
738 738# 739 739# 740 740# 741 741# 742 742# 743 743# 744 744#
745 745# 746 746# 747 747# 748 748# 749 749# 750 750# 751 751#
752 752# 753 753# 754 754# 755 755# 756 777# 777 778# 778 779#
779 780# 780 781# 781 782# 782 783# 783 784 784# 785 785# 786
786# 787 787# 788 788# 789 789# 790 790# 791 791# 792 792# 793
793# 794 794# 795
..TEMR 732# 732 733# 733 734# 734 735# 735 736# 736 737# 737 738# 738
739# 739 740# 740 741# 741 742# 742 743# 743 744# 744 745# 745
746# 746 747# 747 748# 748 749# 749 750# 750 751# 751 752# 752
753# 753 754# 754 755# 755 756 789# 789 790# 790 791# 791 792#
792 793# 793 794# 794 795
.ALCBF 1122 1182
.ALCOR 1128
.BFADR 1143 1148 3358 3366
.BFCTR 1150 1894 3002 3022 3039 3099 3150 3176
.BFPTR 1149 1896 3000 3032 3035 3101 3142 3148 3179 3190
.CHBEL 2513 3383
.CHCRT 1607 1887 2512 2591
.CHKTM 1021
.CHLFD 1610 1889
.CHTAB 1602 2511 2588 2617
.CHVTB 2585
.CLRBF 3721
.DECNW 869 898
.DECOR 1136
.FREBF 1146
.FXDEV 538 540 583 585 799 810 918
.FXDIR 572
.FXEXT 562 571 600 601
.FXFLM 1019 1020
.FXLEN 807 1028 3424 3805 3806
.FXMOD 561 582 1196 1203
.FXNAM 555 557 558 569 595 597 598
.FXNMM 556 570 596
.IOASC 1167
.IOBIN 1007
.ISCAN 381
.JBHRL 1039 1049
.JBVER 19 388
.LKWLD 1004
.MONRT 420 3724
.OPBUF 1002 1010 3439
.OPMOD 1008
.OSCAN 432
.POP4T 1904 3576
.PSH4T 1900 3555
.RBCNT 3433
.RBEXT 3466
.RBSIZ 1090
.RBTIM 1028 1089 1453 3423 3428 3432 3762 3765
.RECOR 378
.RUNCM 418
.SAVE1 1512 1958 3117
.SAVE2 2668 2715 3007
.SAVE3 1096 1170 2546 3418
.SAVE4 953 1265
.SGDEV 364
.SGLOW 365
.SGNAM 362
.SGPPN 363
.STOPB 3430
.SWASQ 729
.SWDEC 708 709 710 711 719 722 724 727 731 783 787 788
.TCHAR 3385 3574 3673 3689 3740
.TCRLF 390 1257 3065 3084 3399 3473 3520 3546 3691
.TDATN 1551
.TDECW 3089 3094 3709
.TFBLK 3472 3543 3714
.TFD80 1210
.TFDEN 1200
.TFPAR 1233
.TFSET 1200 1233
.TFSTA 1298
.TOCTW 1256 3710
.TOLEB 1586
.TOWID 1793
.TPPNW 3712
.TSCAN 429
.TSIXN 478 3570 3676 3711
.TSPAC 3677
.TSTRG 387 1254 3087 3091 3470 3540 3561 3584 3679 3713
.TTIMN 1554
.TVERW 389
.TYOCH 1522 1562 1741 1745 3073 3078 3529 3662 3666 3694
.WLDFL 406
AC$ 119# 125 126 127 128 129 130 131 132 133 134 135 137 138
139 140
ALIGN. 3559
ASCIZ$ 319# 1501 1502 1503 1504 1505 1507 1564 1565 1566 1567 1568 1569 1570
1644 1645 1646 1647 1648 1649 1754 1755 1756 1757 3627
CALL 243# 378 379 381 387 389 390 392 396 399 400 401 402 403
413 414 417 418 420 429 432 493 494 503 515 521 526 551
577 800 803 805 811 814 869 895 898 906 910 913 917 922
924 925 939 953 971 989 1004 1012 1017 1021 1066 1084 1096 1102
1122 1128 1136 1146 1166 1170 1176 1182 1202 1208 1209 1211 1212 1218
1225 1231 1251 1254 1256 1257 1265 1266 1307 1309 1330 1335 1338 1343
1346 1348 1364 1367 1379 1381 1383 1385 1386 1387 1393 1442 1449 1450
1455 1456 1458 1474 1476 1478 1481 1483 1485 1490 1492 1493 1498 1512
1516 1517 1518 1520 1522 1524 1530 1532 1533 1541 1543 1546 1548 1550
1551 1553 1554 1555 1557 1558 1559 1560 1613 1627 1628 1634 1636 1638
1641 1652 1654 1656 1658 1660 1663 1665 1668 1672 1674 1676 1689 1696
1698 1700 1723 1728 1730 1735 1737 1739 1741 1743 1745 1746 1766 1773
1845 1853 1857 1888 1900 1901 1906 1908 1917 1943 1946 1958 1960 1968
1969 1970 1973 1974 1977 1979 1984 1986 1988 1993 2002 2007 2011 2018
2019 2020 2025 2027 2029 2469 2474 2488 2494 2503 2507 2528 2536 2541
2546 2550 2552 2554 2558 2562 2570 2575 2576 2581 2668 2684 2688 2691
2702 2705 2715 2730 2733 2737 2761 2783 2784 2810 2817 2821 2850 2855
2857 2858 2859 2865 2869 2900 2904 2906 2997 3007 3008 3024 3028 3043
3047 3052 3055 3064 3065 3066 3070 3071 3073 3076 3078 3081 3083 3087
3089 3091 3094 3103 3117 3123 3160 3167 3168 3208 3209 3215 3253 3257
3263 3281 3297 3300 3305 3315 3323 3334 3337 3354 3399 3400 3418 3430
3459 3463 3467 3470 3472 3473 3514 3519 3520 3521 3526 3527 3529 3532
3535 3537 3540 3543 3544 3546 3555 3561 3568 3570 3574 3576 3584 3585
3621 3623 3654 3658 3659 3666 3673 3676 3677 3679 3684 3689 3691 3694
3720 3721 3724
CLOSE 1133 1158
CLRBFI 3378 3403 3405
CORE 1043
CTITLE 15# 17
DEVCHR 544 589 919
DEVNAM 541 586
DEVTYP 409
DM 633 634 635 636 637 638 639
DOSCAN 659 770
ENTER 3450
ERROR. 278# 503 515 521 526 551 577 800 811 895 906 910 913 939
1066 1218 1225 1251 1330 1393 1442 1906 3028 3043 3081 3168 3263 3281
3300 3315 3334 3354 3400 3459 3463 3467 3535
ETYP 257# 262 263 264 265 266 267
EXIT 1068
FLAG$ 154# 160 163 167 169 171 173 175 177 178 179 180 181 182
183 184 185 186 187 194
FUNCTS 226# 234 1283
GETSEG 1060
GETSTS 1106 3494
HALT 1279 1323 1434
HIGH$ 325# 426 3626
IN 2998 3025 3104
INCHRS 3376
INCHRW 3404
INCHWL 487
INFO. 290# 3400
KEYS 640 643 653
LIT$ 347# 422 1032
LOOKUP 1016 3451
LOW$ 333# 1033 3634
MOVX 560 581
MTBSF. 985 3277
MTBSR. 983 3278
MTCHR. 1100 1174 1536
MTIND. 1104
MTREW. 969 3325
MTSKF. 985 3206 3214
MTSKR. 983 3207
MTWAT. 1303 3226 3230
ND 97 98 99 100 101 103 104 105 108 109 110 111 633 634
635 636 637 638 639
OPEN 1011 1454 3443
OUT 1902
OUTPUT 1183 3113
OUTSTR 3406 3622
PJOB 1794
PJRST 440 478 817 847 873 904 1162 1398 1399 1499 1562 1586 1678 1683
1749 1752 1909 1930 1933 1935 2012 2499 2514 2520 2525 2531 2878 2883
2887 3084 3095 3385 3397 3533 3740
PJSP 1580
POINTR 689 690 691 692 697 699 704 706 779 1196 1203
POS 689 690 691 692 697 699 704 706 779 1196 1203
RELEAS 1134 1159
RELOC$ 341# 352
RESET 375 3718
RESTR$ 301# 870 899 1147 1258 1561 1744 2529 3054 3513 3545 3611 3613
RGHBT. 3559
SAVE$ 294# 868 897 1041 1145 1250 1523 1742 2526 3050 3069 3085 3485 3504
3525 3538 3542
SETSTS 1107
SL 664 669 670 688 693 694 712 717 718 736 741 742 772 774
778 780 784 786 790 792
SP 660 661 662 663 671 674 676 679 681 683 684 685 686 687
695 698 700 703 705 707 708 709 710 711 719 722 724 727
729 731 732 733 734 735 743 746 748 751 753 755 771 775
776 777 781 782 783 787 788 789 793 794
SS 665 666 667 668 672 673 675 677 678 680 682 689 690 691
692 696 697 699 701 702 704 706 713 714 715 716 720 721
723 725 726 728 730 737 738 739 740 744 745 747 749 750
752 754 773 779 785 791
STORE 369 372 824 827 1292 3421
STRNG$ 313# 386 1253 3086 3090 3469 3539 3582
SWTCHS 605# 660 684 708 732 761# 771 777 783 789
TAPOP. 1246 1304
TRMNO. 1795
TRMOP. 1797
TXNN 411 920
U 308# 3747 3748 3750 3751 3752 3753 3754 3756 3759 3760 3761 3762 3763
3764 3765 3766 3767 3768 3769 3770 3772 3773 3774 3776 3777 3778 3779
3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3794 3795 3796 3797
3798 3799 3800 3804 3805 3806 3807 3808 3810 3813 3814 3815 3816 3817
3818 3819 3820 3821 3822
USETI 3252 3294 3304 3322 3336
VRSN. 20
WAIT 3357 3491
WARN. 285# 551 1251 3081 3535
WID 689 690 691 692 697 699 704 706 779 1196 1203
X 229# 234 660# 660 661 662 663 664 665 666 667 668 669 670
671 672 673 674 675 676 677 678 679 680 681 682 683 684#
684 685 686 687 688 689 690 691 692 693 694 695 696 697
698 699 700 701 702 703 704 705 706 707 708# 708 709 710
711 712 713 714 715 716 717 718 719 720 721 722 723 724
725 726 727 728 729 730 731 732# 732 733 734 735 736 737
738 739 740 741 742 743 744 745 746 747 748 749 750 751
752 753 754 755 771# 771 772 773 774 775 776 777# 777 778
779 780 781 782 783# 783 784 785 786 787 788 789# 789 790
791 792 793 794 1282# 1283 2043# 2046 2056 2066 2076 2086 2096 2106
2117 2127 2137 2147 2157 2167 2177 2187 2197 2207 2217 2227 2237 2247
2257 2267 2277 2287 2297 2307 2317 2327 2337 2347 2357 2367 2377 2387
2397 2407 2417 2427 2437 2447 2457