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

⟦cc891bffc⟧ TextFile

    Length: 1920 (0x780)
    Types: TextFile
    Notes: Mikados_K
    Names: »HAHA.K«

Derivation

└─⟦eb89399bc⟧ Bits:30008990 SOM ISFORIG, MEN KUN K-FILER
    └─⟦this⟧ »HAHA.K« 

Mikados K File

PROGRAM HAHA;
TYPE PCB=^INTEGER;
     AR=ARRAY (0..0) OF INTEGER;
     MESSAGE=ARRAY (1..3) OF INTEGER;
     ALLOPTR=^AR;
     PARMARRAY=PACKED ARRAY (1..40) OF CHAR;
VAR PARM:^PARMARRAY;
    ISF:AR;
    I:PCB;
    TRANS:ALLOPTR;
    STAT,LÆNGDE:INTEGER;
    POST:MESSAGE;
(*$R-*)
PROCEDURE SENDM(RECIEVER:PCB;VAR CONTENTS:MESSAGE;LENGTH:INTEGER;
                VAR STATUS:INTEGER);
EXTERNAL;
PROCEDURE RECEIV(VAR SENDER:PCB;VAR CONTENTS:MESSAGE;VAR LENGTH:INTEGER);
EXTERNAL;
PROCEDURE ALLOCA(VAR ADDRESS:ALLOPTR;
                     LENGTH:INTEGER;
                 VAR STATUS:INTEGER);
EXTERNAL;
PROCEDURE DEALLO(ADDRESS:ALLOPTR;
                 VAR STATUS:INTEGER);
EXTERNAL;
PROCEDURE WASTE;
BEGIN
  WRITELN('SEND 1, MODTAG 2');
  READLN;READ(STAT);
  CASE STAT OF
1:BEGIN
  LÆNGDE:=6;
 REPEAT
  READLN;READ(POST(3));
  ALLOCA(TRANS,POST(3),STAT);
  WRITELN('ALLOCA STAT ',STAT:5);
 UNTIL STAT=0;
  FOR STAT:=0 TO POST(3) DIV 2 -1 DO TRANS^(STAT):=POST(3) DIV 2 - STAT;
  POST(2):=ISF(2);
  SENDM(I,POST,LÆNGDE,STAT);
  WRITELN('UP SENDT STAT ',STAT:8);
  END;
2:BEGIN
  RECEIV(I,POST,LÆNGDE);
  WRITELN('UP MODTAGET ',POST(1):5,POST(2):5,POST(3):5,STAT:5);
  ISF(2):=POST(2);
  FOR STAT:=0 TO POST(3) DIV 2 -1 DO WRITELN(TRANS^(STAT):5);
  DEALLO(TRANS,STAT);
  WRITELN('DEALLO STAT ',STAT:5)
  END
  END;
END;
BEGIN
  ISF(1):=0;
  STAT:=1;
  FOR LÆNGDE:=1 TO 5 DO
  BEGIN
    ISF(1):=ISF(1)+STAT*(ORD(PARM^(LÆNGDE))-48);
    IF LÆNGDE<5 THEN STAT:=STAT*10
  END;
  REPEAT
    WASTE;
  UNTIL POST(1)=499;
END.

TextFile

\rPROGRAM HAHA;\r▶12◀TYPE PCB=^INTEGER;▶12◀      AR=ARRAY (0..0) OF INTEGER; %     MESSAGE=ARRAY (1..3) OF INTEGER;%▶11◀     ALLOPTR=^AR;▶11◀,     PARMARRAY=PACKED ARRAY (1..40) OF CHAR;,▶14◀VAR PARM:^PARMARRAY;▶14◀▶0b◀    ISF:AR;▶0b◀
    I:PCB;
▶12◀    TRANS:ALLOPTR;▶12◀▶18◀    STAT,LÆNGDE:INTEGER;▶18◀▶11◀    POST:MESSAGE;▶11◀▶07◀(*$R-*)▶07◀APROCEDURE SENDM(RECIEVER:PCB;VAR CONTENTS:MESSAGE;LENGTH:INTEGER;A$                VAR STATUS:INTEGER);$	EXTERNAL;	IPROCEDURE RECEIV(VAR SENDER:PCB;VAR CONTENTS:MESSAGE;VAR LENGTH:INTEGER);I	EXTERNAL;	%PROCEDURE ALLOCA(VAR ADDRESS:ALLOPTR;%$                     LENGTH:INTEGER;$%                 VAR STATUS:INTEGER);%	EXTERNAL;	!PROCEDURE DEALLO(ADDRESS:ALLOPTR;!%                 VAR STATUS:INTEGER);%	EXTERNAL;	▶10◀PROCEDURE WASTE;▶10◀▶05◀BEGIN▶05◀▶1e◀  WRITELN('SEND 1, MODTAG 2');▶1e◀▶14◀  READLN;READ(STAT);▶14◀▶0e◀  CASE STAT OF▶0e◀▶07◀1:BEGIN▶07◀\f

  LÆNGDE:=6;\f

▶07◀ REPEAT▶07◀▶17◀  READLN;READ(POST(3));▶17◀▶1d◀  ALLOCA(TRANS,POST(3),STAT);▶1d◀!  WRITELN('ALLOCA STAT ',STAT:5);!▶0e◀ UNTIL STAT=0;▶0e◀H  FOR STAT:=0 TO POST(3) DIV 2 -1 DO TRANS^(STAT):=POST(3) DIV 2 - STAT;H▶12◀  POST(2):=ISF(2);▶12◀▶1c◀  SENDM(I,POST,LÆNGDE,STAT);▶1c◀#  WRITELN('UP SENDT STAT ',STAT:8);#▶06◀  END;▶06◀▶07◀2:BEGIN▶07◀▶18◀  RECEIV(I,POST,LÆNGDE);▶18◀?  WRITELN('UP MODTAGET ',POST(1):5,POST(2):5,POST(3):5,STAT:5);?▶12◀  ISF(2):=POST(2);▶12◀=  FOR STAT:=0 TO POST(3) DIV 2 -1 DO WRITELN(TRANS^(STAT):5);=▶15◀  DEALLO(TRANS,STAT);▶15◀   WRITELN('DEALLO STAT ',STAT:5) ▶05◀  END▶05◀▶06◀  END;▶06◀▶04◀END;▶04◀▶05◀BEGIN▶05◀\f

  ISF(1):=0;\f


  STAT:=1;
▶17◀  FOR LÆNGDE:=1 TO 5 DO▶17◀▶07◀  BEGIN▶07◀0    ISF(1):=ISF(1)+STAT*(ORD(PARM^(LÆNGDE))-48);0"    IF LÆNGDE<5 THEN STAT:=STAT*10"▶06◀  END;▶06◀▶08◀  REPEAT▶08◀
    WASTE;
▶14◀  UNTIL POST(1)=499;▶14◀▶04◀END.▶04◀▶00◀▶00◀CKED ARRAY (1..40) OF CHAR;,▶14◀VAR PARM:^PARMARRAY;▶14◀▶0b◀    ISF:AR;▶0b◀
    I:PCB;
▶12◀   ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc▶00◀

Full view