Код:
Описание редактора командной строки
DED.COM, работающего на ЭВМ "КОРВЕТ"
с операционной системой CP/M.
1. Зачем нужен этот редактор?
Многие из нас в той или иной степени склонны совершать
ошибки и не любят по многу раз делать одно и то же. Если
это справедливо по отношению к Вам, то программа ДЕД избавит
Вас от неприятных ощущений при работе с операционной
системой CP/M. Работа в этой системе ведется с
использованием так называемой командной строки, то есть той
строки, которую мы набираем после значка A>, B> и т.д. Если
при наборе строки Вы ошибетесь, то после того, как
операционная система или некая программа выразит свое
удивление по поводу Вашей неточности, всю работу по набору
строки придется повторить. Программа ДЕД помнит последние 8
строк, введенных Вами во время работы на компьютере. Более
того, единственный способ заставить ее забыть эти строки -
это выключить питание ЭВМ. В любой момент можно вызвать
одну из строчек на экран и отредактировать ее так, как это
принято в экранно-ориентированных редакторах: можно двигать
курсор по строке и стирать или вставлять символы. То есть,
если Вы набирали строчку и допустили ошибку в середине, то
достаточно вызвать эту строчку, подвести курсор в нужное
место и исправить ошибку. Часто работа в операционной
системе сводится к вызову небольшого количества программ с
определенными параметрами. В этом случае память ДЕДа
оказывается весьма полезной.
2. Описание программы ДЕД.
Если на Вашем системном диске установлен редактор ДЕД, Вы
можете это заметить по изменению системного приглашения:
вместо A> будет написано A>>, а вместо B> будет B>>.
Установить программу на диск можно при помощи программы
DEDINST, описание которой приводится ниже. Вы можете не
обращать никакого внимания на наличие ДЕДа, и не
пользоваться его возможностями. Все выглядит так, как в
"обычном CP/M". Значит, нет необходимости привыкать к этой
программе тому, кто эпизодически пользуется Вашим системным
диском.
Внутри строки курсор можно двигать клавишами правого (
цифрового ) поля клавиатуры: стрелками вправо-влево. Как и
принято, клавиша <= (backspace) стирает символ слева от
курсора, клавиша ИЗ (DEL) стирает символ под курсором,
клавиша СТРН (CLS) стирает всю строку. СТОП (^C) работает,
как обычно в CP/M, а УПР-П (^P) подключает принтер, однако
реально выдача на принтер будет производиться только после
окончания ввода строки ( нажатия клавиши <ВК> ). Для
обозначения работы с печатью используется система звуковых
сигналов: при включении длинный гудок, а при отключении
короткий. Учтите, что в режиме печати при отключенном
кабеле принтера или при неготовом к работе принтере машина
"подвиснет". Стрелки вверх-вниз выбирают последовательно
одну из восьми срок, хранящихся в памяти. Если Вам не
подходит ни одна строка из имеющихся, то можно не
пользоваться этими клавишами и набирать новую строку так,
как Вы это делали всегда. После нажатия <ВК> "самая старая"
из набранных строк будет удалена, а "самой молодой" станет
только что набранная строчка. Строчки расположены строго по
возрасту: нажатие стрелки вверх вызывает самую молодую, а
стрелки вниз - самую старую. Если Вы хотите удалить из
памяти вполне определенную строку, найдите ее и нажмите
клавишу СТРН (CLS), после чего набирайте новую строку.
3. Описание программы DEDINST.
Для того, чтобы установить на системный диск программу
ДЕД, небходимо воспользоваться программой DEDINST. Работа с
ней достаточно проста и не требует специальных пояснений.
Если Вам по какой-либо причине захочется избавиться от ДЕДа,
это можно сделать с помощью той же программы.
4. Возможные трудности.
При подключении ДЕДа используется запись в буфер ввода
CCP имени программы: A:DED. Аналогичным способом
подключается программа POWER, которая инициализируется при
каждом теплом рестарте системы. Однако после программ, не
перезагружающих BDOS по окончании работы, вызов программы
POWER не происходит. ДЕД вызывается ВСЕГДА при окончании
работы программы и передаче управления CP/M. Из
вышесказанного следует, что возможна установка только одной
"резидентной" программы. Программа ДЕД в момент исполнения
занимает область с 0100 hex по 2100 hex, что следует
учитывать при пользовании встроенной в CP/M командой SAVE.
В указанной области памяти в момент вызова SAVE будут лежать
коды программы ДЕД. Этого можно избежать, отключив на время
ДЕД с помощью программы DEDINST. Во время исполнения
программ ДЕД не занимает в ОЗУ программ места и никак не
влияет на их исполнение.
Автор намеренно не раскрывает детали реализации
резидентных программ на "Корвете", так как, если появится
некое количество программ, использующих найденный механизм,
их интерференция может привести к неожиданным последствиям.
Если все же Вам удастся раскусить ДЕДа, убедительно прошу
Вас предупреждать пользователя о возможных неприятностях при
одновременном пользовании Вашей программой и ДЕДом.