2013-03-27 51 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