00h = Успешная операция
80h = Внутренняя ошибка
81h = Аппаратная неисправность
83h = Недопустимый описатель
84h = Неописанная запрошенная функция
85h = Нет более доступных описателей
86h = Ошибка при сохранении или восстановлении контекста
отображения
87h = Запрошено больше страниц, чем имеется физически
88h = Запрошено больше страниц, чем доступно в настоящее
время
89h = Запрошено "нуль" страниц
8Ah = Ошибочный номер логической страницы
8Bh = Незаконный номер физической страницы
8Ch = Область сохранения состояния аппаратного отображе-
ния страницы переполнена
8Dh = Сохранить отображение страницы не удалось
8Fh = Неопределенная подфункция
90h = Неопределенный тип атрибута
91h = Возможность не поддерживается
92h = Успешный, но часть исходной области была затерта
93h = Длина исходной области или области назначения пре-
вышает длину области, распределенной другому
исходному описателю или описателю назначения
94h = Стандартные и расширенные области памяти перекры-
ваются
95h = Смещение внутри логической страницы превышает раз-
мер логической страницы
96h = Длина области превышает 1Мбайт
97h = Исходные области EMS и области назначения EMS име-
ют одинаковые описатели и перекрываются
98h = Тип исходной памяти или тип назначения памяти не
определен
9Ah = Указанный попеременный набор регистров карты не
поддерживается*
9Bh = Все наборы регистров попеременного отображения в
данный момент распределены
9Ch = Наборы регистров попеременного отображения не под-
держиваются
9Dh = Неописанный или нераспределенный* набор регистров
попеременного отображения
9Eh = Выделенные каналы прямого доступа в память не под-
держиваются
А0h = Нет такого имени описателя
А1h = Повторное имя описателя
А2h = Попытка прокрутить 1-Мегабайтное стандартное
адресное пространство
А3h = Содержимое исходного массива искажено или счетчик
отображаемых сегментов превышает общее количество
сегментов с управлением памятью в системе
А4h = Доступ отвергнут операционной системой
* Здесь приведен один из вариантов перевода строки
"Alter mapregister set". (Примеч. переводчика.)
AH = 40h Получить состояние менеджера
--------------------------------------
Вход : Нет
Возврат: Нет (коды ошибок состояния, возвращенные в ре-
гистр AH)
Примечание: Используйте только после установления того,
что драйверу EMS имеется
AH = 41h Получить адрес сегмента кадра страницы
-----------------------------------------------
Вход : нет
Возврат : BX = адрес сегмента кадра страницы
AH = 42h Получить адрес сегмента кадра страницы
-----------------------------------------------
Вход : нет
Возврат : BX = количество нераспределенных страниц
CX = общее количество страниц
AH = 43h Распределить страницы
------------------------------
Вход : BX = количество логических страниц для распреде-
ления
Возврат : DX = описатель
AH = 44h Отображать/не отображать страницы описателя
-----------------------------------------------------
Вход : AL = Номер физической страницы
BX = логический номер страницы, т.е. - 1 для нео-
тображенной страницы
DX = описатель
Возврат : нет
AH = 45h Освободить страницы
-----------------------------
Вход : DX = описатель
Возврат : нет
AH = 46h Получить версию
-------------------------
Вход : нет
Возврат : AL = номер версии в двоично-десятичном коде (BCD)
AH = 47h Cохранить отображение страницы
----------------------------------------
Вход : DX = описатель
Возврат : нет
AH = 48h Восстановить отображение страницы
-------------------------------------------
Вход : DX = описатель
Возврат : нет
AH = 4Bh Получить счетчик описателя
------------------------------------
Вход : нет
Возврат : BX = количество описателей
AH = 4Ch Получить страницы описателя
-------------------------------------
Вход : DX = описатель
Возврат : BX = количество логических страниц, выделенных
указанному описателю
AH = 4Dh Получить все страницы описателя
------------------------------------------
Вход : ES : DI = указатель на массив страниц описателя
Возврат : BX = количество описателей, находящихся в ис-
пользовании
AX = 4Е00h Получить карту страниц
----------------------------------
Вход : ES : DI = указатель на массив карты страниц
Возврат : состояние карты менеджера расширенной памяти
(ЕММ), хранимое в массиве карты страниц, ука-
занное с помощью ES : DI
AX = 4Е01h Установить карту страниц
------------------------------------
Вход : DS : DI = указатель на массив карты страниц
Возврат : Установка состояния карты ЕММ по массиву карты
страниц
AX = 4Е02h Получить и установить карту страниц
-----------------------------------------------
Вход : ES : DI = указатель на назначенный массив
карты страниц
DS : SI = указатель на исходный массив
карты страниц
Возврат : Установка состояния карты ЕММ по исходному
массиву карты страниц (DS : SI) назначенный
массив карты страниц (ES : DI) обновляется
с помощью состояния отображения ЕММ
AХ = 4Е03h Получить размер массива карты страниц
-------------------------------------------------
Вход : нет
Возврат : AL = количество байтов, необходимое исходному
или назначенному массиву карты страниц
AX = 4F00h Получить частичную карту страниц [EMS 4.0]
-------------------------------------------------------
Вход : DS : SI = указатель на отображаемый массив
сегментов
ES : DI = указатель на назначенный массив
частичное карты страниц
Возврат : Состояние частичной карты страниц ЕММ содер-
жится в назначенном массиве частичной карты
страниц (ES : DI)
AX = 4F01h Установить частичное отображение страниц [EMS 4.0]
--------------------------------------------------------------
Вход : DS : SI = указатель на исходный массив частичной
карты страниц
Возврат : Состояние частичной карты страниц ЕММ обнов-
ляется по исходному массиву частичной карты
страниц (DS : SI)
AX = 4F02h Получить размер массива частичной карты
---------------------------------------------------
страниц [EMS 4.0]
-----------------
Вход : BX = количество страниц в массиве частичной карты
страниц
Возврат : AL = количество байтов, необходимое для хране-
ния массива частичной карты страниц
AH = 50h Отображать/Не отображать несколько страниц опи-
--------------------------------------------------------
сателя с помощью номера страниц [EMS 4.0]
-----------------------------------------
Вход : AL = подфункция:
00h = физическая страница, указанная как номер
страницы
01h = физическая страницы, указанная адресом
сегмента
DX = описатель
CX = количество элементов в массиве отображения
логических страниц на физические
DS : SI = Указатель на массив карты логических
страниц на физические
Возврат: AH = код ошибки/состояния
AH = 51h Перераспределить страницы [EMS 4.0]
--------------------------------------------
Вход : DX = описатель
BX = количество страниц, подлежащих распределению
для описателя
Возврат: BX = фактическое количество страниц, распреде-
ленных описателю
AX = 5200h Получить атрибут описателя [EMS 4.0]
---------------------------------------------------
Вход : DX = описатель
Возврат : AL = 00h, если атрибут описателя непостоянен
AL = 01h, если атрибут описателя постоянен
AX = 5201h Установить атрибут описателя [EMS 4.0]
---------------------------------------------------
Вход : DX = описатель
ВL = 00h, если новый атрибут описателя
непостоянен
ВL = 01h, если новый атрибут описателя
постоянный
Возврат : нет
AX = 5202h Получить возможности атрибута [EMS 4.0]
---------------------------------------------------
Вход : Нет
Возврат: AL = 00h, если поддерживается постоянство
атрибута
AL = 01h, если не поддерживается
AX = 5300h Получить имя описателя [EMS 4.0]
--------------------------------------------
Вход : DX = описатель
ES : DI = указатель на 8-й символьное имя описа-
теля буфера назначения
Возврат : Имя описателя возвращается в буфер, указанный
с помощью ES : DI
AX = 5301h Установить имя описателя [EMS 4.0]
-----------------------------------------------
Вход : DX = описатель
ES : DI = указатель на 8-й символьное имя описа-
теля исходного буфера
Возврат : Имя описателя устанавливается на основе имени
в буфере указанном с помощью ES : DI
AX = 5400h Получить каталог описателей [EMS 4.0]
-------------------------------------------------
Вход : ЕS : DI = указатель на массив каталога описателей
Возврат: AL = количество элементов в каталоге описателей
AX = 5401h Отыскать поименованный описатель [EMS 4.0]
------------------------------------------------------
Вход: DS : SI = указатель на восьми-символьное имя описа-
теля буфера поиска
Возврат: DX = значение поименованного описателя
AX = 5402h Получить общее количество описателей [EMS 4.0]
----------------------------------------------------------
Вход : нет
Возврат: BX = общее количество поддерживаемых описателей
AH = 55h Изменить карту страниц и перейти [EMS 4.0]
---------------------------------------------------
Вход : AL = Подфункция:
00h = физические страницы, указанные как но-
мер страницы
01h = физические страницы, указанные адресом
сегмента
DS : SI = Указатель на карту и структуру перехода
Возврат: Помещается в целевой адрес (если AH = 00h)
AH = 56h Изменить карту страниц и вызвать [EMS 4.0]
---------------------------------------------------
Вход : AL = Подфункция:
00h = физические страницы, указанные как но-
мер страницы
01h = физические страницы, указанные адресом
сегмента
DX = описатель
DS : SI = Указатель на карту и структуру вызова
Возврат: Целевой адрес вызывается (если AH = 00h)
Примечание: Используйте RETF для возврата из вызвавшего
адреса и восстановления содержимого карты
AX = 5602h Размер пространства стека карты страниц [EMS 4.0]
-------------------------------------------------------------
Вход : нет
Возврат : BX = количество байтов пространства стека, не-
обходимое для функции "Изменить карту страниц
и вызвать"
AH = 57h Переслать/обменять область памяти [EMS 4.0]
----------------------------------------------------
Вход : AL = Подфункция:
00h = переслать область памяти
01h = обменяться областью памяти
DS : SI = Указатель на описатель области исход-
ная/назначение
Возврат : нет
AX = 5800h Получить отображаемый массив физических
---------------------------------------------------
адресов [EMS 4.0]
-----------------
Вход : ЕS : DI = указатель на отображаемый массив физи-
ческих адресов
Возврат : CX = количество элементов в отображаемом мас-
сиве физических адресов
AX = 5801h Получить число элементов отображаемого
--------------------------------------------------
массива физических адресов [EMS 4.0]
------------------------------------
Вход : нет
Возврат : CX = количество элементов в отображаемом мас-
сиве физических адресов
AX = 5900h Получить массив конфигурации технических
----------------------------------------------------
средств [EMS 4.0]
-----------------
Вход : ЕS : DI = указатель на массив конфигурации техни-
ческих средств
Возврат : Данные о технических средствах копируются в
массив конфигурации технических средств
(указанных с помощью ЕS : DI)
AX = 5901h Получить счетчик нераспределенных необра-
----------------------------------------------------
ботанных страниц [EMS 4.0]
--------------------------
Вход : нет
Возврат : BX = количество нераспределенных необработан-
ных страниц
DX = общее количество необработанных страниц
AH = 5Ah Распределить стандартные/необработанные
------------------------------------------------
страницы [EMS 4.0]
------------------
Вход: AL = Подфункция:
00h = распределить стандартные страницы
01h = распределить необработанные страницы
BX = количество страниц, подлежащих распределению
Возврат : DX = описатель
AX = 5B00h Получить установку попеременного набора регистров
-------------------------------------------------------------
карт [EMS 4.0]
--------------
Вход : нет
Возврат : Если BL = 0, ES : DI указывает на область сох-
ранения содержимого регистра карты
Если BL <> 0, BL = указатель на действующий
попеременный набор регистров карты
AX = 5B01h Установить попеременный набор регистров
---------------------------------------------------
карт [EMS 4.0]
--------------
Вход : Если BL = 00h, ES : DI = указатель на область
сохранения содержимого регистра карты
Если BL <> 00h, BL = номер попеременного набора
регистров карты
Возврат : нет
AX = 5B02h Получить размер области сохранения
-----------------------------------------------
попеременной карты [EMS 4.0]
---------------------------
Вход : нет
Возврат : DX = количество байтов в области сохранения
содержимого регистра карты
AX = 5B03h Распределить попеременный набор регистров
-----------------------------------------------------
карты [EMS 4.0]
---------------
Вход : нет
Возврат : Если BL = 00h, отсутствуют попеременные номера
регистров карт
Если BL <> 00h, BL = номер распределенного по-
переменного набора регистров карты
AX = 5B04h Освободить попеременный набор регистров
---------------------------------------------------
карты [EMS 4.0]
---------------
Вход : BL = номер попеременного набора регистров карты
Возврат : нет
AX = 5B05h Распределить попеременный набор регистра
----------------------------------------------------
DMA [EMS 4.0]
-------------
Вход : Нет
Возврат : Если BL = 00h, наборы регистров DMA не поддер-
живаются
Если BL <> 00h, BL = номер распределенного на-
бора регистров DMA
AX = 5B06h Позволить прямой доступ к памяти (DMA) в по-
--------------------------------------------------------
переменном наборе регистров карты [EMS 4.0]
-------------------------------------------
Вход : BL = номер набора регистров прямого доступа в па-
мять (DMA)
DL = номер канала прямого доступа в память (DMA)
Возврат : нет
AX = 5B07h Не разрешить DMA в попеременном наборе
--------------------------------------------------
регистров карты [EMS 4.0]
-------------------------
Вход : BL = номер набора регистров DMA
Возврат : нет
AX = 5B08h Освободить набор регистров DMA [EMS 4.0]
-----------------------------------------------------
Вход : BL = номер набора регистров DMA
Возврат : нет
AH = 5Ch Подготовить для "теплой" начальной загрузки [EMS 4.0]
--------------------------------------------------------------
Вход : нет
Возврат : нет
AH = 5Dh Разрешить/не разрешить функции OS/E EMS 4.0]
-----------------------------------------------------
Вход : AL = Подфункция
00h = позволить установку функции OS/E
01h = не дать возможность на установку функ-
ции OS/E
02h = возвратить ключ доступа
BX, CX = ключ доступа (требуемый только при пос-
ледующих вызовах)
Возврат: BX, CX = ключ доступа, возвращаемый только при
первом вызове подфункции 00h или 01h
|