[理工] 計組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