|
|
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: 5056 (0x13c0)
Types: TextFile
Notes: Mikados_K
Names: »NØDSTOP.K«
└─⟦5630b2e42⟧ Bits:30009005 START APRIL 1985 aft april 1985 (PASCAL kildetekster)
└─⟦this⟧ »NØDSTOP.K«
└─⟦6c21327e0⟧ Bits:30008986 LINIMATIC K-FILER (IKKE HELT UPTODTATE)
└─⟦this⟧ »NØDSTOP.K«
PROGRAM NØDSTOP;
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(NØDSTOP)
END
END;
BEGIN
FNAVN:='CPSTATUS:P1:1:S';
REWRITE(CPSTATUS,FNAVN);IOC;
SEEK(CPSTATUS,1);IOC;
GET(CPSTATUS);IOC;
(*$R-*) FUSK(1):=CPSTATUS^.CPPCB;(*$R+*)
CLOSE(CPSTATUS);
REPEAT
REPEAT
GOTOXY(1,20);
WRITE('FILNR ');
READLN;READ(I)
UNTIL IORESULT=0;
IF I>0 THEN
BEGIN
BESKED.KOMMANDO:=LUK;
BESKED.INFO:=I;
(*$XT*) WRITELN('SENDM LUK'); (*$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);
IF BESKED.INFO<>0 THEN
BEGIN
WRITELN('LUKNING AFVIST, RETURN ',BESKED.INFO);
READLN
END
END
UNTIL I=0
END.
0x0000…0012 Line {l1=0x10, l2=»PROGRAM NØDSTOP;«, l3=0x10}
0x0012…0018 Line {l1=0x04, l2=»TYPE«, l3=0x04}
0x0018…0041 Line {l1=0x27, l2=»PARMARRAY=PACKED ARRAY (1..39) OF CHAR;«, l3=0x27}
0x0041…0057 Line {l1=0x14, l2=»NAME =STRING(10);«, l3=0x14}
0x0057…006b Line {l1=0x12, l2=»PCB =^INTEGER;«, l3=0x12}
0x006b…00b4 Line {l1=0x47, l2=»MESSAGETYPE=(ÅBEN,LUK,LÆSPOST,LÆSPOSTX,NÆSTE,NÆSTEX,SLET,SLETX,GEMPOST,«, l3=0x47}
0x00b4…0104 Line {l1=0x4e, l2=» INDSÆT,INITIER,UTILMELD,UAFMELD,PTILMELD,PAFMELD,STOPSYS, «, l3=0x4e}
0x0104…014e Line {l1=0x48, l2=» RETURNHEAD,RETURNSTAT); «, l3=0x48}
0x014e…015f Line {l1=0x0f, l2=»MESSAGE =RECORD«, l3=0x0f}
0x015f…0181 Line {l1=0x20, l2=» KOMMANDO:MESSAGETYPE;«, l3=0x20}
0x0181…019b Line {l1=0x18, l2=» INFO:INTEGER «, l3=0x18}
0x019b…01aa Line {l1=0x0d, l2=» END;«, l3=0x0d}
0x01aa…01bb Line {l1=0x0f, l2=»CPSTAT =RECORD«, l3=0x0f}
0x01bb…01de Line {l1=0x21, l2=» CPPCB :INTEGER;«, l3=0x21}
0x01de…0212 Line {l1=0x32, l2=» STATUS :ARRAY (1..100) OF INTEGER«, l3=0x32}
0x0212…0221 Line {l1=0x0d, l2=» END;«, l3=0x0d}
0x0221…023b Line {l1=0x18, l2=»STATFILE=FILE OF CPSTAT;«, l3=0x18}
0x023b…025e Line {l1=0x21, l2=»AR =ARRAY (0..0) OF INTEGER;«, l3=0x21}
0x025e…0272 Line {l1=0x12, l2=»VAR «, l3=0x12}
0x0272…0288 Line {l1=0x14, l2=»FORCED :^PARMARRAY;«, l3=0x14}
0x0288…029c Line {l1=0x12, l2=»CPSTATUS:STATFILE;«, l3=0x12}
0x029c…02aa Line {l1=0x0c, l2=»FUSK :AR;«, l3=0x0c}
0x02aa…02b9 Line {l1=0x0d, l2=»CPPCB :PCB;«, l3=0x0d}
0x02b9…02cc Line {l1=0x11, l2=»BESKED :MESSAGE;«, l3=0x11}
0x02cc…02e2 Line {l1=0x14, l2=»FNAVN :STRING(20);«, l3=0x14}
0x02e2…02e6 Line {l1=0x02, l2=»I,«, l3=0x02}
0x02e6…02f9 Line {l1=0x11, l2=»MLÆNGDE, «, l3=0x11}
0x02f9…030c Line {l1=0x11, l2=»MSTATUS :INTEGER;«, l3=0x11}
0x030c…031c Line {l1=0x0e, l2=»SEMAFOR :NAME;«, l3=0x0e}
0x031c…0350 Line {l1=0x32, l2=»PROCEDURE SENDM(RECEIVER:PCB;VAR CONTENTS:MESSAGE;«, l3=0x32}
0x0350…038e Line {l1=0x3c, l2=» LENGTH:INTEGER;VAR STATUS:INTEGER);EXTERNAL;«, l3=0x3c}
0x038e…03c5 Line {l1=0x35, l2=»PROCEDURE RECEIV(VAR SENDER:PCB;VAR CONTENTS:MESSAGE;«, l3=0x35}
0x03c5…03f5 Line {l1=0x2e, l2=» VAR LENGTH:INTEGER);EXTERNAL;«, l3=0x2e}
0x03f5…042d Line {l1=0x36, l2=»PROCEDURE RESERV(RESOURCE:NAME;EXCLUSIVE,WAIT:BOOLEAN;«, l3=0x36}
0x042d…045d Line {l1=0x2e, l2=» VAR STATUS:INTEGER);EXTERNAL;«, l3=0x2e}
0x045d…049b Line {l1=0x3c, l2=»PROCEDURE RELEAS(RESOURCE:NAME;VAR STATUS:INTEGER);EXTERNAL;«, l3=0x3c}
0x049b…04ab Line {l1=0x0e, l2=»PROCEDURE IOC;«, l3=0x0e}
0x04ab…04c2 Line {l1=0x15, l2=»VAR CH:STRING(1);«, l3=0x15}
0x04c2…04d8 Line {l1=0x14, l2=» IOR:INTEGER;«, l3=0x14}
0x04d8…04df Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x04df…04f1 Line {l1=0x10, l2=» IOR:=IORESULT;«, l3=0x10}
0x04f1…051f Line {l1=0x2c, l2=» IF IOR<>0 THEN «, l3=0x2c}
0x051f…054d Line {l1=0x2c, l2=» BEGIN «, l3=0x2c}
0x054d…057b Line {l1=0x2c, l2=» CLEARSCREEN; «, l3=0x2c}
0x057b…05a9 Line {l1=0x2c, l2=» GOTOXY(1,10); «, l3=0x2c}
0x05a9…05d7 Line {l1=0x2c, l2=» WRITELN('Pladefejl ',IOR:5,' RETURN'); «, l3=0x2c}
0x05d7…0605 Line {l1=0x2c, l2=» CH:=' '; «, l3=0x2c}
0x0605…0633 Line {l1=0x2c, l2=» EDIT(CH); «, l3=0x2c}
0x0633…0663 Line {l1=0x2e, l2=» IF CH<>'R' THEN EXIT(NØDSTOP) «, l3=0x2e}
0x0663…0691 Line {l1=0x2c, l2=» END «, l3=0x2c}
0x0691…0697 Line {l1=0x04, l2=»END;«, l3=0x04}
0x0697…069a Line {l1=0x01, l2=» «, l3=0x01}
0x069a…06a1 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x06a1…06be Line {l1=0x1b, l2=» FNAVN:='CPSTATUS:P1:1:S';«, l3=0x1b}
0x06be…06de Line {l1=0x1e, l2=» REWRITE(CPSTATUS,FNAVN);IOC;«, l3=0x1e}
0x06de…06f7 Line {l1=0x17, l2=» SEEK(CPSTATUS,1);IOC;«, l3=0x17}
0x06f7…070d Line {l1=0x14, l2=» GET(CPSTATUS);IOC;«, l3=0x14}
0x070d…0739 Line {l1=0x2a, l2=» (*$R-*) FUSK(1):=CPSTATUS^.CPPCB;(*$R+*)«, l3=0x2a}
0x0739…074d Line {l1=0x12, l2=» CLOSE(CPSTATUS);«, l3=0x12}
0x074d…0757 Line {l1=0x08, l2=» REPEAT«, l3=0x08}
0x0757…0763 Line {l1=0x0a, l2=» REPEAT«, l3=0x0a}
0x0763…0778 Line {l1=0x13, l2=» GOTOXY(1,20);«, l3=0x13}
0x0778…0790 Line {l1=0x16, l2=» WRITE('FILNR ');«, l3=0x16}
0x0790…07a6 Line {l1=0x14, l2=» READLN;READ(I)«, l3=0x14}
0x07a6…07bd Line {l1=0x15, l2=» UNTIL IORESULT=0;«, l3=0x15}
0x07bd…07ce Line {l1=0x0f, l2=» IF I>0 THEN«, l3=0x0f}
0x07ce…07d9 Line {l1=0x09, l2=» BEGIN«, l3=0x09}
0x07d9…07f6 Line {l1=0x1b, l2=» BESKED.KOMMANDO:=LUK;«, l3=0x1b}
0x07f6…080d Line {l1=0x15, l2=» BESKED.INFO:=I;«, l3=0x15}
0x080d…083a Line {l1=0x2b, l2=» (*$XT*) WRITELN('SENDM LUK'); (*$X-*)«, l3=0x2b}
0x083a…0860 Line {l1=0x24, l2=» SENDM(CPPCB,BESKED,4,MSTATUS);«, l3=0x24}
0x0860…08a4 Line {l1=0x42, l2=» IF MSTATUS<>0 THEN BEGIN WRITELN('2:',MSTATUS:5);READLN END;«, l3=0x42}
0x08a4…08ce Line {l1=0x28, l2=» (*$XT*) WRITELN('RECEIV'); (*$X-*)«, l3=0x28}
0x08ce…08f3 Line {l1=0x23, l2=» RECEIV(CPPCB,BESKED,MLÆNGDE);«, l3=0x23}
0x08f3…0911 Line {l1=0x1c, l2=» IF BESKED.INFO<>0 THEN«, l3=0x1c}
0x0911…091e Line {l1=0x0b, l2=» BEGIN«, l3=0x0b}
0x091e…0957 Line {l1=0x37, l2=» WRITELN('LUKNING AFVIST, RETURN ',BESKED.INFO);«, l3=0x37}
0x0957…0967 Line {l1=0x0e, l2=» READLN«, l3=0x0e}
0x0967…0973 Line {l1=0x0a, l2=» END «, l3=0x0a}
0x0973…097c Line {l1=0x07, l2=» END«, l3=0x07}
0x097c…0989 Line {l1=0x0b, l2=» UNTIL I=0«, l3=0x0b}
0x0989…098f Line {l1=0x04, l2=»END.«, l3=0x04}
0x098f…09a0 00 00 42 45 53 4b 45 44 2c 4d 4c 5b 4e 47 44 45 29 ┆ BESKED,MLÆNGDE)┆
0x09a0…09c0 3b 23 28 20 20 20 20 20 20 28 2a 24 58 54 2a 29 20 57 52 49 54 45 4c 4e 28 27 52 45 4c 45 41 53 ┆;#( (*$XT*) WRITELN('RELEAS┆
0x09c0…09e0 27 29 3b 20 28 2a 24 58 2d 2a 29 28 1e 20 20 20 20 20 20 52 45 4c 45 41 53 28 53 45 4d 41 46 4f ┆'); (*$X-*)( RELEAS(SEMAFO┆
0x09e0…0a00 52 2c 4d 53 54 41 54 55 53 29 3b 1e 42 20 20 20 20 20 20 49 46 20 4d 53 54 41 54 55 53 3c 3e 30 ┆R,MSTATUS); B IF MSTATUS<>0┆
0x0a00…0a20 20 54 48 45 4e 20 42 45 47 49 4e 20 57 52 49 54 45 4c 4e 28 27 33 3a 27 2c 4d 53 54 41 54 55 53 ┆ THEN BEGIN WRITELN('3:',MSTATUS┆
0x0a20…0a40 3a 35 29 3b 52 45 41 44 4c 4e 20 45 4e 44 3b 42 1c 20 20 20 20 20 20 49 46 20 42 45 53 4b 45 44 ┆:5);READLN END;B IF BESKED┆
0x0a40…0a60 2e 49 4e 46 4f 3c 3e 30 20 54 48 45 4e 1c 0b 20 20 20 20 20 20 42 45 47 49 4e 0b 37 20 20 20 20 ┆.INFO<>0 THEN BEGIN 7 ┆
0x0a60…0a80 20 20 20 20 57 52 49 54 45 4c 4e 28 27 4c 55 4b 4e 49 4e 47 20 41 46 56 49 53 54 2c 20 52 45 54 ┆ WRITELN('LUKNING AFVIST, RET┆
0x0a80…0aa0 55 52 4e 20 27 2c 42 45 53 4b 45 44 2e 49 4e 46 4f 29 3b 37 0e 20 20 20 20 20 20 20 20 52 45 41 ┆URN ',BESKED.INFO);7 REA┆
0x0aa0…0ac0 44 4c 4e 0e 0a 20 20 20 20 20 20 45 4e 44 20 0a 07 20 20 20 20 45 4e 44 07 0b 20 20 55 4e 54 49 ┆DLN END END UNTI┆
0x0ac0…0ae0 4c 20 49 3d 30 0b 04 45 4e 44 2e 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ┆L I=0 END. ┆
0x0ae0…0b00 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 ┆ ┆
[…0x45…]
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┆