«Зарегистрировать косвенную» адресацию означает, что адрес, который будет использоваться
Инструкция (известная как «эффективный адрес») берется из содержимого
зарегистрироваться, а не кодироваться непосредственно в самой инструкции
(что является "абсолютной" адресацией). MIPS имеет инструкции по переходу для обоих
режимы адресации:
j 0x1234
означает «перейти к адресу 0x1234
» (абсолютная адресация), тогда как
jr $ra
означает «перейти к адресу, указанному в регистре $ra
» (косвенный регистр
адресация).
Адресация «База плюс смещение» означает, что базовый адрес берется из
содержимое регистра, а затем смещение (которое кодируется в инструкции
сам) добавлен. MIPS использует этот режим адресации для загрузки и хранения. За
Пример:
lw $t0, 0($a0)
lw $t1, 4($a0)
... если $a0
содержит 0x1234
, то $t0
будет загружено словом в
адрес 0x1234
(эффективный адрес - содержимое регистра, плюс
смещение 0), и $t1
будет загружен словом по адресу 0x1238
(эффективный адрес - содержимое регистра плюс смещение 4).
Как вы можете видеть, когда смещение равно 0, это эквивалентно косвенному регистру
адресации.