
книги из ГПНТБ / Кушнерев Н.Т. Программирование для ЭВМ Минск-32
.pdfДля оператора вывода интервала на УПч (код Ы, ЫЖ, признак И, N) используется только первая строка. Оператор ЫИУ, ЫИУ с признаком И, N записывается в две строки, причем второй строкой служит строка ПСК,
|
6 7 |
10111213 |
1718 |
2122 |
24 25 |
29 3D |
|
39 |
||
•Кодоперации. -4*Номер* |
О'U Опре'-4» Ре- |
^ |
НулеА* Цифровое^ |
Номері |
» |
|||||
(-67) |
индекса |
делитель жимы Sbte разобозначение |
типе |
|
||||||
|
|
(О |
|
радо- |
ряды типа уст- |
устройства |
||||
|
|
|
ты |
|
ройства |
. |
|
|||
|
|
|
—Признан |
sanucu управляющего слова |
|
|||||
Рис. 42. Структура |
первой |
строки |
операторов |
ввода-вывода |
|
|||||
|
|
|
после |
трансляции. |
|
|
|
При трансляции программы первая строка операторов вводавывода преобразуется в экстракод с кодом операции — 67 (рис. 42). В одиннадцатом разряде транслятор проставляет единицу, если во второй строке оператора был записан оператор БЕЗУС и нуль во всех других случаях. Определитель формируется в зависимости от мнемонического кода (ввод или вывод) и значения признака опера ции. Для операторов ВЖ и Ы Ж проставляется единица в восем надцатом разряде, а для операторов ВИУ и ЫИУ — в восемнад цатом и девятнадцатом.
10 11 12 № 17 18 гггзгюгв
'НулеЗые разряды-* —- указатели —-0 •^-Состояние 7-*0- д}\~-Адрес перехода(аг) ^
т
-Признак единичного состояния хотя бы одного из указателей
Рис. 43. Структура третьей строки операторов ввода-вывода после трансляции.
На месте второй строки к моменту выполнения программы бу дет написано управляющее слово. Если в программе был записан оператор БЕЗУС, то отдельная ячейка для него транслятором не отводится.
Третья строка операторов ВИУ и ЫИУ после трансляции имеег структуру, приведенную на рис. 43. В разрядах 12-М6 указыва ются единицы в соответствии с таблицей 9, причем состояние этих указателей зафиксировано в разрядах 18+-22 соответственно.
Одиннадцатый разряд содержит нуль только в том случае, если все заданные указатели имеют нулевое состояние. В других случаях этот разряд содержит единицу. В разрядах 26-+-36 формируется адрес перехода (а2) с базисом б2 (разряды 24 и 25).
140
|
|
|
|
|
|
|
|
Т а б л и ц а 9 |
||
|
|
|
Условное обозначение указателей |
ВнУ и УО |
|
|
||||
|
|
|
|
|
|
|
Условное |
Номер раз |
||
М п/п |
|
|
Название указателя |
|
|
обозначение |
||||
|
|
|
|
ряда ячейки |
||||||
|
|
|
|
|
|
|
указателя |
|
|
|
|
Готово |
|
|
|
|
Г |
|
12 |
|
|
2 |
Защита |
записи |
, |
|
|
зщз |
|
ІЗ |
|
|
3 |
Сбой |
. |
. . . |
|
|
СБ |
|
14 |
|
|
4 |
Ввод |
с ГШ |
|
|
. |
|
15 |
|
||
|
|
В |
|
|
||||||
5 |
Не вся зона считана |
|
|
|
15 |
|
||||
|
|
НЕВСЯ |
|
|||||||
6 |
Карман |
. .' |
|
|
|
ПУСТ0 |
16 |
|
||
7 |
Конец |
МЛ |
|
|
|
К 0 Н Е Ц |
16 |
|
||
8 |
Начало |
ввода |
|
|
. |
НВ |
|
16 |
|
|
9 |
Занято . . . . |
|
|
3 |
|
17 |
|
|||
10 |
Занят |
быстрый |
канал |
|
|
ЗБК |
|
18 |
|
|
11 |
Сбой |
по |
защите |
управляющего |
слова |
. |
ЗУС |
|
19 |
|
12 |
Сбой |
по |
нечету |
управляющего |
слова |
. |
НУС |
|
20 |
|
13 |
Сбой |
по |
нечету |
информационного слова |
НИС |
|
21 |
|
||
Опишем выполнение операторов ввода-вывода |
в различных |
ре |
||||||||
жимах. |
|
|
|
|
|
|
|
|
|
|
При выполнении оператора диспетчер формирует команду |
для |
|||||||||
ввода-вывода, опрашивает состояние |
указателей |
Г и 3 |
(для |
уст |
||||||
ройств быстрого канала также состояние указателя ЗБК) |
и произ |
|||||||||
водит обращение к устройству только |
при |
единичном |
состоянии |
|||||||
указателя |
Г и нулевом состоянии |
указателей 3 (и |
ЗБК |
для |
уст |
|||||
ройств быстрого канала). |
|
|
|
|
|
|
||||
Если указатель |
Г находится в нулевом состоянии, диспетчер |
пе |
чатает на |
пультовой ПМ требование о подготовке этого устройства |
|
к работе. |
Если указатель 3 |
(или ЗБК) находится в единичном со |
стоянии, |
диспетчер временно |
прекращает выполнение этого опера |
тора.
Для операторов ВЖ, ЫЖ, ВИУ, ЫИУ после обращения к уст ройству диспетчер блокирует выполнение программы до окончания ввода-вывода. Если ввод-вывод был закончен без сбоя, то в случае операторов ВЖ и Ы Ж управление передается к следующему опе
ратору. Если ввод-вывод был прекращен |
из-за сбоя ВнУ или УО, |
то диспетчер предпринимает стандартные |
действия. Эти действия |
описаны подробно в главе 7. В случае же операторов ВИУ и ЫИУ состояние указателей устройства после окончания ввода-вывода диспетчер сравнивает с заданным в операторе. При совпадении со стояний хотя бы для одного из заданных указателей управление передается по адресу, заданному в операторе. При несовпадении состояний всех перечисленных в операторе указателей, выполнение программы продолжается со следующего оператора.
Для операторов В и Ы после обращения к устройству диспетчер передает управление следующему оператору. По окончании ввода-* вывода выполнение программы прерывается, и диспетчер про'изво-
141
дит стандартные действия, в частности, если не было сбоев, продол жает выполнение программы.
Приведем примеры записи операторов ввода-вывода. |
|
|||
Пример |
1. Напечатать на УПч строку, в которой первые 20 по |
|||
зиций содержат текст, расположенный, начиная с ячейки |
ТАБЛ, а |
|||
остальные позиции — пустые. После отпечатанной строки |
протянуть |
|||
бумагу на 3 строки. Оператор имеет вид: |
|
|
||
|
Ы Ж |
СТ,3;ПЧ |
|
|
|
К 0 С Л 5 |
0;ТАБЛ;4 |
|
|
Оператор Ы вместо оператора Ы Ж использовать |
нельзя, так |
|||
как печать на УПч без ожидания нецелесообразна |
из-за |
возмож |
||
ного наложения строки, печатаемой по следующему |
оператору. |
|||
Пример |
2. Ввести карту по 5 символов в ячейку, начиная с ячей |
ки ПОЛЕ. В программе используется одно устройство ввода с карт. Тогда оператор имеет вид:
В |
Э;ВК |
К 0 С Л 5 |
О;П0ЛЕ; 16 |
Пример 3. Протянуть на 5 строк бумагу на УПч с условным обо значением ПЧ. Оператор имеет вид:
ЫИ,5;ПЧ
Пример 4. Вывести участок МОЗУ длиной 80 ячеек, начиная с ячейки МКАРТ в коде ГОСТ 10859—64 на перфокарты, если из вестно, что требуемое устройство указано в индексной ячейке ИНД . Тогда оператор имеет вид:
Ы:ИНД;М
К 0 С Л 5 0;МКАРТ;80
Пример 5. Ввести с перфоленты массив символов (не более 80), оканчивающийся символом «возврат каретки» (код 174), включая
его. Массив ввести в память, |
начиная |
с ячейки |
П 0 Л Е . |
Оператор |
имеет вид: * |
|
|
|
|
В Ж |
МС; ВЛ, 1 |
|
|
|
К 0 С В |
0; |
П 0 Л Е ; 16; |
(174) |
|
Пример 6. В двух тысячах |
ячеек |
МОЗУ, |
начиная |
с ячейки |
БУФЕР, расположена символьная информация, состоящая из от дельных фраз. Фразы разделены символом « о » (код 127). Запи сать каждую фразу на магнитную ленту отдельной зоной. Опера тор для вывода первой фразы будет иметь вид:
Ы Ж |
3; МЛ |
К 0 С В |
0; БУФЕР; 2000; (127) |
Оператор для вывода следующих фраз будет таким:
Ы Ж |
3; М Л |
БЕЗУС |
|
142
Пример 7. Записать на МЛ, 3 участок МОЗУ длиной 119 ячеек, начиная с нулевого символа ячейки МАС по 6 символов из ячейки. Оператор имеет вид:
Ы3; МЛ, 3
К 0 С Л 6 |
0; MAC; 119 |
Пример 8. Прочитать зону с единственной используемой в про грамме магнитной ленты. Длина зоны не превосходит 1935 симво лов. Информацию записывать в МОЗУ с ячейки КАРМ по 5 симво лов. Оператор имеет вид:
В3; М Л
К 0 С Л 5 |
0; КАРМ; 387 |
Пример 9. Прочитать первые 15 символов зоны с магнитной лен ты примера 8:
В |
3; |
М Л |
К 0 С Л 5 |
0; |
КАРМ; 3 |
Пример 10. Прочитать зону с магнитной ленты, установленной на - НМЛ с условным обозначением МЛ, 3. При единичном состоянии
хотя бы одного из указателей СБ или К 0 Н Е Ц |
перейти к участку |
|||||
программы с первой этикеткой БЛ0К - |
Содержимое зоны длиной |
|||||
600 символов записать |
в МОЗУ, начиная |
с ячейки ОБМЕН |
по 6 |
|||
символов в ячейку. Оператор имеет вид: |
|
|
|
|||
ВИУ |
|
3; МЛ, 3 |
|
|
|
|
К 0 С Л 6 |
0; 0 Б М Е Н ; |
144В |
|
|
|
|
ПСК |
|
СБ1 + К 0 Н Е Ц 1 ; |
Б Л 0 К |
|
|
|
5.4. ОПЕРАТОРЫ УПРАВЛЕНИЯ МАГНИТНОЙ ЛЕНТОЙ |
|
|
||||
Операторы управления |
магнитной |
лентой предназначены |
для |
|||
организации поиска информации на ленте, |
установки и. проверки |
|||||
наименования лент. К |
ним |
относятся |
операторы: пропустить |
зону |
||
М Л ( П Р ) , вернуться на |
зону МЛ (BP), |
подвести |
начало МЛ (ПН), |
|||
снять МЛ(СН), проверить |
наименование катушки |
(ПНК). Они мо |
гут выполняться в режимах с ожиданием, без ожидания, с перехо дом по состоянию заданных указателей, а также и в других допол нительных режимах (см. п. 5. 9).
ПОДВЕСТИ НАЧАЛО МАГНИТНОЙ ЛЕНТЫ (ПН)
Независимо от исходного положения ленты она устанавливает ся так, что магнитные головки располагаются вслед за маркером начала ленты. Магнитная лента тем самым подготавливается для чтения или записи первой зоны. Оператор соответствует команде перемотки ленты.
Оператор имеет вид:
П Н Ж |
[:И;] |
МЛ |
[,К] |
при подводе с ожиданием |
|
ПН |
[:И;] |
МЛ |
[Д] |
при подводе без ожидания |
|
ПНИУ |
[:И;] |
М Л |
[,К] |
|при подводе с последующим |
|
ПСК |
< у к а з а т е л и > ; |
В2 [переходом |
по состоянию |
||
|
|
|
|
J заданных |
указателей |
143
С Н Я ТЬ МАГНИТНУЮ ЛЕНТУ (СК)
Независимо от исходного положения ленты она полностью пе рематывается с приемной бобины на подающую и переходит в со стояние неготовности. Оператор используется в конце работы с дан ной конкретной катушкой магнитной ленты перед ее снятием. Он со ответствует команде разгрузки ленты. Оператор имеет вид:
С Н Ж |
[:И;] |
МЛ |
[,К] |
при |
снятии с ожиданием |
СН |
[:И;1 |
МЛ |
[,К] |
при |
снятии без ожидания |
Третий режим использования (СНИУ) возможен, но мало упо требителен.
ПРОВЕРИТ Ь НАИМЕНОВАНИЕ КАТУШКИ МАГНИТНОЙ ЛЕНТЫ (ПНК)
Система программирования машины предполагает, что для от личия одной магнитной ленты от другой каждой ленте присваива ется наименование, которое записывается в ее первой зоне. Опера тор состоит из двух строк:
ПНК |
Я:И;]МЛ[,К]\ |
КА |
1:И[;МЛ[,КП/ |
C I ; С2 |
В ячейке С2 задается наименование магнитной ленты. По адресу С1 передается управление при несовпадении наименования из ячей ки С2 с наименованием, прочитанным из первой зоны МЛ.
При выполнении оператора магнитная лента, обозначенная в программе как МЛ,К, перематывается к первой зоне, производит ся чтение зоны, после чего сравнивается содержимое ячейки С2 с наименованием МЛ, расположенным в прочитанной зоне. При сов падении сравниваемых слов выполняется следующий оператор. При их несовпадении и C l ^ O управление передается к оператору С1, с которого продолжается выполнение программы, а на сумматоре находится наименование МЛ из ее первой зоны. После этого про граммист может игнорировать результат несовпадения или же пре
дусмотреть установку другой МЛ. При несовпадении |
наименований |
и С1 = 0 на пультовой ПМ печатается указание о |
необходимости |
установки МЛ с именем из ячейки С2. После установки требуемой ленты оператор ПНК будет выполнен заново. После выполнения оператора магнитная лента готова к чтению второй зоны.
ПРОПУСТИТЬ ЗОНУ (ПР)
Магнитная лента продвигается на одну зону вперед. Оператор соответствует команде пропуска зоны на магнитной ленте. Опера тор имеет вид:
П Р Ж |
[:И;] |
3; |
МЛ |
[,К] |
ПР |
[:И;] |
3; |
МЛ |
[,К] |
ПРИУ |
[:И;] |
3; |
МЛ |
[,К] |
ПСК |
< у к а з а т е л и > ; В 2 |
при пропуске с ожиданием при пропуске без ожидания при пропуске с последующим
переходом по состоянию заданных указателей
(44
ВЕРНУТЬСЯ НА ЗОНУ (BP)
Магнитная лента продвигается на одну зону назад. Оператор соответствует команде возврата на зону. Оператор имеет вид:
В Р Ж |
[:И;] |
3; |
МЛ |
[,К] |
при возврате на зону с ожиданием |
||
BP |
[:И;] |
3; |
МЛ |
[Д] |
при возврате на зону без ожидания |
||
ВРИУ |
[:И;] |
3; |
МЛ |
[Д] |
1при |
возврате |
на зону с последую- |
ПСК |
< у к а з а т е л и > ; В2 |
/щим |
переходом |
по состоянию задан |
|||
|
|
|
|
|
ных |
указателей |
|
Приведем примеры использования операторов управления маг нитной лентой.
Пример 1. Проверить наименование магнитной ленты ВЫХОД, установленной на МЛ,2.
|
П Н Ж |
МЛ, 2 |
|
ПНК |
МЛ, 2 |
|
КА |
0; ИМЯМЛ |
ИМЯМЛ |
КТ |
В Ы Х 0 Д |
Оператор П Н Ж подводит |
ленту |
в начальное положение, после |
чего проверка наименования |
производится оператором ПНК. По |
скольку КА содержит 0 вместо адреса перехода, в случае несов падения наименований будет напечатано на пультовой ПМ указа ние об установке МЛ ВЫХОД. Наличие оператора П Н Ж обеспе чивает выполнение других программ во время перемотки ленты.
Пример 2. Пропустить зону на |
МЛ, в случае конца ленты пере |
|
дать управление по адресу |
К 0 Н М Л . Оператор имеет вид: |
|
ПРИУ |
3; |
МЛ |
ПСК |
К 0 Н Е Ц 1 ; К 0 Н М Л |
|
5 5. ОРГАНИЗАЦИЯ ИСПОЛЬЗОВАНИЯ |
УСТРОЙСТВ ВВОДА-ВЫВОДА |
Одновременное выполнение нескольких программ на машине предъявляет определенные требования к организации использова ния устройств ввода-вывода в программах. Поскольку распределе ние внешних устройств между программами производит диспетчер, в программе не могут быть использованы машинные номера внеш них устройств. Как уже говорилось, вместо машинных номеров ис пользуются условные наименования устройств. Для выделения тре буемого устройства программе и установления соответствия между его машинным номером и условным наименованием служат опера торы закрепления устройств. По каждому оператору закрепления одно из устройств ввода-вывода предоставляется в распоряжение программы. После этого устройство остается закрепленным за про граммой либо до конца выполнения программы, либо до оператора его освобождения. Работа устройств ввода-вывода осуществляется по операторам обращения к ним под управлением диспетчера.
Как было описано выше, операторы ввода-вывода могут выпол няться как с ожиданием окончания заданного действия, так и без
«0. Заказ 5093. |
145 |
него. Если в программе был использован режим о*ез ожидания, а с какого-то момента дальнейшее выполнение программы невозмож
но, то применяется |
оператор |
ожидания окончания |
заданного дей |
ствия, |
|
/ f |
|
После окончания |
устройством заданной работы или в случае |
||
сбойной ситуации управление |
снова передается |
диспетчеру. При |
нормальном состоянии устройства диспетчер продолжает выполне ние программы, а при других состояниях, полученных в результате, например, сбойной ситуации, диспетчер исправляет последствия та кой ситуации, либо передает управление программе по заданному адресу. Состояние управляющего слова после окончания устройст вом ввода-вывода заданного действия может быть определено с помощью оператора чтения управляющего слова. В случае необхо димости программист может задать состояние управляющего сло ва с помощью оператора записи.
При трансляции указанные выше операторы, преобразуются в экстракоды с одним и тем же кодом операции — 60 и различными определителями в разрядах 114-16. При необходимости транслятор проставляет в разрядах 254-36 цифровое обозначение типа устрой ства и номер его среди устройств данного типа, если Т и К заданы не в индексной ячейке.
Состояние указателей устройств ввода-вывода всегда опраши вается диспетчером при каждом обращении к устройству. Однако, если программисту почему-либо требуется определить состояние указателя, он может использовать оператор опроса состояния ука зателей устройства с последующим переходом.
Ниже приведено описание указанных операторов. При этом для каждого из операторов указано значение определителя в экстра коде — 60.
З А К Р Е П И ТЬ ВНЕШНЕЕ УСТРОЙСТВО (ЗАКР)
определитель 000100
При выполнении оператора диспетчер закрепляет за программой первое из устройств типа Т, не закрепленных еще ни за какой ич программ, и устанавливает соответствие между условным обозна чением устройства Т, К и машинным номером, обозначаемым в дальнейшем через ZZZ. При отсутствии свободного устройства ти па Т диспетчер блокирует выполнение программы до освобождения одного из таких устройств. Исключением являются УПч и УВК, когда диспетчер при их отсутствии печатает на пультовой ПМ ука зание, в котором предлагает накапливать на ленте вывода резуль таты, выводимые на отсутствующее устройство. При согласии опе ратора выполнение программы продолжается, а результаты, выво димые на соответствующее устройство, будут записываться на лен ту вывода до окончания программы. По окончании программы онп могут быть выведены на требуемое устройство по специальной
программе. При нежелании накапливать результаты на ленте вы вода выполнение программы блокируется до освобождения устрой ства требуемого типа.
Этот и другие операторы закрепления должны записываться пе ред первым оператором, использующим это устройство. Отсутствие в программе оператора закрепления приведет к тому, что выполне ние программы будет приостановлено.
З А К Р Е П И ТЬ ВНЕШНЕЕ УСТРОЙСТВО |
|
|
С ЗАДАННЫМ МАШИННЫМ |
|||
НОМЕРОМ |
(ЗАКР) |
|
|
|
|
|
|
ЗАКР |
Д: И;]Т[,К]1. 7 7 |
7 |
R |
I |
определитель |
|
d A 1 4 K |
1:И[;Т[,К]]/' L L |
L |
* |
| |
011010 |
Оператор используется при необходимости работы с уст |
||||||
ройством |
с конкретным машинным |
номером ZZZ. Этот номер |
записывается в виде трехзначного восьмеричного числа. Ус ловное обозначение устройства Т Д записывается в данном опера торе с той целью, чтобы в остальных операторах можно было поль зоваться только условным обозначением ТД .
При выполнении оператора диспетчер закрепляет за программой
устройство с заданным машинным |
номером ZZZ, ставит ему в со |
ответствие условное обозначение |
Т Д и продолжает выполнение |
программы. Если же устройство ZZZ уже было закреплено за дру гой программой, то выполнение программы блокируется до его ос вобождения.
ОСВОБОДИТЬ ВНЕШНЕЕ УСТРОЙСТВО (0СВ)
' |
тгп. |
/[: И ;]Т[,К]1 |
I |
определитель |
|
и и в |
\:И[;Т[,КШ |
I |
000010 |
Диспетчер освобождает внешнее устройство ZZZ, закрепленное ранее за программой как устройство Т Д и проверяет, имеются ли программы, ожидающие освобождения этого устройствам При на личии таких программ снимается блокировка их выполнения.
Оператор используется для указания внешнего устройства, ко торое окончательно освободилось от работы и больше не будет ис пользоваться в программе. При отсутствии оператора 0 С В в про грамме устройство будет закреплено за программой до окончания ее выполнения и тем самым будет снижена эффективность его ис пользования.
ЖДАТЬ ОКОНЧАНИЯ РАБОТЫ ВНЕШНЕГО УСТРОЙСТВА (Ж)
w
Ж
Д:И;]Т[,К]1 |
I |
определитель |
t :И[;Т[,КШ |
I |
000001 |
Диспетчер блокирует выполнение программы до окончания ра боты устройства Т Д . Если к моменту выполнения оператора уст ройство уже закончило работу, то блокировка не происходит.
10* |
147 |
Оператор записывается в том месте программы, начиная с ко торого невозможно ее выполнение до окончания работы устройства. Например, при вводе информации по оператору В оператор должен записываться перед участком программы, где производится обра ботка вводимой информации.
ЧИТАТЬ УПРАВЛЯЮЩЕЕ СЛОВО (ЧУС)
u v r |
Д:И;]Т[,К]\ |
I |
определитель |
|
\:И[;Т[,К]]| |
I |
001100 |
Диспетчер пересылает на сумматор управляющее слово, нахо дящееся в ячейке УОП, соответствующей устройству ZZZ, закреп ленному за программой как устройство Т,К. Управляющее слово, как известно, характеризует состояние обмена с внешним устрой ством. Поэтому этот оператор используется в случаях, когда необходимо определить тот момент, когда устройство прекратило работу. Так как управляющее слово после выполнения оператора находится на сумматоре, то следующий оператор должен преду сматривать его использование. Оператор нельзя использовать для УПч и УВК, так как вместо вывода на эти устройства возможно использование ленты вывода.
С помощью этого оператора можно, например, определить коли чество слов, занятых в МОЗУ, после чтения с МЛ некоторой зоны неизвестного, но ограниченного размера. Если размер зоны не пре вышает 1000 ячеек, то соответствующий участок программы может выглядеть так:
Этикетка |
|
Hon |
|||||
t?\ |
, |
і |
i « |
<Л . . |
хИ |
||
*,В,в,0,Д |
ВуЖ, |
, |
, |
||||
і |
. |
. |
і |
Н,(*,С,Л,Є |
|||
і |
. |
, . |
|
|
|
|
|
. |
, |
. |
, |
|
|
|
|
~Г""ГТТ"~1і • і • і • і |
і |
||||||
1 |
. |
1 . |
і |
і |
і |
і |
|
Д,Л,Н,Н,А |
Р |
з,в, |
|
, |
|||
• |
I |
I |
I |
1 . |
1 |
1 |
|
1 |
1 |
1 |
1 |
I |
I |
I |
, |
1 |
1 |
. |
1 |
1 |
1 |
1 |
1 |
гг\ |
. |
&\ . |
|
|
|
|
|
|
Дфесо |
|
и |
|
|
|
замечай |
||||||||
, |
і |
|
ДО |
і |
і |
|
( |
[3S\ |
|
і |
І |
|
і |
|
\«0\ |
, |
|||||||
з-х; |
|
|
|
|
1 1 1 1 |
1 1 |
|
1 1 1 |
|
і |
і |
|
. |
|
і |
|
і |
||||||
0,: |
Б,у\ф-,Е |
|
P,, |
,1,0,0,0, |
|
|
, |
, |
|
і |
і |
|
і |
|
і |
і |
t |
||||||
м\л |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
в ,в |
|
|
|
|
|
; ,Д,Л,ИКН,А |
|
і |
, |
, |
|
J — 1 |
|
1 |
|
1 |
1 |
_ L |
|||||
іі — j — •j—j |
|
- j ——;—Г~,—і—і—І——f~ |
|
—— і |
l |
• |
l |
l |
^ j - r " : |
||||||||||||||
|
|
l l |
|
|
l |
|
|||||||||||||||||
і |
, |
, |
і . |
. . |
. • |
і |
< . |
|
• |
і . |
і |
і |
|
|
і |
! |
і |
|
|||||
/ і |
і |
і |
і |
і |
і |
і |
і |
і |
і |
, |
і |
|
, |
і |
і |
і |
і |
|
і |
|
, |
|
|
і |
і |
і 1 |
|
і |
. |
і |
. |
і |
і |
і |
і |
|
і |
• |
і |
і |
і |
|
і |
|
і |
|
|
і |
і |
і |
' |
і |
і |
і |
і |
і |
і |
і |
і |
|
і |
і |
і |
і |
і |
|
і |
1 І |
|||
• |
і |
і |
J і |
і |
і |
і |
|
|
|
|
|
|
і |
і |
і |
і |
|
і . ! i |
|
П Е Р Е С Л А ТЬ УПРАВЛЯЮЩЕЕ СЛОВО (ПУС)
Оператор состоит из двух строк
uvr |
і № ; ] Т [ , К ] \ |
I |
определитель |
и у ь |
\:И[;Т[,К]]/ |
І |
0ІОІІО |
КА |
0; В |
|
|
В ячейке В хранится пересылаемое управляющее слово.
При выполнении оператора диспетчер пересылает управляющее
148
слово из ячейки В в ячейку УОП, соответствующую устройству ZZZ, закрепленному за программой как устройство Т,К. Этот оператор имеет смысл, если предполагается обращение к устройству Т,К без записи управляющего слова. Оператор нельзя использовать для УПч и УВК.
И Д ТИ ПО УКАЗАТЕЛЮ ВНЕШНЕГО УСТРОЙСТВА (ИУВУ)
Оператор состоит из двух.строк:
ИУВУ |
[ : Щ Т [,К] |
ПСК |
< у к а з а т е л ь > ; В2 |
В адресной части второй строки записывается условное обозна чение указателя и его состояние, а также адрес перехода при сов падении действительного состояния указателя устройства с задан ным. В операторе задается только один указатель.
Состояние указателя (0 или 1) записывается вслед за условным обозначением. В качестве указателей могут использоваться только первые девять указателей табл. 9.
Пример.
ИУВУ |
МЛ, 1 |
ПСК |
П ; Б Л 0 К |
При трансляции первая строка оператора преобразуется в экст ракод с кодом операции — 65, причем если Т,К заданы не в индекс ной ячейке, в разрядах 25-—36 транслятор проставляет цифровое обозначение типа устройства и его номер среди устройств данноготипа. Вторая строка имеет после трансляции вид, как и аналогич ная строка в операторах ВИУ или ЫИУ.
При выполнении оператора анализируется состояние заданного указателя устройства Т,К. Если действительное состояние указа теля совпадает с заданным в операторе, то управление передается к оператору В2, в противном случае выполняется следующий опера тор программы.
Оператор ИУВУ следует использовать лишь в крайних случаях,, когда независимо от операторов ввода-вывода требуется определить, состояние устройства.
5.6. ПРИМЕРЫ ПРОГРАММ, ИСПОЛЬЗУЮЩИХ ОПЕРАТОРЫ ВВОДА-ВЫВОДА
Ввод и вывод информации программист реализует, обычно, ис пользуя библиотечные программы. Однако для того, чтобы более подробно пояснить организацию ввода-вывода в программах, при ведем несколько примеров программ, использующих операторы ввода-вывода.
Пример 1. Ввести с перфоленты массив целых положительных, чисел (не более 500), каждое из которых содержит не более девя ти цифр, перекодировать их в десятичную форму представлениячисел. На перфоленте одно число от другого отделено разделителем-
149»