2015-09-25 101 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

相关问题