Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

End start





 

Результат работы программы:

 

 

 

Адрес возврата из функции (адрес команды ret) процессор запоминает в стеке, записывая в него содержимое счетчика команд (EIP). Затем в EIP заносится первая команда из процедуры, в нашем примере AddDigs. Как только процессор встречает в теле процедуры команду возврата ret, он обращается к стеку, извлекая из него адрес следующей выполняемой после call команды, в нашем случае команды возврата ret в тело основной программы.

Если вызывается много процедур, при этом вызываемая процедура, вызывает следующую процедуру и т.д., то использование стека очень удобно. Использование стека при таких множественных вызовах представлено на рисунке представленном на следующей странице.

На рисунке…. стек для удобства показан в виде стопки, куда помещаются адреса возвратов. Заметим, что стек растет в сторону уменьшения адресов. Команда call помещает адрес возврата в стек и уменьшает на 4 содержимое регистра esp (указателя вершины стека). Поэтому новый адрес возврата оказывается на вершине стека, что позволяет осуществить последовательное возвращение в тело основной программы.

 

Рис. Использование стека при вызове функций

Пример передачи параметров через стек.

.586







Дата добавления: 2014-11-10; просмотров: 566. Нарушение авторских прав; Мы поможем в написании вашей работы!




Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Философские школы эпохи эллинизма (неоплатонизм, эпикуреизм, стоицизм, скептицизм). Эпоха эллинизма со времени походов Александра Македонского, в результате которых была образована гигантская империя от Индии на востоке до Греции и Македонии на западе...

Демографияда "Демографиялық жарылыс" дегеніміз не? Демография (грекше демос — халық) — халықтың құрылымын...

Субъективные признаки контрабанды огнестрельного оружия или его основных частей   Переходя к рассмотрению субъективной стороны контрабанды, остановимся на теоретическом понятии субъективной стороны состава преступления...

ТРАНСПОРТНАЯ ИММОБИЛИЗАЦИЯ   Под транспортной иммобилизацией понимают мероприятия, направленные на обеспечение покоя в поврежденном участке тела и близлежащих к нему суставах на период перевозки пострадавшего в лечебное учреждение...

Кишечный шов (Ламбера, Альберта, Шмидена, Матешука) Кишечный шов– это способ соединения кишечной стенки. В основе кишечного шва лежит принцип футлярного строения кишечной стенки...

Принципы резекции желудка по типу Бильрот 1, Бильрот 2; операция Гофмейстера-Финстерера. Гастрэктомия Резекция желудка – удаление части желудка: а) дистальная – удаляют 2/3 желудка б) проксимальная – удаляют 95% желудка. Показания...

Studopedia.info - Студопедия - 2014-2026 год . (0.012 сек.) русская версия | украинская версия