mirror of
https://github.com/retro-software/B5500-software.git
synced 2026-03-04 10:08:20 +00:00
Commit Richard Cornwell's OBJECT/READER utility as received on 23 April 2016.
This commit is contained in:
28
Utilities-Richard-Cornwell/README.txt
Normal file
28
Utilities-Richard-Cornwell/README.txt
Normal file
@@ -0,0 +1,28 @@
|
||||
Burroughs B5500 Utilities: Richard Cornwell
|
||||
|
||||
|
||||
reader.card
|
||||
A compile deck for the OBJECT/READER utility program. This was
|
||||
reconstructed by inference from scanned PDF listings at
|
||||
http://bitsavers.org/pdf/burroughs/B5000_5500_5700/listing/.
|
||||
The program can be used to print a deck of cards, print a file from
|
||||
disk or tape, or copy a deck of cards to disk or tape. Its behavior
|
||||
is controlled by COMMON and file-equation control cards. See the
|
||||
comment in the source for details.
|
||||
|
||||
The following example will copy a deck of cards to a disk file named
|
||||
CARDS/ONDISK, using the standard blocking for B5500 source files
|
||||
(10-word records, 150-word blocks). The file will also be printed:
|
||||
|
||||
?RUN OBJECT/READER; COMMON = 3
|
||||
?FILE NEWTAPE = CARDS/ONDISK DISK SERIAL
|
||||
?FILE LINE = LINE PRINT BACKUP DISK
|
||||
?DATA CARD
|
||||
:
|
||||
: <deck of cards>
|
||||
:
|
||||
?END
|
||||
|
||||
This deck will compile the program to disk as OBJECT/READER, store
|
||||
its source as SYMBOL/READER on disk, and create a compile listing.
|
||||
|
||||
52
Utilities-Richard-Cornwell/reader.card
Normal file
52
Utilities-Richard-Cornwell/reader.card
Normal file
@@ -0,0 +1,52 @@
|
||||
?COMPILE OBJECT/READER ALGOL LIBRARY
|
||||
?ALGOL FILE LINE = PRINT BACK UP DISK
|
||||
?ALGOL FILE NEWTAPE = SYMBOL/READER SERIAL DISK
|
||||
?DATA CARD
|
||||
$CARD LIST NEW TAPE SINGLE
|
||||
BEGIN 0001000
|
||||
COMMENT: SET COMMON TO CHANGE THE ACTION OF THIS PROGRAM. 0002000
|
||||
DEFAULT WITH COMMON = 0 IS TO COPY "S" TO "LINE". 0003000
|
||||
WITH COMMON = 1 THE FILE "CARD" IS COPIED TO "LINE". 0004000
|
||||
WITH COMMON = 2 THE FILE "S" IS COPIED TO BOTH 0005000
|
||||
"LINE" AND "NEWTAPE". 0006000
|
||||
WITH COMMON = 3 THE FILE "CARD" IS COPIED TO BOTH 0007000
|
||||
"LINE" AND "NEWTAPE". 0008000
|
||||
0009000
|
||||
SET COMMON=3 TO LOAD A DECK OF CARDS TO NEWTAPE. 0010000
|
||||
NO SETTING WILL PRINT OUT FILE "S". 0011000
|
||||
; 0012000
|
||||
INTEGER COMMON; 0013000
|
||||
LABEL EOF; 0014000
|
||||
SAVE ARRAY REC[0:15]; 0015000
|
||||
FILE IN CARD (2, 10); 0016000
|
||||
FILE IN S DISK SERIAL (2, 10, 150); 0017000
|
||||
SAVE FILE OUT NEWTAPE DISK SERIAL [20:3000] (2,10,150,SAVE 99); 0018000
|
||||
FILE OUT LINE 15(5,15); 0019000
|
||||
0020000
|
||||
STREAM PROCEDURE FILLIT(DEST); 0021000
|
||||
BEGIN 0022000
|
||||
DI := DEST ; 15(DS := 8 LIT " "); 0023000
|
||||
END; 0024000
|
||||
0025000
|
||||
FILLIT(REC[*]); 0026000
|
||||
WHILE TRUE DO 0027000
|
||||
BEGIN 0028000
|
||||
IF BOOLEAN(COMMON.[47:1]) THEN 0029000
|
||||
READ(CARD, 10, REC[*]) [EOF] 0030000
|
||||
ELSE 0031000
|
||||
READ(S, 10, REC[*]) [EOF]; 0032000
|
||||
IF BOOLEAN(COMMON.[46:1]) THEN 0033000
|
||||
WRITE(NEWTAPE, 10, REC[*]); 0034000
|
||||
WRITE(LINE, 15, REC[*]); 0035000
|
||||
END WHILE; 0036000
|
||||
0037000
|
||||
EOF: 0038000
|
||||
LOCK(LINE); 0039000
|
||||
IF BOOLEAN(COMMON.[46:1]) THEN LOCK(NEWTAPE,RELEASE); 0040000
|
||||
IF BOOLEAN(COMMON.[47:1]) THEN 0041000
|
||||
CLOSE(CARD) 0042000
|
||||
ELSE 0043000
|
||||
CLOSE(S); 0044000
|
||||
END. 0045000
|
||||
END. LAST CARD ON 0CRDING TAPE 9999999
|
||||
?END
|
||||
Reference in New Issue
Block a user