Когда получает управление ваша подпрограмма на Турбо Ассемб- лере, вершина стека будет содержать адрес возврата (два или четы- ре слова, в зависимости от того, является ли подпрограмма ближней или дальней), а далее будут находится передаваемые параметры.
Примечание: При вычислении адресов параметров нужно принимать во внимание регистры, такие как BP, содержимое которых также может быть занесено в стек.)
Существует три основных метода доступа к параметрам, переда- ваемых Турбо Паскалем вашей подпрограмме на Турбо Ассемблере. Вы можете:
- использовать для адресации к стеку регистр BP;
- для получения параметров использовать другой базовый или индексный регистр;
- извлечь из стека адрес возврата, а затем параметры.
Первый и второй методы более сложны, и мы расскажем о них в следующих двух разделах. Третий метод предусматривает извлечение из стека и сохранение адреса возврата, а затем извлечения пара- метров и записи их в регистры. Лучше всего этот метод работает, когда ваша подпрограмма не требует пространства для локальных пе- ременных.