Блок TEST описывает условие, которое проверяет при входе в него
транзакта и определяет направление дальнейшего движения транзакта в зависимости от
этого условия, которое записывается в виде алгебраического соотношения двух
аргументов. При выполнении соотношения транзакт пропускается в следующий за блоком
TEST блок. В случае невыполнения соотношений транзакт направляется в блок, метка
которого указана в поле С. Если поле С пусто, то транзакт блокируется блоком до
выполнения соотношения.
Проверяемое соотношение записывается в поле операций сразу за блоком TEST. При
этом можно использовать следующие мнемонические обозначения операций сравнения: L
— «меньше чем»; LE — «меньше или равно»; Е — «равно»; NE — «не равно»;
G — «больше чем»; GE — «больше или равно».
Соотношение рассматривается между первым • и вторым аргументами,
записываемыми в полях А и В соответственно. Аргументы должны принадлежать к
стандартным числовым. атрибутам.
Если поле С не пусто, то транзакт всегда может войти в блок TEST и в зависимости от
соотношения аргументов будет передан либо в следующий блок, либо в блок, указанный в
поле С. Еста поле С пусто, то транзакт при невыполнении условия не сможет войти в блок
TEST и симулятор в каждый момент времени будет проверять, не изменилось ли
блокирующее условие. Такой режим является нежелательным вследствие больших затрат
машинного времени на многократные проверки блокирующего условия. Например:
TEST L S1,K10
TEST NE PF1,PF2
TEST GE Q2,FN1,CEH
|