"Роберт Джордайн. Справочное пособие программиста - 2 (ассемблер, операционная система MS DOS)" - читать интересную книгу автора.h3 1.1.3 Определение версии MS DOS. ------------------------------------ По мере развития MS DOS к ней добавлялись новые возможности, многие из которых существенно облегчают написание определенных частей программы по сравнению с предыдущими версиями. Чтобы иметь гарантию что программа будет работать с любой версией MS DOS она должна использовать только функции, доступные в MS DOS 1.0. В системе предусмотрено прерывание, возвращающее номер версии MS DOS. Это число может использоваться для проверки выполнимости Вашей программы. Минимально, программа может при старте выдавать сообщение об ошибке, сообщая что ей нужна другая версия MS DOS. Средний уровень. Функция 30H прерывания 21H возвращает номер версии MS DOS. Старший номер версии (2 из 2.10) возвращается в AL, а младший номер версии (10 из 2.10) возвращается в AH (обратите внимание, что младший номер .1 возвращает значение AH, а не 1H). AL может содержать 0, что указывает на версию MS DOS меньшую чем 2.0. Это прерывание меняет содержимое регистров BX и CX, в которых возв- ращается значение 0. MOV AH,30H ;номер функции получения версии INT 21H ;получить номер версии CMP AL,2 ;проверка на версию 2.х JL WRONG_DOS ;если меньше 2, то выдать сообщение .h3 1.1.4 Определение числа и типов адаптеров дисплея. ------------------------------------------------------ Программе может оказаться необходима информация о том, будет ли она работать в системе с монохромным адаптером, с цветной графической картой или с EGA, а также о наличии второго адаптера. В пункте [4.1.6] объяснено как передать управление от одного адаптера к другому. Байт статуса оборудования, хранящийся в об- ласти данных ROM-BIOS по адресу 0040:0010 сообщает установку переключателя 1, который показывает какая из карт активна. В принципе должны иметь значение 11 для монохромной карты, 10 - для цветной карты 80*25, 01 - для цветной карты 40*25 и 00 для EGA. Однако при наличии EGA он может установить биты отличными от 00, в зависимости от установки его собственных переключателей. Поэто- му Вы должны сначала другими средствами установить наличие EGA, а затем, если его нет, то по данным BIOS определить является ли активным цветной или монохромный адаптер. Для проверки наличия EGA надо прочитать байт по адресу 0040:0087. Если он равен 0, то |
|
|