Составители:
Рубрика:
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
Страницы
- « первая
- ‹ предыдущая
- …
- 50
- 51
- 52
- 53
- 54
- …
- следующая ›
- последняя »