谁能告诉我我在此MIPS代码中正在犯什么错误?

时间:2018-11-06 16:49:56

标签: mips

data-val-regex-pattern="^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[^a-zA-Z0-9])"

1 个答案:

答案 0 :(得分:1)

假设上面的代码在文件中的格式正确,而不是全部在一行中,并且忽略了您缺少的代码

# Rest of code omitted for brevity

并且忽略了您没有说应该做什么,或者它没有做什么……。

我首先看到的是您是否在main分支:

read_numbers: # Rest of code omitted for brevity...
  beqz $v0, sort 
  j read_numbers

但是由于您没有将v0设置为任何值,因此将其设置为代码之前设置的任何值(当我运行它时,非零)

因此,它从不分支到排序例程,而是跳转到read_numbers并进行无穷循环。

如果它在'sort'中,它将从数组中获取第一个数字,该数字为0(除非以某种方式填充了该数组),然后查看它为0并尝试分支到'done',该数字也不是不在您的代码中。