в соответствии с Intel SDM
инструкция работает одинаково для 64-битных и не 64-битных
, но даже при том, что она ведет себято же самое, имейте в виду, что инструкция CPUID очищает старшие 32 бита регистров RAX / RBX / RCX / RDX во всех режимах, поэтому, если вы укажете старшие 32 бита в упомянутых выше регистрах, вы получите 0x0.
И поскольку CPUID смотрит на EAX (и в некоторых случаях на ECX), оба приведенных ниже кода вернут одинаковые данные:
mov RAX, 0xFFFF_FFFF_0000_000
cpuid
mov RAX, 0x0
cpuid