- •Обработка прерываний
- •Обработка прерывания
- •Изменение вектора прерывания
- •Функция 35h
- •Дополнительные сведения о структуре doSиBios Прямое обращение к видеопамяти
- •Буфер клавиатуры
- •Пример выполнения работы
- •Варианты заданий
- •Вопросы по теме
- •Лабораторная работа № 2.
- •Функция 0ен
- •Функция 3dн Открывает хендл (открывает файл) на диске
- •Функция 3ен
- •Функция 3fh
- •Функция 40н
- •Функция 41н
- •Функция 42н
- •Функция 43h
- •Функция 47н
- •Функция 4ен
- •Функция 4fh
- •Функция 56н
- •Функция 57н
- •Функция 5ан
- •Прерывание 25н
- •Прерывание 26н
- •Пример выполнения работы Создать новую директорию new_dir на диске а:, сделать ее текущей, записать туда файл newfile.Txt и в него записать сообщение - "Это вновь созданный файл".
- •Порядок выполнения работы
- •Вопросы по теме работы
- •Лабораторная работа № 3
- •Основные сведения
- •Функция Назначение
- •Функция 00н
- •Функция 01h
- •Функция 02h
- •Функция 03h
- •Пример выполнение работы
- •Контрольные вопросы
- •Лабораторная работа № 4 Таймер и генерация звука.
- •Форматы управляющих команд таймера.
- •Использование каналов в ibm pc.
- •Генерация звука.
- •Частоты нот для второй октавы
- •Варианты заданий.
- •Вопросы по теме работы.
Функция 47н
Получает текущий каталог на указанном диске
*Вход:
АН = 47Н
DL - номер дисковода ( 0 - текущий, 1 - А и т.д. )
DS:SI - указатель на 64-байтовый участок памяти
*Выход:
Флаг переноса установлен:
АХ = 15 - несуществующий номер дисковода
Флаг переноса сброшен: нет ошибок
*Примечание.
В память по смещению SI записывается строковая переменная текущего подкаталога.
Функция 4ен
Находит первый файл на диске
Вход:
АН = 4ЕН
СХ - атрибуты
DS:DX - указатель на маршрут
*Выход:
Флаг переноса установлен:
АХ = 2 - файл не найден
= 3 - маршрут не найден
= 18 - нет больше файлов
Флаг переноса сброшен: нет ошибок
*Примечание.
Функция 4Eh ищет в текущем или указанном каталоге первый вход (файл), удовлетворяющий указанным условиям. Для просмотра всех входов укажите СХ = 16h. Если функция находит каталоговый вход, удовлетворяющий имени и атрибуту, она заполняет текущий буфер обмена с диском ( DTA) значениями указанными в следующей таблице.
Значения DTA после функции 4Eh
Смещение |
Длина |
Описание |
00h |
21 |
Зарезервировано для последующей функции 4Fh (Найти следующий файл) |
15h |
1 |
Найденный атрибут |
16h |
2 |
Время последней записи в файл |
18h |
2 |
Дата последней записи в файл |
lAh |
2 |
Младшее слово размера файла |
ICh |
2 |
Старшее слово размера файла |
lEh |
13 |
Имя и расширение файла, заканчивающееся байтом 0. |
В маршруте можно указывать символы заполнители * и ? для имени файла.
Функция 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 ... 1110 ... 5 4... 0 - разряды