我们必须在使用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 = ' '
B0_10:
jr $ra
解决方案:设置->将程序计数器初始化为全局"main"(如果已定义)如果它有助于其他人,则在互联网上找到此