3

我试图sbrk用于动态内存分配。但是,作为 SPIM 和 MIPS 的新手,我无法这样做。我草拟了一个粗略的代码。

.data
    var: .word 25
.text   
    main:
        li $v0, 9
        la $v0, var
        lw $a0, var
        syscall     # DYNAMICALLY ALLOCATING MEMORY OF SIZE 4 BYTES AT ADDRESS OF VAR
        sw $v0, var
        
        li $v0, 10
        syscall
4

1 回答 1

5
.data
    var: .word 25
.text   
    main:
        li $v0, 9
        lw $a0, var
        syscall     # DYNAMICALLY ALLOCATING MEMORY OF SIZE 4 BYTES AT ADDRESS OF VAR
        sw $v0, var
        
        li $v0, 10
        syscall

只有第二条语句需要省略,因为系统正在等待获取应该分配的字节数量,但上面我试图给出 var 的地址,但这是结果。该sbrk服务将地址返回到包含 n 个附加字节的内存块。这将用于动态内存分配。

于 2014-03-24T16:38:42.100 回答