35#define uchar unsigned char
36#define uint unsigned int
37#define ulong unsigned long
38#define ushort unsigned short
69int __stdcall
hasSSE (
void);
79int getcpuinfo (
int aeax,
int *oEAX,
int *oEBX,
int *oECX,
int *oEDX)
114 __cpuid(aeax, ieax, iebx, iecx, iedx);
132 static char fixo[255];
134 memset (fixo, 0, 254);
136 if (
getcpuinfo (0x80000000, &ieax, &iebx, &iecx, &iedx))
138 strcpy (fixo,
"Unavailable");
142 if ((
int)ieax < (
int)0x80000004)
144 strcpy (fixo,
"Unavailable");
148 if (
getcpuinfo (0x80000002, &ieax, &iebx, &iecx, &iedx))
150 strcpy (fixo,
"Unavailable");
155 memcpy (&fixo[0], &ieax, 4);
156 memcpy (&fixo[4], &iebx, 4);
157 memcpy (&fixo[8], &iecx, 4);
158 memcpy (&fixo[12], &iedx, 4);
161 if (
getcpuinfo (0x80000003, &ieax, &iebx, &iecx, &iedx))
163 strcpy (fixo,
"Unavailable");
168 memcpy (&fixo[16], &ieax, 4);
169 memcpy (&fixo[20], &iebx, 4);
170 memcpy (&fixo[24], &iecx, 4);
171 memcpy (&fixo[28], &iedx, 4);
174 if (
getcpuinfo (0x80000004, &ieax, &iebx, &iecx, &iedx))
176 strcpy (fixo,
"Unavailable");
181 memcpy (&fixo[32], &ieax, 4);
182 memcpy (&fixo[36], &iebx, 4);
183 memcpy (&fixo[40], &iecx, 4);
184 memcpy (&fixo[44], &iedx, 4);
189 strcat(fixo,
", SSE");
193 strcat(fixo,
", SSE2");
201int __stdcall
getcputype (
int *family,
int *model,
int *stepping)
210 if (
getcpuinfo (1, &ieax, &iebx, &iecx, &iedx))
220 *stepping = (ieax & 15);
223 *model = (*model & 15);
227 *family = (*family & 15);
240 static char fixo[255];
242 memset (fixo, 0, 254);
244 if (
getcpuinfo (0, &ieax, &iebx, &iecx, &iedx))
246 strcpy (fixo,
"Unavailable");
250 memcpy (&fixo[0], &iebx, 4);
251 memcpy (&fixo[4], &iedx, 4);
252 memcpy (&fixo[8], &iecx, 4);
268 if (
getcpuinfo (1, &ieax, &iebx, &iecx, &iedx))
275 if (iedx & (1 << 23))
291 if (
getcpuinfo (1, &ieax, &iebx, &iecx, &iedx))
296 if (iedx & (1 << 25))
312 if (
getcpuinfo (1, &ieax, &iebx, &iecx, &iedx))
317 if (iedx & (1 << 26))
333 if (
getcpuinfo (0x80000001, &ieax, &iebx, &iecx, &iedx))
338 if (iedx & (1 << 31))
354 if (
getcpuinfo (0x80000001, &ieax, &iebx, &iecx, &iedx))
359 if (iedx & (1 << 30))
375 if (
getcpuinfo (0x80000001, &ieax, &iebx, &iecx, &iedx))
380 if (iedx & (1 << 29))
396 if (
getcpuinfo (1, &ieax, &iebx, &iecx, &iedx))
401 if (iedx & (1 << 15))
417 if (
getcpuinfo (1, &ieax, &iebx, &iecx, &iedx))
422 if (iedx & (1 << 28))
438 if (
getcpuinfo (1, &ieax, &iebx, &iecx, &iedx))
459 if (
getcpuinfo (1, &ieax, &iebx, &iecx, &iedx))
480 if (iecx & (1 << 10))
500 dprintf (
"Valores eax , ebx , ecx ,edx %x %x %x %x \n", ieax, iebx, iecx, iedx);
505 dprintf (
"01 eax , ebx , ecx ,edx %x %x %x %x \n", ieax, iebx, iecx, iedx);
509 dprintf (
"02 eax , ebx , ecx ,edx %x %x %x %x \n", ieax, iebx, iecx, iedx);
513 dprintf (
"03 eax , ebx , ecx ,edx %x %x %x %x \n", ieax, iebx, iecx, iedx);
515 getcpuinfo (0x80000000, &ieax, &iebx, &iecx, &iedx);
517 dprintf (
"0x80000000 eax , ebx , ecx ,edx %x %x %x %x \n", ieax, iebx, iecx, iedx);
520 getcpuinfo (0x80000001, &ieax, &iebx, &iecx, &iedx);
522 dprintf (
"81 eax , ebx , ecx ,edx %x %x %x %x \n", ieax, iebx, iecx, iedx);
525 getcpuinfo (0x80000002, &ieax, &iebx, &iecx, &iedx);
527 dprintf (
"82 eax , ebx , ecx ,edx %x %x %x %x \n", ieax, iebx, iecx, iedx);
530 getcpuinfo (0x80000003, &ieax, &iebx, &iecx, &iedx);
532 dprintf (
"83 eax , ebx , ecx ,edx %x %x %x %x \n", ieax, iebx, iecx, iedx);
534 getcpuinfo (0x80000004, &ieax, &iebx, &iecx, &iedx);
536 dprintf (
"84 eax , ebx , ecx ,edx %x %x %x %x \n", ieax, iebx, iecx, iedx);
538 getcpuinfo (0x80000005, &ieax, &iebx, &iecx, &iedx);
540 dprintf (
"85 eax , ebx , ecx ,edx %x %x %x %x \n", ieax, iebx, iecx, iedx);
543 getcpuinfo (0x80000006, &ieax, &iebx, &iecx, &iedx);
545 dprintf (
"86 eax , ebx , ecx ,edx %x %x %x %x \n", ieax, iebx, iecx, iedx);
547 getcpuinfo (0x80000007, &ieax, &iebx, &iecx, &iedx);
549 dprintf (
"87 eax , ebx , ecx ,edx %x %x %x %x \n", ieax, iebx, iecx, iedx);
551 getcpuinfo (0x80000008, &ieax, &iebx, &iecx, &iedx);
553 dprintf (
"88 eax , ebx , ecx ,edx %x %x %x %x \n", ieax, iebx, iecx, iedx);
555 dprintf (
"Namoe do processador -%s- \n", getprocessorbrandstring ());
557 dprintf (
"Namoe do processador -%s- \n", getcpuname ());
570 dprintf (
"Error getting type of processor \n");
576 dprintf (
"Family %d \n", family);
577 dprintf (
"Model %d \n", model);
578 dprintf (
"Stepping %d \n", stepping);
605 dprintf (
"Has OShasSSEsupport %d \n", OShasSSEsupport ());
623 static char out_z[300] = {0, };
625 if(0 == strlen(out_z))
628 strcat(out_z,
", " );
630 strcat(out_z,
", " );
634 strcpy(the_data_z, out_z );
int __stdcall hasSSE2(void)
Definition cpu_fixed_z.c:304
int __amandacall get_cpu_data_z(char *the_data_z)
Definition cpu_fixed_z.c:621
int __stdcall has3DNOWExtensions()
Definition cpu_fixed_z.c:346
int __stdcall hasMMX()
Definition cpu_fixed_z.c:260
int __stdcall getcpuextendedfeature(int *eisst, int *tm2, int *ci)
Definition cpu_fixed_z.c:451
char * getcpuname_k(void)
Definition cpu_fixed_z.c:233
char * getprocessorbrandstring_k(void)
Definition cpu_fixed_z.c:125
int getcpuinfo(int aeax, int *oEAX, int *oEBX, int *oECX, int *oEDX)
Definition cpu_fixed_z.c:79
int __stdcall hasCMOV()
Definition cpu_fixed_z.c:388
int __stdcall hasHyperThreading()
Definition cpu_fixed_z.c:409
int __stdcall hasFPU()
Definition cpu_fixed_z.c:430
int __stdcall IsAMD64()
Definition cpu_fixed_z.c:367
#define uint
Definition cpu_fixed_z.c:36
int __stdcall hasSSE(void)
Definition cpu_fixed_z.c:283
int __stdcall has3DNOW()
Definition cpu_fixed_z.c:325
char * decimalparabinarioprintf(uint value)
int __stdcall getcputype(int *family, int *model, int *stepping)
Definition cpu_fixed_z.c:201
int main()
Definition dirent_ronkko.h:938
#define __amandacall
Definition tar_1_33.c:79
char *__amandacall cpu_speed_z(void)
Definition tar_1_33.c:7979
ret
Definition zlib_interface.c:30