Delphi読み出しCPU Id

1525 ワード

ネット上で長い間探して、ついに1段の正しいCPU IDのコードを読み取ることができることを探して、以下のコードはDelphi 7テストを経ました
procedure TForm1.Button1Click(Sender: TObject);
var
   _eax, _ebx, _ecx, _edx: Longword;
   s, s1, s2,result: string;
begin
  asm
     push eax
     push ebx
     push ecx
     push edx
     mov eax,1
     db $0F,$A2
     mov _eax,eax
     mov _ebx,ebx
     mov _ecx,ecx
     mov _edx,edx
     pop edx
     pop ecx
     pop ebx
     pop eax
  end;
   s := IntToHex(_eax, 8);
   s1 := IntToHex(_edx, 8);
   s2 := IntToHex(_ecx, 8);
   result:=s+s1+s2;
   edit1.Text:=result;
end;