🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: CPUID

#1470
From: Jakub Bogusz
Date: Tue, 21 Aug 2007 17:40
36 lines
2443 bytes
W Pt, 17 VIII 2007 o 15:30 GMT, Wojtas napisał(a):
> No więc funkcja:
>
> function cpuid:longword;
> begin
>   asm
>     push ebx
>     mov eax, 1
>     cpuid
>     mov eax,edx
>     pop ebx
>   end;
> end;
>
> zwraca 4224632.

Czyli jakąś bzdurę.

Nie pamiętam już borlandowych wynalazków - czy w Delphi aby na pewno
wartość funkcji zwraca się przez eax?
IIRC inaczej było dla funkcji typu "assembler", a inaczej w przypadku
takim jak powyżej. Coś mi się przypomina przypisywanie wyniku pod
@Result, tylko nie pamiętam w którym przypadku (i czy dotyczyło to także
wersji 32-bitowej).

Po drugie w przypadku zapisywania wyników z poziomu asemblera do
zmiennej radziłbym zrobić "pop ebx" wcześniej (nie wiem jak Delphi, gcc
potrafi wykorzystać %ebx do przechowywania adresu zmiennej, jeśli nie
określi się tego rejestru jako wykorzystywanego).

Można też kod wynikowy zdisasemblować albo uruchomić pod debuggerem,
żeby zobaczyć co się dzieje.


-- 
Jakub Bogusz  |  http://qboosh.pl/
Technical Details
Message-ID: <slrnfcm8rj.1la.qboosh@stranger.qboosh.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
References: <1187283337.535618.34200@w3g2000hsg.googlegroups.com> <fa22h7$dhj$1@news.onet.pl> <1187302782.224820.88620@19g2000hsx.googlegroups.com> <fa3o0c$10s$1@news.onet.pl> <fa3oaf$1df$1@news.onet.pl> <fa3q1a$6th$1@news.onet.pl> <slrnfcar1i.30s.wojciech_mula@cat.tac> <fa3vc4$ktc$1@news.onet.pl> <1187350008.273281.101010@r34g2000hsd.googlegroups.com> <1187350422.704355.176700@o80g2000hse.googlegroups.com> <fa42mp$trk$1@news.onet.pl> <1187353080.347007.243840@19g2000hsx.googlegroups.com> <fa4cb0$nna$1@news.onet.pl> <fa4dv8$cui$1@inews.gazeta.pl> <1187364631.269070.208920@57g2000hsv.googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
From: Jakub Bogusz <qboosh@NO.SPAM.priv6.onet.pl>
Newsgroups: pl.comp.lang.asm
Subject: Re: CPUID
Date: Tue, 21 Aug 2007 17:40:04 +0000 (UTC)
Organization: tp.internet - http://www.tpi.pl/
Lines: 36
Message-ID: <slrnfcm8rj.1la.qboosh@stranger.qboosh.pl>
References: <1187283337.535618.34200@w3g2000hsg.googlegroups.com> <fa22h7$dhj$1@news.onet.pl> <1187302782.224820.88620@19g2000hsx.googlegroups.com> <fa3o0c$10s$1@news.onet.pl> <fa3oaf$1df$1@news.onet.pl> <fa3q1a$6th$1@news.onet.pl> <slrnfcar1i.30s.wojciech_mula@cat.tac> <fa3vc4$ktc$1@news.onet.pl> <1187350008.273281.101010@r34g2000hsd.googlegroups.com> <1187350422.704355.176700@o80g2000hse.googlegroups.com> <fa42mp$trk$1@news.onet.pl> <1187353080.347007.243840@19g2000hsx.googlegroups.com> <fa4cb0$nna$1@news.onet.pl> <fa4dv8$cui$1@inews.gazeta.pl> <1187364631.269070.208920@57g2000hsv.googlegroups.com>
NNTP-Posting-Host: aasq132.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
X-Trace: atlantis.news.tpi.pl 1187718155 5258 83.5.228.132 (21 Aug 2007 17:42:35 GMT)
X-Complaints-To: usenet@tpi.pl
NNTP-Posting-Date: Tue, 21 Aug 2007 17:42:35 +0000 (UTC)
User-Agent: slrn/0.9.8.1pl1 (Linux 2.6.19/i686)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit