Delphi-Help

Главная Статьи Процессор Поддерживает ли процессор набор команд MMX?

Поддерживает ли процессор набор команд MMX?

Оцените материал
(0 голосов)


Поддерживает ли процессор набор команд MMX?

Способ первый

function TForm1.CheckMMX: boolean;
var
  Temp: dword;
begin
   Temp := 1;
   asm
      push ebx
      mov eax,1
      db $0F,$A2
      test edx,$800000
      jz @NOMMX
      mov edx,0
      mov Temp,edx
      @NOMMX:
      pop ebx
   end;
   CheckMMX := Temp = 0;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
   if CheckMMX then
      ShowMessage( 'Поддерживается' )
   else
      ShowMessage( 'Неподдерживается' )
end;

Способ второй

function SupportsMMX: boolean;
begin
   Result := false;
   try
      asm
         push     eax
         push     ebx
         push     ecx
         push     edx
         pushfd
         pop      eax
         mov      ebx,eax
         xor      eax,$00200000
         push     eax
         popfd
         pushfd
         pop      eax
         xor      eax,ebx
         je       @NoMMX
         mov      eax,$01
         test     edx,$800000
         jz       @NoMMX
         mov byte ptr[Result],1
         @NoMMX:
         pop      edx
         pop      ecx
         pop      ebx
         pop      eax
      end;
   except
   end;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
   if SupportsMMX then
      ShowMessage( 'Поддерживается' )
   else
      ShowMessage( 'Не поддерживается' )
end;
Прочитано 3056 раз

Авторизация



Счетчики