2015-09-25 99 views
0

我期待設置一個數組,然後將整數存儲在數組的特定元素中。例如,我想在數組的第21個元素處存儲數字7,在第27個元素處存儲數字9。我一直在努力做到這一點:如何使用MIPS數組在特定位置存儲數據?

 .data 
array: .space 100 

當我設置的元素:

la $t0, array 
addi $v1, $0, 7 
sw $v1, 84($t0) 

我用了4倍數偏移,因爲存儲一個字,但我不知道,如果錯誤(異常4和5)是因爲我試圖在一個字節數組中存儲一個字。

回答

0

你的代碼沒問題。我想你的問題是array沒有正確對齊。 存儲器總是可以被認爲是一個字節數組,但MIPS不允許裝載/在未對齊的地址保存一個32位字(其中,未對齊意味着該地址是不是4的倍數)。

在您的array標籤之前使用指令.align 2

相關問題