Assembly MIPS汇编中素数的计算
我目前正在开发一个程序,使用PCSPIM在MIPS汇编中使用递归计算最多200个素数。到目前为止,我已经成功地填充了一个1-200的数字数组和一个包含所有1的二进制向量列表。我正在努力解决的概念是如何使用堆栈框架来帮助完成这个过程 以下是我为堆栈框架准备的内容:Assembly MIPS汇编中素数的计算,assembly,mips,pcspim,Assembly,Mips,Pcspim,我目前正在开发一个程序,使用PCSPIM在MIPS汇编中使用递归计算最多200个素数。到目前为止,我已经成功地填充了一个1-200的数字数组和一个包含所有1的二进制向量列表。我正在努力解决的概念是如何使用堆栈框架来帮助完成这个过程 以下是我为堆栈框架准备的内容: subu $sp,$sp,32 # Set up the stack frame sw $ra, 28($sp) # save $ra register to the stack sw $fp,
subu $sp,$sp,32 # Set up the stack frame
sw $ra, 28($sp) # save $ra register to the stack
sw $fp, 24($sp) # save $fp register to the stack
addu $fp, $sp, 28 # set $fp register to the end of the stack
我只是不明白这将如何帮助我找到素数。如有任何见解,将不胜感激 如果您熟悉Eratosthenes的筛选,则不需要递归来查找素数。这种方法比使用递归更简单,内存效率更高,并且不需要使用堆栈
我不能帮你找到素数,因为你从来没有指定你使用的算法 在编写代码之前,你清楚算法吗?我只是不明白这将如何帮助我找到素数。它可以帮助您执行递归调用,因为您需要以某种方式保存和恢复$ra和其他寄存器,并且您可以说您的算法是递归的。starrify,我完全清楚该算法。如果我必须用高级语言来做,我肯定能做到。我只是不明白如何在MIPS中执行。@dhint4很好。那么迈克尔的评论也是我想说的。还可以询问Google如何在诸如MIPS assembly之类的低级语言中实现递归。