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










Главная / MS-DOS / MS-DOS. РУКОВОДСТВО РАЗРАБОТЧИКА / Глава 4 / Проверка версии используемой DOS Сделать домашней страницей Добавить в избранное Написать писмо

НАЗАД СОДЕРЖАНИЕ ВПЕРЁД

Проверка версии используемой DOS

Перед выполнением каких-либо действий многие подпрограммы TSR рассчитывают на конкретную версию, недокументированные возможности DOS и определенный порядок проверки версии текущей системы. Если версия некорректна, то TSR должна осуществить выход с выдачей соответствующего сообщения об ошибке.


DOS записывает номер версии своей системы в глобальной переменной и делает доступным это значение через запрос к BIOS с функцией 30h. При выполнении этого запроса диспетчер int 21h не выполняет переключение стеков или изменение любых глобальных переменных. Хотя этот запрос всегда безопасен, правила хорошего тона при программировании требуют, чтобы этот запрос выдавался бы среди кодов, выполняющих в программе инициализацию. Пример определения номера версии используемой операционной системы показан ниже в листинге 4-18.



                         Листинг 4-18. Проверка версии DOS
         ----------------------------------------------------------------

          VersionID   EQU   0a03h         ; DOS 3.10 (заметим, что млад-
                                          ; шая часть номера в MCB)
                      mov   ah,30h        ; ah <== функция для проверки
                                          ; версии DOS
                      int   21h           ; выдача запроса
                      cmp ax,VersionID    ; версия  возвращается  в  ax
                      jnz WrongVersion    ; версия ошибочна
         ----------------------------------------------------------------

НАЗАД СОДЕРЖАНИЕ ВПЕРЁД

Hosted by uCoz