Продвижение сайта стоимость самая доступная.
Лучшие книги интернета
Материалы предоставлены только для просмотра. Любое использование материалов в коммерческих целях запрещено

117Робер Журден



    Низкий уровень.
    Приведенная процедура является развитием процедуры, показанной
    в предыдущем разделе, на случай реального времени. Она требует
    понимания, как перепрограммировать прерывание таймера, что обсуж-
    далось в [2.1.7]. На эту процедуру должен указывать вектор преры-
    вания и тогда она будет выполняться 18.2 раза в секунду, в те
    моменты, когда будет обновляться значение счетчика времени суток
    BIOS. Обычно, будут выполняться только несколько строчек, которых
    достаточно, чтобы определить, что время изменения звука еще не
    наступило, - и процедура освождает процессор для решения других
    задач.
    Счетчик времени суток BIOS используется для измерения длитель-
    ности каждой ноты. При переходе от одной ноты к другой, длитель-
    ность новой ноты вычисляется как число импульсов счетчика и это
    значение добавляется к текущему его значению. Каждый раз при
    вызове процедуры проверяется текущее значение счетчика времени
    суток, и когда ожидаемое время наконец наступает, то выполняется
    набор операций по поиску новой ноты, программированию ее частоты
    в канале 2 микросхемы 8253 и установлению нового счетчика дли-
    тельности. Добавочный код требуется для обработки специальных
    случаев первой и последней нот в строке.
    ;-в сегменте данных
    BEAT DB 10,9,8,7,6,5,4,3,2 ;длительность нот
    FREQUENCY DW 2280,2031,1809,1709 ;таблица частот
    DW 1521,1355,1207,1139 ;
    MELODY DB 1,2,3,4,5,6,7,8,0FFH ;номер частоты в таблице
    HOLDIP DW 0 ;запоминаем оригинальный

Предыдущая страница    117    Следующая страница




1894162410