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

⟦1fcd34ff7⟧ TextFile

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

Derivation

└─⟦a3d38fea3⟧ Bits:30008985 PRODUKTION NBT.
    └─⟦this⟧ »ICLOSE.K« 

Mikados K File

SEGMENT PROCEDURE ICLOSE(VAR ZO:ISFHEAD;VAR F:ISF);
VAR I:INTEGER;
BEGIN
  IER:=0;
  WITH ZO DO
  IF FILEOPEN THEN
  BEGIN
    IF NOT FILEINIT AND (RECINUSE>0) THEN
    BEGIN
      FILEINIT:=TRUE;
      INITREC:=RECINUSE
    END;
    IF UPSTAT=SKRIV THEN
    BEGIN
    IF BLKCHG THEN
    BEGIN
       COPSEGS(Z,F,Z(BLT+(BLKINZONE-1)*ENTRYSIZE),BLKSIZE,BLK,SKRIV);
       IF IER<>0 THEN EXIT(ICLOSE)
    END;
    IF BLTCHG THEN
    BEGIN
       COPSEGS(Z,F,Z(BUT+(BUCINZONE-1)*ENTRYSIZE),BLTSIZE,BLT,SKRIV);
       IF IER<>0 THEN EXIT(ICLOSE)
    END;
    IF BUTCHG THEN
    BEGIN
       COPSEGS(Z,F,2,BUTSIZE,BUT,SKRIV);
       IF IER<>0 THEN EXIT(ICLOSE)
    END;
    FILEOPEN:=FALSE;
       F^(1):=NBUC;
       F^(2):=NBLK;
       F^(3):=NREC;
       F^(4):=BLKPRBUC;
       F^(5):=RECPRBUC;
       F^(6):=RECPRBLK;
       F^(7):=KEYFLDS;
       F^(8):=FLHSIZE;
       F^(9):=BUTSIZE;
       F^(10):=BLTSIZE;
       F^(11):=BLKSIZE;
       F^(12):=RECSIZE;
       F^(13):=KEYSIZE;
       F^(14):=SEGINFLH;
       F^(15):=SEGINBUT;
       F^(16):=SEGINBUC;
       F^(17):=SEGINBLT;
       F^(18):=SEGINBLK;
       F^(19):=INITREC;
       F^(20):=BUCINUSE;
       F^(21):=BLKINUSE;
       F^(22):=RECINUSE;
       IF FILEINIT THEN F^(23):=1 ELSE F^(23):=0;
       IF FILEOPEN THEN F^(24):=1 ELSE F^(24):=0;
       FOR I:=1 TO 9 DO
       BEGIN
         F^(22+I*3):=KEYPOS(I);
         F^(23+I*3):=KEYLNG(I);
         F^(24+I*3):=KEYSGN(I)
       END;
       SEEK(F,1);
       IF IORESULT<>0 THEN BEGIN IER:=IORESULT;EXIT(ICLOSE) END;
       PUT(F);
       IF IORESULT<>0 THEN BEGIN IER:=IORESULT;EXIT(ICLOSE) END;
    END;
    CLOSE(F);
    IF IORESULT<>0 THEN BEGIN IER:=IORESULT;EXIT(ICLOSE) END;
    FILEOPEN:=FALSE
  END
  ELSE IER:=-3
END;

Mikados K File

0x000…035 Line {l1=0x33, l2=»SEGMENT PROCEDURE ICLOSE(VAR ZO:ISFHEAD;VAR F:ISF);«, l3=0x33}
0x035…045 Line {l1=0x0e, l2=»VAR I:INTEGER;«, l3=0x0e}
0x045…04c Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x04c…057 Line {l1=0x09, l2=»  IER:=0;«, l3=0x09}
0x057…065 Line {l1=0x0c, l2=»  WITH ZO DO«, l3=0x0c}
0x065…079 Line {l1=0x12, l2=»  IF FILEOPEN THEN«, l3=0x12}
0x079…082 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x082…0ad Line {l1=0x29, l2=»    IF NOT FILEINIT AND (RECINUSE>0) THEN«, l3=0x29}
0x0ad…0b8 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x0b8…0cf Line {l1=0x15, l2=»      FILEINIT:=TRUE;«, l3=0x15}
0x0cf…0e8 Line {l1=0x17, l2=»      INITREC:=RECINUSE«, l3=0x17}
0x0e8…0f2 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x0f2…10c Line {l1=0x18, l2=»    IF UPSTAT=SKRIV THEN«, l3=0x18}
0x10c…117 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x117…12b Line {l1=0x12, l2=»    IF BLKCHG THEN«, l3=0x12}
0x12b…136 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x136…17d Line {l1=0x45, l2=»       COPSEGS(Z,F,Z(BLT+(BLKINZONE-1)*ENTRYSIZE),BLKSIZE,BLK,SKRIV);«, l3=0x45}
0x17d…1a1 Line {l1=0x22, l2=»       IF IER<>0 THEN EXIT(ICLOSE)«, l3=0x22}
0x1a1…1ab Line {l1=0x08, l2=»    END;«, l3=0x08}
0x1ab…1bf Line {l1=0x12, l2=»    IF BLTCHG THEN«, l3=0x12}
0x1bf…1ca Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x1ca…211 Line {l1=0x45, l2=»       COPSEGS(Z,F,Z(BUT+(BUCINZONE-1)*ENTRYSIZE),BLTSIZE,BLT,SKRIV);«, l3=0x45}
0x211…235 Line {l1=0x22, l2=»       IF IER<>0 THEN EXIT(ICLOSE)«, l3=0x22}
0x235…23f Line {l1=0x08, l2=»    END;«, l3=0x08}
0x23f…253 Line {l1=0x12, l2=»    IF BUTCHG THEN«, l3=0x12}
0x253…25e Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x25e…288 Line {l1=0x28, l2=»       COPSEGS(Z,F,2,BUTSIZE,BUT,SKRIV);«, l3=0x28}
0x288…2ac Line {l1=0x22, l2=»       IF IER<>0 THEN EXIT(ICLOSE)«, l3=0x22}
0x2ac…2b6 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x2b6…2cc Line {l1=0x14, l2=»    FILEOPEN:=FALSE;«, l3=0x14}
0x2cc…2e1 Line {l1=0x13, l2=»       F^(1):=NBUC;«, l3=0x13}
0x2e1…2f6 Line {l1=0x13, l2=»       F^(2):=NBLK;«, l3=0x13}
0x2f6…30b Line {l1=0x13, l2=»       F^(3):=NREC;«, l3=0x13}
0x30b…324 Line {l1=0x17, l2=»       F^(4):=BLKPRBUC;«, l3=0x17}
0x324…33d Line {l1=0x17, l2=»       F^(5):=RECPRBUC;«, l3=0x17}
0x33d…356 Line {l1=0x17, l2=»       F^(6):=RECPRBLK;«, l3=0x17}
0x356…36e Line {l1=0x16, l2=»       F^(7):=KEYFLDS;«, l3=0x16}
0x36e…386 Line {l1=0x16, l2=»       F^(8):=FLHSIZE;«, l3=0x16}
0x386…39e Line {l1=0x16, l2=»       F^(9):=BUTSIZE;«, l3=0x16}
0x39e…3b7 Line {l1=0x17, l2=»       F^(10):=BLTSIZE;«, l3=0x17}
0x3b7…3d0 Line {l1=0x17, l2=»       F^(11):=BLKSIZE;«, l3=0x17}
0x3d0…3e9 Line {l1=0x17, l2=»       F^(12):=RECSIZE;«, l3=0x17}
0x3e9…402 Line {l1=0x17, l2=»       F^(13):=KEYSIZE;«, l3=0x17}
0x402…41c Line {l1=0x18, l2=»       F^(14):=SEGINFLH;«, l3=0x18}
0x41c…436 Line {l1=0x18, l2=»       F^(15):=SEGINBUT;«, l3=0x18}
0x436…450 Line {l1=0x18, l2=»       F^(16):=SEGINBUC;«, l3=0x18}
0x450…46a Line {l1=0x18, l2=»       F^(17):=SEGINBLT;«, l3=0x18}
0x46a…484 Line {l1=0x18, l2=»       F^(18):=SEGINBLK;«, l3=0x18}
0x484…49d Line {l1=0x17, l2=»       F^(19):=INITREC;«, l3=0x17}
0x49d…4b7 Line {l1=0x18, l2=»       F^(20):=BUCINUSE;«, l3=0x18}
0x4b7…4d1 Line {l1=0x18, l2=»       F^(21):=BLKINUSE;«, l3=0x18}
0x4d1…4eb Line {l1=0x18, l2=»       F^(22):=RECINUSE;«, l3=0x18}
0x4eb…51e Line {l1=0x31, l2=»       IF FILEINIT THEN F^(23):=1 ELSE F^(23):=0;«, l3=0x31}
0x51e…551 Line {l1=0x31, l2=»       IF FILEOPEN THEN F^(24):=1 ELSE F^(24):=0;«, l3=0x31}
0x551…56a Line {l1=0x17, l2=»       FOR I:=1 TO 9 DO«, l3=0x17}
0x56a…578 Line {l1=0x0c, l2=»       BEGIN«, l3=0x0c}
0x578…599 Line {l1=0x1f, l2=»         F^(22+I*3):=KEYPOS(I);«, l3=0x1f}
0x599…5ba Line {l1=0x1f, l2=»         F^(23+I*3):=KEYLNG(I);«, l3=0x1f}
0x5ba…5da Line {l1=0x1e, l2=»         F^(24+I*3):=KEYSGN(I)«, l3=0x1e}
0x5da…5e7 Line {l1=0x0b, l2=»       END;«, l3=0x0b}
0x5e7…5fa Line {l1=0x11, l2=»       SEEK(F,1);«, l3=0x11}
0x5fa…63c Line {l1=0x40, l2=»       IF IORESULT<>0 THEN BEGIN IER:=IORESULT;EXIT(ICLOSE) END;«, l3=0x40}
0x63c…64c Line {l1=0x0e, l2=»       PUT(F);«, l3=0x0e}
0x64c…68e Line {l1=0x40, l2=»       IF IORESULT<>0 THEN BEGIN IER:=IORESULT;EXIT(ICLOSE) END;«, l3=0x40}
0x68e…698 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x698…6a7 Line {l1=0x0d, l2=»    CLOSE(F);«, l3=0x0d}
0x6a7…6e6 Line {l1=0x3d, l2=»    IF IORESULT<>0 THEN BEGIN IER:=IORESULT;EXIT(ICLOSE) END;«, l3=0x3d}
0x6e6…6fb Line {l1=0x13, l2=»    FILEOPEN:=FALSE«, l3=0x13}
0x6fb…702 Line {l1=0x05, l2=»  END«, l3=0x05}
0x702…712 Line {l1=0x0e, l2=»  ELSE IER:=-3«, l3=0x0e}
0x712…718 Line {l1=0x04, l2=»END;«, l3=0x04}
0x718…720 00 00 00 00 00 00 00 00                                                                           ┆        ┆
0x720…740 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   ┆                                ┆
          […0x14…]

Reduced view