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

看板Grad-ProbAsk作者 (jojo)時間7年前 (2018/11/30 11:08), 編輯推噓1(104)
留言5則, 2人參與, 7年前最新討論串1/1
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,再來就卡住不知怎麼回去...再麻煩各位大大 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.15.16.255 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1543547333.A.854.html

11/30 11:59, 7年前 , 1F
是的知道要存幾個才減多少,可以看這篇
11/30 11:59, 1F

11/30 11:59, 7年前 , 2F

11/30 12:01, 7年前 , 3F
不太一樣的程式,但滿多參數的傳遞跟副程式的呼叫間的關
11/30 12:01, 3F

11/30 12:01, 7年前 , 4F
係,看你看完會不會比較懂
11/30 12:01, 4F

11/30 13:36, 7年前 , 5F
先謝謝sky大,我正在拜讀中,有問題我再提出
11/30 13:36, 5F
文章代碼(AID): #1S0Ad5XK (Grad-ProbAsk)