Консультация № 189636
03.07.2016, 20:11
0.00 руб.
0 8 1
Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:
Скажите пожалуйста как происходит прямое отражение в видеобуфер? Начиная с 3 главы и пока до 12 гл. это часто встречается, а как происходит не понятно? Мы загружаем в регистр es, 0B800(которое соответствует сегменту дисплея в текстовом режиме) потом в di(смещение) после начинаем записывать значения в ES:DI, кто эти значения от туда берёт и выводит на экран?

Обсуждение

давно
Посетитель
7438
7205
04.07.2016, 10:49
общий
Адресаты:
Контроллер дисплея
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Старший Модератор
31795
6196
04.07.2016, 11:30
общий
Адресаты:
Если сильно не упиратся в железо, то все выглядит так.
Во время так называемого строба обратного хода луча, контролер дисплея, в соответствии с установленным режимом, копирует участок памяти в память видеокарты. Во время прямого хода луча память видеокарты используется для генерации видеосигнала.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Посетитель
400156
9
04.07.2016, 11:48
общий
Спасибо!!!
Скажите ещё пожалуйста в примерах до главы 12 для ожидания нажатия клавиши использовалось
mov ah,10h
int 16h
а в файле test12.com в место функции 10h используется обнуление xor ah,ah. Почему так ?
давно
Старший Модератор
31795
6196
04.07.2016, 11:55
общий
Адресаты:
Это две одинаковые функции "Ввод символа без эхо", разница между ними, 0х10 используется для разширенной клавы, т.к. 0х0 неверно читает коды функциональных клавиш и клавиш панели NUM LOCK.
Или если по другому, то одна исползуется для старых клав, вторая для новых.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Посетитель
400156
9
04.07.2016, 19:31
общий
Спасибо!!! Тему можно закрывать.
давно
Посетитель
7438
7205
04.07.2016, 19:41
общий
04.07.2016, 19:42
Адресаты:
Ну зачем же так? Вопрос задан, получите ответ, чтобы последователям осталось
Удачи в освоении Ассемблера!
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Посетитель
400156
9
04.07.2016, 19:51
общий
давно
Старший Модератор
31795
6196
05.07.2016, 09:10
общий
это ответ
Здравствуйте, novice!

Всем этим занимается контролер видеокарты или так называемый графический процессор. Когда он не занят выводом информации на экран, он копирует информацию с памяти РС в память видеокарты. Но это упрощенное описание процесса, так сказать без железа.
На самом деле все происходит с помощью контролера DMA(direct memory access - прямой доступ к памяти). Графический процессор запрашивает доступ к памяти РС, как только получает добро, открывает доступ к своей памяти и программирует контролер DMA. Копированием или отображением информации занимается последний.

Удачи!
5
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Форма ответа