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

⟦47143a99e⟧ TextFile

    Length: 2528 (0x9e0)
    Types: TextFile
    Notes: Mikados_K
    Names: »EXCOMCO1.K«

Derivation

└─⟦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« 

Mikados K File

(*$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;

Mikados K File

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…]

Reduced view