Курсовая работа: Программа воспроизведения произвольного звукового файла с использованием звукового адаптера (формат - wav)

call dsp_reset ; инициализация DSP

jc no_blaster

mov bl, 0D1h ; команда 0D1h

call dsp_write ; включитьзвук

call open_file ; прочитатьфайлвбуфер

call hook_sbirq ; перехватитьпрерывание

mov bl, 40h ; команда 40h

call dsp_write ; установка скорости передачи

mov bl, 0B2h ; константа для 11025Hz/Stereo

call dsp_write

call program_dma ; начнём DMA-передачуданных

main_loop: ; основнойцикл

cmp byte ptr finished_flag, 0

je main_loop ; выходкогдабайт finished_flag = 1

call restore_sbirq ; восстановитьпрерывание

no_blaster:

ret

old_sbirq dd ? ; адрес старого обработчика

finished_flag db 0 ; флаг окончания работы

filename db FILESPEC, 0 ; имя файла

; обработчик прерывания звуковой карты

; устанавливает флаг finished_flag в 1

sbirq_handler proc far

push ax

mov byte ptr cs:finished_flag, 1 ; установитьфлаг

mov al, 20h ; послать команду EOI

Код исходной программы(продолжение)

out 20h, al ; в контроллер прерываний

pop ax

К-во Просмотров: 519
Бесплатно скачать Курсовая работа: Программа воспроизведения произвольного звукового файла с использованием звукового адаптера (формат - wav)