MIPS中的动态分配数组
我需要用用户输入创建一个数组MIPS中的动态分配数组,mips,dynamic-memory-allocation,Mips,Dynamic Memory Allocation,我需要用用户输入创建一个数组 creataArray: la $a0, enterSize li $v0, 4 syscall li $v0, 5 syscall move $s0, $v0 #Array Size add $s2, $s0, $zero #Backup size readElements: li $v0, 5 # syscall 5 reads array element
creataArray:
la $a0, enterSize
li $v0, 4
syscall
li $v0, 5
syscall
move $s0, $v0 #Array Size
add $s2, $s0, $zero #Backup size
readElements:
li $v0, 5 # syscall 5 reads array element (integer)
syscall
sw $v0, array($s1) # save integer in $v0 to array $s1 to determine the next avaliable index
addi $s1, $s1, 4 #next index
addi $s0, $s0, -1 #size = size - 1
bgt $s0, $zero, readElements
add $v0, $s2, $zero #array size return to main program
la $v1, array #array adress return to main program
jr $ra
我可以用这段代码创建一个数组,但我需要使用动态分配的内存创建一个数组。如何分配?内存分配取决于操作系统。您使用的是什么操作系统?我猜你在用SPIM。系统调用9是分配内存的调用。SPIM和MARS都是,syscall#9分配内存。遵循此系统调用所需的输入和输出。