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, в теле которой делаются умножения, присутствует.
Если её выпилить, то должно поместиться.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

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. 14th, 2026 12:13 am
Powered by Dreamwidth Studios