Спасибо за большую и важную работу! Некоторые замечания.
> "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.
Пока хватит, сегодня некогда, но там ещё много всего. Особенно неважно дело с привилегированными инструкциями. Буду потихоньку добавлять.
Недавно, кстати, тоже вернулся почитать имеющиеся доки по микро-бесм, попросил нейронку написать каркас для генератора кода из исходников микрокода b6com.src. приколько получается, способ вполне рабочий чтобы по такому артефакту построить довольно точный эмулятор на rust и собрать его для веба и cli режимов использования
Спасибо, исправлю. Присылай ещё замечания. Важно сделать этот документ точным: я буду скармливать это описание ИИ, чтобы он учился генерить бэсмовский ассемблерный код в компиляторе.
> Неправда. Значение сохраняется, но используется только после 22 и 23. > Для этого в УУ есть бит, устанавливаемый этими операциями и сбрасываемый всеми остальными.
Это уже микроархитектурная специфика, непонятная программисту. Проще объяснить сбросом в ноль.
Есть тонкое отличие. "least significant bits" означает, что правее них ничего нет. Superlative degree. "younger bits" означает, что они находятся правее по сравнению с чем-то, в данном случае, с сумматором. Comparative degree. "Less significant bits" было бы терминологически правильнее, но тут используется нетрадиционный термин "younger" для оправдания/объяснения сокращения "Y" в мнемокодах, как и объяснил ХЭБ.
"Важно сделать этот документ точным" кто сказал? ;) На самом деле, это важная деталь. В коде ОС есть такой фрагмент. Для понимания контекста: необходимо на СМ получить значение некоего адреса, а никакой модификатор изменять нельзя. МОДА <адресное-выражение> СЧИ СЧИ М20
Хитро! Но боюсь, моему компилятору такое не пригодится. Он должен генерить код для режима юзера, где M20 не считаешь. Для хитростей будут ассемблерные вставки.
no subject
Date: 2026-05-14 07:11 (UTC)Некоторые замечания.
> "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.
Пока хватит, сегодня некогда, но там ещё много всего. Особенно неважно дело с привилегированными инструкциями.
Буду потихоньку добавлять.
no subject
Date: 2026-05-14 07:44 (UTC)no subject
Date: 2026-05-14 07:47 (UTC)no subject
Date: 2026-05-14 07:51 (UTC)no subject
Date: 2026-05-14 14:25 (UTC)Чем "younger bits" отличается от "least significant bits"?
no subject
Date: 2026-05-14 18:26 (UTC)no subject
Date: 2026-05-14 18:27 (UTC)no subject
Date: 2026-05-14 18:34 (UTC)https://vak.dreamwidth.org/428935.html
no subject
Date: 2026-05-14 20:33 (UTC)> Для этого в УУ есть бит, устанавливаемый этими операциями и сбрасываемый всеми остальными.
Это уже микроархитектурная специфика, непонятная программисту. Проще объяснить сбросом в ноль.
no subject
Date: 2026-05-14 20:35 (UTC)no subject
Date: 2026-05-14 22:56 (UTC)"least significant bits" означает, что правее них ничего нет. Superlative degree.
"younger bits" означает, что они находятся правее по сравнению с чем-то, в данном случае, с сумматором. Comparative degree.
"Less significant bits" было бы терминологически правильнее, но тут используется нетрадиционный термин "younger" для оправдания/объяснения сокращения "Y" в мнемокодах, как и объяснил ХЭБ.
no subject
Date: 2026-05-14 23:08 (UTC)На самом деле, это важная деталь. В коде ОС есть такой фрагмент.
Для понимания контекста: необходимо на СМ получить значение некоего адреса, а никакой модификатор изменять нельзя.
МОДА <адресное-выражение>
СЧИ
СЧИ М20
no subject
Date: 2026-05-14 23:15 (UTC)no subject
Date: 2026-05-14 23:16 (UTC)