spamsink: (Default)
[personal profile] spamsink posting in [community profile] besm6
Примерно к началу второй половины 1980-х на БЭСМ-6 стало более или менее хватать памяти на внешних носителях, чтобы организовать самый простой вариант управления исходными текстами крупных проектов: "текущая версия" и "стабильная версия", и интенсивность разработки достигла такого уровня, что сравнивать тексты на бумажках глазками стало уже недостаточно производительно.

В связи с этим в составе кросс-системы разработки СПО Эльбруса-Б на БЭСМ-6/СВС появилась программа "Компаратор" - функциональный аналог программы юниксной утилиты diff, двоичный код которой сохранился. Она была найдена, и работоспособность её была проверена несколько лет назад.

Мне ещё в 80-е было известно, что она была написана на Паскале (с некоторыми добавками - в частности, со встроенной в компилятор поддержкой приватной "файловой системы"); но только пару дней назад я обнаружил, что она была скомпилирована в отладочном режиме: с включёнными проверками принадлежности индексов границам массивов, и с сохраненными в сегменте констант именами процедур и имен переменных ради возможности посмертного дампа. Номера строк исходного текста, в которых производились проверки индексов, и номера строк начал процедур тоже сохранились.

Так, например, аналог getchar назывался ДАЙСИ, процедура ввода параметров командной строки - ВВЛЕКСЕМ, а процедура завершения и выхода в интерактивную оболочку - FINITA.

Это даёт нам практически уникальную возможность восстановить исходный текст программы практически до оригинального вида (именах - вплоть до первых 8 символов), исключая разве что комментарии и мелкие детали форматирования.

И вот ещё что интересно: в те далёкие времена сколь-нибудь внимательно смотреть на порождаемый Паскаль-компилятором ассемблерный код с целью увидеть в нём возможности для оптимизации было весьма трудоёмко, потому что компилятор сразу гнал двоичный объектник, а пользоваться дизассемблером, или, вообще, знать о существовании такой фичи умели не все. Код получается весьма рыхлый.

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 07:53 pm
Powered by Dreamwidth Studios