
Лекция 5. Язык инструкций (Техно il)
Общие положения
18 Вопрос
Язык инструкций (Техно IL) - это текстовый язык ТРЕЙС МОУД для разработки программ, реализующих функции обработки данных и управления. Техно IL реализует синтаксис языка инструкций IEC 1131-3 и является его расширением.
IL-программы бывают 2-х типов и могут вызываться двумя способами.
- Первый способ – из FBD-программ (Тип FB). В этом случае Техно IL используется для программирования функциональных блоков, реализующих функции, не входящих в стандартную библиотеку FBD..
- Второй способ вызова – это запуск их параллельно с пересчетом базы каналов – в качестве метапрограмм (Тип PRG). Тексты программ типа PGR должны начинаться с ключевого слова PROGRAM. Для управления выполнением метапрограмм используется канал. СИСТЕМНЫЙ и с дополнением к подтипу программы. Каждый бит этого канала управляет выполнением соответствующей программы. 1 означает разрешение выполнения программы, а 0 - запрет.
Переменные Техно il
Техно IL использует следующие типы переменных.
I - входные переменные;
Q - выходные переменные;
E - статические переменные;
W - статические глобальные переменные;
F - динамические переменные.
Их имена имеют следующую структуру: первый символ определяет тип переменной, далее без пробела следует ее номер
И системные переменные:
result – аккумулятор (для одноадресных операций);
CMP - признак истинности.
19 Вопрос Константы
Константы могут быть двух типов:
целые числа в диапазоне от –127 до 127;
любые другие числа.
Эти константы могут записываться в десятеричном и в шестнадцатеричном виде. Шестнадцатеричная константа начинается с 0х.
Ограничений на число констант первого типа не накладывается. Максимальное число констант второго типа для программ типа FB равно 10, а для PRG – 40. Совпадающие по значению константы считаются за одну.
Операнды
Каждая инструкция программы содержит оператор и операнды. Оператор задает действие, которое надо выполнить с операндами. В качестве операндов в IL-программе могут использоваться все описанные выше переменные, кроме CMP, а также константы.
Значение операнда HEX-формата, задаваемого константой, не может быть больше 0xFF (255).
Язык Техно IL позволяет выполнять с операндами арифметические и логические операции, а также операции сравнения. Почти все они имеют два обозначения: символьное и мнемоническое.
Синтаксис записи операций
В соответствии со стандартом в строке записывается сначала мнемоническое обозначение операции, затем через пробел – операнд.. Техно IL позволяет использовать два операнда и мнемоническое или символьное обозначение операции. Кроме того, обозначение операции может быть помещено между операндами.
Арифметические операции
Техно IL поддерживает следующие арифметические операции:
-
Символьное обозначение
Мнемоническое обозначение
Описание
+
ADD
Сложить операнды;
-
SUB
Вычесть из первого операнда второй;
*
MUL
Умножить операнды;
/
DIV
Разделить первый операнд на второй;
%
MOD
Получить остаток от деления операндов;
**
POW
Возвести первый операнд в степень, заданную вторым операндом;
=
MOVE
Присвоить первому операнду значение второго.
Результат выполнения операции заносится в первый операнд. Если в операции указан только один операнд, то он воспринимается как второй, а в качестве первого используется значение аккумулятора.
Логические операции
Программы на Техно IL позволяют выполнять следующие логические операции с операндами:
-
Символьное обозначение
Мнемоническое обозначение
Описание
&
AND
Логическое умножение;
|
OR
Логическое сложение;
^
XOR
Исключающее логическое сложение;
ANDN
Логическое умножение первого операнда на инвертированное значение второго;
ORN
Логическое сложение первого операнда с инвертированным значением второго;
XORN
Исключающее логическое сложение первого операнда с инвертированным значением второго.
Эти операции выполняются побитно над значениями соответствующих битов операндов.