Cтраница 1
Модификация адресов в объектном или загрузочном модуле, выполняемая компоновщиком или загрузчиком при размещении его по определенному адресу. [1]
Модификация адресов путем прибавления индексов используется при организации циклических вычислительных процессов. В машинах Единой системы индекс, как и базовый адрес, к началу исполнения команды должен находиться в регистре общего назначения. Регистр, в котором хранится индекс, получает название регистра индекса. [2]
Модификация адреса по индексным или базовым регистрам в большинстве автокодов обозначается номером или именем регистра и размещается после операнда. Например, в автокоде IBM номер регистра указывается в круглых скобках. При модификации по нескольким регистрам они перечисляются обычно через запятую. Такой способ указания модификации не дает возможности контролировать загрузку регистров и разрушение их информации, поскольку отсутствуют имена величин, засылаемых на регистр. Для этой цели в автокоде ЯУЗА модификации можно указывать именем модифицирующей величины, а при наличии нескольких регистров комбинировать имя регистра с его номером. [3]
![]() |
Пример модульной модификации.| УЗ. Вычисления при бит-реверсивной адресации. [4] |
Модификация адреса осуществляется аппаратно - переносом в обратном направлении: из старших битов в младшие биты. Реверсивный перенос эквивалентен реверсии битов содержимого Rn и величины смещения Nn, сложению и реверсии битов результата. Если используется режим адресации Nn и содержимое Nn равно 2 К11, этот адресный модификатор эквивалентен реверсии К младших битов Rn ( LSB), инкременту Rn и еще одной реверсии К младших битов Rn. Диапазон возможных значений Nn составляет от 0 до 32, что позволяет адресовать 65536 точек для ДПФ. [5]
![]() |
Индексная адресация с использованием регистров. [6] |
Модификация адреса сводится к вычислению исполнительного адреса ЛиспЛе ( Х), где ( X) - содержимое ячейки X индексной памяти. [7]
Модификация адресов в объектном или загрузочном модуле, выполняемая компоновщиком или загрузчиком при размещении его по определенному адресу. [8]
Модификация адресов с помощью индексных регистров используется не только для работы с компонентами массивов, но и для других целей. Например, длина адресного поля в командах УМИР-1, равная двенадцати двоичным разрядам, позволяет непосредственно адресовать только 4096 ячеек. Однако при прямой адресации увеличение емкости памяти требует увеличения длины адресных полей в командах. Например, для емкости памяти в 256К адресные поля должны содержать по крайней мере по 18 двоичных разрядов, что приводит к значительным затратам памяти для хранения программы. [9]
Модификация адреса может производиться программным способом. [10]
Модификация адреса символа в операторах пересылки происходит как обычно с помощью ячейки индекса, в которой указывается величина приращения адреса символа. Если приращение-адреса символа равно N, то в ячейке индекса содержите Ai ( At); A2 ( Ai), где A2 ( At) - целая часть от деления N на 5 ( количество символов в ячейке) и Ai ( Ai) - остаток от этого деления. [11]
При модификации адресов содержимое регистра индексов и адресной части команды подается на сумматор адреса из регистра команд и соответствующего индексного регистра. Исполнительный адрес через кодовую шину адреса КША выдается в регистр запоминающего устройства. [12]
При модификации адресов содержимое регистра баз, индексов и адресной части команды подается на сумматор адреса из регистра команд и соответствующего индексного регистра. Исполнительный адрес через кодовую шину адреса КША выдается в регистр запоминающего устройства. [13]
Если модификация адреса уже обеспечена, то реализация относительной адресации стоит недорого. Можно применить некоторые интересные способы программирования, если рассматривать регистр команд как индексный. [14]
Для модификации переменных адресов согласно ( 38) ( при наличии в них признака групповой операции) в машине должны предусматриваться специальные устройства. Это может быть реализовано, например, следующим образом. [15]