Курсовая работа: Программа воспроизведения произвольного звукового файла с использованием звукового адаптера (формат - wav)
mov cx, 0 ; CX:DX - новое значение указателя
mov dx, 38h ; по этому адресу начинаются данные в tada.wav
int 21h ; переместим файловый указатель
mov ah, 3Fh ; AH=3Fh
mov cx, 27459 ; это - длина данных в файле tada.wav
push ds
mov dx, ds
and dx, 0F000h ; выровняем буфер на границу 4K-страницы
add dx, 1000h ; для DMA
mov ds, dx
mov dx, 0 ; DS:DX - адрес буфера
int 21h ; чтение файла
pop ds
ret
error_exit: ; если не удалось открыть файл
mov ah, 9 ; AH=09h
mov dx, offset notopenmsg ; DS:DX = адрес сообщения об
; ошибке
int 21h ; вывод строки на экран
int 20h ; конец программы
notopenmsg db 'Could not open file', 0Dh, 0Ah ; сообщение об
; ошибке
db 'Exiting', 0Dh, 0Ah, '$'
open_file endp
; процедура program_dma
; настраиваетканал 1 DMA
program_dma proc near
mov al, 5 ; замаскируемканал 1
out 0Ah, al