2015-04-01 66 views
-5

我不知道該程序該如何工作,我發現了一些代碼,但我不明白他們,如果有人在這裏如此友善,並有這樣的程序可以你向我解釋?如何通過cpuid指令識別c /彙編中的cpu品牌

#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; 
} 
+0

你試過了什麼? – fuz 2015-04-01 09:06:17

回答

1

cpuid指令告訴你各種各樣的事情有關取決於eax寄存器的內容的CPU。當eax包含零時,寄存器ebx,edxecx包含描述處理器供應商的字符串。您從代碼中取出代碼並將其打印出來。

閱讀Wikipedia關於cpuid的更多詳情。