我希望设置一个数组,然后将整数存储在数组的特定元素中。例如,我想将数字7存储在数组的第21个元素中,将数字9存储在第27个元素中。我一直试图这样做:
.data
array: .space 100
当我设置元素时:
la $t0, array
addi $v1, $0, 7
sw $v1, 84($t0)
我使用了4个多重偏移,因为存储了一个字但是我不确定错误(异常4和5)是否因为我试图将字存储在字节数组中。
答案 0 :(得分:0)
你的代码很好。我想你的问题是array
没有正确对齐。
内存总是被认为是一个字节数组,但MIPS不允许在未对齐的地址上加载/保存32位字(未对齐意味着该地址不是4的倍数)。
在.align 2
标签前使用指令array
。