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


         

выдачи на экран символов, которые


    выдачи на экран символов, которые затем надо удалить. Когда
    программа BIOS записывает символ на дисплей при включенном бите
    XOR, он берет функцию "исключающее или" от содержимого буфера и
    образа символа. Обычно это дает символ в читабельной форме, но его
    фактический вид зависит от фона, на котором он записывается. Но
    когда программа BIOS снова записывает символ на то же место, опять
    используя функцию XOR, символ исчезает, и экран возвращается к
    своему первоначальному виду. Этот метод предпочтительнее того, при
    котором записывается символ, а затем поверх него выдается пробел.
    Запись пробела не восстановит экран к виду, который он имел до
    записи символа. Вы можете очень эффективно использовать эту
    возможность записи со стиранием в случаях, когда вам надо выдать
    временное сообщение на экран.
 
      Программа чтения символа работает аналогично, когда дисплей
    находится в графическом режиме; BIOS извлекает образ символа из
    дисплейного буфера, а затем сравнивает этот образ с образами
    таблицы символов. Когда она находит символ, это отвечает, что по
    данному адресу находится найденный символ. Эта программа работает
    только в случае точного соответствия, так что если часть другой
    графической картинки вторгнется в позицию символа, BIOS не сможет
    распознать символ. Более того, эта программа позволяет программисту
    считать графический режим идентичным текстовому режиму. Пока
    программа использует для взаимодействия с дисплеем BIOS, она может
    работать с текстом независимо от режима работы дисплея.
 
      Вспомним теперь, что и программы сдвига изображения тоже имеют
    специальные части для обслуживания графических режимов. Если вы
    вернетесь к соответствующей части BIOS, то обнаружите, что она
    определяет окна сдвига в графическом дисплее и выполняет сдвиг
    способом, который идентичен сдвигу в текстовом режиме. Сдвиг в
    графических режимах происходит несколько медленне, чем в текстовом
    режиме, в первую очередь из-за того, что программа должна переслать
    все 16000 байт, а не 2000 или 4000 байт, нужных в текстовом режиме.
    Это дает 4- - 8-кратное увеличение времени сдвига, и оно становится
    заметно больше.
 
      Способность BIOS обрабатывать символы в графических режимах
    дает большие возможности. Становится достаточно простым нарисовать
    график или картинку, а затем использовать символы для пометки
    отдельных частей рисунка. Кроме того, вы можете отвести часть
    экрана под графическое изображение, а другое окно использовать для
    текста. В это окно вы можете заносить обычный текст с помощью
    программ символьного вывода, а также сдвигать его. В других случаях
    вы можете записывать символы на дисплей, не обращая внимания на его
    текущий режим. BIOS сама определит, в каком режиме находится
    дисплей, и правильно запишет символы.

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