Получить сегмент отображаемого окна

Вход: АН = $41. Выход: J3X — сегмент окна.

После обращения к этой функции программа сможет определить адрес участка верхнего блока памяти, в котором создано отображаемое окно EMS. Начало каждой физической страницы соответствует адресу

BX+1024*N:0000,

где ВХ — сегмент окна, N — номер физической страницы (0...3). Поскольку положение окна не меняется, программа может обратиться к этой функции лишь один раз и затем использовать полученный адрес при любых операциях с отображаемой памятью.

Получить информацию о EMS-памяти

Вход: АН = $42. Выход: DX — общее число страниц (по 16 Кбайт каждая);

ВХ — количество свободных страниц.

С помощью функции $ 4 2 программа может получить, информацию об общем количестве логических страниц (регистр DX) и количестве свободных в данный момент страниц (регистр ВХ).

Создать дескриптор и распределить память

Вход: АН = $43;

ВХ — требуемое количество страниц (от 1 до 2048). Выход: DX — дескриптор EMM.

Новый дескриптор создается функцией $43. При обращении к ней в регистре ВХ указывается количество логических страниц, связываемых с дескриптором. Это количество не должно превышать значения, возвращаемого в регистре ВХ функцией $42. EMM не гарантирует, что выделенные дескриптору страницы будут располагаться в смежных физических блоках (т.е., например, соответствовать непрерывному адресному пространству дополнительной памяти, если отображаемая память эмулируется драйвером EMM386.SYS), однако он строго следит за тем, чтобы никакой другой дескриптор не использовал их. Программа должна сохранить полученный Ё регистре DX дескриптор для использования выделенной ему памяти.

Картироватъ окно

Вход: АН = $44;

AL = номер логической страницы (от 0 до 3);

ВХ = физический номер страницы (от 0 до N— 1, где

N — количество страниц, связанных с данным дескриптором);

DX = дескриптор EMM.

Функция $44 осуществляет привязку одной логической страницы к конкретной физической странице, т.е. картирование окна. После выхода из этой функции указанная физическая страница будет отображать новую