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

Для чтения/записи 16-биткых значений из/в 8-битные порты 00h-08h. Очередной байт, переданный в эти порты, будет считаться младшим, а следующий за ним - старшим.

порт 0Dh/0DAh для записи: сброс контроллера DMA

Любая запись сюда приводит к полному сбросу DMA-контроллера, так что его надо инициализировать заново.

порт 0Dh/0DAh для чтения: последний переданный байт/слово.

порт 0Eh/0DCh для записи: любая запись снимает маскирующие биты со всех каналов

порт 0Fh/0DEh для записи: регистр маски всех каналов:

биты 3-0: маскирующие биты каналов 3/7, 2/6, 1/5, 0/4

Чаще всего внешнее устройство само инициализирует передачу данных, и все, что необходимо сделать программе, - это записать адрес начала буфера в порты, соответствующие используемому каналу, длину передаваемого блока данных минус один в регистр счетчика нужного канала, установить режим работы канала и снять маскирующий бит.

Описаниефункции Open_file

open_file proc near

mov ax, 3D00h ;Выполнить функцию DOS 3Dh: AH=3Dh, установим

режим доступа AL=00 – открыть для чтения

mov dx, offset filename ;Заносим в dx смещение filename и

теперь в DS:DX –полный адрес ASCIZ-

строки с именем файла

int 21h ;Передать управление операц. системе и открыть

файл для чтения

jc error_exit ; если не удалось открыть файл, перейти на

метку error_exit

mov bx, ax ; заносим идентификатор файла в BX,

необходимо для команды 42h

mov ax, 4200h ;Команда для перемещения указателя чтения/записи AH=42h,

AL=0 – от начала файла

mov cx, 0 ; CX:DX - новое значение указателя

mov dx, 38h ; по этому адресу начинаются данные в tada.wav

int 21h ; переместим файловый указатель

mov ah, 3Fh ; Чтение из файла AH=3Fh

mov cx, 27459 ; считать 27459 байтов в файле tada.wav

push ds ;заносим считанные данные в стек

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