Logic Х а

Операнд А – номер логического ключа; он может быть именем, положительным целым, СЧА или CЧA*CЧA.

Когда транзакт входит в блок LOGIC, положение логического ключа, номер которого задан в операнде А, изменяется в зависимости от значения вспомогательного оператора Х следующим образом:

S – логический ключ устанавливается в положение «Включен»;

R – логический ключ устанавливается в положение «Выклю­чен»;

I – логический ключ инвертируется, то есть положение его из­меняется на противоположное.

Логический ключ имеет СЧА LS<номер ключа> или LS$<HMH ключа>, который возвращает значение 1, если ключ в по­ложении «Включен», и 0 – если в положении «Выключен».

Для изменения направления движения сообщений в зависимости от положения логических ключей используются блоки GATE LR и GATE LS

Блоки GATE LR и GATE LS. Блоки GATE LR, GATE LS проверяют положение логического ключа. В операнде В задается номер блока, к которому переходит транзакт, если вспомогательный оператор Х имеет значение «ложь». Если значение логического опе­ратора – «истина», транзакт переходит к следующему по порядку блоку. Если операнд В пустой, блок GATE LR (GATE LS) работает в режиме условного вхождения, если заполнен – в режиме безуслов­ного вхождения.

В режиме условного вхождения транзакты могут войти в блок GATE только в том случае, если логический оператор (LRj или LSj) имеет значение «истина». Если значение логического оператора – «ложь», транзакт помещается в список задержки и не обрабатывается интерпретатором до тех пор, пока значение не станет истинным. Пдинственным исключением являются транзакты, находящиеся в блоке TRANSFER BOTH (или ALL). Когда потом какой-нибудь другой транзакт проходит блок LOGIC, изменяющий состояние соответствующего ключа, и присваивает указанному в блоке GATE логическому оператору значение «истина», все транзакты, находящиеся в списке задержки, активизируются. После этого интерпретатор, про­сматривая CTC, получает возможность переместить один или не­сколько транзактов (включая и те, что находятся в блоке TRANSFER BOTH или ALL) в блок GATE LR (GATE LS), рабо­тающий в режиме условного вхождения.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: