vak: (Default)
[personal profile] vak posting in [community profile] besm6
Обнаружился недостаток стандартного массива: нет простого способа инициализировать массив данных адресами других объектов. Скажем, сделать массив указателей на строки или массив указателей на фукнции. Проблема в том, что настройка адресов выполняется только в секции команд и в секции рассылок. Секция инициализированных данных ("констант") не настраивается.

Единственный штатный способ инициализировать массив указателей это разместить его копию в сегменте команд, и сделать рассылку в секцию BSS. Но при этом расходуется лишнее место в секции команд, а его жалко.

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

Date: 2019-05-17 04:58 am (UTC)
From: [personal profile] mrupor
Tаблица распределения была разработана специально для нужд FORTRAN со всеми вытекающими отсюда последствиями. Она поддерживает все элементы данных FORTRAN: COMMON, DATA, BLOCKDATA и перемещаемые адреса...
Я все еще собираю сведения, один компонент отсутствует на ленте из Дубны, поэтому, чтобы восстановить все значения из некомментированного [:)] исходного кода Madlen, требуется время.

Кстати, кажется, что корни reduol и стандартного массива растут от М-220, Силин сделал то же самое для системного загрузчика М-220 до BESM-6.
Edited Date: 2019-05-17 04:58 am (UTC)

Date: 2019-05-17 05:31 am (UTC)
From: [personal profile] mrupor
Отвечая на вчерашний вопрос о 20 entry points: 20 entries - это ограничение монитора, в библиотеке, ограничений нет, то есть все записи можно добавлять спереди или в конце модуля.

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