MIPS运行时异常地址超出范围

时间:2016-03-31 15:27:19

标签: mips

我们在使用mars linux进行MIPS时必须做的一个小项目是使用教师给我们的这个基本代码制作4个不同的版本,但问题是在学校它可以在我试用它时工作它给我

  

0x00400028处的运行时异常:地址超出范围0x00000000

这将位于B0_7

integer_to_string_v0:       # ($a0, $a1, $a2) = (n, base, buf)
    move $t0, $a2           # char *p = buff

    # for (int i = n; i > 0; i = i / base) {
    move $t1, $a0           # int i = n
    B0_3:   
        blez  $t1, B0_7     # si i <= 0 salta el bucle
        div   $t1, $a1      # i / base
        mflo  $t1           # i = i / base
        mfhi  $t2           # d = i % base
        addiu $t2, $t2, '0' # d + '0'
        sb    $t2, 0($t0)   # *p = $t2 
        addiu $t0, $t0, 1   # ++p
        j     B0_3          # sigue el bucle
    # }
B0_7: 
    sb $zero, 0($t0)        # *p = '\0'

B0_10: 
    jr $ra

1 个答案:

答案 0 :(得分:0)

解决方案:设置 - &gt;将程序计数器初始化为全局&#34; main&#34;如果定义如果有帮助的话,可以通过互联网找到这个