- •Лабораторная работа № 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
- •Программирование с использованием драйвера мыши.
- •Пример выполнения работы.
Порядок выполнения работы
Написать программу на языке ассемблера согласно варианту задания. Максимально использовать дружественный интерфейс с пользователем, обеспечить выдачу сообщений о всех возможных ошибках (см. процедуру er_disk в примере).
Варианты заданий.
1. Вывести атрибуты файла. В диалоговой форме произвести переустановку атрибутов.
2. Составить программу для удаления заданного каталога, содержащего файлы.
3. Создать 2 подкаталога, в каждый записать по 3 файла с сообщениями о дате их создания.
4. Вывести на экран информацию о всех дисках системы (по функции 36h).
5. Создать файл в текущем каталоге и записать в него имена всех файлов в этом каталоге.
6. Получить данные о свободном и занятом пространстве диска.
7. Организовать копирование диска1 в дисководе А: на диск2 в том же дисководе.
8. Составить программу для удаления из текущего каталога всех файлов, созданных за последний час.
9. Создать файл, содержащий имена всех файлов текущей директории с их атрибутами.
10. Организовать просмотр содержимого файла на экране порциями 10 строк по 16 символов, хранящихся в буфере такого же размера. Управлять просмотром с помощью клавиш PgUp и PgDn.
11. Создать новый подкаталог и переписать в него все файлы из текущего, созданные за последний час.
12. Задать некоторый набор символов. Сдвигом указателя в файле определить наличие и смещение заданной комбинации от начала файла.
13. Найти среди всех файлов корневого каталога наиболее старый по времени создания файл.
14. Создать временный файл. Переписать в него содержимое другого файла. Подсчитать длину записи, вывести на экран и уничтожить временный файл.
15. Создать несколько текстовых файлов с расширением .txt и один с расширением .doc. Дописать во все файлы *.txt содержимое файла .doc.
Вопросы по теме работы
1. Что такое хендл ?
2. Какие возможности работы с дисками и файлами имеются у программиста?
3. Чем отличаются друг от друга функции DOS «изменить диск» и «сменить текущий каталог» ?
4. Что такое указатель файла ?
5. Как обнулить содержимое файла ?
6. Какие атрибуты файла Вы знаете ?
7. Что такое буфер диска и как получить адрес текущего буфера ?
8. Как записать информацию в конец файла ?
9. Как найти информацию в файле ?
Лабораторная работа № 2
Использование BIOS при работе с гибким диском.
Основные сведения.
MS DOS предоставляет мощный набор функций для работы с файловой системой, BIOS же не знает о ней ничего. Поэтому использование BIOS оправдано, в основном, при необходимости выполнения нестандартных действий (нестандартное форматирование, прямое обращение к FAT и т.д.). Все операции с диском выполняются в BIOS через вызов функций прерывания 13Н.
Описание функций работы с дисками прерывания BIOS 13H.
При обращении к прерыванию BIOS 13H необходимо проделать следующее:
— выбрать функцию, выполняющую требуемые действия;
— занести номер функции в регистр АН;
— подготовить другие регистры (если это необходимо);
— написать команду INT 13H;
— прочесть результаты или состояние из регистров, указанных в описании данной функции.
Ниже следует описание функций 13H.