Консультация № 188577
30.12.2015, 12:14
0.00 руб.
0 4 1
Здравствуйте! У меня возникли сложности с таким вопросом:
как узнать какое разрешение графического режима в данный момент времени (и узнать средствами ассембрера и прерываний )?

Обсуждение

давно
Посетитель
7438
7205
30.12.2015, 16:25
общий
Адресаты:
Под ДОС-ом?
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Посетитель
7438
7205
31.12.2015, 00:02
общий
31.12.2015, 00:41
Такой ответ Вас устроит?
Код:

mov AH, 0Fh ;определение текущего режима видеоадаптера.
int 10h
;На выходе:
; AH = число символов в строке;
; AL = номер текущего режима;
; BH = номер активной страницы видеопамяти.

Вот перечень режимов:
[table]
[row][col]режим[/col][col]разрешение [/col][col]шрифт [/col][col]цвета [/col][col]адаптер[/col][col] адрес[/col][/row]
[row][col]4[/col][col]320х200[/col][col]8х8[/col][col]4[/col][col]cga,ega[/col][col]b800[/col][/row]
[row][col]5[/col][col]320х200[/col][col]8х8[/col][col]4[/col][col]cga,ega[/col][col]b800[/col][/row]
[row][col]6[/col][col]640х200[/col][col]8х8[/col][col]2[/col][col]cga,ega[/col][col]b800[/col][/row]
[row][col]0dh[/col][col]320х200[/col][col]8х8[/col][col]16[/col][col]ega,vga[/col][col]a000[/col][/row]
[row][col]0eh[/col][col]640х200[/col][col]8х8[/col][col]16[/col][col]ega,vga[/col][col]a000[/col][/row]
[row][col]0fh[/col][col]640х350[/col][col]8х14[/col][col]3[/col][col]ega,vga[/col][col]a000[/col][/row]
[row][col]10h[/col][col]640х350[/col][col]8х14[/col][col]4[/col][col]ega,vga[/col][col]a000[/col][/row]
[row][col]11h[/col][col]640х480[/col][col]8х16[/col][col]2[/col][col]vga[/col][col]a000[/col][/row]
[row][col]12h[/col][col]640х480[/col][col]8х16[/col][col]16[/col][col]vga[/col][col]a000[/col][/row]
[row][col]13h[/col][col]640х480[/col][col]8х16[/col][col]256[/col][col]vga[/col][col]a000[/col][/row]
[/table]
Кроме этого, есть еще режимы Vesa
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Посетитель
7438
7205
02.01.2016, 20:01
общий
это ответ
Здравствуйте, master1815.frolov!
Для режимов CGA, EGA и VGA можно узнать следующим образом:
Код:

mov AH, 0Fh ;определение текущего режима видеоадаптера.
int 10h
;На выходе:
; AH = число символов в строке;
; AL = номер текущего режима;
; BH = номер активной страницы видеопамяти.

Вот перечень режимов:
[table]
[row][col]режим[/col][col]разрешение [/col][col]шрифт [/col][col]цвета [/col][col]адаптер[/col][col] адрес[/col][/row]
[row][col]4[/col][col]320х200[/col][col]8х8[/col][col]4[/col][col]cga,ega[/col][col]b800[/col][/row]
[row][col]5[/col][col]320х200[/col][col]8х8[/col][col]4[/col][col]cga,ega[/col][col]b800[/col][/row]
[row][col]6[/col][col]640х200[/col][col]8х8[/col][col]2[/col][col]cga,ega[/col][col]b800[/col][/row]
[row][col]0dh[/col][col]320х200[/col][col]8х8[/col][col]16[/col][col]ega,vga[/col][col]a000[/col][/row]
[row][col]0eh[/col][col]640х200[/col][col]8х8[/col][col]16[/col][col]ega,vga[/col][col]a000[/col][/row]
[row][col]0fh[/col][col]640х350[/col][col]8х14[/col][col]3[/col][col]ega,vga[/col][col]a000[/col][/row]
[row][col]10h[/col][col]640х350[/col][col]8х14[/col][col]4[/col][col]ega,vga[/col][col]a000[/col][/row]
[row][col]11h[/col][col]640х480[/col][col]8х16[/col][col]2[/col][col]vga[/col][col]a000[/col][/row]
[row][col]12h[/col][col]640х480[/col][col]8х16[/col][col]16[/col][col]vga[/col][col]a000[/col][/row]
[row][col]13h[/col][col]640х480[/col][col]8х16[/col][col]256[/col][col]vga[/col][col]a000[/col][/row]
[/table]
Режимы Vesa расписаны здесь
5
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Посетитель
399376
5
14.01.2016, 11:49
общий
Адресаты:
Большое спасибо!
Форма ответа