Profi+ BDOS. Руководство программиста. 1993 г.

Интерфейс БДОС - вызовы операций БДОС, последовательные устройства посимвольного ввода/вывода, файловая система МикроДОС.


2. ИНТЕРФЕЙС БДОС
2.1 Вызовы операций БДОС

МикроДОС использует стандартные соглашения по вызовам
операций БДОС. Доступ к операциям БДОС осуществляется через
точку входа в ячеке 0005Н. При входе в БДОС регистр С содержит
номер операции БДОС, а регистры D&E содержат байт, слово или
адрес информации. БДОС возвращает 1-байтовый результат в регистре
А, а 2-байтовые в регистрах H&L. Кроме того, при возврате регистр
A=L, В=Н. Если вызывается несуществующая операция БДОС, то для
номеров операций 0...127 в регистрах H&L возвращается значение
0FFFFH, а для операций 128...255 значение 0000И.

БДОС не сохраняет входные значения регистров вызывающей
программы, поэтому необходимые значения должны сохранятся самой
программой.

Интерпретатор команд передает загруженной программе 16-
уровневый стек, предварительно засылая в него адрес возврата 0000Н.
Таким образом, непосредственный возврат в систему эквивалентен
переходу в адрес 0000Н. Однако, большая часть прикладных программ
устанавливает собственный стек и завершает исполнение командой
перехода в ячейку 0000Н.

2.2 Последовательные устройства посимвольного ввода/вывода

Последовательные устройства посимвольного ввода/вывода - это
устройства, обеспечивающие посимвольный обмен, такие, как консоль,
печатающее устройство или устройство телеобработки данных.
Операции МикроДОС обеспечивают работу пяти логических
последовательных устройств, каждому из которых может
соответствовать одно из двенадцати физических устройств, если оно
поддержано БСВВ. Соответствие между логическими и физическими
устройствами устанавливается в БУС операцией 49 Б ДОС
(получение/установка полей БУС).

Ниже приведен список имен логических устройств и номеров
физических устройств, присвоенных при начальной загрузке:

ИМЯ НОМЕР НАЗНАЧЕНИЕ

conin: 0 консоль ввода

conout: 0 консоль вывода

list: 1 устройство печати

auxin: 2 дополнительное устройство ввода

auxout: 2 дополнительное устройство вывода

Для работы МикроДОС необходимо, чтобы логические устройства
conin: и conout: были присвоены физической консоли. Остальные
устройства могут оставатся неприсвоенными. Операции БДОС с этими
устройствами обеспечивают ввод/вывод одного или нескольких
символов и опрос состояния устройств.

2.3 Файловая система МикроДОС

Файловая система МикроДОС автоматически распределяет место в
оглавлении и области данных при создании и расширении файла и
освобождает место, занятое файлом при его удалении. Если для
исполнения операции в оглавлении или области данных диска нет
места, файловая система возвращает условие ошибки. Таким образом,
при использовании файловой системы пользователю не требу тся
знакомиться с конкретной организацией диска.

Файловая система МикроДОС обеспечивает четыре вида операций:
доступ к файлам, доступ к оглавлению, доступ к дискам и смешанные
операции.

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

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

Операции доступа к дискам включают операции выбора диска, сброса
диска, изменения состояния диска и определения свободного места на
нем.

Смешанное операции включают операции установки адреса прямого
доступа для обмена с диском, установки кода /пользователя, загрузки
новой программы, доступа к операциям БСВВ и расширенной БДОС, а
также доступа к системным переменным в БУС.

Каждый файл в оглавлении идентифицируется именем, состоящим
из собственно имени, (восемь символов) и типа файла (три символа).
Все операции МикроДОС с файлами определяют запрашиваемый файл
по его имени и типу. Некоторые операции файловой системы
обеспечивают с помощью неявных имен доступ к нескольким файлам.
Неявное имя содержит один или несколько символов ?, которые
указывают на совпадение с любым символом в данной позиции. Таким
образом, если в имени и типе все символы ?, это означает совпадение
со всеми файлами в оглавлении с текущим кодом пользователя.

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

Символы, являющиеся ограничителями, приведены в описании
операции БДОС 152.

Символы ? и * также не должны содержаться в именах файлов,
записанных в оглавлении, так как они используются для создания
неявных имен. Операция подготовки БУФ при обнаружении в имени
или типе файла символа * заполняет остаток имени или типа
символами ?, формируя, таким образом, неявное имя.

Например, имя МС*.* преобразуется в МС??????.???

Для операций поиска и удаления файла символ ? трактуется как
совпадение с любым символом в соответствущей позиции оглавления.
Большинство других операций воспринимает наличие символа ? в поле
имени или типа файла как ошибку. Если для подготовки БУФ
операция 152 не используется, то следовать соглашениям МикроДОС
по именам файлов необязательно. Однако доступ к файлам должен
осущетвлятся из командной строки, эти соглашения должны
использоваться. Например, интерпретатор команд не найдет в
оглавлении файл, если в его наименовании используются символы
нижнего регистра.

Существуют некоторые необязательные соглашения по типам
файлов, но обозначения файлов типа .com и .spr обязательны для
МикроДОС.

Файловая система БДОС может поддерживать от 1 до 16 логических
дисков. Максимальный размер дискового файла - 8 Мбайт.
Максимальная емкость диска определяется размерами блока,
определенного в БСВВ для данного диска. Размер блока - основная
единица размещения дисковой памяти.

Область оглавления диска содержит от 1 до 16 блоков
(действительное число задается в БСВВ), размещаемых в начале диска.
В этой области содержатся элементы оглавления для каждого файла, в
которых определены те блоки в области данных, которые принадлежат
данному файлу.

Область оглавления логически разделена на 16 независимых
оглавлений для каждого из 16 возможных пользователей 0-15.
Пользователь 0 выделен: к файлам этого оглавления, если они
обладают системным атрибутом, может обращатся любой пользователь.
Только файлы принадлежащие данному пользователю, видны в
оглавлении.

Каждый файл состоит из 128-байтовых записей. Позиция каждой
записи определяется номером произвольного доступа записи. Для
файлов создаваемых последовательно, первая запись имеет позиции 0
и последняя - позицию, на одну меньше, чем число записей в файле.

Файл с произвольным доступом, может иметь "дыры", если
соответствующие записи не были произведены. К такому файлу может
быть только произвольный доступ и недопустимо его последовательное
чтение.

БДОС автоматически размещает блоки данных в файле в
соответствии с позициями произведенных записей. Исходные
(текстовые) файлы расматриваются как последовательности кодов
КОИ-7 (ASCII) или КОИ-8, причем каждая " строка текста
заканчивается последовательностью из двух символов: возврат каретки
(ООН) и перевод строки (ОАН). Конец файла обозначается « юм
CTL-Z (1АН) или физическим концом файла, возвращаемым операцией
считывания БДОС.

Символ CTL-Z в обектных файлах игнорируется.




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Ликбез - Прерывания в ZX Spectrum.
Chaos Construction 2001 - интервью с Justionas/Constellation.
Demo Party - Paradox'99 - как это было, но лучше б он mUst dIe!!!

В этот день...   28 сентября