Э66 и все-все-все

144 views
Skip to first unread message

Leo B.

unread,
Jun 14, 2024, 12:38:00 AM6/14/24
to БЭСМ-6
За все годы существования группы мы около полудюжины раз касались темы Э66, но исключительно со стороны пользователя. А вопрос, как, собственно, осуществлялась поддержка установленной на 2053 библиотеки стандартных процедур - и какой, собственно, был их стандартный набор - остается неотвеченным. НЯП, не было даже возможности выдать список номеров СП, имеющихся на текущем системном диске.

Пока известно вот что: 

СП1 - это процедура "вызова системы программирования", нужная для запуска БЕМШ и МС "Дубна". 
СП200 - это процедура, которая знает, где лежит КРАБ-ЛИСТ, читает зону и запускает его (у нас не установлена или не работает).

Если память мне не изменяет, в какой-то ранней документации то ли по Диспаку, то ли даже по Д-68 было перечисление еще нескольких СП - в т. ч. каких-то математических.

Такое впечатление, что первоначально многие СП были написаны в кодах, и соответствующие зоны копировались из года в год с одного системного тома на другой практически без изменений с 1968 года и без попыток дизассемблировать их. Из позднейших добавлений, кроме СП200, вроде, ещё и СП100 была, но не помню, что делала.

Пишите замечания и соображения, кто что помнит. Нас тут, что-то помнящих, буквально пятеро осталось (Василий, Михаил П., Михаил Я., Сергей, я).

Leo

Michael Yaroslavtsev

unread,
Jun 14, 2024, 9:44:34 PM6/14/24
to be...@googlegroups.com
Раскопал своих подвалов и нашёл целых 3 книжки, рассказывающих про библиотеку СП с разной степенью подробности.
Могу отдать.

--
Данное сообщение отправлено Вам, как участнику группы "БЭСМ-6":
http://groups.google.com/group/besm6/topics
---
Вы получили это сообщение, поскольку подписаны на группу "БЭСМ-6".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес besm6+un...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/9e2e5fcf-db9e-4b37-a8d0-fa348b5c25d3n%40googlegroups.com.


--
Thanks,
-- Michael

Alex Loktionoff

unread,
Jun 15, 2024, 2:51:48 PM6/15/24
to БЭСМ-6
Интересно, хочется почитать.

суббота, 15 июня 2024 г. в 03:44:34 UTC+2, BOPOHOK:

Michael Yaroslavtsev

unread,
Jun 15, 2024, 5:22:35 PM6/15/24
to be...@googlegroups.com


On Sat, Jun 15, 2024 at 11:51 AM Alex Loktionoff <oxy...@gmail.com> wrote:
Интересно, хочется почитать.
Следите за объявлениями. 
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/d7556ab7-ca7a-4e44-8bf7-0c1e4c03a049n%40googlegroups.com.


--
Thanks,
-- Michael

Leo B.

unread,
Jun 17, 2024, 8:57:40 PM6/17/24
to БЭСМ-6
Я был неправ. Процедура "вызова системы программирования" - это СП100. Интерфейс Э66 был уникальным: в отличие от остальных экстракодов, которые можно было выдавать как в левой, так и в правой команде (в первом случае правая команда игнорировалась),  Э66 нужно было обязательно быть левой командой. Его Аисп был аргументом (обычно адресом данных), а собственно номер программы писался в младших разрядах правой команды, т. е. 00 066 0001 00 000 0100 - это вызов СП100 с аргументом 1.

А СП1 - это "прокрутка", т.е. трассировка пошагового выполнения программы. При вызове печатает нечто вроде

Н.К: 00001 0 К0М: 00 000 0000  М0Д: 00000  00000   СУМ: 0000000000000000      +00000000000e+00
Н.К: 00001 1 К0М: 15 240 2000  М0Д: 02000  00000   СУМ: 0000000000000000      +00000000000e+00
Н.К: 00002 0 К0М: 00 000 0000  М0Д: 00000  00000   СУМ: 0000000000000000      +00000000000e+00
Н.К: 00002 1 К0М: 00 000 0000  М0Д: 00000  00000   СУМ: 0000000000000000      +00000000000e+00

(Почему в "КОМ" и "МОД" нули вместо О - загадка. )
 
ЕМНИП, когда-то я распечатки с подобным видал. Значит, даже в 80-х этим ещё. кто-то пользовался.

Выяснить множество имеющихся СП несложно: ненулевые слова первого сектора (т.е. 0-377) зоны 630 на 2053 соответствуют имеющимся СП 1-400. 
На БЭСМ-6 определены следующие СП: 1, 3-16, 24-34, 36, 40, 42, 53, 100, 345. На СВС есть и другие (значит, механизмом Э66 продолжали пользоваться, даже удивительно). 

А вот и первая загадка. Перепись кода СП в память пользователя делается так, что на БЭСМ-6, что на СВС (большие буквы - оригинал, маленькие - мои):

*СП ЕСТЬ В КАТАЛОГЕ
СП28 МОДА (М2)      база СП в библиотеке
 СЧ (М13)           считали текущее слово (из памяти ядра)
 СЛИА 1(М13)        инкремент адреса источника
 УИА ’2000’         закрыли прерывания, разрешили приписку
 ЗП 6(М12)        УКАЗЫВ.СЛОВО СП (бессмысленный комментарий? - записали слово в память пользователя)
 УИА ’2003’         запретили приписку
 РЕГ ’101’          уст. командную свертку
 УИА ’2000’         разрешили приписку
 ЗП 6(М12)          записали то же самое слово туда же ещё раз
 СЛИА 1(М12)        инкремент адреса приемника
 УИА 3              разрешили прерывания, запретили приписку
 СЛИА -1(М14)       декр. счетчика оставшихся слов всего
 СЛИА -1(М10)       декр. счетчика оставшихся слов в абзаце
 МОДА СП28А         ВСЮ СП ПЕРЕНЕСЛИ В ПАМЯТЬ
 ПИО (М14)          выход
 МОДА СП28          на начало цикла
 ПИНО (М10)         НЕ ПЕРЕН.ВЫЗВАН.АБЗ.В ОЗУ

Зачем включать командную свертку в цикле и писать одно и то же дважды?

Leo

Leo B.

unread,
Jun 17, 2024, 10:27:03 PM6/17/24
to БЭСМ-6
Вот эта программа убивает эмулятор Диспака (Segmentation fault):
шифр 419999^
ВРЕ 1^
ОЗУ 32^
BXO 1^
Е
В 1
К 15 24 02000
К 00 066 0010 00 000 0033
K 00 010 0001 00 013 0001
K 00 074 0000
B 10
K 00 000 2000 00 000 2100
ЕКОНЕЦ

В SIMH она завершается по концу задачи.

Serge Vakulenko

unread,
Jun 18, 2024, 1:39:54 AM6/18/24
to БЭСМ-6
Падает, пытаясь выдать сообщение об ошибке err=672:

frame #1: 0x0000000100006eef dispak`run at cu.c:875:3 [opt]
   872 pcm_dbg = pcm;
   873 if (pout_enable || err != 1) {
   874 /* printf("Error %d\n", err);     */
-> 875 utf8_puts(_(errtxt[err]), stdout);
   876 putc('\n', stdout);
   877 where();
   878 }

--Сергей

Leo B.

unread,
Jun 18, 2024, 3:07:38 AM6/18/24
to БЭСМ-6
Значит, это не у меня эмулятор побился, а у всех так. Значение переменной err берется из регистра M22 - артефакта эмулятора Диспака. Почему он портится (или, точнее, ячейка, из которой он восстанавливается перед выходом из экстракода)  - вопрос к Мише, когда у него руки дойдут.

Leo

Leo B.

unread,
Jun 18, 2024, 8:11:53 PM6/18/24
to БЭСМ-6
On Monday, June 17, 2024 at 5:57:40 PM UTC-7 Leo B. wrote:

На БЭСМ-6 определены следующие СП: 1, 3-16, 24-34, 36, 40, 42, 53, 100, 345. На СВС есть и другие (значит, механизмом Э66 продолжали пользоваться, даже удивительно). 


СП345, идентичная на БЭСМ-6 и СВС - самая короткая из всех. Выглядит она так (все обращения к локальным переменным базированы по М15, как положено):

  сч (М16) информационное слово Э66
  и  МАСКА
  или ИСЭ72 
  зп ИС    приготовили ИС Э72
  счи М3
  зп ИР3 сохранили М3
  уиа '71717'(М3) магический ключ
  Э72 ИС 
  сч ИР3
  уи М3 восстановили
  мод 1(М15) - адрес возврата из СП
  пб
МАСКА конд в'
0000177737007777'
ИСЭ72 конд в'6201000000004000' код операции 62 в инструкциях отсутствует
ИС пам 1
ИР3 пам 1

Кто из {Миша, Василий} возьмется посмотреть в РЕСУРС, что там происходит? Проверка на 71717 там делается в единственном месте, а что дальше - непонятно.

Leo

Mikhail Popov

unread,
Jun 18, 2024, 10:37:45 PM6/18/24
to be...@googlegroups.com
По прокрутке была депонированная публикация древняя, то-ли И. Силина, то-ли А. Гусева, но с 2017 года она мне в поисках не попадала, сам я СП не использовал  и не припомню, что когда;либо кто-то ее использовал, но прошло более 30 лет, так что это тоже - не точно. 

П.С. 
Заглянул на github besm6, нашел много интересно,  Leo и Vak большой респект за новый эмулятор. 

М.П.

On Thu, Jun 13, 2024 at 9:38 PM Leo B. <leo...@gmail.com> wrote:
--

Serge Vakulenko

unread,
Jun 18, 2024, 11:52:30 PM6/18/24
to БЭСМ-6
On Tuesday, June 18, 2024 at 7:37:45 PM UTC-7 mikhailp wrote:
П.С. 
Заглянул на github besm6, нашел много интересно,  Leo и Vak большой респект за новый эмулятор. 

Спасибо, Миша!
Ты глянь эмулятор dubna, пожалуйста. Мы там упёрлись с Лёней, не можем сообразить, как динамический заказ лент реализовать. Как соответствующие экстракоды должны работать. Нужна помощь от тебя.

Насколько я понимаю, требуются экстракоды:
    *50 211b
    *57

По исходникам ОС Дубна разобраться с полпинка не выходит.

С динамическим заказом лент можно было бы доразвить эмулятор до удобной системы программирования. А сейчас он по каждому чиху сваливается на заказ ленты. Например:

$ dubna pascal.dub
[...]
*NAME PASCAL
*PASCAL
Error: Task paused waiting for tape
 
--Сергей

Leo B.

unread,
Jun 19, 2024, 1:06:27 AM6/19/24
to БЭСМ-6
Список СП из "Руководства пользователю по работе с операционной системой Диспак", раздел 9.5, комментарии в квадратных скобках мои:
001 - Прокрутка
004 - Печать с форматом 
005 - Перемножение матриц
006 - Решение системы линейных алгебраических уравнений
007 - Вычисление определенных интегралов по формуле Симпсона
010 - Упорядочение массива [используется Алголом-БЭСМ]
011 - Ассоциативный поиск слова в массиве
012 - Поиск максимального числа
013 - Решение системы дифференциальных уравнений 1-го порядка методом Рунге-Кутта
014 - Слияние двух массивов
015 - Стандартная программа отладки (часть 1)
016 - СПО (часть 2)
024 - Обращение матрицы
025 - Обращение к барабану и ленте [примерно fread/fwrite с гранулярностью 1 слово, для лент - с буферизацией на барабане]
026 - Квадратичная интерполяция
027 - Увеличение точности [должно быть, забавная, но дико медленная игрушка]
030 - Обращение матрицы, расположенной на магнитном барабане
031 -  Решение системы линейных алгебраических уравнений, коэффициенты которых расположены на барабане
032 - Вывод программ на перфокарты и перфоленту [используется для ПФГП в БЕМШе]
033 - Лента [???]
034 - Печать программ
036 - Распечатка программ по перфокартам
040 - Печать с нумерацией адресами
042 - Точное решение системы линейных алгебраических уравнений
--- конец цитаты
Ещё имеется
053 - компактная печать команд, используется Алголом-БЭСМ для выдачи выполняемого кода по $РАБО
100 - запуск системы программирования, предтеча стандартных паспортов. Вряд ли совпадение, что код 1 запускает БЕМШ, который также и ЗС1.
345 - непонятно что, выдает Э72 с ключом 71717 и кодом операции 62.

Похоже, что основное, с чем ради интереса имеет смысл разбираться - это "увеличение точности". Размер кода, впрочем немаленький, почти целая зона.

Leo

Leo B.

unread,
Jun 19, 2024, 3:07:55 AM6/19/24
to БЭСМ-6
Миша, а как вообще обстоит дело с *66 в ОС "Дубна"? Это можно понять по образам дисков? Может, там есть какие-нибудь интересные СП?

On Tuesday, June 18, 2024 at 7:37:45 PM UTC-7 mikhailp wrote:

Leo B.

unread,
Jun 19, 2024, 4:44:08 PM6/19/24
to БЭСМ-6
Вот она, наша прелесть: https://mailcom.com/besm6/docs/Extended_precision.pdf
Нашлось в книжке, которая была у меня уже лет 20, но раньше этот аспект функциональности системы нас совершенно не интересовал :)

Leo B.

unread,
Jun 19, 2024, 5:33:29 PM6/19/24
to БЭСМ-6
On Wednesday, June 19, 2024 at 1:44:08 PM UTC-7 Leo B. wrote:
Вот она, наша прелесть: https://mailcom.com/besm6/docs/Extended_precision.pdf
Нашлось в книжке, которая была у меня уже лет 20, но раньше этот аспект функциональности системы нас совершенно не интересовал :)

И оно даже работает!

Попытка посчитать корень из 2 с удесятеренной точностью, следуя инструкции и исправляя на ходу опечатки,

 program: ,name,
 precision:,equ,10
 libbuf:,lc,1400b . per instruction
 13,vtm,libbuf
 ,*66,inf66
 , , 27b
 inf66:,,1 . delta
  ,,start
  ,,precision
  ,,buf . for emulated registers, large enough
  start:,ita, . zero out emulated A and Y
  ,aox,two . single precision, xta not needed
  ,ntr,
  ,*50,
  ,atx,res . full precision
  ,*64,inf64
  ,z20,exit . from emulation
 exit:,*74,
 two:,real,2.0
 inf64:,,res
  ,,res
  3,,
  8,,
  res:,bss,20
 buf:,bss,1024
  ,end ,

даёт

+0001+1414213562373095048801688724209698078569671875376948073176679737990732478462107038850387534327641572735013846230912297025
В то время как bc -l, scale=121,sqrt(2) даёт
     1.4142135623730950488016887242096980785696718753769480731766797379907324784621070388503875343276415727350138462309122970249

Как нетрудно видеть, всё чётко. 

Попытка извлечь корень из отрицательного числа, правда, приводит к некоему положительному результату с порядком -1359 :)

Какое счастье, что я не знал об этой фиче, когда был дитя! А то бы кучу времени, и своего, и машинного, убил на вычисление чисел пи, е, и ещё каких-нибудь с дикой точностью ради развлечения.

Leo

Leo B.

unread,
Jun 19, 2024, 9:23:04 PM6/19/24
to БЭСМ-6
А вот и разгадка: усеченная реализация Э66 в эмуляторе Диспака не умеет работать в режиме сохранения загруженных СП в памяти. Любой Э66, повторно вызванный с признаком сохранения (р. 24 под командой Э66) приводит к краху.

Mikhail Popov

unread,
Jun 19, 2024, 10:43:24 PM6/19/24
to be...@googlegroups.com
Да, с лентами, если не заморачиваться с опознанием, и разметкой с Дубненскими сл. словами, там не так все сложно, с дисками там мне удалось сделать только модели  лент и scratch там реально туго, я вернусь 24-го, посмотрю и напишу.

Всем привет,   

--
Данное сообщение отправлено Вам, как участнику группы "БЭСМ-6":
http://groups.google.com/group/besm6/topics
---
Вы получили это сообщение, поскольку подписаны на группу "БЭСМ-6".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес besm6+un...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/3af84d9e-0df9-4787-abaa-8088a5155669n%40googlegroups.com.

Mikhail Popov

unread,
Jun 19, 2024, 10:48:32 PM6/19/24
to be...@googlegroups.com
В диспетчере, была[есть] поддержка вызова СП как и эмуляция Д68, но я этим не пользовался, СП была на отдельном барабане, возможно что-то осталось посмотрю в текстах DD86, только после 24-го.

Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/067026b1-6762-4b66-842f-4e79e6989d68n%40googlegroups.com.

Mikhail Popov

unread,
Jun 24, 2024, 2:56:32 PM6/24/24
to be...@googlegroups.com
Лео, 

да поддержка есть, сама библиотека на MONSYS (9) с 0410  по 0417 зону, туда добавлена одна Дубненская программа, 
вот это обращение к *66...
Удачи,
М.П.

p.s.
в 0410,  что то типа каталога но я не разбирался, все  СП можно найти по "CП*066" в ГОСТ

 
C*************************************
C* ЭKCTPAKOДA OБPAЩEHИЯ K CП
C*
C*    BЫЗOB CП ПPOИЗBOДИTCЯ TAK
C* 13, VTM ,PAБ ПOЛE    .CЮДA CЯДET CП
C*:  , LIB ,INF         .ИHФOPM.ДЛЯ CП
C* PI,     ,HOMEP CП    .
C* B PI ECTЬ B24 -  CП БYДET BЫЗЫBATCЯ
C*                ПOBTOPHO (COXPAHИTЬ)
C*                B ЭTOM CЛYЧAE   ИP13
C*                YBEЛИЧИTCЯ HA  ДЛИHY
C*                CП   ПOCЛE  BOЗBPATA
C* B PI ECTЬ B23 -  ЭTO COБCTBEHHAЯ CП
C*                MATEMATИKA.  OCTATOK
C*               ПPABOЙ KOMAHДЫ - MAT.
C*               AДPEC CП B  ФOPMATE :
C* <HAПP><MБ><TPAKT><CEKT><AДP B CEKT>
C* B PI ECTЬ B22 -  CПEЦИAЛЬHЫЙ PE-
C*                ЖИM ДЛЯ ЧAЙKOBCKOГO.
C*     INF - ДЛИHA MACCИBA ПOДЛEЖAЩEГO
C*   OБMEHY, A ИP13 KYДA EГO ЧИTATЬ-6,
C*   ПPABAЯ KOMAHДA - ФИЗ AДPEC ПO  MБ
C*   B AHAЛOГИЧHOM ФOPMATE.
C*
C*
C*B HAЧAЛE CП COДEPЖИTCЯ 2 CПEЦ CЛOBA:
C*     30 - 16P            15- 1P
C*<ДЛИHA CП B ПAM.ЗAДAЧИ><ДЛИHA HA MБ>
C*    2-E: CПEЦ  KOД B KOДE GOST
C*          CП*066
C*  ИЛИ ДYБЛЬ AДPECA CП HA MБ B CЛYЧAE
C*  CП MATEMATИKA
C*B CЛYЧAE CИCTEMHOЙ CП B ПEPBOM CЛOBE
C*   B 48-37 PP  ДYБЛЬ HOMEPA CП.
C*BXOД B CП ПO AДPECY <ИP13>+10B
C*B CЛOBE<ИP13>+1 AДPEC BOЗBPATA ИЗ CП
C*             +5 ИP13
C*             +2 PEЖИM AY
C*ИP14 PABEH ИCП.AДPECY ЭKCTPAKOДA *66
C*************************************

Leo B.

unread,
Jun 24, 2024, 5:36:46 PM6/24/24
to БЭСМ-6
On Tuesday, June 18, 2024 at 5:11:53 PM UTC-7 Leo B. wrote:



СП345, идентичная на БЭСМ-6 и СВС - самая короткая из всех. Выглядит она так (все обращения к локальным переменным базированы по М15, как положено):

 
Эта же СП под номером 345 есть и в ОС "Дубна"  (заголовок в зоне 415 monsys.9,  слово 602). 

С той лишь разницей, что вместо ИЛИ (AOX, 015) делается СЛЦ (ARX, 013), что призвано быть на такт быстрее, 
но лучше бы НТЖ (012, AEX) - и понятнее, и гарантированно быстрее. Раз кто-то этим интересовался  оптимизировать - значит, кто-то этим пользовался?

Михаил, не посмотришь, что делал *72 с "62" в 48-43 рр по Аисп?

  сч (М16) информационное слово Э66
  и  МАСКА
  или ИСЭ72 
  зп ИС    приготовили ИС Э72
  счи М3
  зп ИР3 сохранили М3
  уиа '71717'(М3) магический ключ
  Э72 ИС 
  сч ИР3
  уи М3 восстановили
  мод 1(М15) - адрес возврата из СП
  пб
МАСКА конд в'
0000177737007777'
ИСЭ72 конд в'6201000000004000' код операции 62 в инструкциях отсутствует
ИС пам 1
ИР3 пам 1

Leo
 

Mikhail Popov

unread,
Jun 24, 2024, 10:15:21 PM6/24/24
to be...@googlegroups.com
Мл разряды, это функция эмуляции в Э72, 62 не наблюдается...

плюс,  ключ вызывает вопрос, такой код в Дубне есть
  ,WTC,3
  13,VTM,-71717B
  13,VZM,NO70
отвечает за трассировку Э70 в эмулируемых экстракодах

C.....   ПEPEKЛЮЧATEЛЬ TИПOB ЭK72
 :,UJ,OTK OП.
 ,,00B.
 :,UJ,ЗAM OП.
 ,,10B.
 :,UJ,ДAЙ OП.
 ,,11B.
 :,UJ,OTK MЛ.
 ,,20B.
  :,UJ,NRS RET
  ,,30B
 :,UJ,OTK MБ.
 ,,40B.
 :,UJ,OTKMБ Д.
 ,,41B.
 :,UJ,ПEЧ MБ.
 ,,42B.
 :,UJ,NRS RET.ПYCTOЙ ЭK
 ,,47B.
 :,UJ, ЗAM MБ.
 , ,50B
  :,UJ,NRS RET."ПOДBOД"
 ,,70B.

--
Данное сообщение отправлено Вам, как участнику группы "БЭСМ-6":
http://groups.google.com/group/besm6/topics
---
Вы получили это сообщение, поскольку подписаны на группу "БЭСМ-6".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес besm6+un...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/20885e6e-4999-48c3-b7d9-a56132466bfbn%40googlegroups.com.

Leo B.

unread,
Jun 24, 2024, 10:41:47 PM6/24/24
to БЭСМ-6
On Monday, June 24, 2024 at 7:15:21 PM UTC-7 mikhailp wrote:
Мл разряды, это функция эмуляции в Э72, 62 не наблюдается...

 В смысле "ст. разряды". Спасибо; видимо, эти СП как-то брались из Диспака и записывались всем скопом,
потому что там есть и
SP100 is 4:1435 disk len 0267 mem len 0274

("вызов систем программирования", включая БЕМШ и АЛГОЛ-БЭСМ), которая по коду практически совпадает с имеющимся у нас диспаковским вариантом,
 но в ОС "Дубна" совершенно бесполезна.

Leo

Mikhail Popov

unread,
Jun 25, 2024, 1:09:01 AM6/25/24
to be...@googlegroups.com
Де я спешил, и не написал подробно, Младшие разряды в каждом слове переключателя, соответствуют старшим разрядам .... 

Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/077cfa2b-ae90-4124-858d-4683ea909c0fn%40googlegroups.com.

Mikhail Popov

unread,
Jun 25, 2024, 1:32:12 AM6/25/24
to be...@googlegroups.com
Интересная находка связанная с СП,  в 80-х годах бюл контракт от Мособлэнерго по оптимизации эл.сетей, в основе  был Киргоф, но там варьировались еще и нагрузки.  Программно все было сделано и контракт генерировал какие-то деньги ежеквартально (не для меня, я тогда делал Мадлен 3 и др.), так вот был вопрос, как защитить алгоритм, чтобы его не поперли. К своему удивлению, нашел его в СП, а потом понял, что из общей библиотеки его можно было скопировать, а вот из СП - это сделать; было сложнее.

М.П. 

Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/077cfa2b-ae90-4124-858d-4683ea909c0fn%40googlegroups.com.

Leo B.

unread,
Jun 25, 2024, 3:26:38 PM6/25/24
to БЭСМ-6
Содержание каталога СП на образе monsys.9 приведено ниже (размеры почти всех СП, общих с Диспаком, совпадают с диспаковскими). 
СП больше 100, кроме 345, Диспаку неизвестны.

Зона 0417 с диагностиками

ПУСТОЙ ГРАФ
НЕДОПУСТИМАЯ ФИКСАЦИЯ
ОБНАРУЖЕНЫ КРАТНЫЕ РЕБРА
ОБНАРУЖЕНЫ ПЕТЛИ
НЕДОПУСТИМАЯ ВЕРШИНА
ОБНАРУЖЕНО ВИСЯЧЕЕ РЕБРО
ОМЕРЗИТЕЛЬНЫЙ ГРАФ
НЕСВЯЗНЫЙ ГРАФ
НЕДОПУСТИМОЕ ЦИКЛОМАТИЧЕСКОЕ ЧИСЛО
НЕКОРРЕКТНЫЙ ЭТАЛОН
НЕДОПУСТИМАЯ ОПТИМИЗАЦИЯ
НЕДОПУСТИМЫЙ ИСТОЧНИК

в библиотеку СП, как видно, не входит.

Зоны считаются с 0410.
FREE @5:1057
SP 1 is 0:0400 disk len 0357 mem len 0365
SP 3 is 0:0757 disk len 0066 mem len 0066
SP 4 is 0:1045 disk len 0455 mem len 0460
SP 5 is 0:1522 disk len 0070 mem len 0075
SP 6 is 0:1612 disk len 0105 mem len 0133
SP 7 is 0:1717 disk len 0132 mem len 0140
SP 10 is 1:0051 disk len 0054 mem len 0104
SP 11 is 1:0125 disk len 0036 mem len 0070
SP 12 is 1:0163 disk len 0037 mem len 0067
SP 13 is 1:0222 disk len 0367 mem len 0375
SP 14 is 1:0611 disk len 0034 mem len 0064
SP 15 is 1:0645 disk len 0752 mem len 1000
SP 16 is 1:1617 disk len 0747 mem len 1000
SP 24 is 2:0566 disk len 0154 mem len 0206
SP 25 is 2:0742 disk len 0254 mem len 0400
SP 26 is 2:1216 disk len 0056 mem len 0072
SP 27 is 2:1274 disk len 1335 mem len 1400
SP 30 is 3:0631 disk len 0406 mem len 0456
SP 31 is 3:1237 disk len 0156 mem len 0211
SP 32 is 3:1415 disk len 0255 mem len 0337
SP 33 is 3:1672 disk len 0046 mem len 0057
SP 34 is 3:1740 disk len 0234 mem len 0242
SP 36 is 4:0174 disk len 0222 mem len 0230
SP 40 is 4:0416 disk len 0556 mem len 1251
SP 42 is 4:1174 disk len 0146 mem len 0200
SP 53 is 4:1342 disk len 0073 mem len 0104
SP 100 is 4:1435 disk len 0267 mem len 0274
SP 105 is 4:1724 disk len 0043 mem len 0054
SP 106 is 4:1767 disk len 0170 mem len 0170
SP 127 is 5:0157 disk len 0060 mem len 0070
SP 133 is 5:0237 disk len 0343 mem len 0362
SP 345 is 5:0602 disk len 0012 mem len 0030
SP 353 is 5:0614 disk len 0071 mem len 0512
SP 140 is 5:0705 disk len 0152 mem len 0241

Mikhail Popov

unread,
Jun 25, 2024, 4:15:00 PM6/25/24
to be...@googlegroups.com
Эта  диагностика вот отсюда. 

Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/4f295849-02ee-4a5f-ab3a-9878f6ac4700n%40googlegroups.com.
JINR-P11-13059.pdf

Mikhail Popov

unread,
Jun 25, 2024, 5:22:31 PM6/25/24
to be...@googlegroups.com

Сергей, 

*50,211B   это диагностика оператору

Про   *57   надо смотреть более подробно, что там за биты,  напишу.

М.П!


см. заказ по физ номерам.

 REQ*MT:,BSS,
 ,XTA,ИMЯ MЛ  . имя в ТЕКСТ, а номер закодирован
 ,*57,150B  . поиск 
 ,ATX,WS   . 
 ,UZA,HET MЛ
 ,ASN,64+45
 ,UZA,ECTЬ
 HET MЛ:,XTA,=77777
 ,*50,211B.  оператору на консоль  HET MЛ, закрываемся и ждем когда оно поставит любую ленту
 ,UJ,SE*MT
 ECTЬ: ,XTA,WS
 ,ASN,64-12
 ,AOX,ИНФ
 ....
 WS:,BSS,1
 ИMЯMЛ:,TEXT,8HTESTTA '20'.  TAPE: TESTТA/10

On Tue, Jun 18, 2024 at 8:52 PM Serge Vakulenko <serge.v...@gmail.com> wrote:
--
Данное сообщение отправлено Вам, как участнику группы "БЭСМ-6":
http://groups.google.com/group/besm6/topics
---
Вы получили это сообщение, поскольку подписаны на группу "БЭСМ-6".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес besm6+un...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/3af84d9e-0df9-4787-abaa-8088a5155669n%40googlegroups.com.

Leo B.

unread,
Jun 25, 2024, 5:33:31 PM6/25/24
to БЭСМ-6
Здорово, спасибо! 
В PERSO с зоны 320 процедура есть в нормальном виде:

IGRA         336 03  03044

И входных точек у нее сильно больше 20. Как это было возможно? Вроде больше 18 нельзя было.

Leo

PS. Кстати говоря, в издательском отделе сидели лица с низкой профессиональной компетентностью - принесли им рукопись, напечатанную на портативной машинке, а заменить при наборе слеши на круглые скобки у них ума не хватило.


Mikhail Popov

unread,
Jun 26, 2024, 3:04:32 AM6/26/24
to be...@googlegroups.com
И входных точек у нее сильно больше 20. Как это было возможно? Вроде больше 18 нельзя было.  

Формальное ограничение было на 20 входов, но это ограничение было связано чисто с манипуляциями ст. массива, типа отпрофилировать, в самих каталогах такого ограничения нет.   

Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/8f90f333-fa03-47a0-b89b-185b83badc41n%40googlegroups.com.

Leo B.

unread,
Jun 26, 2024, 1:16:28 PM6/26/24
to БЭСМ-6
On Wednesday, June 26, 2024 at 12:04:32 AM UTC-7 mikhailp wrote:
И входных точек у нее сильно больше 20. Как это было возможно? Вроде больше 18 нельзя было.  

Формальное ограничение было на 20 входов, но это ограничение было связано чисто с манипуляциями ст. массива, типа отпрофилировать, в самих каталогах такого ограничения нет.   

Я не пойму, как без  ручного редактирования каталога можно было бы добиться эффекта более чем 20 входов в процедуру. Ни Мадлен, ни фортраны такое не могут.

Leo

Mikhail Popov

unread,
Jun 27, 2024, 3:53:58 PM6/27/24
to be...@googlegroups.com
Ну, это не специфика компиляторов, это специфика STAR*,  которая обрабатыбает запись в библиотеку. В madlen3 эта функция выпоняется самим ассемблером, так как он не  возвращается в STAR* пока ассемблерные программы не закончутся. Возможно (?) Феденькин использовал свой вариан madlen он может грузиться динамически, или это была (и есть) нописанная feature, я смотрел в код там вроде ENTRY* (т.е. 20 входов), но подробно не смотрел, может есть какие-то подкрутки, может быть, это еще один  метод зашиты, т.к. все утилиты копировиния СМ, используют ENTRY* (т.е. 20 входов) ,   


 М.П.

--
Данное сообщение отправлено Вам, как участнику группы "БЭСМ-6":
http://groups.google.com/group/besm6/topics
---
Вы получили это сообщение, поскольку подписаны на группу "БЭСМ-6".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес besm6+un...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/9c8f196c-1280-437b-8e96-ab1af6db98cdn%40googlegroups.com.

Mikhail Popov

unread,
Jun 27, 2024, 4:00:34 PM6/27/24
to be...@googlegroups.com
Сергей, привет.

Вот что накопал в текстах DD86  Э57 имеет режимы, эти  режимы в адресе:
1. notfound (4-й р.) печать 'нет мл'
2. busy     (5-й р.) печать 'занят мф'
3. ready    (6-й р.) печать 'нeгoт.mф'
4. write    (7-й р.) печать 'запись мф'
5. read     (8-й р.) печать 'чтение мф'
6. nodiag   (9-й р.) блокировка ТТ-диагностики
7. byname  (10-й р.) поиск только по имени (без N бобины)
8. assign  (11-й р.) поиск c захватом мл (мат.номер мл - в 13 рег.) 
9. release (12-й р.) отказ от cвоиx мл заданныx на сумматоре битовой шкалой:
                     48 р. - мл 30 для мат.задач

На сумматоре имя ленты в TEXT, номер бобины в 2-10 коде
специальный запрос: опрос состояния физического магнитофона на сумматоре
                    номер мф - 4-9 рр., 10-48 рр. - единицы

после выхода экстракода:

14 рег. содержит номер последней зоны для специального файла или 777b для мл 

на сумматоре следующая информация:
1-6 pp.: найден физический номер мл (0 если мл отсутствует)
  48 p.: контриль записи (0-yes,1-no)
  47 p.: бит готовности  (0-yes,1-no)
  46 p.: бит занятости   (0-free 1-busy)
  45 p.: признак именованной мл (1-им.мл, 0-нет) это только по спец.запросу

возможно я что-то и пропустил, т.к. код тяжелый, проверю ещё, но не раньше чем завтра, сегодня занят до упора.

М.П.

Leo B.

unread,
Jun 27, 2024, 8:56:33 PM6/27/24
to БЭСМ-6
Отставить. С одной стороны, я ступил: grep-ом все входы посчитались дважды, потому что PLCATALOG выдаёт все дважды. Но вопрос, если вручную приписать в каталог дополнительные входы, как оно будет работать в реальности, остаётся.

С другой стороны, PLCATALOG работает, но *PERSO говорит "испорчен каталог personal library", и DTRAN говорит, что в указанной зоне нет perso.
 А если через *LIBRARY, то грузится:

           *CALL IGRA
                                        OT 18.01.79 ==
                         ПOДПPOГPAMMЫ ИЗ БИБЛИOTEKИ    41    10.48.00 M0
                IGRA
                                        OT 18.01.79 ==

        IGRA       03122        STARTG   E 05423        NSCANG   E 05747
        IOPT     E 04020        IPR      E 05426        NSCANF   E 06000
        PC       E 05077        IP       E 05430        FORS     E 06013
        NR       E 05131        IGRAS    E 05471        *ERRG*   C 06166
        NV       E 05174        IUP      E 05530          CBOБOД   06200
        ITERG    E 05221        INFOPT   E 05642
        ISCANG   E 05237        IFRAG    E 05655
        OPENG    E 05414        NTREE    E 05705

Ровно 18 дополнительных входов.

Значит, какая-то другая хитрость всё же была.  

Leo

Serge Vakulenko

unread,
Jun 30, 2024, 3:08:33 AM6/30/24
to БЭСМ-6
Спасибо, Миша!
Попробую доделать Э57, посмотрим, что получится.

--Сергей

On Thursday, June 27, 2024 at 1:00:34 PM UTC-7 mikhailp wrote:
Сергей, привет.

Вот что накопал в текстах DD86  Э57 имеет режимы, эти  режимы в адресе:
1. notfound (4-й р.) печать 'нет мл' 2. busy (5-й р.) печать 'занят мф' 3. ready (6-й р.) печать 'нeгoт.mф' 4. write (7-й р.) печать 'запись мф' 5. read (8-й р.) печать 'чтение мф' 6. nodiag (9-й р.) блокировка ТТ-диагностики 7. byname (10-й р.) поиск только по имени (без N бобины) 8. assign (11-й р.) поиск c захватом мл (мат.номер мл - в 13 рег.) 9. release (12-й р.) отказ от cвоиx мл заданныx на сумматоре битовой шкалой: 48 р. - мл 30 для мат.задач
На сумматоре имя ленты в TEXT, номер бобины в 2-10 кодеспециальный запрос: опрос состояния физического магнитофона на сумматоре номер мф - 4-9 рр., 10-48 рр. - единицы после выхода экстракода: 14 рег. содержит номер последней зоны для специального файла или 777b для мл на сумматоре следующая информация: 1-6 pp.: найден физический номер мл (0 если мл отсутствует) 48 p.: контриль записи (0-yes,1-no) 47 p.: бит готовности (0-yes,1-no) 46 p.: бит занятости (0-free 1-busy) 45 p.: признак именованной мл (1-им.мл, 0-нет) это только по спец.запросу
Reply all
Reply to author
Forward
0 new messages