|
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: 11613 (0x2d5d) Types: Q1_Text, reclen=79 Notes: q1file Names: »V11«
└─⟦256585323⟧ Bits:30008759 50001598 └─⟦this⟧ »V11« └─⟦81d2ef3a9⟧ Bits:30008755 50001593 └─⟦this⟧ »V11«
/* V1 LÄGER UPP OCH ÄNDRAR OP-TILLTRÄDE TILL RUTINERNA V 1:0 RG JÅ 780818 */ DCL 1 KSTR, 2 GEN CHAR(4), 2 TVEKTOR(12) BINARY, 2 ANM CHAR(32); /* 60 BYTES */ DCL P POINTER, D BASED(P) CHAR(6), PP POINTER, 1 STR BASED(PP), 2 X CHAR(2), 2 Y CHAR(2), DATUM CHAR(6), TAB(12) CHAR(12), T3 CHAR(3), T4 CHAR(4), T12 CHAR(12), T32 CHAR(32), SVAR CHAR(1), FLAGG BINARY, KFIL FILE; TABGEN:PROC; DO I=1 TO 12; K=1; DO J=1 TO 12; IF (TVEKTOR(I) & K) = K THEN SUBSTR(TAB(I),J,1)='1'; ELSE SUBSTR(TAB(I),J,1)='0'; K=K*2; END; END; RETURN; END; VECKGEN:PROC; DO I=1 TO 12; K=1; L=0; DO J=1 TO 12; IF SUBSTR(TAB(I),J,1)='1' THEN L=L+K; K=K*2; END; TVEKTOR(I)=L; END; RETURN; END; GO TO L0; S1: PUT FILE(D) SKIP EDIT('OPERATÖRSNUMMER:')(A(44))(T3)(A(3)) ('OPERATÖRSKOD:')(A(14)); CALL TYPIST(GEN,4); CALL TYPIST('┣10┫',1); CALL CORED(0); GET SKIP LIST(T4); IF T4¬=GEN THEN DO; GEN=T4; FLAGG=1; END; PUT FILE(D) SKIP EDIT('OPERATÖRSNUMMER:')(A(44))(T3)(A(3)); GO TO L2; S2: DO I=1 TO 12; PUT FILE(D) SKIP EDIT('OPERATÖRSNUMMER:')(A(44))(T3)(A(3)) ('TILLTRÄDE TILL HUVUDRUTIN NUMMER')(A(43))(I)(A(4)) ('UNDERRUTIN NR 1 3 5 7 9111')(A(64))('2 4 6 8 012')(A(46)); CALL TYPIST(TAB(I),12); CALL TYPIST('┣10┫',1); CALL CORED(0); GET SKIP LIST(T12); IF T12¬=TAB(I) THEN DO; TAB(I)=T12; FLAGG=1; END; END; PUT FILE(D) SKIP EDIT('OPERATÖRSNUMMER:')(A(44))(T3)(A(3)); GO TO L2; S3: PUT FILE(D) SKIP EDIT('OPERATÖRSNUMMER:')(A(44))(T3)(A(4)) ('ANMÄRKNING:')(A(15)); CALL TYPIST(ANM,32); CALL TYPIST('┣10┫',1); CALL CORED(0); GET SKIP LIST(T32); IF T32¬=ANM THEN DO; ANM=T32; FLAGG=1; END; PUT FILE(D) SKIP EDIT('OPERATÖRSNUMMER:')(A(44))(T3)(A(3)); GO TO L2; S4: PUT FILE(D) SKIP EDIT('OPERATÖRSNUMMER:')(A(44)); IF FLAGG=1 THEN DO; CALL VECKGEN; REWRITE FILE(KFIL) FROM(KSTR); END; GO TO L1; /* H Ä R B Ö R J A R H U V U D P R O G R A M E T */ L0: UNSPEC(P)=16570; UNSPEC(PP)=16616; CALL DATCHECK(DATUM); IF DATUM='0 ' THEN GO TO UT; D='0'; PUT FILE(D) SKIP EDIT('OPERATÖRSNUMMER:')(A(44)); OPEN KFIL; L1: GET SKIP LIST(T3); PUT FILE(D) EDIT(T3)(A(3)); I=T3; IF I<1 ö I>100 THEN GO TO UT; UNSPEC(KFIL)=I; READ FILE(KFIL) INTO(KSTR); CALL TABGEN; FLAGG=0; L2: PUT FILE(D) EDIT('VAD SKALL ÄNDRAS')(A(47))('1 = OPERATÖRSKOD')(A(47)) ('2 = TILLTRÄDE')(A(47)) ('3 = ANMÄRKNING')(A(47)) ('N = ANNAN OPERATÖR')(A(47)) ('S = AVSLUTNING AV RUTINEN')(A(47)); GET SKIP LIST(SVAR); IF SVAR='1' THEN GO TO S1; IF SVAR='2' THEN GO TO S2; IF SVAR='3' THEN GO TO S3; IF SVAR='N' THEN GO TO S4; UT: IF FLAGG=1 THEN DO; CALL VECKGEN; REWRITE FILE(KFIL) FROM(KSTR); END; D=DATUM; CALL PLOAD('Q '); END;