|
|
|
|
Интерфейс прикладной программы спецификации расширенной памяти
Продвигаясь вперед от общего рассмотрения структуры и функций менеджера расширенной памяти, теперь мы может объяснить, как
выдавать запросы расширенной памяти для менеджера расширенной памяти из Вашей программы на ассемблере или языке высокого уровня и
как понимать ответы менеджера расширенной памяти на эти запросы.
Программирование на языке ассемблера спецификации расширенной памяти
Программисты на языке ассемблера, привыкшие к интерфейсу
системных вызовов DOS, найдут, что менеджер расширенной памяти
представляет практически идентичную ситуацию:
1. Поместить код функции для требующейся функции спецификации расширенной памяти в регистр AH.
2. Поместить другие аргументы, необходимые для выбранной
функции, и/или структуры данных в память, как определено спецификацией расширенной памяти LIM.
3. Передать управление менеджеру расширенной памяти путем
выдачи программного прерывания 67h.
4. Менеджер расширенной памяти возвращает управление программе, выдавшей запрос, перезаписывая код функции, помещенный в
регистр AH на шаге, кодом состояния для запрошенной операции. Код
состояния 00h сигнализирует об успешном завершении функции; любое
другое значение показывает, что менеджер расширенной памяти натолкнулся на какие-либо проблемы, пытаясь выполнить выбранную
функцию. Значения кодов ошибок и их смысл перечислены далее в
этой главе.
|
|