На главную
Подписка
Новости










Главная / MS-DOS / MS-DOS. РУКОВОДСТВО РАЗРАБОТЧИКА / Глава 2 / Возврат значений в стеке Сделать домашней страницей Добавить в избранное Написать писмо

НАЗАД СОДЕРЖАНИЕ ВПЕРЁД

Возврат значений в стеке

Последним способом возврата значений является помещение их в стек. Эта операция требует использования регистра BP для адресации стека (таким же способом, как передача параметров в стек). При возврате значений, значения загружаются в стек в одну из ячеек памяти выше адреса возврата. Если процедура вызывается с параметрами, то для сохранения возвращаемого значения может быть использована одна из ячеек параметров. Если процедура вызывается без параметров, то вызывающая процедура должна поместить в стек фиктивный аргумент, чтобы отвести место для возвращаемого значения.


При возврате значений в стек вызываемая программа не должна очищать стек с помощью инструкции RET N. Вместо этого вызывающая процедура должна использовать для очистки стека получение возвращаемых значений через простые инструкции POP (восстановление слова из стека).


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


НАЗАД СОДЕРЖАНИЕ ВПЕРЁД

Hosted by uCoz