I was trying to use sbrk for dynamic memory allocation. But, being a newcomer to SPIM and MIPS, I was unable to do so. I sketched out a rough code for the same.

.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
有帮助吗?

解决方案

.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

Only the second statement needs to be omitted as the system is waiting to get a amount of byte that should be allocated but above I was trying to give the address of var but this is result. The sbrk service returns the address to a block of memory containing n additional bytes. This would be used for dynamic memory allocation.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top