如何通过cpuid指令识别c /汇编程序中的cpu品牌名称

时间:2015-04-01 08:58:33

标签: c assembly cpuid

我不知道这个程序应该如何运作,我发现了一些代码,但是我不理解它们,如果这里有人这么善良并有这样的程序你能解释一下吗?

#include <stdio.h>

#include <string.h>
int main()
{
char name[13];
 __asm
{
XOR EAX,EAX
CPUID
MOV dword ptr [name], EBX
MOV dword ptr [name+4], EDX
MOV dword ptr [name+8], ECX
 }
name[12]=0;
printf("Procesor: %s\n", name);
getchar();
return 0;
}

1 个答案:

答案 0 :(得分:1)

cpuid指令根据eax寄存器的内容告诉您有关CPU的各种信息。当eax包含零时,寄存器ebxedxecx包含描述处理器供应商的字符串。您从代码中提取字符串并将其打印出来。

有关cpuid的详细信息,请阅读Wikipedia

相关问题