2011-02-11 48 views
1

我想製作一個數組,然後根據需要更新某些單元格的值。據我所知,使用堆棧框架將是最好的方法,但我無法實現它的工作。任何人都能指出我正確的方向?如何在MIPS中更新數組?

謝謝!

+0

你的代碼到目前爲止是什麼樣的? – 2011-02-11 05:41:52

回答

1

你應該已經有數組操作像C的語言是如何工作的一個很好的理解

如果你想要把當前堆棧幀的數組,並操縱它存在(並瞭解其好處和問題),則應該執行以下操作:

  1. 首先,請注意堆棧指針寄存器($sp)的當前值。您將使用它作爲指向數組開頭的指針。將它存儲在另一個寄存器中
  2. 首先將堆棧指針寄存器($sp)增加該數組所佔的字節數。這會給你足夠的工作空間。
  3. 如果要更新數組,請計算數組起始地址和數組索引。例如,要寫入或讀取元素5,請在數組的起始處添加5,乘以字大小。在32位機器上,乘以4.
  4. 使用sw指令將數組中的單詞存儲在該地址處,並使用lw加載單詞。
+0

這會允許我更新數組中的單個單元嗎?就像我有陣列A一樣,我可以用你的方法把A [6]改成A [6] +1還是其他單元? – Parker 2011-02-11 05:59:08