MIPS loat float без li.s

#floating-point #mips

#с плавающей запятой #mips

Вопрос:

Я пытаюсь загрузить целое число с плавающей запятой в MIPS без инструкции псевдокода, такой как li.s кто-нибудь знает, как бы я это сделал для примера, подобного 2.0

Ответ №1:

Я был в аналогичной ситуации, и это то, что я нашел:

В Mars вы не можете использовать li.s, потому что это псевдоним, не реализованный. В PCSPIM это реализовано, что-то вроде

 li.s $f2, 9.0
  

В PCSPIM будет преобразован в

 lui $1, 16656
mtc1 $1, $f2
  

Итак, если вы хотите выполнить li.s, но не хотите вызывать li.s, вы всегда можете загрузить свою программу в PCSPIM (с li.s) и посмотреть, что изменилось в вашем коде, а затем заменить эти изменения своим кодом.

Но будьте осторожны, в PCSPIM вы не можете

 lui $1, 16656
mtc1 $1, $f2
  

Это вызовет у вас приятную ошибку.

Я знаю, это дешево и сложно, но это делает свое дело…