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

⟦616cef67d⟧ TextFile

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

Derivation

└─⟦5630b2e42⟧ Bits:30009005 START APRIL 1985 aft april 1985 (PASCAL kildetekster)
    └─⟦this⟧ »CPLISTE.K« 

Mikados K File

PROGRAM MCPLISTE;
(*SKELET TIL ALM. PROGRAMMER, DER BRUGER ISF-SYSTEMET*)
CONST
      MAXRECSIZE=1000;
(*@@*)
      PROGRAMNR=3;
TYPE
PARMARRAY=PACKED ARRAY (1..39) OF CHAR;
NIVEAU=(MENIG,SERGENT,LØJTNANT,KAPTAJN,MAJOR,OBERST,GENERAL,HSM,UMULIUS);
POSTADR=0..MAXRECSIZE;
COMMBUF =ARRAY (POSTADR) OF INTEGER;(*commbuf(0)=filnr,resten er posten*)
POINTREC=^COMMBUF;
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,IREC:INTEGER 
         END;
AR=ARRAY (-4..-4) OF INTEGER;
ARAR=PACKED ARRAY(-11..-10) OF CHAR;
RAR=ARRAY (0..0) OF REAL;
VAR    PARM:^PARMARRAY;
       USERNIVEAU:NIVEAU;
       F:STRING(18);
       IER,MODE,IREC,STATUSER,REMUSERS,
       I:INTEGER;
       FNAVN:STRING(18);
       SEMAFOR:NAME;
       FILEINIT:BOOLEAN;
       SNYD:AR;
       CPPCB:PCB;
       COMREC:POINTREC;
       BESKED:MESSAGE;
(*$P*)
PROCEDURE BAD(IDENT,STATUS:INTEGER);
BEGIN
  GOTOXY(1,23);
  WRITE('BAD',IDENT:5,STATUS:5);
  READLN
END;
PROCEDURE ALLOCA(VAR ADDRESS:POINTREC;LENGTH:INTEGER;
                 VAR STATUS:INTEGER);
EXTERNAL;
PROCEDURE DEALLO(ADDRESS:POINTREC;VAR STATUS:INTEGER);
EXTERNAL;
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;
(*$IUDFØR*)
(*$P*)
BEGIN
  SEMAFOR:='ALLOCOMBUF';
(*@@KUN NØDVENDIGT, HVIS USERNIVEAU SKAL BRUGES
  I:=ORD(PARM^(1))-48;
  USERNIVEAU:=MENIG;
  WHILE I>0 DO
  BEGIN
    USERNIVEAU:=SUCC(USERNIVEAU);
    I:=I-1
  END;*)                                                              (*$R-*)
  SNYD(-3):=0;
  FOR I:=6 DOWNTO 2 DO SNYD(-3):=10*SNYD(-3)+ORD(PARM^(I))-48;
  IF PARM^(7)='-' THEN SNYD(-3):=-SNYD(-3);                           (*$R+*)
  UDFØR(PTILMELD,SNYD);
  UDFØRT(PTILMELD,SNYD);
  IF IER<>0 THEN BAD(1,IER);
  CLEARSCREEN;
  WRITE('Ikke-implementeret facilitet, RETURN ');
  READLN;
  UDFØR(PAFMELD,SNYD);
  UDFØRT(PAFMELD,SNYD);
  IF IER<>0 THEN BAD(2,IER);
  FNAVN:='       ';
  FOR I:=1 TO 7 DO FNAVN(I):=PARM^(I);
  CHAIN('HOVED   *1',FNAVN,CPPCB);
  IF IORESULT<>0 THEN WRITELN('IORESULT ',IORESULT)
END.

Mikados K File

0x0000…0013 Line {l1=0x11, l2=»PROGRAM MCPLISTE;«, l3=0x11}
0x0013…004c Line {l1=0x37, l2=»(*SKELET TIL ALM. PROGRAMMER, DER BRUGER ISF-SYSTEMET*)«, l3=0x37}
0x004c…0053 Line {l1=0x05, l2=»CONST«, l3=0x05}
0x0053…006b Line {l1=0x16, l2=»      MAXRECSIZE=1000;«, l3=0x16}
0x006b…0073 Line {l1=0x06, l2=»(*@@*)«, l3=0x06}
0x0073…0087 Line {l1=0x12, l2=»      PROGRAMNR=3;«, l3=0x12}
0x0087…008d Line {l1=0x04, l2=»TYPE«, l3=0x04}
0x008d…00b6 Line {l1=0x27, l2=»PARMARRAY=PACKED ARRAY (1..39) OF CHAR;«, l3=0x27}
0x00b6…0101 Line {l1=0x49, l2=»NIVEAU=(MENIG,SERGENT,LØJTNANT,KAPTAJN,MAJOR,OBERST,GENERAL,HSM,UMULIUS);«, l3=0x49}
0x0101…0119 Line {l1=0x16, l2=»POSTADR=0..MAXRECSIZE;«, l3=0x16}
0x0119…0164 Line {l1=0x49, l2=»COMMBUF =ARRAY (POSTADR) OF INTEGER;(*commbuf(0)=filnr,resten er posten*)«, l3=0x49}
0x0164…0178 Line {l1=0x12, l2=»POINTREC=^COMMBUF;«, l3=0x12}
0x0178…018e Line {l1=0x14, l2=»NAME    =STRING(10);«, l3=0x14}
0x018e…01a2 Line {l1=0x12, l2=»PCB     =^INTEGER;«, l3=0x12}
0x01a2…01eb Line {l1=0x47, l2=»MESSAGETYPE=(ÅBEN,LUK,LÆSPOST,LÆSPOSTX,NÆSTE,NÆSTEX,SLET,SLETX,GEMPOST,«, l3=0x47}
0x01eb…023b Line {l1=0x4e, l2=»             INDSÆT,INITIER,UTILMELD,UAFMELD,PTILMELD,PAFMELD,STOPSYS,        «, l3=0x4e}
0x023b…0285 Line {l1=0x48, l2=»             RETURNHEAD,RETURNSTAT);                                    «, l3=0x48}
0x0285…0296 Line {l1=0x0f, l2=»MESSAGE =RECORD«, l3=0x0f}
0x0296…02b8 Line {l1=0x20, l2=»           KOMMANDO:MESSAGETYPE;«, l3=0x20}
0x02b8…02d7 Line {l1=0x1d, l2=»           INFO,IREC:INTEGER «, l3=0x1d}
0x02d7…02e6 Line {l1=0x0d, l2=»         END;«, l3=0x0d}
0x02e6…0305 Line {l1=0x1d, l2=»AR=ARRAY (-4..-4) OF INTEGER;«, l3=0x1d}
0x0305…032b Line {l1=0x24, l2=»ARAR=PACKED ARRAY(-11..-10) OF CHAR;«, l3=0x24}
0x032b…0346 Line {l1=0x19, l2=»RAR=ARRAY (0..0) OF REAL;«, l3=0x19}
0x0346…035f Line {l1=0x17, l2=»VAR    PARM:^PARMARRAY;«, l3=0x17}
0x035f…037a Line {l1=0x19, l2=»       USERNIVEAU:NIVEAU;«, l3=0x19}
0x037a…0390 Line {l1=0x14, l2=»       F:STRING(18);«, l3=0x14}
0x0390…03b9 Line {l1=0x27, l2=»       IER,MODE,IREC,STATUSER,REMUSERS,«, l3=0x27}
0x03b9…03cc Line {l1=0x11, l2=»       I:INTEGER;«, l3=0x11}
0x03cc…03e6 Line {l1=0x18, l2=»       FNAVN:STRING(18);«, l3=0x18}
0x03e6…03fc Line {l1=0x14, l2=»       SEMAFOR:NAME;«, l3=0x14}
0x03fc…0416 Line {l1=0x18, l2=»       FILEINIT:BOOLEAN;«, l3=0x18}
0x0416…0427 Line {l1=0x0f, l2=»       SNYD:AR;«, l3=0x0f}
0x0427…043a Line {l1=0x11, l2=»       CPPCB:PCB;«, l3=0x11}
0x043a…0453 Line {l1=0x17, l2=»       COMREC:POINTREC;«, l3=0x17}
0x0453…046b Line {l1=0x16, l2=»       BESKED:MESSAGE;«, l3=0x16}
0x046b…0473 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x0473…0499 Line {l1=0x24, l2=»PROCEDURE BAD(IDENT,STATUS:INTEGER);«, l3=0x24}
0x0499…04a0 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x04a0…04b1 Line {l1=0x0f, l2=»  GOTOXY(1,23);«, l3=0x0f}
0x04b1…04d3 Line {l1=0x20, l2=»  WRITE('BAD',IDENT:5,STATUS:5);«, l3=0x20}
0x04d3…04dd Line {l1=0x08, l2=»  READLN«, l3=0x08}
0x04dd…04e3 Line {l1=0x04, l2=»END;«, l3=0x04}
0x04e3…051a Line {l1=0x35, l2=»PROCEDURE ALLOCA(VAR ADDRESS:POINTREC;LENGTH:INTEGER;«, l3=0x35}
0x051a…0541 Line {l1=0x25, l2=»                 VAR STATUS:INTEGER);«, l3=0x25}
0x0541…054c Line {l1=0x09, l2=»EXTERNAL;«, l3=0x09}
0x054c…0584 Line {l1=0x36, l2=»PROCEDURE DEALLO(ADDRESS:POINTREC;VAR STATUS:INTEGER);«, l3=0x36}
0x0584…058f Line {l1=0x09, l2=»EXTERNAL;«, l3=0x09}
0x058f…05c3 Line {l1=0x32, l2=»PROCEDURE SENDM(RECEIVER:PCB;VAR CONTENTS:MESSAGE;«, l3=0x32}
0x05c3…05f8 Line {l1=0x33, l2=»                LENGTH:INTEGER;VAR STATUS:INTEGER);«, l3=0x33}
0x05f8…0603 Line {l1=0x09, l2=»EXTERNAL;«, l3=0x09}
0x0603…063a Line {l1=0x35, l2=»PROCEDURE RECEIV(VAR SENDER:PCB;VAR CONTENTS:MESSAGE;«, l3=0x35}
0x063a…0661 Line {l1=0x25, l2=»                 VAR LENGTH:INTEGER);«, l3=0x25}
0x0661…066c Line {l1=0x09, l2=»EXTERNAL;«, l3=0x09}
0x066c…06a4 Line {l1=0x36, l2=»PROCEDURE RESERV(RESOURCE:NAME;EXCLUSIVE,WAIT:BOOLEAN;«, l3=0x36}
0x06a4…06cb Line {l1=0x25, l2=»                 VAR STATUS:INTEGER);«, l3=0x25}
0x06cb…06d6 Line {l1=0x09, l2=»EXTERNAL;«, l3=0x09}
0x06d6…070b Line {l1=0x33, l2=»PROCEDURE RELEAS(RESOURCE:NAME;VAR STATUS:INTEGER);«, l3=0x33}
0x070b…0716 Line {l1=0x09, l2=»EXTERNAL;«, l3=0x09}
0x0716…0723 Line {l1=0x0b, l2=»(*$IUDFØR*)«, l3=0x0b}
0x0723…072b Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x072b…0732 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x0732…074c Line {l1=0x18, l2=»  SEMAFOR:='ALLOCOMBUF';«, l3=0x18}
0x074c…077d Line {l1=0x2f, l2=»(*@@KUN NØDVENDIGT, HVIS USERNIVEAU SKAL BRUGES«, l3=0x2f}
0x077d…0795 Line {l1=0x16, l2=»  I:=ORD(PARM^(1))-48;«, l3=0x16}
0x0795…07ab Line {l1=0x14, l2=»  USERNIVEAU:=MENIG;«, l3=0x14}
0x07ab…07bb Line {l1=0x0e, l2=»  WHILE I>0 DO«, l3=0x0e}
0x07bb…07c4 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x07c4…07e7 Line {l1=0x21, l2=»    USERNIVEAU:=SUCC(USERNIVEAU);«, l3=0x21}
0x07e7…07f3 Line {l1=0x0a, l2=»    I:=I-1«, l3=0x0a}
0x07f3…0842 Line {l1=0x4d, l2=»  END;*)                                                              (*$R-*)«, l3=0x4d}
0x0842…0852 Line {l1=0x0e, l2=»  SNYD(-3):=0;«, l3=0x0e}
0x0852…0892 Line {l1=0x3e, l2=»  FOR I:=6 DOWNTO 2 DO SNYD(-3):=10*SNYD(-3)+ORD(PARM^(I))-48;«, l3=0x3e}
0x0892…08e1 Line {l1=0x4d, l2=»  IF PARM^(7)='-' THEN SNYD(-3):=-SNYD(-3);                           (*$R+*)«, l3=0x4d}
0x08e1…08fa Line {l1=0x17, l2=»  UDFØR(PTILMELD,SNYD);«, l3=0x17}
0x08fa…0914 Line {l1=0x18, l2=»  UDFØRT(PTILMELD,SNYD);«, l3=0x18}
0x0914…0932 Line {l1=0x1c, l2=»  IF IER<>0 THEN BAD(1,IER);«, l3=0x1c}
0x0932…0942 Line {l1=0x0e, l2=»  CLEARSCREEN;«, l3=0x0e}
0x0942…0975 Line {l1=0x31, l2=»  WRITE('Ikke-implementeret facilitet, RETURN ');«, l3=0x31}
0x0975…0980 Line {l1=0x09, l2=»  READLN;«, l3=0x09}
0x0980…0998 Line {l1=0x16, l2=»  UDFØR(PAFMELD,SNYD);«, l3=0x16}
0x0998…09b1 Line {l1=0x17, l2=»  UDFØRT(PAFMELD,SNYD);«, l3=0x17}
0x09b1…09cf Line {l1=0x1c, l2=»  IF IER<>0 THEN BAD(2,IER);«, l3=0x1c}
0x09cf…09e4 Line {l1=0x13, l2=»  FNAVN:='       ';«, l3=0x13}
0x09e4…0a0c Line {l1=0x26, l2=»  FOR I:=1 TO 7 DO FNAVN(I):=PARM^(I);«, l3=0x26}
0x0a0c…0a30 Line {l1=0x22, l2=»  CHAIN('HOVED   *1',FNAVN,CPPCB);«, l3=0x22}
0x0a30…0a65 Line {l1=0x33, l2=»  IF IORESULT<>0 THEN WRITELN('IORESULT ',IORESULT)«, l3=0x33}
0x0a65…0a6b Line {l1=0x04, l2=»END.«, l3=0x04}
0x0a6b…0a80 00 00 27 2c 49 4f 52 45 53 55 4c 54 29 33 04 45 4e 44 2e 04 00                                    ┆  ',IORESULT)3 END.  ┆
0x0a80…0aa0 00 52 41 59 20 28 31 2e 2e 33 39 29 20 4f 46 20 43 48 41 52 3b 27 49 4e 49 56 45 41 55 3d 28 4d   ┆ RAY (1..39) OF CHAR;'INIVEAU=(M┆
0x0aa0…0ac0 45 4e 49 47 2c 53 45 52 47 45 4e 54 2c 4c 5c 4a 54 4e 41 4e 54 2c 4b 41 50 54 41 4a 4e 2c 4d 41   ┆ENIG,SERGENT,LØJTNANT,KAPTAJN,MA┆
0x0ac0…0ae0 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   ┆                                ┆
            […0x46…]
0x13a0…13c0 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 63   ┆                               c┆

Reduced view