|
DataMuseum.dkPresents historical artifacts from the history of: Q1 computer |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Q1 computer Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 10981 (0x2ae5) Types: Q1_Text, reclen=79 Notes: q1file Names: »PROGCOP1«
└─⟦3c3b1dc2e⟧ Bits:30008749 50001582 └─⟦this⟧ »PROGCOP1«
/* PROGRAM-ID. PROGCOP1. DATE-WRITTEN. 81-04-15. AUTHOR. OLLE. REMARKS. PROGRAMMET KOPIERAR IN ANGIVNA SEKVENSER FRÅN ETT PROGRAM IN I ETT ANNAT. RECORD- LÄNGDEN BLIR 79 POS. SPECIELL ARBETSFIL AN- VÄNDS. PROGRAMMET FÅR INTE BLI STÖRRE ÄN 1600 STATEMENTS. */ DCL WHATIN1 FILE, WHATIN2 FILE, ARBFIL FILE; /* WORKING-STORAGE SECTION. */ DCL DATUM CHAR (6), RADANT CHAR (3), R CHAR (2), K BINARY INIT (0), JJJ BINARY INIT (1), SVAR CHAR (4), INSERTTAB (30) BINARY INIT ((30)0), FILNAMN1 CHAR (8), FILNAMN2 CHAR (8); FRAGA: PROC; F10: DCL JJ (30) BINARY INIT (103,113,123,150,160,170,197, 207,217,244,254,264,291,301,311,338,348,358 ,385,395,405,432,442,452,479,489,499,526, 536,546); J = JJ(JJJ); CALL MOVEBUFF (J); CALL TYPIST (SVAR,4); CALL TYPIST ('┣10┫',1); F99: RETURN; END; SVARA: PROC; S10: PUT FILE (D) EDIT (SVAR) (A(4)); INSERTTAB (JJJ) = SVAR; JJJ = JJJ + 1; IF JJJ = 31 THEN JJJ = 1; S99: RETURN; END; /* PROCEDURE DIVISION. */ A10: PUT FILE (D) SKIP EDIT ('PROGRAMNAMN,filen som skall uppdateras:')(A); CALL KFILE (WHATIN1); GET SKIP LIST (FILNAMN1); PUT FILE (D) EDIT (FILNAMN1) (A(8)); OPEN WHATIN1; PUT FILE (D) EDIT ('PROGRAMNAMN,filen som lämnar uppgifter:') (A); CALL KFILE (WHATIN2); GET SKIP LIST (FILNAMN2); PUT FILE (D) EDIT (FILNAMN2) (A(8)); OPEN WHATIN2; GET SKIP LIST (SVAR); PUT FILE (D) SKIP EDIT (' PROGRAM-1 PROGRAM-2')(A(47)); PUT FILE (D) EDIT (' in efter rad fr.o.m - t.o.m. ') (A(47)); CALL FRAGA; JJJ = 0; A20: GET SKIP LIST (SVAR); CALL KEYFUN (K); IF K = 140 THEN GO TO B10; CALL SVARA; CALL FRAGA; GO TO A20; B10: J = 1; IFIL1 = 0; IFIL2 = 0; OPEN ARBFIL; B20: GET SKIP LIST (FILNAMN1); CALL TYPIST (FILNAMN1,8); CALL TYPIST ('┣10┫',1); CALL KFILE (WHATIN1); OPEN WHATIN1; UNSPEC (WHATIN1) = IFIL1; B30: ON ERROR GO TO C10; ON ENDFILE GO TO D20; READ FILE (WHATIN1) INTO (PGMPOST1); IF UNSPEC (WHATIN1) = INSERTTAB (J) - 1 THEN GO TO B50; WRITE FILE (ARBFIL) FROM (PGMPOST1); IFIL1 = IFIL1 + 1; GO TO B30; B50: J = J + 1; GET SKIP LIST (FILNAMN2); CALL TYPIST (FILNAMN2,8); CALL TYPIST ('┣10┫',1); CALL KFILE (WHATIN2); OPEN WHATIN2; UNSPEC (WHATIN2) = INSERTTAB (J) -1; IFIL2 = UNSPEC (WHATIN2); B60: ON ERROR GO TO C20; ON ENDFILE GO TO D10; READ FILE (WHATIN2) INTO (PGMPOST2); IF UNSPEC (WHATIN2) > INSERTTAB (J + 1) THEN GO TO B70; WRITE FILE (ARBFIL) FROM (PGMPOST2); IFIL2 = IFIL2 + 1; GO TO B60; B70: J = J + 2; GO TO B20; C10: PUT SKIP LIST ('LÄSFEL I FIL1 ',ONCODE); GO TO D20; C20: PUT SKIP LIST ('LÄSFEL I FIL2 ',ONCODE); GO TO D20; D10: GO TO B20; D20: END;