在MIPS变长的,我知道我可以声明数组作为:阵列在MIPS汇编语言
list: .space 20
但是,如果我想创建基于用户输入的不同大小的数组是什么? 这可能吗?
例如,该方案将要求用户输入的整数N和创建长度N.
在MIPS变长的,我知道我可以声明数组作为:阵列在MIPS汇编语言
list: .space 20
但是,如果我想创建基于用户输入的不同大小的数组是什么? 这可能吗?
例如,该方案将要求用户输入的整数N和创建长度N.
这是一个很好的问题的阵列。在汇编语言中,您所做的声明变量是静态分配的,即它们是在汇编时分配的。如果你想在运行时根据用户输入分配一个变量,你至少有两个选择:在堆栈上分配空间(并监视堆栈溢出)或从内存池(通常称为堆)分配内存池。无论哪种情况,分配都是在朗姆酒时间而不是在装配时完成的。
您可以使用系统调用9堆上
li $a0, numbytes
li $v0, 9
syscall
的地址在$v0
返回分配内存谢谢,这是也有帮助。 – Dan14021 2012-02-10 01:12:08