私はMIPSのやり方を学んでいます。私は乗算を混乱させています。私は次のCコードをMIPSに変換していたとしましょう。レジスタ値にMIPSの定数を乗算するか?
c = b + a*3
とa、b、cはそれぞれレジスタ$ s1、$ s2、$ s3に格納されています。 MIPSで* 3を書くにはどうすればいいですか?乗算のためのaddi型命令がありますか?または一時レジスタに3を格納し、このようなマルチ演算子を使用しますか?
addi $t0, $zero, 3
mult $s1,$t0
もしそうなら、私のCコードを完成させるためにこの操作の最終的な価値や製品を得るにはどうすればよいですか?
64ビット製品は 'lo'と' hi'レジスタにあります。それらの値を得るには 'mflo'と' mfhi'命令を使います(最下位32ビットのみに興味があるなら 'mflo'のみ)。これらの命令の詳細については、MIPS命令セットリファレンスを参照してください。 – Michael