8. PASCAL HP80
Описание редактора НР80.
Управление редактором:
CAPS-SHIFT 1 EDIT - редактировать строку, выде-
ленную экранным курсором;
CAPS-SHIFT 2 CAPS-LOCK - фиксация регистра больших
или малых символов;
CAPS-SHIFT 3 TRUE VIDEO - страница вперед;
CAPS-SHIFT 4 INV VIDEO - курсор влево/строка влево;
CAPS-SHIFT 6 <стрелка вниз> - экранный курсор вниз;
CAPS-SHIFT 7 <стрелка вверх> - экранный курсор вверх;
CAPS-SHIFT 8 <стрелка вправо> - курсор вправо/строка вправо;
CAPS-SHIFT 9 GRAPHIC - включить графический ре-
гистр ;
CAPS-SHIFT 0 DELETE - удалить символ;
CAPS-SHIFT Q - перейти в начало текста;
CAPS-SHIFT U - перейти в конец текста;
CAPS-SHIFT Е - установить режим редактиро-
вания ;
CAPS-SHIFT I - установить режим ввода сим-
волов;
CAPS-SHIFT А - установить режим добавления
символов;
CAPS-SHIFT S - найти образец;
CAPS-SHIFT D - удалить строку, выделенную
экранным курсором.
6 MOVE - перенести блок текста;
7 ERASE - удалить блок текста;
0 FORMAT - переключить формат экрана 64/32 символа и
наоборот;
Z COPY - копировать блок текста;
X CLEAR - очистить текстовый буфер;
Y RETURN - перейти к HI SOFT формату и вводить текст
средствами BASICa;
F - задать литерал и установить режим поиска;
R - задать литерал для замены.
Внимание :
для выполнения прочих команд
используйте стандартный
редактор Н Р 8 0.
Команды режима поиска:
S - найти образец;
R - заменить найденный образец на заданный литерал;
G - перейти к замене остальных образцов.
Внимание !
Звуковой сигнал сообщает о
нажатии недопустимой клавиши.
Неиспользуйте графический
регистр вне текста программы!
PASCAL не имеет встроенных
графических процедур и функций!
Далее приводятся сведения, в основном касающиеся отличий
от стандартного языка PASCAL .
Ограничения:
- тип FILE не реализован;
- тип RECORD не *может иметь вариантные поля;
- процедуры и функции не могут являться формальными парамет-
рами;
- недопустимо использовать указатели на ранее не определен-
ный тип.
Компиляция и исполнение:
компиляция: - С LINE NUMBER;
остановка листинга: - BREAK.
В случае успешной компиляции программы на запрос <RUN?>
ответить <Y>, если требуется исполнение программы. Возврат в
редактор осуществляется нажатием любого другого символа.
При контроле правильности использования типов данная
версия паскаля использует эквивалентность имен, а не струк-
тур . Поэтому переменные
VAR A:ARRAYCi...3] OF Т и
В:ARRAYCi...3 3 OF Т
не могут совместно применяться в выражении.
Присваивание А:=В также недопустимо.
Синтаксис и семантика.
Число без знака ::= ^шестнадцатиричное число;
Строковая константа записывается в кавычках <" "> и со-
держит не более 255 символов.
Символьная константа ::= "CHR" ("константа") для управ-
ляющих символов CR, LF, NULL и
т .д.
Ключевое слово <PACKED> игнорируется.
Тип множества может иметь не более 256 членов.
Пустой список в операторе <CASE> приводит к ошибке. Если
подходящая ветвь в списке <CASE> не найдена, то управление
передается оператору, следующему за <END>.
Управляющая переменная оператора <FOR> должна быть прос-
той и не может являться параметром.
Оператор <G0 Т0> должен передавать управление внутри то-
го блока, где он находится и быть на одном уровне вложения с
меткой.
Программа не имеет параметров.
Предопределенные идентификаторы:
Константы: MAXINT [=32768 3,
TRUE,
EALSE.
Типы: INTEGER - 2 байта;
REAL - 4 байта;
CHAR - расширенный ASCII (256 символов);
BOOLEAN.
Процедуры и функции:
Ввод - READ;
READLN - ввод с переходом на следующую
строку;
Вывод - WRITE;
WRITELN - вывод с переходом на следующую
строку;
- на дисплей CHRC8) - BS на дисплее (шаг назад);
или принтер - CHR(i2) - очистка экрана (CLEAR или
NEWPACE);
CHR(13) - CR и LF ("возврат каретки" и
"перевод строки ');
CHRC16) - переключить вывод с дисплея на
приер и наоборот;
- с клавиатуры - INCH.
Функция читает символ с клавиатуры, и если не одна кла-
виша не нажата, возвращает CHR(0).
Арифметические функции!
FRAS - дробная часть.
Другие процедуры и функции.
Процедура <DISPOSE> исключена, вместо нее имеются процедуры!
- MARK;
- RELEASE
- INLINE(C1,C2,C3...) - CI, C2, СЗ... - Шестнадцатеричные
числа, размещаются как последова-
тельность байтов!
- USER(V) - V - целое число. Функция USER(V)
вызывает подпрограмму с адресом V,
она должна завершаться инструкцией
RET;
- HALT - завершает программу;
- POKE(X,S) - помещает значение S в ячейку с
адресом X;
- TOUT(NAME,START,SIZE) - записывает данные на магнитную
ленту;
- ТIN(NAME,START) - читает данные с магнитной ленты;
- OUT(P,C) - равносильно: ВС:=Р; А:=С; OUT(C),A;
- RANDOM - возвращает случайное число в диа-
пазоне 0...25S;
- ADDR - возвращает адрес аргумента произ-
вольного типа;
- PEEK(X,R)' - R - аргумент произвольного типа,
значение которого заносится в
ячейку с адресом X;
- SIZE(W) - возвращает размер памяти, занима-
емой переменной W;
- INP(P) - аналогично OUT.
Комментарии:
»(*'• "*>" и ........
Ключи располагаются внутри комментариев вслед за симво-
лом $ (знак денежной единицы/. Состоят из знака "+" или
за которым следует один из символов:
L - управление листингом при компиляции (по умолчанию +L):
0 - контроль переполнения (по умолчанию +0):
S - контроль переполнения стека (по умолчанию +S);
А - контроль границ массива (по умолчанию +А);
1
Р
F - прочитать часть программы с магнитной ленты:
позволяют экономить память.
Стандартный редактор:
I M,N - режим автоматической нумерации строк программы;
L N,K - распечатать на дисплее текст от строки N
до строки К;
D N.K - удалить часть текста от строки N до строки К;
К N - при выдаче листинга распечатать без останова
N строк;
М N,K - заменить строку с номером К на строку с
номером N;
F N,K,V,U - найти в диапазоне строк с номерами N, К образец
V и заменить его на W;
ЕМ - редактировать строку с номером N.
Подкоманды:
<пробел> - инкремент текстового указателя;
nnt ртг
DELETE - декремент текстового указателя,
CAPS SHIFT/T - табуляция вправо;
ENTER - конец редактирования;
Q - отменить редактирование;
R - начать редактирование заново;
F - найти ранее заданный образец;
S - заменить образец;
I - вводить символы после курсора с
автораздвижкой (завершается ENTER);
X - курсор перемещается в конец строки;
С - вводить символы с позиции курсора с
уничтожением исходного текста;
К - удалить символ под курсором;
* - удалить символы от курсора до конца строки.
Команды для работы с магнитофоном:
Р N,K NAME - текст со строки N до строки К записать в
G мамг Файл с именем NAME;
5 Ммс ~ прочитать текст из файла с именем NAME;
w w.fl.S - записывает текст в форме, которая потом
может использоваться с ключом SF N,M.S.
Компиляция и выполнение программы:
С N - компилировать текст, начиная со строки N;
R - исполнить скомпилированную программу;
Т - отлаженная про'грамма компилируется таким
образом, что перекрывает в памяти компиля-
тор. В дальнейшем может быть записана на
магнитофон и исполнена автономно;
В - возврат в BASIC.
Список рекомендуемой литературы!
1 Йенсен К., Вирт Н.,
Паскаль: руководство для пользователя и описание языка.
М.: Финансы и статистика, 1982.
2 Грогоно П.,
Программирование на языке PASCAL.
М.: Мир, 1982.
3. Вирт Н.,
Алгоритмы + структуры данных = программы.
М.: Мир, 1985.
4. Грэхем П.,
Практический курс языка PASCAL для микро-ЭВМ.
М.: Радио и связь, 1986.
5. FINDLAY W., WATT D.A.,
PASCAL.AN INTRODUCTION TO METHODICAL PROGRAMMING.
THIRD EDITION. - LONDON: PITMAN, 1985.
6. Абрамов Б.Г., Трифонов Н.П., Трифонова Г.Н.,
Введение в язык PASCAL.
М.: Наука, 1988.