Эмулятор...

159 views
Skip to first unread message

Sergey Ryzhkov

unread,
Dec 27, 2019, 2:57:00 PM12/27/19
to be...@googlegroups.com
Эмулятор стоит на Rspberry в квартире дочери. Анализ не мой, Юра Лизунов мой близкий друг с которым лет 15 назад делали сеть в микрорайоне. Но блин, это же компьютер 70х-80х... :(

По порту 4199 шумящее устройство отвечает так:
Надя все свои приборы обещала выключить и вроде выключила...

Connected to the БЭСМ-6 simulator TTY device, line 2

 ЭBM-3,T002
HJHJ
 ОШИБ

А это ответы на китайские запросы UPNP
n*...l.P.;..HTTP
/1.1.200.OK..Cac
he-Control:.max-
age=120..EXT:..L
ocation:.http://
5/rootDesc.xml..
Server:.Linux/2.
4.22-1.2115.nptl
.UPnP/1.0.miniup
npd/1.0..ST:.urn
:schemas-wifiall
iance-org:device
:WFADevice:..USN
:.uuid:226d2f32-
1dd2-11b2-852e-9
88ef8ca3285::urn
:schemas-wifiall
iance-org:device
 :WFADevice:....


Юра Лизунов (903)797-8227

Alex Loktionoff

unread,
Feb 8, 2023, 12:00:14 PM2/8/23
to БЭСМ-6
Это SIMH ДИСПАК?
Можете примерчик сессии подать?
У меня на домашнем ПК только вот что получается:

$ telnet -4 localhost 4199
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.


Connected to the БЭСМ-6 simulator TTY device, line 2


Encoding is UTF-8

WRU – Break to sim> prompt character - is ^E
Wed Feb 8 17:56:32 2023 from 127.0.0.1

   ЭBM-3,T002
ФС8
   BAM HEЛЬЗЯ
пятница, 27 декабря 2019 г. в 20:57:00 UTC+1, Сергей Рыжков:

Sergey Ryzhkov

unread,
Feb 8, 2023, 12:10:55 PM2/8/23
to be...@googlegroups.com
Это давно было. Я вообще тоже больше с эмулятором пользовательского режима игрался. Текущее состояние именно Диспака не знаю. Там вроде раньше Краб запускался и из него можно было пускать задачи. И пульт вроде тоже был.

Спроси лучше в группе. 

ср, 8 февр. 2023 г. в 17:00, Alex Loktionoff <oxy...@gmail.com>:
--
Данное сообщение отправлено Вам, как участнику группы "БЭСМ-6":
http://groups.google.com/group/besm6/topics
---
Вы получили это сообщение, поскольку подписаны на группу "БЭСМ-6".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес besm6+un...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/de6a6b1b-c13a-4810-a6e1-d29aa9582aa7n%40googlegroups.com.

Leo B.

unread,
Feb 8, 2023, 12:13:16 PM2/8/23
to БЭСМ-6
Операторским является терминал номер 1, непосредственно в сессии SIMH.

Leo

Alex Loktionoff

unread,
Feb 8, 2023, 12:25:39 PM2/8/23
to БЭСМ-6
Я понял, что терминал 2-ой пользовательский. /*кстати в SIMH dispak.ini ошибка, должно быть attach tty2 4199 */
Как абсолютно начинающему, может кто подсказать, что обычный программист с терминала _МОГ_ вводить?
Параллельно я еще ищу содержимое/примерчик что мог загрузить оператор с перфоленты в ДИСПАКе, но это следующий этап.  
Подскажите пожалуйста как начать работу в терминале? В детстве начинал с Бейсика AppleII, ZXSpectrum и командной строки MSDOS.  
Вообще трудно представляю как пользователи БЕСМ могли править например программку на фортране и запустить на счет с разными входными данными. Подскажите где подсмотреть? 
среда, 8 февраля 2023 г. в 18:13:16 UTC+1, Leo B.:

Василий Долматов

unread,
Feb 8, 2023, 12:29:57 PM2/8/23
to 'Кирилл Кобелев' via БЭСМ-6


8 февр. 2023 г., в 20:25, Alex Loktionoff <oxy...@gmail.com> написал(а):

Я понял, что терминал 2-ой пользовательский. /*кстати в SIMH dispak.ini ошибка, должно быть attach tty2 4199 */
Как абсолютно начинающему, может кто подсказать, что обычный программист с терминала _МОГ_ вводить?
ВЦПП

НОМ4199

СКВ<…>

и больше практически ничего… 
вызывать диалоговые системы по ключу (имени)

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

Василий Долматов

unread,
Feb 8, 2023, 12:33:03 PM2/8/23
to 'Кирилл Кобелев' via БЭСМ-6


8 февр. 2023 г., в 20:29, Василий Долматов <vdol...@gmail.com> написал(а):



8 февр. 2023 г., в 20:25, Alex Loktionoff <oxy...@gmail.com> написал(а):

Я понял, что терминал 2-ой пользовательский. /*кстати в SIMH dispak.ini ошибка, должно быть attach tty2 4199 */
Как абсолютно начинающему, может кто подсказать, что обычный программист с терминала _МОГ_ вводить?
ВЦПП

НОМ4199

СКВ<…>

и больше практически ничего… 
вызывать диалоговые системы по ключу (имени)

Параллельно я еще ищу содержимое/примерчик что мог загрузить оператор с перфоленты в ДИСПАКе, но это следующий этап.  
Подскажите пожалуйста как начать работу в терминале? В детстве начинал с Бейсика AppleII, ZXSpectrum и командной строки MSDOS.  
Вообще трудно представляю как пользователи БЕСМ могли править например программку на фортране и запустить на счет с разными входными данными. Подскажите где подсмотреть? 

а для этого как раз и нужны были диалоговые системы (КРАБ, ПУЛЬТ, ДИМОН и т.п.)
и в каждой это делалось сильно по-разному. 
но общий смысл был один: собирался «пакет задачи» (паспорт+программа+данные) и запускался в машину… 
что-нибудь менялось (программа или данные, данные - чаще :) ) и запускалось вновь.

пока не исчерпается выделенный подразделению лимит времени (и/или бумаги для печати :) )

Alex Loktionoff

unread,
Feb 8, 2023, 12:39:49 PM2/8/23
to БЭСМ-6
ReedCat, видать чего-то у меня в SIMH НЕТ
не подскажете что добавить и откуда взять?

 ЭBM-3,T002

ВЦПП

 HET

НОМ4199

 HET

СКВ12345

 ЗHET


среда, 8 февраля 2023 г. в 18:29:57 UTC+1, ReedCat:

Alex Loktionoff

unread,
Feb 8, 2023, 12:44:00 PM2/8/23
to БЭСМ-6
В общих смысл этой ротацию понимаю. ДИСПАК позволяет ставить задачи на исполнение только оператору?

среда, 8 февраля 2023 г. в 18:33:03 UTC+1, ReedCat:

Leo B.

unread,
Feb 8, 2023, 1:44:13 PM2/8/23
to БЭСМ-6
On Wednesday, February 8, 2023 at 9:25:39 AM UTC-8 oxy...@gmail.com wrote:
Я понял, что терминал 2-ой пользовательский. /*кстати в SIMH dispak.ini ошибка, должно быть attach tty2 4199 */

Нет, не ошибка.  Поскольку номер порта для подключения общий для всех терминалов, номер терминала в команде attach игнорируется, но необходим в силу синтаксиса командного языка simh.

Как абсолютно начинающему, может кто подсказать, что обычный программист с терминала _МОГ_ вводить?

Обычный программист мог вызывать диалоговые многопользовательские многотерминальные системы вводя просто название системы (например, КРАБ), или однопользовательские,
вводя ключ и свой индивидуальный шифр из 4 или 6 цифр (например, ДЖИН 1234). В системах, предназначенных для программистской работы, можно было редактировать файлы на
дисках или лентах, запускать программы на счёт, просматривать результаты "выдачи на АЦПУ" непосредственно на терминале, и т. п.  

Также пользователям разрешался небольшой набор информационных команд, как то:

состояние процессора: ВЦПП ("время центрального процессора, полное") или КТО - аналог ps в юниксе, 
НОМ ("номера"?) - содержимое очереди задач на выполнение
 СКВ ("состояние канала ввода") - состояние конкретной задачи в очереди

Параллельно я еще ищу содержимое/примерчик что мог загрузить оператор с перфоленты в ДИСПАКе, но это следующий этап.  

В тестовых целях с перфоленты, например, можно загрузить такой файл, который выдаст на АЦПУ "HELLO WORLD", плюс большой подвал статистической информации:

ШИФР 419900^ОЗУ 1^ВРЕ 1^ВХО 1^ЕВ1
К 00 064 0003
К 00 074 0000
К 00 000 0005 00 000 0006
К 00 001 0000 10 000 0000
Б HELLO
Б WORLD
ЕКОНЕЦ

(буква Ш в слове "ШИФР" должна быть первым символом в файле) Здесь указывается индивидуальный код пользователя, в данном случае 4199 - это системный шифр (имя пользователя - "ОС ДИСПАК"),
заказ одной страницы ОЗУ (RAM), одной секунды времени выполнения, вход в слово 1, ввод содержимого памяти со слова 1, в виде "К"оманды системного вызова печати (064) с данными по адресу 3,
системного вызова конца задачи (074), указания печатать слова с 5 по 6 в виде текста, и собственно текст в "Б"уквенном виде, по 6 символов в слове.

[В те времена защищать паролем доступ к системному шифру в академических организациях не было необходимости.]

Подскажите пожалуйста как начать работу в терминале? В детстве начинал с Бейсика AppleII, ZXSpectrum и командной строки MSDOS.  

В принципе, совсем диалоговые системы программирования, в которых можно было прямо сразу что-то написать и запустить, примерно как на бейсике,
существовали, например, реализация языка https://en.wikipedia.org/wiki/POP-2 (ПОПЛАН). В статье английской википедии БЭСМ-6 даже упомянута.
У нас он есть (что обнаружилось после 20 лет обладания образом диска, потому что на реальной машине иметь с ним дело не приходилось, и видя в образе диска куски программы на POP-2, мы не понимали, что это такое),
 и мне удалось его запустить автономно, но нужны доработки.

Вообще трудно представляю как пользователи БЕСМ могли править например программку на фортране и запустить на счет с разными входными данными. Подскажите где подсмотреть? 

Для многих пользователей, особенно приходящих в вычислительные центры из сторонних организаций, стандартным режимом были перфокарты, на которых изменять входные данные было тривиально.

В наших целях, когда входной файл редактируется современными средствами, разницы между "перфокартами" и "перфолентой" нет,
а в эмуляторе ввод с перфоленты работает более устойчиво. Лица с доступом к терминалу могли вводить текст программы в диалоговом построчном редакторе
с командами типа "вставить", "удалить", "заменить", "выдать на экран" по номерам строк.

К сожалению, для работы в КРАБе нужны нетривиальные администраторские действия. После кончины автора КРАБа Н. В. Макарова-Землянского наиболее актуальная практика по работе с ним,
наверное, есть у А. Ильина.

Возможно, стоит начать с заведения собственного шифра (user id). Задумайте четырехзначное число, которое будет вашим шифром (например 2023), далее (регистр вводимых букв неважен):
СЕРП 4199
ИТМ И ВТ. С Е Р П: ВЕР.15/ 23.02.88
ЧТО- ФИО 
= (тут можно ввести задуманное число и посмотреть, существует ли уже аккаунт с таким шифром)
= 2023 ваше имя (в имени, включая пробелы, должно быть не более 12 символов; цифры в имени не допускаются)
2023  ВАШЕ ИМЯ
= ЗАП
ПАРОЛЬ- 02610 (вводимый пароль не отображается, будьте осторожны)
При успешном вводе пароля:

 ЗАПИСЬ НА СИСТЕМНЫЙ МД
   СООБЩИТЕ СИСТЕМНОМУ ПРОГРАММИСТУ
       ТЕРМ=01    ШИФР  419999
 ЕСТЬ
При неудаче:
 КОНЕЦ СЕАНСА

Завершение работы с программой СЕРП:
= КНЦ
Leo

Leo B.

unread,
Feb 8, 2023, 1:51:39 PM2/8/23
to БЭСМ-6
On Wednesday, February 8, 2023 at 9:39:49 AM UTC-8 oxy...@gmail.com wrote:
ReedCat, видать чего-то у меня в SIMH НЕТ
не подскажете что добавить и откуда взять?

 ЭBM-3,T002

ВЦПП

 HET

Никаких задач пользователей в решении нет.

НОМ4199

 HET

В очереди тоже никаких задач нет (пока очередь небольшая, аргумент у команды НОМ не нужен)

СКВ12345

 ЗHET

СКВ без аргументов выдает общее состояние очереди (там будут все нули), с аргументом-номером элемента в очереди - его состояние.

Leo

Alex Loktionoff

unread,
Feb 8, 2023, 2:04:42 PM2/8/23
to БЭСМ-6
О! спасибо. Вопросы я понимаю элементарные... но без этого запустить что-то в эмуляторе - никак!

среда, 8 февраля 2023 г. в 19:51:39 UTC+1, Leo B.:

Leo B.

unread,
Feb 8, 2023, 2:09:01 PM2/8/23
to БЭСМ-6
On Wednesday, February 8, 2023 at 9:44:00 AM UTC-8 oxy...@gmail.com wrote:
В общих смысл этой ротацию понимаю. ДИСПАК позволяет ставить задачи на исполнение только оператору?

Ставить на исполнение задачи, поданные оператору на физических носителях (перфолента, перфокарты) - разумеется, только оператору. 

Грубо говоря, состояние пользовательского терминала при подключении к машине с выдаваемой строкой "ЭBM-3,T002" недалеко ушло от приглашения типа tty02 login: в юниксе.

На login: нужно говорить свой user id (и пароль), отчего запустится сконфигурированная для этого пользователя командная оболочка (шелл).
То, что Диспак позволяет посмотреть какие-то детали состояния системы до логина - редкая щедрость. Или можно провести такую параллель: в юниксе можно создать аккаунт
"vcpp", у которого в качестве шелла задано "/bin/ps a"; тогда в ответ на login: vcpp будет выдаваться состояние процессора, и не более того.

В Диспаке было два варианта входа в систему - или сказать имя "шелла" и свой user id (и пароль, если был), или вызвать один из многопользовательских "шеллов"
и сообщить свой user id уже внутри него. А далее уже можно было делать то, что предусмотрено конкретной оболочкой - не только программирование,
но и разные игры, наприммер.

Leo

Alex Loktionoff

unread,
Feb 8, 2023, 2:29:52 PM2/8/23
to БЭСМ-6
Огромное спасибо, Leo!  Это многое обьясняет.
Серп у меня какой-то 'тупой' наверно, взятый из поставки SIMH.
Может знаете что не так?

  2048 - 00

 08.02.99   19.56.00

 1HMБ-01234567     2HMБ-34567      

  PEC:  1710

 ECTЬ

 ДATA:08.02.93 BPEMЯ:19.57.00

 ЧП(001) 419900000000 19.56 M=000

 CM1П:00.00.ЭBM-3  ДATA:08.02.93 BPEMЯ:19.57.00  000.00

СЕРП 4199

 Ф001-5 419900000000

 Ф001

ИTM И BT. C E P П: BEP.15/ 23.02.88

ЧTО- АЛОКТИОН

 HET ПPОГP AЛОKTИ

ЧTО- 

Перфолента вероятно загрузилась, только вывода в файле out.txt я не у видел :(
что пошло не так?

  2048 - 00

 08.02.99   20.27.00

 1HMБ-01234567     2HMБ-34567      

  PEC:  1710

 ECTЬ

 ДATA:08.02.93 BPEMЯ:20.27.00

 CM1П:00.00.ЭBM-3  ДATA:08.02.93 BPEMЯ:20.27.00  000.00

ФС8

 Л075-4 419900000000

 KЗ(075) 419900000000 20.27 M=000

ДАИ А0

 HШИФ

ДАИ А0 4199

 HШИФ


среда, 8 февраля 2023 г. в 19:44:13 UTC+1, Leo B.:

Leo B.

unread,
Feb 8, 2023, 2:45:08 PM2/8/23
to БЭСМ-6
On Wednesday, February 8, 2023 at 11:29:52 AM UTC-8 oxy...@gmail.com wrote:
Огромное спасибо, Leo!  Это многое обьясняет.
Серп у меня какой-то 'тупой' наверно, взятый из поставки SIMH.
Может знаете что не так?

Конечно, знаю. :)

СЕРП 4199

 Ф001-5 419900000000

 Ф001

ИTM И BT. C E P П: BEP.15/ 23.02.88

ЧTО- АЛОКТИОН

На приглашение ЧТО- нужно говорить "ФИО" (ровно эти три буквы), а собственно имя задавать в ответ на приглашение "знак равенства", после четырехзначного числа.
(Забыл сказать - первые цифры 41 зарезервированы для системных применений).

ФС8

 Л075-4 419900000000

Программа успешно ввелась с перфоленты (Л), попала на буфер ввода под номером 75, ей был назначен 4-й класс приоритета.

 KЗ(075) 419900000000 20.27 M=000

Программа успешно завершилась по Концу Задачи в 20.27, коэффициент мультипрограммности 0 (что и неудивительно, раз она была единственная). 

ДАИ А0

 HШИФ

ДАИ А0 4199

 HШИФ

Насколько я знаю, в русском языке в повелительном наклонении глагола "дать" последняя буква - И краткое (Й).

Leo

Sergey Ryzhkov

unread,
Feb 8, 2023, 2:55:41 PM2/8/23
to be...@googlegroups.com
Господа, не путайте и не пугайте человека. Расскажите лучше как запустить задачу через Краб и в нем же посмотреть результаты. Все эти перфоленты совсем мимо кассы, так в жизни никто не делал при наличии доступа к терминалу.

Кстати, вроде в Фортрах ведь был канал форматного ввода вывода привязанного к терминалу? Или я путаю.  Как то совсем давно это было.


ср, 8 февр. 2023 г., 19:29 Alex Loktionoff <oxy...@gmail.com>:
--
Данное сообщение отправлено Вам, как участнику группы "БЭСМ-6":
http://groups.google.com/group/besm6/topics
---
Вы получили это сообщение, поскольку подписаны на группу "БЭСМ-6".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес besm6+un...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/f67818f7-b10f-46fa-a02a-0c52a29abfa3n%40googlegroups.com.

Alex Loktionoff

unread,
Feb 8, 2023, 3:00:12 PM2/8/23
to БЭСМ-6
c *NIX я знаком, это понятая аналогия /*но в RT11 на CM1420 тоже был логин ;)*/
общими усилиями у меня хоть что-то получается:
 - в консоли оператора запустил СЕРП 4199 и пока он запущен
 - в консоли пользователя запустил СЕРП 4199 и пока он запущен
 - в новой консоли пользователя набрал НОМ 4199 и вижу _ДВА_ сеанса!

 ЭBM-3,T003

НОМ 4199

 419900000000  001

 419900000000  002

среда, 8 февраля 2023 г. в 20:09:01 UTC+1, Leo B.:

Sergey Ryzhkov

unread,
Feb 8, 2023, 3:01:42 PM2/8/23
to be...@googlegroups.com
Еще можете ВЦПП набрать теперь.

ср, 8 февр. 2023 г., 20:00 Alex Loktionoff <oxy...@gmail.com>:
--
Данное сообщение отправлено Вам, как участнику группы "БЭСМ-6":
http://groups.google.com/group/besm6/topics
---
Вы получили это сообщение, поскольку подписаны на группу "БЭСМ-6".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес besm6+un...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/79c1e383-8671-4f57-9f76-c03a41e6204an%40googlegroups.com.

Alex Loktionoff

unread,
Feb 8, 2023, 3:05:37 PM2/8/23
to БЭСМ-6
Ура! она по-русски понимает

ФС8

 Л075-4 419900000000

 KЗ(075) 419900000000 21.01 M=000

ДАЙ А0

 ECTЬ

и cat output.txt  выдает:

 СБО,ВВЕДИ ПО ИНС    +000000000000e+00    0000000000000000

  АП   Э     РК    И1    И2    И3    И4    И5    И6    И7    И10   И11   И12   И13   И14   И15   И16   И17   КРА  ЗПСЧ

77777 77777 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000

ДАТА РЕШ.  ВЕРСИЯ 117 СМЕ  НАЧ.ВВОДА   НАЧ. РЕШ.   КОН. РЕШ.   КОМ.ВРЕМ. Э.РЕШ. Э.ВВ.  ОСТ.ЭКС.    ОСТ.ЛИМ.    ОСТ.ДЕЖ. ОСТ.Б

 08.02.09   06.12.88   1    19.53.18    00.00.00    19.55.59    00.00.00  03    0-0

 ОС ДИСПАК                         ОЗУ ТРАКТЫ ВРЕМ.РЕШ. КАТЕГ. АЦПУ   ВУ   ТРВ    ПИ    ПЛ  ТЕРМ   МБ    МД    МЛ  ПРМЗОН

                      ЗАКАЗАНО:  0000   000    00.02.43      100.00

 ЭМУЛЯТОР            ИСПОЛЬ-НО:  0000   000    00.00.00      000.30  0000 00000  0000  0000 0001 000000 00000 00000 00000

 БОБ:

                         419900000000   З00

 0                       *ОС ДИСПАК   *                  S= 0000          000.00.01   0005

                                                                                  ИТМ И ВТ ИМ.С.А.ЛЕБЕДЕВА АН СССР И ВЦ АН СССР

                                                 *АЦПУ-0  ЭВМ-3  21.01.40*

********************************************************************************************************************************

5555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555



среда, 8 февраля 2023 г. в 20:45:08 UTC+1, Leo B.:

Leo B.

unread,
Feb 8, 2023, 3:05:42 PM2/8/23
to БЭСМ-6
On Wednesday, February 8, 2023 at 12:00:12 PM UTC-8 oxy...@gmail.com wrote:
c *NIX я знаком, это понятая аналогия /*но в RT11 на CM1420 тоже был логин ;)*/
общими усилиями у меня хоть что-то получается:
 - в консоли оператора запустил СЕРП 4199 и пока он запущен
 - в консоли пользователя запустил СЕРП 4199 и пока он запущен
 - в новой консоли пользователя набрал НОМ 4199 и вижу _ДВА_ сеанса!

 ЭBM-3,T003

НОМ 4199

 419900000000  001

 419900000000  002

Ну да, их и есть два (задача пропадает из буфера ввода только в конце выполнения). Ещё можно сказать СКВ 1 или СКВ 2 для
выдачи состояния конкретного сеанса, а если сказать ВЦПП или особенно КТО, ещё красивее получится.

 Leo

Alex Loktionoff

unread,
Feb 8, 2023, 3:13:23 PM2/8/23
to БЭСМ-6
о да!!! в консоли оператора:

ВЦПП

   T2 419900000000 41    00.00.00 00.02.43  5 050 Э71  

   T3 419900000000 42    00.00.00 00.02.43  5 050 Э71  

КТО

   T2 419900000000 41 ОC ДИCПAK    ЗCF  CEPП  

   T3 419900000000 42 ОC ДИCПAK    ЗCF  CEPП  

СКВ 1

   T2 419900000000 41    00.00.00 00.02.43  5 050 Э71  

СКВ 2

   T3 419900000000 42    00.00.00 00.02.43  5 050 Э71 


среда, 8 февраля 2023 г. в 21:05:42 UTC+1, Leo B.:

Leo B.

unread,
Feb 8, 2023, 3:14:37 PM2/8/23
to БЭСМ-6
On Wednesday, February 8, 2023 at 12:05:37 PM UTC-8 oxy...@gmail.com wrote:
Ура! она по-русски понимает

ФС8

 Л075-4 419900000000

 KЗ(075) 419900000000 21.01 M=000

ДАЙ А0

 ECTЬ

и cat output.txt  выдает:

 СБО,ВВЕДИ ПО ИНС    +000000000000e+00    0000000000000000

Это остатки буфера вывода от предыдущих запусков эмулятора. Если Диспак при старте системы обнаруживал на буфере ввода какие-то элементы в состоянии "в решении", он про них печатал
"СБОй, ВВЕДИ ПО ИНСтрукции". Для диалоговых задач оператору ничего не нужно было делать, а для пакетных - или ввести колоду перфокарт заново (по умолчанию). или не вводить, если это было указано явно.

Там дальше должна быть выдача с "КОНЕЦ ЗАДАЧИ".  Ещё можно для идентификации заменять два нуля в "ШИФР 419900" на что-нибудь другое, или вообще писать любое 12-значное число, начинающееся с 4199.
После заведения собственного шифра можно заменить 4199 на него, и видеть свое имя в распечатке и выдаче команды КТО.

Leo

Alex Loktionoff

unread,
Feb 8, 2023, 3:20:09 PM2/8/23
to БЭСМ-6
Почему у меня СЕРП не хочет пользователя добавлять? Что у меня не так?

 ЭBM-3,T004

СЕРП 4199

 Ф003

ИTM И BT. C E P П: BEP.15/ 23.02.88

ЧTО- АЛОКТИ

 HET ПPОГP AЛОKTИ

ЧTО- 


среда, 8 февраля 2023 г. в 19:44:13 UTC+1, Leo B.:
On Wednesday, February 8, 2023 at 9:25:39 AM UTC-8 oxy...@gmail.com wrote:

Leo B.

unread,
Feb 8, 2023, 3:23:33 PM2/8/23
to БЭСМ-6
On Wednesday, February 8, 2023 at 11:55:41 AM UTC-8 Сергей Рыжков wrote:
Господа, не путайте и не пугайте человека. Расскажите лучше как запустить задачу через Краб и в нем же посмотреть результаты. Все эти перфоленты совсем мимо кассы, так в жизни никто не делал при наличии доступа к терминалу.

КРАБ требует специального человека со специальной подготовкой для администрирования; для индивидуальной работы с терминала нужно что-то более гуманное. Да и смотреть результаты в файле output.txt с шириной 128 символов, видя
на большом экране много-много строк гораздо удобнее, чем в "Видеотоне" 16х80.

Кстати, вроде в Фортрах ведь был канал форматного ввода вывода привязанного к терминалу? Или я путаю.  Как то совсем давно это было.

Был. Но диалоговые программы удобнее писать на Паскале, пожалуй.

Leo

Leo B.

unread,
Feb 8, 2023, 3:25:54 PM2/8/23
to БЭСМ-6
On Wednesday, February 8, 2023 at 12:20:09 PM UTC-8 oxy...@gmail.com wrote:
Почему у меня СЕРП не хочет пользователя добавлять? Что у меня не так?

Ещё раз, в третий раз, медленно: НА ПРИГЛАШЕНИЕ ЧТО- НУЖНО ОТВЕЧАТЬ ТРЕМЯ БУКВАМИ "ФИО" - Фёдор, Иван, Ольга.

Alexander ILIN

unread,
Feb 8, 2023, 3:33:01 PM2/8/23
to БЭСМ-6
Господа. Кто хочет подключиться к нашему эмулятору на ВМК. Пишите мне. Там по, крайней мере, я отвечаю за работоспособность.
Ильин А.П. Телефон указан http://it.museum-ic.ru/

среда, 8 февраля 2023 г. в 20:00:14 UTC+3, oxy...@gmail.com:

Alex Loktionoff

unread,
Feb 8, 2023, 4:13:24 PM2/8/23
to БЭСМ-6
О! понятно, а то я свои инициалы вводил (facepalm)
Удалось добавить пользователя, даже с консоли программиста!
Теперь я могу запускать например СЕРП под своим аккаунтом /*лог консоли оператора*/:

 3,T001

 Ф001-5 419900000000

 ЗAПИCЬ HA CИCTEMHЫЙ MД

   CООБЩИTE CИCTEMHОMУ ПPОГPAMMИCTУ

       TEPM=02    ШИФP  419900

 Ф001-5 191400000000

 3,T001

КТО

   T2 191400000000 41 AЛОKTИ       ЗCF  CEPП  


А какие shell-ы были?  Как можно посмотреть какие shell-ы/программы у меня есть на диске?
среда, 8 февраля 2023 г. в 21:25:54 UTC+1, Leo B.:

Serge Vakulenko

unread,
Feb 8, 2023, 4:35:54 PM2/8/23
to БЭСМ-6
Как запустить задачу через КРАБ - можно глянуть в скрипте besm6-run.expect. Примерно так:

краб
- нач
KTО? 1234       - четыре цифры вашего идентификаторя пользователя (шифра)
KЛЮЧ? фывапр    - ваш пароль
- унч мойф      - cтираем старую версию файла, если осталась
- имя мойф      - создаём файл и вводим текст
- доп           - "дописываем" последующий текст в буфер ввода
* строка1
* строка2
* ...
* строкаN
*               - шлём пустую строку, чтобы завершить ввод
- зап           - записываем введённый текст в файл
- фор пз шиф 123400567890   - формируем задачу с указанным шифром
- где           - ждём окончания задачи
ОKОHЧИЛACЬ ЗAДAЧA ...
- лис           - запрашиваем листинг
ЛИC*шаг 9999
*нов 1-128
*выд
.........       - получаем листинг
.........
*кон            - заканчиваем работу с листингом
-кон            - выходим их Краба

Но вначале надо завести пользователя, как упомянул Лёня.

--Сергей

Leo Broukhis

unread,
Feb 8, 2023, 4:38:49 PM2/8/23
to БЭСМ-6
Из "Больших" (многопользовательских) шеллов из имеющихся у нас и пригодных к использованию у нас имеется только один - краб. 

Из однопользовательских есть PULT (в нем можно писать и тут же исполнять программы на диалекте Паскаля) и ДИМИП (диалоговый монитор индивидуального пользования), в котором можно было редактировать тексты и запускать их на выполнение.




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

Serge Vakulenko

unread,
Feb 8, 2023, 5:12:07 PM2/8/23
to БЭСМ-6
ДИМИП я пытался освоить, даже инструкцию по нему доформатировал, но что-то с ним не так. Или я не понимаю.


--Сергей

Alex Loktionoff

unread,
Feb 8, 2023, 5:32:12 PM2/8/23
to БЭСМ-6
Лично мне импонирует разобраться во многопользовательском шеле.
Полагаю так в свое время работали коллективы программистов.
Ну и перспективно может запустить где-нибудь эмулятор с публичным доступом...
Что было популярно в 80-е КРАБ или ДИМИП? Можно ссылочку, как начать в них работать?

Пока разбираюсь с КРАБ в SIMH, но пичалька:
терминал программиста:

 ЭBM-3,T002

КРАБ 1914

 Ф001

 ** K  P  A  Б **  (BEP.19 ОT 27.11.92)

 

HE CПATЬ!

 

консоль оператора:

 CM1П:00.00.ЭBM-3  ДATA:08.02.93 BPEMЯ:23.19.00  000.00

 Ф001-5 419999000000

  

  

  I---------------------------------------I

  I  C T A P T   C И C T E M Ы   K P A Б  I

  I  BPEMЯ  23.19.16                      I

  I  ДATA   08.02.23                      I

  I---------------------------------------I

  

  

 Ф075-4 419998999997  0202

  ОШИБKA B ЗОHE CTПACП

  KОHTPОЛЛEP BЫKЛЮЧEH


Это-ж надо, так это не шутка!?? Мой отец рассказывал анекдот про ЕС-ки 
Они постоянно умирали "спи спокойно, дорогой товарищ..." и программеры спокойно шли в курилку...
А на БЕСМ все время надо было работать, я думал что это шутка что БЕСМ говорила не спать :D
  
среда, 8 февраля 2023 г. в 22:38:49 UTC+1, Леонид Брухис:

Leo B.

unread,
Feb 8, 2023, 6:30:24 PM2/8/23
to БЭСМ-6
ДИМИПов у нас два: 

один на 2048 (СБор), зона 44  - он более или менее "стандартный", с выдачей "УС.КТ" и "ВОЙДИ" в начале, текстом "ДИМИП-МКП" в кодах, и пр.
другой на 2248 (альт. СВС), зона 55 - в него впихнуто ещё что-то, так что "ненужные" сообщения ликвидированы. 

В эмуляторе Диспака ни один не формирует задачи, потому что наш эмулятор не умеет формировать задачи с внешних носителей,
 и даже не диагностирует эти попытки как нереализованные (потому что сначала у нас был только "2148", на котором вообще ДИМИПа не было). 
Это я поправлю. А вот что там с работой с подчиненными задачами, и почему перехват выдачи у меня не работал даже в SIMH - неясно. 

В память о Н. Гайдаренко надо когда-нибудь их дизассемблировать. Кстати, ноги у языка макропроцессора PAGEN в нём растут из какой-то операционки от DEC (RSX или RSTS).

Leo


Michael Yaroslavtsev

unread,
Feb 8, 2023, 6:48:57 PM2/8/23
to be...@googlegroups.com
On Wed, Feb 8, 2023 at 3:30 PM Leo B. <leo...@gmail.com> wrote:
ДИМИПов у нас два: 

один на 2048 (СБор), зона 44  - он более или менее "стандартный", с выдачей "УС.КТ" и "ВОЙДИ" в начале, текстом "ДИМИП-МКП" в кодах, и пр.
другой на 2248 (альт. СВС), зона 55 - в него впихнуто ещё что-то, так что "ненужные" сообщения ликвидированы. 

В эмуляторе Диспака ни один не формирует задачи, потому что наш эмулятор не умеет формировать задачи с внешних носителей,
 и даже не диагностирует эти попытки как нереализованные (потому что сначала у нас был только "2148", на котором вообще ДИМИПа не было). 
Это я поправлю. А вот что там с работой с подчиненными задачами, и почему перехват выдачи у меня не работал даже в SIMH - неясно. 
Не вызывает ли он ЛИСТ 66-ым экстракодом? 

В память о Н. Гайдаренко надо когда-нибудь их дизассемблировать. Кстати, ноги у языка макропроцессора PAGEN в нём растут из какой-то операционки от DEC (RSX или RSTS).

Leo


On Wednesday, February 8, 2023 at 2:12:07 PM UTC-8 Serge Vakulenko wrote:
ДИМИП я пытался освоить, даже инструкцию по нему доформатировал, но что-то с ним не так. Или я не понимаю.


--Сергей


On Wednesday, February 8, 2023 at 1:38:49 PM UTC-8 Леонид Брухис wrote:
Из "Больших" (многопользовательских) шеллов из имеющихся у нас и пригодных к использованию у нас имеется только один - краб. 

Из однопользовательских есть PULT (в нем можно писать и тут же исполнять программы на диалекте Паскаля) и ДИМИП (диалоговый монитор индивидуального пользования), в котором можно было редактировать тексты и запускать их на выполнение.

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


--
Thanks,
-- Michael

Leo B.

unread,
Feb 8, 2023, 9:23:36 PM2/8/23
to БЭСМ-6
On Wednesday, February 8, 2023 at 3:48:57 PM UTC-8 BOPOHOK wrote:
On Wed, Feb 8, 2023 at 3:30 PM Leo B. <leo...@gmail.com> wrote:
ДИМИПов у нас два: 

один на 2048 (СБор), зона 44  - он более или менее "стандартный", с выдачей "УС.КТ" и "ВОЙДИ" в начале, текстом "ДИМИП-МКП" в кодах, и пр.
другой на 2248 (альт. СВС), зона 55 - в него впихнуто ещё что-то, так что "ненужные" сообщения ликвидированы. 

В эмуляторе Диспака ни один не формирует задачи, потому что наш эмулятор не умеет формировать задачи с внешних носителей,
 и даже не диагностирует эти попытки как нереализованные (потому что сначала у нас был только "2148", на котором вообще ДИМИПа не было). 
Это я поправлю. А вот что там с работой с подчиненными задачами, и почему перехват выдачи у меня не работал даже в SIMH - неясно. 
Не вызывает ли он ЛИСТ 66-ым экстракодом? 

Как ты мог такое про Колю подумать? Только Э62 41, только хардкор!

Начнём с простого: один из двух Димипов пользуется экстракодом формирования с внешнего носителя так, как это предписано инструкцией -
тот, который находится на 2248:



- ПPИ ФOPMИPOBAHИИ C MAГHИTHOГO ДИCKA:
CM: 48-40 PP. = 772B;

39-34 PP. - ЛOГИЧECKИЙ HOMEP MД, HA KOTOPOM PACПOЛOЖEH
TEKCT ФOPMИPYEMOЙ ЗAДAЧИ;

33-22 PP. - HOMEP ЗOHЫ, B KOTOPOЙ HAЧИHAETCЯ TEKCT;

21-16 PP. - ЧИCЛO ЗOH, ЗAHЯTЫX TEKCTOM ЗAДAЧИ;

15- 1 PP. - AДPEC YПPABЛЯЮЩEГO CЛOBA (C) ИЛИ (ПPИ ФOP-
MИPOBAHИИ БEЗ PEДAKTИPOBAHИЯ) HOЛЬ;

(с барабана тот же ключ 772 в старших разрядах, а для номера тракта берутся только 5 разрядов).

А именно, пишет текст в сегмент: ИС Э70 = 0000 3400 0040 0001
и выдаёт экстракод формирования с кодом на сумматоре 772 40 0001 01 02402
Т. е. ровно то, что требуется: НУ 40, зона 1, длина 1, ошибки формирования в 02402

Другой же - на СБоровском 2048 - пишет на барабан (с виду НУ 06, зона 0): ИС Э70 = 0000 3400 0106 7740
и выдает экстракод с кодом на сумматоре 772 00 0001 30 02366

Так что они были принципиально несовместимы; видимо, ещё какая-то разница между Диспаками для БЭСМ-6 и для СВС есть, что заставило экономить слова.

Leo

Michael Yaroslavtsev

unread,
Feb 9, 2023, 12:31:15 AM2/9/23
to be...@googlegroups.com
Читай В1К.bemsh.

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


--
Thanks,
-- Michael

Василий Долматов

unread,
Feb 9, 2023, 12:42:59 AM2/9/23
to be...@googlegroups.com


> 8 февр. 2023 г., в 23:23, Leo B. <leo...@gmail.com> написал(а):
Не в «Фортрах», а в «Фортране-ГДР» и именно в нем.

Да, 54-й канал - был терминалом.
> Был. Но диалоговые программы удобнее писать на Паскале, пожалуй.

Это ты Бауле расскажи. :) который написал свой диалоговый «Информатор» на Фортране.
а когда вклеил туда стрелялку клингонов (опять-таки на Фортране) так парализовал МГУ на год-два :)


> dol@


Leo B.

unread,
Feb 9, 2023, 2:48:35 AM2/9/23
to БЭСМ-6
On Wednesday, February 8, 2023 at 9:42:59 PM UTC-8 ReedCat wrote:
Да, 54-й канал - был терминалом.
> Был. Но диалоговые программы удобнее писать на Паскале, пожалуй.

Это ты Бауле расскажи. :) который написал свой диалоговый «Информатор» на Фортране.
а когда вклеил туда стрелялку клингонов (опять-таки на Фортране) так парализовал МГУ на год-два :)

Простите, а с каких это пор сам факт, что что-то конкретное было сделано на Фортране, 
стал свидетельством против утверждения, что на Паскале это что-то делать удобнее?

Л - логика.

Leo

Leo B.

unread,
Feb 9, 2023, 3:15:53 AM2/9/23
to БЭСМ-6
On Wednesday, February 8, 2023 at 6:23:36 PM UTC-8 Leo B. wrote:

Так что они были принципиально несовместимы; видимо, ещё какая-то разница между Диспаками для БЭСМ-6 и для СВС есть, что заставило экономить слова.
 
Короче, тот ДИМИП, который на СБоровском 2048, под SIMH работает, задачи формирует, но с подчинёнными, похоже, работает неустойчиво (виснет в ожидании .какого-то события, когда ПЗ остановлена), и буфер вывода подчинённой всегда пуст.

Впрочем, для быстрого создания собственной "файловой системы", редактирования файлов, и запуска их на счёт с просмотром результата средствами хозяйской ОС он вполне годится.

ДИМИП с диска 2248 в SIMH выходит на приглашение, после чего асинхронно (без каких-либо действий со стороны пользователя) падает по контролю команды. А в эмуляторе Диспака в нём можно по крайней мере редактировать файлы.

Leo


Василий Долматов

unread,
Feb 9, 2023, 4:35:41 AM2/9/23
to 'Кирилл Кобелев' via БЭСМ-6


9 февр. 2023 г., в 10:48, Leo B. <leo...@gmail.com> написал(а):
З - зануда… :)

 и это свойство, вообще-то, зарезервировано за мной… :) 

Leo


Alex Loktionoff

unread,
Feb 9, 2023, 4:51:36 AM2/9/23
to БЭСМ-6
Я бы хотел, чтоб в этой теме были по возможности _конкретные_ советы как "молодому" поколению начать работать в БЭСМ6 SIMH.
Иначе никто дальше чем неонок с 117 ЖДУ  не пойдет.
Я за эти дни с Вашей помощью уже приобрел опыт, впервые за свою практику работы с компьютером мне было трудно/лень переключатся на латинский регистр, а до этого было все время наоборот... есть над чем подумать.

Помогите пожалуйста, разобраться что не так с КРАБом:

Ф075-4 419998999997  0202

  ОШИБKA B ЗОHE CTПACП

  KОHTPОЛЛEP BЫKЛЮЧEH

Если нужно запустить программу с иного диска, пожалуйста дайте инструкции, как это сделать /*я без малейшего понятия, пока ;)*/  
У меня диски https://github.com/besm6/besm6.github.io.git download/disks

БЭСМ-6 simulator V4.0-0 Current        git commit id: 7c3b293e

Logging to file "./log.txt"

./dispak.ini-2> set console debug=log

%SIM-INFO: Debug output to "./log.txt"

./dispak.ini-14> attach -n drum0 drum1x.bin

%SIM-INFO: DRUM0: creating new file: drum1x.bin

./dispak.ini-15> attach -n drum1 drum2x.bin

%SIM-INFO: DRUM1: creating new file: drum2x.bin

./dispak.ini-20> attach -n md06 2052.bin

%SIM-INFO: MD06: creating new file: 2052.bin

%SIM-INFO: MD06: formatting disk volume 2052

./dispak.ini-34> attach -n prn0 output.txt

%SIM-INFO: PRN0: creating new file: output.txt

./dispak.ini-41> attach tty2 4199

%SIM-INFO: Listening on port 4199

Кстати заметил, что неподмонтировался перфоратор - не вижу в логе, может поэтому имею пустышку в output.txt?

СБО,ВВЕДИ ПО ИНС    +000000000000e+00    0000000000000000

В конфиге у меня стоит:

attach -n prn0 output.txt                                                       

attach -t fs0 input.txt 

Может глючная версия SIMH ?


Подскажите что надо сделать что начать в терминале подготавливать программы на ФОРТРАНе и или АВТОКОДЕ.

Пожалуйста



четверг, 9 февраля 2023 г. в 09:15:53 UTC+1, Leo B.:

Alex Loktionoff

unread,
Feb 9, 2023, 4:58:46 AM2/9/23
to БЭСМ-6
У меня похоже запустился ДИМИП, только я не знаю какие команды можно вводить.
Подскажите пожалуйста как скомпилировать ФОРТРАН/АВТОКОД

 ЭBM-3,T002

ДИМИП 4199

 Ф001

УC.KT

 

10 55 09.02.83Г          БИБЛ:       ФAЙЛ       

УC.KT


четверг, 9 февраля 2023 г. в 10:51:36 UTC+1, Alex Loktionoff:

Василий Долматов

unread,
Feb 9, 2023, 5:31:27 AM2/9/23
to be...@googlegroups.com


9 февр. 2023 г., в 12:58, Alex Loktionoff <oxy...@gmail.com> написал(а):

У меня похоже запустился ДИМИП, только я не знаю какие команды можно вводить.
Проблема в том, что в ДИМИПе из присутствующих тут никто и не работал (если я не ошибаюсь).
Я его видел только «из рук автора»… 
Как подсказывает мне мой склероз:

УС.КТ - это требование указать место каталога библиотеки ДИМИПА.

поскольку ее у вас еще нет, ее понадобится создать. (это скорее всего устройство и начальная зона (возможно и количество отведенных на библиотеку зон)).

после того, как создадите библиотеку, в ней можно будет создавать файлы с пакетами задач (паспорт+программа+данные). 
файлы эти можно будет редактировать средствами встроенного редактора ДИМИПа, а затем командой запускать на выполнение.

по синтаксису команд - не подскажу ничего, поскольку сам не работал, а показывали мне эту программу 35 лет назад минимум. 

есть еще тонкость, автор ДИМИПа был фанатом эффективности и компактности программы, поэтому, «встроенного хелпа» по командам там может и не быть. 
а есть ли где-нибудь в хозяйстве дока по нему - не знаю, может подскажет кто из тех, кто детально разбирал содержимое соответствующих дисков. 

чем могу… :( 

dol@

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

Sergey Ryzhkov

unread,
Feb 9, 2023, 5:53:18 AM2/9/23
to be...@googlegroups.com
Если ничего не получается, попробуй прочитать инструкцию..


https://www.besm6.org/wiki/DIMIP-manual


чт, 9 февр. 2023 г., 10:31 Василий Долматов <vdol...@gmail.com>:
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/0B98147A-C10A-4289-A5D5-AB64DA98F787%40gmail.com.

Sergey Ryzhkov

unread,
Feb 9, 2023, 5:56:15 AM2/9/23
to be...@googlegroups.com
Она, к сожалению, невопматирована. То есть форматирована (видимо руками) в самом начале.

чт, 9 февр. 2023 г., 10:53 Sergey Ryzhkov <sir...@gmail.com>:

Василий Долматов

unread,
Feb 9, 2023, 9:18:04 AM2/9/23
to be...@googlegroups.com


9 февр. 2023 г., в 13:53, Sergey Ryzhkov <sir...@gmail.com> написал(а):

Если ничего не получается, попробуй прочитать инструкцию..


https://www.besm6.org/wiki/DIMIP-manual

вооот… ура, я знал! :)

Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/CALUV2czq6ESXEXkcEgmZ63NLNBvbGdUTe7h8kEtR3sYnhCZzCg%40mail.gmail.com.

Alex Loktionoff

unread,
Feb 9, 2023, 10:14:55 AM2/9/23
to БЭСМ-6
Я только начал заглублятся... ТОМ, ЗОНА... для меня темный лес /*пока*/
Подскажите знатоки, что в моем случае вводить?

БЭСМ-6 simulator V4.0-0 Current        git commit id: 7c3b293e

Logging to file "./log.txt"

./dispak.ini-2> set console debug=log

%SIM-INFO: Debug output to "./log.txt"

./dispak.ini-14> attach -n drum0 drum1x.bin

%SIM-INFO: DRUM0: creating new file: drum1x.bin

./dispak.ini-15> attach -n drum1 drum2x.bin

%SIM-INFO: DRUM1: creating new file: drum2x.bin

./dispak.ini-20> attach -n md06 2052.bin

%SIM-INFO: MD06: creating new file: 2052.bin

%SIM-INFO: MD06: formatting disk volume 2052

./dispak.ini-34> attach -n prn0 output.txt

%SIM-INFO: PRN0: creating new file: output.txt

./dispak.ini-41> attach tty2 4199

%SIM-INFO: Listening on port 4199

Подозреваю, что ТОМ должен быть МД06 ? Только не будет ли он переформатирован и при следующем запуске SIMH все пропадет?

В терминале пользователя имею, только пока без малейшего понятия что ввести, извиняюсь, я только учусь...

 ЭBM-3,T002

ДИМИП 1914

 Ф001

УC.KT


четверг, 9 февраля 2023 г. в 15:18:04 UTC+1, ReedCat:

Alex Loktionoff

unread,
Feb 9, 2023, 10:50:54 AM2/9/23
to БЭСМ-6
Подскажите версию simh, у кого работает ввод задания с перфоленты?
Может есть тестик какой-то на ввод сперфоратора чтоб запустить с пульта и пройти по шагам?
Кстати в MacOSX у себя немогу вывести содержимое регистра сумматора, и на неонках его найти немогу...
тут https://www.besm6.org/wiki/SIMH-manual.html про дамп регистров ничего нет :(
четверг, 9 февраля 2023 г. в 10:51:36 UTC+1, Alex Loktionoff:
Я бы хотел, чтоб в этой теме были по возможности _конкретные_ советы как "молодому" поколению начать работать в БЭСМ6 SIMH.

Leo B.

unread,
Feb 9, 2023, 1:05:54 PM2/9/23
to БЭСМ-6
Где-то какая-то странная ошибка. Вот тут https://github.com/besm6/besm6.github.io/blob/master/wiki/DIMIP-manual.md
всё читается прекрасно.

Leo B.

unread,
Feb 9, 2023, 1:41:57 PM2/9/23
to БЭСМ-6
Краткое введение в теорию внешних носителей БЭСМ-6: как таковой файловой системы в современном понимании ОС ДИСПАК не было (т. н. "Архивно-файловую систему АРФА" как сильно позднейшую разработку пока опустим).

Работа на уровне пользователя штатно велась с лентами и дисками, называемыми по номерам, назначаемым в момент разметки (форматирования) носителя, к которым обращались с запросами на чтение/запись по номерам зон (блоков по 1 Кслов - 6 Кбайт каждый). Десятичные номера лент были от 1 до 2047, номера дисков - от 2048 до 4095. Номера зон традиционно указывались в восьмеричном виде.

Чтобы каждый раз не говорить "диск или лента", используется слово "том" (англ. volume).
Диски ставились на дисковые накопители. В эмуляторе они называются "mdXY" где X - 0 или 4, а Y - от 0 до 7.

Для удобства создания новых носителей в эмуляторе предусмотрен ключ "-n". Если он указан, то номер тома, с которым  будет размечен файл, берётся из имени файла, и файл размечается перед монтированием на устройство.
Допустим, вам нужно создать диск 2914. Запускаем просто "besm6", на приглашение говорим "attach md00 -n 2914"; потом "q".
Созданный файл с именем 2914 переименовываем, если хочется, как угодно, после чего в dispak.ini добавляем

attach mdNN имя_образа_2914

где N - какое-нибудь из свободных устройств (ещё не упомянутых в командах attach в dispak.ini) из диапазона 00-07 или 40-47.

При запуске системы должно появиться сообщение "2049 - NN"

Дальше с этим диском можно делать что угодно. Например, экспериментировать в ДИМИПе согласно инструкции https://github.com/besm6/besm6.github.io/blob/master/wiki/DIMIP-manual.md (начать с раздела 6.2.9 для создания личного архива). 

Также есть возможность просматривать и редактировать диски в "двоичном редакторе" в системе СЕРП: на приглашение "ЧТО-" ответить "ПРОЗ", далее назвать номер тома и номер зоны,
на приглашение ВЫДАТЬ- можно называть номера слов (восьмеричные) или диапазоны через дефис, или формат выдачи (С - слова, К - команды, БА - байты), и т. п. Подробности в https://github.com/besm6/besm6.github.io/blob/master/wiki/SERP-manual.md

Leo

Leo B.

unread,
Feb 9, 2023, 2:01:14 PM2/9/23
to БЭСМ-6
On Thursday, February 9, 2023 at 7:50:54 AM UTC-8 oxy...@gmail.com wrote:
Подскажите версию simh, у кого работает ввод задания с перфоленты?

Методика ввода с перфоленты следующая: когда хочется что-то ввести, на консоли SIMH нажимается ctrl-E, на приглашение sim> говорится "at -t fs0 имя-файла", потом "go";
ДИСПАКу говорится "ФС8". При этом "перфолента" исчерпывается, и устройство становится пустым. 

Чтобы ввести (исправленный) файл снова, "перфоленту" нужно снова "заправить в устройство", т. е. снова сказать "at -t fs0 имя-файла".

Из этого следует, что писать в dispak.ini команду установки файла на устройство ввода с перфоленты имеет смысл, только если эмулятор запускается для выполнения ровно одной задачи.

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

Все регистры выводятся командой "ex cpu state"; по-отдельности, похоже, не работает -  у SIMH проблемы с русскими буквами. 

Я так погляжу, гораздо эффективнее будет однажды соединиться по google meet, чтобы всё объяснить интерактивно. :)
 
Leo

Alex Loktionoff

unread,
Feb 9, 2023, 3:54:03 PM2/9/23
to БЭСМ-6
За краткое введение отдельное спасибо!
Вот так инструмент этот СЕРП и пользователя создать и диск сдампить и сообщение послать 

 ЭBM-3,T002

СЕРП 1914

 Ф001

ИTM И BT. C E P П: BEP.15/ 23.02.88

ЧTО- ПРОЗ

TОM- 2914

ЗОHA(8)- 0

BЫДATЬ- 0

0000) 00000000 00000000    00 000 0000 00 000 0000   000000   

0001) 00000000 00000000    00 000 0000 00 000 0000   000000   

0002) 00000000 00000001    00 000 0000 00 000 0001   000001   

0003) 00000000 00000000    00 000 0000 00 000 0000   000000   

0004) 00000000 00000000    00 000 0000 00 000 0000   000000   

0005) 77777777 77777777    17 37 77777 17 37 77777   

0006) 77777777 77777777    17 37 77777 17 37 77777   

0007) 77777777 77777777    17 37 77777 17 37 77777   

0010) 77777777 77777777    17 37 77777 17 37 77777   

0011) 77777777 77777777    17 37 77777 17 37 77777   

0012) 77777777 77777777    17 37 77777 17 37 77777   

0013) 77777777 77777777    17 37 77777 17 37 77777   

0014) 77777777 77777777    17 37 77777 17 37 77777   

0015) 77777777 77777777    17 37 77777 17 37 77777   

ИДTИ?


четверг, 9 февраля 2023 г. в 19:41:57 UTC+1, Leo B.:

Leo B.

unread,
Feb 10, 2023, 11:14:33 PM2/10/23
to БЭСМ-6
On Wednesday, February 8, 2023 at 9:42:59 PM UTC-8 ReedCat wrote:

Это ты Бауле расскажи. :) который написал свой диалоговый «Информатор» на Фортране.
 
Кстати о Бауле. Он, вообще, доступен? У него ничего, часом, не сохранилось в бумажном виде? В т. ч. какая-нибудь документация?

Leo

Alexander ILIN

unread,
Feb 11, 2023, 3:36:58 AM2/11/23
to be...@googlegroups.com
С ним общается А. В. Гуляев. И судя по всему, у него ничего нет.

сб, 11 февр. 2023 г., 07:14 Leo B. <leo...@gmail.com>:
--
Данное сообщение отправлено Вам, как участнику группы "БЭСМ-6":
http://groups.google.com/group/besm6/topics
---
Вы получили это сообщение, поскольку подписаны на одну из тем в группе "БЭСМ-6".
Чтобы отменить подписку на эту тему, перейдите по ссылке https://groups.google.com/d/topic/besm6/WfIQqvmNAUY/unsubscribe.
Чтобы отменить подписку на эту группу и все ее темы, отправьте письмо на электронный адрес besm6+un...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/317a1035-30f6-4f32-abf1-89373d88b10en%40googlegroups.com.

Leo B.

unread,
Feb 13, 2023, 10:41:18 PM2/13/23
to БЭСМ-6
В ДИМИПе работает перехват собственного выходного потока - после правки тривиального недосмотра в реализации экстракода перехвата выдачи на АЦПУ в коде "мини-Диспака" и добавления заглушек к паре экстракодов (остановка/завершение подчиненной задачи, которые при перехвате собственного выходного потока выдаются вхолостую).

Например, после создания файла из одной строки "рекурсия", нескольких повторений команд "печ" и "б" (перехват), потом завершающего "печ" и выхода, получаем следующую распечатку:

 БИБЛ:       ФАЙЛ           1       19 29 13.02.83Г                                           2


    1  БИБЛ: ФАЙЛ 1 19 29 13.02.83Г 2
    2  1 РЕКУРСИЯ
    3  БИБЛ: ФАЙЛ 1 19 29 13.02.83Г 2
    4  1 БИБЛ: ФАЙЛ 1 19 29 13.02.83Г 2
    5  2 1 РЕКУРСИЯ
    6  3
    7  БИБЛ: ФАЙЛ 1 19 29 13.02.83Г 2
    8  1 БИБЛ: ФАЙЛ 1 19 29 13.02.83Г 2
    9  2 1 РЕКУРСИЯ
   10  3 БИБЛ: ФАЙЛ 1 19 29 13.02.83Г 2
   11  4 1 БИБЛ: ФАЙЛ 1 19 29 13.02.83Г 2
   12  5 2 1 РЕКУРСИЯ
   13  6 3
   14  7
   15  БИБЛ: ФАЙЛ 1 19 29 13.02.83Г 2
   16  1 БИБЛ: ФАЙЛ 1 19 29 13.02.83Г 2
   17  2 1 РЕКУРСИЯ
   18  3 БИБЛ: ФАЙЛ 1 19 29 13.02.83Г 2
   19  4 1 БИБЛ: ФАЙЛ 1 19 29 13.02.83Г 2
   20  5 2 1 РЕКУРСИЯ
   21  6 3
   22  7 БИБЛ: ФАЙЛ 1 19 29 13.02.83Г 2
   23  8 1 БИБЛ: ФАЙЛ 1 19 29 13.02.83Г 2
   24  9 2 1 РЕКУРСИЯ
   25  10 3 БИБЛ: ФАЙЛ 1 19 29 13.02.83Г 2
   26  11 4 1 БИБЛ: ФАЙЛ 1 19 29 13.02.83Г 2
   27  12 5 2 1 РЕКУРСИЯ
   28  13 6 3
   29  14 7
   30  15
   31

Реализовать многозадачность в эмуляторе Диспака для полноценной имитации рабочего процесса теоретически возможно, но трудоёмко.

Leo

Alex Loktionoff

unread,
Feb 17, 2023, 4:14:02 PM2/17/23
to БЭСМ-6
Помогите, пожалуйста, разобраться с эмулятором пользовательского режима ДИСПАК /*я бы назвал его пара-виртуализацией*/ https://github.com/besm6/dispak.git

Хочется запускать свои программы в машинных, кодах.

В тестах есть примеры заданий, например dispak/tests/pprog01/pprog01.b6

Что это за формат?  Ввод с перфоленты?

Шапка понятна, не пойму, зачем здесь команды с пульта? Могут быть только комманды ввода с пульта и запуск на исполнение?

@Leo можете сюда кинуть примерчик только в двоичных кодах, полный файл hello.b6, готовый для запуска?

  



вторник, 14 февраля 2023 г. в 04:41:18 UTC+1, Leo B.:

Alex Loktionoff

unread,
Feb 17, 2023, 4:23:53 PM2/17/23
to БЭСМ-6

шифр 419999^

трак 64^

лент 30(2048-6200)^

ацп 40^

росп 0^

врем 240^

лист 0-37^

вход 4000^

е

в 4000

к 00 010 4003

к 15 24 04000

к 00 066 0001 00 000 0100

с 3000 67

в 14000

а1

ввд$$$^

*^

* Пультовая программа #1: тест управления.                      ^

* Ограниченная проверка УУ и БРУС без МОЗУ и АУ.                ^

*                                                               ^

* Проверка выполнения отдельных операций, связанных             ^

* с модификаторами. Проверка модификаторов М1, М2, МЗ и         ^

* сумматора адреса в режиме счетчика путем сложения             ^

* прямого и дополнительного кодов.                              ^

*                                                               ^

* При останове в результате ненулевой суммы при сложении в M1   ^

* находится прямой, а в М2 дополнительный код, давшие           ^

* ненулевую сумму.                                              ^

*^

начало  старт   1               ^

        уиа     0(2)            ^

        пв      повтор(1)       ^

повтор  слиа    -1(1)           ^

        слиа    -1(2)           ^


пятница, 17 февраля 2023 г. в 22:14:02 UTC+1, Alex Loktionoff:

Michael Yaroslavtsev

unread,
Feb 17, 2023, 5:44:28 PM2/17/23
to be...@googlegroups.com
On Fri, Feb 17, 2023 at 1:14 PM Alex Loktionoff <oxy...@gmail.com> wrote:
Помогите, пожалуйста, разобраться с эмулятором пользовательского режима ДИСПАК /*я бы назвал его пара-виртуализацией*/ https://github.com/besm6/dispak.git

Хочется запускать свои программы в машинных, кодах.

В тестах есть примеры заданий, например dispak/tests/pprog01/pprog01.b6

Так это БЕМШ (ассемблер).
Этот пакет ассемблирует программу на БЕМШе без записи программы куда-либо и печатает листинг.
Вот минимальный пакет в кодах.
шифр 419999^

росп 0^
врем 240^
лист 0-37^
вход 1^
е
в1
к 00 010 0001 00 000 0002
к 00 074 0000
е
еконец
  • Считывает слово по адресу 1
  • Записывает сумматор по адресу 2
  • Завершает задачу

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


--
Thanks,
-- Michael

Leo B.

unread,
Feb 17, 2023, 5:53:38 PM2/17/23
to БЭСМ-6
On Friday, February 17, 2023 at 1:14:02 PM UTC-8 oxy...@gmail.com wrote:
Помогите, пожалуйста, разобраться с эмулятором пользовательского режима ДИСПАК /*я бы назвал его пара-виртуализацией*/ https://github.com/besm6/dispak.git

Хочется запускать свои программы в машинных, кодах.

В тестах есть примеры заданий, например dispak/tests/pprog01/pprog01.b6

Что это за формат?  Ввод с перфоленты?


Формат вводимого пакета таков:  после завершения паспорта задачи (ШИФР... Е)
следует один или несколько "массивов данных ввода", каждый из которых завершается символом Е (*), затем слово КОНЕЦ.

Каждый массив данных ввода начинается директивой В<адрес>, указывающей начальный адрес массива, за которым следует последовательность 
спецификаций данных.
Спецификации данных бывают следующие:
К - командное слово (одна или две команды, 9 или 18 восьмеричных цифр), допускаются пробелы-разделители
С - слово данных (16 восьмеричных цифр), допускаются пробелы-разделители
Б - слово данных в текстовом формате, кодировка ГОСТ-10859, ровно 6 символов
Ч - десятичное число с плавающей точкой
При использовании вышеперечисленного в одном массиве могли быть несколько групп ввода со своими адресами.

А<n> - потоковые текстовые данные, n - тип
А0 - ввод в кодировке ИТМ (безумие, основанное на телетайпном коде МТК-2), используется автокодом ИТМ
А1 - ввод в кодировке ГОСТ (используется автокодом БЕМШ)
Признак конца потока для А0 и А1 - диграф _$
A2, A4 - не помню (возможно, для какой-то совместимости с БЭСМ-4); на моей практике не использовались. 
A3, A5 - ввод битовых образов перфокарт (А5 - с автоматическим распознаванием кодировки и преобразованием в ГОСТ/УПП). Для них адрес ввода для проформы должен был быть указан как 1,
а вводились они по одной карте экстракодом Э60 в любое место памяти. Признак конца ввода по А3/А5 - карта "диспетчерский конец" (все пробивки в 1-й и 4-й колонках), в эмуляторе диспака имитируется строкой ``````
(начало ввода по А3 он понимает самостоятельно). 
В SIMH, где сырые данные, подаваемые на вводимое устройство, должны быть уже отформатированы, переключение между потоком символов и образами перфокарт делается с помощью метасимвола ctrl-] (group separator, ASCII 035).

Спецификация А должна была быть или последней (А0, А1), или вообще единственной (А3, А5) в своём массиве ввода.

При вводе с перфоленты "образ карты" - это ровно 120 байтов. Таким образом, ввод с перфокарт и с перфоленты в ОС Диспак были совершенно взаимозаменяемы.

(*) При использовании "стандартного паспорта", в котором содержится начало массива данных, нужны две буквы Е подряд для завершения как собственно паспорта, так и начатого в нём массива. Отсюда и заклинание ЕЕВ1А3

Шапка понятна, не пойму, зачем здесь команды с пульта? Могут быть только комманды ввода с пульта и запуск на исполнение?

@Leo можете сюда кинуть примерчик только в двоичных кодах, полный файл hello.b6, готовый для запуска?

ШИФР 419900^
ОЗУ 1^
ВРЕ 1^
ВХО 1^
Е
В1
К 00 064 0003
К 00 074 0000
C 0000 0005 0000 0006
К 00 070 0000 10 000 0000
БПРИВЕТ
Б ВСЕМУ
ЕКОНЕЦ

Leo

Alex Loktionoff

unread,
Feb 17, 2023, 6:02:03 PM2/17/23
to БЭСМ-6
СПАСИБО, это многое обьясняет
заработало

пятница, 17 февраля 2023 г. в 23:53:38 UTC+1, Leo B.:

Alex Loktionoff

unread,
Feb 17, 2023, 6:04:54 PM2/17/23
to БЭСМ-6
вот это да, низачто бы не подумал, что это АССЕМБЛЕР
ведь это просто список пультовых команд - "тумблеры"

пятница, 17 февраля 2023 г. в 23:44:28 UTC+1, BOPOHOK:

Leo B.

unread,
Feb 17, 2023, 6:43:49 PM2/17/23
to БЭСМ-6
On Friday, February 17, 2023 at 3:04:54 PM UTC-8 oxy...@gmail.com wrote:
вот это да, низачто бы не подумал, что это АССЕМБЛЕР
ведь это просто список пультовых команд - "тумблеры"

Ну так сначала команды - для загрузки БЕМШа в память и передачи управления на него, а потом уже собственно текст на ассемблере, с символом ^ в качестве разделителя строк за неимением стандартного в кодировке ГОСТ 10859.

Michael Yaroslavtsev

unread,
Feb 17, 2023, 9:19:06 PM2/17/23
to be...@googlegroups.com


On Fri, Feb 17, 2023 at 2:53 PM Leo B. <leo...@gmail.com> wrote:
...
а вводились они по одной карте экстракодом Э60 в любое место памяти. Признак конца ввода по А3/А5 - карта "диспетчерский конец" (все пробивки в 1-й и 4-й колонках),
В 1-й и 41-й. 
в эмуляторе диспака имитируется строкой ``````
(начало ввода по А3 он понимает самостоятельно). 
В SIMH, где сырые данные, подаваемые на вводимое устройство, должны быть уже отформатированы, переключение между потоком символов и образами перфокарт делается с помощью метасимвола ctrl-] (group separator, ASCII 035).

Спецификация А должна была быть или последней (А0, А1), или вообще единственной (А3, А5) в своём массиве ввода.

При вводе с перфоленты "образ карты" - это ровно 120 байтов. Таким образом, ввод с перфокарт и с перфоленты в ОС Диспак были совершенно взаимозаменяемы.

(*) При использовании "стандартного паспорта", в котором содержится начало массива данных, нужны две буквы Е подряд для завершения как собственно паспорта, так и начатого в нём массива. Отсюда и заклинание ЕЕВ1А3

Шапка понятна, не пойму, зачем здесь команды с пульта? Могут быть только комманды ввода с пульта и запуск на исполнение?

@Leo можете сюда кинуть примерчик только в двоичных кодах, полный файл hello.b6, готовый для запуска?

ШИФР 419900^
ОЗУ 1^
ВРЕ 1^
ВХО 1^
Е
В1
К 00 064 0003
К 00 074 0000
C 0000 0005 0000 0006
К 00 070 0000 10 000 0000
БПРИВЕТ
Б ВСЕМУ
ЕКОНЕЦ

Leo

--
Данное сообщение отправлено Вам, как участнику группы "БЭСМ-6":
http://groups.google.com/group/besm6/topics
---
Вы получили это сообщение, поскольку подписаны на группу "БЭСМ-6".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес besm6+un...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/186357ef-290e-4153-92cf-8698e81fdf08n%40googlegroups.com.


--
Thanks,
-- Michael

Leo B.

unread,
Feb 17, 2023, 10:04:11 PM2/17/23
to БЭСМ-6
On Friday, February 17, 2023 at 6:19:06 PM UTC-8 BOPOHOK wrote:


On Fri, Feb 17, 2023 at 2:53 PM Leo B. <leo...@gmail.com> wrote:
...
а вводились они по одной карте экстракодом Э60 в любое место памяти. Признак конца ввода по А3/А5 - карта "диспетчерский конец" (все пробивки в 1-й и 4-й колонках),
В 1-й и 41-й. 

Я же так и набирал! Куда делась та единица? Как сейчас принято говорить, проклятая автозамена! :)

Leo

Alex Loktionoff

unread,
Feb 20, 2023, 2:37:52 AM2/20/23
to БЭСМ-6
Теперь хочется еще больше...
- возможно ли в эмуляторе ДИСПАК скопмпилировать текст в МАДЛЕН и запустить его? /* вывод ГДРовского фортрана*/
- есть аналогичный вопрос для вывода ФОРЕКСа, чем его скомпилировать?
- можно в шапке поменять вывод ГДРовского/ФОРЕКСа чтоб выводили все в одну колонку? для copy&paste ;)
- а можно МАДЛЕН не только запускать но еще и выводить листинг, чтоб было видать все адреса, куда что легло?

Киньте пожалуйста пример шапочек ДИСПАКа сюда для начинающих...

пятница, 17 февраля 2023 г. в 23:53:38 UTC+1, Leo B.:
On Friday, February 17, 2023 at 1:14:02 PM UTC-8 oxy...@gmail.com wrote:

Василий Долматов

unread,
Feb 20, 2023, 4:01:38 AM2/20/23
to be...@googlegroups.com
это все не ДИСПАК… это все внутри МС Дубна (паспорт Диспака ЗС2 или ЗСМ)


20 февр. 2023 г., в 10:37, Alex Loktionoff <oxy...@gmail.com> написал(а):

Теперь хочется еще больше...
- возможно ли в эмуляторе ДИСПАК скопмпилировать текст в МАДЛЕН и запустить его? /* вывод ГДРовского фортрана*/
*assembler - говорит о том, что дальше идет текст на Мадлене

- есть аналогичный вопрос для вывода ФОРЕКСа, чем его скомпилировать?
*forex - говорит о том, что дальше идет текст на ФОРЕКС
*ftn - говорит о том, что дальше текст на Фортране-ГДР
*algol - говорит о том, что дальше идет текст на Алголе-ГДР

в одном пакете можно смешивать модули на разных языках произвольно. 

- можно в шапке поменять вывод ГДРовского/ФОРЕКСа чтоб выводили все в одну колонку? для copy&paste ;)
- а можно МАДЛЕН не только запускать но еще и выводить листинг, чтоб было видать все адреса, куда что легло?
а смысл? МС Дубна создает объектники для _динамического_ загрузчика, то есть «адресов» там не будет, только _смещения_. 
но какая-то команда была, я ее не помню потому как в работе была бессмысленна, разок попробовал посмотреть - и все. :)


Киньте пожалуйста пример шапочек ДИСПАКа сюда для начинающих…
шапочка во всех случаях одна и та же - запустить МС Дубна. 
если видел листинг Фротрана-ГДР, то, значит, успешно ее уже запускал. 
-- 
Данное сообщение отправлено Вам, как участнику группы "БЭСМ-6":
http://groups.google.com/group/besm6/topics
--- 
Вы получили это сообщение, поскольку подписаны на группу "БЭСМ-6".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес besm6+un...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/3695fc7b-5053-4b9d-b363-5c80e2364f60n%40googlegroups.com.

Alex Loktionoff

unread,
Feb 20, 2023, 4:51:24 AM2/20/23
to БЭСМ-6
Я хочу попробовать написать компилятор, ну или по крайней мере переписать на ассемблер WHETS и посмотреть сколько можно _было_  выжать из БЭСМ FLOPSов. 
Для этого хочу писать свой текст на МАДЛЕН, компилировать его на БЭСМ эмуляторе, запускать, сравнивать его дамп.
Благодаря помощи Leo и Michael программы на фортране компилировать и запускать могу, но хочется уже свой код генерировать на МАДЛЕН...
Помогите пожалуйста 

понедельник, 20 февраля 2023 г. в 10:01:38 UTC+1, ReedCat:

Василий Долматов

unread,
Feb 20, 2023, 5:02:24 AM2/20/23
to be...@googlegroups.com


20 февр. 2023 г., в 12:51, Alex Loktionoff <oxy...@gmail.com> написал(а):

Я хочу попробовать написать компилятор, ну или по крайней мере переписать на ассемблер WHETS и посмотреть сколько можно _было_  выжать из БЭСМ FLOPSов. 
Для этого хочу писать свой текст на МАДЛЕН, компилировать его на БЭСМ эмуляторе, запускать, сравнивать его дамп.
Благодаря помощи Leo и Michael программы на фортране компилировать и запускать могу, но хочется уже свой код генерировать на МАДЛЕН...
Помогите пожалуйста 
так поставьте *assem вместо *ftn 
и гоните дальше текст на MADLEN

PROGRAM:,NAME, 1000
 , XTA, =I10
 ,A+X, =I2
 , ATX, RESULT
….
 ,*74,
RESULT:,BSS,1
,END,

ну, что-то в этом роде :) уж плохо помню :)

только не забывайте про ведущий пробел и эти запятые… 
как же меня в свое время это доставало, даже на БЕМШ ушел…


Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/10080753-6e5f-4fa0-9100-067e13dc78fbn%40googlegroups.com.

Leo B.

unread,
Feb 20, 2023, 11:55:38 AM2/20/23
to БЭСМ-6
On Sunday, February 19, 2023 at 11:37:52 PM UTC-8 oxy...@gmail.com wrote:
Теперь хочется еще больше...
- возможно ли в эмуляторе ДИСПАК скопмпилировать текст в МАДЛЕН и запустить его? /* вывод ГДРовского фортрана*/


- есть аналогичный вопрос для вывода ФОРЕКСа, чем его скомпилировать?

Нет, вывод ФОРЕКСа по команде *FULL с виду похож на БЕМШ, но чисто иллюстративный. 
С другой стороны, зачем этот промежуточный вывод отдельно компилировать? Компилятор всегда порождает объектный модуль.
 
- можно в шапке поменять вывод ГДРовского/ФОРЕКСа чтоб выводили все в одну колонку? для copy&paste ;)

Да, команда *SUPER включает вывод в одну колонку, но длинные строки всё равно будут заворачиваться.  Как этого избежать, увы, не знаю.

- а можно МАДЛЕН не только запускать но еще и выводить листинг, чтоб было видать все адреса, куда что легло?

Если не писать *NO LIST, то будет выводиться листинг. Если написать вместо него *SUPER, то будут выводиться и адреса, и слова в восьмеричном виде.
 

Киньте пожалуйста пример шапочек ДИСПАКа сюда для начинающих...

Попробуйте посмотреть на примеры в  https://github.com/besm6/besm6.github.io/blob/master/wiki/examples/

Leo

Leo B.

unread,
Feb 20, 2023, 12:09:11 PM2/20/23
to БЭСМ-6
On Monday, February 20, 2023 at 1:51:24 AM UTC-8 oxy...@gmail.com wrote:
Я хочу попробовать написать компилятор, ну или по крайней мере переписать на ассемблер WHETS и посмотреть сколько можно _было_  выжать из БЭСМ FLOPSов. 

Для существенно вычислительных программ типа whetstone, вроде бы, сильно лучше ФОРЕКСа не сделать. Индексы циклов на регистры он ставит, общие подвыражения
оптимизирует, инварианты из циклов выносит... 

Для этого хочу писать свой текст на МАДЛЕН, компилировать его на БЭСМ эмуляторе, запускать, сравнивать его дамп.

По аналогии с компиляцией и запуском программы на фортране, если вместо "*ftn; текст на фортране" написать "*assembler; текст на ассемблере", то получится.
В качестве main по умолчанию выступает входная точка с именем PROGRAM; это можно изменить командой "*main имя" перед *execute.

Leo

Sergey Ryzhkov

unread,
Feb 20, 2023, 12:37:57 PM2/20/23
to be...@googlegroups.com
Насколько я помню, , program на самом деле при старте ничего не делает отличного от обычной функции без параметров. Так что в качестве альтернативы можно говорить "call program или *call имя, где имя любая, фортрановская, процедура без параметров. Если при этом в подпрограмме нет stop, а есть return то произойдет возврат в мониторку, таким образом можно запускать несколько программ в одном пакете.

*call prog1
*call prog2
*read old

Еще при разборе директиве используются только 6 символов имени (параметры отдельно). Короткие имена дополняются пробелами до 6 символов. Например

*full list
и
*full

это одно и то же. В общем длинные команды можно не вводить полностью.

пн, 20 февр. 2023 г., 17:09 Leo B. <leo...@gmail.com>:
--
Данное сообщение отправлено Вам, как участнику группы "БЭСМ-6":
http://groups.google.com/group/besm6/topics
---
Вы получили это сообщение, поскольку подписаны на группу "БЭСМ-6".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес besm6+un...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/75d354a0-f1a4-4b0d-9824-e2a30a0e34ccn%40googlegroups.com.

Alex Loktionoff

unread,
Feb 20, 2023, 12:41:13 PM2/20/23
to БЭСМ-6
Совершенно верно  https://github.com/besm6/besm6.github.io/blob/master/wiki/examples/madlen.b6 пример очень короткой программы на мадлен, а тут https://github.com/besm6/besm6.github.io/blob/master/wiki/examples/ftn-primes.b6 если присмотреться хороший пример как линковать программу на фортране и ассемблере.
У меня начало получатся.
copy&paste вывода из ГДРовского фортрана копмилируется, только ругается что не линкуются процедуры форматированного вывода.
Вывод forex-а не компилируется МАДЛЕН, закалдобистый формат какой-то, с оптимизацией у него чуток получше я вижу /*но куча РЖА - ГДР как-то без них обходился, ну и в dispak/tests/forex/output.run видно не удалось ему констаты вынести из цикла*/.
Но работать удобней с ГДР, а на текст FOREXа буду поглядывать одним глазом. Свой компилятор это очень большой замах /*хотя делал курсовую когда-то :D*/, мне бы сейчас цикл выдать на МАДЛЕН из уже захадкоженного AST :D.

PS
видел упоминания, что FOREX был быстрее ~10% но глючней, на всякий случай на будущее, есть примерчики программ где эти баги можно найти сравнением выходов?
понедельник, 20 февраля 2023 г. в 17:55:38 UTC+1, Leo B.:

Sergey Ryzhkov

unread,
Feb 20, 2023, 12:45:14 PM2/20/23
to be...@googlegroups.com
При вызове через *call name можно после : можно указать параметры через запятую. Например

*call name:47,test1

Забыл как называется, та подпрограмма (она вроде в резидентной части мониторки) которая, параметры разбирает, типа param*, из Фортрана ее вызвать нельзя, но можно написать переходник на Мадлене.

пн, 20 февр. 2023 г., 17:37 Sergey Ryzhkov <sir...@gmail.com>:

Sergey Ryzhkov

unread,
Feb 20, 2023, 12:52:39 PM2/20/23
to be...@googlegroups.com
У Форекса было много версий, он в какой то момент сильно улучшился в плане оптимизации. Какая версия у нас - не знаю. Константы он точно умел выносить в последних версиях. Еще важно, что полная оптимизация включается, явно. Обязательно говорить что то вроде *fulloptimisation или *fullo. Но точно директиву могу не помнить.




пн, 20 февр. 2023 г., 17:41 Alex Loktionoff <oxy...@gmail.com>:
--
Данное сообщение отправлено Вам, как участнику группы "БЭСМ-6":
http://groups.google.com/group/besm6/topics
---
Вы получили это сообщение, поскольку подписаны на группу "БЭСМ-6".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес besm6+un...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/5377fcfe-cca8-45c3-a7e2-220a84f6453cn%40googlegroups.com.

Василий Долматов

unread,
Feb 20, 2023, 12:54:14 PM2/20/23
to be...@googlegroups.com


20 февр. 2023 г., в 20:41, Alex Loktionoff <oxy...@gmail.com> написал(а):

Совершенно верно  https://github.com/besm6/besm6.github.io/blob/master/wiki/examples/madlen.b6 пример очень короткой программы на мадлен, а тут https://github.com/besm6/besm6.github.io/blob/master/wiki/examples/ftn-primes.b6 если присмотреться хороший пример как линковать программу на фортране и ассемблере.
У меня начало получатся.
copy&paste вывода из ГДРовского фортрана копмилируется, только ругается что не линкуются процедуры форматированного вывода.
Вывод forex-а не компилируется МАДЛЕН, закалдобистый формат какой-то, с оптимизацией у него чуток получше я вижу /*но куча РЖА - ГДР как-то без них обходился, ну и в dispak/tests/forex/output.run видно не удалось ему констаты вынести из цикла*/.
Но работать удобней с ГДР, а на текст FOREXа буду поглядывать одним глазом. Свой компилятор это очень большой замах /*хотя делал курсовую когда-то :D*/, мне бы сейчас цикл выдать на МАДЛЕН из уже захадкоженного AST :D.

PS
видел упоминания, что FOREX был быстрее ~10% но глючней, на всякий случай на будущее, есть примерчики программ где эти баги можно найти сравнением выходов?

глюки были… но это было очень давно… и у Форекса были версии, в которых они что-то «переоптимизировали»  и начали глючить очень много программ.
но все это было оооочень давно и никто тогда не думал сохранять эти глюки для истории…
работать надо было… 

мы после нескольких таких залетов у себя в лаборатории решили, что «лучшее - враг хорошего» и лабораторным стандартом стал *FTN
и за дальнейшей эволюцией Форекса уже и не особо следили: «веры нет» :)

понедельник, 20 февраля 2023 г. в 17:55:38 UTC+1, Leo B.: 
On Sunday, February 19, 2023 at 11:37:52 PM UTC-8 oxy...@gmail.com wrote:
Теперь хочется еще больше...
- возможно ли в эмуляторе ДИСПАК скопмпилировать текст в МАДЛЕН и запустить его? /* вывод ГДРовского фортрана*/


- есть аналогичный вопрос для вывода ФОРЕКСа, чем его скомпилировать?

Нет, вывод ФОРЕКСа по команде *FULL с виду похож на БЕМШ, но чисто иллюстративный. 
С другой стороны, зачем этот промежуточный вывод отдельно компилировать? Компилятор всегда порождает объектный модуль.
 
- можно в шапке поменять вывод ГДРовского/ФОРЕКСа чтоб выводили все в одну колонку? для copy&paste ;)

Да, команда *SUPER включает вывод в одну колонку, но длинные строки всё равно будут заворачиваться.  Как этого избежать, увы, не знаю.

- а можно МАДЛЕН не только запускать но еще и выводить листинг, чтоб было видать все адреса, куда что легло?

Если не писать *NO LIST, то будет выводиться листинг. Если написать вместо него *SUPER, то будут выводиться и адреса, и слова в восьмеричном виде.
 

Киньте пожалуйста пример шапочек ДИСПАКа сюда для начинающих...

Попробуйте посмотреть на примеры в  https://github.com/besm6/besm6.github.io/blob/master/wiki/examples/

Leo

Alex Loktionoff

unread,
Feb 20, 2023, 1:03:46 PM2/20/23
to БЭСМ-6
Что-то не выходит каменный цветок:

*NАМЕ FОRЕХ

           *САLL УЕSМЕМОRУ

           *     NО LISТ

           *FULLОРТIМIZАТIОN

ILLЕGАL SУSТЕМ САRD

           *FULL LISТ

           *SУSТЕМ LОАD LISТ

           *FОRЕХ

                   FОRЕХ*      01770

                   LО*SУN      22654


понедельник, 20 февраля 2023 г. в 18:52:39 UTC+1, Сергей Рыжков:

Василий Долматов

unread,
Feb 20, 2023, 1:09:39 PM2/20/23
to be...@googlegroups.com
вот я тоже в первый раз о такой карте услышал. 
но… 

кто-то помнится смотрел в переключатель системных карт МС?
может там найдется кандидат? был какой-то бустер оптимизации для Форекса, был… :)


вот то, что там есть *NO OPT и *OPTIM - помню точно… 
но это выключение/включение стандартной оптимизации, а речь не о ней…

кстати, для FTN  были еще *INDEX и *NO IND
которые включали/выключали проверки выхода индекса за границы массива.


20 февр. 2023 г., в 21:03, Alex Loktionoff <oxy...@gmail.com> написал(а):

Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/19239c6e-963d-47ff-8f20-31886119e944n%40googlegroups.com.

Mikhail Popov

unread,
Feb 20, 2023, 1:47:37 PM2/20/23
to be...@googlegroups.com
Забыл как называется, та подпрограмма (она вроде в резидентной части мониторки) которая, параметры разбирает, типа param*,


программа называется PRARMT*  исходники в монитерной системе
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/CALUV2cw1fVJL1-vVtxMuspCMyGAuP-xxxmrKYtzOUgARshRMMA%40mail.gmail.com.

Sergey Ryzhkov

unread,
Feb 20, 2023, 1:50:06 PM2/20/23
to be...@googlegroups.com
Я вот и писал, что "вроде", там было не full optimisation, а что то
другое вместо Full, byfxt gthtctrflkcm c full list.

пн, 20 февр. 2023 г. в 18:09, Василий Долматов <vdol...@gmail.com>:
> Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/5BC4F311-4683-4C9D-88B8-E6E91A47D3E3%40gmail.com.

Sergey Ryzhkov

unread,
Feb 20, 2023, 1:51:49 PM2/20/23
to be...@googlegroups.com
Я вот и писал, что "вроде", там было не full optimization, а что то
другое вместо Full, иначе пересекалось с full list

пн, 20 февр. 2023 г. в 18:49, Sergey Ryzhkov <sir...@gmail.com>:

Alex Loktionoff

unread,
Feb 20, 2023, 1:55:30 PM2/20/23
to БЭСМ-6

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


*NАМЕ FОRЕХ

           *САLL УЕSМЕМОRУ

           *ОРТIМ

           *     NО LISТ

           *FULL LISТ

           *SУSТЕМ LОАD LISТ

           *ТRАNS:FОRЕХ3*,,411550


понедельник, 20 февраля 2023 г. в 19:51:49 UTC+1, Сергей Рыжков:

Sergey Ryzhkov

unread,
Feb 20, 2023, 2:24:36 PM2/20/23
to be...@googlegroups.com
А есть какое то описание к Форексу? Там точно должно быть про
включение оптимизации. По умолчанию он неполная у него.

пн, 20 февр. 2023 г. в 18:55, Alex Loktionoff <oxy...@gmail.com>:
> Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/e92cea63-6d94-44dc-8a25-04c5fe426d46n%40googlegroups.com.

Mikhail Popov

unread,
Feb 20, 2023, 4:18:07 PM2/20/23
to be...@googlegroups.com


В МС компиляторы управлялись флагами в REGIM, как это было:

 /NOOPT:,NAME,
 *REGIM//:,LC,.
 ,UTC,-C2
 /2/OPT:,ENTRY,
 ,UTC,C2-C1.
 /1/OPT:,ENTRY,
 ,UTC,C1.
 ,XTS,
 ,XTS,*REGIM//.
 ,UTC,=7777 7777 6077 7777
 ,AAX,
 L/W:,BSS,.
 15,AOX,.
 ,STX,*REGIM//.
 13,UJ,.
 C1:,LOG,100 0000
 C2:,LOG,200 0000
 ,END,           .

*CALL /NOOPT   без оптимизации
*CALL /1/OPT     простая оптимизация
*CALL /2/OPT     полная оптимизация
 
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/19239c6e-963d-47ff-8f20-31886119e944n%40googlegroups.com.

Василий Долматов

unread,
Feb 20, 2023, 4:20:09 PM2/20/23
to be...@googlegroups.com
«есть мнение» (с), что этот механизм в МС «Дубна» в Диспаке и в М-80 не переехал.


21 февр. 2023 г., в 00:17, Mikhail Popov <mikha...@gmail.com> написал(а):

Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/CAHBB7Y7dO%3DUPt%3DoeGthWvoMzDtMiL-L0KmWApFrY4x5%3Djv4LAw%40mail.gmail.com.

Mikhail Popov

unread,
Feb 20, 2023, 4:47:22 PM2/20/23
to be...@googlegroups.com
«есть мнение» (с), что этот механизм в МС «Дубна» в Диспаке и в М-80 не переехал.

оно кончно имеет место быть, но для того чтобе его изолитоват; надо было изменит компиляторы и убрать *REGIM// из монитора, на всё это есть большие сомнения

Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/77EB69EA-6004-4412-958F-76933E60C48D%40gmail.com.

Serge Vakulenko

unread,
Feb 20, 2023, 5:30:44 PM2/20/23
to БЭСМ-6
On Sunday, February 19, 2023 at 11:37:52 PM UTC-8 oxy...@gmail.com wrote:
- возможно ли в эмуляторе ДИСПАК скомпилировать текст в МАДЛЕН и запустить его? /* вывод ГДРовского фортрана*/

Можно, нет проблем. Смотрите пример ниже.
 
- а можно МАДЛЕН не только запускать но еще и выводить листинг, чтоб было видать все адреса, куда что легло?

Поставьте карту "*full list" до вызова Мадлена. После текста программы будет выдана таблица описаний, таблица ссылок и список неиспользованных идентификаторов.

Пример: берём программу на Фортране (файл fortran-gdr.b6 прилагается), транслируем в режиме *full list. Получаем fortran-gdr.txt (прилагается), в котором видим код на Мадлене.

Делаем файл madlen.b6 с этим кодом (прилагается). Пропускаем через dispak, получаем и листинг с адресами, и результат выполнения madlen.txt (прилагается).

--Сергей
fortran-gdr.txt
fortran-gdr.b6
madlen.b6
madlen.txt

Leo B.

unread,
Feb 20, 2023, 10:32:01 PM2/20/23
to БЭСМ-6
Константа *REGIM// в кодировке TEXT на 2048 имеется, а /NOOPT, /1/OPT и /2/OPT отсутствуют.

Кстати говоря, есть возможность дизассемблировать объектные модули:
Для объектного модуля, имеющегося во временной библиотеке (только что скомпилированного или считанного с диска командой *PERSO) или в постоянной (стандартной) библиотеке, можно выполнить

*LIBRARY:2
*CALL DTRAN(имя_модуля)
(здесь опционально команды управления дизассемблером, см. https://github.com/besm6/besm6.github.io/blob/master/wiki/Dtran-instr.md)
*ASSEMBLER
*READ:1

модуль будет дизассемблирован и реассемблирован снова.

Leo

Alex Loktionoff

unread,
Feb 22, 2023, 2:40:14 PM2/22/23
to БЭСМ-6
День добрый всем!
Дела у меня продвигаются, удалось скомпилировать пустышку на МАДЛЕНе,
Тут я хочу подчеркнуть для начинаюших, что код на МАДЛЕНЕ в задании должен начинатся с пробела иначе ДИСПАК не поймет что это сорцы видимо будет стараться распознать в них свои комманды ну и ничего хорошего из этого не получается.
Но опять таки растут хотелки... 
Уже хочеться дебажить, можно вставлять какой экстракод что он дампил регистры вот так очень даже красиво, только мне надо чтоб экстракод/процедура возвращался в программу и не портила регистров?

 00020: 00 074 0000 *74

  acc = 0000000000000000 Y = 0000000000000000 R = 000110        

       02362 20717 22731 00000 77770 22731 01002 22747

       00000 25301 02020 01770 00774 00000 75402

Интересно, почему стек аж на 75402??? Нельзя его поближе? Что то я в ГДР ФОРТРАНе пока не заметил как устанавливается стек?
И режим R = 000110 нормальный для ДУБНА? Не видел чтоб ГДР его менял? 

Привожу мою пустышку, на основе Leo, может кому пригодиться:

понедельник, 20 февраля 2023 г. в 23:30:44 UTC+1, serge.v...@gmail.com:
empty-madlen.tiff

Alex Loktionoff

unread,
Feb 22, 2023, 2:47:28 PM2/22/23
to БЭСМ-6
Leo, вы пробуждаете во мне невиданные аппетиты.
Вот мне захотелось подизасемблировать стандартные вункции вывода фортрана, но и не смог подключить библиотеку...
Подскажите пожалуйста...

  М О Н И Т О Р-8 0  (3.7)   25.09.84*       (  МС " Д У Б Н А " ИАЭ  )             ШИФР    419999000000

*NАМЕ DISАSМ

           *САLL УЕSМЕМОRУ

           *NО LISТ

           *SУSТЕМ

           *FULL LISТ

           *LIВRАRУ:2


        SТАR*//    03122        ОUТ*ОUТ  С 04161          СВОБОД   04211

        РАRАМТ*    03206        *МОNСRD* С 04162

        ТАВSIМIS   03631        МISТ10*  С 04176

        SIМFАIL*   04031        ХРАRАМТ* С 04201

        SТАRSТА  С 04160        ХРАRАМТ/ С 04205


           *САLL DТRАN(D*LО*D,D*SТ*D,ВСDWRI,IОЕND*,SТОР*)

                                        ОТ 18.01.79 ==

                         ПОДПРОГРАММЫ ИЗ БИБЛИОТЕКИ    02    04.10.84 М1

                DТRАN

                                        ОТ 18.01.79 ==


        DТRАN      03122        РАRАМТ*    11105        ВОКНО      16360

        *МОNСRD* С 11054        ТАВSIМIS   11530        ОКНО     Е 16415

        МISТ10*  С 11070        ПЕР6В81С   11730        ТО*DRUМ  С 20000

        ОUТ*ОUТ  С 11073        SIМFАIL*   11765        РАGЕ     С 22000

        SТАRSТА  С 11074        LIВРRINТ С 12114          СВОБОД   42000

        ХРАRАМТ* С 11075        INF/ОР   С 12260

        ХРАRАМТ/ С 11101        ТАВ      С 12360


                 DТRАN  /01.06.84/

        ***** ВСDWRI IS АВSЕNТ

           *ЕХЕСUТЕ


   ОТСУТСТВУЕТ  РRОGRАМ

          СВОБОД   01000


 КОНЕЦ ЗАДАЧИ

 00020: 00 074 0000 *74


вторник, 21 февраля 2023 г. в 04:32:01 UTC+1, Leo B.:

Alex Loktionoff

unread,
Feb 22, 2023, 2:59:11 PM2/22/23
to БЭСМ-6
MAIN тоже с 1000 начинается, это зачем? Не лучше ли код с 0 начинать, потом констаты, потом BSS потом, стек /*он растет вверх?*/ потом уже хип с самого конца чтоб рос вниз... 

среда, 22 февраля 2023 г. в 20:40:14 UTC+1, Alex Loktionoff:

Leo B.

unread,
Feb 22, 2023, 3:43:26 PM2/22/23
to БЭСМ-6
On Wednesday, February 22, 2023 at 11:40:14 AM UTC-8 oxy...@gmail.com wrote:
День добрый всем!
Дела у меня продвигаются, удалось скомпилировать пустышку на МАДЛЕНе,
Тут я хочу подчеркнуть для начинаюших, что код на МАДЛЕНЕ в задании должен начинатся с пробела иначе ДИСПАК не поймет что это сорцы видимо будет стараться распознать в них свои комманды ну и ничего хорошего из этого не получается.

Не ДИСПАК, а  мадленовский парсер. Он, вроде, считает всё, что не начинается с пробела, комментарием.

Но опять таки растут хотелки... 
Уже хочеться дебажить, можно вставлять какой экстракод что он дампил регистры вот так очень даже красиво, только мне надо чтоб экстракод/процедура возвращался в программу и не портила регистров?

В стандартной библиотеке есть процедура ОКНО, которая печатает сумматор, режим и регистры в одну строку (без РМР, но обычно он малоинтересен).
Попробуйте добавить к программе  строку
 ,call,OKHO 

Интересно, почему стек аж на 75402??? Нельзя его поближе? Что то я в ГДР ФОРТРАНе пока не заметил как устанавливается стек?

Можно поближе. По умолчанию он на 53400, а  был сдвинут командой *call yesmemory 
Сильно рекурсивных программ не писали, а максимум памяти пытались отводить под код и данные.  Вообще, по умолчанию глубина стека невелика - на границе следующего листа начинаются буфера, насколько я понимаю.

И режим R = 000110 нормальный для ДУБНА? Не видел чтоб ГДР его менял? 

Режим нормальный. С младшего бита: нормализация не блокирована; округление блокировано; последняя команда, изменявшая режим, была из "логической" группы.  
Фортран-ГДР умеет оптимизировать команды переключения режимов (NTR), поэтому, в отличие от Фортрана-Дубна, их особенно и не видно. Они нужны только для
переключения между работой с целыми и плавающими числами.

Leo

Serge Vakulenko

unread,
Feb 22, 2023, 3:54:56 PM2/22/23
to БЭСМ-6
Приветствую, Алекс!

On Wednesday, February 22, 2023 at 11:40:14 AM UTC-8 oxy...@gmail.com wrote:
День добрый всем!
Дела у меня продвигаются, удалось скомпилировать пустышку на МАДЛЕНе,
Тут я хочу подчеркнуть для начинающих, что код на МАДЛЕНЕ в задании должен начинатся с пробела иначе ДИСПАК не поймет что это сорцы видимо будет стараться распознать в них свои комманды ну и ничего хорошего из этого не получается.

Первый символ в строке для Мадлена чувствительный. Не зря в описании сказано: "Любой автокодный оператор может быть расположен в произвольных колонках перфокарты с 2-й по 42-ю включительно". Если первым символом стоит 'c' - строка будет воспринята как комментарий (как в Фортране). Если звёздочка '*' - ассемблер посчитает, что текст программы кончился и дальше идёт команда мониторной системы.

Описание Мадлена здесь: https://www.besm6.org/wiki/Madlen.html
 
Но опять таки растут хотелки... 
Уже хочеться дебажить, можно вставлять какой экстракод что он дампил регистры вот так очень даже красиво, только мне надо чтоб экстракод/процедура возвращался в программу и не портила регистров?

 00020: 00 074 0000 *74

  acc = 0000000000000000 Y = 0000000000000000 R = 000110        

       02362 20717 22731 00000 77770 22731 01002 22747

       00000 25301 02020 01770 00774 00000 75402

Есть такая полезная програмка ОКНО: печатает в одну строку сумматор, режим АУ и все регистры с 1-го по 15-й. Вызывается из Мадлена как ",call,OKHO", из Фортрана как "call OKHO". Смотрите пример в приложенном файле okno.txt.
 
Интересно, почему стек аж на 75402??? Нельзя его поближе? Что то я в ГДР ФОРТРАНе пока не заметил как устанавливается стек?

Регистр стека устанавливает мониторная система при запуске программы. В некоторой степени этим можно управлять картами "*call fullmemory" и  "*call yesmemory". Они увеличивают память для программы, отодвигая стек подальше. Обычно стек ставится на 53400. После fullmemory будет 57400. После yesmemory станет 75400. 
 
И режим R = 000110 нормальный для ДУБНА? Не видел чтоб ГДР его менял? 

Разные компиляторы переключают режим по разному, как заблагорассудится.

--Сергей
okno.txt

Leo B.

unread,
Feb 22, 2023, 4:05:44 PM2/22/23
to БЭСМ-6

> ***** ВСDWRI IS АВSЕNТ

Почему BCDWRI, когда оно BCDWRIT* ? Да и всегда можно по одной процедуре дизассемблировать.

Кстати, нашлась ошибочка в дизассемблере: Фортран-ГДР ставит регистр на адрес, следующий за концом процедуры, 
а дизассемблер от этого порождает неопределённую метку, что приводит к ошибке ассемблирования. Но не беда, и так понятно.

При дизассемблировании *EXECUTE смысла не имеет. Вызов *CALL DTRAN(...) записывает результат во временный файл
(на "1-й редакторский барабан"), который можно дать на вход ассемблеру командами

*ASSEM
*READ:1

D*LO*D и D*ST*D - это процедуры работы с числами двойной точности (LOAD и STORE соответственно). Они тривиальны; больший
интерес представляют, например, D*MU*D и D*DI*D - умножение и деление.

> MAIN тоже с 1000 начинается, это зачем? Не лучше ли код с 0 начинать, потом констаты, потом BSS потом, стек /*он растет вверх?*/ потом уже хип с самого конца чтоб рос вниз... 

В нижних адресах находится резидент монитора, в который происходит уход по выходу из программы или при вызове оверлейного загрузчика. Там же хранятся глобальные переменные, те же режимы листинга и трансляции.

Стек растет вверх. В формате объектного модуля МС Дубна нет понятия о секциях кода и данных (как его не было и в ассемблере IBM/БЕМШ).

Leo

Alex Loktionoff

unread,
Feb 22, 2023, 4:18:07 PM2/22/23
to БЭСМ-6
OKHO, то что надо!

среда, 22 февраля 2023 г. в 21:54:56 UTC+1, serge.v...@gmail.com:

Василий Долматов

unread,
Feb 23, 2023, 12:33:59 PM2/23/23
to be...@googlegroups.com


23 февр. 2023 г., в 00:05, Leo B. <leo...@gmail.com> написал(а):

и он специально поставлен в конце памяти. при этом при переполнении стека (чаще всего от intended рекурсии в программе) происходит попытка записи в «чужой лист», что аварийно останавливает программу. та же история с чтением из «чужого листа» - которое означает, что работу со стеком совсем «разнесло» и необходимо думать над программой… :) 

почему такой маленький? потому что никаких структур данных в МС Дубна в нем не хранилось и стек использовался для передачи параметров при вызове подпрограмм/функций.

и размер его должен был вместить самый длинный путь вызова вложенных функций со всеми их параметрами. 
при этом нужно учитывать, что на Б-6 через стек передавались только _простые_ типы, помещающиеся в одно слово, все более сложные типы передавались ссылкой на них через стек. 

то есть большой стек даже в очень сложных программах был не нужен. :)


Leo


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

Leo B.

unread,
Feb 23, 2023, 1:08:53 PM2/23/23
to БЭСМ-6
В Паскале локальные переменные в процедурах были в стеке, поэтому стек начинался сразу после памяти, выделенной под кучу (было некоторое умолчание, которое можно было менять псевдокомментарием). Если программа не пользовалась динамической памятью, можно было сказать (*=К0*), и стек начинался сразу после конца загруженной программы. Как в Паскале при этом обстояло дело с оверлеями, не совсем ясно.

Leo

Alex Loktionoff

unread,
Feb 23, 2023, 2:59:43 PM2/23/23
to БЭСМ-6
интересно как нет секций, вот тут меня с толку сбивает вывод MADLEN:

 АВТОКОД  МАDLЕN

   (1.10.72)

                    МАIN    :  , NАМЕ,

 0000               РRОGRАМ :  ,ЕNТRУ,        МАIN

 0000 0001                    7, VТМ ,*GР

  -                            , *74 ,

 0001               *GР     :  , ВSS ,

                               , ЕND ,

 СТРУКТУРА  ПОДПРОГРАММЫ:

          ЗАГОЛОВОК 00001

        ОБОЗНАЧЕНИЯ 00000

               -    00000

               -    00000

     ИДЕНТИФИКАТОРЫ 00000

            КОМАНДЫ 00001

         ГРУППА ВSS 00000

          КОНСТАНТЫ 00000

             ДАННЫЕ 00000

           РАССЫЛКИ 00000

 ЧИСЛО ПЕРФ. 0006      ЧИСЛО ОШИБ. ОПЕРАТОРОВ  0000


среда, 22 февраля 2023 г. в 22:05:44 UTC+1, Leo B.:

Василий Долматов

unread,
Feb 23, 2023, 3:00:29 PM2/23/23
to be...@googlegroups.com


23 февр. 2023 г., в 21:08, Leo B. <leo...@gmail.com> написал(а):

В Паскале локальные переменные в процедурах были в стеке, поэтому стек начинался сразу после памяти, выделенной под кучу (было некоторое умолчание, которое можно было менять псевдокомментарием). Если программа не пользовалась динамической памятью, можно было сказать (*=К0*), и стек начинался сразу после конца загруженной программы. Как в Паскале при этом обстояло дело с оверлеями, не совсем ясно.

видимо, речь идет про «Паскаль-Монитор». 

лучше уточнять :)
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/a519cb4d-a760-4d2d-8fe7-ba8f040678cdn%40googlegroups.com.

Василий Долматов

unread,
Feb 23, 2023, 3:02:00 PM2/23/23
to be...@googlegroups.com


23 февр. 2023 г., в 22:59, Alex Loktionoff <oxy...@gmail.com> написал(а):

интересно как нет секций, вот тут меня с толку сбивает вывод MADLEN:
это просто подсчет… чего и сколько напрограммировали…

:)
--
Данное сообщение отправлено Вам, как участнику группы "БЭСМ-6":
http://groups.google.com/group/besm6/topics
---
Вы получили это сообщение, поскольку подписаны на группу "БЭСМ-6".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес besm6+un...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/95afa55f-3912-444a-be98-07ba042a0ecan%40googlegroups.com.

Mikhail Popov

unread,
Feb 24, 2023, 11:36:55 AM2/24/23
to be...@googlegroups.com
Не вдаваясь в религиозные споры, формально утверждаю, что секции есть, но не в том понимании, которое сформировалось за последние 50  лет (code, daта,  bss)
формат стандартного массива был продиктован переносом Фортрана с CDC1604, в котором присутствовали СЕКЦИИ, исполняемого кода , констант, bss, данных, рассылки, bss, и описаний. В Дубне,колесо , так сказать;, не выдумывали ,а брали ,практически, как есть, откуда, например, взялась; кодировка TEXT? ответ: оттуда. и многое многое другое , CODAP Resident стал MONITOR resident  и тд.. Если чисто внешне сравнить перфорированные стандартный массив и relocatable object, то отлочить было бы трудно. 
  

Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/7864BFC7-1AA3-431C-A513-7040656D4FE9%40gmail.com.

Alex Loktionoff

unread,
Mar 8, 2023, 5:01:00 PM3/8/23
to БЭСМ-6
Очень хорошее обьяснение, я прошел это с А.Ильиным на его эмуляторе в Москве. Для этого нужна была или русский Windows или 32битный Linux. Рекомендую пройти этот путь написав hello-world хотяб на ФОРТРАНЕ - после этого vim+make+gcc+gdb работается намного веселее :)

А вот в simh у меня эти команды не проходят, там на дисках краб/диспак какой-то видимо хакнутый - диспак не требует паролей, а у краба отсутствует ШКОла.

 ЭBM-3,T002

КРАБ

 Ф001

 ** K  P  A  Б **  (BEP.19 ОT 27.11.92)

НАЧ

KTО?

УНЧ ПРИМЕР

ЗAЩИTИTE CBОЙ HОMEP 

Другой сеанс

  2048 - 00

 08.03.99   22.53.00

 1HMБ-01234567     2HMБ-34567      

  PEC:  1710

 ECTЬ

 ДATA:08.03.93 BPEMЯ:22.58.00

 ЧП(001) 419999000000 22.57 M=000

 CM1П:00.00.ЭBM-3  ДATA:08.03.93 BPEMЯ:22.58.00  000.00

КРАБ 1914

 Ф001-5 419999000000

 Ф001

  ОШИБKA B ЗОHE CTПACП

  KОHTPОЛЛEP BЫKЛЮЧEH

 ** K  P  A  Б **  (BEP.19 ОT 27.11.92)

ШКО

ПEPEП. УПPAB.ФAЙЛ

НАЧ 1914

KTО?

ДОП

ЗAЩИTИTE CBОЙ HОMEP 

ШКО

ОШ B УПPAB.ФAЙЛE 

ХNЭП

ЗAЩИTИTE CBОЙ HОMEP 

ШКО НАЧ

ОШ B УПPAB.ФAЙЛE 

среда, 8 февраля 2023 г. в 22:35:54 UTC+1, serge.v...@gmail.com:
Как запустить задачу через КРАБ - можно глянуть в скрипте besm6-run.expect. Примерно так:

краб
- нач
KTО? 1234       - четыре цифры вашего идентификаторя пользователя (шифра)
KЛЮЧ? фывапр    - ваш пароль
- унч мойф      - cтираем старую версию файла, если осталась
- имя мойф      - создаём файл и вводим текст
- доп           - "дописываем" последующий текст в буфер ввода
* строка1
* строка2
* ...
* строкаN
*               - шлём пустую строку, чтобы завершить ввод
- зап           - записываем введённый текст в файл
- фор пз шиф 123400567890   - формируем задачу с указанным шифром
- где           - ждём окончания задачи
ОKОHЧИЛACЬ ЗAДAЧA ...
- лис           - запрашиваем листинг
ЛИC*шаг 9999
*нов 1-128
*выд
.........       - получаем листинг
.........
*кон            - заканчиваем работу с листингом
-кон            - выходим их Краба

Но вначале надо завести пользователя, как упомянул Лёня.

--Сергей

Reply all
Reply to author
Forward
0 new messages