2014-03-06 4 views
0

Я знаю, как перевести обычный MIPS-код на машинный язык, но как передать псевдо-инструкции в машинный код? Например, команда pseudo branch ble (ветвь на менее ровной). Я не могу найти код операции для справки на листе справки. Как я могу его перевести? Я попытался разрешить две обычные инструкции: ble $ t0, $ t1, L >> sub $ t0, $ t0, $ t1 blez $ t0, L И затем перевести две инструкции в машинный код. Кажется, это правильно? Пожалуйста, помогите ...перевод mips псевдо-инструкция в машинный код

ответ

1

Я потратил несколько минут на поиски Google, пытаясь найти какой-нибудь документ, в котором перечислены все псевдо-инструкции в сборке MIPS и их переводы, но не смог добиться успеха.

Вместо этого this link, похоже, имеет достаточно информации, чтобы получить эту идею.

Для решения вашего конкретного примера ble $rt, $rs, LABEL псевдо-инструкций, я считаю, что правильный перевод в соответствующие инструкции является:

slt $at, $rs, $rt 
beq $at, $zero, LABEL 

Где конечно $at является регистр зарезервирован для сборщика - за исключением случаев, как это ,

+0

Большое вам спасибо, я понимаю сейчас. Есть много способов перевести правильно? До тех пор, пока функция перевода не отличается от функции перевода? – user3330872

+0

Возможно, существует несколько способов сделать это, но, конечно же, вы ищете максимально возможное. Приятно слышать, что я вам помог, если это сработало для вас, пожалуйста, примите ответ :) –

 Смежные вопросы

  • Нет связанных вопросов^_^