home *** CD-ROM | disk | FTP | other *** search
/ C!T ROM 2 / ctrom_ii_b.zip / ctrom_ii_b / PROGRAM / PASCAL / PERFORM / UPTIMER.PAS < prev   
Pascal/Delphi Source File  |  1993-03-28  |  3KB  |  121 lines

  1. {$IFDEF VER70}
  2. {$A+,B-,D-,E-,F-,G-,I-,L-,N-,O-,P-,Q-,R-,S+,T-,V-,X+}
  3. {$ELSE}
  4. {$A+,B-,D-,E-,F-,G-,I-,L-,N-,O-,R-,S+,V-,X+}
  5. {$ENDIF}
  6. {$M 16384,0,655360}
  7. uses Upper, UpperStr;
  8. var TimerTick: Word absolute $0040:$006C;
  9.     StartTick: Word;
  10.     Reps: LongInt;
  11.  
  12.     Normaliseer: LongInt;
  13.     TestRun: Integer;
  14.     S,Bak: String;
  15.  
  16.  
  17. begin
  18.   for TestRun := 1 to 8 do
  19.   begin
  20.     Reps := 0;
  21.     for Reps := 1 to 255 do Bak[Reps] := Char(32+Random(127-32));
  22.     case TestRun of
  23.      1: Bak[0] := #1;
  24.      2: Bak[0] := #3;
  25.      3: Bak[0] := #7;
  26.      4: Bak[0] := #15;
  27.      5: Bak[0] := #31;
  28.      6: Bak[0] := #63;
  29.      7: Bak[0] := #127;
  30.      8: Bak[0] := #255;
  31.     end;
  32.     StartTick := TimerTick;
  33.     while StartTick = TimerTick do {wait for end of TimerTick};
  34.     StartTick := TimerTick;
  35.     repeat
  36.       S := Bak;
  37.       Inc(Reps);
  38.     until StartTick <> TimerTick;
  39.     write(Byte(Bak[0]):4);
  40.  
  41.     Reps := 0;
  42.     StartTick := TimerTick;
  43.     while StartTick = TimerTick do {wait for end of TimerTick};
  44.     StartTick := TimerTick;
  45.     repeat
  46.       S := Upper0(S);
  47.       S := Bak;
  48.       Inc(Reps);
  49.     until StartTick <> TimerTick;
  50.     Normaliseer := Reps;
  51.  
  52.     Reps := 0;
  53.     StartTick := TimerTick;
  54.     while StartTick = TimerTick do {wait for end of TimerTick};
  55.     StartTick := TimerTick;
  56.     repeat
  57.       S := Upper1(S);
  58.       S := Bak;
  59.       Inc(Reps);
  60.     until StartTick <> TimerTick;
  61.     write(100 * Normaliseer / Reps:6:0,100:6);
  62.     Normaliseer := Reps;
  63.  
  64.     Reps := 0;
  65.     StartTick := TimerTick;
  66.     while StartTick = TimerTick do {wait for end of TimerTick};
  67.     StartTick := TimerTick;
  68.     repeat
  69.       Upper2(S);
  70.       S := Bak;
  71.       Inc(Reps);
  72.     until StartTick <> TimerTick;
  73.     write(100 * Reps / Normaliseer:6:0);
  74.  
  75.     Reps := 0;
  76.     StartTick := TimerTick;
  77.     while StartTick = TimerTick do {wait for end of TimerTick};
  78.     StartTick := TimerTick;
  79.     repeat
  80.       S := Upper3(S);
  81.       S := Bak;
  82.       Inc(Reps);
  83.     until StartTick <> TimerTick;
  84.     write(100 * Reps / Normaliseer:6:0);
  85.  
  86.     Reps := 0;
  87.     StartTick := TimerTick;
  88.     while StartTick = TimerTick do {wait for end of TimerTick};
  89.     StartTick := TimerTick;
  90.     repeat
  91.       Upper4(S);
  92.       S := Bak;
  93.       Inc(Reps);
  94.     until StartTick <> TimerTick;
  95.     write(100 * Reps / Normaliseer:6:0);
  96.  
  97.     Reps := 0;
  98.     StartTick := TimerTick;
  99.     while StartTick = TimerTick do {wait for end of TimerTick};
  100.     StartTick := TimerTick;
  101.     repeat
  102.       Upper5(S);
  103.       S := Bak;
  104.       Inc(Reps);
  105.     until StartTick <> TimerTick;
  106.     write(100 * Reps / Normaliseer:6:0);
  107.  
  108.     Reps := 0;
  109.     StartTick := TimerTick;
  110.     while StartTick = TimerTick do {wait for end of TimerTick};
  111.     StartTick := TimerTick;
  112.     repeat
  113.       Upper7(S);
  114.       S := Bak;
  115.       Inc(Reps);
  116.     until StartTick <> TimerTick;
  117.     write(100 * Reps / Normaliseer:6:0);
  118.     writeln
  119.   end
  120. end.
  121.