Assembler для начинающих


         

Текстовый режим - часть 3


    контроллер ЭЛТ 6845 фирмы Motorola. Два порта ввода-вывода этого
    контроллера имеют адреса ввода-вывода 3D4H и 3D5H. На самом деле
    контроллер 6845 имеет 18 внутренних регистров. Доступ ко всем
    регистрам осуществляется с помощью двух портов ввода-вывода и
    косвенной адресации. Для обращения к регистру микросхемы 6845,
    нужно сначала загрузить индекс регистра в порт 3D4H, а затем читать
    этот регистр или записать в него данные через порт 3D5H.
 
      Приведем пример, чтобы пояснить, как работает контроллер. На
    Фиг. 8.11 перечислены все 18 регистров микросхемы 6845. В примере
    мы используем только регистры R10 и R11. Эти регистры определяют
    начальную и конечную строки растра одного знакоместа для курсора.
    Каждый символ, порождаемый цветной платой, состоит из восьми строк
    растра, имеющих номера от 0 до 7. Вы можете поместить курсор в
    любых из этих восьми строк. Регистр R10 сообщает микросхеме 6845,
    на какой строке начинается курсор, а регистр R11 определяет
    последнюю строку курсора. ROM BIOS инициализирует курсор,
    находящийся на строках 6 и 7; это делается загрузкой числа 6 в R10
    и числа 7 в R11.
 
      Прогамма на Фиг.8.12(а) модифицирует курсор цветной графической
    платы. Она смещает курсор так, что он оказывается на верхних пяти
    строках растра вместо нижних двух. Сначала программа загружает в
    индексный регистр контроллера 6845 (3D4H) число 10, а затем
    записывает номер начальной строки, равный 0, в регистр данных
    (3D5H). Затем, поместив 11 в индексный регистр, она устанавливает
    номер конечной строки равным 4. Теперь курсор имеет вид мигающего
    блока в верхней части позиции символа, а не митающего
    подчеркивания. Подобный этому способ модификации курсора
    используется несколькими редактирующими программами (редакторами)
    персональной ЭВМ, включая встроенный редактор интерпретатор языка
    Бейсик. При установке режима вставки во время редактирования,
    курсор становится жирнее; интерпретатор Бейсика делает это, меняя



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