Cтраница 3
Все последующие обращения к этой процедуре будут выполняться без ошибок, поскольку слово с косвенным адресом теперь содержит действительный виртуальный адрес. Следовательно, компоновщик вызывается только тогда, когда некоторая процедура вызывается впервые. После этого вызывать компоновщик уже не нужно. [31]
Содержимое адресуемого регистра складывается с индексным словом, следующим за командой, и является косвенным адресом операнда. [32]
При косвенной адресации, как и при модификации, программа может быть написана в косвенных адресах, которые отсылают к таблице действительных адресов данных. Эта таблица затем может быть модифицирована перед выполнением программы с целью переадресации данных, а в ходе выполнения - с целью образования циклов с различными данными. Как можно видеть, это эффективно лишь в том случае, когда обращение к одинаковым ячейкам данных происходит в ходе выполнения программы несколько раз. [33]
Ниже приведен участок программы для выделения 5-го и 6-го разрядов кода для его преобразования в косвенный адрес РП. [34]
![]() |
Форматы команд МП К580. [35] |
VftSWety ЧЛТЧЛТрОЪйЯ косвенная адресация оказывается эффективной при обработке списочных структур данных, когда после загрузки косвенного адреса он многократно модифицируется командами инкремент или декремент. [36]
Таким образом сокращается время на вычисление индекса, а также уменьшается количество обращений к аргументам М и V, значения которых вызываются по косвенному адресу с некоторой потерей времени. [37]
При использовании адресации с индексированием адрес области памяти определяется как сумма текущего содержимого индексного регистра и содержащегося в команде а) абсолютного адреса, б) косвенного адреса, в) смещения или г) непосредственного операнда. [38]
Если процессор может обращаться к памяти произвольное число раз е целью поиска прямого адреса, то косвенная адресация имеет произвольную глубину, для обеспечения которой необходимо, чтобы код косвенного адреса отличался от кода прямого адреса. [39]
Кроме того, если задана косвенная адресация данных в канале, биты 30 - 31 в CCW должны быть равны 0, указывая на границу слова, а биты 0 - 7 первой записи списка косвенных адресов данных должны быть равны 0; ( См. [40]
Тогда подпрограмма должна иметь дополнительный входной параметр, являющийся адресом области рабочих ячеек рабочего поля); адрес возврата запоминается в рабочем полз и при всэх обращениях из подпрограммы к ее рабочему полю используется индеко-рзгиотр или косвенный адрес, который формируется го входному параметру. [41]
Блок регистров содержит программно-доступные ( с регистровой прямой или подразумеваемой адресацией) регистры: 8-разрядные аккумулятор А, общие регистры В, С, D, E, 16-разрядные счетчик команд СчК, указатель стека УС, парный регистр косвенного адреса Я - L, а также 8-разрядный регистр признаков, отдельные разряды ( флажки) которого, принимая значение 1, указывают: СУ - перенос, Р и М - соответственно знак и - результата, АС - вспомогательный перенос, Z - нулевой результат. Регистры используются для хранения операндов, промежуточных результатов и адресов. [42]
Блок регистров содержит программно доступные ( с регистровой прямой или подразумеваемой адресацией) регистры: 8-разрядные аккумулятор А, общие регистры В, С, D, Е, 16-разрядные счетчик команд СчК, указатель стека УС, парный регистр косвенного адреса H-L, а также 8-разрядный регистр признаков, отдельные разряды ( флажки) которого, принимая значение 1, указывают: СУ - перенос, Р и М соответственно - знак и - результата, А С - вспомогательный перенос, Z - нулевой результат. [43]
Адрес, определяющий ячейку памяти с элементом данных, который может быть истолкован как адрес операнда, но не обязательно, как в случае непосредственной адресации; адрес, указывающий местоположение ячейки памяти, которая в свою очередь содержит прямой или косвенный адрес. [44]
Для достижения большой гибкости косвенная, присоединенная и относительная адресация могут комбинироваться друг с другом. Например, косвенный адрес может быть присоединенным адресом, с которым можно эффективно использовать комбинацию двух регистров, или же косвенный адрес мог бы быть сделан относительным к индекс-регистру. Другая комбинация заключается в том, что адреса команды определяют регистр для основного косвенного адреса, а также два индекс-регистра для относительных адресов - тогда желаемый адрес ячейки памяти получается как сумма косвенного адреса и содержимого каждого из индекс-регистров. Путем последовательного увеличения содержимого каждого из индекс-регистров можно легко перебрать все компоненты двумерного массива. Конечно, можно предложить еще много комбинаций подобного рода. Наконец, каждая ячейка оперативной памяти может использоваться в качестве индекс-регистра. [45]