[ARG список_аргументов]
[RETURNS список_аргументов]
[LOCAL список_аргументов]
[USES список_регистров]
Команды, директивы
языка макроассемблера
RET
[имя_процедуры] ENDP
Разница описания процедуры на языке Ассемблера и на языках высокого уровня только в деталях, которые хорошо усваиваются только на практике. Принципиальных различий немного, среди которых:
-
атрибут расстояние. Он может принимать значения NEAR и FAR. 1-ый вариант – для обращения к процедуре, описанной в текущем сегменте кода, 2-ой вариант – для обращения к процедуре из другого сегмента кода (внешней по отношению к текущему сегменту кода). По умолчанию предполагается NEAR.;
-
процедуру можно помещать в любом месте программы, но таким образом, чтобы управление передавалось процедуре только в нужное время. Учитывая это, процедуру можно размещать в начале программы (до первой исполняемой команды) или в конце программы (после возвращения управления операционной системе) или в другом модуле.;
-
Обращение к процедуре происходит по команде
CALL [модификатор] имя_процедуры
Модификатор принимает такие же значения, как и в команде JMP, за исключением SHORT PTR.