1
0
mirror of https://github.com/retro-software/B5500-software.git synced 2026-05-01 22:06:24 +00:00

Modify OBJECT/READER card deck to provide 8-digit, all-numeric sequence numbers in the source text.

This commit is contained in:
Paul Kimpel
2016-05-07 08:46:16 -07:00
parent e36e78ca34
commit c8dfb215ae

View File

@@ -1,52 +1,52 @@
?COMPILE OBJECT/READER ALGOL LIBRARY ?COMPILE OBJECT/READER ALGOL LIBRARY
?ALGOL FILE LINE = PRINT BACK UP DISK ?ALGOL FILE LINE = PRINT BACK UP DISK
?ALGOL FILE NEWTAPE = SYMBOL/READER SERIAL DISK ?ALGOL FILE NEWTAPE = SYMBOL/READER SERIAL DISK
?DATA CARD ?DATA CARD
$CARD LIST NEW TAPE SINGLE $CARD LIST NEW TAPE SINGLE
BEGIN 0001000 BEGIN 00010000
COMMENT: SET COMMON TO CHANGE THE ACTION OF THIS PROGRAM. 0002000 COMMENT: SET COMMON TO CHANGE THE ACTION OF THIS PROGRAM. 00020000
DEFAULT WITH COMMON = 0 IS TO COPY "S" TO "LINE". 0003000 DEFAULT WITH COMMON = 0 IS TO COPY "S" TO "LINE". 00030000
WITH COMMON = 1 THE FILE "CARD" IS COPIED TO "LINE". 0004000 WITH COMMON = 1 THE FILE "CARD" IS COPIED TO "LINE". 00040000
WITH COMMON = 2 THE FILE "S" IS COPIED TO BOTH 0005000 WITH COMMON = 2 THE FILE "S" IS COPIED TO BOTH 00050000
"LINE" AND "NEWTAPE". 0006000 "LINE" AND "NEWTAPE". 00060000
WITH COMMON = 3 THE FILE "CARD" IS COPIED TO BOTH 0007000 WITH COMMON = 3 THE FILE "CARD" IS COPIED TO BOTH 00070000
"LINE" AND "NEWTAPE". 0008000 "LINE" AND "NEWTAPE". 00080000
0009000 00090000
SET COMMON=3 TO LOAD A DECK OF CARDS TO NEWTAPE. 0010000 SET COMMON=3 TO LOAD A DECK OF CARDS TO NEWTAPE. 00100000
NO SETTING WILL PRINT OUT FILE "S". 0011000 NO SETTING WILL PRINT OUT FILE "S". 00110000
; 0012000 ; 00120000
INTEGER COMMON; 0013000 INTEGER COMMON; 00130000
LABEL EOF; 0014000 LABEL EOF; 00140000
SAVE ARRAY REC[0:15]; 0015000 SAVE ARRAY REC[0:15]; 00150000
FILE IN CARD (2, 10); 0016000 FILE IN CARD (2, 10); 00160000
FILE IN S DISK SERIAL (2, 10, 150); 0017000 FILE IN S DISK SERIAL (2, 10, 150); 00170000
SAVE FILE OUT NEWTAPE DISK SERIAL [20:3000] (2,10,150,SAVE 99); 0018000 SAVE FILE OUT NEWTAPE DISK SERIAL [20:3000] (2,10,150,SAVE 99); 00180000
FILE OUT LINE 15(5,15); 0019000 FILE OUT LINE 15(5,15); 00190000
0020000 00200000
STREAM PROCEDURE FILLIT(DEST); 0021000 STREAM PROCEDURE FILLIT(DEST); 00210000
BEGIN 0022000 BEGIN 00220000
DI := DEST ; 15(DS := 8 LIT " "); 0023000 DI := DEST ; 15(DS := 8 LIT " "); 00230000
END; 0024000 END; 00240000
0025000 00250000
FILLIT(REC[*]); 0026000 FILLIT(REC[*]); 00260000
WHILE TRUE DO 0027000 WHILE TRUE DO 00270000
BEGIN 0028000 BEGIN 00280000
IF BOOLEAN(COMMON.[47:1]) THEN 0029000 IF BOOLEAN(COMMON.[47:1]) THEN 00290000
READ(CARD, 10, REC[*]) [EOF] 0030000 READ(CARD, 10, REC[*]) [EOF] 00300000
ELSE 0031000 ELSE 00310000
READ(S, 10, REC[*]) [EOF]; 0032000 READ(S, 10, REC[*]) [EOF]; 00320000
IF BOOLEAN(COMMON.[46:1]) THEN 0033000 IF BOOLEAN(COMMON.[46:1]) THEN 00330000
WRITE(NEWTAPE, 10, REC[*]); 0034000 WRITE(NEWTAPE, 10, REC[*]); 00340000
WRITE(LINE, 15, REC[*]); 0035000 WRITE(LINE, 15, REC[*]); 00350000
END WHILE; 0036000 END WHILE; 00360000
0037000 00370000
EOF: 0038000 EOF: 00380000
LOCK(LINE); 0039000 LOCK(LINE); 00390000
IF BOOLEAN(COMMON.[46:1]) THEN LOCK(NEWTAPE,RELEASE); 0040000 IF BOOLEAN(COMMON.[46:1]) THEN LOCK(NEWTAPE,RELEASE); 00400000
IF BOOLEAN(COMMON.[47:1]) THEN 0041000 IF BOOLEAN(COMMON.[47:1]) THEN 00410000
CLOSE(CARD) 0042000 CLOSE(CARD) 00420000
ELSE 0043000 ELSE 00430000
CLOSE(S); 0044000 CLOSE(S); 00440000
END. 0045000 END. 00450000
END. LAST CARD ON 0CRDING TAPE 9999999 END. LAST CARD ON 0CRDING TAPE 99999999
?END ?END