vak: (Default)
[personal profile] vak posting in [community profile] besm6
Формат, в котором объектные файлы хранятся в библиотеке (*perso или *libra), слегка отличаются от формата, который выдаётся на перфокарты (стандартный массив).

Вкратце, объектный файл состоит из двух частей:
(1) Заголовок, 3 слова
(2) Машинные команды, данные, таблица символов

Стандартный массив состоит трёх частей:
(1) Таблица входов
(2) Заголовок, 10 слов
(3) Машинные команды, данные, таблица символов

Собственно код программы, то есть машинные команды, данные и таблица символов полностью совпадают.

В заголовке содержатся те же значения, но в случае объектного файла они упакованы в три слова, из экономии.

В объектном файле отсутствует таблица входов. Очевидно, эта информация хранится в таблице библиотеки, перемешанная с другими объектными модулями.

В комментариях можно посмотреть дамп объектного файла и стандартного массива одной и той же программы objfmt.madlen.

Date: 2019-05-15 06:06 am (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Что означают флаги в старших разрядах таблицы входов, увы, неясно.

Date: 2019-05-15 07:30 am (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Это маловероятно - данные не попадают в память. А вот как определяется размер таблицы входов? Похоже, что первое слово, начинающееся с "пробела" - уже не вход.
Кстати, были возможны модули с самым младшим адресом входа, отличным от нуля.

Date: 2019-05-15 09:34 pm (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Если кто-то и умеет, то Фортран-ГДР должен в первую очередь. У него столько разных отладочных флагов!

Миша П., наверное, знает лучше.

Date: 2019-05-16 04:11 am (UTC)
From: [personal profile] mrupor
Да, это правда. Дубна поддерживает символическую отладку. Есть два (как я знаю) отладчика: один - пакетный (написанный Гусевым и Силиным), а другой - интерактивный (Силин и Ломидзе). Точнее, это был дополнительный extra-код *67, и все отладчики построены на нем. Я не помню форматы отладки, но это восстанавливается по публикациям и комментариям.
Edited Date: 2019-05-16 04:47 am (UTC)

Date: 2019-05-16 06:28 am (UTC)
From: [personal profile] mrupor
Формат отладки базировался на формате таблицы описания (был очень похож). Идея состояла в том, чтобы сохранить информацию, потерянную при компиляции, например, в ситуации базирования. Так что это было не изобретение нового формата (колеса). Таким образом, разные компиляторы выдают разную отладочную информацию, но схожию по логике, поскольку генерируют разные таблицы описаний.
Edited Date: 2019-05-16 07:22 am (UTC)

Date: 2019-05-18 02:51 pm (UTC)
From: [personal profile] mrupor
Вот, вогнал меня в краску. Про debug информации немного, в мадлене выталкивается информация о всех метках, т.к. таблица описаний хранит символы только глобальные. Фортраны пишут еще информацию о номере строки для оператора, но формат мне не известен, извстно только что это после //////// в debug секции.

It is all known.

Date: 2019-05-16 04:30 am (UTC)
From: [personal profile] mrupor
> Что означают флаги в старших разрядах таблицы входов, увы, неясно.

Это все известно. Я напишу подробности об этом.
Edited Date: 2019-05-16 04:32 am (UTC)

Date: 2019-05-16 04:00 am (UTC)
From: [personal profile] mrupor
Стандартный массив, термин имеет несколько толкований. Если вы *punch его, у него будут entries, но для интерфейса библиотеки все входы будут сохранены в каталоге для удобства "reduol" :) no-comments. Процедура записи в temp библиотеку, требует объект и entriy list в отдельных местах. Максимальное количество entry (примерно?) 10, потому что формат punch определяется таким образом. Вся поддержка библиотеки была написана Волковым, Веретеновым и переписана Б.Сахаровым. Некоторые детали в препринтах JINR.

Date: 2019-05-16 06:38 am (UTC)
From: [personal profile] mrupor
Если что-то было взято, то это было взято с CDC-1604, а не с CDC-6500, и они не совместимы. Два года назад мы уже обсуждали этоу тему, что существует некоторое подобие и некоторые сходства, но ассемблер, а также формат объектных файлов, не был частью того, что было взято из CDC-1604. Я постараюсь найти детали снова.
Edited Date: 2019-05-16 06:44 am (UTC)

Date: 2019-05-16 06:43 am (UTC)
From: [personal profile] mrupor
>В Сиэтле в музее восстановили работающую CDC-6500. Можно попытаться выяснить формат объектного файла и сравнить.

Какая ОС там запущена, SCOPE или NOS?

Date: 2019-05-16 07:36 am (UTC)
From: [personal profile] mrupor
Про NOS я должен почитать, но идея интересная.
Edited Date: 2019-05-16 07:36 am (UTC)

Date: 2019-05-16 06:40 am (UTC)
From: [personal profile] mrupor
Verified: Максимальное количество entry 20.

Date: 2019-05-17 07:23 pm (UTC)
From: [personal profile] mrupor
Таблица входов в каталоге, сделана, только для удобства загрузчика и для поиска модулей в библиотеках.
Загрузик хранит свою таблицу с полной разметкой раздела памяти отдельно, т.к. загрузка динамическая, и надо помнить где и что лежит.

Date: 2019-05-18 02:21 pm (UTC)
From: [personal profile] mrupor
Да, это он. Написан Силинам и очень хитро, тк должен был влезать в один лист и загружать динамические разделы, код выполняестся нелинейно, использует секторное чтение! Код тяжелый (1)

Без него диспетчер не собирается, когда поднимал Дубну на SIMH, потратил недели две, пока разобрался, как его правильно запускать под диспак симулятором, что бы он собрал нерезиденты, иначе не собиралосъ, не влезало в память. Код тяжелый (2)

Edited Date: 2019-05-18 08:10 pm (UTC)

формат object.file ?

Date: 2019-05-16 04:22 am (UTC)
From: [personal profile] mrupor
Вопрос, каков план для формата object - стандартный массив? Если так, то подробности могут быть собраны. Тот же вопрос для формата библиотек.

Date: 2019-05-16 07:33 am (UTC)
From: [personal profile] mrupor
Я бы не изменял таблицу описания, вместо этого я обновил бы заголовок или хвост и добавил entry-list и все существующие объекты могли бы быть преобразованы.

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. 15th, 2026 07:55 pm
Powered by Dreamwidth Studios