Я не фанат псевдоинструкций MIPS. Если у вас есть архитектурный регистр, «предназначенный» для использования в качестве скрытого временного, у вас может быть слишком много регистров ... (Хотя, честно говоря, интересно иметь пару архитектурных регистров, которые ядру разрешено асинхронно прерывать для обработчиков быстрых прерываний включая обработчики TLB-miss. Это означает, что обработка прерываний может быть проще с архитектурной точки зрения; IDK работает так, но, возможно, она помещает старый ПК в один из этих регистров.)

юбопытно, почему нам не разрешают использовать регистры в качестве смещений в MIPS. Я знаю, что выне может используйте регистры как смещения, как это:lw $t3, $t1($t4); Мне просто любопытноПочему это тот случай.

Это аппаратное ограничение? Или просто часть ISA?

Ответы на вопрос(1)

Ваш ответ на вопрос