🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: add esp,12

#160
From: fafek
Date: Wed, 15 Mar 2006 23:40
44 lines
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-mail
References: <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