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


         

включает прямое управление динамиком,


                  порт 60H
      -----------------------------------------------------
            Фиг. 8.2 Значение битов порта 61H
 
    управления. Как показано на Фиг. 8.1, установка бита 0 в положение
    0 включает прямое управление динамиком, блокируя механизм генерации
    звука микросхемой 8253. Этот метод используется во второй части
    програмы.
 
      Обратите внимание на то, как программа сбрасывает бит 0.
    Команда OUT включает все 8 бит порта 61H. Способа изменить только
    бит 0, оставив остальные биты нетронутыми, не существует. Если в
    программе нужно изменить только бит 0, она должна считать из порта
    текущее значение других разрядов. К счастью, микросхема 8255
    допускает прямое программное чтение выводных портов.
    Последовательность команд
 
      IN    AL , 61H
      AND   AL , 0FFH
      OUT   61H, AL
 
    читает текущий код из выводного порта, затем команда AND сбрасывает
    младший бит, а команда OUT посылает результат в выводной порт. Если
    бы программа вывела в порт просто число 0, динамик работал бы
    верно, но клавиатура была бы выключена. Работая с любым портом
    вывода побитовой настройки, стройте программу так, чтобы она не
    влияла ни на один из других бит, если только вы не собираететсь
    изменять и их.
 
      Оставшаяся часть первой программы на Фиг.8.1 изменяет значение
    бита 1 выходного порта. Исходное значение порта 61H находится уже в
    регистре AL, так что программе не нужно читать его при каждом
    выполнении цикла. Регистр CX используется таким образом, чтобы
    выполнить цикл 64K раз. При выполнении программы вам, возможно, не
    удастся услышать звук, генерируемый программой. В этом случае
    попытайтесь вставить несколько добавочных команд NOP в цикл DIRECT.
    Это снизит частоту тона.
 
      Вторая часть программы на Фиг. 8.1 для генерации тональности
    использует таймер-счетчик 8253. Прежде чем двигаться дальше,
    обсудим функционирование микросхемы 8253, чтобы понять, как она

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