//取得IntelCPU的ID号:
void IntelCPUIDDlg::OnButtonCPUID()
{
unsigned long s1,s2;
unsigned char vendor_id[]="------------------";
CString str1,str2,str3;
__asm
{
xor eax,eax
cpuid
mov dword ptr vendor_id,ebx
mov dword ptr vendor_id[+4],edx
mov dword ptr vendor_id[+8],ecx
}
str1.Format("%s",vendor_id);
__asm //取得CPU ID的高32位
{
mov eax,01h
xor edx,edx
cpuid
mov s2,eax
}
str2.Format("%08X-",s2);
__asm //取得CPU ID的低64位
{
mov eax,03h
xor ecx,ecx
xor edx,edx
cpuid
mov s1,edx
mov s2,ecx
}
str3.Format("%08X-%08X/n",s1,s2);
str2+=str3;
m_editVendor.SetWindowText(str1);
m_editCPUID.SetWindowText(str2);
}
void IntelCPUIDDlg::OnButtonCPUID()
{
unsigned long s1,s2;
unsigned char vendor_id[]="------------------";
CString str1,str2,str3;
__asm
{
xor eax,eax
cpuid
mov dword ptr vendor_id,ebx
mov dword ptr vendor_id[+4],edx
mov dword ptr vendor_id[+8],ecx
}
str1.Format("%s",vendor_id);
__asm //取得CPU ID的高32位
{
mov eax,01h
xor edx,edx
cpuid
mov s2,eax
}
str2.Format("%08X-",s2);
__asm //取得CPU ID的低64位
{
mov eax,03h
xor ecx,ecx
xor edx,edx
cpuid
mov s1,edx
mov s2,ecx
}
str3.Format("%08X-%08X/n",s1,s2);
str2+=str3;
m_editVendor.SetWindowText(str1);
m_editCPUID.SetWindowText(str2);
}