0
如何在MIPS程序中的内存位置100(十进制)声明一个数组?在MIPS中声明特定内存地址的阵列
如何在MIPS程序中的内存位置100(十进制)声明一个数组?在MIPS中声明特定内存地址的阵列
spim
模拟器支持可选的data
指令参数,详见here。
.data <addr>
下面的数据项应当被存储在数据段。如果可选参数
addr
存在,则项目将从地址addr
开始存储。
因此,使用spim
,您可以将任何数据存储在精确地址,只要它在用户数据段的范围内。在spim
中,保留范围是0x10000000 - 0x10040000
。
因此,举例来说,如果你想存储的地址数组0x10000030
你可以这样写:
.data 0x10000030
list: .word 3, 0, 1, 2, 6, -2, 4, 9, 3, 7
然而,地址100
不是可接受的范围spim
模拟器的用户数据段内(或可能在任何其他情况下,因为它将成为内存第一页的一部分)。
我在spim
中试过.data 100
指令,只是为了看看我试图从中加载时会做什么,答案是Memory address out of bounds
错误。
这可能取决于您正在使用的特定编译器/汇编器/解释器。这是什么? –
@MartinVidner我正在使用QtSpim v9.1 – Pranav