Geoff Chappell - Software Analyst
Executing the cpuid instruction with 0 in eax produces meaningful output in all four of eax, ebx, ecx and edx. What’s loaded into eax from cpuid leaf 0 is the maximum value that the processor accepts as valid input in eax to select a leaf of basic information. Zero is the first such leaf and what it loads into eax tells which more leaves exist. Since interpretation of those other leaves may depend on who made the processor, leaf 0 helpfully loads ebx, ecx and edx with the twelve characters of a vendor string.