Инструкция MIPS Branch, выходящая за пределы диапазона - PullRequest
0 голосов
/ 28 февраля 2019

Я понимаю, что в MIP для адресации с ПК существует максимальная дальность перехода.Однако что, если адрес, на который я хотел перейти, был за пределами диапазона?

т.е. beq $s0, $s1, L1

, где L1 является отцом от ПК, чем могут поддерживаться bne и beq.Можно ли как-нибудь построить эквивалентную кодовую последовательность?

1 Ответ

0 голосов
/ 28 февраля 2019

Так что, если 16 битов команды I-типа недостаточно для L1, вы можете использовать J-тип, поскольку он имеет 26 бит для вашего адреса (просто создайте свой, если вокруг него). MIPS I-Введите против J-Type

Если этого по-прежнему недостаточно, вы должны сохранить свой адрес в регистре, используя: la $t0, L1, а затем перейти к этому регистру, используя: jr $t0 Если вы сохраните его всначала зарегистрируйтесь, у вас есть полный 32-битный адрес.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...