🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Asembler i Windows

#396
From: Wiktor S.
Date: Tue, 11 Jul 2006 09:17
27 lines
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-mail
References: <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