- •Лабораторная работа № 1.
- •Функция 0ен
- •Функция 1ан
- •Функция 2fh
- •Функция 36н Определяет параметры диска
- •Функция 39н
- •Функция 3ан Удаляет каталог с диска
- •Функция 3вн Меняет текущий каталог на заданный
- •Функция 3сн Создаёт хендл (новый файл) на диске
- •Функция 3dн Открывает хендл (открывает файл) на диске
- •Функция 3ен
- •Функция 3fh
- •Функция 40н
- •Функция 41н
- •Функция 42н
- •Функция 43h
- •Функция 47н
- •Функция 4ен
- •Функция 4fh
- •Функция 56н
- •Функция 57н
- •Функция 5ан
- •Прерывание 25н
- •Прерывание 26н
- •Пример выполнения работы Создать новую директорию new_dir на диске а:, сделать ее текущей, записать туда файл newfile.Txt и в него записать сообщение - "Это вновь созданный файл".
- •Порядок выполнения работы
- •Вопросы по теме работы
- •Лабораторная работа № 2
- •Функция 00н
- •Функция 01н
- •Функция 02н
- •Функция 03н
- •Функция 04н
- •Флаг переноса установлен
- •Функция 05н
- •Пример выполнения работы
- •Порядок выполнения работы
- •Варианты заданий. Не использовать функции dos !!!.
- •Вопросы по теме работы.
- •Приложение а. Функция disk_status
- •Приложение в. Параметры 360к дискеты.
- •Лабораторная работа № 3
- •Основные сведения
- •Функция Назначение
- •Функция 00н
- •Функция 01h
- •Функция 02h
- •Функция 03h
- •Пример выполнение работы
- •Контрольные вопросы
- •Лабораторная работа № 4
- •Основные сведения
- •Функция 00h
- •Функция 01h
- •Функция 02h
- •Система команд матричного принтера
- •Система команд принтера фирмы Epson.
- •Команды форматирования текста
- •Команды печати графических изображений.
- •Пример выполнения работы.
- •Порядок выполнения работы
- •Варианты заданий.
- •Контрольные вопросы
- •Лабораторная работа № 5 Таймер и генерация звука.
- •Форматы управляющих команд таймера.
- •Использование каналов в ibm pc.
- •Генерация звука.
- •Частоты нот для второй октавы
- •Варианты заданий.
- •Вопросы по теме работы.
- •Лабораторная работа № 6 Работа с драйвером мыши.
- •Обращение к драйверу мыши из ассемблера
- •Функции драйвера мыши.
- •Функция 00h
- •Показать курсор
- •Функция 06н
- •Функция 07h
- •Функция 08h
- •Функция 09h
- •Функция 0Ah
- •Функция 0Bh
- •Функция 0Сh
- •Функция 0Dh
- •Функция 0Eh
- •Функция 0Fh
- •Функция 10h
- •Функция 13h
- •Функция 15h
- •Функция 16h
- •Функция 17h
- •Функция 18h
- •Программирование с использованием драйвера мыши.
- •Пример выполнения работы.
Функция 07h
Задать горизонтальный диапазон
*Вход: АХ = 07h
СХ = минимальная горизонтальная позиция курсора
DX = максимальная горизонтальная позиция курсора
*Выход:
*Примечание.
AX имеет следующий формат:
7 6 5 4 3 2 1 0
Задает диапазон допустимых координат курсора по горизонтали. Эти координаты должны находиться в пределах экрана и округляются до ближайшей допустимой позиции курсора. Если курсор будет выдвинут за границы заданного диапазона, то драйвер установит его на границу допустимой области. Если минимальное значение больше максимального, то они меняются местами.
Функция 08h
Задать вертикальный диапазон
*Вход: АХ = 08h
СХ = минимальная вертикальная позиция курсора
DX = максимальная вертикальная позиция курсора
*Выход:
*Примечание.
Задает диапазон допустимых координат курсора по вертикали. Эти координаты должны находиться в пределах экрана и округляются до ближайшей допустимой позиции курсора. Если курсор будет выдвинут за границы заданного диапазона, то драйвер установит его на границу допустимой области. Если минимальное значение больше максимального, то они меняются местами.
Функция 09h
Определить графический курсор
*Вход: АХ= 09h
DX = горизонтальная позиция точки (-16..+16)
CХ = вертикальная позиция точки (-16...+16)
DS:DX = указатель на маску экрана и маску курсора
*Выход:
*Примечание.
Задает новую форму графического курсора. DS:DX должны содержать адрес массива из 32 слов, содержащего маску экрана и (следом за ней) маску курсора. ВХ и СХ определяют положение горячей точки относительно блока курсора (внутри или вне его).
Функция 0Ah
Определить текстовый курсор
*Вход: АХ = 0Ah
ВХ = тип курсора:
0 - программный, 1 - аппаратный
СХ = маска экрана или начальная линия курсора
DX = маска курсора или конечная линия курсора
*Выход:
*Примечание.
Задает тип и форму текстового курсора. Если ВХ=1, то задается аппаратный курсор и его форма определяется содержимым СХ и DX . Если ВХ=0, то задается программный курсор и его маски экрана и курсора задаются в СХ и DX соответственно.
Функция 0Bh
Получить перемещение мыши
*Вход: АХ = 0Bh
*Выход: СХ = перемещение по горизонтали
DX == перемещение по вертикали
*Примечание.
Возвращает перемещение мыши с последнего вызова этой функции. СХ положительно при перемещении вправо и отрицательно при перемещении влево. DX положительно при перемещении вниз и отрицательно при перемещении вверх. Оба числа находятся в диапазоне от-32768 до 32767; переполнение не фиксируется. После вызова функции счетчики перемещения сбрасываются в нуль. Замечание. Одно движение мыши составляет 1/200 дюйма, т.е. примерно 0,126 мм.
Функция 0Сh
Задать программу обработки событий
*Вход: АХ = 0Ch
СХ = пользовательская маска событий
ES:DX = адрес программы обработки событий
*Выход: нет
*Примечание:
С помощью этой функции Вы можете подключить к драйверу мыши свою программу обработки некоторых событий. Маска событий определяет, в каких ситуациях Ваша программа будет вызываться, и имеет вид (единичный бит означает, что соответствующее событие должно вызывать пользовательскую программу) рис. 1
1 5 – 7 6 5 4 3 2 1 0
рис. 1.
Подпрограмма обработки событий должна соблюдать два следующих соглашения о связях :
— на входе подпрограммы определены следующие регистры:
АХ = причина вызова подпрограммы в формате маски событий;
ВХ == состояние кнопок (см. Функцию 3);
СХ = горизонтальная позиция курсора;
DX == вертикальная позиция курсора;
SI = горизонтальное перемещение мыши ;
DI = вертикальное перемещение мыши;
— подпрограмма вызывается командой CALL FAR PTR и поэтому должна оканчиваться командой длинного возврата RETF.
*Примечание.
Не забудьте перед завершением своей программы вызвать эту функцию с СХ=0, чтобы запретить пользовательскую обработку событий.