[理工] 計組 C function轉 MIPS 組語

作者: jojoboy0115 (jojo)   2018-11-30 11:08:50
https://i.imgur.com/sURTSRg.jpg
https://i.imgur.com/O2THFX1.jpg
有大大可以解釋這題怎麼轉換的嗎?
前三行很疑惑,為什麼知道要先-8,
以及為什麼return address以及傳入的參數n,
分別是放在$sp-8+4跟#sp-8?
假設今天傳入兩個參數,#sp先-12,
Return address: sw ra,8(sp)
X:sw s0,4(sp)
Y:sw s0,(sp)
是這樣的規則嗎?
我用n=3帶入,進入到L1,3-1=2,又跳回fact,又存Ra,跟2在stack,再來就卡住不知怎麼回去...再麻煩各位大大
作者: skyHuan (Huan)   2018-11-30 11:59:00
是的知道要存幾個才減多少,可以看這篇#1RvRYZVT (Grad-ProbAsk)不太一樣的程式,但滿多參數的傳遞跟副程式的呼叫間的關係,看你看完會不會比較懂
作者: jojoboy0115 (jojo)   2018-11-30 13:36:00
先謝謝sky大,我正在拜讀中,有問題我再提出

Links booklink

Contact Us: admin [ a t ] ucptt.com