I trying to convert function "__cpuid" from С language to C++.I have a problem that the g++ compiler does not work with Intel assembler.
I'm trying to translate this code:
__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 }
I tried to do it using examples from the Internet, I got this code, but it doesn't work:
__asm ("movl %CPUInfo,%esi\n""movl %InfoType,%eax\n""xorl %ecx,%ecx\n""cpuid\n""movl %eax,0(%esi)\n""movl %ebx,4(%esi))\n""movl %ecx,8(%esi)\n""movl %edx,12(%esi)\n" :"=r"(CPUInfo) );