计算MIPS汇编中的素数

时间:2014-10-10 01:30:23

标签: 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, 24($sp)     # save $fp register to the stack
 addu  $fp, $sp, 28     # set $fp register to the end of the stack

我只是不明白这将如何帮助我找到素数。任何见解将不胜感激!

1 个答案:

答案 0 :(得分:0)

如果你熟悉Eratosthenes的筛子,你不需要递归来找到素数。与使用递归相比,此方法更简单,内存效率更高,并且您不需要使用堆栈。

我无法帮助您解决这些问题,因为您从未指定过您使用的算法。