Здравствуйте, я нашел такую функцию
void mycpuid(int CPUInfo[4], int InfoType)
{
__asm
{
mov esi, CPUInfo
mov eax, InfoType
xor ecx, ecx
cpuid
mov dword ptr[esi + 0], eax
mov dword ptr[esi + 4], ebx
mov dword ptr[esi + 8], ecx
mov dword ptr[esi + 12], edx
}
}
Но при потытке вивести ее в файл в виде
#include <iostream>
extern "C"
{
void getCpuID(int CPUInfo[4], int InfoType);
}
int main()
{
int CPUInfo[4];
int InfoType = 0;
getCpuID(CPUInfo, InfoType);
std::cout << CPUInfo[0] << "\n";
std::cout << CPUInfo[1] << "\n";
std::cout << CPUInfo[2] << "\n";
std::cout << CPUInfo[3] << "\n";
}
.386
.model tiny, C
.code
getCpuID PROC PUBLIC
push ebp
mov ebp, esp
mov esi, CPUInfo
mov eax, InfoType
xor ecx, ecx
cpuid
mov dword ptr[esi + 0], eax
mov dword ptr[esi + 4], ebx
mov dword ptr[esi + 8], ecx
mov dword ptr[esi + 12], edx
pop ebp
ret
getCpuID ENDP
end
компилятор ругается что
mov esi, CPUInfo
mov eax, InfoType
undefined