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


Anmelden zum Antworten