此cpuid 非彼CPUID
您说的是获取CPU信息的CPUID指令集合,输出可能会占用寄存器,
我这个cpuid是x86处理器的一条指令,用于将该指令前的所有指令执行完在执行cpuid,它是不改变寄存器值的。
【 在 z16166 的大作中提到: 】
: cpuid指令需要有输入寄存器、输出寄存器,这些信息是编译器/优化器不知道的,需要在嵌入汇编时自己用指令处理(在调用cpuid指令前用push保存,在调用完cpuid并获取结果后用pop恢复),不要破坏掉输出寄存器中的原值,否则行为不可预期。
: 比较方便的是用intrinsic函数,这样函数的输入、输出都由编译器自己搞定了。
: #include <cpuid.h>
: ...................
--
FROM 171.82.232.*