Блок GATE

Блок управляет потоком транзактов с по­мощью логических операторов. Блок GATE, как и блок TEST, не из­меняет никаких атрибутов транзактов. Он определяет номер следую­щего блока, к которому должен перейти транзакт из блока GATE. Блок GATE может задержать транзакт на входе, если не задан аль­тернативный выход.

GATE X А,[В]

А – имя или номер объекта, для которого про­изводится проверка. Операнд А может быть именем, положительным целым числом, СЧА или СЧА*СЧА.

В – номер следующего блока для входящего транзакта, если логический оператор имеет значение «ложь». Опе­ранд В может быть именем, положительным целым числом, СЧА или СЧА*СЧА.

В дополнительном операторе X задается один из следующих ло­гических операторов:

1. Логические операторы, связанные с устройствами:

NU - устройство j, заданное в операнде А, свободно;

U - устройство j, заданное в операнде А, занято

N1 - устройство j, заданное в операнде А, не прервано;

I - устройство j, заданное в операнде А, обслуживает прерывания;

FV - устройство j, заданное в операнде А, доступно;

FNV - устройство j заданное в операнде А, не доступно.

2. Логические операторы, связанные с МКУ:

SE - МКУ j, заданное в операнде А, пустое (S[j]=0);

SNE - МКУ j, заданное в операнде А, не пустое (S[j]<>0);

SF - МКУ j, заданное в операнде А, заполнено (R[j]=0);

SNF - МКУ j, заданное в операнде А, не заполнено (R[j] <>0);

SV - МКУ j, заданное в операнде А, доступно;

SNV - МКУ j, заданное в операнде А, не доступно.

3. Логические операторы, связанные с логическими ключами:

LS - логический ключ j, заданный в операнде А, включен;

LR - логический ключ j, заданный в операнде А, выключен.

Блок GATE, как и блок TEST, может работать в режимах безусловного и условного вхождения.

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

В режиме условного вхождения, если операнд В блока GATE пустой (альтернативный выход не задан), транзакты не смогут войти в блок GATE до тех пор, пока указанный в этом блоке логический оператор не будет иметь значение «истина».


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



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