Skip to content

Commit

Permalink
docs for PL/1
Browse files Browse the repository at this point in the history
  • Loading branch information
mortenjc committed Nov 17, 2024
1 parent 7f69a48 commit d78f344
Showing 1 changed file with 47 additions and 41 deletions.
88 changes: 47 additions & 41 deletions docs/source/pl1.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,19 @@
PL/1 Programs
=============

From fluxxample disk we were able to extract nearly all of the accounting
related program V10RGENA.
These were obtained from the fluxsample disk. PL/1 programs have record size
of 79 bytes and each record is a program line (ascii).

Several records were unrecoverable, typically more than one for each track and
these are shown as a full line of questionmarks.


V10RGENA
^^^^^^^^

From fluxxample disk we were able to extract nearly all of the accounting
related program V10RGENA.

.. code-block:: text
DCL VER FIXED (8) INIT (84020611);
Expand Down Expand Up @@ -171,9 +177,9 @@ V10RGENA
IF J = 4 THEN DO;
PUT SKIP;
IF SPTYP = 1 THEN PUT EDIT ('PER-D ') (A);
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
???????????????????????????????????????????????????????????????????????????????
???????????????????????????????????????????????????????????????????????????????
???????????????????????????????????????????????????????????????????????????????
END;
PUT SKIP EDIT (' ') (A(19));
RUB20:
Expand Down Expand Up @@ -219,7 +225,7 @@ V10RGENA
IF DATUM1='0 ' THEN GO TO S3;
PUT FILE(D) EDIT(DATUM1)(A);
J=417;
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
???????????????????????????????????????????????????????????????????????????????
S2: GET SKIP LIST(D);
CALL DATCHECK(DATUM2);
IF DATUM1>=DATUM2 THEN GO TO S2;
Expand Down Expand Up @@ -287,7 +293,7 @@ V10RGENA
PK=ADDR(AREA);
END;
ELSE DO;
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
???????????????????????????????????????????????????????????????????????????????
PDATUM=DAT1BIN;
DATUMT=DAT1BIN;
RETURN; /*403*/
Expand Down Expand Up @@ -321,20 +327,20 @@ V10RGENA
END;
RETURN; /*432*/
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
???????????????????????????????????????????????????????????????????????????????
R=R-1;
RCODE=1;
RETURN; /*437*/
END;
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
???????????????????????????????????????????????????????????????????????????????
NOLLTAB: PROC;
NP10:
DO YL = 1 TO 39;
DO XL = 1 TO 10;
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
???????????????????????????????????????????????????????????????????????????????
END;
END;
Expand Down Expand Up @@ -391,12 +397,12 @@ V10RGENA
END;
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
???????????????????????????????????????????????????????????????????????????????
SKR10:
UNSPEC (IK) = ADDR (RYTEXT(1));
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
???????????????????????????????????????????????????????????????????????????????
DO YL = 1 TO 39;
OPEN KSKONTOP;
IKSLAG = YRADKTOREDEF;
Expand All @@ -408,8 +414,8 @@ V10RGENA
PUT EDIT (' ') (A(14));
GO TO SKR20;
END;
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
???????????????????????????????????????????????????????????????????????????????
???????????????????????????????????????????????????????????????????????????????
SKR20:
END;
SKR30:
Expand Down Expand Up @@ -454,7 +460,7 @@ V10RGENA
CALL DATCHECK(DATUM);
IF DATUM='0 ' THEN CALL PLOAD('Q ');
UNSPEC(P)=16570;
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
???????????????????????????????????????????????????????????????????????????????
UNSPEC(PP)=16616;
RADANT = 51;
A10:
Expand Down Expand Up @@ -486,7 +492,7 @@ V10RGENA
GO TO A21;
A29:
IF I = 0 THEN DO;
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
???????????????????????????????????????????????????????????????????????????????
DO I = 1 TO 1000;
END;
GO TO A10;
Expand Down Expand Up @@ -563,7 +569,7 @@ V10RGENA
IF OKEY = 'J' THEN GO TO L10;
GO TO L1;
L10:
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
???????????????????????????????????????????????????????????????????????????????
SUMMA (YL,XANT) = SUMMA (YL,XANT) + BELOPP;
SUMMA (39,KIND) = SUMMA (39,KIND) + BELOPP;
SUMMA (39,XANT) = SUMMA (39,XANT) + BELOPP;
Expand Down Expand Up @@ -597,7 +603,7 @@ been reconstructed.
DCL VERS FIXED (8) INIT (14831011);
/* Q1 [R ETT MENYPROGRAM SOM TAR IN DAGENS DATUM OCH BEORDRAR INST[LLNING AV
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
(!MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE!)
PROGRAMMET ADMINISTERAR SEDAN UTHOPP TILL BEORDRAT PROGRAM 780405 EJ KLAR J] */
DCL 1 HJSTR,
Expand Down Expand Up @@ -651,7 +657,7 @@ been reconstructed.
SVAR CHAR(1), /* SVARSVARIABEL */
T1 CHAR(1),
T8 CHAR(8),
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
???????????????????????????????????????????????????????????????????????????????
K70 FILE,
K71 FILE,
K80 FILE,
Expand All @@ -661,7 +667,7 @@ been reconstructed.
ONRCH CHAR(6),
RNR BINARY,
ONR CHAR(4),
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
???????????????????????????????????????????????????????????????????????????????
P POINTER,
D BASED(P) CHAR(6),
PP POINTER,
Expand All @@ -671,7 +677,7 @@ been reconstructed.
2 FIRMA CHAR(1),
2 OP_KOD BINARY,
2 RADANT BINARY INIT (1),
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
???????????????????????????????????????????????????????????????????????????????
TEST:PROC;
Expand All @@ -684,13 +690,13 @@ been reconstructed.
ANTAL=0;
UNSPEC(PTEST)=16533;
UNSPEC(PTAN)=16536;
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
???????????????????????????????????????????????????????????????????????????????
R: PUT FILE(D) EDIT(' VEM [R OPERAT\R:')(A(41));
CALL CORED(0);
I=1;
R1:IF CH='' THEN DO;
IF CH1='' THEN DO;
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
???????????????????????????????????????????????????????????????????????????????
GET SKIP LIST(ONRCH);
PUT FILE(D) SKIP;
GO TO R;
Expand All @@ -704,18 +710,18 @@ been reconstructed.
END;
GO TO R1;
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
???????????????????????????????????????????????????????????????????????????????
I=I+1;
IF I<7 THEN GO TO R1;
ONR=SUBSTR(ONRCH,3,4);
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
???????????????????????????????????????????????????????????????????????????????
IF RNR>50 | RNR<1 THEN GO TO FEL1;
OPEN KFIL;
UNSPEC(KFIL)=RNR;
READ FILE(KFIL) INTO(KSTR);
IF ONR=GEN THEN GO TO FEL1;
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
???????????????????????????????????????????????????????????????????????????????
FEL1:
PUT FILE(D) EDIT(ONRCH)(A(6))(' OPERAT\RSKODEN [R INTE GODK[ND')(A(47))
Expand All @@ -735,24 +741,24 @@ been reconstructed.
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
???????????????????????????????????????????????????????????????????????????????
MTEX(1)='10 = OPERAT\RS-ID PARAMETRAR';
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
MTEX(2)=' missing text 1'; /* !MISSING LINE - RECONSTRUCTED */
MTEX(3)=' missing text 2'; /* !MISSING LINE - RECONSTRUCTED */
MTEX(4)='2 = [NDRING KONTOTABELLER';
MTEX(5)='1 = KONTOTABELL';
MTEX(6)=' missing text 1'; /* !MISSING LINE - RECONSTRUCTED */
MTEX(7)=' missing text 2'; /* !MISSING LINE - RECONSTRUCTED */
MTEX(8)=' missing text 3'; /* !MISSING LINE - RECONSTRUCTED */
MTEX(6)=' missing text 3'; /* !MISSING LINE - RECONSTRUCTED */
MTEX(7)=' missing text 4'; /* !MISSING LINE - RECONSTRUCTED */
MTEX(8)=' missing text 5'; /* !MISSING LINE - RECONSTRUCTED */
MTEX(9)='1 = KONTOPLAN';
MTEX(10)='2 = U-KONTOTABELL';
MTEX(11)='3 = I-K-SLAGSTABELL';
MTEX(12)=' missing text 4'; /* !MISSING LINE - RECONSTRUCTED */
MTEX(12)=' missing text 6'; /* !MISSING LINE - RECONSTRUCTED */
MTEX(13)='1 = UPPDAT AV REGISTER';
MTEX(14)='2 = VERIFIKATIONSF\RT.';
MTEX(15)='3 = AVST[MNINGSLIST F\R VER.';
MTEX(16)='4 = KONTOKONTROLL';
MTEX(17)=' missing text 5'; /* !MISSING LINE - RECONSTRUCTED */
MTEX(17)=' missing text 7'; /* !MISSING LINE - RECONSTRUCTED */
MTEX(18)='5 = SALDOLISTA';
MTEX(19) = '6 = RAPPORTGENERATOR KTO-IK ';
Expand Down Expand Up @@ -781,24 +787,24 @@ been reconstructed.
UNSPEC(P)=16570;
UNSPEC(PP)=16616;
S='N';
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
???????????????????????????????????????????????????????????????????????????????
CALL DATCHECK(DATUM);
IF DATUM='0 ' THEN DO;
PUT FILE(D) SKIP;
L01: PUT FILE(D) EDIT(' Q1/LITE at your service')(A(82))
('datum:')(A(6));
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
???????????????????????????????????????????????????????????????????????????????
IF D=' ' THEN GO TO SLUT;
CALL DATCHECK(DATUM);
IF DATUM='0 ' THEN DO;
PUT FILE(D) EDIT(' ANGIVET DATUM ')(A)(D)(A(7))
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
???????????????????????????????????????????????????????????????????????????????
(XX)(A(120))(XX)(A(115))(XX)(A(68));
GO TO L01;
END;
PUT FILE(D) SKIP EDIT(VERSION)(A(96))('[R DATUM')(A(9))(DATUM)(A(7))
('R[TT UPPFATTAT? "J" ELLER "N"')(A(78));
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
???????????????????????????????????????????????????????????????????????????????
IF SVAR='J' THEN DO;
J=88;
CALL MOVEBUFF(J);
Expand All @@ -808,7 +814,7 @@ been reconstructed.
END;
CALL TEST;
OP_KOD=RNR;
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
???????????????????????????????????????????????????????????????????????????????
(A(43));
L02:
GET SKIP LIST (RADANT);
Expand All @@ -829,11 +835,11 @@ been reconstructed.
X='0 ';
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
???????????????????????????????????????????????????????????????????????????????
DO I=1 TO 12;
IF MTAB(X,I)=0 THEN GO TO L5;
/* !MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE, MISSING LINE! */
???????????????????????????????????????????????????????????????????????????????
END;
L5:GET SKIP LIST(Y);
Expand Down

0 comments on commit d78f344

Please sign in to comment.