Научная статья на тему 'Об одной интерпретирующей системе для ЭЦВМ «Минск-1»'

Об одной интерпретирующей системе для ЭЦВМ «Минск-1» Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
58
15
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Об одной интерпретирующей системе для ЭЦВМ «Минск-1»»

ИЗВЕСТИЯ

ТОМСКОГО ОРДЕНА ТРУДОВОГО КРАСНОГО ЗНАМЕНИ ПОЛИТЕХНИЧЕСКОГО

ИНСТИТУТА имени С. М. КИРОВА

Том 168

ОБ ОДНОЙ ИНТЕРПРЕТИРУЮЩЕЙ СИСТЕМЕ ДЛЯ ЭЦВМ

«МИНСК-1»

Ю. Н. ЕФИМОВ, Ю. В. ВОЛКОВ, В. А. МАЛЬЦЕВ

(Представлена научным семинаром вычислительной лаборатории ТПП)

Проблема автоматизации программирования является одной пл насущных задач современной вычислительной математики. Возрастающая потребность в проведении трудоемких вычислений ускорила переход от метода библиотеки стандартных подпрограмм {СП} к различным компилирующим и интерпретирующим программам, привела к созданию программирующих программ и различных входных языков.

Характерно устойчивое внимание научной мысли к созданию единого входного языка. Во многих центрах реализован транслятор па базе «Алгол-60». Одако трудности его реализации побуждают потребителей к созданию упрощенных вариантов {1], что говорит о необходимости дифференцированного подхода к решению этой проблемы, с учетом особенностей конкретной ЭЦВМ и данного типа задач. Практика показывает, что при решении задач на средних и малых машинах, а также при решении большого количества относительно несложных задач оптимальными оказываются упрощенные входные языки и сравнительно простые интерпретирующие системы [2].

В настоящей статье публикуется одни из вариантов интерпретирующей системы (ИС), которая была разработана в ВЛ ТПИ и в течение года показала хорошую эффективность.

Интерпретирование псевдокоманд

Введем некоторые обозначения:

(Л)—содержание ячеек Л+0 и Л + 1>

4Л—признак того, что адрес Л >4000,

2Л — признак того, что адрес Л > 2000,

/(4 —признак того, что вторая цифра псевдокода больше трех.

— >Л — посылка в ячейки Л + 0 и Л + 1,

—>—передача управления.

И С реализует 'арифметические и логические псевдокоманды. По признаку 4Л1 она отделяет коды от псевдокодов (ПК). При исполнении кодов ячейка 0023 играет роль сумматора. По признаку /С4 отделяются логические ПК от арифметических. Выбор этого признака сохраняет, по возможности, привычный вид команд в ПК: 24, 34, 54 для передач управления и 00, 01, 02, 03 для 'арифметических операций. Для обращения к СП используются команды 10, 11, 12, 13, 20, 21, 22, 23 и т. д. 12

Арифметические ПК организуют обращение к СП арифметических действий или к СП вычисления функций. При этом всегда исполняется (Л]) = > 0020, затем, если нет 4Л2, исполняется (/12) = >0022, после чего «переключатель» организуете- СП. В большинстве СП предусмотрено получение результата в ячейках 0022—23 иЕсли /7/С>0, происходит (0022) ^ > Лг- Ячейки 0022—23 играют роль сумматора.

Логические ПК организуют работу ИС и могут в отличие от 'арифметических вносить некоторые изменения в PIC. Для исполнения логических ПК предназначены приставки, которые выполняют стандартным образом определенные логические функции.

О с и о в и ые логические П К (приставки приведены в приложении).

05 А, А, (А,) => А

15 Aj А, — (А,) => 0022, (0022) => А,.

34 Ai А» ---э» А| или А. по знаку - (0Л22).

24 А, А, -----> А,, адрес А:> не испол ьзуется.

44 А, А, ------ отключение ИС, —> А чеиия ИС с До. с подготовкой вклю-

к -f- (). 54 А, А, -----> А! при (0022) > 0, 1 при (0022) - 0 -> А2 при (0022) <0,

64 СПп А, — псевдокоманда функции массива.

74 А, пп — псевдокоманда цикла по счетчику.

При ¡ использовании псевдокоманд 0о, 24 , 34, 44, 54,74, (0022)

сохраня етсн.

Приставка функции массива зацикливает ИС для я-кратного вычисления одноместной функции с переадресацией аргумента и результата. Приняты следующие ограничения: команда СП меньше 40(S, я< 100s. СП использует аргумент из ячеек 0022, 002 3.

Приставка цикла п—1 раз, где п <400, передает управление по А\. Приставка позволяет организовать цикл в цикле. После исполнения псевдокодов 64, 74 адрес, содержащий п, восстанавливается. Набор приставок можно значительно расширить и использовать аналогично использованию библиотеки СП.

Некоторые вопросы отладки

Вопрос об отладке программы, составленной в псевдокомандах, рассмотрим с,точки зрения наиболее эффективного использования И С в процессе отладки. Прокрутка программы после некоторых изменении в ИС позволяет печатать предусмотренную информацию. Например, при изменении ячеек

0120) 54 0142 0000

0142) 40 0000 0114 печатается команда вида 05, № 0157,

где № — адрес логического ПК. Аналогично и для арифметического ПК:

0140) 26 0215 0142

0141) 40 0000 0114.

Для выделения всех передач управления изменяется ячейка 0151) 46 0005 0111. Можно проследить всю последовательность вы-

13

числений, изменив команду 0113) 40 ООП 0114, можно также фиксировать некоторые приставки, например:

Л.1+ 3) 41 0204 0157

П7+ 14) 40 0032 0000.

Для поиска арифметических ошибок предназначены приставки Г1п и Пв , которые включаются ячейкой 0113) 24 П 0000 и выдают на печать (0022). Они повышают требования к СП перевода 2—10: СП должна сохранять (0022).

Приставка Я, работает после каждого ПК и печатает все промежуточные результаты. Приставка Па печатает выборочно результаты выполнения тех ПКЛ в которых присутствует признак 2А2. После отключения приставки признак 2Л2 не мешает работе программы, т. е. выдачу контрольных цифр при отладке или печать некоторых результатов, кроме основных, можно предусмотреть при написании программы.

Для отладки и других проверок могут быть полезны остановы по заданной псевдокоманде. Например, останов по 'адресу 114 и По позволяет прочесть адрес и содержание псевдокоманды, останов по адресу 107 позволяет следить за записью результата (0022)по адресу 152 — за передачей управления по ПК 24, 34, 54. Для удобства работы за пультом целесообразно иметь схему остановов внутри ПС.

Разработанная ПС позволяет сократить по сравнению со стандартной И С [3, 4] время исполнения арифметических ПК почти вдвое при одновременном сокращении длины программы. Это обеспечивается всевозможными отключениями от ИС, более экономным обращением к СП и использованием набора приставок. ИС позволяет включать любую СП или приставку с помощью одной команды, что значительно упрощает процесс программирования, приближая его к операторному.

Описываемая ИС имеет и некоторые недостатки. Так, к недостаткам, по нашему мнению, можно отнести наличие двух блоков «переключателя» (для включения СП и приставок). Некоторые трудности при использовании создает также прерывность шкалы передач управления на СП (особенно в задачах с большим количеством СП).

Приложение

ОПЕРАТОРНАЯ СХЕМА ИС

13 1,12,14 14 8 6 5 10 11

1 1 1 11111

Р\ 3-> Фч 31 Р-, Р* 37 Рн Зг> Я10; //п; Л12; Л13; Яи;

1 1 1 1 1 1 1 1 1

3 12 11 Ю 13 1-1 3 1 3,4

оператор команды в ИС действие оператора.

Рг ОЮ4-0105 если ПК < 0, то — Ф3, иначе-*-

0106—0112 исполнение у0022) Л.2.

ф.л 0113 переадресация оператора 34.

0114 засылка очередной псевдокоманды.

Ръ 0115-0116 если в псевдокоманде, есть 4Аг,

то -*• А12, иначе -»■

Р* 0117-0120 если в ПК есть К1, то-* Нп, иначе-*

0121-0125 исполнение (Аг) => 0020.

Р6 0126-0127 если в ПК есть 4Аъ то — Их , иначе 3_

3, 0130-0135 исполнение (Л2) => С022.

Я10 0136—0141 переключатель для СП.

Н\\ 014 5—0147 переключатель для приставок.

Л12 0156—016Э исполнение кода и Ф3.

Л13 — исполнение СП и Рг.

Ии — исполнение приставки и Ф3 пли

Стандартные константы и СП арифметических действий изменены в следующих ячейках:

0075 11 0020 0022

0041 — 16 0021 0023 6 20 0012 0020

0061 — 17 0145 0023 7 17 0145 0023

0070 00 0000 0036 0100 32 0021 0000

1 24 0104 0000 1 25 0000 0022

2 00 0022 0020 2 00 0020 0022

3 13 0021 0023

4 34 0101 0101

Программа ИС

0103 05 0071 0067 0140 26 0215 0141

4 16 0003 0157 1

5 34 0106 0113 2

6 16 0006 0157 3 05 0157 0111

7 —26 0205 0111 4 36 0204 0000

0110 20 0013 0112 5 —37 0137 0001

1 6 —26 0214 0147

2 7

3 00 ООН 0114 0150 —07 0115 0111

4 05 № 0157 1 16 0005 0111

5 36 0161 0014 2 -36 0206 0000

6 54 0156 0000 3 24 0114 0114

7 16 0164 0157 4 16 0167 0111

0120 54 0143 0000 5 — 26 0207 0157

1 16 0005 0157 6 05 G023 0023

2 —26 0165 0124 7

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

3 20 0013 0125 0163 24 0113 0023

4 1 00 4000 оооэ

5 2 00 0000 2000

6 16 0163 0157 3 00 0000 4000

7 54 0136 0000 4 -04 0000 о;юо

0130 16 0006 0157 5 05 0000 0020

1 —37 0115 0014 6 05 0000 0022

2 -26 0166 0134 7 11 0000 0000

3 20 0013 0135 0170 24 д> ОООО

4 1 24 Пх 0000

5 2 24 0151 ОООЭ

6 16 0167 0157 3 24 0154 0000

7 —37 0131 0017 4 24 п, 0000

0175 24 0154 С0С0 0207 00 0151 0150

6 24 П 0000 0210

7 24 П 0000 1

0200 24 0041 0000 2

1 24 0-40 0000 3

2 24 00 5 0000 4 24 0170 0000

3 21 0072 0000 5 21 0200 0000

4 70 0 .03 0000 6 00 0 И1 0114

5 05 0022 0000 7 02 7776 0040

6 05 0000 0157

Пр; ставки

//.; о 05 0157 0111 П- -1-0 -17 0131 0114

1 2-1 ОНО 0000 1 -21 /7Н-13 11-; \ 2

/А-!-о 16 0005 0,57 2 00 0000 0000

1 -26 0166 /М-з 3 -37 /УН-4 0006

2 20 ОшЗ ;/г|-4 4 54 0151 0030

о о 00 00 Л) 0000 /У7 -|-0 16 000 6 0157

4 00 0000 0000 6 -27 11- -!- 3 0020

5 24 0106 0000 7 -17 01 <1 0114

/7,-:-о 16 0006 0157 10 -21 /7Г|- 14 г/Н-11

1 — 37 0115 0000 И 00 00 ¡0 0000

12 24 0113 осюо

2 — 26 0206 0114 13 01 0017 оосо

о О ■-11 0204 0157 14 - -01 0025 1000

4 24 0157 0157 -|-0 10 //п+0 0017

ДггО С 5 /А-г 12 0113 1 24 СП 1 113

1 —17 //, 6 0157 2 01 0014 0113

Д;-г2 26 0167 0020 пп- -¡-з 10 ООП 0114

3 16 //,: 13 0157 4 21 0114 0114

4 —26 0020 0157 Яи- -¡-0 16 0162 0157

5 01 ДггН 0157 1 54 4 0000

6 36 (005 0006 2 10 ООП 0114

7 51- 0130 0000 3 24 0114 0114

10 (5 0216 0113 4 10 ПА- 4 0037

11 24 0130 00,0 5 24 СП 0113

12 24 Д,+ 5 О'ОО 6 05 0216 °пз

13 00 0077 7777 7 24 /7В + 2 0000

14 00 (000 7776

ЛИТЕРАТУРА

1. Сообщение о сокращенном «Алголе-60», ИФИП, Журнал вычисд. мат. и мат ф., 5, № 3, 1965, стр. 575.

2. Е. А. Ж о го лев. Интерпретатор «ПОЛИЗ-63», Журнал вычисл. мат. н мат ф., 5, № 1, 1965, стр. 67.

3. Библиотека стандартных подпрограмм для ЦВМ «Мипск-1». Минск, 1961.

4. Н. Н. Лозинский и др. Справочник программиста, т. 2, 1964.

i Надоели баннеры? Вы всегда можете отключить рекламу.