Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
метод_лаб_КИТ_КЭМ_new.doc
Скачиваний:
6
Добавлен:
06.02.2016
Размер:
640.51 Кб
Скачать

Контрольные вопросы

1.Каковы принципы работы контактных, бесконтактных и оптических мышей?

2.Перечислите операции работы с мышью?

3. В каких регистра храняться координаты указателя мыши?

4. Как осуществляется определение типа мыши?

5. С помощью какого проерывания обрабатывается сигнал от мыши?

Лабораторная работа №5

Тема: Работа с CD проигрывателем.

Цель работы: Изучение возможностей, предоставляемых драйвером CD-ROM msdex.

        1. Методические указания к лабораторной работе

В лабораторной работе подробно рассматриваются возможности работы с драйвером CD-ROM. Для выполнения лабораторной работы необходим драйвер CD-ROM mscdex; его функции используются для воспроизведения музыкальных компакт-дисков. Все они вызываются прерыванием 2Fh.

Mscdex (Microsoft CD extension) предоставляет следующие возможности (таблица 1):

Таблица 2 – возможности Mscdex

Функция

Аргументы

Результаты

Проверка наличия драйвера MSCDEX

AX = 1100h

          1. STACK: DADAh

AL=00h не инсталлирован, возможна инсталляция и STACK не изменяется;

01h не инсталлирован, не возможна инсталляция и STACK не изменяется;

FFh инсталлирован

STACK: WORD ADADh.

Проверка наличия CD-ROM

AX = 1500h

BX = 0000h

BX = количество устройств;

CX = начальная буква устройства (0=A:).

Получить список CD устройств

AX = 1501h

ES:BX -> буффер для списка устройств (5 bytes на одно устройство)

Буффер заполняется для каждой буквы устройства: BYTE – буква устройства, DWORD – адрес драйвера устройства.

Получить авторское имя файла

  1. AX = 1502h

ES:BX -> 38-байтовый буфер

CX = номер устройства

CF устанавливается, если устройство не CD-ROM – AX = 000Fh (неверное устройство);

CF сбрасывается в случае успеха.

Получить абстрактное имя файла

AX = 1503h

ES:BX -> 38-байтовый буфер

CX = номер устройства

CF устанавливается, если устройство не CD-ROM – AX = 000Fh (неверное устройство);

CF сбрасывается в случае успеха.

Получить имя файла документации

AX = 1504h

ES:BX -> 38-байтовый буфер

CX = номер устройства

CF устанавливается, если устройство не CD-ROM – AX = 000Fh (неверное устройство);

CF сбрасывается в случае успеха.

Абсолютное чтение

AX = 1508h

ES:BX -> буфер

CX = цифра устройства

SI:DI = номер начального сектора

DX = число секторов

CF устанавливается в случае ошибки и в AX = код ошибки (15=неверное устройство, 21= не готово);

CF сбрасывается при успехе.

    1. Запись

То же

То же

    1. Зарезервиро-вано

          1. AX = 150Ah

Проверка устройства

AX = 150Bh

          1. CX = цифра устройства

BX = ADADh, если MSCDEX установлен;

AX = 0000h, если устройство не поддерживается;

иначе в АХ не нулевое значение.

Получить версию MSCDEX

          1. AX = 150Ch

BH = старшее число

BL = младшее число

Получить CD-ROM буквы устройств

  1. AX = 150Dh

ES:BX -> буфер для списка букв (1 байт на устройство)

Результат в буфере

Направить запрос устройству

AX = 1510h

CX = цифра устройства

ES:BX -> заголовок запроса к устройству

          1. Описание см. Ниже

Для функции 1510h используется следующий формат заголовка запроса к устройству:

Request_Hdr struc

rh_Len db ? - размер структуры

rh_Subunit db ? - номер устройства

rh_Code db ? - код запроса (смотри в файле codes.inc)

rh_Status dw ? – результат запроса

rh_Reserved db 8 dup(?) - зарезервировано

Request_Hdr ends

В приложении Б приведены функции для работы с CD проигрывателем. В приложении В – листинг программы.