如何在 MIPS 程序中的内存位置 100(十进制)声明一个数组?
1215 次
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 回答