#include <stdio.h>
int main(int s_Argc, char *s_Argv[])
{
unsigned int s_UseClock;
long s_MyTimeVal[] = {1l, 0l};
fprintf(stdout, "cpuclock v0.0.1b\n"
"Code by JaeHyuk Cho , Application name: CPU clock count info , Make in korea.\n"
"\n"
);
fprintf(stdout, "Wait a second."); fflush(stdout);
__asm__ volatile(
"\n\t"
"rdtsc\n\t"
"pushl %%edx\n\t"
"pushl %%eax\n\t"
"movl $142, %%eax\n\t"
"xorl %%edx, %%edx\n\t"
"int $0x80\n\t"
"rdtsc\n\t"
"pop %%ebx\n\t"
"pop %%ecx\n\t"
"subl %%ebx, %%eax\n\t"
"sbbl %%ecx, %%edx\n\t"
"movl $1000000, %%ecx\n\t"
"divl %%ecx\n\t"
"cmp $500000, %%edx\n\t"
"jnb 0f\n\t"
"incl %%eax\n\t"
"0:\n\t"
"\n\t"
: "=a"(s_UseClock)
: "b"(0), "c"(0), "S"(0), "D"(&s_MyTimeVal[0])
);
fprintf(stdout, "\rMy CPU clock : %u.%03uGHz, %uMHz\n",
(s_UseClock / 1000),
(s_UseClock % 1000),
s_UseClock
);
return(0);
}
/* End of source */




댓글을 달아 주세요
자라나는 새싹들을 위해서.. 음 주석 몇줄이라도 후후