На главную
Подписка
Новости










Главная / MS-DOS / MS-DOS. РУКОВОДСТВО РАЗРАБОТЧИКА / Приложение Д. СТРУКТУРЫ ОПЕРАЦИОННОЙ СИСТЕМЫ MS-DOS / Коды ошибок/состояния LIM EMS 3.Х, 4.0 MS-DOS и AQA EEMS3.Х Сделать домашней страницей Добавить в избранное Написать писмо

НАЗАД СОДЕРЖАНИЕ

Коды ошибок/состояния LIM EMS 3.Х, 4.0 MS-DOS и AQA EEMS3.Х

     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

НАЗАД СОДЕРЖАНИЕ

Hosted by uCoz