|
|
DataMuseum.dkPresents historical artifacts from the history of: MIKADOS |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about MIKADOS Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 2496 (0x9c0)
Types: TextFile
Notes: Mikados_K
Names: »CHAINOS.K«
└─⟦eb89399bc⟧ Bits:30008990 SOM ISFORIG, MEN KUN K-FILER
└─⟦this⟧ »CHAINOS.K«
PROGRAM CHAINOS;
TYPE PCB=^INTEGER;
AR=ARRAY (0..0) OF INTEGER;
MESSAGE=ARRAY (1..3) OF INTEGER;
ALLOPTR=^AR;
VAR ISF:AR;
SEND:PCB;
TRANS:ALLOPTR;
POST:MESSAGE;
PROG:STRING(10);
PARM:STRING(15);
STAT,LÆNGDE:INTEGER;
(*$R-*)
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 ALLOCA(VAR ADDRESS:ALLOPTR;
LENGTH:INTEGER;
VAR STATUS:INTEGER);
EXTERNAL;
PROCEDURE DEALLO(ADDRESS:ALLOPTR;
VAR STATUS:INTEGER);
EXTERNAL;
FUNCTION PROBLK:PCB;
EXTERNAL;
PROCEDURE WASTE;
BEGIN
REPEAT
WRITELN('SEND 1, MODTAG 2');
READLN;READ(STAT);
CASE STAT OF
2:BEGIN RECEIV(SEND,POST,LÆNGDE);
WRITELN('CP MODTOG ',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;
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):=STAT;
POST(2):=ISF(2);
SENDM(SEND,POST,LÆNGDE,STAT);
WRITELN('CP SENDT STAT ',STAT:5);
END;
END;
UNTIL POST(1)=499
END;
BEGIN
PROG:='SUBMIT 3';
PROG(9):=CHR(16*2+1);
PARM:='2,HAHA:P1, ';
SEND:=PROBLK;
FOR LÆNGDE:=11 TO 15 DO
BEGIN
PARM(LÆNGDE):=CHR(ISF(1) MOD 10+48);
ISF(1):=ISF(1) DIV 10
END;
CHAIN(PROG,PARM,SEND);
PROG:='SUBMIT 3';
PROG(9):=CHR(16*1+1);
PARM:='1,HAHA:P1, ';
SEND:=PROBLK;
FOR LÆNGDE:=11 TO 15 DO
BEGIN
PARM(LÆNGDE):=CHR(ISF(1) MOD 10+48);
ISF(1):=ISF(1) DIV 10
END;
CHAIN(PROG,PARM,SEND);
WASTE;
END.
▶10◀PROGRAM CHAINOS;▶10◀▶12◀TYPE PCB=^INTEGER;▶12◀ AR=ARRAY (0..0) OF INTEGER; % MESSAGE=ARRAY (1..3) OF INTEGER;%▶11◀ ALLOPTR=^AR;▶11◀▶0b◀VAR ISF:AR;▶0b◀\r SEND:PCB;\r▶12◀ TRANS:ALLOPTR;▶12◀▶11◀ POST:MESSAGE;▶11◀▶14◀ PROG:STRING(10);▶14◀▶14◀ PARM:STRING(15);▶14◀▶18◀ STAT,LÆNGDE:INTEGER;▶18◀▶07◀(*$R-*)▶07◀APROCEDURE SENDM(RECEIVER: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; ▶14◀FUNCTION PROBLK:PCB;▶14◀ EXTERNAL; ▶10◀PROCEDURE WASTE;▶10◀▶05◀BEGIN▶05◀▶08◀ REPEAT▶08◀ WRITELN('SEND 1, MODTAG 2'); ▶16◀ READLN;READ(STAT);▶16◀▶10◀ CASE STAT OF▶10◀% 2:BEGIN RECEIV(SEND,POST,LÆNGDE);%B WRITELN('CP MODTOG ',POST(1):5,POST(2):5,POST(3):5,STAT:5);B▶17◀ ISF(2):=POST(2);▶17◀B FOR STAT:=0 TO POST(3) DIV 2 -1 DO WRITELN(TRANS^(STAT):5);B▶1a◀ DEALLO(TRANS,STAT);▶1a◀% WRITELN('DEALLO STAT ',STAT:5)%
END;
▶0b◀ 1:BEGIN▶0b◀▶11◀ LÆNGDE:=6;▶11◀\f
REPEAT\f
▶1c◀ READLN;READ(POST(3));▶1c◀" ALLOCA(TRANS,POST(3),STAT);"& WRITELN('ALLOCA STAT ',STAT:5);&▶13◀ UNTIL STAT=0;▶13◀= FOR STAT:=0 TO POST(3) DIV 2 -1 DO TRANS^(STAT):=STAT;=▶17◀ POST(2):=ISF(2);▶17◀$ SENDM(SEND,POST,LÆNGDE,STAT);$( WRITELN('CP SENDT STAT ',STAT:5);(
END;
▶08◀ END;▶08◀▶13◀ UNTIL POST(1)=499▶13◀▶04◀END;▶04◀▶05◀BEGIN▶05◀▶15◀ PROG:='SUBMIT 3';▶15◀▶17◀ PROG(9):=CHR(16*2+1);▶17◀▶1a◀ PARM:='2,HAHA:P1, ';▶1a◀▶0f◀ SEND:=PROBLK;▶0f◀▶19◀ FOR LÆNGDE:=11 TO 15 DO▶19◀▶07◀ BEGIN▶07◀( PARM(LÆNGDE):=CHR(ISF(1) MOD 10+48);(▶19◀ ISF(1):=ISF(1) DIV 10▶19◀▶06◀ END;▶06◀▶18◀ CHAIN(PROG,PARM,SEND);▶18◀▶15◀ PROG:='SUBMIT 3';▶15◀▶17◀ PROG(9):=CHR(16*1+1);▶17◀▶1a◀ PARM:='1,HAHA:P1, ';▶1a◀▶0f◀ SEND:=PROBLK;▶0f◀▶19◀ FOR LÆNGDE:=11 TO 15 DO▶19◀▶07◀ BEGIN▶07◀( PARM(LÆNGDE):=CHR(ISF(1) MOD 10+48);(▶19◀ ISF(1):=ISF(1) DIV 10▶19◀▶06◀ END;▶06◀▶18◀ CHAIN(PROG,PARM,SEND);▶18◀▶08◀ WASTE;▶08◀▶04◀END.▶04◀▶00◀▶00◀ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc▶00◀