"Роберт Джордайн. Справочное пособие программиста - 2 (ассемблер, операционная система MS DOS)" - читать интересную книгу автораСредний уровень. Операционная система не предоставляет специальной функции для генерации звука. Но Вы можете вызвать знакомый гудок просто пода- вая код ASCII 7 на стандартное устройство вывода (т.е. терминал), используя одну из функций DOS или BIOS. Код ASCII 7 интерпрети- руется как управляющий символ "звонок" и он не рисуется на экра- не. Проще всего использовать функцию 2 прерывания 21H: MOV AH,2 ;функция вывода символа на экран MOV DL,7 ;посылаем код ASCII 7 INT 21H ;динамик гудит Низкий уровень. Для простого гудка лучше всего подходит метод, основанный на использовании микросхемы интерфейса с периферией 8255 [1.1.1]. Ниже приведен пример, который практически повторяет гудок, кото- рый Вы слышите при старте системы. ;---гудок динамика MOV DX,800 ;счетчик числа циклов IN AL,61H ;читаем порт B 8255 AND AL,0FEH ;выключаем бит таймера 8253 OR AL,2 ;включаем бит динамика OUT 61H,AL ;посылаем байт в порт B MOV CX,150H ;длительность первой половины CYCLEUP: LOOP CYCLEUP ;задержка пока сигнал высокий AND AL,0FDH ;выключаем бит динамика OUT 61H,AL ;посылаем байт в порт B MOV CX,150H ;длительность второй половины CYCLEDOWN: LOOP CYCLEDOWN ;задержка пока сигнал низкий DEC DX ;уменьшаем счетчик циклов JNZ NEXTCYCLE ;повторяем цикл пока DX не 0 .h3 2.2.5 Генерация набора тонов. -------------------------------- В этом подразделе показано как генерировать цепочку звуков, когда компьютер ничем другим не занят; в следующем будет показано как выполнить ту же задачу, когда компьютер занят другой работой. Когда компьютер ничем другим не занят, то можно выводить мелодию или производить специальные звуковые эффекты; когда же компьютер занят другой работой, то нельзя производить звуковые эффекты. Создание звуковых строк является одной из мощнейших возможнос- |
|
|