JE NO_EGA ;если 0040:0087 = 0, то EGA нет
TEST AL,00001000B ;EGA есть, проверяем бит 3
JNZ EGA_NOT_ACTIVE;если бит 3=1, то EGA неактивен
.
.
EGA_NOT_ACTIVE:
MOV AL,ES:[10H] ;проверяем байт статуса дисплея
AND AL,00110000B ;выделяем биты 4 и 5
CMP AL,48 ;это монохромная карта?
JE MONOCHROME ;переход если да
Предполагая наличие монохромной карты проверим установлена ли
цветная карта (неактивная):
;- Установлена ли неактивная цветная карта?
MOV DX,3D4H ;указываем на регистр адреса 6845
MOV AL,0FH ;запрашиваем регистр курсора
OUT DX,AL ;указываем на регистр
INC DX ;указываем на регистр данных
IN AL,DX ;получаем текущее значение
XCNG AH,AL ;сохраняем значение
MOV AL,100 ;тестовое значение 100
OUT DX,AL ;посылаем его
IN AL,DX ;считываем его снова
CMP AL,100 ;сравниваем значения
JNE NO_CARD ;переход если нет карты
XCNG AH,AL ;иначе есть цветная карта
OUT DX,AL ;тогда восстанавливаем значение
1.1.5 Определение числа и типа дисковых накопителей.
Предыдущая страница 19 Следующая страница
3702527
|