Home » Tipps & Tricks » System » Hardware » Prüfen, ob eine CPU MMX unterstützt

Prüfen, ob eine CPU MMX unterstützt

Folgende Funktion gibt True zurück, falls die CPU des Systems MMX unterstützt:

function IsMMX: Boolean;
asm
  PUSH    EBX
  PUSHFD                       // Erweiterte Flags holen
  POP     EAX                  // In EAX speichern
  MOV     ECX, EAX             // In ECX speichern
  XOR     EAX, $00200000       // Bit 21 negieren
  PUSH    EAX
  POPFD
  PUSHFD                       // Erweiterte Flags holen
  POP     EAX                  // In EAX speichern
  XOR     EAX, ECX             // Wenn sich BIT 21 schreiben
  JE      @@NoMMX              // Der Befehl CPUID wird
  MOV     EAX, $01             // Feature Flags anfragen
  DB      $0F,$A2              // $0F, $A2 CPUID Befehl
  XOR     EAX, EAX
  TEST    EDX, $800000         // MMX ist vorhanden wenn Bit 23 gesetzt ist
  JZ      @@NoMMX
  MOV     EAX, 1               // True
@@NoMMX:
  POP     EBX
end;