spamsink: (Default)
[personal profile] spamsink posting in [community profile] besm6
В ИТМиВТ ОСами для Эльбруса-Б занимались два отдела: Шебанова (ДВС) и Тюрина (Диспак). Обоим нужно было пользоваться одной и той же кросс-системой разработки, которая уже использовала кодировку КОИ-8, но для подготовки текстов использовались разные средства. В отделе Шебанова редактировали исходные тексты на писишках и передавали на СВС в кодировке КОИ-8, а в отделе Тюрина работали по-старинке, отчего требовалось автоматизировать перекодировку текстов из ISO (КОИ-7) перед запуском ассемблера.

Для этого была написана на Паскале специальная программа АРАП, двоичный код которой сохранился на образах дисков. Его-то я сейчас и декомпилирую. В отличие от двух предыдущих декомпилированных программ, для которых дополнительные фичи компилятора (указание абсолютного адреса переменных, явное приведение типов и т.п.) уже реализованы, для этой нужна ещё и операция сдвига (например, "слово shr 8"). Это потребует несколько более существенных изменений, чем уже были сделаны.

Заодно удалось понять смысл одного доселе неясного куска компилятора (см. "badop" в https://github.com/besm6/pascal-re/blob/master/pascompl.b6), что в компиляторе пытались сделать встроенную функцию pow(x, y), но то ли обломались, то ли решили, что игра не стоит свеч. В рантайм-библиотеке, впрочем, неиспользуемая функция P/RR, в теле которой делаются умножения, присутствует.
Если её выпилить, то должно поместиться.

Profile

Сообщество любителей БЭСМ-6

December 2025

S M T W T F S
 123456
78910111213
14151617181920
21222324252627
282930 31   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 13th, 2026 06:32 pm
Powered by Dreamwidth Studios