在 Mips 中使用递归
我想用递归来做一个程序。我将使用 if-else。问题是: 我是否必须在每种 if-else 情况下返回一些内容?
I want to do a program by using recursion. I am going to use if-else. The question is:
Do I have to return something in each case of if-else?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,每次将指针传输到新位置都有一个堆栈跟踪。为了实现递归,您需要在每种 if-else 情况下返回一些内容,或者至少在每个 if-else 之后您需要执行一些操作并将结果存储在全局内存位置中,并且可以从您的任何位置访问代码。
Yes, there is a stack trace for each transfer of pointer to a new location. And in order to implement recursion, you need to return something in each case of if-else, or at least after each if-else you need to perform some operation and store the result in a memory location which is global and accessible anywhere from your code.
汇编程序中的递归与循环没有什么不同。
在汇编程序中进行递归时,请确保您没有销毁寄存器中的变量!
Recursion in assembler is not all that different from a loop.
When doing recursion in assembler, make sure you're not demolishing the variables you had in your registers!