Правила использования. Операции присваивания. Примеры присваивания слов. Синтаксис для присваивания слов

Страницы работы

Фрагмент текста работы

используется для описания любого слова функционального блока. Для битовых строк %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

Инструкции преобразования

Введение             Инструкции преобразования выполняют преобразование между

Похожие материалы

Информация о работе