Delphi-Help

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

Авторизация



Счетчики