Доступ к отображаемой памяти 1У1
указание на то, как выбираются физические страницы: если AL'=0 — по номерам, если AL=1 — по сегментам. В регистре СХ должно содержаться количество картируемых страниц, в регистре DX — дескриптор, а в DS-.SI — адрес описателя запроса. Описатель запроса содержит по два слова на каждую картируемую страницу. В первом слове указывается номер логической страницы, а во втором •'- номер (для подфункции AL^O) или сегмент (AL=1) физической страницы. Если в качестве номера логической страницы указан код $FPFF, соответствующая физическая страница перестает быть связанной с какой-либо логической: чтение из нее возвращает значение $FF (255) в любом байте и запись в нее не меняет этого значения.
Изменить количество связанных с дескриптором страниц
Вход: АН = $51;
DX = дескриптор EMM;
ВХ = новое количество страниц.
С помощью функции $51 программа может изменить количество связанных с дескриптором страниц. При обращении к ней регистр DX содержит ранее созданный дескриптор, а ВХ — новое количество логических страниц, связываемых с этим дескриптором. Если ВХ меньше того количества, которым располагает дескриптор к моменту вызова функции, освобождаются страницы со старшими номерами.
Получить/установить флаг сохранения страниц
Вход: АН = $52;
AL = номер подфункции:
О — получить флаг;
1 — установить флаг;
2 — дать признак аппаратной поддержки функций 0 и 1. Выход: AL = флаг сохранения — для подфункции 0 или признак
аппаратной поддержки для подфункции 2. Некоторые EMS— платы поддерживают так называемые сохраняемые страницы. Содержимое таких страниц не меняется при «горячей» перезагрузке ДОС, т.е. при перезагрузке без выключения питания (реализуется кнопкой RESET или клавишами Ctrl-Alt-Del). С помощью функции $52 программа может объявить сохраняемыми страницы, связанные с некоторым дескриптором. Для этого необходимо обратиться к подфункции AL=l, указав в регистре DX дескриптор, а в ВХ флаг сохранения. Если флаг равен единице, страницы становятся сохраняемыми, если нулю — не сохраняемыми. С помощью подфункции AL~=0 можно проверить флаг сохранения страниц (0 — не сохраняются, 1 — сохраняются), а подфункция 2 возвращает в AL признак аппаратной поддержки сохраняемых страниц (0 — нет пода.ержки, 1 — есть поддержка).
Установить/получить имя дескриптора Вход. АН = $53;