Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МЕТ_ОРГ_1.doc
Скачиваний:
29
Добавлен:
18.11.2019
Размер:
1.27 Mб
Скачать

Лабораторная работа № 2. Организация доступа к дискам в режиме ms dos и анализ системных ошибок.

Цель работы: состоит в изучении возможностей MS DOS при организации доступа к дискам как к набору файлов и директорий.

Домашняя подготовка

  • Ознакомиться с теоретической частью лабораторной работы.

  • Изучить назначение и возможности функций для работы с файлами.[4,13,14]

  • В соответствии с вариантом задания написать программу на языке ассемблера.

  • Подготовить ответы на контрольные вопросы.

Лабораторное задание

  1. Ввести текст программы, составленной в соответствии с вариантом задания.

  2. Отладить введенную программу и показать результат работы программы преподавателю.

  3. Ответить на контрольные вопросы.

  4. Составить отчет.

Варианты заданий

Вариант 1. Написать программу, которая попытается создать файл на диске «А» при условии, что он полностью занят. Обработать ошибки при помощи INT24h. Определить код ошибки и вывести на экран сообщение «Недостаточно места на диске А».

Вариант 2. Найти последний байт файла и дописать в конец файла 7 дополнительных байт. В случае ошибки обработать её при помощи INT 24h.

Вариант 3. Написать программу, которая определит метку тома дискеты. Если дискета не вставлена в дисковод, то обработать ошибку с помощью INT24h. Если дискета присутствует, то создать на ней файл с именем «Data_file» и записать в него имя метки.

Вариант 4. Записать текст «My text» в файл с именем «My_file» диска А. Если он отсутствует, то обработать ошибку с помощью INT24h.

Вариант 5. Создать файл на диске «А», открыть его для чтения и попытаться записать строку символов. Обработать ошибку при помощи INT24h и вывести на экран сообщение «Файл доступен для чтения».

Вариант 6. Написать программу поиска на диске «А» файла с именем «test.001». Отработать варианты :

- такого файла нет;

- дискета отсутствует;

- если файл найден, то вывести на экран имя найденного файла.

Вариант 7. Найти на диске «А» файл с именем «Rename.001» и переименовать его. Отработать варианты :

  • такого файла нет;

  • дискета отсутствует.

Вариант 8. Создать на диске «А» файл и записать в него текст (строка размером 20 байт) из сегмента данных. Отработать варианты:

  • такого файла нет;

  • дискета отсутствует.

Вариант 9. Создать файл, открыть его в режиме записи и попытаться считать первые 7 байт. Обработать ошибку при помощи INT 24h. Вывести на экран сообщение об ошибке.

Вариант 10. Создать на диске «А» файл. Изменить дату его создания на 31 декабря 2000 года. Обработать варианты, когда дискета отсутствует при помощи INT24h.

Вариант 11. Определить размер файла «text_file.001» на диске «А». Отработать варианты:

  • такого файла нет;

  • вывести на экран сообщение «Размер файла: …».

Вариант 12. Определить размер файла «text_file.001» и записать результат в файл с другим именем, если такого файла не существует, обработать ошибку. Для обработки ошибок применить INT24h. Вывести на экран сообщение о не существование файла.

Вариант 13. Открыть файл для чтения и записи, считать из файла первые 5 байт, вывести их на экран. В случае ошибки обработать её при помощи INT24h.

Вариант 14. Создать файл с атрибутом «только для чтения». Попытаться записать в него строку. Обработать ошибку при помощи INT24h. Изменить атрибут и записать строку.

Вариант 15. Прочитать имя файла, записанного на диске «А», и вывести его на экран. Обработать ситуацию, когда дискета отсутствует при помощи INT24h.

Вариант 16.Открыть файл для чтения и записи, считать из него 3 первых байта, а на их место записать код 3-х байтной команды безусловного перехода. В случае ошибки файл закрыть, иначе вывести сообщение об успешной операции.

Следует помнить, что при открытии файла указатель устанавливается на начало файла автоматически. Если указатель установлен где-то на середину файла, то, закрыв файл, а затем обратно открыв его, то указатель установится на начало файла. При чтении файла указатель перемещается на количество прочитанных байт. Т.е. если файл имеет длину 3.000 байт, то прочитав 1.500 байт, указатель переместится на середину файла.