9 #if defined(__WATCOMC__)
10 void GetTSC(
unsigned long&);
11 #pragma aux GetTSC = 0x0f 0x31 "mov [edi], eax" parm [edi] modify [edx eax];
12 #elif defined(__GNUC__)
14 void GetTSC(
unsigned long& tsc)
16 asm volatile(
".byte 15, 49\n\t"
21 #elif defined(_MSC_VER)
23 void GetTSC(
unsigned long& tsc)
37 void main(
int argc,
char *argv[])
40 unsigned long s1,s2,e1,e2;
41 unsigned long data[2];
46 for (i=0; i<1000; i++)
48 des_encrypt(&data[0],key,1);
50 des_encrypt(&data[0],key,1);
51 des_encrypt(&data[0],key,1);
52 des_encrypt(&data[0],key,1);
55 des_encrypt(&data[0],key,1);
56 des_encrypt(&data[0],key,1);
57 des_encrypt(&data[0],key,1);
58 des_encrypt(&data[0],key,1);
60 des_encrypt(&data[0],key,1);
63 printf(
"des %d %d (%d)\n",
64 e1-s1,e2-s2,((e2-s2)-(e1-s1)));