Создание одного стека A21.MAP
Start Stop Length Name Class
00000H 00095H 00096H SSEG STACK 000A0H 000A7H 00008H DSEG 000B0H 000C8H 00019H CSEG 000D0H 000E8H 00019H CSEG
Program entry point at 000B:0000
Результаты выполнения программы представлены на рисунке 4. Рисунок 4 Ответ: 12
Вариант 4. Обмен данными через стек
Аналогично 1-ому варианту в основной программе нужно поместить директиву ExtrnPr2:far, а в дополнительной программе - директиву Public Pr2. Параметры передаются через стек аналогично передаче из процедуры в процедуру, когда они находятся в одной программе. Только надо учитывать, что в том случае, когда процедуры находятся в разных сегментах, происходит дальний вызов по CALL, и в стеке запоминается два слова из регистров CS и IP Поэтому переданные параметры находятся в стеке дальше на одно слово по сравнению с вызовом ближних процедур.
|