- •Лабораторная работа № 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
- •Программирование с использованием драйвера мыши.
- •Пример выполнения работы.
Функция 4fh
Находит последующие файлы на диске
*Вход:
АН = 4FH
*Выход:
Флаг переноса установлен:
АХ = 18 - нет больше файлов
Флаг переноса сброшен: нет ошибок
*Примечание.
Функция 4Fh ищет следующий каталоговый вход, удовлетворяющий имени и атрибуту, указанным при вызове функции 4Eh. Текущий DTA должен содержать информацию, помещенную в него функцией 4Eh. Если функция находит вход, она заполняет DTA так же, как и функция 4Eh.
Функция 56н
Изменяет каталоговый вход ( изменяет имя файла )
*Вход:
АН = 56Н
DS:DX - указатель на маршрут
ES:DI - указатель на второй маршрут
*Выход:
Флаг переноса установлен:
АХ = 2 - файл не найден
= 3 - маршрут не найден
= 5 - нет доступа
= 17 - разные дисководы
Флаг переноса сброшен: нет ошибок
*Примечание.
Нельзя использовать эту функцию для переименования открытых файлов, скрытых и системных файлов или подкаталогов, так как это может испортить диск.
Функция 57н
Читает/устанавливает дату/время файла
*Вход:
АН = 57Н
AL = 0 - получить дату и время
AL = 1 - установить дату и время
ВХ - хендл
СХ - ( если AL=1 ) - время
DX - ( если AL=1 ) - дата
*Выход:
Флаг переноса установлен:
АХ = 1 - несуществующая функция
= 6 - несуществующий хендл
Флаг переноса сброшен:
СХ - ( если AL==0 ) - время последней записи файла
DX - ( если AL=0 ) - дата последней записи файла
*Примечание.
Формат представления времени и даты
г г г г г г г м м м м д д д д д - дата
15 ... 9 8 ... 5 4 ... 0 - разряды
ч ч ч ч ч м м м м м м с с с с с - время
15 ... 11 10 ... 5 4 ... 0 - разряды
Функция 5ан
Создает временный файл на диске
*Вход:
АН = 5АН
СХ - атрибут файла
DS:DX - указатель на маршрут
*Выход:
Флаг переноса установлен:
АХ = 2 - файл не найден
= 3 - маршрут не найден
= 4 - слишком много открытых файлов
= 5 - нет доступа
Флаг переноса сброшен:
АХ - хендл
*Примечание.
Функция 5Ah создает файл с уникальным именем. DX должен содержать смещение строки, указывающей маршрут. Маршрут представляет собой строковую переменную, задающую маршрут и имя файла и, кроме завершающего нуля, содержит еще 13 байт для записи имени файла, например,
path_l db "a:\userl",0 ,13 dup(0)
Временный файл не уничтожается автоматически, это можно сделать функцией 41h.
Прерывание 25н
Читает диск по секторам
*Вход:
AL - номер дисковода ( 0-А, 1-В и т.д.)
DS:BX - адрес буфера диска
СХ - количество секторов
DX - начальный относительный сектор
*Выход:
Флаг переноса установлен:
AL - код ошибки
Флаг переноса сброшен: нет ошибок
*Примечание.
Прерывание 25h читает с диска в буфер обмена количество секторов, указанных в DX. При вызове прерывания разрушаются все регистры кроме сегментных, поэтому необходимо сохранять перед вызовом все регистры. В момент прерывания система помещает регистр флагов в стек, а при возвращении не выбирает его, поэтому не забывайте очищать стек после прерывания.
Прерывание 26н
Записывает диск по секторам
*Вход:
AL - номер дисковода ( 0-А, 1-В и т.д.)
DS:BX - адрес буфера диска
СХ - количество секторов
DX - начальный относительный сектор
*Выход:
Флаг переноса установлен:
AL - код ошибки
Флаг переноса сброшен: нет ошибок
*Примечание.
Прерывание 26h пишет на диск буфер обмена количество секторов, указанных в DX. При вызове прерывания разрушаются все регистры, кроме сегментных, поэтому необходимо сохранять перед вызовом все регистры. В момент прерывания система помещает регистр флагов в стек, а при возвращении не выбирает его, поэтому не забывайте очищать стек после прерывания.