Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SCADA_full.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
766.98 Кб
Скачать

Системные переменные

В языке Техно IL используются две системные переменные:

  • result -;CMP

Первая из них используется при одноадресной записи операций. В этом случае она является вторым операндом и в нее записывается результат. Для явного вызова этой переменной используется идентификатор X.

Переменная CMP формируется операциями сравнения и оператором TEST. Она может принимать значения истинно или ложно и используется операторами условного перехода.

Константы

  Константы могут быть двух типов:

  •       целые числа в диапазоне от –127 до 127;

     любые другие числа.

Эти константы могут записываться в десятеричном и в шестнадцатеричном виде. Шестнадцатеричная константа начинается с .

Ограничений на число констант первого типа не накладывается. Максимальное число констант второго типа для программ типа FB равно 10, а для PRG – 40. Совпадающие по значению константы считаются за одну.

Операнды

Каждая инструкция программы содержит оператор и операнды. Оператор задает действие, которое надо выполнить с операндами. В качестве операндов в IL-программе могут использоваться все описанные выше переменные, кроме CMP, а также константы.

Значение операнда HEX-формата, задаваемого константой, не может быть больше 0xFF (255).

 Язык Техно IL позволяет выполнять с операндами арифметические и логические операции, а также операции сравнения. Почти все они имеют два обозначения: символьное и мнемоническое.

Синтаксис записи операций

В соответствии со стандартом в строке записывается сначала мнемоническое обозначение операции, затем через пробел – операнд.. Техно IL позволяет использовать два операнда и мнемоническое или символьное обозначение операции. Кроме того, обозначение операции может быть помещено между операндами.

  • Внимание! При записи символа операции между операндами он должен быть отделен пробелами с двух сторон.

Например, операция сложения переменной Q1 с переменной I2 с записью результата в первую из них в соответствии со стандартом записывается следующим образом:

LD Q1

ADD I2

ST Q1

В Техно IL эта операция может быть записана так же, а может - существенно компактнее:

ADD Q1 I2

или

+ Q1 I2

или

Q1 + I2

В одной строке программы можно записать несколько операций. В этом случае их следует разделять символом “;”.

Арифметические операции

Техно IL поддерживает следующие арифметические операции:

Символьное обозначение

Мнемоническое обозначение

Описание

+

ADD

Сложить операнды;

-

SUB

Вычесть из первого операнда второй;

*

MUL

Умножить операнды;

/

DIV

Разделить первый операнд на второй;

%

MOD

Получить остаток от деления операндов;

**

POW

Возвести первый операнд в степень, заданную вторым операндом;

=

MOVE

Присвоить первому операнду значение второго.

Результат выполнения операции заносится в первый операнд. Если в операции указан только один операнд, то он воспринимается как второй, а в качестве первого используется значение аккумулятора.

Логические операции

Программы на Техно IL позволяют выполнять следующие логические операции с операндами:

Символьное обозначение

Мнемоническое обозначение

Описание

&

AND

Логическое умножение;

|

OR

Логическое сложение;

^

XOR

Исключающее логическое сложение;

 

ANDN

Логическое умножение первого операнда на инвертированное значение второго;

 

ORN

Логическое сложение первого операнда с инвертированным значением второго;

 

XORN

Исключающее логическое сложение первого операнда с инвертированным значением второго.

Эти операции выполняются побитно над значениями соответствующих битов операндов.

Операции сравнения

Из операций сравнения в Техно IL реализованы следующие:

Символьное обозначение

Мнемоническое обозначение

Описание

==

EQ

Сравнение на равенство;

>

GT

Сравнение на "больше";

>=

GE

Сравнение на "больше или равно";

<

LT

Сравнение на "меньше";

<=

LE

Сравнение на "меньше или равно";

!=

NE

Сравнение на неравенство;

 

TEST

Сравнение на равенство 0 логического умножения операндов.

Эти операции сравнивают значение первого операнда со вторым на соответствующее условие. По результатам формируется значение переменной CMP. Оно будет истинно при выполнении условия и ложно в противном случае.

Эта переменная анализируется в операторах условного перехода Если в операции указан только один операнд, то он воспринимается как второй. А в качестве первого используется аккумулятор.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]