CPUID
-
Hallo,
ich bin kein Assembler Programmierer, aber ich muss in einer Applikation die
cpuid eines Prozessoers auslesen, da dieser Code nur für diesen Computer lauffähig sein soll. Es gibt die möglichkeit in Visual C++ inline Assembler Code zu generieren und sogar mit Variablen als operatoren zu arbeiten.So würde das aussehen in VC++:
__inline int relflanc(int far = NULL, int near = NULL){
int rval;
int pfar;
int pnear;__asm
{
mov eax ,100
mov pfar, eax
lea eax, pfar
xchg pnear, eax
cpuid
mov pfar,eax}
Nachdem ich dem Befehl CPUID Aufgerufen habe, inwelchem Register hole ich den Inhalt ab? Oder muss ich auf eine bestimmte Addresse um das ergebnis zu holen?
Bin leider kein Asm Coder, sorry wenn die Frage doof ist...Gruß Ken
-
cpuid verteilt seine daten auf mehrere register
vielleicht hilft das: http://users.erols.com/chare/cpu_id.htm
auf den pages der prozessorhersteller findet man aber auch infos dazu wenn man sucht
-
du kannst die CPU auch mittels best. "bugs" identifizieren, wenn die CpUID zu kompliziert ist, ohne dass der pc dabei abstürzt. geht aber nur wenn du wissen willst ob du einen 808x/80286/80386/80486 vorliegen hast. den code dafür gibts eig. überall im web...
cu todo