void getCPUVendorID(char * vendor) { char temp = 0; CPUID(0x00000001, &temp, vendor, (vendor + 8), (vendor + 4)); } void CPUID(unsigned long function, void * eax_out, void * ebx_out, void * ecx_out, void * edx_out) { __asm { pushad mov eax, function cpuid mov [eax_out], eax mov [ebx_out], ebx mov [ecx_out], ecx mov [edx_out], edx popad } }