伊莉討論區

標題: 請問這串組合語言哪裡有錯 [打印本頁]

作者: b2581167    時間: 2018-3-9 03:49 PM     標題: 請問這串組合語言哪裡有錯

提示: 作者被禁止或刪除 內容自動屏蔽
作者: z1090128    時間: 2018-3-12 11:11 PM

請問這是C或C++的嗎?  恕小弟才疏學淺,這段完全看不懂
作者: bmpss921_58    時間: 2018-3-19 12:01 AM

我只有以前稍微翻過白算盤,所以不太確定,供你參考

程式int f(int a,int b,int c,int d);
告知要回傳int型態的值,而MIPS用$v0及$v1儲存回傳值
但我沒看到有回傳值

那個v0應該是foo的回傳值,而不是f的回傳值
如果是這樣的話第二個foo完全沒用上回傳值,那此foo應該是多餘的?
還是foo有其他用途?我不清楚foo,所以大概這樣想

另外這應該不算是C/C++的範圍吧...
作者: jackyo04    時間: 2018-6-21 09:28 AM

可以告訴我這個是什麼語言嗎?
宣告的東西號想跟C/C++沒有關係,至少我學到現在還沒看過..
作者: ash1326    時間: 2018-8-8 09:22 PM

你先劃分一空間並返還堆疊於ra(a0 a1 a2 a3)
然後將 s0 s1分別設為 a2 a3
然後返還v0內的值到a0之中,v0內的值沒說是啥,這樣就錯啦
再來a1 = s0 + s1,所以a1 = a2 + a3
然後是第二個jal foo,這是多餘的....
最後刷新暫存器,並跳轉回ra

結果
a0 = 錯誤
a1 = a2 + a3
a2 = unknow
a3 = unknow

作者: ash1326    時間: 2018-8-8 09:23 PM

jackyo04 發表於 2018-6-21 09:28 AM
可以告訴我這個是什麼語言嗎?
宣告的東西號想跟C/C++沒有關係,至少我學到現在還沒看過.. ...

這是組合語言,現在沒啥人會了




歡迎光臨 伊莉討論區 (http://a26.eyny.com/) Powered by Discuz!