Студопедия

КАТЕГОРИИ:


Архитектура-(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; Просмотров: 467; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.