Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по ОС.doc
Скачиваний:
3
Добавлен:
22.11.2019
Размер:
205.31 Кб
Скачать

Контрольные вопросы к лабораторной работе

  1. Какие основные возможности предоставляет программа «COPY» пользователю?

  2. Какие параметры командной строки обрабатывает программа «COPY»?

  3. Какие параметры используются для процедур FindFirst и FindNext?

  4. При помощи, каких процедур программа может получить параметры командной строки?

  5. Каковы правила реализации модуля на языке Т.Паскаль?

4. Лабораторная работа №3. Реализация низкоуровневых функций работы с каталогами

Цель работы: изучение принципов разработки низкоуровневых функций с использованием сервиса операционной системы MS-DOS. Изучение файловой системы и методов работы с файловой системой. Углубленное изучение метода реализации модуля на языке высокого уровня Турбо Паскаль, его синтаксиса.

Задание: разработать низкоуровневые функции работы с каталогами с использованием возможностей предоставляемых системным сервисом ОС MS-DOS на языке высокого уровня Турбо Паскаль. Законченные функции оформить в виде модуля.

Общие теоретические сведения

Для работы с каталогами ОС предоставляет программисту следующие возможности:

  • создание каталога;

  • удаление каталога;

  • установка каталога по умолчанию (текущий каталог для программ);

  • получение каталога по умолчанию.

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

Функция 39H: Создать новое оглавление -- MKDIR

Входные параметры:

  • Регистр AH - 39H;

  • Регистровая пара DS:DX - адрес строки ASCIIZ с именем оглавления.

Выходные параметры:

  • Регистр AX- код ошибки, если флаг CF установлен.

Описание:

DS:DX указывает на строку в формате ASCIIZ следующего вида: "диск:\путь\оглавление". Если диск и/или корневой путь опущены, они берутся по умолчанию. Подоглавление создается и связывается с существующим деревом. Если флаг CF установлен при возврате, то AX содержит код ошибки, и оглавление не создается.

Функция 3aH: Удалить оглавление -- RMDIR

Входные параметры:

  • Регистр AH - 3aH;

  • Регистровая пара DS:DX - адрес строки ASCIIZ с именем оглавления.

Выходные параметры:

  • Регистр AX- код ошибки, если флаг CF установлен.

Описание:

DS:DX указывает на строку ASCIIZ в форме: "d:\путь\оглавление". Если диск и/или корневой путь опущены, они берутся по умолчанию. Подоглавление удаляется из структуры оглавлений. Если флаг CF установлен при возврате, то AX содержит код ошибки, и оглавление не удаляется.

Замечание:

Оглавление не должно содержать файлов и подоглавлений и не должно быть связано возможными ограничениями DOS (например, не должно быть задействовано в активных командах JOIN или SUBST).

Функция 3bH: Установить умалчиваемое оглавление DOS – CHDIR

Входные параметры:

  • Регистр AH - 3bH;

  • Регистровая пара DS:DX - адрес строки ASCIIZ с именем оглавления.

Выходные параметры:

  • Регистр AX - код ошибки, если CF установлен.

Описание:

DS:DX указывает на строку ASCIIZ в форме: "d:\путь\оглавление". Если диск и/или корневой путь опущены, они берутся по умолчанию. Указанное подоглавление для указанного диска становится текущим (умалчиваемым) оглавлением DOS для этого (или текущего) диска. Если флаг CF установлен при возврате, то AX содержит код ошибки, и текущее оглавление для выбранного диска не изменяется.

Функция 47H: Дать умалчиваемое оглавление DOS

Входные параметры:

  • Регистр AH - 47H;

  • Регистровая пара DS:SI - адрес локального буфера для результирующего пути: 64 байта;

  • Регистр DL - номер диска (0=текущий, 1=A, и т.д.).

Выходные параметры:

  • Регистр AX - код ошибки, если CF установлен.

Описание:

В буфер по адресу DS:SI помещается в форме ASCIIZ путь текущего умалчиваемого оглавления для диска, указанного в DL. Путь возвращается в формате: "путь\оглавление". Впереди не указывается буква диска, а сзади не подставляется символ "\". Например, если текущим является корневое оглавление, эта функция возвращает, пустую строку (DS:[SI]=0).