DataMuseum.dk

Presents historical artifacts from the history of:

MIKADOS

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about MIKADOS

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦e24a5c649⟧ TextFile

    Length: 2496 (0x9c0)
    Types: TextFile
    Notes: Mikados_K
    Names: »FINDPOST.K«

Derivation

└─⟦a3d38fea3⟧ Bits:30008985 PRODUKTION NBT.
    └─⟦this⟧ »FINDPOST.K« 
└─⟦eb89399bc⟧ Bits:30008990 SOM ISFORIG, MEN KUN K-FILER
    └─⟦this⟧ »FINDPOST.K« 

Mikados K File

PROCEDURE FINDPOST(VAR ZO:ISFHEAD;VAR F:ISF;VAR REC:AR);
VAR NUM,I,X,PEG:INTEGER;
BEGIN
  WITH ZO DO
  BEGIN
    EXTRACT(ZO,REC,Z,1,KEY1);
    X:=-1;
    I:=1;
    REPEAT
      IF Z((I-1)*ENTRYSIZE+2)>0 THEN
      BEGIN
        PEG:=I;
        X:=COMPARE(ZO,Z,Z,(I-1)*ENTRYSIZE+3,KEY1)
      END;
      I:=I+1
    UNTIL (I>NBUC) OR (X>=0);
    IF X<0 THEN
    BEGIN
      READTABLE(ZO,F,PEG);
      IF IER<>0 THEN EXIT(FINDPOST);
      FOR PEG:=BLKPRBUC DOWNTO 1 DO
      IF Z((PEG-1)*ENTRYSIZE+BLT+1)>0 THEN
      BEGIN
        READBLOCK(ZO,F,PEG,1);
        IF IER<>0 THEN EXIT(FINDPOST);
        BLKENTRY:=1+Z((PEG-1)*ENTRYSIZE+BLT+1);
        IER:=-1;
        EXIT(FINDPOST)
      END;
      WRITE('KATASTROFE 1 FINDPOST');
      I:=I DIV 0
    END ELSE
    BEGIN
      READTABLE(ZO,F,PEG);
      IF IER<>0 THEN EXIT(FINDPOST);
      I:=BLT+1;
      PEG:=0;
      X:=-1;
      REPEAT
        IF PEG=BLKPRBUC THEN BEGIN WRITELN('KATASTROFE 3');I:=I DIV 0 END;
        NUM:=Z(I);
        PEG:=PEG+1;
        IF NUM>0 THEN
        BEGIN
          X:=COMPARE(ZO,Z,Z,I+1,KEY1);
          IF X>=0 THEN
          BEGIN
            READBLOCK(ZO,F,PEG,1);
            IF IER<>0 THEN EXIT(FINDPOST)
          END
        END;
        I:=I+ENTRYSIZE
      UNTIL X>=0;
      I:=0;
      REPEAT
        I:=I+1;
        IF I>NUM THEN
        BEGIN
          WRITELN(LIST,'KATASTROFE 2 ',RECSIZE:5,REC(1):8,REC(2):8,REC(3):8);
          WRITELN(LIST,'I,NUM ',I:3,NUM:3);
          WRITELN(LIST,Z(BLK+(I-2)*RECSIZE):8,Z(BLK+1+(I-2)*RECSIZE):8);
          FOR I:=1 TO 25 DO
            WRITELN(LIST,Z(BLK+(I-1)*RECSIZE):8,Z(BLK+1+(I-1)*RECSIZE):8,
                    Z(BLK+2+(I-1)*RECSIZE):8);
            I:=I DIV 0
        END;
        EXTRACT(ZO,Z,Z,BLK+(I-1)*RECSIZE,KEY2);
        X:=COMPARE(ZO,Z,Z,KEY2,KEY1)
      UNTIL X>=0;
      IF X=0 THEN IER:=0 ELSE IER:=-1;
      BLKENTRY:=I
    END
  END
END;

Mikados K File

0x000…03a Line {l1=0x38, l2=»PROCEDURE FINDPOST(VAR ZO:ISFHEAD;VAR F:ISF;VAR REC:AR);«, l3=0x38}
0x03a…054 Line {l1=0x18, l2=»VAR NUM,I,X,PEG:INTEGER;«, l3=0x18}
0x054…05b Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x05b…069 Line {l1=0x0c, l2=»  WITH ZO DO«, l3=0x0c}
0x069…072 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x072…091 Line {l1=0x1d, l2=»    EXTRACT(ZO,REC,Z,1,KEY1);«, l3=0x1d}
0x091…09d Line {l1=0x0a, l2=»    X:=-1;«, l3=0x0a}
0x09d…0a8 Line {l1=0x09, l2=»    I:=1;«, l3=0x09}
0x0a8…0b4 Line {l1=0x0a, l2=»    REPEAT«, l3=0x0a}
0x0b4…0da Line {l1=0x24, l2=»      IF Z((I-1)*ENTRYSIZE+2)>0 THEN«, l3=0x24}
0x0da…0e7 Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x0e7…0f8 Line {l1=0x0f, l2=»        PEG:=I;«, l3=0x0f}
0x0f8…12b Line {l1=0x31, l2=»        X:=COMPARE(ZO,Z,Z,(I-1)*ENTRYSIZE+3,KEY1)«, l3=0x31}
0x12b…137 Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x137…145 Line {l1=0x0c, l2=»      I:=I+1«, l3=0x0c}
0x145…164 Line {l1=0x1d, l2=»    UNTIL (I>NBUC) OR (X>=0);«, l3=0x1d}
0x164…175 Line {l1=0x0f, l2=»    IF X<0 THEN«, l3=0x0f}
0x175…180 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x180…19c Line {l1=0x1a, l2=»      READTABLE(ZO,F,PEG);«, l3=0x1a}
0x19c…1c2 Line {l1=0x24, l2=»      IF IER<>0 THEN EXIT(FINDPOST);«, l3=0x24}
0x1c2…1e7 Line {l1=0x23, l2=»      FOR PEG:=BLKPRBUC DOWNTO 1 DO«, l3=0x23}
0x1e7…213 Line {l1=0x2a, l2=»      IF Z((PEG-1)*ENTRYSIZE+BLT+1)>0 THEN«, l3=0x2a}
0x213…220 Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x220…240 Line {l1=0x1e, l2=»        READBLOCK(ZO,F,PEG,1);«, l3=0x1e}
0x240…268 Line {l1=0x26, l2=»        IF IER<>0 THEN EXIT(FINDPOST);«, l3=0x26}
0x268…299 Line {l1=0x2f, l2=»        BLKENTRY:=1+Z((PEG-1)*ENTRYSIZE+BLT+1);«, l3=0x2f}
0x299…2ab Line {l1=0x10, l2=»        IER:=-1;«, l3=0x10}
0x2ab…2c3 Line {l1=0x16, l2=»        EXIT(FINDPOST)«, l3=0x16}
0x2c3…2cf Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x2cf…2f6 Line {l1=0x25, l2=»      WRITE('KATASTROFE 1 FINDPOST');«, l3=0x25}
0x2f6…308 Line {l1=0x10, l2=»      I:=I DIV 0«, l3=0x10}
0x308…316 Line {l1=0x0c, l2=»    END ELSE«, l3=0x0c}
0x316…321 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x321…33d Line {l1=0x1a, l2=»      READTABLE(ZO,F,PEG);«, l3=0x1a}
0x33d…363 Line {l1=0x24, l2=»      IF IER<>0 THEN EXIT(FINDPOST);«, l3=0x24}
0x363…374 Line {l1=0x0f, l2=»      I:=BLT+1;«, l3=0x0f}
0x374…383 Line {l1=0x0d, l2=»      PEG:=0;«, l3=0x0d}
0x383…391 Line {l1=0x0c, l2=»      X:=-1;«, l3=0x0c}
0x391…39f Line {l1=0x0c, l2=»      REPEAT«, l3=0x0c}
0x39f…3eb Line {l1=0x4a, l2=»        IF PEG=BLKPRBUC THEN BEGIN WRITELN('KATASTROFE 3');I:=I DIV 0 END;«, l3=0x4a}
0x3eb…3ff Line {l1=0x12, l2=»        NUM:=Z(I);«, l3=0x12}
0x3ff…414 Line {l1=0x13, l2=»        PEG:=PEG+1;«, l3=0x13}
0x414…42b Line {l1=0x15, l2=»        IF NUM>0 THEN«, l3=0x15}
0x42b…43a Line {l1=0x0d, l2=»        BEGIN«, l3=0x0d}
0x43a…462 Line {l1=0x26, l2=»          X:=COMPARE(ZO,Z,Z,I+1,KEY1);«, l3=0x26}
0x462…47a Line {l1=0x16, l2=»          IF X>=0 THEN«, l3=0x16}
0x47a…48b Line {l1=0x0f, l2=»          BEGIN«, l3=0x0f}
0x48b…4af Line {l1=0x22, l2=»            READBLOCK(ZO,F,PEG,1);«, l3=0x22}
0x4af…4da Line {l1=0x29, l2=»            IF IER<>0 THEN EXIT(FINDPOST)«, l3=0x29}
0x4da…4e9 Line {l1=0x0d, l2=»          END«, l3=0x0d}
0x4e9…4f7 Line {l1=0x0c, l2=»        END;«, l3=0x0c}
0x4f7…50f Line {l1=0x16, l2=»        I:=I+ENTRYSIZE«, l3=0x16}
0x50f…522 Line {l1=0x11, l2=»      UNTIL X>=0;«, l3=0x11}
0x522…52f Line {l1=0x0b, l2=»      I:=0;«, l3=0x0b}
0x52f…53d Line {l1=0x0c, l2=»      REPEAT«, l3=0x0c}
0x53d…54e Line {l1=0x0f, l2=»        I:=I+1;«, l3=0x0f}
0x54e…565 Line {l1=0x15, l2=»        IF I>NUM THEN«, l3=0x15}
0x565…574 Line {l1=0x0d, l2=»        BEGIN«, l3=0x0d}
0x574…5c3 Line {l1=0x4d, l2=»          WRITELN(LIST,'KATASTROFE 2 ',RECSIZE:5,REC(1):8,REC(2):8,REC(3):8);«, l3=0x4d}
0x5c3…5f0 Line {l1=0x2b, l2=»          WRITELN(LIST,'I,NUM ',I:3,NUM:3);«, l3=0x2b}
0x5f0…63a Line {l1=0x48, l2=»          WRITELN(LIST,Z(BLK+(I-2)*RECSIZE):8,Z(BLK+1+(I-2)*RECSIZE):8);«, l3=0x48}
0x63a…657 Line {l1=0x1b, l2=»          FOR I:=1 TO 25 DO«, l3=0x1b}
0x657…6a2 Line {l1=0x49, l2=»            WRITELN(LIST,Z(BLK+(I-1)*RECSIZE):8,Z(BLK+1+(I-1)*RECSIZE):8,«, l3=0x49}
0x6a2…6d2 Line {l1=0x2e, l2=»                    Z(BLK+2+(I-1)*RECSIZE):8);«, l3=0x2e}
0x6d2…6ea Line {l1=0x16, l2=»            I:=I DIV 0«, l3=0x16}
0x6ea…6f8 Line {l1=0x0c, l2=»        END;«, l3=0x0c}
0x6f8…729 Line {l1=0x2f, l2=»        EXTRACT(ZO,Z,Z,BLK+(I-1)*RECSIZE,KEY2);«, l3=0x2f}
0x729…74f Line {l1=0x24, l2=»        X:=COMPARE(ZO,Z,Z,KEY2,KEY1)«, l3=0x24}
0x74f…762 Line {l1=0x11, l2=»      UNTIL X>=0;«, l3=0x11}
0x762…78a Line {l1=0x26, l2=»      IF X=0 THEN IER:=0 ELSE IER:=-1;«, l3=0x26}
0x78a…79d Line {l1=0x11, l2=»      BLKENTRY:=I«, l3=0x11}
0x79d…7a6 Line {l1=0x07, l2=»    END«, l3=0x07}
0x7a6…7ad Line {l1=0x05, l2=»  END«, l3=0x05}
0x7ad…7b3 Line {l1=0x04, l2=»END;«, l3=0x04}
0x7b3…7c0 00 00 3a 38 2c 5a 28 42 4c 4b 2b 31 2b                                                            ┆  :8,Z(BLK+1+┆
0x7c0…7e0 28 49 2d 31 29 2a 52 45 43 53 49 5a 45 29 3a 38 2c 49 2e 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆(I-1)*RECSIZE):8,I.             ┆
0x7e0…800 20 20 20 20 20 20 20 5a 28 42 4c 4b 2b 32 2b 28 49 2d 31 29 2a 52 45 43 53 49 5a 45 29 3a 38 29   ┆       Z(BLK+2+(I-1)*RECSIZE):8)┆
0x800…820 3b 2e 16 20 20 20 20 20 20 20 20 20 20 20 20 49 3a 3d 49 20 44 49 56 20 30 16 0c 20 20 20 20 20   ┆;.             I:=I DIV 0       ┆
0x820…840 20 20 20 45 4e 44 3b 0c 2f 20 20 20 20 20 20 20 20 45 58 54 52 41 43 54 28 5a 4f 2c 5a 2c 5a 2c   ┆   END; /        EXTRACT(ZO,Z,Z,┆
0x840…860 42 4c 4b 2b 28 49 2d 31 29 2a 52 45 43 53 49 5a 45 2c 4b 45 59 32 29 3b 2f 24 20 20 20 20 20 20   ┆BLK+(I-1)*RECSIZE,KEY2);/$      ┆
0x860…880 20 20 58 3a 3d 43 4f 4d 50 41 52 45 28 5a 4f 2c 5a 2c 5a 2c 4b 45 59 32 2c 4b 45 59 31 29 24 11   ┆  X:=COMPARE(ZO,Z,Z,KEY2,KEY1)$ ┆
0x880…8a0 20 20 20 20 20 20 55 4e 54 49 4c 20 58 3e 3d 30 3b 11 26 20 20 20 20 20 20 49 46 20 58 3d 30 20   ┆      UNTIL X>=0; &      IF X=0 ┆
0x8a0…8c0 54 48 45 4e 20 49 45 52 3a 3d 30 20 45 4c 53 45 20 49 45 52 3a 3d 2d 31 3b 26 11 20 20 20 20 20   ┆THEN IER:=0 ELSE IER:=-1;&      ┆
0x8c0…8e0 20 42 4c 4b 45 4e 54 52 59 3a 3d 49 11 07 20 20 20 20 45 4e 44 07 05 20 20 45 4e 44 05 04 45 4e   ┆ BLKENTRY:=I      END    END  EN┆
0x8e0…900 44 3b 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆D;                              ┆
0x900…920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ┆                                ┆
          […0x5…]

Reduced view