这是mfc类成员函数的代码,调用汇编代码实现了获取cpu序列号的功能,可以简单的移植到c语言
CString CGetCPUIDDlg::GetCPUID()
{
CString strCPUID;
unsigned long s1, s2;
__asm{
mov eax, 01h
xor edx, edx
cpuid
mov s1, edx
mov s2, eax
}
strCPUID.Format("%08X%08X", s1, s2);
return strCPUID;
}
AI解释
mov eax, 01h ; 设置CPUID功能号01h(获取处理器型号和特性)
xor edx, edx ; 清零edx寄存器
cpuid ; 执行CPUID指令
mov s1, edx ; 将edx的值保存到变量s1中
mov s2, eax ; 将eax的值保存到变量s2中