Closed. This question needs details or clarity。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
                        
                        4年前关闭。
                                                                                            
                
        
我不知道该程序应该如何工作,我发现了一些代码,但我不理解它们,如果这里的人是如此友善并且拥有这样的程序,您可以向我解释一下吗?

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

最佳答案

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

阅读Wikipedia了解有关cpuid的更多详细信息。

09-28 11:21