используется для описания любого слова функционального блока. Для битовых строк %Mi:L, %Si:L, and %Xi:L, базовый адрес первой битовой строки должен быть кратен 8 (0, 8, 16, 96, ...)
Присваивание Таблиц Слов, Двойныхслов и Слов с ПТ
Операции присваивания могут выполняться над следующими таблицами объектов (
• Прямое целое значение -> таблица слов (Пример 1) или таблица двойных слов
• Слово -> таблица слов (Пример 2)
• Таблица слов -> таблица слов (Пример 3)
Длина таблицы (L) должна быть одинаковая у обеих таблиц.
• Двойное слово -> таблица двойных слов
• Таблица двойных слов -> таблица двойных слов
Длина таблицы (L) должна быть одинаковая у обеих таблиц.
• Прямое значение с ПТ -> таблица слов с ПТ
• ПТ -> таблица слов с ПТ
• Таблица слов с ПТ-> таблица слов с ПТ
Длина таблицы (L) должна быть одинаковая у обеих таблиц
Синтаксис Синтаксис для присваивания таблиц слов, двойных слов и слов с ПТ
Оператор |
Синтаксис |
:= |
[Op1: = Op2 ] Операнд 1 (Op1) принимает значение операнда 2 (Op2) |
В следующей таблице представлены подробные операнды:
Тип |
Операнд 1 (Op1) |
Операнд 2 (Op2) |
Таблицы слов |
%MWi:L, %SWi:L |
%MWi:L, %SWi:L, прямое целое значение, %MWi, %KWi, %IW, %QW, %IWA, %QWA, %SWi, %BLK.x |
Таблицы двойных слов |
%MDi:L |
Прямое целое значение, %MDi, %KDi,%MDi:L, %KDi:L |
Таблицы слов с ПТ |
%MFi:L] |
Прямое значение с ПТ, %MFi, %KFi, %MFi:L, %KFi:L |
Примечание: Аббревиатура %BLK.x (например, R3.I) используется для описания любого слова функционального блока.
Инструкции сравнения
Введение Инструкции сравнения используются для сравнения двух операндов.
В следующей таблице перечислены типы инструкций сравнения.
Инструкция |
Функция |
> |
Проверяет, больше ли операнд 1, чем операнд 2 |
Проверяет, является ли операнд 1 больше или равен операнду 2 |
|
< |
Проверяет, меньше ли операнд 1, чем операнд 2 |
<= |
Проверяет, является ли операнд 1 меньше или равен операнду 2 |
= |
Проверяет, равен ли операнд 1 операнду 2 |
<> |
Проверяет, отличается ли операнд 1 от операнда 2 |
Синтаксис Синтаксис инструкций сравнения:
Оператор |
Синтаксис |
|||
LD [Op1 Оператор Op2] |
||||
AND [Op1 Оператор Op2] |
||||
OR [Op1 Оператор Op2] |
||||
Операнды: |
||||
Тип |
Операнд 1 (Op1) |
Операнд 2 (Op2) |
||
Слова |
%MWi, %KWi, %INWi, %IW, %IWAi, %QNWi, %QWi, %QWAi, %QNWi, %SWi, %BLK.x |
Прямое значение, %MWi, %KWi, %INWi, %IW, %IWAi, %QNWi, %QW, %QWAi, %SWi, %BLK.x, %MWi [%MWi], %KWi [%MWi] |
||
Двойные слова |
%MDi, %KDi |
Прямое значение, %MDi, %KDi, %MDi [%MWi], %KD [%MWi] |
||
Слова с ПТ |
%MFi, %KFi |
Прямое значение с ПТ, %MFi, %KFi, %MFi [%MWi], %KFi [%MWi] |
||
Примечание: Инструкции сравнения могут использоваться внутри круглых скобок.
Пример использования инструкции сравнения внутри круглых скобок:
LD %M0
AND( [%MF20 > 10.0]
OR %I0.0
)
ST %Q0.1
Инструкции арифметических операций над целыми числами
Введение Арифметические инструкции используются для выполнения арифметических операций между двумя целыми операндами или над одним целым операндом. В следующей таблице перечислены типы арифметических инструкций.
Инструкция |
Функция |
+ |
Сложение двух операндов |
- |
Вычитание двух операндов |
* |
Умножение двух операндов |
/ |
Деление двух операндов |
REM |
Остаток от деления двух операндов |
SQRT |
Квадратный корень из операнда |
INC |
Инкремент операнда |
DEC |
Декремент операнда |
ABS |
Модуль операнда |
Структура Арифметические операции выполняются следующим образом
Синтаксис Синтаксис зависит от используемых операторов, как показано в следующей таблице.
Оператор |
Синтаксис |
+,-,*,/,REM |
[Op1: = Op 2 Оператор Op3] |
INC, DEC |
[Оператор Op1] |
SQRT (1) |
[Op1: = SQRT(Op2)] |
ABS (1) |
[Op1: = ABS(Op2)] |
Операнды:
Тип |
Операнд 1 (Op1) |
Операнды 2 и 3 (Op2 & 3) (1) |
Слова |
%MWi, %QWi, %QWAi, %SWi |
Прямое значение , %MWi, %KWi, %INW, %IW, % IAi, %QNW, %QW, %QWAi, %SWi, %BLK.x |
Двойные слова |
%MDi |
Прямое значение, %MDi, %KDi |
Примечание: (1) С этим оператором, Op2 не может быть прямым значением. Функция ABS может использоваться только с двойными словами (%MD и %KD) и словами с ПТ (%MF and %KF). Следовательно, OP1 и OP2 должны быть двойными словами или словами с ПТ.
Условия Сложение переполнения и • Переполнение во время операции над словами ошибки Если результат превышает емкость слова результата, бит %S18
(переполнение) устанавливается в 1 и результат не значим . Программа пользователя управляет битом %S18. Примечание: Для двойных слов, пределы -2147483648 и 21474836487. Умножение
• Переполнение во время операции
Если результат превышает емкость слова результата, бит %S18 (переполнение) устанавливается в 1 и результат не значим.
Деление / остаток
• Деление на 0
Если делитель 0, деление невозможно и системный бит %S18 устанавливается в 1. Результат неправильный.
• Переполнение во время операции
Если результат превышает емкость слова результата,бит %S18 устанавливается в 1. Извлечение квадратного корня
• Переполнение во время операции
Извлечение квадратного корня выполняется только из положительных значений, поэтому, результат всегда положительный. Если операнд квадратного корня отрицательный, системный бит %S18 устанавливается в 1, и результат неправильный.
Логические инструкции
Введение Логические инструкции используются для выполнения логических операций между двумя словами-операндами или над одним словом-операндом. В следующей таблице перечислены типы логических инструкций.
Инструкция |
Функция |
AND |
И (побитовое) между двумя операндами |
OR |
Логическое ИЛИ (побитовое) между двумя операндами |
XOR |
Исключающее ИЛИ (побитовое) между двумя операндами |
NOT |
Логическое отрицание (побитовое) операнда |
Структура
Логические операции выполняются следующим образом:
Синтаксис Синтаксис зависит от используемых операторов:
Оператор |
Синтаксис |
Операнд 1 (Op1) |
Операнды 2 и 3 (Op2 & 3) |
AND, OR, XOR |
[Op1: = Op2 Оператор Op3] |
%MWi, %QWi, %QWAi, %SWi |
Прямое значение (1), %MWi, %KWi, %IW, %IWAi, %QW, %QWAi, %SWi, %BLK.x |
NOT |
[Op1:=NOT(Op2)] |
Примечание: (1) С NOT, Op2 не может быть прямым значением.
Инструкции сдвига
Введение Инструкции сдвига перемещают биты операнда на заданное число позиций
вправо или влево.
В следующей таблице перечислены типы инструкций сдвига.
Инструкция Функция |
|||||
Логический сдвиг |
|||||
SHL(op2,i) |
Логический сдвиг на i позиций влево. |
||||
SHR(op2,i) |
Логический сдвиг на i позиций вправо. |
||||
Циклический сдвиг |
|||||
ROR(op2,i) |
Циклический сдвиг на i позиций влево. |
||||
ROL(op2,i) |
Циклический сдвиг на i позиций вправо. |
||||
Примечание: Системный бит %S17 выхода за границы емкости.
СтруктураОперации сдвига выполняются следующим образом:
Синтаксис Синтаксис зависит от используемых операторов, как указано в следующей
таблице.
Оператор |
Синтаксис |
|||
SHL, SHR |
[Op1: = Оператор (Op2,i)] |
|||
ROL, ROR |
||||
Операнды: |
||||
Типы |
Операнд 1 (Op1) |
Операнд 2 (Op2) |
||
Слова |
%MWi, %QWi, %QWAi, %SWi |
%MWi, %KWi, %IW, %IWAi, %QW, %QWAi, %SWi, %BLK.x |
||
Двойное слово |
%MDi |
%MDi, %KDi |
||
Инструкции преобразования
Введение Инструкции преобразования выполняют преобразование между
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.