我想编写一个小程序以获取x86
CPU的功能。引用CPUID文档后,我发现有2
部分:
(1)eax = 1:
......
As of January 2011, the standard Intel feature flags are as follows:
......
(2)eax = 80000001H:
......
AMD feature flags are as follows:
......
因此,这意味着如果CPU供应商是GenuineIntel
,则我应该使用EAX=1
,而如果是AuthenticAMD
,则应使用EAX=80000001h
执行CPUID
指令。我的理解正确吗?
引用AMD CPUID和Intel CPUID文档后,我可以了解到它们的标志对于EAX 1 CPUID
指令有所不同,因此需要区分它们。