Cтраница 3
При индексной адресации действительный адрес операнда находится путем сложения содержимого индексного регистра с базовым адресом, следующим за кодом операции. [31]
Кроме арифметических и поразрядных ( логических) операций, операций изменения содержимого индексных регистров и связанных с ними модификаций команд, в машинах с естественным порядком выборки команд реализуются так называемые операции перехода. В машинах с естественной выборкой команд адрес команды, подлежащей исполнению, хранится в специальном регистре, называемом счетчиком команд. После выполнения команды содержимое счетчика команд увеличивается на единицу ( или несколько единиц, если команда занимает несколько ячеек памяти ( байтов) машины) и происходит выборка очередной команды из памяти машины по сформированному в счетчике команд адресу. Операции перехода применяются в том случае, если описанный порядок выборки команд должен быть нарушен. [32]
Следовательно, исполнительный адрес модифицируемой команды может быть изменен путем изменения содержимого указанных индексных регистров без изменения самой команды в памяти машины. [33]
Следовательно, исполнительные адреса такой команды могут быть изменены путем изменения содержимого указанных индексных регистров без изменения самой команды в памяти машины. [34]
Заметим прежде всего, что наличие операций условного перо-хода в зависимости от содержимого индексных регистров позволяет эффективно использовать их в качестве счетчиков для управления числом повторений, если это число известно к моменту выполнения цикла. [35]
Таким образом, две команды начала цикла различаются тем, что первая непосредственно задает содержимое индексного регистра, а вторая косвенно, путем задания адреса ячейки, из которой необходимо переписать на индексный регистр содержимое 15 разрядов. Если первой командой удобно пользоваться при заранее известном, постоянном числе повторений, то вторая предназначена для использования при переменном значении числа повторений, которое находится в одной из ячеек памяти. [36]
И снова адреса состоят из трех компонент: смещение, содержимое регистра базы и содержимое индексного регистра. Смещение известно во время компиляции. Однако содержимое регистра базы и индексного регистра должно определяться во время выполнения программы. На машине Системы 360 мы можем генерировать команду, которая загружает в регистр базы адрес начала этой области памяти. [37]
Метод адресации, при котором формирование исполнительного адреса осуществляется путем добавления к базовому адресу содержимого индексного регистра. [38]
Следует обратить внимание на то, что для получения исполнительного адреса команды всегда используется то содержимое индексных регистров, которое имело место к началу выполнения данной команды. [39]
![]() |
Программа сложения двух чисел, в которой использована адресация с индексированием. [40] |
В, поскольку, согласно способу адресации с индексированием, адрес операнда определяется посредством сложения содержимого индексного регистра со вторым байтом команды. Результат такого сложения и является адресом области памяти. [41]
Если используется переадресация по индексу, то возврат к начальному значению параметра производится путем изменения содержимого индексных регистров. [42]
Разряд косвенной адресации ( IA) обусловливает прибавление содержимого слова, определяемого адресом, к содержимому индексного регистра. [43]
При выполнении очередной команды ( Load AC, 1000, I) формируется адрес, равный 1000 плюс содержимое индексного регистра. Однако истинное значение адреса мы получим лишь после прибавления к значению индексированного адреса значения, хранящегося в базовом регистре. [44]
Индексная ( indexed) - адресация, при которой формирование исполнительного адреса осуществляется путем добавления к базовому адресу содержимого индексного регистра. [45]