- •Методические указания и задания
- •Лабораторная работа №1
- •Методические указания к лабораторной работе
- •Задание к лабораторной работе №1
- •Лабораторная работа №2
- •Методические указания к лабораторной работе
- •Задание к лабораторной работе №2
- •Лабораторная работа №3
- •Методические указания к лабораторной работе
- •Задание к лабораторной работе №3
- •Лабораторная работа №4
- •Тема: Приемы низкоуровневой работы с мышью.
- •Методические указания к лабораторной работе
- •Включение курсора мыши:
- •Выключение курсора мыши:
- •Установка драйвера событий:
- •Задание к лабораторной работе №4
- •Контрольные вопросы
- •Лабораторная работа №5
- •Методические указания к лабораторной работе
- •Задание к лабораторной работе №5
- •Контрольные вопросы
- •Лабораторная работа № 6
- •Задание к лабораторной работе №6
- •Лабораторная работа №7
- •Методические указания к лабораторной работе
- •Задание к лабораторной работе №7
- •Лабораторная работа №8
- •Методические указания к лабораторной работе
- •Задание к лабораторной работе
- •Приложение а
- •Приложение б
- •Функции для работы с cd проигрывателем
- •Endp _StopPlay
- •Endp _DiskInfo
- •Лабораторная работа № 1
- •Лабораторная работа № 4
- •Приемы низкоуровневой работы с мышью………………………………25
Контрольные вопросы
1.Каковы принципы работы контактных, бесконтактных и оптических мышей?
2.Перечислите операции работы с мышью?
3. В каких регистра храняться координаты указателя мыши?
4. Как осуществляется определение типа мыши?
5. С помощью какого проерывания обрабатывается сигнал от мыши?
Лабораторная работа №5
Тема: Работа с CD проигрывателем.
Цель работы: Изучение возможностей, предоставляемых драйвером CD-ROM msdex.
Методические указания к лабораторной работе
В лабораторной работе подробно рассматриваются возможности работы с драйвером CD-ROM. Для выполнения лабораторной работы необходим драйвер CD-ROM mscdex; его функции используются для воспроизведения музыкальных компакт-дисков. Все они вызываются прерыванием 2Fh.
Mscdex (Microsoft CD extension) предоставляет следующие возможности (таблица 1):
Таблица 2 – возможности Mscdex
Функция |
Аргументы |
Результаты |
Проверка наличия драйвера MSCDEX
|
AX = 1100h
|
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 – адрес драйвера устройства. |
Получить авторское имя файла
|
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 сбрасывается при успехе. |
|
То же |
То же |
|
|
|
Проверка устройства |
AX = 150Bh
|
BX = ADADh, если MSCDEX установлен; AX = 0000h, если устройство не поддерживается; иначе в АХ не нулевое значение. |
Получить версию MSCDEX |
|
BH = старшее число BL = младшее число |
Получить CD-ROM буквы устройств |
ES:BX -> буфер для списка букв (1 байт на устройство) |
Результат в буфере |
Направить запрос устройству |
AX = 1510h CX = цифра устройства ES:BX -> заголовок запроса к устройству |
|
Для функции 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 проигрывателем. В приложении В – листинг программы.