Рефераты | Рефераты по информатике, программированию | API Spying | страница реферата 4 | Большая Энциклопедия Рефератов от А до Я
Большая Энциклопедия Рефератов от А до Я
  • Рефераты, курсовые, шпаргалки, сочинения, изложения
  • Дипломы, диссертации, решебники, рассказы, тезисы
  • Конспекты, отчеты, доклады, контрольные работы

  • Она сохраняет в стеке адрес, по которому нужно передать управление после окончания функции, и передаёт управление на начало функции.

    Передача параметров

    Процессор Intel x86 ничего не знает о параметрах вызываемых функций, поэтому механизм передачи параметров может быть произвольным, главное чтобы вызывающий и вызываемый код договорились о нём заранее. Мест, где можно сохранить параметры, не так уж и много: либо в регистрах, либо в стеке, либо часть там, а часть там.

    ПРИМЕЧАНИЕ

    Конечно, можно передавать параметры по ссылке или по значению, в прямом порядке или в обратном, но это для нас не важно, важно только то, где передаваемая информация (параметры или их адреса) находится.

    Передача параметров через регистры используется в основном в двух случаях:

    Компилятором для оптимизации.

    Ассемблер-программистом из лени или в погоне за производительностью. Чтобы достать параметры из стека, надо написать несколько дополнительных команд, а в регистрах они сразу под рукой.

    В большинстве остальных случаев параметры передаются через стек. При этом вызов функции выглядит примерно так:

     push ...  ; Параметр

     push ...  ; Ещё один параметр

     push ...  ; И последний параметр

     call xxxxxh ; Вызов

    А стек к моменту начала выполнения функции – так:

    Рефераты | Рефераты по информатике, программированию | API Spying 

    Рисунок 1. Состояние стека в начале выполнения функции.

    Возврат из функции

    Возврат управления производит инструкция ret, имеющая четыре различные формы:

     ret

     ret xxxh

     retf

     retf xxxh

    ПРИМЕЧАНИЕ

    Модификация retf предназначена для возврата из функции, которую вызвали из другого сегмента («дальним вызовом»). Ниже она не упоминается, так как, во-первых, в Windows вы её вряд ли встретите, во-вторых, с точки зрения реализации API Spying-а, она практически не отличается от ret.

    Задача, выполняемая ret*:


    Рекомендуем скачать другие рефераты по теме: конспект 5 класс, шпаргалки по физике.



    Предыдущая страница реферата | 1  2  3  4  5  6  7  8  9  10  11 |




    Поделитесь этой записью или добавьте в закладки

       




    Категории:



    Разделы сайта




    •