【发布时间】:2017-11-19 05:22:31
【问题描述】:
到底有没有使用变量作为数组的偏移量?例如,我知道正常的偏移量和数组是这样工作的:
ARRAY: .word 0,1,2,3,4,5,6,7,8,9
lw $t6, ARRAY
lw $t7, 0($t6)
0 处的索引将被加载到 t7 中,但我想要做的是:
ARRAY: .word 0,1,2,3,4,5,6,7,8,9
lw $t6, ARRAY
li $t7, 0
lw $t8, $t7($t6)
这样我可以在代码中增加变量 t7,而无需硬编码偏移量。我不断收到语法错误,所以我想我正在尝试做的事情是错误的。无论如何我可以做这样的事情来增加数组的索引吗?
【问题讨论】:
-
不支持。但是由于 MIPS 有很多通用寄存器,你可以将
$t6和$t7加到一个空闲寄存器中并不断增加它。而且您不必猜测您正在做的事情是否受支持; MIPS32™ 程序员架构第二卷:MIPS32™ 指令集列出了所有可用指令及其预期操作数。
标签: arrays assembly mips offset