如何在 MIPS 中编写没有 mult 或 div 指令的除法和余数代码?

Joh*_*Doe 1 mips

我必须接受 2 个用户输入并找到乘积、商和余数。我也不能使用乘法或除法运算符。

我有乘法代码:

L1:
add  $t2,$s1,$s0  #diving $s0 by $s1
bge  $s1, $s0, EXIT   # branch if ! ( i < k )
addi $s1, $s1, 1      # k++
add  $t2, $s1, $s0    # i = i * 2 
EXIT:
Run Code Online (Sandbox Code Playgroud)

我如何求商和余数?我尝试将所有adds 更改为subs 但没有成功。

小智 5

使用以下命令获取商和余数

rem   d, s1, s2     #d = s1 % s2;  gives remainder
Run Code Online (Sandbox Code Playgroud)