Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 如何在不使用div运算符的情况下在MIPS中执行%_Assembly_Mips - Fatal编程技术网

Assembly 如何在不使用div运算符的情况下在MIPS中执行%

Assembly 如何在不使用div运算符的情况下在MIPS中执行%,assembly,mips,Assembly,Mips,我需要使用MIPS执行C语言I-=j%64,但我不能使用DIV。如果不使用DIV,我如何在MIPS中找到余数。I变量存储在$t0中,j存储在$t1中。说到数学,不考虑计算机系统,如果我们想要一些模100的数字,我们只需要取其最后两个十进制数字 我们可以在二进制中做同样的事情,用2的幂来代替我们从小就有的10的幂 让我们观察一下,64实际上是2/6的幂 因此,模64是输入的最低6位二进制数字 尝试ANDI指令仅将最低的6位移到另一个寄存器。int den=0;而j>64{++den;j-=64;}

我需要使用MIPS执行C语言I-=j%64,但我不能使用DIV。如果不使用DIV,我如何在MIPS中找到余数。I变量存储在$t0中,j存储在$t1中。说到数学,不考虑计算机系统,如果我们想要一些模100的数字,我们只需要取其最后两个十进制数字

我们可以在二进制中做同样的事情,用2的幂来代替我们从小就有的10的幂

让我们观察一下,64实际上是2/6的幂

因此,模64是输入的最低6位二进制数字


尝试ANDI指令仅将最低的6位移到另一个寄存器。

int den=0;而j>64{++den;j-=64;}i-=j;询问一个C编译器,看看它是否使用了慢div指令。