Значение имени-данного-2 обновляется системой управления сообщениями только во время выполнения оператора RECEIVE (ПОЛУЧИТЬ).
Если программа обработки сообщений вызывается системой обработки сообщений, то символическое имя терминала, являющегося источником сообщения, активирующего эту программу, помещается в имя-данного-3 статьи CD (ОК) для ввода-вывода с фразой INITIAL (НАЧАЛЬНОГО), если она применяется. Это символическое имя должно удовлетворять правилам образования системных имен.
Во всех других случаях значением имени-данного-3 статьи CD (ОК) для ввода-вывода с фразой INITIAL (НАЧАЛЬНОГО) будут пробелы.
Засылка символического имени или пробелов заканчивается I до выполнения первого оператора раздела процедур.
Если система управления сообщениями пытается вызвать программу, не содержащую фразу INITIAL (НАЧАЛЬНОГО) в статье CD (ОК), результат не определен.
Если фраза INITIAL (НАЧАЛЬНОГО) используется в статье CD (ОК) для ввода-вывода и программа вызывается программой управления сообщениями, то значение имени-данного-3 не должно изменяться программой. Если это значение изменить, то выполнение любого оператора, использующего имя-коммуника- ции-1, будет неуспешным и значением имени-данного-6 будет код, означающий неизвестный источник или адресат (см. табл. 1).
Для статьи СР (ОК) для ввода-вывода | без фразы INITIAL (НАЧАЛЬНОГО) или статьи CD (ОК) для ввода-вывода с фразой INITIAL (НАЧАЛЬНОГО), но | когда программа не вызывается программой управления сообщениями, до выполнения первого оператора, использующего имя-коммуникации-1, программа должна обеспечить символическое имя источника или адресата в имени-данного-3.
После выполнения первого оператора, использующего имя-коммуникации-1, значение данного имя-данного-3 не должно изменяться программой. Если это значение изменить, то выполнение любого оператора, использующего имя-коммуникации-1, будет неуспешным, и значением имени-данного-6 будет код, означающий неизвестный источник или адресат (см. табл. 1).
В качестве значения имени-данного-4 система управления сообщениями указывает число позиций литер, заполненных в результате выполнения оператора RECEIVE (ПОЛУЧИТЬ).
Во время выполнения оператора SEND (ПОСЛАТЬ) система управления сообщениями рассматривает значение имени-данного-4 как число крайних левых позиций в поле, используемом в операторе SEND (ПОСЛАТЬ), из которого надо передавать данные (п. 3.6 настоящей части).
Значение имени-данного-5 устанавливается системой управления сообщениями во время выполнения оператора RECEIVE (ПОЛУЧИТЬ) согласно слёдующим правилам.
Для оператора RECEIVE MESSAGE (ПОЛУЧИТЬ СООБЩЕНИЕ):
если обнаружен конец группы, то значение имени-данного-5 устанавливается равным 3;
если обнаружен конец сообщения, то значение имени-данного-5 устанавливается равным 2;
если передается часть сообщения, то значение имени-данно- го-5 устанавливается равным Q.
Для оператора RECEIVE SEGMENT (ПОЛУЧИТЬ СЕГМЕНТ):
если обнаружен конец группы, то значение имени-данно-' го-5 устанавливается равным 3;
если обнаружен конец сообщения, то значение имени-данного-5 устанавливается равным 2;
если обнаружен конец сегмента, то значение имени-данно- го-5 устанавливается равным 1;
если передается только часть сообщения, то значение имени-данного-5 устанавливается равным 0.
Если одновременно удовлетворяются несколько из перечисленных выше условий, то значение имени-данного-5 определяется первым выполненным условием в порядке перечисления.
(34) Значение имени-данного-6 определяет ключ состояния выполнения предшествующих операторов | DISABLE (ЗАПРЕ- I ТИТЬ), ENABLE~7PA3PEmHTb), PURGE (ОЧИСТИТЬ), ACCEPT (ПРИНЯТЬ), SEND (ПОСЛАТЬ).RECEIVE (ПОЛУЧИТЬ) |
SEND (ПОСЛАТЬ) для CD (ОК) для ввода-вы вода |
SEND (ПОСЛАТЬ) для CD (ОК) для вывода |
PURGE2 (ОЧИСТИТЬ2) |
ACCEPT MESSAGE COUNT (ПРИНЯТЬ ЧИСЛО СООБ ЩЕНИЙ) |
I ENABLE INPUT2 (РАЗРЕШИТЬ ВВОД2) |
ENABLE INPUT/I-0 ? TERMINAL2 (РАЗРЕШИТЬ ВВіОД/ВВОД.ВЫВОД С ТЕРМИНАЛА2) |
ENABLE OUTPUT2 (РАЗРЕШИТЬ ВЫВОД2) |
DISABLE INPUT- (ЗАПРЕТИТЬ ВЫВОД2) |
DISABLE INPUT/I-0 TERMINAL2 (ЗАПРЕТИТЬ ВВОД/ВВОД- ВЫВОД С ТЕРМИ НАЛА2) |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
X |
X |
X |
X |
х |
X |
X |
X |
X |
X |
|
|
X |
X |
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
|
|
|
|
|
|
|
X |
X |
X |
X |
X |
|
X |
X |
X |
|
|
|
X |
|
|
DISABLE OUTPUT2 (ЗАПРЕТИТЬ ВЫВОД2) |
Значение ключа состояния |
Комментарий |
И |
12 |
13 |
X |
00 |
Ошибки не обнаружено. Выполнение оператора завершено |
|
10 10 |
Один или несколько адресатов запрещены. Выполнение оператора завершено (см. п. 2.2.6) Адресат запрещен. Никакие действия не предпринимаются |
х |
15 |
Символический источник, одна или несколько очередей и адресатов запрещены/разре- шены2 (см. п. 2.2.6) |
X |
20 |
Один или несколько адресатов неизвестны. Для известных адресатов действие завершается (см. п. 2.2.6) |
Таблица 1 ГОСТ 22558—89 С. 693 |
|
|
X |
X |
— |
RECEIVE (ПОЛУЧИТЬ) |
||||||||||||||||
X |
|
|
|
|
|
SEND (ПОСЛАТЬ) для CD (ОК) для ввода-вывода |
||||||||||||||||
X |
|
X |
|
|
w |
SEND (ПОСЛАТЬ) для CD (ОК) для вывода |
||||||||||||||||
|
|
X |
|
|
л |
PURGE2 (ОЧИСТИТЬ2) |
||||||||||||||||
|
|
|
|
X |
сл W |
ACCEPT MESSAGE COUNT (ПРИНЯТЬ ЧИСЛО СООБЩЕНИИ) |
||||||||||||||||
|
X |
|
|
X |
О) |
ENABLE INPUT2 (РАЗРЕШИТЬ ВВОД2) |
||||||||||||||||
|
X |
|
X |
|
|
ENABLE INPUT/I-O TERMINAL2 (РАЗРЕШИТЬ ВВОД/ВВОД-ВЫВОД С ТЕРМИНАЛА2) |
||||||||||||||||
|
X |
X |
|
|
00 |
ENABLE OUTPUT2 (РАЗРЕШИТЬ ВЫВОД2) |
||||||||||||||||
|
X |
|
|
X |
«э |
DISABLE INPUT2 (ЗАПРЕТИТЬ ВЫВОД2) |
||||||||||||||||
|
X |
|
X |
|
5 |
DISABLE INPUT/I-O TERMINAL2 (ЗАПРЕТИТЬ ВВОД/ВВОД-ВЫВОД С ТЕРМИНАЛА2) |
||||||||||||||||
|
X |
X |
|
|
£ |
DISABLE OUTPUT2 (ЗАПРЕТИТЬ ВЫВОД2' |
||||||||||||||||
сл о |
о |
со о |
to |
о |
С> |
Значение ключа состояния |
||||||||||||||||
м и Ь ft |
ёа 35 Я СО |
b Я |
маютс |
PC P 31 S CP |
Пар |
маютс |
какие |
Зна1 TION PECA |
п релщ |
а W а 2 |
Сим |
прини: |
а £ ГР • » о « |
|||||||||
9$ Я О о |
Я о Ґ5 Е Ьа со СР |
а CD ж |
EQ |
J=a rp S« S a |
Рэи ЧІГО |
a |
j=j (0 ? a a |
8 w a |
чение да COUNT |
эинимаю' |
S а а а |
волическ |
маются |
а я 0) я а ГР |
а я о 2 |
§ а |
||||||
|
S о |
CD |
|
a |
CD S« |
|
a |
s |
я a |
g |
CD я |
а а« |
|
ГР а« |
■S |
Я |
||||||
ё (Т ЕС -е* S а |
го поля, п |
больше |
|
EC CD Д Ъ ГО Я |
8 s 2 CP a |
|
a ГР 3 2 3 |
о a H a 2 О |
ого DESTI (ЧИСЛО |
|
а го )а Ф К« о ч W 3 |
источник |
|
со а а а ГР а |
2 ГР а< а СР я W to |
а о ь а а о о л |
||||||
S3 |
ср |
Л |
|
5 |
|
|
a a |
|
|
5Q |
а |
|
"С? СР |
0 |
■§ |
|||||||
у |
.ta |
S |
|
a |
a |
|
s |
5 |
г1?* |
|
а го |
ГР |
|
|
|
9 |
Продолжение табл.
RECEIVE (ПОЛУЧИТЬ) |
SEND (ПОСЛАТЬ) для CD (ОК) для ввода-вывода |
SEND (ПОСЛАТЬ) для CD (ОК) для вывода |
PURGE2 (ОЧИСТИТЬ2) |
ACCEPT MESSAGE COUNT (ПРИНЯТЬ ЧИСЛО СО ОБЩЕНИИ) |
ENABLE INPUT2 (РАЗРЕШИТЬ ВВОД2) |
ENABLE INPUT/I-O TERMINAL2 (РАЗРЕШИТЬ ВВОД/ВВОД-ВЫВОД С ТЕРМИНАЛА2) |
ENABLE OUTPUT2 (РАЗРЕШИТЬ ВЫВОД2) |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
7 |
|
X |
X |
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
X |
X |
|
X |
|
X |
695 |
|
|
|
|
|
|
|
DISABLE INPUT2 (ЗАПРЕТИТЬ ВЫВОД2) |
DISABLE INPUT/I-O TERMINAL2 (ЗАПРЕТИТЬ ВВОД/ВВОД-ВЫВОД С ТЕРМИНАЛА2) |
DISABLE OUTPUT2 (ЗАПРЕТИТЬ ВЫВОД2' |
Значение ключа состояния |
Комментарий |
9 |
10 |
11 |
12 |
13 |
|
|
|
60 |
Часть сообщения с нулевым счетчиком литер или не определен идентификатор-1. Никакие действия не предпринимаются |
|
|
|
65 |
Превышены возможности выходной очереди (см. п. 2.2.6) |
|
|
|
70 |
Один или несколько адресатов не имеют порций, связанных с ними. Выполнение оператора завершается для других адресатов2 |
X |
|
X |
80 |
■ Произошла комбинация по крайней мере хотя бы двух ключей состояния со значениями 10, 15 и 20 (см. п. 2.2.6) |
|
|
|
9х |
Состояния, определяемые реализацией. |