КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Transfer p,10,1,
TRANSFER SBR,NEXT,10 TRANSFER P,12,37 TRANSFER FN,3,PH3
Номер следующего блока = Значение функции FN3+Значение параметра 3 формата "полуслово" Режим "параметр". Если в поле А стоит зарезервированное слово Р, блок TRANSFER работает в режиме "параметр". Значение аргумента поля В интерпретируется как номер j параметра входящего сообщения. Для определения следующего номера блока для данного сообщения, значение этого параметра складывается со значением аргумента поля С. Если операнд С не задан, номер следующего блока будет равен значению параметра. Например,
Номер следующего блока = Значение параметра 12, вошедшего в блок сообщения + Значение, записанное в ячейке 37 Режим "подпрограмма" (SBR). Если в поле А стоит зарезервированное слово SBR, блок TRANSFER работает в режиме "подпрограмма". Вошедшее в блок TRANSFER сообщение будет пытаться перейти к блоку, указанному в поле В. Значение аргумента поля С интерпретируется как номер параметра; в этом параметре записывается номер j данного блока TRANSFER. Если такого параметра нет, то он создается. Этот режим блока TRANSFER обычно используется для перехода к подпрограмме, началом которой является блок, указанный в поле В. Например,
Если в конце подпрограммы записать блок
то сообщение сможет вернуться к блоку, следующему за блоком TRANSFER SBR, где следующий блок равен текущему значению, записанному в параметре под номером 10 (в данном случае это номер блока TRANSFER SBR) плюс 1. Режим SIM. Если в поле А стоит зарезервированное слово SIM, то блок TRANSFER работает в режиме SIM. Режим введен для случая, когда требуется одновременное выполнение нескольких условий. Каждое сообщение имеет свой индикатор задержки (назовем его индикатором SIM). В этом индикаторе записывается результат любой попытки сообщения войти в следующий блок. Если интерпретатор обнаруживает условия, препятствующие входу сообщения в блок, то индикатор SIM этого сообщения устанавливается в единицу. Если все условия перехода к следующему блоку удовлетворяются, то индикатор SIM остается равным нулю. Если не выполняется хотя бы одно из условий, то индикатор SIM данного сообщения устанавливается в единицу (в режимах BOTH и ALL индикатор SIM устанавливается в единицу только в том случае, когда переход невозможен ни к одному из указанных блоков). При входе сообщения в блок TRANSFER проверяется значение индикатора SIM. Если он равен нулю, сообщение направляется к следующему блоку, указанному в поле В. Если индикатор SIM равен единице, сообщение направляется к блоку, указанному в поле С, а индикатор SIM устанавливается в "0". В любом случае сообщение будет пытаться перейти только к выбранному для него блоку и будет находиться в блоке TRANSFER до выполнения соответствующих условий. В момент, когда создаются условия для выхода сообщения из блока TRANSFER, значение индикатора SIM не проверяется. Состояние индикатора SIM отмечается символом Х в колонке DELAY распечатки информации о сообщениях. При задержке сообщений в блоках ASSEMBLE, GATHER или MATCH индикатор SIM в единицу не устанавливается. Изменение индикатора SIM в блоке ADVANCE. Каждый раз, когда сообщение выходит из блока ADVANCE с нулевым временем задержки, индикатор SIM становится равным нулю. После того, как сообщение покинуло блок ADVANCE, оно может быть снова задержано по каким-либо причинам прежде, чем дойдет до тех блоков, в которых проверяется одновременность выполнения ряда условий. Следовательно, индикатор SIM может быть установлен в единицу до того, как начнется проверка условий. В таком случае перед блоками, в которых проверяется одновременное выполнение условий, следует поместить блок TRANSFER SIM, в котором в полях В и С указан один и тот же блок - первый из блоков, проверяющих условия. После прохождения через этот блок, индикатор SIM сообщения снова станет равным нулю. Например,
Дата добавления: 2014-12-27; Просмотров: 492; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |