книги из ГПНТБ / Килов Х.И. Фортран для БЭСМ-4 (МИФ) учеб. пособие
.pdf
|
- |
120 - |
|
|
G\, |
- |
10, |
(1* ) |
^2 |
- |
^ |
С' - 'к
nn
С- символ, К - его внутренний код.
6.4.2.2. Перед каждой строкой таблицы |
( 1 ) надлежит при |
|||
писать входной код |
о( | |
символа |
С |
^ , т.е. |
(2) |
"K i |
( i = 1 |
n ) |
(Входной код - это код, на котором в данной реализации перфорируется ФОРТРАН-программя).
6.4.2.3. Таблица дешифратора состоит из 638 ячеек, каждая из которых разделена на ббайтов по 9 бит. Байты нумеруются, начиная с единицы, слева направо сверху вниз.
Для составления таблицы дешифратора нужно в байт с порядковым номером 0<± (см.(2) ) поместить внутрен ний код К± этого же символа. (Рекомендуется таблицу (2) предварительно упорядочить по Ы.± ).
6.4.2.4. Примечания.
6.4.2.4.1.Входной код "нуль" при дешифрации игнорируется. Байты несуществующих символов заменяются сим
волом f (код 021 ) . Входной код оС^ не должен превы шать 377Q.
6.4.2.4.2. Таблицу (2) можно образовать, приписав к таб- .
л и ц е |
о ^ - 5 |
± |
а=1 |
и) |
|
|
|
|
|||
коды К ± |
из таблицы ( 1 ) . |
|
|
||
6.4.2.4.3. Еолио^ = К± |
( i = l |
п |
) , то таблица |
дешифратора не составляется, и дешифрация не производится. 6.4.2.4.4. Таблица дешифратора записывается, начиная с ячейки 0100 первой части компилятора.
-ш -
6.5.Изменения в МИФ при модификациях.
6.5.1.При изменении длин массивов МИФ или их начал в МОЗУ нужно менять:
6.5.1.1. Информационную карту программы "Запись компилятора
с ПК на МБ-i |
или МЛ—i (см.6.1.). |
6.5.1.2. Таблицу ВБ-6 |
(7544+7557). |
6.5.1,5. Таолицу Б администраторе (см.б.2.) (7667* 7700).
6.5.1.4.Описание администратора 6.2.1.4.
6.5.1.5.Команды 1625 в I части и 2540 во П части.
6.5.2.При изменении номеров СП-встроенных функций нужно менять таблицу в ВБ-7 (7045*7060).
6.5.3.При изменении номеров ДП (см.8.5.) или РИС (см.8.6.) надо «снять команды 1501 л 1547 в Ш части.
6.5.4.При изменении номеров СИ' печати на АЦПУ или узкой печати
надо менять команды 7006 и 70U7 в ББ-11.
6.5.5. При изменении диапазона дозволенных номеров СП, вводимых
с ПК, надо Менять (кроие РИСа) команды 7317 и 7320 ББ-16.
6.5.6.При изменении номеров СП работы с МБ/МЛ, перфорации,
перевода и ввода с ПК с контролем надо менять команды 7021 и 7023 + 7025 ВБ-15.
6.5.7.Если личн.ая карта не используется, то для вызова ИС-2М
перед началом выполнения рабочей программы1надо вписать
команды 1462 *• 1464 в Ш части.
6.5.8.Если меняется месторасположение СП-273 (см. 8.8.) на
"закрытом" магнитном барабане, то следует менять.команды (считывания этой СП) 7771 + 7772 в ИС-2М (ВБ-12).
6.5.9.При изменении номера СП возведения в степень ( 2 ** У )
следует менять команду 4705 по П.части. |
' |
,~ |
6.5.10.При изменении номера СП "Печать программ на АЦПУ"', (см.8,10.) надо менять команду 2162 в Ш части.
-122 -
7.Как скомпилировать ФОРТРАН-программу на машине.
7.1.Укомплектовка карт.
Укомплектовка карт для компиляции ФОРТРАН-программы должна быть следующей:
карта старта (см. 7.2.) две пустые карты ФОРТРАН-программа
Е(или К 2 )
Вконфигурации, принятой в ВЦ ЛГУ и других ВЦ, где работа организована с помощью личной карты, перед описан ной колодой карт должна быть личная карта и две пустые кар ты.
.7.2. Карты старта.
7.2.1.Если компилятор находится на "закрытом" МБ, карта старта имеет вид:
0001 t 0.57.4410.0100.0000
2 г 0.50.041Д. Ьо .7735
3 I 0.70.7500.0002.0000
4 t 0.57.1700.1111.0000
5 t 0.16. ПК .7500.7725
где 1 |
К 2 |
- номер "закрытого " МБ, на котором находится |
|
компилятор; |
|
J^,b0~ адрес начала администратора на этом МБ; |
|
ПК |
- признак ввода дополнений с ПК (см. 6.2.3.); |
КЕ |
- контрольная сумма (с признаком конца ввода). |
7.2.2. Если компилятор находится на МЛ. то карта старта имеет вид:
- 123 -
0001 : 0.57.4420.0100.0000
2: 0*50.С- •=..:.6630.?557
3: 0.70.7500,0013.0000
4s 0.16.0000.0007.0000
5: 0.50.04-2i. N .7735
6. 0.70.7500.0011,0000
7: 0.57.5700.1111.0000
0010 |
: 0.16, ПК .7500.7725 |
1 |
: 1.12.0005.0005.0001 |
2: 0.77.0000.7777.0000
3: 0.32.0000.0005.0001
где i - |
номер лентопротяжного механизма, на котором рас |
N - |
положена МИ с компилятором; |
номер зоны МЛ, в которой находится администра |
|
|
тор; |
ПК - признак ввода дополнений с ПК (см.6,2.3.); КТ, - контрольная сумма (с признаком конца ввода).'
Останов 0.77.0.7777.0 означает, что не удалась пяти кратна! попытка считывания администратора с МЛ.При нажатии на ПУСК попытка повторяется.
7.2.3. При использовании личной карты ж расположении ком пилятора на "закрытом" МБ карта старта имеет вид;
0001 |
А.00.0001.0000.0000 |
|
10.16.0000.0010.0000 |
||
2 |
t |
КС |
0010 |
А.00.0010.0000.0000 |
|
:0.57.4410.0100.0000 |
1t0.50.04tJio . b0.7735
2$0.70.7500.0011.0000
3Ю,57.1700.1111«0000
4 to.16. ПК ,7500,7725
- 124 -
Здесь обозначения совпадают с обозначениями 7.2.1.
КС - дополнение контрольной суши данной перфокарты до
полного машинного слова.
7.3. Процесс компиляции.
Если все внешние устройства работают устойчиво, то
компиляция завершается либо печатью ошибок на АЦПУ и пол ным остановом
7.77.7777.7777.7777
либо остановом:
0,77.7777. 0.7777
Впоследнем случае компилятор не обнаружил ошибок
вФОРТРАН - программе, и после указанного останова, при нажатии на ПУСК, начинается работа рабочей программы.Пред
варительно следует установить на читающее устройство пер фокарты СП, вводимых с ПК (если они есть) и вводимую с ПК
(с помощью оператора |
READ |
или соответствующих команд |
|
автокода) информацию |
(если |
она есть). |
|
Останов |
0.7777. |
0. |
|
0.77. |
означает, что какое-либо внешнее устройство (как правило, магнитный барабан) работает нестабильно, т.е. не удалась
четырехкратная попытка записи или считывания. L этом слу
чае надо нажать на ПУСК, и упомянутая попытка повторится. Если это ни к чему не приведет, следует вызвать обслужива
ющий персонал для проверки внешнего устройства. При таком останове на АЦПУ печатается некоторая информация. Замечание. Если ввод ФОРТРАН-программы происходит с
контролем (см.также 6.3. ) . то останов после ввода
0.77.0. 7777. О
означает, что ФОРТРАН-программа не имеет правильной конт
рольной суммы (или ввелась неверно). В случае такого оста
нова надо установить заново все карты, упомянутые в 7.1.,
-125 -
инажать на ПУСК,, Попытка ввода повторятся,
8.Стандартные программы,. используемые компилятором^
8.1.таткт - АЦПУ (Са-0270) Инструкция
8.1.1.Программа (составленная и с\*лйк&,чння Е,Б.Лева я Э.Ш.Арш) реализует печать информация на АЦДУ из заданно го списка ве.)шчин по вадашгаму формату.
Информационные строки к зтой программе, как правило, под готавливаются компилятором с ФОЕРРАНа.
Остальная информация видна кз описания обращения к СП.
8.1.2.Обращение к программе.
8.1.2. I . Команды обращения и таблица данных. 0.16.х . 7501. 7610
х : 0.00.f г N . О
< d - |
строка.1 > ч, |
• |
? таблица данных |
< d - |
строкап у I |
0.00. 0. 0. О |
замок |
здесь: f - адрес начата таблицы форматов;
N- номер СП.
8.1.2.2.Таблица форматов:
f г |
< f |
- строка0 |
> |
|
|
< f |
|
- строка |
% |
|
< f |
|
» |
> |
0.00. |
|
- строкап |
||
0. |
0. О |
замок |
||
8.1.2.3. Описание |
|
строк таблицы данных. |
8.1.2.3.1. Печать массива чисел (тип определяется форма том) .
- 126 -
Вид строки:
Я . 00М. 0. W
1Гпризнак вида памяти;
( 0 - МОЗУ-0
Т Г = J 1 - МОЗУ-1
\ 2 - ДП (динамическая память); оС - начало массива;
w- конец массива.
Вслучае ДП адреса могут занимать биты кода (для«:)
и биты второго адреса (для 00 ) .
8.1.2.3.2. Печать массива, заданного косвенными адресами. Вид строки:
3.00. а. . b
JT имеет тот же смысл, что и в 8.I.2.3.I.;
а- адрес ячейки, содержащей адрес начала массива
ввиде нормализованного числа;
Ъ- адрео ячейки, содержащей длину массива в виде
нормализованного числа.
8.1.2.3.3. Печать элементов массива, заданных двойным циклом.
Вид тройки строк:
4+тг. оо. А. п. о
О. |* .11.12.13
О. 00. Л . * 2 . * 3
или:
7. 00. а. п. ЗГ О. Г . И.12.13
0.00.Л. * 2 . *3
ЗГ имеет тот же смысл, что и в 8.1.2.3.1.;
А- адрес начала массива;
п- адрес ячейки, содержащей количество ( К. ) СТОЛбЦОВ;
а- адрес ячейки, содержащей адрес начала массива в
виде нормализованного числа; П,12,13|<Я»<*2,*3 - адреса ячеек целых чисел.
- 127 -
Адреса печатаемых элементов массива вычисляются по формуле:
(1) |
с< + С п + |
( 1 |
|
- Н)](1-1)+ [п+К1-Н)] |
|||
где |
У~ |
= 0 или |
А ; с< - начало массива. |
|
|||
ё- |
меняется с шагом |
J'b о т J M Д ° |
(внутрен |
||||
ний цикл); |
|
|
|
|
|
||
I меняется с шагом 13 от 14 до 12 (внешний цикл). |
|||||||
Формула |
(1 ) соответствует неявному циклу |
|
|||||
|
( A ( i ) , i= 11,12,13 |
) |
(n=1, *1=ja=J5=1) |
||||
или |
( A ( i , j ) , |
_ _ _ _ _ |
|
C*1-52=:j,*3_-1l/A*1) |
|||
|
1вГ1,12,13) |
||||||
или |
( A ( i , J ) , |
Л-Я,52,5з) |
(11^12=1,13=15^=1) |
||||
|
|||||||
или. |
< ( A ( i t j ) , i _ - i1,12,13), |
D=j1,j2,j3) |
(jU=1 ) |
||||
|
|||||||
или же |
|
|
|
|
|
|
|
|
( ( A ( i , j ) , 3 = d 1 , j 2 , j 3 ) , |
1=11,12,13) |
C; u =0 ) |
8.1.2.3.4. Печать числа, заданного в единицах второго ад реса.
Вид строки:
О. 00. 0000. А.0000 А '- адрес ячейки М03У-0, содержащей
~ . 0000. В. 0000 Восьмеричное число В печатается в десятичном виде.
8.1.2.4. Описание строк таблицы форматов. |
|
8.1.2,4.1. Организационная строка - |
f ~ строка0 } . |
Вид строки : |
|
Q.) . 0000. п . 0000 |
|
S - признак перехода на новую строку в начале печати;
^| 00 - переход на новую отроку;
\77 - нет перехода на новую строку;
п- регулятор печати.
- 128 -
Программа накапливает печатаемый материал на буфе ре машины. Печать накопленного материала происходит либо
если буфер заполнен до определенного предела, либо если ко личество обращений к СП равно или больше п
При п= 0 печатается остаток материала, накопленно
го на буфере.
(Перед иным использованием буфера машины, т.е. для уэкой печати или перфорации, следует позаботиться о том,
чтобы накопленный на буфере материал был отпечатан).
При наборе строки из фрагментов ( V = 77) нужно
следить, чтобы печать не происходила до окончательного набора строки.
8.1.2.4.2. Печать пробелов.
Вид строки:
0.01. 0000. п . 0000 Происходит печать п горизонтальных интервалов
(пробелов).
8.1.2.4.3. Печать вертикальных интервалов.
Вид строки:
0. 02. 0000. п . 0000 Происходит печать и вертикальных интервалов.
8.1.2.4.4. Печать текста. Вид строк текста:
о( " семиразрядные символы АЦПУ С 4 3 .
|
Символом конца печатаемого текста служит символ |
с кодом 170. |
|
8.1.2.4.5. Печать целых чисел. |
|
|
Вид строки: |
|
0. 04. W . п . 0000 |
w |
-длина поля числа (количество позиций); |
п |
-количество повторений элемента формата* |
- 129 -
Числе размещается в правом конце поля. Знак плюс перед
числом не печатается ( и ке занимает места}.
8.1.2.4.6. Печать чисел с плавающей точкой. Вид отроки:
0. 05.W . n . d
w- длина поля числа (количество позиций);
л- количество повторений элемента формата;
б- количество позиций за десятичной точкой.
Число размешается в правом конце поля. Знак плюс перед числом не печатается ( Е не занимает места).
При |
а = 0 не печатается десятичная точка. |
8.1.2.4.7. |
Печать чисел с десятичным порядком. |
Вид |
строки: |
0. |
06.w .п . d |
w - длина поля числа (количество позиций);
п- количество повторений элемента формата;
а- количество позиций за десятичной точкой (<£^,4 )
Вид печатаемого числа:
о.°^. . . . o i ^ Е + Р 1 Р 2 |
|
(для положительного числа) |
|
или |
Р 2 |
|
|
-^•С, . . . С ^ Е Ф Р 1 |
(для отрицательного числа |
||
Число размещается в правом конце ноля. |
|||
8.1.2.4.8. Печать восьмеричных чисел. |
|
||
Вид строки: |
|
( 1 |
4 V 2 4 1 7 8 ) |
0.07.^ . п . ^ 2 |
|||
Печатаемая величина рассматривается как 15-эначное |
|||
восьмеричное число (содержимое ячейки): |
|
||
Печатается часть указанного числа, начиная о цифра |
|||
с порядковым номером |
^ 1 |
и кончая цифрой о порядковым |
|
номером V 0 . |
|
|
|