КУРСОВАЯ ЭВМ
Добавлено: дек 24, 2008 12:11
Трубокову А.О.: как заставить пищать динамик в системнеке, без всяких наворотор, просто пик
Форум кафедры <a href=\"/\" target=\"_blank\" class=\"maintitle\">\"Информатика и программное обеспечение\"</a><br/><span class=\"gen\">Брянского государственного технического униве
http://iipo.tu-bryansk.ru/forum/
; ========================================
; StartSound: включить звук с частотой AX
; Параметры:
; BX = частота звука (Гц). Передавать
; нужно от 22 до 22000
; ========================================
StartSound PROC
; Переводим частоту в тональность
mov AX,34DDh ; DX:AX = 1193181
mov DX,0012h
div BX ; AX = (DX:AX)/СX = 1193181/частота
mov BX,AX ; Сохраняем тональность в BX
; Устанавливаем настройки
in AL,61h ; Получаем порт управления PB
or AL,00000011b ; Устанавливаем биты 0-1
out 61h,AL ; Записываем обратно в порт управления PB
mov AL,0B6h ; Упр.сл.таймера
out 43h,AL ; Выводим в регистр режима
; Задаем тональность
mov AX,BX ; Записываем младший байт счетчика
out 42h,AL
mov AL,AH ; Записываем старший байт счетчика
out 42h,AL
; Выходим из процедуры
ret
StartSound ENDP
; ========================================
; StopSound - вsключить звук
; ========================================
StopSound PROC
in AL,61h ; Получаем порт управления PB
and AL,11111100b ; Сбрасываем биты 0-1
out 61h,AL ; Записываем обратно в порт управления PB
ret ; Выходим из процедуры
StopSound ENDP