vak: (бэсм-6)
[personal profile] vak
Я сделал описание системы команд БЭСМ-6, хвала всевышнему ИИ. Покритикуйте пожалуйста.

BESM-6 Instruction Set Reference

Date: 2026-05-14 07:11 (UTC)
b0p0h0k: (OSDispak)
From: [personal profile] b0p0h0k
Спасибо за большую и важную работу!
Некоторые замечания.

> "Young bits"
"Younger bits" is a better translation.

> Octal notation is used throughout, as on the original machine.
... as in the factory reference. The machine is agnostic of the radix.

> Address-modification register. Added to EA during address calculation. Reset to 0 after every instruction except UTC and WTC.
Неправда. Значение сохраняется, но используется только после 22 и 23. Для этого в УУ есть бит, устанавливаемый этими операциями и сбрасываемый всеми остальными.

> Any instruction that writes to M[0] (ATI, STI, MTJ, J+M, VTM, UTM) resets it to 0 immediately.
No. The HW just doesn't have M[0], so it's better to say that the writes are ignored.

> When set, adds 070000 to offset, effectively addressing the upper half of the address space.
It's not the upper half, but rather the upper 1/8.

Пока хватит, сегодня некогда, но там ещё много всего. Особенно неважно дело с привилегированными инструкциями.
Буду потихоньку добавлять.

Date: 2026-05-14 07:44 (UTC)
x86128: (Default)
From: [personal profile] x86128
Прикольно, можно еще в разделе по арифметике пару краевых случаев описать и пару примеров с представлением чисел. Поведение при underflow

Date: 2026-05-14 07:47 (UTC)
x86128: (Default)
From: [personal profile] x86128
Недавно, кстати, тоже вернулся почитать имеющиеся доки по микро-бесм, попросил нейронку написать каркас для генератора кода из исходников микрокода b6com.src. приколько получается, способ вполне рабочий чтобы по такому артефакту построить довольно точный эмулятор на rust и собрать его для веба и cli режимов использования

Date: 2026-05-14 07:51 (UTC)
fizzik: (Default)
From: [personal profile] fizzik
Интересно, сохранился ли где-нибудь работающий экземпрляр БЭСМ-6?

Date: 2026-05-14 14:25 (UTC)
From: [personal profile] vakhitov
Прошу прощения за возможно глупый вопрос. (Я не программист и не железячник, а полубывший техпереводчик и немножко техписатель.)

Чем "younger bits" отличается от "least significant bits"?

Date: 2026-05-14 22:56 (UTC)
b0p0h0k: (OSDispak)
From: [personal profile] b0p0h0k
Есть тонкое отличие.
"least significant bits" означает, что правее них ничего нет. Superlative degree.
"younger bits" означает, что они находятся правее по сравнению с чем-то, в данном случае, с сумматором. Comparative degree.
"Less significant bits" было бы терминологически правильнее, но тут используется нетрадиционный термин "younger" для оправдания/объяснения сокращения "Y" в мнемокодах, как и объяснил ХЭБ.

Date: 2026-05-14 23:08 (UTC)
b0p0h0k: (OSDispak)
From: [personal profile] b0p0h0k
"Важно сделать этот документ точным" кто сказал? ;)
На самом деле, это важная деталь. В коде ОС есть такой фрагмент.
Для понимания контекста: необходимо на СМ получить значение некоего адреса, а никакой модификатор изменять нельзя.
МОДА <адресное-выражение>
СЧИ
СЧИ М20