【问题标题】:MIPS dynamic memory allocation using sbrk使用 sbrk 的 MIPS 动态内存分配
【发布时间】:2014-04-30 14:23:43
【问题描述】:

我试图使用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

【问题讨论】:

  • 你到底遇到了什么错误?
  • sbrk 是系统调用号 9,而不是 8。
  • 错误是:未知系统调用

标签: mips spim sbrk


【解决方案1】:
.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 个附加字节的内存块。这将用于动态内存分配。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-05
    • 1970-01-01
    • 2014-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-14
    相关资源
    最近更新 更多