如何计算 WinMIPS64 中除法的余数
How to calculate the remainder of a division in WinMIPS64
MIPS ISA 支持 DIV
,商存储在 $LO
中,余数存储在 $HI
中。但是,WinMIPS64 似乎不支持 DIV
操作,而是具有(例如)DDIV
。
从文档中还不清楚 DDIV
是否只计算商,但是当我将结果输出到终端时,我只得到它的整数部分,在 WinMIPS64 GUI 中我找不到任何地方存储商的寄存器或一段数据存储器。
我考虑过使用连续减法来执行除法,但我想知道在 WinMIPS64 中是否有一种简单的方法来计算除法的余数。
如果您能提供任何帮助,我将不胜感激。
我没有足够的 XP 来写评论所以我写在这里:
如果你和我在同一个 class 并且你需要得到循环展开的余数,你可以用 SLT 检查是否 (i+x) > ITERATIONS-1 where x is your循环展开因子。由于您无论如何都需要计算 (i+x),因此这不会花费您任何额外的周期。
MIPS ISA 支持 DIV
,商存储在 $LO
中,余数存储在 $HI
中。但是,WinMIPS64 似乎不支持 DIV
操作,而是具有(例如)DDIV
。
从文档中还不清楚 DDIV
是否只计算商,但是当我将结果输出到终端时,我只得到它的整数部分,在 WinMIPS64 GUI 中我找不到任何地方存储商的寄存器或一段数据存储器。
我考虑过使用连续减法来执行除法,但我想知道在 WinMIPS64 中是否有一种简单的方法来计算除法的余数。
如果您能提供任何帮助,我将不胜感激。
我没有足够的 XP 来写评论所以我写在这里:
如果你和我在同一个 class 并且你需要得到循环展开的余数,你可以用 SLT 检查是否 (i+x) > ITERATIONS-1 where x is your循环展开因子。由于您无论如何都需要计算 (i+x),因此这不会花费您任何额外的周期。