Article View: pl.comp.lang.asm
Article #396Re: Asembler i Windows
From: Wiktor S.
Date: Tue, 11 Jul 2006 09:17
Date: Tue, 11 Jul 2006 09:17
27 lines
1883 bytes
1883 bytes
> push dword 0 > call ExitProcess > > To, co to CALL właściwie robi, jest bardziej zagmatwane. Program > pisany pod Windows (z wyjątkiem programów pisanych FASMem) jest > linkowany z tzw. biblioteką importową, np. kernel32.lib, która z > grubsza mówiąc zawiera odwołania do odpowiednich funkcji w dynamicznie > ładowanej bibliotece (tu: kernel32.dll). Bezpośrednio instrukcją CALL > wywoływany jest właśnie ów "łącznik" zawarty w pliku .lib, skok do > odpowiedniego kodu jest "potem". Tak przynajmniej ja to rozumiem. Chyba nie tak. Parametrem call-a jest wskaźnik na komórkę z adresem funkcji bibliotecznej. Nie ma więc "skoku potem", wywołanie funkcji dzieje się już na tym callu, tylko w kodzie programu nie ma adresu funkcji, a adres komórki zawierającej adres funkcji. dlatego NASM wymaga call [ExitProcess] gdzie [] oznacza, że ExitProcess jest wskaźnikiem, a nie etykietą. -- Azarien ejwi sizaa! moritiuri tej sejliutent!
Technical Details
Message-ID:
<e8vqbr$rn3$1@news.onet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mailReferences:
<e8lpj6$hfl$1@atlantis.news.tpi.pl> <e8rcht$31e$1@atlantis.news.tpi.pl>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." <wswiktorSP@Mpoczta.fm> Newsgroups: pl.comp.lang.asm Subject: Re: Asembler i Windows Date: Tue, 11 Jul 2006 11:17:49 +0200 Organization: Onet.pl Lines: 29 Message-ID: <e8vqbr$rn3$1@news.onet.pl> References: <e8lpj6$hfl$1@atlantis.news.tpi.pl> <e8rcht$31e$1@atlantis.news.tpi.pl> NNTP-Posting-Host: 155.168.wmc.com.pl Mime-Version: 1.0 X-Trace: news.onet.pl 1152609467 28387 87.250.168.155 (11 Jul 2006 09:17:47 GMT) X-Complaints-To: usenet@news.onet.pl NNTP-Posting-Date: Tue, 11 Jul 2006 09:17:47 +0000 (UTC) X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869 X-Sender: 63e3folRCjcGWUjNfLSN0w== X-Newsreader: Microsoft Outlook Express 6.00.2900.2869 X-Priority: 3 X-MSMail-Priority: Normal Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit