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


Чтение и запись символов



Чтение и запись символов


    Подпрограммы видеопрограммы BIOS, соответствующие номерам от 8 до
    10, обрабатывают символы на дисплее.  Все эти три программы
    работают с текущим положением курсора.  Чтобы записать конкретный
    символ на экран, программа должна прежде всего задать положение
    курсора с помощью видеопрограммы BIOS при AH-2.  После вывода
    символа курсор не продвигается автоматически после того, как символ
    записан на экране.  Если программе нужно записать более одного
    символа, она дожна переместить курсор на следующую позицию перед
    записью символа.  То же самое справедливо и для чтения символов с
    дисплея.  Так как все символьные операции происходят там, где
    расположен курсор, программа, использующая видеопрограмму BIOS, не
    сможет определить, по какому адресу расположен символ в буфере.


    Программы чтения и записи символа определяют, где он расположен, а
    вызывающая программа должна знать только строку и колонку символа.
 
      Имеются две формы программы записи символа. Одна из этих
    программ требует указания как символа, так и атрибутов (мигание,
    яркость, цвета и так далее), чтобы поместить символ по текущему
    адресу курсора. Другая программа записи символа записывает только
    символ и не меняет атрибуты этой позиции. Эти две различные формы
    программ записи символа позволяют вызывающей программе принимать
    текущие атрибуты позиции символа, не выясняя, какие они. Функция
    чтения символа возвращает и символ, и его атрибуты по адресу
    курсора. Иметь здесь две разные функции не надо - информация
    доступна, и если нужна вам, используйте ее.
 
      В связи с проблемой помех цветной графической платы в программы
    чтения и записи встроена проверка горизонтального обратного хода.
    Эта проверка нужна для того, чтобы на экране не появился "снег" во
    время работы микропроцессора. Эта проверка выполняется всегда,
    независимо от того, в каком режиме находится дисплей; она
    производится даже тогда, когда используется монохромная плата.
    Максимальное время ожидания сигнала горизонтального обратного хода
    составляет примерно 63 микросекунды, или 63 миллионных долей
    секунды. Это ожидание - минимальное в процессе выдачи символа на
    экран. У фирмы IBM не оказалось достаточно места в ПЗУ, чтобы
    написать подпрограммы, проверяющие специальные случаи. Так что BIOS
    всегда ждет сигнала отсутствия помех перед чтением и записью.




Содержание раздела