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

⟦47a0e7496⟧ TextFile

    Length: 2208 (0x8a0)
    Types: TextFile
    Notes: Mikados_K
    Names: »ICLOSE1.K«

Derivation

└─⟦6b1c9961a⟧ Bits:30008989 INDPERM P1
    └─⟦this⟧ »ICLOSE1.K« 

Mikados K File

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;
    FILEOPEN:=FALSE
  END
  ELSE IER:=-3
END;

Mikados K File

0x000…02d Line {l1=0x2b, l2=»PROCEDURE ICLOSE(VAR ZO:ISFHEAD;VAR F:ISF);«, l3=0x2b}
0x02d…03d Line {l1=0x0e, l2=»VAR I:INTEGER;«, l3=0x0e}
0x03d…044 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x044…04f Line {l1=0x09, l2=»  IER:=0;«, l3=0x09}
0x04f…05d Line {l1=0x0c, l2=»  WITH ZO DO«, l3=0x0c}
0x05d…071 Line {l1=0x12, l2=»  IF FILEOPEN THEN«, l3=0x12}
0x071…07a Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x07a…0a5 Line {l1=0x29, l2=»    IF NOT FILEINIT AND (RECINUSE>0) THEN«, l3=0x29}
0x0a5…0b0 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x0b0…0c7 Line {l1=0x15, l2=»      FILEINIT:=TRUE;«, l3=0x15}
0x0c7…0e0 Line {l1=0x17, l2=»      INITREC:=RECINUSE«, l3=0x17}
0x0e0…0ea Line {l1=0x08, l2=»    END;«, l3=0x08}
0x0ea…104 Line {l1=0x18, l2=»    IF UPSTAT=SKRIV THEN«, l3=0x18}
0x104…10f Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x10f…123 Line {l1=0x12, l2=»    IF BLKCHG THEN«, l3=0x12}
0x123…12e Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x12e…175 Line {l1=0x45, l2=»       COPSEGS(Z,F,Z(BLT+(BLKINZONE-1)*ENTRYSIZE),BLKSIZE,BLK,SKRIV);«, l3=0x45}
0x175…199 Line {l1=0x22, l2=»       IF IER<>0 THEN EXIT(ICLOSE)«, l3=0x22}
0x199…1a3 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x1a3…1b7 Line {l1=0x12, l2=»    IF BLTCHG THEN«, l3=0x12}
0x1b7…1c2 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x1c2…209 Line {l1=0x45, l2=»       COPSEGS(Z,F,Z(BUT+(BUCINZONE-1)*ENTRYSIZE),BLTSIZE,BLT,SKRIV);«, l3=0x45}
0x209…22d Line {l1=0x22, l2=»       IF IER<>0 THEN EXIT(ICLOSE)«, l3=0x22}
0x22d…237 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x237…24b Line {l1=0x12, l2=»    IF BUTCHG THEN«, l3=0x12}
0x24b…256 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x256…280 Line {l1=0x28, l2=»       COPSEGS(Z,F,2,BUTSIZE,BUT,SKRIV);«, l3=0x28}
0x280…2a4 Line {l1=0x22, l2=»       IF IER<>0 THEN EXIT(ICLOSE)«, l3=0x22}
0x2a4…2ae Line {l1=0x08, l2=»    END;«, l3=0x08}
0x2ae…2c4 Line {l1=0x14, l2=»    FILEOPEN:=FALSE;«, l3=0x14}
0x2c4…2d9 Line {l1=0x13, l2=»       F^(1):=NBUC;«, l3=0x13}
0x2d9…2ee Line {l1=0x13, l2=»       F^(2):=NBLK;«, l3=0x13}
0x2ee…303 Line {l1=0x13, l2=»       F^(3):=NREC;«, l3=0x13}
0x303…31c Line {l1=0x17, l2=»       F^(4):=BLKPRBUC;«, l3=0x17}
0x31c…335 Line {l1=0x17, l2=»       F^(5):=RECPRBUC;«, l3=0x17}
0x335…34e Line {l1=0x17, l2=»       F^(6):=RECPRBLK;«, l3=0x17}
0x34e…366 Line {l1=0x16, l2=»       F^(7):=KEYFLDS;«, l3=0x16}
0x366…37e Line {l1=0x16, l2=»       F^(8):=FLHSIZE;«, l3=0x16}
0x37e…396 Line {l1=0x16, l2=»       F^(9):=BUTSIZE;«, l3=0x16}
0x396…3af Line {l1=0x17, l2=»       F^(10):=BLTSIZE;«, l3=0x17}
0x3af…3c8 Line {l1=0x17, l2=»       F^(11):=BLKSIZE;«, l3=0x17}
0x3c8…3e1 Line {l1=0x17, l2=»       F^(12):=RECSIZE;«, l3=0x17}
0x3e1…3fa Line {l1=0x17, l2=»       F^(13):=KEYSIZE;«, l3=0x17}
0x3fa…414 Line {l1=0x18, l2=»       F^(14):=SEGINFLH;«, l3=0x18}
0x414…42e Line {l1=0x18, l2=»       F^(15):=SEGINBUT;«, l3=0x18}
0x42e…448 Line {l1=0x18, l2=»       F^(16):=SEGINBUC;«, l3=0x18}
0x448…462 Line {l1=0x18, l2=»       F^(17):=SEGINBLT;«, l3=0x18}
0x462…47c Line {l1=0x18, l2=»       F^(18):=SEGINBLK;«, l3=0x18}
0x47c…495 Line {l1=0x17, l2=»       F^(19):=INITREC;«, l3=0x17}
0x495…4af Line {l1=0x18, l2=»       F^(20):=BUCINUSE;«, l3=0x18}
0x4af…4c9 Line {l1=0x18, l2=»       F^(21):=BLKINUSE;«, l3=0x18}
0x4c9…4e3 Line {l1=0x18, l2=»       F^(22):=RECINUSE;«, l3=0x18}
0x4e3…516 Line {l1=0x31, l2=»       IF FILEINIT THEN F^(23):=1 ELSE F^(23):=0;«, l3=0x31}
0x516…549 Line {l1=0x31, l2=»       IF FILEOPEN THEN F^(24):=1 ELSE F^(24):=0;«, l3=0x31}
0x549…562 Line {l1=0x17, l2=»       FOR I:=1 TO 9 DO«, l3=0x17}
0x562…570 Line {l1=0x0c, l2=»       BEGIN«, l3=0x0c}
0x570…591 Line {l1=0x1f, l2=»         F^(22+I*3):=KEYPOS(I);«, l3=0x1f}
0x591…5b2 Line {l1=0x1f, l2=»         F^(23+I*3):=KEYLNG(I);«, l3=0x1f}
0x5b2…5d2 Line {l1=0x1e, l2=»         F^(24+I*3):=KEYSGN(I)«, l3=0x1e}
0x5d2…5df Line {l1=0x0b, l2=»       END;«, l3=0x0b}
0x5df…5f2 Line {l1=0x11, l2=»       SEEK(F,1);«, l3=0x11}
0x5f2…634 Line {l1=0x40, l2=»       IF IORESULT<>0 THEN BEGIN IER:=IORESULT;EXIT(ICLOSE) END;«, l3=0x40}
0x634…644 Line {l1=0x0e, l2=»       PUT(F);«, l3=0x0e}
0x644…686 Line {l1=0x40, l2=»       IF IORESULT<>0 THEN BEGIN IER:=IORESULT;EXIT(ICLOSE) END;«, l3=0x40}
0x686…690 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x690…6a5 Line {l1=0x13, l2=»    FILEOPEN:=FALSE«, l3=0x13}
0x6a5…6ac Line {l1=0x05, l2=»  END«, l3=0x05}
0x6ac…6bc Line {l1=0x0e, l2=»  ELSE IER:=-3«, l3=0x0e}
0x6bc…6c2 Line {l1=0x04, l2=»END;«, l3=0x04}
0x6c2…6e0 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         ┆                              ┆
0x6e0…700 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   ┆                                ┆
          […0xc…]
0x880…8a0 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 d5   ┆                                ┆

Reduced view