我们在使用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
答案 0 :(得分:0)
解决方案:设置 - &gt;将程序计数器初始化为全局&#34; main&#34;如果定义如果有帮助的话,可以通过互联网找到这个