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


         

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


    буфера, что эквивалентно заполнению экрана около девяти раз. Когда
    вы запустите программу, то увидите короткую вспышку помех в тот
    момент, когда будут записываться данные.
 
      Вторая часть программы на Фиг. 8.12б повторяет те же действия,
    но на этот раз проверяя бит состояния. Обратите внимание, что эта
    часть программы проверяет бит состояния двумя различными способами.
    Сначала она ждет, пока бит состояния не станет равным 0. Затем, как
    только он станет равен 1, программа записывает данные. Так сделано
    потому, что интервал, в течение которого можно записывать данные,
    очень мал, и если бы программа делала проверку только на равенство
    1, она могла бы захватить бит состояния непосредственно перед его
    обращением в 0. В этом случае, чтобы избежать помех, микропроцессор
    уже не может записывать данные достаточно быстро, но такая
    организация цикла гарантирует, что бит состояния захватывается в
    первый же момент, когда он становится равным 1.
 
      Используя бит состояния, вы уже не увидите на экране никаких
    помех, но и заметите, что выполнение программы стало гораздо
    медленнее. Выполняться медленнее программу заставляет
    дополнительное время, затрачиваемое на ожидание бита состояния.
    Если вам нужно записать на экране много данных - например,
    организовать горизонтальный сдвиг, как на Фиг. 8.8, то потребуется
    другой способ. Простейший способ - сбросить в нуль разряд
    отображения в регистре режима. Бит 3 регистра режима (3D8H)
    управляет отображением на дисплее. Если сбросить этот бит в 0,
    экран погаснет. Чтобы переслать много данных в буфер цветного
    дисплея, вы можете выключить отображение и переслать данные без
    проверки бита состояния. Поскольку отображение выключено, на экране
    не возникнут помехи. Когда пересылка блока закончится, включите
    отображение. Вы заметите короткое мигание изображения в момент его
    выключения и включения. Фирма IBM использует этот метод для
    обслуживания вертикального сдвига цветного дисплея.



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