[理工] 计组Assembly language请教

楼主: jaymimic (Chichi)   2017-06-28 16:57:24
http://i.imgur.com/xLnb1sl.jpg
http://i.imgur.com/HFWxazI.jpg
想请问各位高手两个问题
首先是在assembly language中的第四行 为什么要initialize return value?
另一个问题是
假设n=3最后回传的答案应该会是6
可是我不知道该怎么从assembly language得到答案6
谢谢各位大大了
作者: nakabin (日落)   2017-06-28 17:38:00
a0就是n,把3代入a0
楼主: jaymimic (Chichi)   2017-06-28 17:41:00
我意思是不知道该怎么trace....
作者: brilliantl (brilliant)   2017-06-28 18:45:00
可能要再仔细看一下前面的内容喔,return value要先放在v0这个register,等要return时,就可以被原function使用,没记错的话是这样
作者: TMDTMD2487 (ㄚ冰)   2017-07-11 16:31:00
初始化v0是因为他是return value, 你每次递回都累加在他身上,你先设0结果就不会对打错你不先设0就不会对一开始把要保护住的值存到stack -> a0-1 -> jal sum直到a0为0ao为0跳到return,此时把stack的东西拿出来,加到v0,然后跳回return address在妳做jal的时候会帮你把ra改成原来jal的下一行指令(pc+4所以现在跳回到jal的下一行,把东西lw出来,stack清掉,把值加上去,再一次ra

Links booklink

Contact Us: admin [ a t ] ucptt.com