MIPS 操作存储在数据中的数组

MIPS Manipulating array stored in data

我似乎无法想象这是如何工作的。 我正在尝试将这个简单的作业从 C 转换为 mips:

#define ARRAYSIZE 16
int intarray[]={1, 5, -3, 6, 12, 21, 18, 44, 32, 9, 23, 10, 11, 99, 100, 24};

intarray[little] = intarray[ARRAYSIZE-1];

所以我在数据中定义数组

.data
  intarray: .word 1, 5, -3, 6, 12, 21, 18, 44, 32, 9, 23, 10, 11, 99, 100, 24

现在的问题是我知道如何轻松地从这个数组中加载单词

lw $t0, intarray($a0)

但我不知道如何保存到那个数组,因为它不在寄存器中。我什至可以操纵那个数组,还是必须在寄存器中构建一个重复的数组?

我混淆了 lwsw,起初在汇编中的思考可能会令人困惑。原来我要找的答案是你需要先加载数组的基址(la address)然后调用sw register address.