| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm для начинающих > Очистка стека |
| Автор: rsaReliableS 22.8.2010, 20:14 | ||||
| Сабж вопрос: Перед выходом из программмы требуется обнулить стек. Когда это требовалось в с++, хватало одного цикла:
Логично, что pop требуется юзать и на асме. Но вопрос: до каких пор? Если какой-то флаг, говорящий: пуст стек или нет? Чтобы в итоге иметь схожую структуру:
Или возможно есть другой способ очистить стек? Что-то типо .clear() в C# |
| Автор: Abyx 22.8.2010, 20:18 |
| rsaReliableS, вы бредите. |
| Автор: Logree 23.8.2010, 16:23 |
| ps инструкции pop и push работают со стеком расположенным по адресу ss:esp. |
| Автор: rsaReliableS 23.8.2010, 21:03 | ||
| http://forum.vingrad.ru/users/Logree, спасибо. В общем если исходить из асма, то безболезненный выход из программы я решил сделать так:
(спасибо redsh) Либо, если опять же говорить об ассемблерных вставках в с++, то безболезненный выход нам дает exit(0); в любом месте программы, если конечно нет причин его не использовать. |
| Автор: Logree 24.8.2010, 14:36 |
| такой подход, скорее всего, работать не будет, сохраняй esp в какую нибудь переменную, eax может затереться. |
| Автор: rsaReliableS 24.8.2010, 20:43 |
| http://forum.vingrad.ru/users/Logree, разумеется |
| Автор: iff 28.8.2010, 21:00 | ||||
или
|