software: Added more and more
[pdp8.git] / sw / os8 / v3d / sources / system / dectapes / dectape2 / FPATCH.PA
CommitLineData
7af5ad59
PH
1/OS8 FORTRAN II COMPILER OVERLAY V5 ***FPATCH.05***
2/
3/
4/
5/
6/
7/
8/
9//
10/
11/
12/
13/
14/COPYRIGHT (C) 1974, 1975
15/DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
16/
17/
18/
19/THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A
20/SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE INCLU-
21/SION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR ANT OTHER
22/COPIES THEREOF, MAY NOT BR PROVIDED OR OTHERWISE MADE AVAILABLE
23/TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO
24/AGREES TO THESE LICENSE TERMS. TITLE TO AND OWNERSHIP OF THE
25/SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC.
26/
27/
28/THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
29/NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
30/EQUIPMRNT COROPATION.
31/
32/DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
33/SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
34/
35/
36/
37/
38/
39/
40\f/
41/FIXES TO FPATCH FOR V4 J.K. 1975
42/
43/ .CHANGED USE OF 17645 SO /N CAN BE PASSED TO LOADER
44/ BIT 0 OF 17645 INDICATES THAT SABR WAS CHAINED
45/ TO FORM FORT INSTEAD OF WHOLE WORD
46/
47/ .VERSION NUMBER VIA /V--OPTION
48/ WILL BE PASSED ONTO SABR
49/
50/
51/
52 FIELD 0
53 JSBITS=7746
54 MOFILE=7600
55 MPARAM=7643
56 LLUNCH=7001 /TAKE OUT WHEN MERGING WITH COMPILER
57 DO=7173 /"
58 ELIST=1162 /"
59 EMSG1=1270 /"
60 EMSG14=1520 /"
61 FLST=242 /"
62 FORST=5362 /"
63 FPROP=144 /"
64 GOOON=5455 /"
65 KOUNT=113 /"
66 LPTRIN=545 /"
67 LPUNCH=5333 /"
68 LTTYPE=3372 /"
69 L75=75 /"
70 OSTOP=4052 /"
71 XFINI=5354 /"
72\f *200
73START, CLA CMA
74 DCA FCHFLG
75 CIF 10
76 JMS I (7700
77 10 /ESCAPE
78 ISZ FCHFLG
79 JMP .+5
80 CIF 10
81 JMS I (200
82 5 /COMMAND DECODE
83 0624 /.FT ASSUMED EXTENSION
84 CDF 10
85 TAD I (MPARAM+1
86 CDF 0
87 AND (4
88 SZA CLA
89 JMS VERNUM
90 CLA IAC
91 CIF 10
92 JMS I (200
93 4 /CLOSE OPERATOR USED AS DELETE
94 OUSNAME /DELETE FORTRN.TM IF IT EXISTS
95 0
96 CLA /IT DIDN'T EXIST
97 CLA IAC /ENTER A FILE ON "SYS" - MAXIMUM SIZE
98 CIF 10
99 JMS I (200
100 3 /ENTER
101OUSREC, OUSNAME
102HOLSIZ, 0
103 JMP I (OUERR /WHATS GOING ON HERE?
104 CLA IAC /DEVICE "SYS"
105 CIF 10
106 JMS I (200
107 2
108PTSABR, SABR
109FCHFLG, 0 /USELESS LENGTH WORD
110 JMP I (BIGGIE
111 TAD PTSABR
112 DCA I (CLSABR
113 TAD OUSREC
114 DCA I (OUTREC
115 TAD HOLSIZ
116 DCA I (OURCNT
117 TAD (1000
118 TAD I (JSBITS
119 DCA I (JSBITS /SET "UNSTARTABLE" STATUS BIT
120 JMS I (FNEWF /INITIALIZE FIRST INPUT FILE WHILE I/O MON IS IN CORE
121 CDF 10
122 TAD OUSREC
123 DCA I (7620
124 CLA IAC
125 DCA I (7617
126 CLA CLL CML RTL
127 AND I (MPARAM
128 TAD I (MOFILE+5
129 SNA CLA
130 DCA I (FLST
131 TAD I (7600
132 SNA CLA
133 TAD I (MPARAM
134 AND (41
135 SNA CLA /DID HE SPECIFY A "L" OR "G" OPTION WITHOUT A
136 JMP FCDF0-3 /RELOCATABLE OUTPUT FILE?
137FTADNM, TAD BDFALT /YES - GIVE HIM ONE
138 DCA I B7600 /NAMED "FORTRL.TM"
139 ISZ FTADNM
140 ISZ B7600
141 ISZ B7773
142 JMP FTADNM
143 CLA CLL CML RAR
144 TAD I (7645
145 DCA I (7645 /SABR IT WAS CHAINED TO BY FORT
146FCDF0, CDF 0
147 JMP I (1003 /START COMPILATION
148
149BDFALT, 1 /DEVICE "SYS"
150 TEXT /FORTRLTM/
151B7600, 7600
152B7773, 7773
153/
154VERNUM, 0
155 TAD I POINT
156 CDF CIF 10
157 JMS I VPRINT
158 ISZ POINT
159 ISZ COUNT
160 JMP .-5
161 JMP I VERNUM
162/
163POINT, VERN
164COUNT, -12
165VERN, 306
166 317
167 322
168 324
169 240
170 326
171 265
172 301
173 215
174 212
175/
176VPRINT, VERPRT
177
178\f /ADDITIONS TO FORTRAN ERROR MESSAGES
179
180 *ELIST+1
181 NUMSG1
182 *EMSG1-2
183 -ERR61-1; EMSG15
184 -ERR62-1; EMSG16
185 -ERR63-1; EMSG17
186 -ERR64-1; EMSG20
187 0 ; EMSG14
188 /DUMMY PAGES TO CONSOLIDATE CORE IMAGE
189 *1600
190 0
191 *2000
192 0
193 *2400
194 0
195 *3000
196 0
197 *5600
198 0
199\f *5400
200FNEWF, 0
201 CDF 10
202 TAD I FILPTR
203 SNA
204 JMP EOFERR /END OF INPUT REACHED BEFORE END STATEMENT
205 DCA INWCNT
206 TAD I FILPTR
207 AND (7760
208 SZA
209 TAD (17
210 CLL CML RTR
211 RTR
212 DCA INRCNT
213 ISZ FILPTR
214 TAD I FILPTR
215 DCA INREC
216 ISZ FILPTR
217 TAD (5001 /FORTRAN ALLOWS TWO-PAGE HANDLERS
218 DCA INHNDL
219 TAD INWCNT
220 CDF 0
221 CIF 10
222 JMS I (200
223 1 /ASSIGN AND FETCH HANDLER
224INHNDL, 5000 /LOCATIONS 5000-5377 ARE FREE
225 JMP IOERR /SOMETHINGS SCREWY
226 CLA CMA
227 DCA INWCNT
228 DCA INEOF
229 JMS MOUCOR
230 JMP I FNEWF
231FILPTR, 7617
232GETCH, 0
233 KSF
234 JMP .+5
235 KRS
236 TAD (-203
237 SNA CLA
238 JMP I (7600
239 ISZ JMPGET
240 ISZ INWCNT
241JMPG, JMP JMPGET
242 TAD INEOF
243 SNA CLA
244 JMP JUSTRD
245GETNXT, CIF 10
246 JMS I G7700
247 10 /ESCAPE
248 JMS FNEWF
249JUSTRD, JMS I INHNDL /INHNDL CONTAINS LOCN OF DEVICE HANDLER
250 0200 /READ 2 HALF-RECORDS INTO FIELD 0
251INBFPT, INBUF
252INREC, 0
253 JMP RERROR
254 ISZ INREC
255 ISZ INRCNT
256 SKP
257ENDFIL, ISZ INEOF
258 TAD (-601
259 DCA INWCNT
260 TAD JMPG
261 DCA JMPGET
262 TAD INBFPT
263 DCA INPTR
264 JMP GETCH+1
265JMPGET, JMP .
266 JMP INCHR1
267 JMP INCHR2
268INCHR3, TAD JMPG
269 DCA JMPGET
270 TAD I INPTR
271 AND (7400
272 CLL RTR
273 RTR
274 TAD INTMP
275 RTR
276 RTR
277 ISZ INPTR
278 JMP GCHCOM
279INCHR2, TAD I INPTR
280 AND (7400
281 DCA INTMP
282 ISZ INPTR
283INCHR1, TAD I INPTR
284GCHCOM, AND (377
285 TAD (-232
286 SNA
287 JMP GETNXT
288 TAD (232
289 CIF 10
290 ISZ GETCH
291 JMP I GETCH
292RERROR, SMA CLA
293 G7700=RERROR
294 JMP ENDFIL
295IOERR, JMS I (SFATAL
296 CIF 10
297ERR62, JMS I (LLUNCH
298INPTR, 0
299INWCNT, 0
300INTMP, 0
301INRCNT, 0
302INEOF, 0
303EOFERR, JMS MOUCOR /KICK MONITOR OUT
304 JMS I (SFATAL
305 CIF 10
306ERR61, JMS I (LLUNCH
307MOUCOR, 0
308 CDF 0
309 CIF 10
310 JMS I (200
311 11
312 JMP I MOUCOR
313\f *3200
314P377, 377
315P7400, 7400 /WARNING ***DO NOT MOVE THIS***
316
317PUTCH, 0
318 DCA PUTMP
319 RAL
320 DCA PUTLNK
321PUTCHX, ISZ JMPPUT
322 ISZ OUWDCT
323JMPP, JMP JMPPUT
324 CLA CLL CML RTL
325 TAD OURCNT
326 SZL
327 JMP OUERR+1
328 DCA OURCNT
329 ISZ CLOSCT
330 ISZ CLOSCT
331 JMS I (7607
332 4400
333OUBFPT, OUBUF
334OUTREC, 0
335 JMP I (IOERR
336 ISZ OUTREC
337 ISZ OUTREC
338 TAD (-1401
339 DCA OUWDCT
340 TAD OUBFPT
341 DCA OUPTR
342 TAD JMPP
343 DCA JMPPUT
344 JMP PUTCHX
345JMPPUT, JMP .
346 JMP PUTCH1
347 JMP PUTCH2
348PUTCH3, TAD PUTMP
349 RTL
350 RTL
351 DCA PUTMP
352 TAD JMPP
353 DCA JMPPUT
354 TAD PUTMP
355 AND P7400
356 TAD I OUPOLD
357 DCA I OUPOLD
358 TAD PUTMP
359 RTL
360 RTL
361P201, AND P7400
362 TAD I OUPTR
363 DCA I OUPTR
364 ISZ OUPTR
365 JMP PCHCOM
366PUTCH2, TAD OUPTR
367 DCA OUPOLD
368 ISZ OUPTR
369PUTCH1, TAD PUTMP
370P200, AND P377
371 DCA I OUPTR
372PCHCOM, CIF 10
373 TAD PUTLNK
374 CLL RAR
375 JMP I PUTCH
376
377EOFORT, SZA CLA /ANY ERRORS?
378 JMP I SF7600 /YES, DO NOT ASSEMBLE
379 DCA PCHCOM
380 TAD (232
381 JMS PUTCH
382 TAD OUWDCT
383 TAD (1400
384 SZA CLA
385 JMP .-5 /FILL BUFFER WITH ^Z
386 TAD I (JSBITS
387 RAR
388 CLL CML RAL
389 DCA I (JSBITS /NO NEED TO SAVE CORE ON THIS MONITOR CALL
390 CIF 10
391 JMS I (7700
392 10 /ESCAPE
393 CLA IAC /DEVICE "SYS"
394 CIF 10
395 JMS I P200
396 4 /CLOSE
397 OUSNAM
398CLOSCT, 0 /CLOSING LENGTH
399 JMP OUERR-3
400 CIF 10
401 JMS I P200
402 6 /RUN
403CLSABR, 0
404BIGGIE, JMS I (MOUCOR
405 JMS SFATAL
406 CIF 10
407ERR63, JMS I (LLUNCH
408 CLA CLL CMA RTL
409 AND I (JSBITS
410 DCA I (JSBITS /WHOOPS - GUESS WE SHOULD RESTORE CORE AFTER ALL
411OUERR, JMS I (MOUCOR
412 JMS SFATAL
413 CIF 10
414ERR64, JMS I (LLUNCH
415 INBUF=1600
416 OUBUF=3600
417OURCNT, 0
418OUPTR, OUBUF
419OUWDCT, -1401
420PUTMP, 0
421OUPOLD, 0
422SFATAL, 0
423 PUTLNK=SFATAL
424SF7600, 7600 /CLEAR AC
425 CDF 10
426 TAD SCDIF0
427 DCA I (177
428 TAD (5601
429 DCA I P200
430 TAD SF7600
431 DCA I P201
432SCDIF0, CDF CIF 0
433 JMP I SFATAL
434\f *2200 /CANNOT GO PAST 2373
435SABR, TEXT /SABR/
436 TEXT /SV/
437OUSNAM, TEXT /FORTRNTM/
438NUMSG1, TEXT /ILLEGAL CONTINUATION/
439EMSG15, TEXT /NO END STATEMENT/
440EMSG16, TEXT #I/O ERROR#
441EMSG17, TEXT /SABR.SV NOT FOUND/
442EMSG20, TEXT /NO ROOM FOR OUTPUT/
443\f FIELD 1
444 /THESE ARE THE PATCHES OVER THE COMPILER.
445
446
447 *FORST /HEADER PRINTER
448 NOP
449 NOP
450 NOP
451
452 *FORST+5 /LEADER OUTPUT
453 CLA CLL CMA RTL /3 CHARACTERS OF LEADER
454
455 *LPTRIN+1 /HIGH-SPEED READER ROUTINE
456 CIF 0
457 JMS I .+1
458 GETCH
459
460 *OSTOP+1
461 JMS I FPROP /PUNCH 'CALL 0,EXIT'
462 6253
463 JMP I OSTOP
464
465 *LPUNCH+1 /PUNCH ROUTINE
466 CIF 0
467 JMS I .+2
468 CLA SKP
469 PUTCH
470
471 *XFINI-3 /TRAILER PRINTER
472 CLA CLL CMA RTL /3 CHARACTERS OF TRAILER
473
474 *XFINI-1 /ENDING SEQUENCE
475 CDF CIF 0
476 TAD L75 /PICK UP ERROR FLAG
477 JMP I .+1
478 EOFORT
479
480 *GOOON+4 /TRAILER AFTER "END" STATEMENT
481 CLA CLL CMA RTL /3 CHARS ETC.
482
483
484 *LTTYPE+1 /REVERSE TTY WAIT MODE
485 TLS
486 TSF
487 JMP .-1
488
489/
490*4753
491VERPRT, 0
492 JMS I VPUNCH
493 CDF CIF 0
494 JMP I VERPRT
495VPUNCH, 3372
496/
497 $
498\f