|
|
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: 2528 (0x9e0)
Types: TextFile
Notes: Mikados_K
Names: »EXCOMCO1.K«
└─⟦5630b2e42⟧ Bits:30009005 START APRIL 1985 aft april 1985 (PASCAL kildetekster)
└─⟦this⟧ »EXCOMCO1.K«
└─⟦6c21327e0⟧ Bits:30008986 LINIMATIC K-FILER (IKKE HELT UPTODTATE)
└─⟦this⟧ »EXCOMCO1.K«
(*$P*)
PROCEDURE EXTRACT(RECPOS,RESPOS:ZONEADR);
(*UDTRÆK NØGLE AF POST I ZONEN, OG GEM I ZONEN*)
VAR I,
J,KP :INTEGER;
BEGIN
WITH FILEHEAD DO
FOR I:=1 TO KEYFLDS DO
BEGIN
KP:=KEYPOS(I)+RECPOS-2;
FOR J:=1 TO KEYLNG(I) DO
BEGIN
Z(RESPOS):=Z(KP+J);
IF ABS(KEYSGN(I))=2 THEN
Z(RESPOS):=(Z(RESPOS) MOD 256)*256+Z(RESPOS) DIV 256;
RESPOS:=RESPOS+1
END
END
END;
PROCEDURE REXTRACT(RESPOS:ZONEADR);
(*UDTRÆK NØGLE AF POST , OG GEM I ZONEN*)
VAR I,
J,KP :INTEGER;
BEGIN
WITH FILEHEAD DO
FOR I:=1 TO KEYFLDS DO
BEGIN
KP:=KEYPOS(I)-1;
FOR J:=1 TO KEYLNG(I) DO
BEGIN
Z(RESPOS):=REC^(KP+J);
IF ABS(KEYSGN(I))=2 THEN
Z(RESPOS):=(Z(RESPOS) MOD 256)*256 + Z(RESPOS) DIV 256;
RESPOS:=RESPOS+1
END
END
END;
FUNCTION COMPARE(KEY1POS,KEY2POS:ZONEADR):INTEGER;
(*SAMMENLIGNER TO NØGLER I ZONEN*)
VAR I,
J,KP:INTEGER;
BEGIN
KP:=0;
COMPARE:=0;
WITH FILEHEAD DO
FOR I:=1 TO KEYFLDS DO
BEGIN
FOR J:=KP TO KP+KEYLNG(I)-1 DO
IF Z(KEY1POS+J)<>Z(KEY2POS+J) THEN
BEGIN
IF Z(KEY1POS+J)>Z(KEY2POS+J) THEN
COMPARE:=KEYSGN(I) ELSE
COMPARE:=-KEYSGN(I);
EXIT(COMPARE)
END;
KP:=KP+KEYLNG(I)
END
END;
0x000…008 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x008…034 Line {l1=0x2a, l2=»PROCEDURE EXTRACT(RECPOS,RESPOS:ZONEADR); «, l3=0x2a}
0x034…066 Line {l1=0x30, l2=»(*UDTRÆK NØGLE AF POST I ZONEN, OG GEM I ZONEN*)«, l3=0x30}
0x066…06e Line {l1=0x06, l2=»VAR I,«, l3=0x06}
0x06e…082 Line {l1=0x12, l2=» J,KP :INTEGER;«, l3=0x12}
0x082…089 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x089…09d Line {l1=0x12, l2=» WITH FILEHEAD DO«, l3=0x12}
0x09d…0c1 Line {l1=0x22, l2=» FOR I:=1 TO KEYFLDS DO «, l3=0x22}
0x0c1…0e5 Line {l1=0x22, l2=» BEGIN «, l3=0x22}
0x0e5…109 Line {l1=0x22, l2=» KP:=KEYPOS(I)+RECPOS-2; «, l3=0x22}
0x109…12d Line {l1=0x22, l2=» FOR J:=1 TO KEYLNG(I) DO «, l3=0x22}
0x12d…151 Line {l1=0x22, l2=» BEGIN «, l3=0x22}
0x151…175 Line {l1=0x22, l2=» Z(RESPOS):=Z(KP+J); «, l3=0x22}
0x175…195 Line {l1=0x1e, l2=» IF ABS(KEYSGN(I))=2 THEN«, l3=0x1e}
0x195…1d4 Line {l1=0x3d, l2=» Z(RESPOS):=(Z(RESPOS) MOD 256)*256+Z(RESPOS) DIV 256;«, l3=0x3d}
0x1d4…1f8 Line {l1=0x22, l2=» RESPOS:=RESPOS+1 «, l3=0x22}
0x1f8…21c Line {l1=0x22, l2=» END «, l3=0x22}
0x21c…240 Line {l1=0x22, l2=» END «, l3=0x22}
0x240…246 Line {l1=0x04, l2=»END;«, l3=0x04}
0x246…249 Line {l1=0x01, l2=» «, l3=0x01}
0x249…26f Line {l1=0x24, l2=»PROCEDURE REXTRACT(RESPOS:ZONEADR); «, l3=0x24}
0x26f…29a Line {l1=0x29, l2=»(*UDTRÆK NØGLE AF POST , OG GEM I ZONEN*)«, l3=0x29}
0x29a…2a2 Line {l1=0x06, l2=»VAR I,«, l3=0x06}
0x2a2…2b6 Line {l1=0x12, l2=» J,KP :INTEGER;«, l3=0x12}
0x2b6…2bd Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x2bd…2d1 Line {l1=0x12, l2=» WITH FILEHEAD DO«, l3=0x12}
0x2d1…2f7 Line {l1=0x24, l2=» FOR I:=1 TO KEYFLDS DO «, l3=0x24}
0x2f7…31d Line {l1=0x24, l2=» BEGIN «, l3=0x24}
0x31d…343 Line {l1=0x24, l2=» KP:=KEYPOS(I)-1; «, l3=0x24}
0x343…369 Line {l1=0x24, l2=» FOR J:=1 TO KEYLNG(I) DO «, l3=0x24}
0x369…38f Line {l1=0x24, l2=» BEGIN «, l3=0x24}
0x38f…3b5 Line {l1=0x24, l2=» Z(RESPOS):=REC^(KP+J); «, l3=0x24}
0x3b5…3d5 Line {l1=0x1e, l2=» IF ABS(KEYSGN(I))=2 THEN«, l3=0x1e}
0x3d5…416 Line {l1=0x3f, l2=» Z(RESPOS):=(Z(RESPOS) MOD 256)*256 + Z(RESPOS) DIV 256;«, l3=0x3f}
0x416…43c Line {l1=0x24, l2=» RESPOS:=RESPOS+1 «, l3=0x24}
0x43c…462 Line {l1=0x24, l2=» END «, l3=0x24}
0x462…488 Line {l1=0x24, l2=» END «, l3=0x24}
0x488…48e Line {l1=0x04, l2=»END;«, l3=0x04}
0x48e…491 Line {l1=0x01, l2=» «, l3=0x01}
0x491…4c5 Line {l1=0x32, l2=»FUNCTION COMPARE(KEY1POS,KEY2POS:ZONEADR):INTEGER;«, l3=0x32}
0x4c5…4e9 Line {l1=0x22, l2=»(*SAMMENLIGNER TO NØGLER I ZONEN*)«, l3=0x22}
0x4e9…4f1 Line {l1=0x06, l2=»VAR I,«, l3=0x06}
0x4f1…504 Line {l1=0x11, l2=» J,KP:INTEGER;«, l3=0x11}
0x504…50b Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x50b…515 Line {l1=0x08, l2=» KP:=0;«, l3=0x08}
0x515…524 Line {l1=0x0d, l2=» COMPARE:=0;«, l3=0x0d}
0x524…538 Line {l1=0x12, l2=» WITH FILEHEAD DO«, l3=0x12}
0x538…56d Line {l1=0x33, l2=» FOR I:=1 TO KEYFLDS DO «, l3=0x33}
0x56d…5a2 Line {l1=0x33, l2=» BEGIN «, l3=0x33}
0x5a2…5d7 Line {l1=0x33, l2=» FOR J:=KP TO KP+KEYLNG(I)-1 DO «, l3=0x33}
0x5d7…60c Line {l1=0x33, l2=» IF Z(KEY1POS+J)<>Z(KEY2POS+J) THEN «, l3=0x33}
0x60c…641 Line {l1=0x33, l2=» BEGIN «, l3=0x33}
0x641…676 Line {l1=0x33, l2=» IF Z(KEY1POS+J)>Z(KEY2POS+J) THEN «, l3=0x33}
0x676…6a7 Line {l1=0x2f, l2=» COMPARE:=KEYSGN(I) ELSE «, l3=0x2f}
0x6a7…6d8 Line {l1=0x2f, l2=» COMPARE:=-KEYSGN(I); «, l3=0x2f}
0x6d8…70d Line {l1=0x33, l2=» EXIT(COMPARE) «, l3=0x33}
0x70d…742 Line {l1=0x33, l2=» END; «, l3=0x33}
0x742…777 Line {l1=0x33, l2=» KP:=KP+KEYLNG(I) «, l3=0x33}
0x777…7ac Line {l1=0x33, l2=» END «, l3=0x33}
0x7ac…7b2 Line {l1=0x04, l2=»END;«, l3=0x04}
0x7b2…7c0 00 00 00 00 4e 44 3b 04 00 00 63 63 63 63 ┆ ND; cccc┆
0x7c0…7e0 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┆
[…0x10…]