【发布时间】:2018-04-02 19:12:54
【问题描述】:
我正在尝试学习 MIPS。我遇到的问题是我无法创建可变大小的数组。例如在 Java 中你可以这样做
int n = 3;
int [] arr = new int[n];
我正在尝试在 MIPS 中做同样的事情,例如:
.text
.global main
main:
li $t1, 4
.data
arr: .space $t1
但这会报错:
".space" 需要一个非负整数
有什么建议吗?我该如何解决这个问题。
【问题讨论】:
-
通过“可变大小”,您是否希望在运行时创建它?因为我想你可以改用
arr: .space 4。 -
是的,但是我想让它让用户输入一些整数,然后我想要那个整数大小的数组。
-
好的,回答我就接受
-
如果你在堆栈上分配(在 C 中是本地范围的),你只需将当前堆栈指针保存为数组的起始位置,然后将堆栈指针推进数组。
标签: arrays memory-management mips mars-simulator