1
0
mirror of https://github.com/retro-software/B5500-software.git synced 2026-03-02 17:44:40 +00:00
Files
Paul Kimpel 2c72f7fd1d Commit CUBE Library version 13 of February 1972.
1. Commit library tape images, directories, and extracted text files.
2. Commit additional utilities under Unisys-Emode-Tools.
2018-05-27 11:24:23 -07:00

80 lines
6.2 KiB
Plaintext

BICOMP 000124AA 00000100
00000200
************************************************************************00000300
PLEASE NOTE THAT THE BURROUGHS CORPORATION ASSUMES 00000400
NO RESPONSIBILITY FOR THE USE OR MAINTENANCE OF THIS PROGRAM. 00000500
************************************************************************00000600
00000700
A BINARY CARD READ AND COMPARE PROGRAM. THE DATA FILE IS A CARD- 00000800
READER. THE FIRST CARD TO BE READ MUST BE A BLANK CARD. THE 00000900
CARD WITH WHICH ALL OTHERS WILL BE COMPARED MUST BE THE SECOND 00001000
CARD IN THE CARD FILE. WHEN AN INCORRECT COMPARISON IS MADE 00001100
A MESSAGE WILL BE OUTPUTTED ON THE SPO, AND AN INPUT OF ANY 00001200
INTEGER NUMBER WILL BE EXPECTED. BEFORE INPUTTING THE NUMBER, 00001300
THE OFFENDING CARD SHOULD BE REMOVED FROM THE CARD-READER. IT 00001400
WILL BE THE LAST CARD READ IN THE STACKER. DUE TO THE FACT THAT 00001500
THE PROGRAM WILL READ THE END CARD IN BINARY ALSO, THERE MUST 00001600
BE TWO QUESTION MARK END CARDS FOLLOWING THE DATA DECK. WHEN 00001700
THE JOB COMPLETES, IT WILL OUTPUT A MESSAGE ON THE SPO INDICATING 00001800
HOW MANY CORRECT AND INCORRECT CARDS WERE PROCESSED. 00001900
15 JANUARY 1968 - A. RABENAU 00002000
00002100
BEGIN 00002200
FILE CARDZ(1,20); 00002300
FILE SPO 11(1,10); 00002400
LABEL AGIN,CEOF; 00002500
FORMAT F2("CORRECT = ",I5," INCORRECT = ",I5); 00002600
ARRAY A,B[0:19]; 00002700
INTEGER I,J,L; 00002800
% 00002900
STREAM PROCEDURE FIX(F); 00003000
BEGIN 00003100
DI := F; SKIP 21 DB; DS := SET; 00003200
END STREAM PROCEDURE FIX; 00003300
% 00003400
STREAM PROCEDURE MOVE(F,A); 00003500
BEGIN 00003600
SI:=F; DI:=A; DS:=20 WDS; 00003700
END STREAM PROCEDURE MOVE; 00003800
% 00003900
INTEGER STREAM PROCEDURE COMPARE(A,B); 00004000
BEGIN 00004100
LABEL L1; 00004200
LOCAL Q; 00004300
DI:=LOC Q; DS:=10 LIT"2200|+++||"; 00004400
SI:=A; DI:=B; TALLY:=0; 00004500
8(20(IF SC NEQ DC THEN 00004600
BEGIN 00004700
SI:=LOC Q; DI:=B; 00004800
IF 10 SC EQL DC THEN 00004900
BEGIN 00005000
TALLY:=2; JUMP OUT 2 TO L1; 00005100
END; 00005200
TALLY:=1; JUMP OUT 2 TO L1; 00005300
END; )); 00005400
L1: COMPARE:=TALLY; 00005500
END BOOLEAN STREAM PROCEDURE COMPARE; 00005600
% 00005700
READ(CARDZ[NO]) [CEOF]; 00005800
FIX(CARDZ); 00005900
RELEASE(CARDZ); 00006000
MOVE(CARDZ(0),A); 00006100
AGIN: RELEASE(CARDZ); 00006200
MOVE(CARDZ(0),B); 00006300
IF(L:=COMPARE(A,B)) EQL 1 THEN 00006400
BEGIN 00006500
FORMAT F1("BAD CARD...REMOVE.~"); 00006600
FORMAT F3(I5); 00006700
INTEGER K; 00006800
WRITE(SPO,F1); 00006900
READ(SPO,F3,K); 00007000
I:=I+1; 00007100
END ELSE IF L EQL 2 THEN GO TO CEOF; 00007200
J:=J+1; 00007300
GO TO AGIN; 00007400
CEOF: CLOSE(CARDZ,RELEASE); 00007500
J:=J-1; 00007600
WRITE(SPO,F2,J,I); 00007700
END OF PROGRAM. 00007800
END;END. LAST CARD ON 0CRDING TAPE 99999999