*** empty log message ***
[h316.git] / programs / fortran / src / f4$ios-b.asm
1 * F4$IOS-B - DEC 12 2006 - VERSION 1
2 *
3 * FORTRAN COMPILER IO SELECTOR
4 *
5 * WHEN THE COMPILER IS STARTED, REGISTER A SPECIFIES THE DEVICES
6 * TO BE USED FOR SOURCE INPUT, OBJECT OUTPUT AND FOR LISTING OUTPUT.
7 * THE IOS SELECTOR HONORS THIS SELECTION BY ACTIVATING THE SELECTED
8 * DEVICES FOR THESE TASKS.
9 *
10 * THE FOLOWING OPTIONS ARE SUPPORTED:
11 *
12 * A[ 8-10] SOURCE INPUT DEVICE (1=TTY 2=CR 3=HSR 4=MAGTAPE-UNIT 1)
13 * A[11-13] LISTING DEVICE (0=SUP 1=TTY 2=LP 4=MAGTAPE-UNIT 2)
14 * A[14-16] OBJECT OUTPUT DEVICE (0=SUP 1=PTP 2=TTY 4=MAGTAPE-UNIT 2)
15 * THE LISTED DEVICE ALLOCATION IS SET BY F4IOS
16 * THIS VERSION OF F4IOS DOES NOT, WITHOUT MODIFICATION, SUPPORT OTHER
17 * DEVICES FOR THE SPECIFIED TASKS.
18 * THIS ALSO MEANS THAT TAPE UNIT 2 CAN EITHER BE USED FOR
19 * OBJECT OUTPUT OR FOR LISTING OUTPUT
20 *
21 * IN CASE NO DEVICE SELECTION IS SPECIFIED IN REGISTER A, A DEFAULT
22 * SELECTION IS MADE BY F4IOS:
23 * - SOURCE INPUT 3=HSR
24 * - LISTING OUTPUT 1=TTY
25 * - OBJECT OUTPUT 1=PTP
26 *
27 * F4IOS LINKS, TO SUPPORT THE SPECIFIED IO, THE DRIVERS FOR THESE DEVICES.
28 * HOWEVER, IF FOR INSTANCE NO MAGTAPE IS AVAILABLE IN A PARTICULAR
29 * INSTALLATION, THE MAGTAPE DRIVER CAN BE REPLACED BY A DUMMY DRIVER.
30 * THE COMPILER FOOTPRINT IN MEMORY BECOMES SMALLER THEN. DO NOT LINK
31 * THE MAGTAPE DRIVER IN THAT CASE. THE F4$DUM MODULE RESOLVES THE CALLS
32 * TO THE MAGTAPE DRIVER AND MUST BE THAT LAST MODULE TO BE LINKED.
33 *
34 * HONEYWELL X16 16 BIT COMPUTER SOFTWARE
35 *
36 * PROGRAM LENGTH: 415 WORDS
37 *
38 * THIS SOURCE IS RECREATED FROM THE EXISTING SLST FILE:
39 * - SLST-FRTN.IMG (WHICH ORIGINATES FROM HONEYWELL)
40 *
41 * THE SOURCE IS RECREATED BY: THEO ENGEL (THEO.ENGEL@HETNET.NL)
42 *
43 * SUBR F4$INT,F4IN IO INITIALISATION ROUTINE
44 * SUBR F4$IN,F4SI GENERAL SOURCE INPUT ROUTINE
45 * SUBR F4$OUT,F4OO GENERAL OBJECT OUTPUT ROUTINE
46 * SUBR F4$SYM,F4LO GENERAL LISTING OUTPUT ROUTINE
47 * SUBR F4$END,F4EN END COMPILATION
48 *
49 * SUBR F4$DUI,IL1 DUMMY SOURCE INPUT DRIVER
50 * SUBR F4$DUO,OL4 DUMMY OBJECT OUTPUT DRIVER
51 * SUBR F4$DUS,LL9 DUMMY LISTING OUTPUT DRIVER
52 *
53 SUBR F4$INT,F4IN
54 SUBR F4$IN,F4SI
55 SUBR F4$OUT,F4OO
56 SUBR F4$SYM,F4LO
57 SUBR F4$END,F4EN
58 *
59 SUBR F4$DUI,IL1
60 SUBR F4$DUO,OL4
61 SUBR F4$DUS,LL9
62 REL
63 *
64 *******************************************************************
65 * F4$INT -- INIT COMPILER DATA POOL AND STORE IO DEVICE SELECTION *
66 *******************************************************************
67 *
68 F4IN DAC *-*
69 JST SDEV SET THE SELECTED DEVICES
70 JST PUTR PUNCH LEADER IN CASE PTP IS OBJECT DEVICE
71 CALL F4$INI SET THE SIZE OF THE DATA POOL
72 CRA
73 STA SCNT SOURCE INPUT RECORD COUNTER/LINENUMBER = 0
74 IRS INFL SET 1ST-TIME-CALL FLAG FOR LISTING DRIVER
75 JMP* F4IN
76 *
77 **************************************
78 * GENERAL SOURCE INPUT ROUTINE *
79 * CALLING SEQUENCE: *
80 * CALL F4$IN *
81 * DAC SOURCEBUFFER *
82 **************************************
83 *
84 F4SI DAC *-* SOURCE INPUT DRIVER
85 LDA* F4SI GET SOURCE BUFFER ADDRESS
86 STA IB1 AND STORE
87 STA IB2
88 STA IB3
89 STA IB4
90 STA IB5
91 STA IB6
92 IL6 LDA DSRC LOAD SELECTED SOURCE DEVICE
93 JST SWCH JMP SWITCH
94 JMP IL1 0 NON
95 JMP IL2 1 TTY
96 JMP IL3 2 CR
97 JMP IL4 3 HSR
98 JMP IL5 4 MAG TAPE
99 JMP IL1 5 NON
100 JMP IL1 6 NON
101 * DUMMY SOURCE INPUT DEVICE DRIVER: SELECT PROPER DEVICE
102 IL1 LDA MO5 7 NON =-5 MESSAGE LENGTH, 5 WORDS LONG
103 JST PRBF
104 DAC MDEV MESSAGE: DEVICE? (NO DRIVER FOR REQUESTED DEVICE)
105 JST STOP SET DEFAULT OR NEW DEVICE SELECTION
106 JMP IL6
107 *
108 IL2 CALL I$AA TTY = SOURCE INPUT DEVICE
109 IB1 DAC *-* SOURCE BUFFER ADDRESS
110 JMP IL2 EOM/EOF RETURN
111 JMP IL7 NORMAL RETURN
112 IL3 CALL I$CA CR = SOURCE INPUT DEVICE
113 IB2 DAC *-* SOURCE BUFFER ADDRESS
114 JMP IL3 EOM/EOF RETURN
115 JMP IL7 NORMAL RETURN
116 IL4 CALL I$PA HSR = SOURCE INPUT DEVICE
117 IB3 DAC *-* SOURCE BUFFER ADDRESS
118 JMP IL4
119 JMP IL7
120 IL5 CALL I$MA MT = SOURCE INPUT DEVICE
121 IB4 DAC *-* SOURCE BUFFER ADDRESS
122 OCT 50 BUFFER LENGTH (WORDS)
123 OCT 1 TAPE UNIT 1 = SOURCE DECK
124 JMP ERR0 RECORD NOT READABLE RETURN
125 JMP ERR1 END OF TAPE RETURN
126 JMP IL5 END OF FILE RETURN; READ NEXT FILE
127 CALL C$6TO8 NORMAL RETURN; CONVERT RECORD TO ASCII
128 IB5 DAC *-* SOURCE BUFFER ADDRESS
129 OCT 50 BUFFER LENGTH
130 IL7 LDA SCNT SOURCE RECORD COUNTER
131 ADD N1 =1
132 SSP
133 STA SCNT SOURCE RECORD COUNTER
134 IRS F4SI SET RETURN ADDRESS
135 JMP* F4SI
136 *
137 **************************************
138 * GENERAL OBJECT OUTPUT ROUTINE *
139 * CALLING SEQUENCE: *
140 * A = OBJECT BUFFER ADDRESS *
141 * X = - BUFFER LENGTH (WORDS) *
142 * CALL F4$OUT *
143 **************************************
144 *
145 F4OO DAC *-* OBJECT OUTPUT DRIVER
146 STA OSRC EXTERNAL OBJECT BUFFER ADDRESS
147 LDA 0 - BUFFER LENGTH (WORDS)
148 TCA
149 STA OBFL + BUFFER LENGTH (WORDS)
150 STA MTBL
151 ADD OPTR POINTER TO OUTPUT BUFFER
152 ADD IFLG INDEX FLAG
153 STA ODES INDEXED DESTINATION
154 OL1 LDA* OSRC MOVE OBJECT TO INTERNAL OUTPUT BUFFER
155 STA* ODES
156 IRS 0
157 JMP OL1
158 OL6 LDA DOBJ
159 JST SWCH JMP SWITCH
160 JMP* F4OO 0 SUPPRESS OBJECT OUTPUT
161 JMP OL2 1 PTP
162 JMP OL3 2 TTY
163 JMP OL4 3 NON
164 JMP OL5 4 MAG TAPE
165 JMP OL4 5 NON
166 JMP OL4 6 NON
167 * DUMMY OBJECT OUTPUT DEVICE DRIVER: SELECT PROPER DEVICE
168 OL4 LDA MO5 7 NON =-5
169 JST PRBF
170 DAC MDEV MESSAGE: DEVICE?
171 JST STOP SET DEFAULT OR NEW DEVICE SELECTION
172 JST PUTR PUNCH TRAILER IN CASE PTP IS SELECTED
173 JMP OL6
174 *
175 OL2 CALL O$PB PTP = OBJECT OUTPUT DEVICE
176 DAC OBUF OUTPUT BUFFER ADDRESS
177 JMP* F4OO EXIT
178 OL3 CALL O$AB TTY = OBJECT OUTPUT DEVICE
179 DAC OBUF OUTPUT BUFFER ADDRESS
180 JMP* F4OO EXIT
181 OL5 CALL O$MB MAG TAPE = OBJECT OUTPUT DEVICE
182 DAC OBUF+1 BUFFER ADDRESS
183 MTBL OCT 0 BUFFER LENGTH (WORDS)
184 OCT 2 TAPE UNIT 2 = OBJECT DECK
185 JMP ERR1 END OF TAPE RETURN
186 JMP* F4OO EXIT
187 *
188 **************************************
189 * GENERAL LISTING OUTPUT ROUTINE *
190 * CALLING SEQUENCE: *
191 * CALL F4$SYM *
192 * DAC LINEBUFFER *
193 **************************************
194 *
195 F4LO DAC *-* LISTING OUTPUT DRIVER
196 LDA SPSP <SPACE><SPACE>
197 STA OBUF SET LINENUMBER FIELD
198 STA OBUF+1 (6 CHARS) TO SPACES
199 STA OBUF+2
200 LDA* F4LO EXTERNAL BUFFER ADDRESS
201 ADD ILPB +INDEX / LENGTH
202 STA OSRC INDEXED EXTERNAL BUFFER ADDRESS
203 LDA MO50 ='-50
204 STA 0 X = INDEX INTO THE LINE BUFFER
205 LL1 LDA* OSRC MOVE LINE TO INTERNAL DRIVER BUFFER
206 STA LBUF,1
207 IRS 0
208 JMP LL1
209 LL10 LDA INFL NON-ZERO WITH 1ST CALL
210 SNZ
211 JMP LL2 EQUAL 0
212 * 1ST CALL OF LISTING DRIVER
213 LDA* F4LO EXTERNAL BUFFER ADDRESS
214 ERA IB6 EQUAL TO SOURCE BUFFER ADDRESS??
215 SZE
216 JMP LEX NOT EQUAL; EXIT
217 LDA DLST YES; GET REQUIRED LISTING DEVICE
218 ERA N2 EQUAL 2 ? (LP)
219 SZE
220 JMP LL2 NOT LP
221 CALL O$LH YES, LP. INIT THE HEADER
222 DAC OBUF
223 LL2 LDA* F4LO EXTERNAL BUFFER ADDRESS
224 ERA IB6 EQUAL TO SOURCE BUFFER ADDRESS??
225 SZE
226 JMP LL3 NO
227 LDA TPTR YES, EQUAL TO SOURCE BUFFER
228 STA TEMP TEMP = PTR TO DEC CONV TAB
229 LDA SCNT GET SOURCE LINE NUMBER
230 STA NUMB LINENUMBER TO PRINT
231 * WITH ZERO BEING TRUE, LEADING ZERO'S OF THE LINENUMBER ARE SUPPRESSED
232 IRS ZERO LEADING ZERO FLAG IS TRUE (SET TO FALSE WITH 1ST NONZERO)
233 JST CDIG DIGIT 1
234 JST CDIG DIGIT 2
235 JST CDIG DIGIT 3
236 JST CDIG DIGIT 4
237 JST CDIG DIGIT 5
238 LL3 LDA DLST WHICH DRIVER TO OUTPUT LISTING?
239 JST SWCH JMP SWITCH
240 JMP LL4 0 SUPPRESS LISTING
241 JMP LL5 1 TTY
242 JMP LL6 2 LP
243 JMP LL9 3 NON
244 JMP LL8 4 MAG TAPE
245 JMP LL9 5 NON
246 JMP LL9 6 NON
247 * DUMMY LISTING OUTPUT DEVICE DRIVER: SELECT PROPER DEVICE
248 LL9 LDA MO5 7 NON =-5
249 JST PRBF
250 DAC MDEV MESSAGE: DEVICE?
251 JST STOP SET DEFAULT OR NEW DEVICE SELECTION
252 JMP LL10
253 *
254 LL5 LDA O43 TTY = LISTING OUTPUT DEVICE (35 WORDS)
255 LL13 STA 0 REMOVE TRAILING BLANKS
256 LDA OBUF,1
257 ERA SPSP
258 SZE
259 JMP LL11
260 LDA 0
261 SNZ
262 JMP LL12
263 SUB N1
264 JMP LL13
265 LL11 IRS 0
266 LDA 0
267 TCA A = - LENGTH (IN WORDS) OF THE LINE TO PRINT
268 LL12 JST PRBF PRINT THE LINE
269 DAC OBUF
270 JMP LL4
271 LL6 CALL O$LA LP = LISTING OUTPUT DEVICE
272 DAC OBUF OUTPUT BUFFER (60 WORDS)
273 JMP LL4
274 LL8 CALL C$8TO6 MAG TAPE = LISTING OUTPUT DEVICE (UNIT 2)
275 DAC OBUF OUTPUT BUFFER
276 OCT 50 BUFFER LENGTH (WORDS)
277 CALL O$MA
278 DAC OBUF OUTPUT BUFFER
279 OCT 50 BUFFER LENGTH (WORDS)
280 OCT 2 TAPE UNIT 2 = OBJECT DECK
281 JMP ERR1 EOT RETURN
282 LL4 CRA NORMAL RETURN
283 STA INFL RESET 1ST-TIME-CALL FLAG OF THE LISTING DRIVER
284 LEX IRS F4LO SET RETURN ADDRESS
285 JMP* F4LO
286 *
287 * CONVERT 1 DIGIT FOR PRINTING A 5 DIGIT LINENUMBER
288 * USED BY THE OUTPUT LISTING DRIVER
289 CDIG DAC *-*
290 CRA
291 STA 0 X=0 (COUNT=0)
292 LDA NUMB NUMBER (OR RESIDUAL OF NUMBER) BEING CONVERTED
293 CV1 SUB* TEMP TEMP = POINTER INTO CONVERSION TABLE
294 SPL
295 JMP CV2 NEGATIVE
296 STA NUMB STILL POSITIVE
297 IRS 0 COUNT + 1
298 JMP CV1
299 CV2 IRS TEMP TEMP = POINTER TO NEXT ITEM IN CONVERSION TABLE
300 LDA TPTR POINTER TO TABLE
301 SUB TEMP MINUS THE CURRENT POINTER TO THE TABLE
302 STA T1
303 ADD N1 +1
304 TCA
305 LGR 1 = INDEX IN BUFFER
306 IMA 0 A = COUNT
307 SNZ
308 JMP CV3 COUNT = 0 => DIGIT WOULD BE 0
309 CV4 ADD O20 ='20 (TO MAKE ASCII DIGIT OF SPACE)
310 CV5 ALR '10
311 IRS T1
312 JMP CV5
313 ADD OBUF,1
314 STA OBUF,1
315 CRA
316 STA ZERO RESET THE LEADING ZERO FLAG
317 JMP* CDIG
318 CV3 LDA ZERO NONZERO IF STILL LEADING ZERO'S
319 SZE
320 JMP* CDIG NONZERO, SO STILL A LEADING ZERO
321 JMP CV4 ZERO, SO NOT A LEADING ZERO, SO OUTPUT
322 *
323 **************************************
324 * STOP COMPILATION: F4$END *
325 **************************************
326 *
327 F4EN DAC *-*
328 LDA DOBJ OBJECT DEVICE?
329 JST PUTR PUNCH TRAILER IN CASE OF PTP
330 LDA DOBJ
331 ERA N1 PTP?
332 SNZ
333 OCP '102 YES; PTP OFF
334 ERA N5 OBJECT DEVICE MAGTAPE?
335 SNZ
336 JMP LE1 YES
337 LDA DLST LISTING DEVICE MAGTAPE?
338 ERA N4
339 SZE
340 JMP LE2 NO
341 LE1 CALL O$ME WRITE EOF ON UNIT 2 (OBJECT OR LISTING DEVICE)
342 OCT 2 UNIT 2
343 LE2 LDA MO6 ='-6
344 JST PRBF PRINT EOJ MESSGE
345 DAC MEOJ
346 JST STOP STOP
347 LDA DEFT
348 JMP* F4EN AND RESTART
349 MEOJ OCT 106612 END OF JOB MESSAGE
350 BCI 1,EN
351 BCI 1,D
352 BCI 1,OF
353 BCI 1, J
354 BCI 1,OB
355 *
356 **************************************
357 * STOP AND (RE)LOAD DEVICE SELECTION *
358 **************************************
359 * CALLED BY SOURCE, OBJECT AND LISTING (DUMMY) DRIVERS OF F4-IOS
360 * CALLED BY F4$END (WHICH IS ALSO PART OF F4-IOS)
361 *
362 STOP DAC *-*
363 LDA DEFT LOAD DEFAULT DEVICE SETTINGS
364 HLT STOP AND POSSIBLY ADAPT THE SETTING
365 JST SDEV SET THE NEW DEVICE SELECTION
366 JMP* STOP
367 *
368 **************************************************************
369 * SAVE DEVICE SELECTION AS DEFINED DURING COMPILER (RE)START *
370 **************************************************************
371 * DEVICE SELECTION AS SPECIFIED IN REG-A (SOURCE, LIST, OBJECT), OR DEFAULT
372 *
373 SDEV DAC *-* SET SELECTED DEVICES
374 SZE
375 STA DEFT STORE REQUESTED DEVICES
376 LDA DEFT LOAD DEFAULT IF NOTHING SPECIFIED,
377 LRL 6
378 ANA M7
379 STA DSRC SOURCE DEVICE
380 CRA
381 LLL 3
382 STA DLST LISTING DEVICE
383 CRA
384 LLL 3
385 STA DOBJ OBJECT DEVICE
386 JMP* SDEV
387 *
388 ******************************************************************
389 * PUNCH LEADER/TRAILER IN CASE PTP IS THE SELECTED OBJECT DEVICE *
390 ******************************************************************
391 * A[14-16] = SELECTED OBJECT DEVICE
392 *
393 PUTR DAC *-*
394 ERA N1 =1 PUNCHER SELECTED?
395 SNZ
396 CALL O$PLDR YES; PUNCH LEADER/TRAILER
397 JMP* PUTR
398 *
399 **************************************
400 * PRINT MESSAGE FROM BUFFER ON TTY *
401 **************************************
402 * CALLING SEQUENCE:
403 * JST PRBF A = - MESSAGE LENGTH IN WORDS
404 * DAC MESSAGE
405 *
406 PRBF DAC *-* PRINT BUFFER
407 STA 0 X = A = - BUFFER LENGTH
408 LDA* PRBF BUFFER ADDRESS
409 IRS PRBF SET RETURN ADDRESS
410 STA BA STORE BUFFER ADDRESS
411 SKS '104 TTY READY?
412 JMP *-1
413 OCP '104 SET OUTPUT MODE
414 LDA CRLF
415 JST PRA PRINT 2 CHARS IN A
416 LDA 0
417 SNZ
418 JMP* PRBF
419 P1 LDA* BA GET 2 CHARS
420 JST PRA PRINT 2 CHARS IN A
421 IRS BA
422 IRS 0
423 JMP P1
424 JMP* PRBF
425 *
426 **************************************
427 * PRINT 2 CHARS FROM REG-A ON TTY *
428 **************************************
429 *
430 PRA DAC *-*
431 LRL '10
432 OTA 4
433 JMP *-1
434 LLL '10
435 OTA 4
436 JMP *-1
437 JMP* PRA
438 *
439 **************************************
440 * SWITCH VIA JUMP-TABLE *
441 **************************************
442 * CALLING SEQUENCE:
443 * LDA INDEX INTO JUMP-TABLE
444 * JST SWCH
445 * JMP -- JUMP-TABLE ENTRY 0 (INDEX 0)
446 * JMP -- JUMP-TABLE ENTRY 1 (INDEX 1)
447 * ETC
448 *
449 SWCH DAC *-* SWITCH
450 ADD SWCH
451 STA SWCH
452 JMP* SWCH
453 *
454 **************************************
455 * ERROR HANDLING ROUTINES *
456 **************************************
457 *
458 STRT EQU '1000 COMPILER START ADDRESS
459 ERR0 LDA MO2 =-2
460 JST PRBF
461 DAC MUR MESSAGE: UR (RECORD UNREADABLE)
462 JMP ERR2
463 ERR1 LDA MO3 =-3
464 JST PRBF
465 DAC MEOT MESSAGE: EOT (END OF TAPE)
466 ERR2 JST STOP
467 LDA DEFT LOAD DEVICE SETTINGS (REG-A)
468 JMP STRT RESTART COMPILATION
469 *
470 **************************************
471 * F4-IOS DATA AREA *
472 **************************************
473 *
474 DEFT OCT 311 DEFAULT SELECTION OF IO DEVICES (I 3=HSR; L 1=TTY; O 1=PTP)
475 * DECIMAL CONVERION TABLE (USER FOR PRINTING NUMBERS)
476 DTAB OCT 23420 =10000
477 OCT 1750 =1000
478 OCT 144 =100
479 OCT 12 =10
480 OCT 1 =1
481 DSRC OCT 0 SOURCE INPUT DEVICE AS SPECIFIED DURING START
482 DLST OCT 0 LISTING DEVICE AS SPECIFIED DURING START
483 DOBJ OCT 0 OBJECT OUTPUT DEVICE AS SPECIFIED DURING START
484 IB6 OCT 0 SOURCE BUFFER ADDRESS
485 SCNT OCT 0 SOURCE RECORD COUNTER
486 INFL OCT 0 FLAG LISTING DRIVER (NONZERO WITH 1ST-TIME-CALL)
487 OSRC OCT 0 POINTER TO EXTERNAL OBJECT BUFFER
488 BA EQU * BUFFER ADDRESS
489 TEMP EQU * TEMP POINTER TO DECIMAL CONVERSION TABLE
490 ODES OCT 0 INDEXED POINTER TO INTERNAL OBJECT BUFFER
491 NUMB OCT 0 TEMP STORAGE FOR LINENUMBER TO CONVERT/PRINT
492 ZERO OCT 0 SET TO 0 WITH 1ST NONZERO DIGIT IN LINENUMBER
493 T1 OCT 0
494 OPTR DAC OBUF POINTER TO OUTPUT BUFFER
495 TPTR DAC DTAB POINTER TO DECIMAL CONVERSION TABLE
496 *
497 OBFL EQU * OUTPUT BUFFER LENGTH FOR BINARY OUTPUT (WORDS)
498 OBUF OCT 4 OUTPUT BUFFER (60 WORDS; MUST NOT EXCEED 60 WORDS)
499 OCT 300
500 OCT 0
501 OCT 2
502 OCT 302
503 BCI 3,
504 BCI 3,EOB
505 BCI 3,000300
506 BCI 1,
507 BCI 3,000000
508 BCI 1,
509 BCI 3,000002
510 BCI 3,
511 BCI 3,
512 BCI 3,
513 BCI 3,
514 BCI 3,
515 BCI 3,
516 BCI 3,
517 LBUF BCI 3, END OF LISTING BUFFER
518 BCI 3,
519 BCI 3,
520 BCI 3,
521 BCI 3,
522 BCI 2,
523 *
524 CRLF EQU *
525 * MESSAGE: DRIVER? (NO DEVICE DRIVER FOR REQUESTED DEVICE) 5 WORDS LONG
526 MDEV OCT 106612 MESSAGE: DEVICE?
527 BCI 1,DE
528 BCI 1,VI
529 BCI 1,CE
530 BCI 1,?
531 *
532 MEOT OCT 106612 MESSAGE: EOT (END OF TAPE)
533 BCI 1,EO
534 BCI 1,T
535 MUR OCT 106612 MESSAGE: UR (UNREADABLE RECORD)
536 BCI 1,UR
537 MO3 OCT 177775
538 MO2 OCT 177776
539 M7 OCT 7
540 MO6 OCT 177772
541 N4 OCT 4
542 N5 OCT 5
543 O20 OCT 20
544 O43 OCT 43
545 N2 OCT 2
546 MO50 OCT 177730 ='-50
547 ILPB OCT 40050 INDEX LISTING BUFFER
548 SPSP OCT 120240 <SPACE><SPACE>
549 IFLG OCT 40001 INDEX FLAG
550 MO5 OCT 177773
551 N1 OCT 1
552 END