[an error occurred while processing this directive]
.шп6;
VAL (VA.) .шп14;
Вычислить строку
.шп2
Описание
VAL берет строку, которая следует за ним и интерпретирует ее как выражение, введенное с клавиатуры. Следовательно, VAL может обращаться к переменным, вызывать функции и т.д. Часто его используют для передачи функции в программу со входа пользователя.
.шп2
Ссылки
.шп0
Секция 20.11.
.шп2
Синтаксис
.шп0
┏═════════════╗ ╔════════════════╗ ═╣ VAL ╠═══╣строчный элемент╠═ ╚═════════════╝ ╚════════════════╝
.шп2
Примеры
.шп0
PRINT VAL (a¤) 100 x_input := VAL input1¤ 200 answer := VAL (function¤ + " " + str¤( x))
.шп2
Ассоциируемые ключевые слова
.шп0
STR¤
.шп6;
VDU (V.)
.шп2
Описание
.шп0
Оператор VDU эквивалентен PRINT CHR¤, но используется для генерации контрольных кодов ASCII. Эти коды интерпретируются драйвером VDU и их краткое описание приведено на следующей странице и в секции 40.2. Те коды, которые не требуют дополнительных аргументов имеют хорошо выраженное действие и далее здесь не обсуждаются. Те же, которые требуют больше параметров детально описаны после таблицы. Если аргументы разделены запятыми, то посылаются отдельные отдельные байты. Если за каким-либо аргументом следует точка с запятой, то этот аргумент посылается как два байта, при этом первым посылается наименее значимый. Дополнительные детали можно найти в руководстве "Программирование на Бейсике в среде ОС ОНИКС".
.шп2
Ссылки
.шп0
Секция 11.12 и руководство "Программирование на Бейсике в среде ОС ОНИКС"
.шп2
Синтаксис
.шп0
╔═════════╗ | ┏═┓ | | ╔╣,╠╗ | ┏═══════════╗ ╔══════════════╗ | |┗═┛↓ ↓ ╔═══╗ | VDU ╠══╦═╣лог. выражение╠═╩═╣ ╠═╦═╩═╣eol| ╚═══════════╝ ↑ ╚══════════════╝ |┏═┓↑ | ╚═══╝ | ╚╣;╠╝ | | ┗═┛ | ╚══════════════════════════╝
.шп2
Ассоциируемые ключевые слова
.шп0
CHR¤ PRINT
.сс
.шп2
Краткое описание кодов VDU.
.шп0
Код УПР Необходимое Операция число байтов ---------------------------------------------------------- 0 @ 0 нет действия 1 A 1 послать следующий символ только на принтер 2 B 0 включить принтер 3 C 0 выключить принтер 4 D 0 писать текст текстовым курсором 5 E 0 писать текст графическим курсором 6 F 0 включить драйвер VDU 7 G 0 звонок 8 H 0 переместить курсор назад на 1 символ 9 I 0 переместить курсор вперед на 1 символ 10 J 0 переместить курсор вниз на 1 строку 11 K 0 переместить курсор вверх на 1 строку 12 L 0 очистить текстовую область (CLS) 13 M 0 переместить курсор на начало текущей строки 14 N 0 включить страничный режим 15 O 0 выключить сTраничный режим 16 P 0 очистить графическую область (CLG) 17 Q 1 определить текстовый цвет (COLOUR) 18 R 2 определить графический цвет (GCOL) 19 S 5 определить логический цвет 20 T 0 восстановить логические цвета по умолчанию 21 U 0 выключить драйверы VDU или уничтожить строку 22 V 1 выбрать режим экрана (MODE :=) 23 W 9 перепрограммировать дисплейный символ 24 X 8 определить графическое окно 25 Y 5 PLOT 26 Z 0 восстановить стандартное окно 27 [ 0 нет действия 28 \ 4 определить текстовое окно 29 ] 4 определить графическое начало 30 ^ 0 поместить текстовый курсор в верхнюю левую часть области 31 _ 2 переместить курсор в x,y (TAB(x,y)) 127 УДАЛИТЬ 0 вернуться и уничтожить
.сс
.шп2
Подробное описание
.шп0
1 Этот код посылает символ, непосредственно следующий за ним, только на принтер, а не на экран. Принтер должен быть уже готов к использованию VDU 2. Это средство дает возможность посылать контрольные символы на принтер если он требует, чтобы они приобрели определенные признаки. Он также разрешает посылать на принтер символы, которые в других случаях игнорировались бы, из-за того, что было использовано средство *FX 6 (смотрите секцию 40.3).
Пример: VDU 1,14
17 Этот код действует точно как оператор Комала COLOUR. За ним следует один аргумент, указывающий цвет. Дополнительные детали можно найти в секции COLOUR.
Пример : VDU 17,3
18 этот код действует точно как оператор Комала GCOL. За ним следует два аргумента, указывающих метод, с помощью которого должен быть построен цвет и сам цвет. Дополнительные детали можно найти в секции GCOL.
Пример: VDU 18,2,129
22 этот код эквивалентен оператору Комала MODE := и за ним следует простой аргумент, определяющий новый режим. Следует заметить, что в отличии от MODE, VDU 22 не предохраняет память от разрушения перед изменением размещения видеопамяти. Он, однако, может быть использован внутри процедуры, но его следует использовать для изменения на режим, требующий такой же или меньший объем памяти.
Пример: VDU 22,3
23 этот код используется для переопределения символов, соответствующих различным кодам ASCII.
VDU 23 требует еще девять аргументов. Первый определяет символ, котоый должен быть переопределен, а остальные восемь дают сдержание каждого ряда точек, как показано в следующем примере.
Для того, чтобы произвести символ, как показано в следующей сетке и присвоить его коду ASCII 245, команда VDU должна быть:
VDU 23,245,128,192,224,240,248,252,254,255
╔═╦═╦═╦═╦═╦═╦═╦═╗ |X| | | | | | | | = 128 ╠═╬═╬═╬═╬═╬═╬═╬═╣ |X|X| | | | | | | 64 + 128 = 192 ╠═╬═╬═╬═╬═╬═╬═╬═╣ |X|X|X| | | | | | 32 + 64 + 128 = 224 ╠═╬═╬═╬═╬═╬═╬═╬═╣ |X|X|X|X| | | | | ... = 240 ╠═╬═╬═╬═╬═╬═╬═╬═╣ |X|X|X|X|X| | | | ... = 248 ╠═╬═╬═╬═╬═╬═╬═╬═╣ |X|X|X|X|X|X| | | ... = 252 ╠═╬═╬═╬═╬═╬═╬═╬═╣ |X|X|X|X|X|X|X| | ... = 254 ╠═╬═╬═╬═╬═╬═╬═╬═╣ |X|X|X|X|X|X|X|X| ... = 255 ╚═╩═╩═╩═╩═╩═╩═╩═╝
Обратите внимание, что переопределять символы, используемые в MODE 5, 6 или 7, невозможно.
24 этот код используется для определения графического окна, т.е. для изменения облости экрана, в которой возможны графические операции. За VDU 24 следуют четыре аргумента и за каждым из них должна следовать точка с запятой. Аргументы определяют координаты х и y нижнего левого угла окна, за которыми следуют координаты х и y правого верхнего.
Пример: VDU 24,200;250;1080;774;
25 этот код эдентичен команде Комала PLOT. За VDU следует три аргуента. Первый определяет метод построения (смотрите детали в секции PLOT), второй дает координату х, а третий - координату y. За координатами должны следовать точки с запятой, так как они должны быть двухбайтными числами.
Пример: VDU 25,5,640;512; чертит линию в текущем цвете переднего плана от текущей позиции курсора до центра экрана.
28 Этот код используется для определения текстового окна, в коором возможны текстовые операции. Четыре аргумента, следующие за VDU 28, дают координаты х и y нижнего левого угла окна, за которыми седуют координаты х и y правого верхнего угла. Аргументы определяют колонку или ряд, а максимальные величины будут зависить от используемого в данный момент экранного режима. Начало (0,0) находится в верхнем левом углу экрана.
Пример: VDU 28,10,20,30,30
29 этот код используется для перевода начала графики в позицию, определенную двумя аргументами, которые следуют за VDU 29. Первый дает новую координату х, а второй новую координату y. За каждым из оргументов должна следовать точка с запятой.
Пример: VDU 29,640;512; переодит начало в центр экрана.
31 этот код используется для перевода текстового курсора в позицию, данную следующими за ним аргументами. Первый дает координату х, а второй - координату y. Максимальные разрешаемые величины зависят от используемого экранного режима. Следует заметить, что координаты определяются относительно левого верхнего угла текущего текстового окна. VDU 31 фактически идентичен команде Комала TAB( x,y).
Пример: VDU 31,20,16
.шп6;
VPOS (VP.) .шп14;
Вертикальная позиция курсора
.шп2
Описание
.шп0
VPOS возвращает вертикальную позицию текстового курсора. Верхняя часть экрана возвращает VPOS = 0.
.шп2
Ссылки
.шп0
Секция 18.1.
.шп2
Синтаксис
.шп0
┏════════════╗ ═╣ VPOS ╠═ ╚════════════╝
.шп2
Примеры
.шп0
PRINT TAB( POS,VPOS + 5); 175 position := VPOS
.шп2
Ассоциируемые ключевые слова
.шп0
POS
.шп6;
WHEN (WHE.)
.шп2
Описание
.шп0
WHEN используется для обозначения блока операторов в структуре CASE, которые должны быть выполнены, когда переменная в структуре CASE удовлетворяет усовие после оператора WHEN.
Условие после оператора WHEN может использовать любой из следующих операторов: > < >= <= = <>, или вообще никаких операторов (указывая равенство). Кроме того, если строка тестируется, то можно использовать оператор IN. После WHEN можно использовать больше одного условия (смотрите пример), в этом случае блок програмных строк будет выполняться, если любое из этих условий будет истинным.
.шп2
Ссылки
.шп0
Глава 25 и CASE.
.шп2
Синтаксис
.шп0
╔═══════════════════════════════╗ | ┏══┓ | | | >| | ↓ | <| ╔══════════════════╗ ┏═┓| ╔╩╦╣>=╠╦═╣ лог. выражение ╠╦╣,╠╝ | ||<=|↑ ╚══════════════════╝|┗═┛ | || =|| | ↑ ||<>|| | | |┗══┛| | ┏════════╗ | ╚════╝ ↓ ╔═══╗ | WHEN ╠═╣ ╠═══╣eol| ╚════════╝ | ╔════╗ ↑ ╚═══╝ | |┏══┓| | ↓ || >|| | | || <|| | | ||>=|↓ ╔══════════════════╗|┏═┓ ╚╦╩╣<=╠╩═╣строчное выражение╠╩╣,╠╗ ↑ | =| ╚══════════════════╝ ┗═┛| | |<>| | | ┗══┛ | ╚═══════════════════════════════╝
.шп2
Примеры .шп0;
(смотрите также CASE и главу 25)
375 WHEN <-5 , > 5 915 WHEN IN "YyNn"
.шп2
Ассоциируемые ключевые слова
.шп0
CASE OF END CASE OTHERWISE
.шп6;
WHILE (W.)
.шп2
Описание
.шп0
WHILE используется для объявления условной структуры, которая выполняется пока условие истинное. Существует две формы: короткая форма на одной програмной строке, или в прямом режиме, которая состоит из простого оператора, повторяющегося пока условие истинное, и длинной формы, состоящей из блока програмных строк между WHILE и командой END WHILE.
В обоих случаях, так как условие находится в начале структуры, цикл вообще не надо выполнять, в отличии от циклов REPEAT, которые всегда выполняются по крайней мере один раз.
Следует заметить, что при вводе DO необязательно (за исключение нескольких случаев как: WHILE x DO ? y = 0) и если опущено, то вставляется автоматически
.шп2
Ссылки
.шп0
Глава 24.
.шп2
Синтаксис
.шп0
┏═══════╗╔══════════════╗ ┏════╗ ╔════════════════╗ ╔═══╗ | WHILE ╠╣лог. выражение╠╦╣ DO ╠╦╦╣простой оператор╠╦╣eol| ╚═══════╝╚══════════════╝|╚════╝↑|╚════════════════╝↑╚═══╝ ╚══*═══╝╚══════════════════╝
.шп2
Примеры .шп0;
(смотрите также главу 24)
Короткая форма*
70 WHILE GET¤ <> " " DO PRINT "Press Space Bar"
Длинная форма:
95 WHILE NOT finished DO 100 update_screen 105 display?menu 110 END WHILE
.шп2
Ассоциируемые ключевые слова
.шп0
DO END WHILE REPEAT
.шп6;
WIDTH (WI.)
.шп2
Описание
WIDTH - это системная переменная, содержащая количество символов, которые могут быть напечатаны или на экране, или на принтере до того, как автоматически производятся возврат каретки и перевод сроки. Если WIDTH установлена на 0 (по умолчанию), то автоматической печати возврата каретки/перевода строки не происходит.
Следует заметить, что невозможно изменить WIDTH с помощью оператора присваивания (например, с INPUT).
.шп2
Ссылки
.шп0
Секция 18.5.
.шп2
Синтаксис
.шп0
┏═════════════╗ ═╣ WIDTH ╠═ ╚═════════════╝
.шп2
Примеры
.шп0
PRINT WIDTH 65 WIDTH :- 10
.шп2
Ассоциируемые ключевые слова
.шп0
COUNT ZONE
.шп6;
WRITE (WR.)
.шп2
Описание
.шп0
WRITE используется для записи данных в файл. Оно тоже используется как определитель при открытии для записи в последовательный файл.
При использовании WRITE для записи в файл за ним следует FILE и выражение, задающее номер файла, в который будет записываться информация. Если это файл произвольного обращения, то может еще быть выражение, задающее номер записи, которая будет использоваться. Если оно опущено, запись начинается с записи, следующей за последней использованной (первая запись, если файл был только что открыт). Как для последовательного файла, так и для файла произвольног обращения затем следует список переменных, которые должны быть записаны в файл. Названия переменных должны быть разделены запятыми.
При работе с файлами произвольного обращения для каждой новой записи необходима отдельная команда WRITE. Если переменная, следующая за командой для записи не подходит, то производится ошибка Record overflow.
Следует заметить, что PRINT FILE идентична WRITE FILE, только PRINT FILE в качестве своих аргументов скорее может иметь выражения, чем переменные и может использовать в списке любые разделители.
В секции RANDOM дано подробное описание количества байтов, требуемого для хранения в файлах.
При использовании WRITE в для открытия файла необходимо быть осторожным, так как запись может быть наложена на уже существующий незащищенный файл с таким же именем. При открытии файла для того, чтобы дополнить его информацией с конца необходимо использовать APPEND.
.шп2
Ссылки
.шп0
Секции 32.7, 32.14.
.шп2
Синтаксис
.шп0
┏═════════╗ ╔════════════════╗ ╔═════════════════╗ ╔═══╗ | WRITE ╠═╣дескриптор файла╠═╣список переменных╠═╣eol| ╚═════════╝ ╚════════════════╝ ╚═════════════════╝ ╚═══╝
.шп2
Примеры .шп0;
(смотрите также OPEN)
WRITE FILE 2: a,b¤,c# 35 WRITE FILE file_no,rec_no: d(i#),i#,e¤(i#)
.шп2
Ассоциируемые ключевые слова
.шп0
OPEN RANDOM READ PRINT FILE APPEND CLOSE
.шп6;
ZONE (Z.)
.шп2
Описание
.шп0
ZONE - это системная переменная, используемая для установки формата, точности и ширины поля для PRINT. В основном она такая же, как и системная переменная @% в Бейсике ВВС, хотя В4 не выполняется. Более полное описание дано в руководстве "Программирование на Бейсике в среде ОС ОНИКС". Следует заметить, что STR¤ всегда использует ZONE.
Аргумент, следующий за ZONE, нормально выражается шестнадцатиричным числом и следует за оператором &. Аргумент состоит из трех байтов, каждый из которых определен двумя шестнадцатиричными цифрами. Наиболее значительный байт (т.е. самый левый) называется В3, а другие - В2 и В1, наименее значительный байт.
В3 выбирает основной формат следующим образом:
00 Общий (G) формат. Целые печатаются, как целые. Числа между 0.1 и 1 печатаются 0.1 и т.д. Чиса меньше 0.1 печатаются в экспонентной форме.
01 Экспонентный (Е) формат. Числа всегда печатаются в стандартной форме, т.е. 1700 печатается как 1.7е3 и т.д.
02 Фиксированный (F) формат. Числа печатаются с фиксированным количеством десятичных позиций. Если число не входит в выбранную ширину поля, то оно возвращается в формат G. Десятичные точки выравниваются по вертикали, что делает этот формат идиальным для таблиц и т.д.
Числа, больше 02, берутся как 00.
В2 устанавливает полное количество цифр, печатаемых в выбранном формате. Если это количество слишком большое, или слишком маленькое для данного формата, то оно берется равным 9. Число, которое будет печататься, округляется, чтобы оно подошло выбранному полю В2.
В формате Е В2 определяет полное количество цифр, печатаемых в мантиссе (т.е. не включая цифры после Е). Оно может быть в пределах от 1 до 9.
В формате F В2 определяет количество цифр, следующих за десятичной точкой. Оно может быть в пределах от 1 до 9.
В формате G В2 дает максимальное количество цифр, которое можно напечатать до возвращения в формат Е. Оно может быть в пределах от 1 до 9.
В1 устанавливает полную ширину поля печати и может иметь любую величину в пределах от &00 до &FF(0 до 255 десятичные).
Величина ZONE по умолчанию составляет &00090А.
Начальные нули могут быть опущены.
Следует заметить, что ZONE можно изменять только с помощью оператора присваивания (а не, например, с помощью INPUT).
.шп2
Ссылки
.шп0
Секция 23.3 и Программирование на Бейсике в среде ОС ОНИКС (@%).
.шп2
Синтаксис
.шп0
┏════════════╗ ═╣ ZONE ╠═ ╚════════════╝
.шп2
Примеры .шп0;
(смотрите также секцию 23 и руководство "Программирование на Бейсике в среде ОС ОНИКС")
ZONE := &02040A // F format, 4 dec places, 10 field 100 ZONE := &010309
.шп2
Ассоциируемые ключевые слова
.шп0
PRINT USING WIDTH
.сс
.шп6
40 Справочные таблицы
.шп0
Эта глава слдержит следующие справочные таблицы:
1. Коды ASCII.
2. Краткое описание кодов VDU
3. Краткое описание вызовов *FX.
4. Ключевые слова, операторы и метки.
5. Сообщения об ошибках и номера.
6 Предшествование операторов и значимые числовые пределы.
.сс
.шп14
40.1 Коды ASCII
.шп2
Таблица кодов ASCII
.шп0
══════════════════════════════════════════╦═══════════════ Действие/символ Код |Символ Код (Десятичный)| ══════════════════════════════════════════╬═══════════════ Ничего 0 | # 35 Следующий на принтер 1 | ¤ 36 Запустить принтер 2 | % 37 Остановить принтер 3 | & 38 Разделить курсор 4 | ' 39 Соединить курсор 5 | ( 40 Включить VDU 6 | ) 41 Звуковой сигнал 7 | * 42 Назад 8 | + 43 Вперед 9 | , 44 Вниз 10 | - 45 Вверх 11 | . 46 Оистить область текста 12 | / 47 Возврат каретки 13 | 0 48 Вклучить режим сраницы 14 | 1 49 Выключить режим страницы 15 | 2 50 Очистить область графики 16 | 3 51 Определить цвет текста 17 | 4 52 Определить цвет графики 18 | 5 53 Определить логический цвет 19 | 6 54 Логические цвета по умолчанию 20 | 7 55 Отключить VDU 21 | 8 56 Выбрать режим 22 | 9 57 Перепрограммировать символ 23 | : 58 Определить область графики 24 | ; 59 Построить 25 | < 60 Принять области экрана по умолчанию 26 | = 61 Ничего 27 | > 62 Определить область текста 28 | ? 63 Определить начало графики 29 | @ 64 Переместить текстовый курсор на 0,0 30 | A 65 Переместить текстовый курсор на X,Y 31 | B 66 Пробел 32 | C 67 ! 33 | D 68 " 34 | E 69
.сс
════════════════════════════╦═════════════════════════════ Символ код |Символ код ════════════════════════════╬═════════════════════════════ F 70 |c 99 G 71 |d 100 H 72 |e 101 I 73 |f 102 J 74 |g 103 K 75 |h 104 L 76 |i 105 M 77 |j 106 N 78 |k 107 O 79 |l 108 P 80 |m 109 Q 81 |n 110 R 82 |o 111 S 83 |p 112 T 84 |q 113 U 85 |r 114 V 86 |s 115 W 87 |t 116 X 88 |u 117 Y 89 |v 118 Z 90 |w 119 [ 91 |x 120 \ 92 |y 121 ] 93 |z 122 ^ 94 |{ 123 _ 95 || 124 ` 96 |} 125 a 97 |~ 126 b 98 |удаление 127
.сс
.шп14
40.2 Краткое описание кодов VDU
.шп0
Код CTRL Необходимое Операция число байтов ---------------------------------------------------------- 0 @ 0 нет действия 1 A 1 послать следующий символ только на принтер 2 B 0 включить принтер 3 C 0 выключить принтер 4 D 0 писать текст с текстовым курсором 5 E 0 писать текст с графическим курсором 6 F 0 включить драйвер VDU 7 G 0 звонок 8 H 0 переместить курсор назад на 1 символ 9 I 0 переместить курсор вперед на 1 символ 10 J 0 переместить курсор вниз на 1 строку 11 K 0 переместить курсор вверх на 1 строку 12 L 0 очистить текстовую область (CLS) 13 M 0 переместить курсор на начало текущей строки 14 N 0 включить страничный режим 15 O 0 выключить сраничный режим 16 P 0 очистить графическую область (CLG) 17 Q 1 определить текстовый цвет (COLOUR) 18 R 2 определить графический цвет (GCOL) 19 S 5 определить логический цвет 20 T 0 восстановить логические цвета по умолчанию 21 U 0 выключить драйверы VDU или уничтожить строку 22 V 1 выбрать режим экрана (MODE :=) 23 W 9 перепрограммировать дисплейный символ 24 X 8 определить графическое окно 25 Y 5 PLOT 26 Z 0 восстановить стандартные окна 27 [ 0 нет действия 28 \ 4 определить текстовое окно 29 ] 4 определить графическое начало 30 ^ 0 поместить текстовый курсор в верхнюю левую часть области 31 _ 2 переместить курсор в x,y(TAB(x,y)) 127 УДАЛИТЬ вернуть и уничтожить
.сс
.шп14
40.3 Краткое описание вызовов *FX
.шп0
Ниже приведены отобранные вызовы *FX, которые могут быть полезны для программиста Комала.
*fx 0 Печатать номер версии операционной системы *fx 2 Включить/выключить устройство ввода ,0 включить ввод с клавиатуры и отключить RS232 ,1 включить ввод с RS232 ,2 включить ввод с клавиатуры и выключить RS232 *fx Выбрать устройство(а) вывода ,0 Принтер Экран ,1 Принтер Экран RS232 ,2 Принтер ,3 Принтер RS232 ,4 Экран ,5 Экран RS232 ,6 ,7 RS232 *fx 4 Установить/выключить КОПИЯ и клавиши со стрелками ,0 установить систему для нормального редактирования курсора ,1 выключить редактирование, клавиши производят коды 135-139 ,2 клавиши становятся клавишами, определяемыми пользователем, 11-15 *fx 5 Выбрать тип принтерного вывода ,0 свободный вывод без задержки ,1 параллельный вывод ,2 последовательный (RS232) вывод ,3 выбрать драйвер принтера, определенный пользователем *fx 6 Установить код, игнорируемый драйвером принтера ,10 игнорировать перевод строки *fx 7 Установить RS232 скорость приема в бодах ,1 75 ,2 150 ,3 300 ,4 1200 ,5 2400 ,6 4800 ,7 9600 ,8 19200 *fx 8 Установить RS232 скорость передачи в бодах ,1 75 ,2 150 ,3 300 ,4 1200 ,5 2400 ,6 4800 ,7 9600 ,8 19200 *fx 15 Инициализировать внутренние буферы ,0 Инициализировать все внутренние буферы ,1 Инициализировать текущий выбранный буфер ввода *fx 17 Выбрать канал и начать А/Ц преобразование ,n где n номер канала *fx 18 Очистить клавиши, определенные пользователем *fx 19 Ждать очистки экрана перед следующим показом *fx 21 Выбрать и инициализировать буфер ,0 инициализировать буфер клавиатуры ,1 инициализировать буфер ввода (последовательный) RS232 ,2 инициализировать буфер вывода (сериальный) RS232 ,3 инициализировать буфер вывода принтера ,4 инициализировать звуковой канал 0 (белый шум) ,5 инициализировать канал 1 ,6 инициализировать канал 2 ,7 инициализировать канал 3 ,8 инициализировать буфер речевого синтезатора *fx 200 Включить/выключить клавишу РЕД ,0 включить РЕД ,1 выключить РЕД *fx 210 Включить/выключить звук ,0 включить звук ,1 выключить звук *fx 229 Действие клавиши РЕД ,0 нормальное действие ,n (n>0) обращаться как с кодом ASCII
.сс
.шп14
40.4 Ключевые слова, операторы и метки
.шп0
---------------------------------------------------------- Ключевое слово и т.д. Минимальная форма Метка ---------------------------------------------------------- следует .сс 401 ---------------------------------------------------------- Ключевое слово и т,д. мимнимальная форма Метка ----------------------------------------------------------
.сс 402 ---------------------------------------------------------- Ключевое слово и т.д. Минимальная форма Метка ---------------------------------------------------------- .сс 403 ---------------------------------------------------------- Ключевое сово и т.д. Минимальная форма Метка ----------------------------------------------------------
.сс
404
Сообщение об ошибке и номера Сообщение Номер Плохое DIM 36 Плохое GOTO 29 Плохая программа 21 Плохой тип 23 Плохая величина 32 Не могу CONT 18 EOD 33 EOF 41 Уход 17 Файл открыт 38 Имя не совпададет 25 Нет ... 28 Нет RETURN 39 Нет места 20 Не разрешается 26 Не найдено 31 Не открыто 35 Ошибка блока PARM 40 Избыток при записи 34 STOP 19 Строка слишком длинная 30 Ошибка в синтаксисе 22 Слишком сложно 27 Открыто на 24 Переменная существует 37
.сс
405
Предшествование операторов и достоверных числовых пределов
Операторы, имеющиеся в Комале, разделены на восемь групп следующим образом: группа 8 имеет самое высокое предшествование, а группа 1 - самое низкое.
Операторы в одной группе применяются в порядке, в котором они встречаются.
Группа 1: OR EOR
Группа 2: AND
Группа 3: = < > <= >= <> IN
Группа 4: + - (бинарный)
Группа 5: * / DIV MOD
Группа 6: ^ подстрочные определители
Группа 7: ? !
Группа 8: унарные функции NOT ( ) & -
Термен "унарная функция" относится ко всем операторам и ключевым словам, которые принимают один аргумент и возвращают величину. Это:
& -(унарная) - ABS ACS ADVAL ASN ATN CHR¤ COS DEG EOF IKEY INKEY¤ INT LEN LN LOG ORD RAD SGN SIN SQR STR¤ TAN USR VAL
Достоверные приделы для арифметических операций.
Числа с плавающей точкой хранятся с однобайтовым показателем, давая допускаемые величины в пределах от -(2^128) до 2^128. Самая малая величина, не равная нулю - 2^(-128).
Целые переменные хранятся в пределах от -&80000000 до +7FFFFFFF.
Точность
Все арифметичечкие величины хранятся с точностью до 32 бит.
.сс
[an error occurred while processing this directive]