Delphi-Help

  • Increase font size
  • Default font size
  • Decrease font size
Главная Статьи Процессор Поддерживает ли процессор набор команд 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;
Прочитано 4189 раз

Авторизация



Счетчики