Код
ОС БК
версия 1.2
Краткое руководство пользователя
А> - приглашение системы (готовность работы с диском "А")
А>В:
В> - приглашение системы (готовность работы с диском "В")
Редактор командной строки
Работают клавиши : ВЛЕВО,ВПРАВО,ЗАБОЙ,СДВИЖКА,РАЗДВИЖКА-
- клавиши редактирования.
Клавиши : ВВЕРХ и ВНИЗ-
- извлечь предыдущую команду из буфера.
Разметка диска (форматирование)
Перед началом работы с НОВЫМ диском его необходимо разметить-
записать служебную информацию (отформатировать).
Формат разметки в ОС БК , полностью совпадает с форматом MY.
Форматирование диска выполняется командой:
А>FRM A:
10-+ плохой блок в 10 дорожке сверху
23-- плохо отформатир. 23 дорожка - повторить формат диска
При удачном форматировании утилита INI вызывается автомати-
чески (создание пустого каталога) и диск к работе готов.
Каталог файлов
Каталог (список) файлов можно вызвать утилитой :
А>DIR (DIR A: или DIR B: и т.д.)
A>DIR/n -вывод каталога на печать (n-число колононок на листе)
по умолчанию работа ведется с текущим устройством ( А> ).
Копирование файлов
A>CPY :FILNAME FILNAM.BIN
A>CPY :FILNAME A:FILNAM.BIN > - копирование с ленты на диск
A>CPY :FILNAME B:FILNAM.BIN /
А>CPY FILNAM.BIN :FILENAME
А>CPY A:FILNAM.BIN :FILENAME > - крпирование с диска на ленту
А>CPY B:FILNAM.BIN :FILENAME/
А>CPY A:FILNAM.BIN B:
А>CPY B:FILNAM.BIN A:FILENAM > - крпирование с диска на диск
А>CPY/W FILNAM.BIN FILENAM > - крпирование на одном приводе
Имя файла на диске может иметь длинну имени до 6 символов ,
а расширение имени - до 3-х символов.
Копирование дисков
А>CPY A: B: - групповое копирование
Возможно применение ключей : /Q и /N
/Q- будет требоваться подтверждение копирования каждого файла
(отказ от копир. файла- N, любая другая клавиша-как "да")
/N- запрет копирования файлов, кот. уже имеются на диске.
P.S. : диски лучше копировать в расширенной памяти.
Другие команды
А>REN FILNAM.OLD FILNAM.NEW -переименование файлов
А>DEL FILE -удаление файла
A>INI B: -инициализация каталога
A>B:
B>A: / - смена рабочего диска
А>ТYP FILE.TXT - вывод текст. файла на экр.
А>PRI TEST.M - вывод содерж. файла на печать
А>MON - выиод в монитор БК
? В ←─┘ - возврат в OС БК
Пультовой режим
А>1000 -выдача на экран 32 слов памяти
А>1000 12700 101 104341 137 1004 - запись кодов с адр. 1000
А>;1000 - запуск программы с адр. 1000
если адрес не указан то старт будет с адреса, который
храниться по адресу 264.
А>;2000 ARG1 ARG2 ARG3 ... -запуск программы с передачей
ей аргументов
А>PUT FILE [NA LEN] -запись уч-ка памяти на диск,
по умолчанию нач. адр. и длина - из ячеек: 264 и 266.
А>GET FILNAM [2000] -загрузка программы [по прину-
дит. адр.]
Руководство системного програмиста
Программные запросы
Форматы программных запросов полностью совпадают с форматом
одноименных запровов из ОС ДВК , и следовательно можно исполь-
зовать станд. трансляторы с макроассемблера и системные макро-
библиотеки.
Все запросы возвращают состояние ошибки в бите "С" еденицей.
В отличие от ДВК , ОС БК нет возврата кода ошибки в байте 52,
т.к. он используется монитором БК-10.
В ОС БК использ-ся три формата программных запросов:
1. Прогр. запросы с кодом 374 помещают в младший байт R0 номер
канала , а в старший - функциональный код.
┌───────────┬──────────┐
R0 = │15..CODE..8│7..CHAN..0│
└───────────┴──────────┘
2. Прогр. запросы второго формата используют команду ЕМТ 375:
┌───────────┬──────────┐
R0 > AREA: │ CODE │ CHAN │
└───────────┴──────────┘
ARG1
....
ARGn
3. Остальные прогр. запросы передают арг. и получают результаты
в регистрах общего назначения или в стеке.
Обозначения: AREA - адрес блока аргументов EMT.
CHAN - номер канала. Это лог. идентификатор файла
кот. исп-ся монитором при выполнен. запра-
шиваемых операций. Номер канала может быть
0-15. Каждый файл логич. связан с опр. ка-
налом и при обращ. к файлу достаточно ука-
зать номер соотв. канала.
DBLK - массив информ. в кодах RADIX (имя устр-ва,
имя файла и его расшир. - 4 слова).
WCNT - кол. слов для передачи в/из буфер при вы-
полнен. операции ввода/вывода.
Клавиатура
EМТ 340 - ожидает нажат. клав., ее код в R0.
EMT 345 - подсказка на экран , ожидан. строки с клавиатуры,
введенная строка завершается байтом 0 :
MOV #LINE,-(SP) ......
MOV #1,-(SP) LINE: .BLKW 32 ;адр. вводимой стр.
MOV #PROMT,-(SP) PROMT: .ASCIZ /str>;подсказка
CLR -(SP) .EVEN
EMT 345
....
Ошибка : введенная пустая строка
Вывод на экран
EMT 341 - символ на экран из R0.
EMT 351 - вывод на экран строки /через EMT 341/с нач. адр. в
R0 до байта 0 или 200 , при 0 добавл. коды 12,15.
Запросы общ. назначения
EMT 375 - устан. адрес п/п обраб-ки 4 и 10 векторов с :
С = 0 - прерыв. по вектору 4
С = 1 - прерыв. по вектору 10
MOV #AREA,R0 .....
EMT 375 AREA: .BYTE 0,3
.... .WORD ;адрес п/п
Возврат из п/п : RETURN
EMT 354 - возврат в R0 верхн. гран. памяти /40000 или 70000/
EMT 350 - возвращет упр. монитору ОС БК
Работа с файлами
1. EMT 36 - ОС сама переадресуется к драйверу диска.
2. Способ, позволяющий поблочно обрабатывать файлы любого
размера. Для доступа к файлу программа должна связать
этот файл с одним из каналов ввода/вывода с помощью
.LOOKIP или .ENTER. Допустимо одновременно использовать
до 16 каналов (0 - 15). После открытия канала программа
может производить чт./зап. любых блоков файла запросами
.READW и .WRITW. Для завершения работы с файлом и осво-
бождения канала необх. запросить .PURGE или .CLOSE.
.LOOKUP ──→ .READW/.WRITW ──→ .PURGE - Обработка сущ-го файла
└────────←───────┘
.ENTER ──→ .WRITW/.READW ──→ .CLOSE - Создание нового файла
└────────←───────┘
.LOOKUP area,chan,dblk - связ. указ. канал с сущ. файлом до
вызова запросов .CLOSE или .PURGE.
После выполн. в R0 дл. файла в бл.
MOV #AREA,R0 .......
EMT 375 AREA: .BYTE <номар канала>,1
....... .WORD <адр. имени в RADIX-50>
Ошибка: нет файла с указ. именем, сбой чтен.
.READW area,chan,buf,wcnt,blk - передача зад. числа слов по
указ. каналу в память.
MOV #AREA,R0 .......
EMT 375 AREA: .BYTE <номер канала>,10
....... .WORD <номер блока>
.WORD <адр. буф. в памяти>
.WORD <число слов>
Ошибка: сбой чт.
.PURGE chan - освоб. канал. При открытии канала с пом. .ENTER
соответств. временный файл будет удален
MOV #<3*400>+<номер канала>,R0
EMT 374
Ошибка: сбой чт./зап.
.ENTER area,chan,dblk,len - резервирует на диске обл. размером
"len" и созд. врем. файл, кот. ста-
новится пост. после .CLOSE.
Если арг. "len"=0 то отводиться на диске 1/2 своб. области,
если: -1 то вся наиб. своб. область. В R0: рамер бдлоках.
MOV #AREA,R0 .......
EMT 375 AREA: .BYTE <номер канала>,2
....... .WORD <адрес имени в RADIX-50>
.WORD <длина файла: 0/-1>
Ошибка: нет места на диске или сбой вв/выв
.WRITW area,chan,suf,wcnt,blk - зад. число слов из памяти по
указ. каналу на диск.
MOV #AREA,R0 ......
EMT 375 AREA: .BYTE <ном. кан.>,1
....... .WORD <ном. блока>
.WORD <адр. быфера>
.WORD <число слов>
Ошибка: сбой зап.
.CLOSE chan - заверш. обмен на указ. канале. При .ENTER -
врем. файл стан. пост. или удал. сущ. файл.
MOV #>6*400>+<номар кан.>,R0
EMT 374
Ошибка: сбой чт./зап.
.RENAME area,chan,dblk - изм. имени файла.
MOV #AREA,R0 .........
EMT 375 AREA: .BYTE <ном. кан.>,4
...... .WORD <адр. блока имен>
Ош.: сбой чт./зап.
.DELETE area,chan,dblk - удал. файла из каталога.
MOV #AREA,R0 ........
EMT 375 AREA: .BYTE <ном. кан.>,6
....... .WORD <адр. им. файла в RADIX-50>
Ош.: сбой чт./зап.
Внутр. запросы ОС БК
.MAG - обращение к магн. со станд. бл. параметров / EMT 37 /
.OCT - сод. R0 на экран восмерич. числом в 6 позиций / ЕМТ120 /
.DEC - -//- десят. числом в 5 позиций / ЕМТ121 /
.DEC0- -//- -//- , игнорируя незнач. 0 / ЕМТ122 /
.FNAME - выв. на экр. имени файла. R3 указ. на блок из
4-х слов с именем в RADIX-50. / ЕМТ123 /
.BL - на экран символ пробела / ЕМТ124 /
.NL - перевод курсора на нач. след. строки / ЕМТ125 /
Нажмите для просмотра прикрепленного файла