Курсовая работа: Программа воспроизведения произвольного звукового файла с использованием звукового адаптера (формат - wav)
shl cl, SBIRQ
not cl ; построим битовую маску
in al, 21h ; прочитаем OCW1
and al, cl ; разрешим прерывание
out 21h, al ; запишем OCW1
ret
hook_sbirq endp
; процедура restore_sbirq
; восстановим обработчик и запретим прерывание
restore_sbirq proc near
mov ax, 3508h+SBIRQ ; AH=25h AL=номер прерывания
lds dx, dword ptr old_sbirq
int 21h ; восстановим обработчик
mov cl, 1
shl cl, SBIRQ ; построим битовую маску
in al, 21h ; прочитаем OCW1
or al, cl ; запретим прерывание
out 21h, al ; запишем OCW1
ret
restore_sbirq endp
; процедура open_file
; открывает файл filename и копирует звуковые данные из него, ;считая что это - tada.wav, в буфер buffer
open_file proc near
mov ax, 3D00h ; AH=3Dh AL=00
mov dx, offset filename ; DS:DX - ASCIZ-строкасименемфайла
int 21h ; открыть файл для чтения
jc error_exit ; если не удалось открыть файл - выйти
mov bx, ax ; идентификатор файла в BX
Код исходной программы(продолжение)