C++でアセンブラを使ってCPUIDを読み取ろうとしました。に関数があることは知っていますが、asmの方法が必要です。そのため、CPUID が実行された後、eax、ebx、ecx レジスタに ASCII コード文字列を入力する必要があります。しかし、私の問題は、asm アドレスでフルまたはハーフ eax レジスタしかできないため、その 32 ビットを 4 バイトに分割する方法です。私はこれを使用しました:
#include <iostream>
#include <stdlib.h>
int main()
{
_asm
{
cpuid
/*There I need to mov values from eax,ebx and ecx to some propriate variables*/
}
system("PAUSE");
return(0);
}