Delphi-Help

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

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

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


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

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

function TForm1.Check3DNow: boolean;
var
  Temp: dword;
begin
   Temp := 1;
   asm
      push ebx
      mov eax, $80000000
      dw $A20F
      cmp eax, $80000000
      jbe @NOEXTENDED
      mov eax, $80000001
      dw $A20F
      test edx, $80000000
      jnz @EXIT
      @NOEXTENDED:
      mov Temp, 0
      @EXIT:
      pop ebx
   end;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
   if Check3DNow then
      ShowMessage( 'Поддерживается' )
   else
      ShowMessage( 'Не поддерживается' )
end;

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

function is3DNowSupport: boolean; assembler;
asm
   push ebx
   mov @Result, true
   mov eax, $80000000
   dw $A20F
   cmp eax, $80000000
   jbe @NOEXTENDED      // 3DNow не поддерживается
   mov eax, $80000001
   dw $A20F
   test edx, $80000000
   jnz @EXIT            // 3DNow поддерживается
   @NOEXTENDED:
   mov @Result, false
   @EXIT:
   pop ebx
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
   if is3DNowSupport then
      ShowMessage( 'Поддерживается' )
   else
      ShowMessage( 'Не поддерживается' )
end;
Прочитано 3055 раз

Авторизация



Счетчики