2013-12-18 4 views
1

Я должен нарисовать некоторые фигуры под Intel 8086 без использования прерываний, а напрямую получить доступ к видеокарте. Проблема в том, что я не знаю, как вызывается выполнение таких операций, поэтому я не могу даже ничего на нем писать. Все, что я знаю, это то, что этот «режим» работает с разрешением 80x25 и расположен на b800h в памяти. Я пробовал поиск в режиме «8086 графический режим», «8086 текстовый режим», «рисование без прерываний» и т. Д., Но без каких-либо ударов. Не могли бы вы рассказать мне, как называется такой рисунок, чтобы я мог читать на нем?Рисование непосредственно с помощью графической карты на Intel 8086

+0

Хочет, чтобы полностью избежать использования прерываний также в изменении режима видео (создать режим пользовательского видео только путем настройки регистров видеокарты напрямую), или только сделать рисунок, написав непосредственно в видеопамять? Первый сложнее, последний может быть простым в зависимости от видеорежима, см. Http://stackoverflow.com/questions/14081088/dot-2-pixels-together/14081142. Режим видео VGA видео 0x13 (320x200x8бит) самый простой. Нет такой вещи, как «8086-графический режим» или «текстовый режим 8086». 8086 - ** процессор **, а не ** видеокарта **. Режимы видео зависят от ** видеокарты **. – nrz

ответ

1

Ссылка на доступ к VGA video cards находится здесь.

Если вы не можете найти более подробную информацию, вы всегда можете использовать вызов прерывания, а затем отлаживать и посмотреть, что он делает.

0

С сборкой можно напрямую записывать на карту видеопамяти.

В текстовом режиме, с которым вы ссылаетесь, график памяти начинается с местоположения b800h, и каждая пара байтов относится к отображаемому символу и цвету.

Вот пример кода; он работает на dosbox или в реальной коробке dos.

org 100h 

;frame buffer location 
push 0xb800 
pop es 

;access the 79 character position on the 80 chars wide mode 
mov di, 158 

mov al, 40h ; the '@' character 
mov [es:di], al 
inc di 
mov al, 79h ; blue on gray color 
mov [es:di], al 
+0

Если у вас есть некоторые, это сделает ваш ответ более полезным. –

Смежные вопросы