registers have IA32_MISC_ENABLE.BOOT_NT4 [bit 22] = 0 (which is so by default). As the name suggests, Windows NT 4.0 until SP6 did not boot properly unless this bit was set, but later versions of Windows do not need it, so basic leaves greater than 4 can be assumed visible on current Windows systems. , basic valid leaves go up to 14h, but the information returned by some leaves are not disclosed in the publicly available documentation, i.e. they are "reserved". Some of the more recently added leaves also have sub-leaves, which are selected via the ECX register before calling CPUID. EAX=0: Highest Function Parameter and Manufacturer ID This returns the CPU's manufacturer ID string a twelve-character ASCII string stored in EBX, EDX, ECX (in that order). The highest basic calling parameter (the largest value that EAX can be set to before calling CPUID) is returned in EAX. Here is a list of processors and the highest function implemented. The following are known processor manufacturer ID strings: "AMDisbetter!" early engineering samples of AMD K5 processor "AuthenticAMD" AMD "CentaurHauls" IDT WinChip/Centaur (Including some VIA and Zhaoxin CPUs) "CyrixInstead" Cyrix/early STMicroelectronics and IBM "GenuineIntel" Intel "TransmetaCPU" Transmeta "GenuineTMx86" Transmeta "Geode by NSC" National Semiconductor "NexGenDriven" NexGen "RiseRiseRise" Rise "SiS SiS SiS " SiS "UMC UMC UMC " UMC "VIA VIA VIA " VIA "Vortex86 SoC" DM&P Vortex86 " Shanghai " Zhaoxin "HygonGenuine" Hygon "Genuine RDC" RDC Semiconductor Co. Ltd. "E2K MACHINE" MCST Elbrus The following are ID strings used by open source soft CPU cores: "MiSTer AO486" ao486 CPU "GenuineIntel" v586 core (this is identical to the Intel ID string) The following are known ID strings from virtual machines: "bhyve bhyve " bhyve " KVMKVMKVM " KVM "TCGTCGTCGTCG" QEMU "Microsoft Hv" Microsoft Hyper-V or Windows Virtual PC "MicrosoftXTA" – Microsoft x86-to-ARM " lrpepyh vr" Parallels (it possibly should be "prl hyperv ", but it is encoded as " lrpepyh vr" due to an endianness mismatch) "VMwareVMware" VMware "XenVMMXenVMM" Xen HVM "ACRNACRNACRN" Project ACRN " QNXQVMBSQG " QNX Hypervisor "GenuineIntel" Apple Rosetta 2 "VirtualApple" – Newer versions of Apple Rosetta 2 For instance, on a GenuineIntel processor values returned in EBX is 0x756e6547, EDX is 0x49656e69 and ECX is 0x6c65746e. The following example code displays the vendor ID string as well as the highest calling parameter that the CPU implements. .intel_syntax noprefix .text .m0: .string "CPUID: %x\n" .m1: .string "Largest basic function number implemented: