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 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 секции.

Profile

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

December 2025

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

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 15th, 2026 09:44 pm
Powered by Dreamwidth Studios