Создание одного стека A21.MAPStart 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 Поэтому переданные параметры находятся в стеке дальше на одно слово по сравнению с вызовом ближних процедур.
|