Недостаток стандартного массива
May. 16th, 2019 11:21 amОбнаружился недостаток стандартного массива: нет простого способа инициализировать массив данных адресами других объектов. Скажем, сделать массив указателей на строки или массив указателей на фукнции. Проблема в том, что настройка адресов выполняется только в секции команд и в секции рассылок. Секция инициализированных данных ("констант") не настраивается.
Единственный штатный способ инициализировать массив указателей это разместить его копию в сегменте команд, и сделать рассылку в секцию BSS. Но при этом расходуется лишнее место в секции команд, а его жалко.
Можно решить эту проблему, введя дополнительный формат инструкций рассылки: пересылать адрес источника, а не его содержимое. В этом случае сохраняется совместимость со стандартным массивом.
Единственный штатный способ инициализировать массив указателей это разместить его копию в сегменте команд, и сделать рассылку в секцию BSS. Но при этом расходуется лишнее место в секции команд, а его жалко.
Можно решить эту проблему, введя дополнительный формат инструкций рассылки: пересылать адрес источника, а не его содержимое. В этом случае сохраняется совместимость со стандартным массивом.
no subject
Date: 2019-05-17 04:58 am (UTC)Я все еще собираю сведения, один компонент отсутствует на ленте из Дубны, поэтому, чтобы восстановить все значения из некомментированного [:)] исходного кода Madlen, требуется время.
Кстати, кажется, что корни reduol и стандартного массива растут от М-220, Силин сделал то же самое для системного загрузчика М-220 до BESM-6.
no subject
Date: 2019-05-17 05:31 am (UTC)no subject
Date: 2019-05-17 08:23 pm (UTC)Интересно, как там всё было устроено.