2013-03-27 47 views
0

如何將這種類型的代碼塊轉換爲MIPS?在MIPS中進行類型轉換

gap = (int)(gap/1.3);

+0

請參閱指令集參考:http://vhouten.home.xs4all.nl/mipsel/r3000-isa.html和http://www.doc.ic.ac.uk/lab/secondyear/spim/node20 .html – Michael 2013-03-27 16:27:05

回答

1

第一負載1.3至A F章。參考:MIPS (or SPIM): Loading floating point numbers

.data 

number: .double 1.3 

.text 

l.s $f2, number 

現在負荷F1至(雙)間隙

mtc1 $a0, $f1 
cvt.d.w $f1, $f1 

然後設置$ F3 =(雙)(間隙/ 1.3)

div.d $f3, $f1, $f2 

現在將其轉換爲int

cvt.w.d $f3, $f3  
mfc1 $s2, $f3 

那都是

+0

我想你應該在每個有'.s'的地方說'.d'。前者意味着「雙重」,後者意味着「浮動」,或單一精度。 – markgz 2013-03-29 18:25:56

+0

@markgz是的,你是對的。在實現後忘了更新這篇文章 – Mustafa 2013-03-29 21:43:20