MIPS递迴小程式 求大神帮忙

qq_27183939 2016-11-08 12:19:01
C code:
int fact (int n)
{
if (n < 1) return f;
else return n * fact(n - 1);
}



1.请将上述程式改成一个完整的组语程式,假设int fact (int n)的n设为5,整数输入值存取于暂存器$a0,答案存取于暂存器$a1,将改完的程式放在QtSpim上执行。(此题须附上程式的组合语言、QtSpim执行结果的截图)(20%)

2.假设输入值为5时,表示出每次函数呼叫后堆叠的内容(10%)

3.堆叠的读取方式为何?(10%)

4.假设输入值为7,并且请将此题的程式改成非递迴的运算形式(使用组合语言),然后在QtSpim上执行。(此题须附上程式的组合语言、QtSpim执行结果的截图、解说组合语言程式如何运作与演算法)(20%)


5.请用MIPS组合语言写出费波那西数列(Fibonacci),整数输入值存取于暂存器$a0,整数输入为10(即第10项),结果存取于暂存器$s2,将改完的程式放在QtSpim上执行。(此题须附上程式的组合语言、QtSpim执行结果的截图、解说组合语言程式如何运作与演算法)(可使用递迴或其他方法)(40%)


组合语言程式附档名为 “.s”
程式终止方法可参考syscall
...全文
506 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2016-11-08
  • 打赏
  • 举报
回复
作业要跟同学商量着做或多问老师怎么做。

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧