【问题标题】:Mips : "Memory Address Out Of Bounds" - Error?Mips:“内存地址越界” - 错误?
【发布时间】:2015-12-21 05:44:54
【问题描述】:

如果我理解得很好,这个程序应该打印一个用户输入的字符串, 因为它将其值存储在$a0 中,然后打印$a0 中的内容

但它给了我错误 - “内存地址超出范围”

我理解错了什么还是什么??!

提前致谢

    .data
    .text
main:
    li $v0, 8
    syscall
    li $v0, 4
    syscall
    li $v0, 10
    syscall
    .end main

【问题讨论】:

    标签: mips


    【解决方案1】:

    syscall$v0 = 8 需要 $a0 中的缓冲区地址和 $a1 中传递的缓冲区的长度。

    检查您在调用main 时是否传递了正确的参数。

    如果没有,分配一个缓冲区(用.space或其他东西)并正确设置系统调用的参数。

    【讨论】:

    • 非常感谢,在我初始化空间数据类型的变量并将其地址传递到 $a0 后它工作了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-15
    • 1970-01-01
    • 2016-01-19
    相关资源
    最近更新 更多