0

これらは私のコード行です:

li  $v0, 6      # select read_float     
syscall         # run read_float
jal p4          # run println
mfc1 $f4, $v0

コンパイラは次のエラーを返します。

spim: (パーサー) ファイル /home/robertina/Scrivania/Labo Spim/mioprogetto/mioprogetto.s mfc1 $f4, $v0 の 132 行目の構文エラー

この行が正しく機能しない理由を誰か知っていますか?

4

1 に答える 1

0

MIPS mfc1 のクイック グーグル、それがコプロセッサ 1からmfc1の移動であること、および(coproc 1 への移動)の両方が FP レジスタを 2 番目に配置することを示します (ソースまたは宛先に関係なく)。mfc1mtc1

mfc1    $v0, $f4        # set $v0 = $f4

(通常、asm にそのようなコメントを書かないでください。注意が必要な点や明白でない点がない限り、アセンブラー マニュアルを調べてわかることではなく、命令がそこにある理由を説明してください。あなたの質問は良いです、例えばselect read_float、より意味がありますput 6 into $v0

アセンブラが役に立たないエラー メッセージを表示し、正しい方向を示していないのは残念です。ほとんどのアセンブラはそれよりも優れています。

于 2016-08-24T07:56:00.693 に答える