![]() |
eXeL@B —› Вопросы новичков —› Принцип работы команды RET |
Посл.ответ | Сообщение |
|
Создано: 20 ноября 2007 02:26 · Личное сообщение · #1 |
|
Создано: 20 ноября 2007 03:13 · Личное сообщение · #2 |
|
Создано: 20 ноября 2007 16:21 · Личное сообщение · #3 эээ не ври, товарисч! не удалится, а просто на это число увеличится указатель стека. конечно явушники грят что типа данные удаляются из стека, на самом деле просто передвигается указатель. слепые люди, те кто в глаза не видел ассемблера ![]() ну то есть вот примерно так (проц 32-разрядный, для придирчивых ![]() RET 8 (ESP = 0x12FF00 к примеру) RET пошел в проц: ESP = ESP+4, т.е. 0x12FF04. вернулись в прогу: ESP = ESP+8, равен 0x12FF0C. в дебагере не проверял, лезь посмотри и скажи если я не прав. RET 3 тож можно. тогда будет: 1) ESP = ESP+4 2) ESP = ESP+3 но при этом указатель "собьется" и короче пестец будет любой проге на яву ![]() ![]() |
|
Создано: 20 ноября 2007 16:38 · Личное сообщение · #4 |
![]() |
eXeL@B —› Вопросы новичков —› Принцип работы команды RET |