Article View: pl.comp.lang.asm
Article #395Re: Asembler i Windows
From: Bogdan (bogdro)
Date: Sun, 09 Jul 2006 16:57
Date: Sun, 09 Jul 2006 16:57
30 lines
2252 bytes
2252 bytes
Johnny napisał(a): > Przerabiam sobie książkę o asm no i wszystkie programy działają w > środowisku DOS. Mam trochę głupie pytanie ale jak się ma asm do > wywołania np. api windowsowego? Odpowiednia funkcja WinAPI jest wywoływana komendą CALL, np. 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. Pisząc FASMem jest łatwiej, bo nie ma linkowania z jakimiś plikami .lib, nie ma dyrektyw includelib w źródle itp. Program działa "od razu" na DLL, od razu (po 1 kliknięciu) dostajesz binarkę .exe (nawet można chyba ją od razu uruchomić spod FASMw). Także polecam tutoriale Iczeliona. -- Pozdrawiam, Bogdan (Linux i FreeDOS) Kurs assemblera x86 (DOS i Linuks): http://rudy.mif.pg.gda.pl/~bogdro Grupy dyskusyjne o asm: pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32 Prawdziwy, bezpieczny komunikator: www.JabberPL.org
Technical Details
Message-ID:
<e8rcht$31e$1@atlantis.news.tpi.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mailReferences:
<e8lpj6$hfl$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!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail From: "Bogdan (bogdro)" <bogdan@bogdan.pl> Newsgroups: pl.comp.lang.asm Subject: Re: Asembler i Windows Date: Sun, 09 Jul 2006 18:57:06 +0200 Organization: tp.internet - http://www.tpi.pl/ Lines: 30 Message-ID: <e8rcht$31e$1@atlantis.news.tpi.pl> References: <e8lpj6$hfl$1@atlantis.news.tpi.pl> NNTP-Posting-Host: actc174.neoplus.adsl.tpnet.pl Mime-Version: 1.0 X-Trace: atlantis.news.tpi.pl 1152464253 3118 83.11.56.174 (9 Jul 2006 16:57:33 GMT) X-Complaints-To: usenet@tpi.pl NNTP-Posting-Date: Sun, 9 Jul 2006 16:57:33 +0000 (UTC) User-Agent: Thunderbird 1.5.0.4 (X11/20060516) In-Reply-To: <e8lpj6$hfl$1@atlantis.news.tpi.pl> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit