Assembly MIPS阶乘函数,用于检查是否可以返回单词中的值

Assembly MIPS阶乘函数,用于检查是否可以返回单词中的值,assembly,mips,Assembly,Mips,嗨,我在准备考试,一直在努力通过旧的考试,找到了这个任务 “编写一个MIPS函数,该函数计算n!(n!=1*2*3…*n)并以单词形式返回结果。该函数还应返回指示n!是否可以在单词中表示的信息” 我为计算n!的第一部分编写了函数。我不确定用一个词返回它意味着什么,我将它存储在$v0中,然后添加jr$ra以返回给调用者。我也不确定问题的第二部分想要什么。我是否要检查$v0是否大于2147483647,并将0返回为false,将1返回为true 非常感谢您的帮助当然,您不能直接检查:)根据作业的不同

嗨,我在准备考试,一直在努力通过旧的考试,找到了这个任务

“编写一个MIPS函数,该函数计算n!(n!=1*2*3…*n)并以单词形式返回结果。该函数还应返回指示n!是否可以在单词中表示的信息”

我为计算n!的第一部分编写了函数。我不确定用一个词返回它意味着什么,我将它存储在$v0中,然后添加jr$ra以返回给调用者。我也不确定问题的第二部分想要什么。我是否要检查$v0是否大于2147483647,并将0返回为false,将1返回为true


非常感谢您的帮助

当然,您不能直接检查:)根据作业的不同,您只需检查输入,知道哪一项将被忽略。或者,在每个步骤中,确保新值大于上一个值,否则会发生溢出。@Jester不确定您所说的“交叉”是什么意思。这是一个笔试和笔试,因此没有任何方法可以通过反复试验来检查。然后选择第二个选项。@JohnDoe“我应该返回什么来指示结果溢出?”一个不能是阶乘的值,例如
0
。请注意,
0!=1
。测试输入是否大于12?我看不出你必须真的计算n!看看它是否合适。类似于
if(n>12)返回0,否则返回n