🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.asm
Article #1434

Re: CPUID

#1434
From: Wiktor S.
Date: Fri, 17 Aug 2007 08:59
85 lines
2620 bytes
Wojtas wrote:
>> czemu robisz dw zamiast po prostu cpuid, taki stary masz asembler?
>
> na kazdej stronie jaką widzialem to tak bylo...
> a czasem nawet:
> DB 00001111b, 10100010b
> lub:
> db $0F, $A2
>
>> przede wszystkim niepotrzebnie zapisujesz do pamięci, takie operacje
>> się wykonuje bezpośrednio na rejestrze.
> wiem, ale już sam nie wiedziałem co robić to zacząłem kombinować...
>
> Coś mi nadal nie działa:
>
> function isHTT : boolean; //nazwa na razie nie ważna
> var
>  bit : byte;
> begin
> asm
>   push esi
>   push ebx
>
>   mov eax, 1
>   cpuid
>   bt edx, 31; Bit to 3DNow!
>   jc @jestht
>
>   mov bit, 0
>   jmp @koniec
>
>   @jestht:
>   mov bit, 1
>
>   @koniec:
>
>   pop ebx
>   pop esi
> end;
>   messagebox(0, pchar(inttostr(bit)), '', 0);
> end;
>
> domyślam się że niepotrzebna jest zmienna Bit bo wynik będzie
> wartością zwracaną przez funkcję - ale ten wynik jest błedny...
>
> pokazuje 1... a mój procek to Celeron D więc nie ma 3DNow!
>
> sprawdzałem Bit Test dla FPU (Bit 0) i też nie bardzo działa...
>
> co do etykiet - próbuję już wszystkiego.

zobacz to (piszę na sucho, nie sprawdzałem):

function isHTT : boolean; assembler; //nazwa na razie nie ważna
asm
  push ebx
  mov eax,1
  cpuid
  bt edx,31
  jc @jestht
  xor al,al
  jmp @koniec
 @jestht:
  mov al,1
 @koniec:
  pop ebx
end;

wersja bez skoków:


function isHTT : boolean; assembler; //nazwa na razie nie ważna
asm
  push ebx
  mov eax,1
  cpuid
  bt edx,31
  mov al,0     // nie zmieniać na xor ani sub (flagi!)
  rcl al,1
  pop ebx
end;


-- 
Azarien
Technical Details
Message-ID: <fa3o0c$10s$1@news.onet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail
References: <1187283337.535618.34200@w3g2000hsg.googlegroups.com> <fa22h7$dhj$1@news.onet.pl> <1187302782.224820.88620@19g2000hsx.googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail
From: "Wiktor S." <SPAM.wswiktor@poczta.SPAM.fm.SPAM>
Newsgroups: pl.comp.lang.asm
Subject: Re: CPUID
Date: Fri, 17 Aug 2007 10:59:00 +0200
Organization: Onet.pl
Lines: 86
Message-ID: <fa3o0c$10s$1@news.onet.pl>
References: <1187283337.535618.34200@w3g2000hsg.googlegroups.com>   <fa22h7$dhj$1@news.onet.pl> <1187302782.224820.88620@19g2000hsx.googlegroups.com>
NNTP-Posting-Host: 76.174.wmc.com.pl
Mime-Version: 1.0
X-Trace: news.onet.pl 1187341132 1052 87.250.174.76 (17 Aug 2007 08:58:52 GMT)
X-Complaints-To: usenet@news.onet.pl
NNTP-Posting-Date: Fri, 17 Aug 2007 08:58:52 +0000 (UTC)
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3138
X-Sender: 63e3folRCjcGWUjNfLSN0w==
X-Newsreader: Microsoft Outlook Express 6.00.2900.3138
X-Priority: 3
X-MSMail-Priority: Normal
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit