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

⟦cf6d35460⟧ TextFile

    Length: 5056 (0x13c0)
    Types: TextFile
    Notes: Mikados_K
    Names: »START.K«

Derivation

└─⟦5630b2e42⟧ Bits:30009005 START APRIL 1985 aft april 1985 (PASCAL kildetekster)
    └─⟦this⟧ »START.K« 
└─⟦6c21327e0⟧ Bits:30008986 LINIMATIC K-FILER (IKKE HELT UPTODTATE)
    └─⟦this⟧ »START.K« 

Mikados K File

PROGRAM START;
TYPE
PARMARRAY=PACKED ARRAY (1..39) OF CHAR;
NAME    =STRING(10);
PCB     =^INTEGER;
MESSAGETYPE=(ÅBEN,LUK,LÆSPOST,LÆSPOSTX,NÆSTE,NÆSTEX,SLET,SLETX,GEMPOST,
             INDSÆT,INITIER,UTILMELD,UAFMELD,PTILMELD,PAFMELD,STOPSYS,        
             RETURNHEAD,RETURNSTAT);                                    
MESSAGE =RECORD
           KOMMANDO:MESSAGETYPE;
           INFO:INTEGER 
         END;
CPSTAT  =RECORD
           CPPCB        :INTEGER;
           STATUS       :ARRAY (1..100) OF INTEGER
         END;
STATFILE=FILE OF CPSTAT;
AR      =ARRAY (0..0) OF INTEGER;
VAR               
FORCED  :^PARMARRAY;
CPSTATUS:STATFILE;
FUSK    :AR;
CPPCB   :PCB;
BESKED  :MESSAGE;
FNAVN   :STRING(20);
I,
MLÆNGDE,         
MSTATUS :INTEGER;
SEMAFOR :NAME;
PROCEDURE SENDM(RECEIVER:PCB;VAR CONTENTS:MESSAGE;
                LENGTH:INTEGER;VAR STATUS:INTEGER);EXTERNAL;
PROCEDURE RECEIV(VAR SENDER:PCB;VAR CONTENTS:MESSAGE;
                 VAR LENGTH:INTEGER);EXTERNAL;
PROCEDURE RESERV(RESOURCE:NAME;EXCLUSIVE,WAIT:BOOLEAN;
                 VAR STATUS:INTEGER);EXTERNAL;
PROCEDURE RELEAS(RESOURCE:NAME;VAR STATUS:INTEGER);EXTERNAL;
PROCEDURE IOC;
VAR     CH:STRING(1);
        IOR:INTEGER;
BEGIN
  IOR:=IORESULT;
  IF IOR<>0 THEN                            
  BEGIN                                     
    CLEARSCREEN;                            
    GOTOXY(1,10);                           
    WRITELN('Pladefejl ',IOR:5,' RETURN');  
    CH:=' ';                                
    EDIT(CH);                               
    IF CH<>'R' THEN EXIT(START)             
  END                                       
END;
 
BEGIN
  SEMAFOR:='CHECCPSTAT';
  (*$XT*) WRITELN('RESERV ',SEMAFOR); (*$X-*)
  RESERV(SEMAFOR,TRUE,TRUE,MSTATUS);
  IF MSTATUS<>0 THEN BEGIN WRITELN('1:',MSTATUS:5);READLN END;
  FNAVN:='CPSTATUS:P1:1:S';
  REWRITE(CPSTATUS,FNAVN);IOC;
  SEEK(CPSTATUS,1);IOC;
  GET(CPSTATUS);IOC;
  IF (CPSTATUS^.CPPCB=0) OR (FORCED^(1)='1') THEN
  BEGIN
    FNAVN:='CP       1';
    FNAVN(9):=CHR(16*3+1);
                   (*^BANKNR 1..4*)
    (*$XT*) WRITELN('CHAIN CP'); (*$X-*)
    CHAIN(FNAVN,' ',CPPCB);IOC;
    (*$R-*) CPSTATUS^.CPPCB:=FUSK(1); (*$R+*)
    SEEK(CPSTATUS,1);IOC;
    PUT(CPSTATUS);IOC 
  END 
  ELSE (*$R-*) FUSK(1):=CPSTATUS^.CPPCB;(*$R+*)
  CLOSE(CPSTATUS);
  BESKED.KOMMANDO:=UTILMELD;
  (*$XT*) WRITELN('SENDM UTILMELD'); (*$X-*)
  SENDM(CPPCB,BESKED,4,MSTATUS);
  IF MSTATUS<>0 THEN BEGIN WRITELN('2:',MSTATUS:5);READLN END;
  (*$XT*) WRITELN('RECEIV'); (*$X-*)
  RECEIV(CPPCB,BESKED,MLÆNGDE);
  (*$XT*) WRITELN('RELEAS'); (*$X-*)
  RELEAS(SEMAFOR,MSTATUS);
  IF MSTATUS<>0 THEN BEGIN WRITELN('3:',MSTATUS:5);READLN END;
  IF BESKED.INFO<>0 THEN
  BEGIN
    WRITELN('TILMELDING AFVIST, RETURN ',BESKED.INFO);
    READLN
  END
  ELSE
  BEGIN
    FNAVN:='023456+';    
    IF (FORCED^(1)='Æ') AND (FORCED^(2) IN (.'0'..'8'.)) THEN
       FNAVN(1):=FORCED^(2);
          (*^NIVEAU*)
    (*$R-*)
    IF FUSK(1)<0 THEN
    BEGIN
      FUSK(1):=-FUSK(1);
      FNAVN(7):='-' 
    END;
    FOR I:=2 TO 6 DO 
    BEGIN (*CP'S PCB*)
      FNAVN(I):=CHR(FUSK(1) MOD 10 +48);        
      FUSK(1):=FUSK(1) DIV 10
    END;
    (*$R+*)
    (*$XT*) WRITELN('CHAIN HOVED'); (*$X-*)
    CHAIN('HOVED   *1',FNAVN,CPPCB);IOC
  END;
  (*$XT*) WRITELN('START STOPPER') (*$X-*)
END.

Mikados K File

0x0000…0010 Line {l1=0x0e, l2=»PROGRAM START;«, l3=0x0e}
0x0010…0016 Line {l1=0x04, l2=»TYPE«, l3=0x04}
0x0016…003f Line {l1=0x27, l2=»PARMARRAY=PACKED ARRAY (1..39) OF CHAR;«, l3=0x27}
0x003f…0055 Line {l1=0x14, l2=»NAME    =STRING(10);«, l3=0x14}
0x0055…0069 Line {l1=0x12, l2=»PCB     =^INTEGER;«, l3=0x12}
0x0069…00b2 Line {l1=0x47, l2=»MESSAGETYPE=(ÅBEN,LUK,LÆSPOST,LÆSPOSTX,NÆSTE,NÆSTEX,SLET,SLETX,GEMPOST,«, l3=0x47}
0x00b2…0102 Line {l1=0x4e, l2=»             INDSÆT,INITIER,UTILMELD,UAFMELD,PTILMELD,PAFMELD,STOPSYS,        «, l3=0x4e}
0x0102…014c Line {l1=0x48, l2=»             RETURNHEAD,RETURNSTAT);                                    «, l3=0x48}
0x014c…015d Line {l1=0x0f, l2=»MESSAGE =RECORD«, l3=0x0f}
0x015d…017f Line {l1=0x20, l2=»           KOMMANDO:MESSAGETYPE;«, l3=0x20}
0x017f…0199 Line {l1=0x18, l2=»           INFO:INTEGER «, l3=0x18}
0x0199…01a8 Line {l1=0x0d, l2=»         END;«, l3=0x0d}
0x01a8…01b9 Line {l1=0x0f, l2=»CPSTAT  =RECORD«, l3=0x0f}
0x01b9…01dc Line {l1=0x21, l2=»           CPPCB        :INTEGER;«, l3=0x21}
0x01dc…0210 Line {l1=0x32, l2=»           STATUS       :ARRAY (1..100) OF INTEGER«, l3=0x32}
0x0210…021f Line {l1=0x0d, l2=»         END;«, l3=0x0d}
0x021f…0239 Line {l1=0x18, l2=»STATFILE=FILE OF CPSTAT;«, l3=0x18}
0x0239…025c Line {l1=0x21, l2=»AR      =ARRAY (0..0) OF INTEGER;«, l3=0x21}
0x025c…0270 Line {l1=0x12, l2=»VAR               «, l3=0x12}
0x0270…0286 Line {l1=0x14, l2=»FORCED  :^PARMARRAY;«, l3=0x14}
0x0286…029a Line {l1=0x12, l2=»CPSTATUS:STATFILE;«, l3=0x12}
0x029a…02a8 Line {l1=0x0c, l2=»FUSK    :AR;«, l3=0x0c}
0x02a8…02b7 Line {l1=0x0d, l2=»CPPCB   :PCB;«, l3=0x0d}
0x02b7…02ca Line {l1=0x11, l2=»BESKED  :MESSAGE;«, l3=0x11}
0x02ca…02e0 Line {l1=0x14, l2=»FNAVN   :STRING(20);«, l3=0x14}
0x02e0…02e4 Line {l1=0x02, l2=»I,«, l3=0x02}
0x02e4…02f7 Line {l1=0x11, l2=»MLÆNGDE,         «, l3=0x11}
0x02f7…030a Line {l1=0x11, l2=»MSTATUS :INTEGER;«, l3=0x11}
0x030a…031a Line {l1=0x0e, l2=»SEMAFOR :NAME;«, l3=0x0e}
0x031a…034e Line {l1=0x32, l2=»PROCEDURE SENDM(RECEIVER:PCB;VAR CONTENTS:MESSAGE;«, l3=0x32}
0x034e…038c Line {l1=0x3c, l2=»                LENGTH:INTEGER;VAR STATUS:INTEGER);EXTERNAL;«, l3=0x3c}
0x038c…03c3 Line {l1=0x35, l2=»PROCEDURE RECEIV(VAR SENDER:PCB;VAR CONTENTS:MESSAGE;«, l3=0x35}
0x03c3…03f3 Line {l1=0x2e, l2=»                 VAR LENGTH:INTEGER);EXTERNAL;«, l3=0x2e}
0x03f3…042b Line {l1=0x36, l2=»PROCEDURE RESERV(RESOURCE:NAME;EXCLUSIVE,WAIT:BOOLEAN;«, l3=0x36}
0x042b…045b Line {l1=0x2e, l2=»                 VAR STATUS:INTEGER);EXTERNAL;«, l3=0x2e}
0x045b…0499 Line {l1=0x3c, l2=»PROCEDURE RELEAS(RESOURCE:NAME;VAR STATUS:INTEGER);EXTERNAL;«, l3=0x3c}
0x0499…04a9 Line {l1=0x0e, l2=»PROCEDURE IOC;«, l3=0x0e}
0x04a9…04c0 Line {l1=0x15, l2=»VAR     CH:STRING(1);«, l3=0x15}
0x04c0…04d6 Line {l1=0x14, l2=»        IOR:INTEGER;«, l3=0x14}
0x04d6…04dd Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x04dd…04ef Line {l1=0x10, l2=»  IOR:=IORESULT;«, l3=0x10}
0x04ef…051d Line {l1=0x2c, l2=»  IF IOR<>0 THEN                            «, l3=0x2c}
0x051d…054b Line {l1=0x2c, l2=»  BEGIN                                     «, l3=0x2c}
0x054b…0579 Line {l1=0x2c, l2=»    CLEARSCREEN;                            «, l3=0x2c}
0x0579…05a7 Line {l1=0x2c, l2=»    GOTOXY(1,10);                           «, l3=0x2c}
0x05a7…05d5 Line {l1=0x2c, l2=»    WRITELN('Pladefejl ',IOR:5,' RETURN');  «, l3=0x2c}
0x05d5…0603 Line {l1=0x2c, l2=»    CH:=' ';                                «, l3=0x2c}
0x0603…0631 Line {l1=0x2c, l2=»    EDIT(CH);                               «, l3=0x2c}
0x0631…065f Line {l1=0x2c, l2=»    IF CH<>'R' THEN EXIT(START)             «, l3=0x2c}
0x065f…068d Line {l1=0x2c, l2=»  END                                       «, l3=0x2c}
0x068d…0693 Line {l1=0x04, l2=»END;«, l3=0x04}
0x0693…0696 Line {l1=0x01, l2=» «, l3=0x01}
0x0696…069d Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x069d…06b7 Line {l1=0x18, l2=»  SEMAFOR:='CHECCPSTAT';«, l3=0x18}
0x06b7…06e6 Line {l1=0x2d, l2=»  (*$XT*) WRITELN('RESERV ',SEMAFOR); (*$X-*)«, l3=0x2d}
0x06e6…070c Line {l1=0x24, l2=»  RESERV(SEMAFOR,TRUE,TRUE,MSTATUS);«, l3=0x24}
0x070c…074c Line {l1=0x3e, l2=»  IF MSTATUS<>0 THEN BEGIN WRITELN('1:',MSTATUS:5);READLN END;«, l3=0x3e}
0x074c…0769 Line {l1=0x1b, l2=»  FNAVN:='CPSTATUS:P1:1:S';«, l3=0x1b}
0x0769…0789 Line {l1=0x1e, l2=»  REWRITE(CPSTATUS,FNAVN);IOC;«, l3=0x1e}
0x0789…07a2 Line {l1=0x17, l2=»  SEEK(CPSTATUS,1);IOC;«, l3=0x17}
0x07a2…07b8 Line {l1=0x14, l2=»  GET(CPSTATUS);IOC;«, l3=0x14}
0x07b8…07eb Line {l1=0x31, l2=»  IF (CPSTATUS^.CPPCB=0) OR (FORCED^(1)='1') THEN«, l3=0x31}
0x07eb…07f4 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x07f4…080e Line {l1=0x18, l2=»    FNAVN:='CP       1';«, l3=0x18}
0x080e…082a Line {l1=0x1a, l2=»    FNAVN(9):=CHR(16*3+1);«, l3=0x1a}
0x082a…084f Line {l1=0x23, l2=»                   (*^BANKNR 1..4*)«, l3=0x23}
0x084f…0879 Line {l1=0x28, l2=»    (*$XT*) WRITELN('CHAIN CP'); (*$X-*)«, l3=0x28}
0x0879…089a Line {l1=0x1f, l2=»    CHAIN(FNAVN,' ',CPPCB);IOC;«, l3=0x1f}
0x089a…08c9 Line {l1=0x2d, l2=»    (*$R-*) CPSTATUS^.CPPCB:=FUSK(1); (*$R+*)«, l3=0x2d}
0x08c9…08e4 Line {l1=0x19, l2=»    SEEK(CPSTATUS,1);IOC;«, l3=0x19}
0x08e4…08fc Line {l1=0x16, l2=»    PUT(CPSTATUS);IOC «, l3=0x16}
0x08fc…0904 Line {l1=0x06, l2=»  END «, l3=0x06}
0x0904…0935 Line {l1=0x2f, l2=»  ELSE (*$R-*) FUSK(1):=CPSTATUS^.CPPCB;(*$R+*)«, l3=0x2f}
0x0935…0949 Line {l1=0x12, l2=»  CLOSE(CPSTATUS);«, l3=0x12}
0x0949…0967 Line {l1=0x1c, l2=»  BESKED.KOMMANDO:=UTILMELD;«, l3=0x1c}
0x0967…0995 Line {l1=0x2c, l2=»  (*$XT*) WRITELN('SENDM UTILMELD'); (*$X-*)«, l3=0x2c}
0x0995…09b7 Line {l1=0x20, l2=»  SENDM(CPPCB,BESKED,4,MSTATUS);«, l3=0x20}
0x09b7…09f7 Line {l1=0x3e, l2=»  IF MSTATUS<>0 THEN BEGIN WRITELN('2:',MSTATUS:5);READLN END;«, l3=0x3e}
0x09f7…0a1d Line {l1=0x24, l2=»  (*$XT*) WRITELN('RECEIV'); (*$X-*)«, l3=0x24}
0x0a1d…0a3e Line {l1=0x1f, l2=»  RECEIV(CPPCB,BESKED,MLÆNGDE);«, l3=0x1f}
0x0a3e…0a64 Line {l1=0x24, l2=»  (*$XT*) WRITELN('RELEAS'); (*$X-*)«, l3=0x24}
0x0a64…0a80 Line {l1=0x1a, l2=»  RELEAS(SEMAFOR,MSTATUS);«, l3=0x1a}
0x0a80…0ac0 Line {l1=0x3e, l2=»  IF MSTATUS<>0 THEN BEGIN WRITELN('3:',MSTATUS:5);READLN END;«, l3=0x3e}
0x0ac0…0ada Line {l1=0x18, l2=»  IF BESKED.INFO<>0 THEN«, l3=0x18}
0x0ada…0ae3 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x0ae3…0b1b Line {l1=0x36, l2=»    WRITELN('TILMELDING AFVIST, RETURN ',BESKED.INFO);«, l3=0x36}
0x0b1b…0b27 Line {l1=0x0a, l2=»    READLN«, l3=0x0a}
0x0b27…0b2e Line {l1=0x05, l2=»  END«, l3=0x05}
0x0b2e…0b36 Line {l1=0x06, l2=»  ELSE«, l3=0x06}
0x0b36…0b3f Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x0b3f…0b5a Line {l1=0x19, l2=»    FNAVN:='023456+';    «, l3=0x19}
0x0b5a…0b99 Line {l1=0x3d, l2=»    IF (FORCED^(1)='Æ') AND (FORCED^(2) IN (.'0'..'8'.)) THEN«, l3=0x3d}
0x0b99…0bb7 Line {l1=0x1c, l2=»       FNAVN(1):=FORCED^(2);«, l3=0x1c}
0x0bb7…0bce Line {l1=0x15, l2=»          (*^NIVEAU*)«, l3=0x15}
0x0bce…0bdb Line {l1=0x0b, l2=»    (*$R-*)«, l3=0x0b}
0x0bdb…0bf2 Line {l1=0x15, l2=»    IF FUSK(1)<0 THEN«, l3=0x15}
0x0bf2…0bfd Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x0bfd…0c17 Line {l1=0x18, l2=»      FUSK(1):=-FUSK(1);«, l3=0x18}
0x0c17…0c2d Line {l1=0x14, l2=»      FNAVN(7):='-' «, l3=0x14}
0x0c2d…0c37 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x0c37…0c4e Line {l1=0x15, l2=»    FOR I:=2 TO 6 DO «, l3=0x15}
0x0c4e…0c66 Line {l1=0x16, l2=»    BEGIN (*CP'S PCB*)«, l3=0x16}
0x0c66…0c98 Line {l1=0x30, l2=»      FNAVN(I):=CHR(FUSK(1) MOD 10 +48);        «, l3=0x30}
0x0c98…0cb7 Line {l1=0x1d, l2=»      FUSK(1):=FUSK(1) DIV 10«, l3=0x1d}
0x0cb7…0cc1 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x0cc1…0cce Line {l1=0x0b, l2=»    (*$R+*)«, l3=0x0b}
0x0cce…0cfb Line {l1=0x2b, l2=»    (*$XT*) WRITELN('CHAIN HOVED'); (*$X-*)«, l3=0x2b}
0x0cfb…0d24 Line {l1=0x27, l2=»    CHAIN('HOVED   *1',FNAVN,CPPCB);IOC«, l3=0x27}
0x0d24…0d2c Line {l1=0x06, l2=»  END;«, l3=0x06}
0x0d2c…0d58 Line {l1=0x2a, l2=»  (*$XT*) WRITELN('START STOPPER') (*$X-*)«, l3=0x2a}
0x0d58…0d5e Line {l1=0x04, l2=»END.«, l3=0x04}
0x0d5e…0d60 00 00                                                                                             ┆  ┆
0x0d60…0d80 52 27 29 20 28 2a 24 58 2d 2a 29 2a 04 45 4e 44 2e 04 00 00 63 63 63 63 63 63 63 63 63 63 63 63   ┆R') (*$X-*)* END.   cccccccccccc┆
0x0d80…0da0 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63   ┆cccccccccccccccccccccccccccccccc┆
            […0x1…]
0x0dc0…0de0 14 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63   ┆ ccccccccccccccccccccccccccccccc┆
0x0de0…0e00 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63   ┆cccccccccccccccccccccccccccccccc┆
            […0x6…]
0x0ec0…0ee0 14 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63   ┆ ccccccccccccccccccccccccccccccc┆
0x0ee0…0f00 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63   ┆cccccccccccccccccccccccccccccccc┆
            […0x6…]
0x0fc0…0fe0 24 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63   ┆$ccccccccccccccccccccccccccccccc┆
0x0fe0…1000 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63   ┆cccccccccccccccccccccccccccccccc┆
            […0x6…]
0x10c0…10e0 24 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63   ┆$ccccccccccccccccccccccccccccccc┆
0x10e0…1100 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63   ┆cccccccccccccccccccccccccccccccc┆
            […0x6…]
0x11c0…11e0 24 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63   ┆$ccccccccccccccccccccccccccccccc┆
0x11e0…1200 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63   ┆cccccccccccccccccccccccccccccccc┆
            […0x6…]
0x12c0…12e0 24 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63   ┆$ccccccccccccccccccccccccccccccc┆
0x12e0…1300 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63   ┆cccccccccccccccccccccccccccccccc┆
            […0x4…]
0x1380…13a0 e4 00 00 00 ff 00 ff 00 e5 00 00 00 ff 00 ff 00 e6 00 00 00 ff 00 ff 00 e7 00 00 00 ff 00 ff 00   ┆                                ┆
0x13a0…13c0 e8 00 00 00 ff 00 ff 00 e9 00 00 00 ff 00 ff 00 ea 00 00 00 ff 00 ff 00 eb 00 00 00 ff 00 ff 63   ┆                               c┆

Reduced view