【发布时间】:2017-10-29 07:21:03
【问题描述】:
我正在学习如何做 MIPS,但我对乘法感到困惑。假设我正在将以下 C 代码转换为 MIPS。
c = b + a*3
a,b,c 分别存储在寄存器 $s1,$s2,$s3 中。我应该如何在 MIPS 中写 a*3?是否有用于乘法的 addi 类型指令,或者我是否将 3 存储在临时寄存器中并像这样使用 mult 运算符?
addi $t0, $zero, 3
mult $s1,$t0
如果是这样,我如何获得此操作的最终值或乘积来完成我的 C 代码?
【问题讨论】:
-
64 位产品在
lo和hi寄存器中。使用mflo和mfhi指令来获取它们的值(或者如果您只对32 个最低有效位感兴趣,则只需mflo)。有关这些指令的更多信息,请参阅 MIPS 指令集参考。
标签: mips multiplication