2

如何在 MIPS 程序中的内存位置 100(十进制)声明一个数组?

4

1 回答 1

4

模拟器支持此处详述的spim可选data指令参数。

.data <addr>

以下数据项应存储在数据段中。如果存在可选参数 addr,则项目从 address 开始存储addr

因此,使用spim,您可以将任何数据存储在确切的地址,只要它在用户数据段的范围内。中spim,保留范围为0x10000000 - 0x10040000

因此,例如,如果你想在地址存储一个数组,0x10000030你可以这样写:

.data 0x10000030
list: .word 3, 0, 1, 2, 6, -2, 4, 9, 3, 7

但是,地址100不在spim模拟器的用户数据段的可接受范围内(或者可能在任何其他情况下,因为它是内存第一页的一部分)。

我在 中尝试了一个.data 100指令spim,只是想看看当我尝试从中加载时它会做什么,答案是Memory address out of bounds错误。

于 2016-03-01T09:12:41.797 回答