Вызов cnvindec
Вызов cnvindec
В качестве примера покажем, как может выглядеть вызов процедуры, описанной в примере В.7. Для этого в вызывающем модуле указывается следующая директива:
Invoke cnvindec, ADDR linbuf
Предполагается, что имя linbuf соответствует буферу, содержащему строку цифр в коде ASCII (см. раздел В.З). Если linbuf расположена в сегменте данных, то директива преобразуется в следующие команды:
push ds ; запись содержимого ds
push offset linbuf ; запись адреса linbuf
call cnvindec ; вызов подпрограммы cnvindec
Процедура содержит один параметр, поэтому последовательность команд, записывающих величины в стек, не зависит от языка.
Замечание
Замечание
Описание процедуры обязательно должно предшествовать ее вызову директивой Invoke. Поэтому если вызывающая часть и процедура находятся в одном программном модуле, то текст процедуры должен быть расположен перед текстом вызывающей части. Это требование остается в силе независимо от того, в одном или в разных сегментах программного модуля описаны процедура и вызывающая часть.