0
所以我遇到問題的麻煩。我認爲a是一組單詞,a的基地址保存在$ a0中。所以對於int a [10],使用mips找到這個數組的總和。我真的不知道從哪裏開始可以有人幫助我開始,我想我應該能夠完成它。謝謝一堆!使用MIPS找到數組的總和
所以我遇到問題的麻煩。我認爲a是一組單詞,a的基地址保存在$ a0中。所以對於int a [10],使用mips找到這個數組的總和。我真的不知道從哪裏開始可以有人幫助我開始,我想我應該能夠完成它。謝謝一堆!使用MIPS找到數組的總和
由於給出了數組開頭的地址,因此您知道這也是您的第一個元素。由於這是一個int數組,因此我將假定它意味着它將使用mips32上一個字長爲4個字節的存儲空間。因此,[1]位於[0] + 4字節的地址處。 A [2]位於[0] +8字節或[1] + 4字節等的地址處...
由此可見,所有你需要做的只是循環10次,加載一個字每次添加值。
的基本流程是:
注意:您將得到基地址必須是字對齊的。
優化注意事項:您可以通過在步驟1之前將某些寄存器設置爲$ a0 + 40來優化執行的指令數。這意味着您可以擺脫第5步,並且如果$ a0小於第6步(最後一個優化是將步驟4移動到步驟6的延遲槽,如果您正在使用模擬器,則可能不支持)