|
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: 10902 (0x2a96) Types: Q1_Text, reclen=79 Notes: q1file Names: »UPPDAT2«
└─⟦4578d4c41⟧ Bits:30008744 50001576 └─⟦this⟧ »UPPDAT2«
/* PROGRAM-ID. UPPDAT */ /* DATE-WRITTEN. 1978-08-18 */ /* AUTHOR. OLLE */ /* REMARKS. PROGRAMMET UPPDATERAR PERS-REG MED NYA OCH */ /* ÄNDRADE POSTER */ /* */ /* WORKING-STORAGE SECTION. */ DCL PREGI FILE, PREGU FILE, PTRANS FILE; DCL RIACC BINARY INIT (0); DCL RUACC BINARY INIT (0); DCL TACC BINARY INIT (0); DCL RIANT BINARY INIT (0); DCL TIANT BINARY INIT (0); DCL KOD BINARY INIT (0); DCL 1 REG, 2 RFILLER CHAR (511); DCL R POINTER; DCL RAREA BASED (R) CHAR (1); DCL 1 WREG, 2 ANSTNR CHAR (6), 2 RES1 CHAR (2), 2 ENAMN CHAR (20), 2 FNAMN CHAR (12), 2 TITEL CHAR (11), 2 ADRESS CHAR (25), 2 GATUNR CHAR (4), 2 ING CHAR (4), 2 POSTNR CHAR (6), 2 RES2 CHAR (6), 2 ORTNAMN CHAR (11), 2 RIKTNR CHAR (4), 2 TELNR CHAR (6), 2 RRES3 CHAR (16); DCL 1 TRANS, 2 TFILLER CHAR (511); DCL T POINTER; DCL TAREA BASED (T) CHAR (1); DCL 1 WTRANS, 2 TANSTNR CHAR (6), 2 TKOD CHAR (2), 2 TENAMN CHAR (20), 2 TFNAMN CHAR (12), 2 TTITEL CHAR (11), 2 TADRESS CHAR (25), 2 TGATUNR CHAR (4), 2 TING CHAR (4), 2 TPOSTNR CHAR (6), 2 TRES2 CHAR (2), 2 TORTNAMN CHAR (11), 2 TRIKTNR CHAR (4), 2 TTELNR CHAR (6), 2 TRES3 CHAR (16); /* PROCEDURE DIVISION. */ R100: PROC; J = RIANT; IF J > 25 THEN J = 25; RIANT = RIANT - J; R = ADDR REG; CALL BLOCKARE (PREGI, RAREA, J, KOD); IF J ¬= 0 THEN PUT FILE (D) EDIT ('LÄSFEL INREG') (A(45)); RIACC = RIACC + J; RETURN; END; T100: PROC; I = TIANT; IF I > 25 THEN I = 25; TIANT = TIANT - I; T = ADDR TRANS; CALL BLOCKARE (PTRANS, TAREA, I, KOD); IF I ¬= 0 THEN PUT FILE (D) EDIT ('LÄSFEL TRANS') (A(45)); TIACC = TIACC + 1; RETURN; END; A100: OPEN PREGI; CALL SEOF (PREGI); RIANT = UNSPEC (PREGI); OPEN PREGU; OPEN PTRANS; CALL SEOF (PTRANS); TIANT = UNSPEC (PTRANS); PUT FILE (D) SKIP EDIT (' BEARBETNING PÅGÅR') (A(47)); A200: WREG = REG (J); IF ANSTNR = '999999' THEN GO TO A250; IF J = 25 THEN CALL R100; J = J + 1; A250: WTRANS = TRANS (I); IF TANSTNR = '999999' THEN GO TO A300; IF I = 25 THEN CALL T100; I = I + 1; A300: IF TANSTNR = ANSTNR THEN GO TO B100; IF TANSTNR > ANSTNR THEN GO TO C100; IF TANSTNR < ANSTNR THEN GO TO D100; PUT FILE (D) SKIP EDIT ('FEL I UPPDAT') (A(47)); GET SKIP LIST (TRES3); WRITE FILE (PREGU) FROM (WTRANS); B100: IF ANSTNR = '999999' THEN GO TO G100; IF TKOD = DL THEN GO TO D200; WRITE FILE (PREGU) FROM (WTRANS); RUACC = RUACC + 1; GO TO A200; C100: WRITE FILE (PREGU) FROM (WREG); RUACC = RUACC + 1; IF ANSTNR = '999999' THEN GO TO A300; IF J = 25 THEN CALL R100; J = J + 1; WREG = REG (J); GO TO A300; D100: WRITE FILE (PREGU) FROM (WTRANS); RUACC = RUACC + 1; D200: IF TANSTNR = '999999' THEN GO TO A300; IF I = 25 THEN CALL T100; I = I + 1; WTRANS = TRANS (I); GO TO A300; G100: WRITE FILE (PREGU) FROM (REG); RUACC = RUACC + 1; CLOSE PREGI; CLOSE PREGU; CLOSE PTRANS; PUT SKIP (5) EDIT ('ANTAL REGPOSTER IN') (A(25)) (RIACC) (P'ZZZ9'); PUT SKIP (1) EDIT ('ANTAL REGPOSTER UT') (A(25)) (RUACC) (P'ZZZ9'); PUT SKIP (1) EDIT ('ANTAL TRANSPOSTER') (A(25)) (TACC) (P'ZZZ9'); END;