Составители:
Рубрика:
51
6. Подпрограммы
Подпрограммы позволяют сократить объём текста программы,
применять модульный принцип построения программ, использовать
одни и те же подпрограммы в различных программах, что значительно
сокращает время создания программ и уменьшает время отладки.
6.1. Структура подпрограммы
Описание подпрограммы в языке ассемблер имеет следующую
структуру:
<имя процедуры> proc <тип процедуры>
. . .
операторы тела подпрограммы
. . .
ret [<выражение>]
<имя процедуры> endp
<тип процедуры> - определяет тип перехода: near (близкий), far (даль-
ний). Если тип не задан, по умолчанию принимается near. Тип перехода
near показывает, что тело процедуры описано в
том же сегменте, что и её
вызов. Тип перехода far обеспечивает вызов процедуры из других сегмен-
тов, с другим значением регистра CS. Такие процедуры обычно использу-
ются как отдельные объектные модули или в составе библиотек.
ret [<выражение>] - выполняет возврат из процедуры в вызывающую
программу. В зависимости от типа процедуры, эта команда восстанавли
-
вает из стека значение IP (ближний вызов) или CS:IP (дальний вызов). Эта
команда не обязана быть последней по тексту процедуры, но является по-
следней по порядку выполнения. Значение <выражение> указывает раз-
мер стека в байтах, восстанавливаемого при возврате из процедуры. Вос-
6. Подпрограммы Подпрограммы позволяют сократить объём текста программы, применять модульный принцип построения программ, использовать одни и те же подпрограммы в различных программах, что значительно сокращает время создания программ и уменьшает время отладки. 6.1. Структура подпрограммы Описание подпрограммы в языке ассемблер имеет следующую структуру: <имя процедуры> proc <тип процедуры> ... операторы тела подпрограммы ... ret [<выражение>] <имя процедуры> endp <тип процедуры> - определяет тип перехода: near (близкий), far (даль- ний). Если тип не задан, по умолчанию принимается near. Тип перехода near показывает, что тело процедуры описано в том же сегменте, что и её вызов. Тип перехода far обеспечивает вызов процедуры из других сегмен- тов, с другим значением регистра CS. Такие процедуры обычно использу- ются как отдельные объектные модули или в составе библиотек. ret [<выражение>] - выполняет возврат из процедуры в вызывающую программу. В зависимости от типа процедуры, эта команда восстанавли- вает из стека значение IP (ближний вызов) или CS:IP (дальний вызов). Эта команда не обязана быть последней по тексту процедуры, но является по- следней по порядку выполнения. Значение <выражение> указывает раз- мер стека в байтах, восстанавливаемого при возврате из процедуры. Вос- 51
Страницы
- « первая
- ‹ предыдущая
- …
- 49
- 50
- 51
- 52
- 53
- …
- следующая ›
- последняя »