Программирование на Ассемблере для персональных компьютеров. Садовой Н.Н - 52 стр.

UptoLike

Составители: 

52
становление стека необходимо производить при передаче параметров
процедуры через стек. Так как работа со стеком выполняется словами,
значение <выражение> всегда должно быть кратным двум.
Допускается вложение описания подпрограммы внутрь описания дру-
гой подпрограммы.
6.2. Вызов подпрограммы
Вызов подпрограммы выполняется командой
call [<тип вызова> ptr] <адрес процедуры>
< тип вызова > - near (word) или far (dword). Если тип не задан, по
умолчанию принимается near.
< адрес процедуры > - имя или адрес процедуры. При ближнем вызове
в стеке запоминается текущее значение регистра IP. При дальнем вызове
в стеке запоминаются значения CS:IP.
Если тип вызова
не указан явно, он определяется типом, на который
указывает <адрес процедуры>, аналогично команде безусловного перехо-
да jmp.
Пример.
Пусть в сегменте данных описаны переменные:
FADDR dd ?
NADDR dw ?
в сегменте кода описаны подпрограммы:
FPROC proc far
. . .
FPROC endp
NPROC proc
становление стека необходимо производить при передаче параметров
процедуры через стек. Так как работа со стеком выполняется словами,
значение <выражение> всегда должно быть кратным двум.

   Допускается вложение описания подпрограммы внутрь описания дру-
гой подпрограммы.

                          6.2. Вызов подпрограммы

          Вызов подпрограммы выполняется командой

   call [<тип вызова> ptr] <адрес процедуры>
   < тип вызова > - near (word) или far (dword). Если тип не задан, по
умолчанию принимается near.

   < адрес процедуры > - имя или адрес процедуры. При ближнем вызове
в стеке запоминается текущее значение регистра IP. При дальнем вызове
в стеке запоминаются значения CS:IP.

   Если тип вызова не указан явно, он определяется типом, на который
указывает <адрес процедуры>, аналогично команде безусловного перехо-
да jmp.

   Пример.
   Пусть в сегменте данных описаны переменные:
   FADDR       dd     ?
   NADDR       dw     ?
   в сегменте кода описаны подпрограммы:
   FPROC       proc far
   . .    .
   FPROC       endp


   NPROC       proc
                                                                   52