Отобразить страницу и вызвать процедуру



11.5.14. Отобразить страницу и вызвать процедуру

На входе: AH = 56h; AL = код подфункции: 0 - использовать массив номеров физических страниц; 1 - использовать массив сегментных адресов; 2 - получить размер стека, необходимого для использования подфункций 0 и 1; DS:SI = адрес структуры MapAndCall длиной 22 байта. На выходе: AH = байт состояния EMM; BX = требуемый размер стека (заполняется при выполнении подфункции 2).

Функция работает аналогично предыдущей, но не передает управление исполняемому коду, а вызывает его как процедуру.

Первые 9 байтов структуры MapAndCall соответствуют структуре MapAndJump. Далее идет еще один байт длины таблицы отображения и 4 байта адреса другой таблицы отображения. Вторая таблица описывает отображение страниц, которое будет установлено после вызова процедуры. Последние 8 байтов структуры зарезервированы для дальнейшего использования.



Содержание раздела