我正在尝试用 C 语言编写下面的代码,但我这样做确实存在问题,所以如果有人可以帮助我并同时向我解释,我将不胜感激。
array .word ?
mystery:
add r2,r0,r0
addi r7,r0,32
loop:
movia r4, array
slli r3,r2,2
add r5,r3,r4
ldw r14, (r5)
add r15, r3, r14
stw r0, (r15)
addi r2, r2, 1
bge r7,r2,loop
ret
我不相信array .word ?
是正确的语法。我认为它只是表示位置数组中存在一定大小的数组。 以下是翻译:
int *array[];
void mystery () {
int r2;
int *r14;
for (r2 = 0; r2 <= 32; r2++) {
r14 = array[r2];
r14[r2] = 0;
}
}