我目前正在开发一个程序,使用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, 24($sp) # save $fp register to the stack
addu $fp, $sp, 28 # set $fp register to the end of the stack
我只是不明白这将如何帮助我找到素数。任何见解将不胜感激!
答案 0 :(得分:0)
如果你熟悉Eratosthenes的筛子,你不需要递归来找到素数。与使用递归相比,此方法更简单,内存效率更高,并且您不需要使用堆栈。
我无法帮助您解决这些问题,因为您从未指定过您使用的算法。