Code: Select all
PCHAR
i86_cpu_get_product () {
static CHAR product[48] = {0};
#ifdef _MSC_VER
_asm {
mov eax, 80000000h
cpuid
mov eax, 80000002h
cpuid
mov dword ptr [product+0], eax
mov dword ptr [product+4], ebx
mov dword ptr [product+8], ecx
mov dword ptr [product+12], edx
mov eax, 80000003h
cpuid
mov dword ptr [product+16], eax
mov dword ptr [product+20], ebx
mov dword ptr [product+24], ecx
mov dword ptr [product+28], edx
mov eax, 80000004h
cpuid
mov dword ptr [product+32], eax
mov dword ptr [product+36], ebx
mov dword ptr [product+40], ecx
mov dword ptr [product+44], edx
}
#endif
return product;
}