#include
int main(int argc, char * argv[])
{
unsigned int s1 = 0;
unsigned int s2 = 0;
asm volatile
(
"movl $0x01, %%eax; \n\t"
"xorl %%edx, %%edx; \n\t"
"cpuid; \n\t"
"movl %%edx, %0; \n\t"
"movl %%eax, %1; \n\t"
: "=m"(s1), "=m"(s2)
);
printf("%08X%08X", htonl(s2), htonl(s1));
return 0;
}
----------------------------------------
windows 下获取cpu id命令:
wmic cpu get ProcessorId
---------------------------
arm 获取cpuid
#include
int main(int argc,char* argv[])
{
unsigned long arm_cpuid;
__asm__("mrs %0, MIDR_EL1" : "=r"(arm_cpuid));
printf("%016X",htonl(arm_cpuid));
return 0;
}