Программирование видеоадаптеров CGA, EGA и VGA



         

Регистр сравнения линий (Line Compare Register - LCR) (индекс18h) - часть 3


mov bx,split_line mov cl,4 shl bh,cl and bh,00010000b

and al,11101111b or al,bh out dx,al

; сбрасываем бит D6 регистра высоты символов текста

dec dx mov al,9 out dx,al inc dx in al,dx and al,10111111b out dx,al jmp quit_split

ega:

mov bx,split_line mov cl,4 shl bh,cl and bh,00010000b

cmp dx,3B4h ; монохромный режим? je default_1Fh ; если да, то переходим ; на метку default_1Fh ; определяем наличие улучшенного цветного дисплея по положению ; переключателей на плате EGA

mov al,es:[488h] and al,0Fh

; положение переключателей "off off on on" ?

cmp al,3 je default_1Fh

; положение переключателей "off on on off" ?

cmp al,9 je default_1Fh

; для видеосистем с монохромным или цветным дисплеями, ; дополнительный регистр по умолчанию содержит 11h

or bh,1 jmp set_overflow

; для видеосистем с улучненным цветным дисплеем или в монохромных ; текстовых режимах дополнительный регистр по умолчанию содержит ; значение 1Fh

default_1Fh:

or bh,0Fh

; устанавливаем дополнительный регистр

set_overflow:

mov al,07h out dx,al inc dx mov al,bl out dx,al

quit_split:

} }




Содержание  Назад  Вперед