4

MARSでli.sが使えません。私は MIPS プログラミングが初めてで、コ プロセッサを使用しないようにしています。li.s を使用できないのはなぜですか? MARS はプログラムですか? 誰かが私を新しい方向に導いてくれるととても助かります!

4

2 に答える 2

2

これは疑似命令であり、おそらく mars には実装されていません。li (ori) と mtc1 のシーケンスを使用できます。

これにより、値 1.234 が $fp1 にロードされ、MARS で機能します。

li $t1,0x3f9df3b6
mtc1 $t1,$f1

16 進数値または整数値は、http://babbage.cs.qc.edu/IEEE-754/Decimal.htmlを使用するか、単純なプログラムを使用して見つけることができます (Fortran では、C ではポインター キャストを使用して類似しています)。

read(*,*) a
i=transfer(a,i)
write(*,*) i
end
于 2011-11-10T11:30:39.653 に答える
1

疑似命令 ls とデータ セグメントに格納された定数を使用して、疑似命令 li.s と同じ効果を得ることができます。

  l.s $f1, fpconst

.data 0x1000
fpconst:
.float 1.2345

これは、コプロセッサ レジスタ $f1 を使用して浮動小数点定数を格納します。

lw $f1, fpconstls の代わりに使用して、定数を通常のレジスタに入れることもできます

于 2011-11-10T14:32:04.627 に答える