МАДЛЕН вспоминайте

29 views
Skip to first unread message

Leo B.

unread,
Aug 12, 2025, 5:19:57 PMAug 12
to БЭСМ-6
В коде ассемблера (2048, зона 256, который просто *ASSEM, а не *MADLEN с макросами) хорошо видны все коды операций, которые он понимает. Их там всего 164 штуки.

Исключая хорошо известные мнемокоды команд, экстракодов, форматов данных, явно записанные Z00-Z37, общеизвестные широкоупотребительные псевдокоманды (типа NAME, END, SUBP, LC, BLOCK, EQU и пр.), и малоизвестную, но описанную в https://besm6.org/wiki/Madlen команду базирования RELS, остаются следующие:

8ТЕХТ - ,8TEXT,''FOO''  == ,ISO,6HFOO''''''
6ТЕХТ - ,6TEXT,''FOO'' == ,TEXT,3HFOO
ТЕL - формируется текст в коде телетайпа с переключением регистров
АRRАУ - ??? подобрать компилируемый синтаксис не удалось
LАВЕL - ??? --"--
LОС - ??? --""--
REG - ??? --""--
*UТС - ??? --""--
VТМS - ??? компилируется как VTM, в чем отличие?

Ради кого были сделаны 6TEXT и 8TEXT, интересно. Пользы от ник немного.

Leo

Mikhail Popov

unread,
Aug 15, 2025, 2:00:59 AMAug 15
to be...@googlegroups.com
Это рудименты от SIBESM асемблера включая 6TEXT и 8TEXT, до madlen, fortran компилятор и мониторная писалась изначально на SIBESM, оттуда madlen унаследовал запятые и синтакс, 
Исключение из списка *UТС и VТМS, VТМS планировалась как диспетчерская ,24, команда, но от нее отказались, т.к. она плохо распознавалась внутри кода,  ,24, было легче поймать глазами.
В Мадлен3 LOC устанавливает адрес в листинге, но это никто не использовал.

Вот sibesm диалект

 SIBESM            MADLEN-3.5   14/08/25   20.28.33    CTP    1
 001L                             :  , SUBP,SIBESM
 002L                             :  ,ARRAY,ARA
 003L 4001     1                     , LC  ,1
 004L                             :  , SUBP,D
 005L 4002                           , REG ,
 006L                             :  , SUBP,P
 007L 4003                           , LOC ,
 0000 00010 4001          BASE    :  , XTA ,ARA
                                  :  ,LABEL,REF
          :    2                     , D   ,TWO
  -   1531 74002                   13, VJM ,D
 0001 00003 0000                     , XTS ,
  -   1531 74003                   13, VJM ,P
 0002 0030 40002          TWO     :  , UJ  ,REF
  -   0124 00002                    1, VTM ,REF-BASE
               3                     , END ,
 TAБЛИЦA  OПИCAHИЙ:
 4000  6351424563550000 4162410047000001 4465000043000000
 4003  6041000043000000

 +++ CTPYKTYPA ПPOГPAMMЫ: +++++++++++++++++++++++++
 +              ИMЯ 00001              BXOДЫ 00001+
 +         OПИCAHИЯ 00003               SUBP 00002+
 +      KOMMEHTAPИЙ 00000             ARRAYS 00001+
 + PEЗEPBHAЯ ГPYППA 00000     ИДEHTИФИKATOPЫ 00006+
 +ДЛ.ИДEHTИФИKATOPЫ 00000              DEBUG 00000+
 +          KOMAHДЫ 00003              XTEXT 00000+
 +       ГPYППA BSS 00000         ИHCTPYKЦИИ 00016+
 +        KOHCTAHTЫ 00000   ГЛOБ.БAЗИPOBAHИE 00000+
 +             DATA 00000               DISP DD****
 +         PACCЫЛKИ 00000              MODEL ******
 ЧИCЛO ПEPФ.     16      ЧИCЛO OШИБ. OПEPATOPOB  00

  TAБЛИЦA CCЫЛOK :
 ------------------
 ARA      LC  0003L  00000
 BASE     :   00000  00002
 D        SUB 0005L  00000
 P        SUB 0007L  00001
 REF      =:  00000  00002  00002
 TWO      :   00002  00000
 SIBESM        CP 0.0,      ST 0.0,      RT     1.0*

Leo Broukhis

unread,
Aug 15, 2025, 12:32:11 PMAug 15
to be...@googlegroups.com
Спасибо, забавно! Синтаксис SIBESM активируется, значит, только если заголовок был в стиле SIBESM.
Что именно в SIBESM значили ,REG, и ,LOC, - в чём была разница ради объявления внешних процедур?
И хотя бы с какой целью был нужен *UTC?

--
Данное сообщение отправлено Вам, как участнику группы "БЭСМ-6":
http://groups.google.com/group/besm6/topics
---
Вы получили это сообщение, поскольку подписаны на группу "БЭСМ-6".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес besm6+un...@googlegroups.com.
Чтобы посмотреть обсуждение, перейдите по ссылке https://groups.google.com/d/msgid/besm6/CAHBB7Y7_3Fa-OC0UZcWV7hGZYMxEui%2BzkxXON-Sw82Q1oaD%3DEQ%40mail.gmail.com.

Mikhail Popov

unread,
Aug 15, 2025, 8:18:39 PMAug 15
to be...@googlegroups.com
REG  - это стандартное имя подпрограммы для call
LOC  - это "параметр" в таблице описаний, но загрузчик Силина это трактует как  имя подпрограммы , в macro madlen генерируется как  43000000 и Волкова они различаются он генерирует 42000000

*UTC  -  там была задумана какая-то хитрость для фортрановского входа, то-ли если эта команда после VJM в левой половине, то 22 не генерируется , то-ли еще что-то, я уже не помню, в стандартном компиляторе  *UTC всегда делает ошибку.



 0004                             :  , SUBP,DU
 0005 4002                           , REG ,  .4465000043000000
 0006                             :  , SUBP,PA
 0007 4003                           , LOC ,   .6041000042000000
 
 

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

Leo B.

unread,
Aug 16, 2025, 12:32:20 AMAug 16
to БЭСМ-6
Спасибо! 

Боюсь, теперь уже эти задумки понять не удастся, да и не нужно. Интересно, насколько существенно было в принципе сохранять поддержку синтаксиса SIBESM вплоть до Мадлена-3. Неужели кто-то после появления Мадлена как такового им ещё пользовался?

Mikhail Popov

unread,
Aug 16, 2025, 12:40:03 AMAug 16
to be...@googlegroups.com
В мониторной системе до сих пор три программы на SIBESM.6 (которые я знаю)

monread*
readlibt
readstar

анахронизм, но присутствует. 



Чтобы посмотреть обсуждение, перейдите по ссылке https://groups.google.com/d/msgid/besm6/9cf72b9b-b13c-47d8-a205-65eaf97a1de5n%40googlegroups.com.

Leo Broukhis

unread,
Aug 16, 2025, 1:11:10 AMAug 16
to be...@googlegroups.com
Надо же. Даже шесть:

$ grep '^ *: *, *SUBP' */*
besml21/libra212.l21:         :,SUBP ,SAVE*
besmmons/system2.txt:         :  ,SUBP,MONREAD*
besmmons/system2.txt:         :,SUBP ,STOP*                    .
besmmons/system2.txt:         :,SUBP ,PRINT8                   .
besmmons/system2.txt: :,SUBP,READLIBT
besmmons/system2.txt:         :   ,SUBP, READSTAR              .
Чтобы посмотреть обсуждение, перейдите по ссылке https://groups.google.com/d/msgid/besm6/CAHBB7Y5i2SkE3ty3G_DhJj-s2NRaDEjW7wVY3Jt080t1kd9mAA%40mail.gmail.com.

Mikhail Popov

unread,
Aug 16, 2025, 8:33:55 AMAug 16
to be...@googlegroups.com
 6 это дает скрипт,  только три. 


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

Mikhail Popov

unread,
Aug 16, 2025, 11:56:28 AMAug 16
to be...@googlegroups.com
Однако в lib21 действительно нашлась четвертая программа,на sibesm-6, так что я был не прав - их четыре, обратите внимание на стиль:)

          :,SUBP ,SAVE*
 'DECLARATION'
         :,ARRAY,KCOUNT*
          ,LC   ,4
         :,ARRAY,MONCARD*
          ,LC   ,25
 'INSTRUCTION'
          14,VTM,COUNT
          12,VTM,KCOUNT*

Serge Vakulenko

unread,
Aug 16, 2025, 2:30:53 PMAug 16
to БЭСМ-6
Удивительно, что динамический загрузчик тоже написан на SIBESM. Ведь 'declaration' и 'instruction' оттуда, верно?

REDUOL:,NAME,
'DECLARATION'
*REGIM//:,LC,1.HAXOДИTCЯ B PEЗИДEHTE MOHИTOPA,OCTOPOЖHO C ПEPECБOPKOЙ!
...
 'INSTRUCTION'                            .
  W:,BSS,
            ,ITA,                         .
          11,VTM,-2                       .

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

--Сергей

Mikhail Popov

unread,
Aug 16, 2025, 2:58:13 PMAug 16
to be...@googlegroups.com
в 1968 был только SINESM, но говорят он был очень медленный, и ассемблер Волкова был позже >70 и работал как ко-ассемблер для fortran, fortran подавал ему уже синтаксически разобранный код 

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

Leo B.

unread,
Aug 17, 2025, 2:36:13 AMAug 17
to БЭСМ-6
Есть и ещё хвосты SIBESM в дизассемблированных (еще не DTRAN-ом, а чем-то более ранним) программах. Например, WRITLIBR:
      WRITLIBR   :,SUBP,
      PRINT8     :,SUBP,
            14 ,  VTM,   *00061
L           14 ,  ATX,   *00077    - *00061
                 ,ITA,  7
                 ,ITS,  13
             7 ,  VTM,   *00061
L            7 ,  XTS,   *00064    - *00061
L            7 ,  ATX,   *00100    - *00061
и т. д.
Это явно писали на ассемблере, который не умеет базирования.

On Saturday, August 16, 2025 at 8:56:28 AM UTC-7 mikhailp wrote:
Reply all
Reply to author
Forward
0 new messages