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

⟦168acc1c6⟧ TextFile

    Length: 2976 (0xba0)
    Types: TextFile
    Notes: Mikados_K
    Names: »UDFØR.K«

Derivation

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

Mikados K File

(*$P*)
PROCEDURE UDFØR(PROCTYPE:MESSAGETYPE;VAR REC:AR);
VAR I,MSTATUS:INTEGER;
BEGIN
  BESKED.KOMMANDO:=PROCTYPE;
  IF PROCTYPE IN (.LÆSPOST..INDSÆT,RETURNHEAD,RETURNSTAT.) THEN
  BEGIN
    RESERV(SEMAFOR,TRUE,TRUE,MSTATUS);                        
    IF MSTATUS<>0 THEN BEGIN WRITELN('1:',MSTATUS);READLN END;
    REPEAT
      ALLOCA(COMREC,2*(REC(-4)+1),MSTATUS);
     (*$XT*)IF MSTATUS<>0 THEN BEGIN WRITELN('2:',MSTATUS);READLN END;(*$X-*)
    UNTIL MSTATUS=0;
                                                                      (*$R-*)
    BESKED.INFO:=SNYD(-2);(*COMREC'S ADRESSE*)   
                                                                      (*$R+*)
    IF PROCTYPE=RETURNSTAT THEN
      COMREC^(0):=STATUSER
    ELSE
    BEGIN                                                              (*$R-*)
      COMREC^(0):=REC(-3);(*FILNR*)                             
      IF PROCTYPE<>RETURNHEAD THEN  (*EVT. KUN NØGLER*)         
      MOVELEFT(REC(1),COMREC^(1),2*REC(-4));
      (*FOR I:=1 TO REC(-4) DO COMREC^(I):=REC(I)*)                    (*$R+*)
    END
  END 
  ELSE
  IF PROCTYPE IN (.ÅBEN,LUK,INITIER.) THEN
  BEGIN                                                                (*$R-*)
    BESKED.INFO:=REC(-3);                                              (*$R+*)
    IF PROCTYPE=ÅBEN THEN
      BESKED.IREC:=MODE
    ELSE
    IF PROCTYPE=INITIER THEN
      BESKED.IREC:=IREC 
  END
  ELSE 
  IF PROCTYPE=PTILMELD THEN BESKED.INFO:=PROGRAMNR;
  REPEAT
  IF PROCTYPE IN (.ÅBEN,INITIER.) THEN
    SENDM(CPPCB,BESKED,6,MSTATUS)
  ELSE
    SENDM(CPPCB,BESKED,4,MSTATUS);
  IF MSTATUS<>0 THEN BEGIN WRITELN('3:',MSTATUS);READLN END;
  UNTIL MSTATUS=0;
  IF PROCTYPE IN (.LÆSPOST..INDSÆT,RETURNHEAD,RETURNSTAT.) THEN
  BEGIN
    RELEAS(SEMAFOR,MSTATUS);
    IF MSTATUS<>0 THEN BEGIN WRITELN('4:',MSTATUS);READLN END 
  END
END;
(*$P*)
PROCEDURE UDFØRT(PROCTYPE:MESSAGETYPE;VAR REC:AR);
VAR I,MSTATUS:INTEGER;
BEGIN
  (*MODTAG BESKED, CHECK TYPEOVERENSSTEMMELSE OG EVT. FILNR,
    OVERFØR COMREC TIL REC, FRIGIV COMREC*)
  RECEIV(CPPCB,BESKED,I);
  IF BESKED.KOMMANDO<>PROCTYPE THEN
  BEGIN WRITELN('KOMUOV',ORD(PROCTYPE):6,ORD(BESKED.KOMMANDO):6);READLN END;
  IF PROCTYPE IN (.LÆSPOST..INDSÆT,RETURNHEAD,RETURNSTAT.) THEN 
  BEGIN
(*$R-*)
    IF (PROCTYPE<>NÆSTEX) OR (BESKED.INFO<>-31) THEN   (*DIRTY*)
      MOVELEFT(COMREC^(1),REC(1),2*REC(-4));
    (*FOR I:=1 TO REC(-4) DO REC(I):=COMREC^(I);*) 
(*$R+*)
    DEALLO(COMREC,MSTATUS);
    IF MSTATUS<>0 THEN BEGIN WRITELN('5:',MSTATUS);READLN END 
  END;
  IF PROCTYPE=STOPSYS THEN
    REMUSERS:=BESKED.INFO
  ELSE
  BEGIN
    IER:=BESKED.INFO;
    IF PROCTYPE=ÅBEN THEN
    BEGIN
      REC(-4):=BESKED.IREC;(*POSTSTØRRELSE*)
      IF IER=-12 THEN
      BEGIN
        IER:=0;
        FILEINIT:=FALSE
      END ELSE FILEINIT:=TRUE
    END
  END
END;

Mikados K File

0x000…008 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x008…03b Line {l1=0x31, l2=»PROCEDURE UDFØR(PROCTYPE:MESSAGETYPE;VAR REC:AR);«, l3=0x31}
0x03b…053 Line {l1=0x16, l2=»VAR I,MSTATUS:INTEGER;«, l3=0x16}
0x053…05a Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x05a…078 Line {l1=0x1c, l2=»  BESKED.KOMMANDO:=PROCTYPE;«, l3=0x1c}
0x078…0b9 Line {l1=0x3f, l2=»  IF PROCTYPE IN (.LÆSPOST..INDSÆT,RETURNHEAD,RETURNSTAT.) THEN«, l3=0x3f}
0x0b9…0c2 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x0c2…102 Line {l1=0x3e, l2=»    RESERV(SEMAFOR,TRUE,TRUE,MSTATUS);                        «, l3=0x3e}
0x102…142 Line {l1=0x3e, l2=»    IF MSTATUS<>0 THEN BEGIN WRITELN('1:',MSTATUS);READLN END;«, l3=0x3e}
0x142…14e Line {l1=0x0a, l2=»    REPEAT«, l3=0x0a}
0x14e…17b Line {l1=0x2b, l2=»      ALLOCA(COMREC,2*(REC(-4)+1),MSTATUS);«, l3=0x2b}
0x17b…1ca Line {l1=0x4d, l2=»     (*$XT*)IF MSTATUS<>0 THEN BEGIN WRITELN('2:',MSTATUS);READLN END;(*$X-*)«, l3=0x4d}
0x1ca…1e0 Line {l1=0x14, l2=»    UNTIL MSTATUS=0;«, l3=0x14}
0x1e0…22f Line {l1=0x4d, l2=»                                                                      (*$R-*)«, l3=0x4d}
0x22f…262 Line {l1=0x31, l2=»    BESKED.INFO:=SNYD(-2);(*COMREC'S ADRESSE*)   «, l3=0x31}
0x262…2b1 Line {l1=0x4d, l2=»                                                                      (*$R+*)«, l3=0x4d}
0x2b1…2d2 Line {l1=0x1f, l2=»    IF PROCTYPE=RETURNSTAT THEN«, l3=0x1f}
0x2d2…2ee Line {l1=0x1a, l2=»      COMREC^(0):=STATUSER«, l3=0x1a}
0x2ee…2f8 Line {l1=0x08, l2=»    ELSE«, l3=0x08}
0x2f8…348 Line {l1=0x4e, l2=»    BEGIN                                                              (*$R-*)«, l3=0x4e}
0x348…38a Line {l1=0x40, l2=»      COMREC^(0):=REC(-3);(*FILNR*)                             «, l3=0x40}
0x38a…3cc Line {l1=0x40, l2=»      IF PROCTYPE<>RETURNHEAD THEN  (*EVT. KUN NØGLER*)         «, l3=0x40}
0x3cc…3fa Line {l1=0x2c, l2=»      MOVELEFT(REC(1),COMREC^(1),2*REC(-4));«, l3=0x2c}
0x3fa…44a Line {l1=0x4e, l2=»      (*FOR I:=1 TO REC(-4) DO COMREC^(I):=REC(I)*)                    (*$R+*)«, l3=0x4e}
0x44a…453 Line {l1=0x07, l2=»    END«, l3=0x07}
0x453…45b Line {l1=0x06, l2=»  END «, l3=0x06}
0x45b…463 Line {l1=0x06, l2=»  ELSE«, l3=0x06}
0x463…48f Line {l1=0x2a, l2=»  IF PROCTYPE IN (.ÅBEN,LUK,INITIER.) THEN«, l3=0x2a}
0x48f…4df Line {l1=0x4e, l2=»  BEGIN                                                                (*$R-*)«, l3=0x4e}
0x4df…52f Line {l1=0x4e, l2=»    BESKED.INFO:=REC(-3);                                              (*$R+*)«, l3=0x4e}
0x52f…54a Line {l1=0x19, l2=»    IF PROCTYPE=ÅBEN THEN«, l3=0x19}
0x54a…563 Line {l1=0x17, l2=»      BESKED.IREC:=MODE«, l3=0x17}
0x563…56d Line {l1=0x08, l2=»    ELSE«, l3=0x08}
0x56d…58b Line {l1=0x1c, l2=»    IF PROCTYPE=INITIER THEN«, l3=0x1c}
0x58b…5a5 Line {l1=0x18, l2=»      BESKED.IREC:=IREC «, l3=0x18}
0x5a5…5ac Line {l1=0x05, l2=»  END«, l3=0x05}
0x5ac…5b5 Line {l1=0x07, l2=»  ELSE «, l3=0x07}
0x5b5…5ea Line {l1=0x33, l2=»  IF PROCTYPE=PTILMELD THEN BESKED.INFO:=PROGRAMNR;«, l3=0x33}
0x5ea…5f4 Line {l1=0x08, l2=»  REPEAT«, l3=0x08}
0x5f4…61c Line {l1=0x26, l2=»  IF PROCTYPE IN (.ÅBEN,INITIER.) THEN«, l3=0x26}
0x61c…63f Line {l1=0x21, l2=»    SENDM(CPPCB,BESKED,6,MSTATUS)«, l3=0x21}
0x63f…647 Line {l1=0x06, l2=»  ELSE«, l3=0x06}
0x647…66b Line {l1=0x22, l2=»    SENDM(CPPCB,BESKED,4,MSTATUS);«, l3=0x22}
0x66b…6a9 Line {l1=0x3c, l2=»  IF MSTATUS<>0 THEN BEGIN WRITELN('3:',MSTATUS);READLN END;«, l3=0x3c}
0x6a9…6bd Line {l1=0x12, l2=»  UNTIL MSTATUS=0;«, l3=0x12}
0x6bd…6fe Line {l1=0x3f, l2=»  IF PROCTYPE IN (.LÆSPOST..INDSÆT,RETURNHEAD,RETURNSTAT.) THEN«, l3=0x3f}
0x6fe…707 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x707…725 Line {l1=0x1c, l2=»    RELEAS(SEMAFOR,MSTATUS);«, l3=0x1c}
0x725…765 Line {l1=0x3e, l2=»    IF MSTATUS<>0 THEN BEGIN WRITELN('4:',MSTATUS);READLN END «, l3=0x3e}
0x765…76c Line {l1=0x05, l2=»  END«, l3=0x05}
0x76c…772 Line {l1=0x04, l2=»END;«, l3=0x04}
0x772…77a Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x77a…7ae Line {l1=0x32, l2=»PROCEDURE UDFØRT(PROCTYPE:MESSAGETYPE;VAR REC:AR);«, l3=0x32}
0x7ae…7c6 Line {l1=0x16, l2=»VAR I,MSTATUS:INTEGER;«, l3=0x16}
0x7c6…7cd Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x7cd…80b Line {l1=0x3c, l2=»  (*MODTAG BESKED, CHECK TYPEOVERENSSTEMMELSE OG EVT. FILNR,«, l3=0x3c}
0x80b…838 Line {l1=0x2b, l2=»    OVERFØR COMREC TIL REC, FRIGIV COMREC*)«, l3=0x2b}
0x838…853 Line {l1=0x19, l2=»  RECEIV(CPPCB,BESKED,I);«, l3=0x19}
0x853…878 Line {l1=0x23, l2=»  IF BESKED.KOMMANDO<>PROCTYPE THEN«, l3=0x23}
0x878…8c6 Line {l1=0x4c, l2=»  BEGIN WRITELN('KOMUOV',ORD(PROCTYPE):6,ORD(BESKED.KOMMANDO):6);READLN END;«, l3=0x4c}
0x8c6…908 Line {l1=0x40, l2=»  IF PROCTYPE IN (.LÆSPOST..INDSÆT,RETURNHEAD,RETURNSTAT.) THEN «, l3=0x40}
0x908…911 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x911…91a Line {l1=0x07, l2=»(*$R-*)«, l3=0x07}
0x91a…95c Line {l1=0x40, l2=»    IF (PROCTYPE<>NÆSTEX) OR (BESKED.INFO<>-31) THEN   (*DIRTY*)«, l3=0x40}
0x95c…98a Line {l1=0x2c, l2=»      MOVELEFT(COMREC^(1),REC(1),2*REC(-4));«, l3=0x2c}
0x98a…9bf Line {l1=0x33, l2=»    (*FOR I:=1 TO REC(-4) DO REC(I):=COMREC^(I);*) «, l3=0x33}
0x9bf…9c8 Line {l1=0x07, l2=»(*$R+*)«, l3=0x07}
0x9c8…9e5 Line {l1=0x1b, l2=»    DEALLO(COMREC,MSTATUS);«, l3=0x1b}
0x9e5…a25 Line {l1=0x3e, l2=»    IF MSTATUS<>0 THEN BEGIN WRITELN('5:',MSTATUS);READLN END «, l3=0x3e}
0xa25…a2d Line {l1=0x06, l2=»  END;«, l3=0x06}
0xa2d…a49 Line {l1=0x1a, l2=»  IF PROCTYPE=STOPSYS THEN«, l3=0x1a}
0xa49…a64 Line {l1=0x19, l2=»    REMUSERS:=BESKED.INFO«, l3=0x19}
0xa64…a6c Line {l1=0x06, l2=»  ELSE«, l3=0x06}
0xa6c…a75 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0xa75…a8c Line {l1=0x15, l2=»    IER:=BESKED.INFO;«, l3=0x15}
0xa8c…aa7 Line {l1=0x19, l2=»    IF PROCTYPE=ÅBEN THEN«, l3=0x19}
0xaa7…ab2 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0xab2…ae0 Line {l1=0x2c, l2=»      REC(-4):=BESKED.IREC;(*POSTSTØRRELSE*)«, l3=0x2c}
0xae0…af7 Line {l1=0x15, l2=»      IF IER=-12 THEN«, l3=0x15}
0xaf7…b04 Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0xb04…b15 Line {l1=0x0f, l2=»        IER:=0;«, l3=0x0f}
0xb15…b2e Line {l1=0x17, l2=»        FILEINIT:=FALSE«, l3=0x17}
0xb2e…b4d Line {l1=0x1d, l2=»      END ELSE FILEINIT:=TRUE«, l3=0x1d}
0xb4d…b56 Line {l1=0x07, l2=»    END«, l3=0x07}
0xb56…b5d Line {l1=0x05, l2=»  END«, l3=0x05}
0xb5d…b63 Line {l1=0x04, l2=»END;«, l3=0x04}
0xb63…b80 00 00 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            ┆  ccccccccccccccccccccccccccc┆
0xb80…ba0 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┆

TextFile

▶06◀(*$P*)▶06◀1PROCEDURE UDFØR(PROCTYPE:MESSAGETYPE;VAR REC:AR);1▶16◀VAR I,MSTATUS:INTEGER;▶16◀▶05◀BEGIN▶05◀▶1c◀  BESKED.KOMMANDO:=PROCTYPE;▶1c◀?  IF PROCTYPE IN (.LÆSPOST..INDSÆT,RETURNHEAD,RETURNSTAT.) THEN?▶07◀  BEGIN▶07◀>    RESERV(SEMAFOR,TRUE,TRUE,MSTATUS);                        >>    IF MSTATUS<>0 THEN BEGIN WRITELN('1:',MSTATUS);READLN END;>
    REPEAT
+      ALLOCA(COMREC,2*(REC(-4)+1),MSTATUS);+M     (*$XT*)IF MSTATUS<>0 THEN BEGIN WRITELN('2:',MSTATUS);READLN END;(*$X-*)M▶14◀    UNTIL MSTATUS=0;▶14◀M                                                                      (*$R-*)M1    BESKED.INFO:=SNYD(-2);(*COMREC'S ADRESSE*)   1M                                                                      (*$R+*)M▶1f◀    IF PROCTYPE=RETURNSTAT THEN▶1f◀▶1a◀      COMREC^(0):=STATUSER▶1a◀▶08◀    ELSE▶08◀N    BEGIN                                                              (*$R-*)N@      COMREC^(0):=REC(-3);(*FILNR*)                             @@      IF PROCTYPE<>RETURNHEAD THEN  (*EVT. KUN NØGLER*)         @,      MOVELEFT(REC(1),COMREC^(1),2*REC(-4));,N      (*FOR I:=1 TO REC(-4) DO COMREC^(I):=REC(I)*)                    (*$R+*)N▶07◀    END▶07◀▶06◀  END ▶06◀▶06◀  ELSE▶06◀*  IF PROCTYPE IN (.ÅBEN,LUK,INITIER.) THEN*N  BEGIN                                                                (*$R-*)NN    BESKED.INFO:=REC(-3);                                              (*$R+*)N▶19◀    IF PROCTYPE=ÅBEN THEN▶19◀▶17◀      BESKED.IREC:=MODE▶17◀▶08◀    ELSE▶08◀▶1c◀    IF PROCTYPE=INITIER THEN▶1c◀▶18◀      BESKED.IREC:=IREC ▶18◀▶05◀  END▶05◀▶07◀  ELSE ▶07◀3  IF PROCTYPE=PTILMELD THEN BESKED.INFO:=PROGRAMNR;3▶08◀  REPEAT▶08◀&  IF PROCTYPE IN (.ÅBEN,INITIER.) THEN&!    SENDM(CPPCB,BESKED,6,MSTATUS)!▶06◀  ELSE▶06◀"    SENDM(CPPCB,BESKED,4,MSTATUS);"<  IF MSTATUS<>0 THEN BEGIN WRITELN('3:',MSTATUS);READLN END;<▶12◀  UNTIL MSTATUS=0;▶12◀?  IF PROCTYPE IN (.LÆSPOST..INDSÆT,RETURNHEAD,RETURNSTAT.) THEN?▶07◀  BEGIN▶07◀▶1c◀    RELEAS(SEMAFOR,MSTATUS);▶1c◀>    IF MSTATUS<>0 THEN BEGIN WRITELN('4:',MSTATUS);READLN END >▶05◀  END▶05◀▶04◀END;▶04◀▶06◀(*$P*)▶06◀2PROCEDURE UDFØRT(PROCTYPE:MESSAGETYPE;VAR REC:AR);2▶16◀VAR I,MSTATUS:INTEGER;▶16◀▶05◀BEGIN▶05◀<  (*MODTAG BESKED, CHECK TYPEOVERENSSTEMMELSE OG EVT. FILNR,<+    OVERFØR COMREC TIL REC, FRIGIV COMREC*)+▶19◀  RECEIV(CPPCB,BESKED,I);▶19◀#  IF BESKED.KOMMANDO<>PROCTYPE THEN#L  BEGIN WRITELN('KOMUOV',ORD(PROCTYPE):6,ORD(BESKED.KOMMANDO):6);READLN END;L@  IF PROCTYPE IN (.LÆSPOST..INDSÆT,RETURNHEAD,RETURNSTAT.) THEN @▶07◀  BEGIN▶07◀▶07◀(*$R-*)▶07◀@    IF (PROCTYPE<>NÆSTEX) OR (BESKED.INFO<>-31) THEN   (*DIRTY*)@,      MOVELEFT(COMREC^(1),REC(1),2*REC(-4));,3    (*FOR I:=1 TO REC(-4) DO REC(I):=COMREC^(I);*) 3▶07◀(*$R+*)▶07◀▶1b◀    DEALLO(COMREC,MSTATUS);▶1b◀>    IF MSTATUS<>0 THEN BEGIN WRITELN('5:',MSTATUS);READLN END >▶06◀  END;▶06◀▶1a◀  IF PROCTYPE=STOPSYS THEN▶1a◀▶19◀    REMUSERS:=BESKED.INFO▶19◀▶06◀  ELSE▶06◀▶07◀  BEGIN▶07◀▶15◀    IER:=BESKED.INFO;▶15◀▶19◀    IF PROCTYPE=ÅBEN THEN▶19◀	    BEGIN	,      REC(-4):=BESKED.IREC;(*POSTSTØRRELSE*),▶15◀      IF IER=-12 THEN▶15◀▶0b◀      BEGIN▶0b◀▶0f◀        IER:=0;▶0f◀▶17◀        FILEINIT:=FALSE▶17◀▶1d◀      END ELSE FILEINIT:=TRUE▶1d◀▶07◀    END▶07◀▶05◀  END▶05◀▶04◀END;▶04◀▶00◀▶00◀ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc

Reduced view