O = X + Y
Сложение четырех элементов (A+B+C+D)
O = A + B + C + D
Вычитание (X-Y)
O = X – Y
Умножение (X*Y)
O = X * Y
Деление (X/Y)
O = X/Y
Остаток от деления (X%Y)
Значение выхода O равно остатку от деления значения входа X на значение входа Y.
Возведение в степень (X**Y)
Абсолютное значение (ABS)
O = |X|
Инверсия знака (-X)
O = -X
Целая часть (FLOOR)
На выход O передается целая часть значения входа X.
Не следует путать функцию этого блока с округлением до целого (для округления используется блок NDGT из раздела Алгебраические функции).
Обратная величина (1/X)
O = 1/X
Квадратный корень (SQRT)
Возведение в квадрат (X**2)
Сумма квадратов (HYPOT)
Масштабирование (K*X+C)
O = K * X + C
Раздел ‘Тригонометрические’
Синус (SIN)
Косинус (COS)
Тангенс (TAN)
Арксинус (ASIN)
Арккосинус (ACOS)
Арктангенс (ATAN)
Арктангенс отношения (_ATAN)
Преобразование полярных координат в декартовы (PDT)
Функции прямого тригонометрического преобразования интерпретируют значение своего аргумента (значение входа ARG для блоков SIN, COS и TAN; отношение DVD/DVS для блока _ATAN и значение входа IA для блока PDT) как угол в радианах.
Блоки ASIN, ACOS и ATAN и _ATAN возвращают главное значение соответствующих функций в радианах:
Синус (SIN)
SIN = sin(ARG)
Косинус (COS)
COS = cos(ARG)
Тангенс (TAN)
TAN = tg(ARG)
Арксинус (ASIN)
ARG = Arcsin(SIN)
Арккосинус (ACOS)
ARG = Arccos(COS)
Арктангенс (ATAN)
ARG = Arctg(TAN)
Арктангенс отношения (_ATAN)
ATN = Arctg(DVD/DVS)
Преобразование полярных координат в декартовы (PDT)
QX = IL*cos(IA); QY = IL*sin(IA)
5. Описание языка Tehno IL
5.1. Синтаксис Техно IL
Программа на языке Техно IL представляет собой последовательность инструкций. Каждая инструкция должна начинаться с новой строки и должна содержать оператор с опциональным модификатором и, для некоторых операций, один или более операндов, разделенных пробелами. Между инструкциями могут располагаться пустые строки. Компилятор не чувствителен к регистру, т.е. инструкции add var_002 и ADD VAR_002 равнозначны.
Примеры IL-инструкций
ADD VAR_000 2.6
LT VAR_000 VAR_001
JMPC label1
GT VAR_001 20
JMPC label2
LD 278
label1: CAL FUNCTION_000(VAR_000, VAR_001)
label2: ST VAR_001
Под аккумулятором в Техно IL понимается хранилище текущего результата вычислений (в этом качестве выступает один из регистров процессора). Далее в описании языка Техно IL значение аккумулятора обозначается словом result. Функция на языке Техно IL возвращает result.
Техно IL поддерживает одноадресный и двухадресный режимы записи инструкций, которые оперируют с двумя операндами. В первом случае первым операндом является аккумулятор, который опускается при записи, во втором случае указываются два операнда.
Пример
В данном примере представлена запись процедуры a = a + b в одноадресном и двухадресном режиме. Одноадресный режим:
LD a //result = a
ADD b //result = result + b
ST a //a = result
Двухадресный режим позволяет записать ту же операцию компактнее:
ADD a b // a = a + b
В IL-программе могут использоваться метки и комментарии. Правила их задания аналогичны правилам Техно ST.
Do'stlaringiz bilan baham: |