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

⟦245b4af1b⟧ TextFile

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

Derivation

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

Mikados K File

PROCEDURE READTABLE(VAR ZO:ISFHEAD;VAR F:ISF;BUTENTRY:INTEGER);
BEGIN
  IER:=0;
  WITH ZO DO
    IF BUTENTRY<>BUCINZONE THEN
    BEGIN
      IF BLKCHG THEN
      BEGIN
        IF UPSTAT=SKRIV THEN
        COPSEGS(Z,F,Z((BLKINZONE-1)*ENTRYSIZE+BLT),BLKSIZE,BLK,SKRIV);
        IF IER<>0 THEN EXIT(READTABLE)
      END;
      IF BLTCHG THEN
      BEGIN
        IF UPSTAT=SKRIV THEN
        COPSEGS(Z,F,Z((BUCINZONE-1)*ENTRYSIZE+BUT),BLTSIZE,BLT,SKRIV);
        IF IER<>0 THEN EXIT(READTABLE)
      END;
      BLKCHG:=FALSE;
      BLTCHG:=FALSE;
      COPSEGS(Z,F,Z((BUTENTRY-1)*ENTRYSIZE+BUT),BLTSIZE,BLT,LÆS);
      IF IER<>0 THEN EXIT(READTABLE);
      BUCINZONE:=BUTENTRY;
      BLKINZONE:=0
    END
END;
 
PROCEDURE READBLOCK(VAR ZO:ISFHEAD;VAR F:ISF;BLTENTRY,STARTPOST:INTEGER);
BEGIN
  IER:=0;
  WITH ZO DO
  IF BLTENTRY<>BLKINZONE THEN
  BEGIN
    IF BLKCHG THEN
    BEGIN
      IF UPSTAT=SKRIV THEN
      COPSEGS(Z,F,Z((BLKINZONE-1)*ENTRYSIZE+BLT),BLKSIZE,BLK,SKRIV);
      BLKCHG:=FALSE;
      IF IER<>0 THEN EXIT(READBLOCK)
    END;
    COPSEGS(Z,F,Z((BLTENTRY-1)*ENTRYSIZE+BLT),BLKSIZE,BLK+(STARTPOST-1)*
                                                         RECSIZE,LÆS);
    IF IER<>0 THEN EXIT(READBLOCK);
    BLKINZONE:=BLTENTRY
  END
END;

Full view