Глава 2.
Р Е Д А К Т О Р
Редактор (EDITOR) - это заключенная в
ПЗУ программа, способствующая взаимодейст-
вию человека с компьютером: вводу данных,
их модификации и корректировке. Все, что
мы набираем на клавиатуре, обычно появ-
ляется в нижней части экрана. Любой текст
в этой области можно модифицировать или
редактировать. Клавиши <CS/5> и <CS/8>
(стрелки влево и вправо в ZX-SPECTRUM+)
позволяют передвигать курсор вдоль редак-
тируемой строки без стирания информации.
Для стирания символов служит клавиша
<CS/0> (<DELETE> в ZX-SPECTRUM+). Стирает-
ся знак, расположенный непосредственно пе-
ред курсором, при этом ключевые слова Бей-
сика трактуются как отдельные знаки.
Во время набора программы или оператив-
ных директив редактор во многих случаях
(после ввода ключевого слова, ":", THEN и
т. п.) сам изменяет режим ввода (между K,
L, C), оберегая пользователя от случайных
ошибок. Но если такую ошибку надо сделать
специально, то можно его "обмануть",
вставляя, к примеру ":" для получения ре-
жима K, а затем удаляя его. Такой обман,
конечно, не избавляет от последующих неп-
риятностей со вводом ошибочной строки в
программу.
Конец редактирования, ввода строки ко-
манд или очередной программной строки сиг-
нализируется клавишей <ENTER>. Компьютер
молниеносно проверяет синтаксис (т. е.
правильность употребления элементов языка
Бейсик). В случае необходимости, в непо-
нятном ему месте появляется мигающий знак
вопроса. Он может появляться значительно
дальше, чем ошибка, например, при отсутст-
вии одной из замыкающих скобок. В сложном
выражении SPECTRUM не в состоянии опреде-
лить место, куда надо было его вставить и
подаст сигнал об ошибке только в конце вы-
ражения.
Но восприятие строки компьютером не га-
рантирует ни правильности ее логики, ни
согласия с желаниями автора.
Нет возможности принудить компьютер к
запоминанию ошибочной (в смысле синтаксиса
Бейсика, а не логики программы) последова-
тельности команд. Между прочим, это озна-
чает, что без присоединения ZX ИНТЕРФЕЙ-
СА-1 невозможно даже подготовить управляю-
щую программу для обмена с памятью типа
MICRODRIVE, так как нельзя даже ввести
потребных для этого специфических команд.
Если в корректируемом месте размещены
контрольные символы, перемещаемый курсор
ведет себя иногда странно и необычно (ис-
чезает, отступает). Не стоит из-за этого
расстраиваться. В процессе удаления таких
знаков могут появиться вопросительные зна-
ки, которые необходимо убирать отдельно -
эти контрольные символы обычно занимают в
памяти 2 байта и SPECTRUM, вынужденный
высвечивать знак с кодом меньшим 32, выво-
дит в его месте вопросительный знак, если
не сможет интерпретировать его иначе.
Чтобы исправить уже введенную в память
строку программы, необходимо ее вначале
скопировать в нижнюю часть экрана. С этой
целью перемещаем указатель текущей строки
( > ) вверх или вниз клавишами <CS/6> и
<CS7> (в ZX-SPECTRUM+ - стрелки вверх и
вниз). При более длинных программах быст-
рее пользоваться инструкцией LIST n. Можно
вводить число немного меньшее, чем номер
нужной строки, если Вы уверенны, что в
программе нет строки с таким номером, что-
бы случайно не затереть нужную строку.
После нажатия <ENTER> указатель будет ус-
тановлен на первой строке с номером больше
заданного. Либо на последней, если задан-
ной нет в программе. Указатель ">", после
такого предприятия, может быть временно
невидимым, но после нажатия <CS1> (
<EDIT> в ZX-SPECTRUM+) желаемая строка бу-
дет скопированна в рабочее поле редакто-
ра.
Нажатие одной <ENTER>, при пустой ниж-
ней части экрана, приводит к высвечиванию
фрагмента программы, включающего текущую
строку (указываемую указателем ">"). Од-
нократно можно ввести оператор любой дли-
ны. Поначалу нижняя часть экрана будет ав-
томатически расширятся, но постепенно
компьютер будет реагировать все медленней,
сигнализируя растущее неудовольствие
действиям человека. После запоминания 22
строк протест компьютера станет значитель-
но резче. Он перестанет высвечивать после-
дующие символы, вводимые с клавиатуры и на
каждое нажатие клавиши отреагирует неп-
риятным ворчанием. Но, несмотря на это, он
и далее примет и запомнит все, что Вы на-
берете. Его сопротивление можно смягчить,
модифицируя соответствующие системные пе-
ременные. Клавиша <CS1> (<EDIT>) позво-
ляет также одноразовое удаление всей ниж-
ней части экрана.