Article View: pl.comp.lang.asm
Article #160Re: add esp,12
From: fafek
Date: Wed, 15 Mar 2006 23:40
Date: Wed, 15 Mar 2006 23:40
44 lines
2246 bytes
2246 bytes
kuba wrote: > mam nast. fragment kodu: > > push 10 > push offset lancuch_zn > push 1 > call _write > add esp,12 > > ostatnia linia ponoc usuwa parametry ze stosu. Nie mam pojecia jak i > dlaczego i generalnie o co chodzi z tym usuwaniem w ostatniej linii, > dlaczego tzreba 12 dodac??? kuba wrote: > push 10 > push offset lancuch_zn > push 1 > call _write > add esp,12 > > ostatnia linia ponoc usuwa parametry ze stosu. Nie mam pojecia jak i > dlaczego i generalnie o co chodzi z tym usuwaniem w ostatniej linii, > dlaczego tzreba 12 dodac??? rejestr ESP wskazuje na miejsce w pamięci, gdzie leży stos (konkretnie jego wierzchołek); przykład: 1. ESP wskazuje na pozycję `n' 2. Robimy push eax (przykładowo - chodzi o to, że zrzucamy 4B) 3. Teraz ESP wskazuje na pozycję n-4, czyli, po polsku mówiąc, o 4 bajty niższą 4. Jeśli zrobimy pop eax, to ESP znów bedzie wskazywać na `n' Prosty wniosek, jeśli zwiększysz ESP o jakąś ilość bajtów, "obniżysz" wskaźnik wierzchołka stosu. Nie jest ważne, co się znajduje nad, ani pod wierzchołkiem, ważny jest sam wierzchołek. Gdybyś wykonał odwrotną instrukcję, czyli sub esp, 4 (przykładowo), to na szczycie stosu znajdowałaby się jakaś nieznana wartość (prawdopodobnie ta, która leżała (o ile leżała) tam wcześniej, ale została "zdjęta"). Uff, chyba troche namotałem. Pozdrawiam, fafek
Technical Details
Message-ID:
<dva53o$io4$1@inews.gazeta.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mailReferences:
<dva3ec$nkq$1@nemesis.news.tpi.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail From: fafek <fafek@[MAUPA]gazeta.pl> Newsgroups: pl.comp.lang.asm Subject: Re: add esp,12 Date: Wed, 15 Mar 2006 23:40:02 +0000 Organization: "Portal Gazeta.pl -> http://www.gazeta.pl" Lines: 44 Message-ID: <dva53o$io4$1@inews.gazeta.pl> References: <dva3ec$nkq$1@nemesis.news.tpi.pl> NNTP-Posting-Host: abw90.internetdsl.tpnet.pl Mime-Version: 1.0 X-Trace: inews.gazeta.pl 1142462392 19204 83.16.48.90 (15 Mar 2006 22:39:52 GMT) X-Complaints-To: usenet@agora.pl NNTP-Posting-Date: Wed, 15 Mar 2006 22:39:52 +0000 (UTC) User-Agent: Mozilla Thunderbird 1.0.7 (X11/20060222) X-Accept-Language: en-us, en In-Reply-To: <dva3ec$nkq$1@nemesis.news.tpi.pl> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit