2013-05-18 4 views
5

Я хочу разделить два значения, которые находятся в $tn регистров.Преобразование целого в двойное в MIPS

Я должен разделить эти два значения, чтобы получить двойной результат, но функция div возвращает только целочисленную часть этого подразделения, кто может помочь?

Нужно ли мне преобразовывать $t1 и $t2 в $f0 и $f2?

Как это сделать?

li $t1,2 
li $t2,5 

div $f0,$t2,$t1 

Это дает мне ошибку, потому что он ожидает значения $tn не $fn значения ...

ответ

9

Вы должны двигаться и преобразовать целое число хранится в регистр общего назначения с плавающей точкой или двойным регистром.

Если предположить, что число хранится в $a1, чтобы преобразовать в двойной пары ($f12, $f13) Вы должны выдать:

mtc1.d $a1, $f12 
    cvt.d.w $f12, $f12 

И чтобы преобразовать его в одинарной точности поплавок ($f12) вы делать:

mtc1 $a1, $f12 
    cvt.s.w $f12, $f12 
+0

^^ как всегда спасибо: D –

+0

Эта ссылка помогла мне понять это более https://www.cs.tcd.ie/~waldroj/itral/spim_ref.html – Brian

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