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分配内存。遵循此系统调用所需的输入和输出。