在 MIPS 中查找数组中的最大元素

Finding the largest element in an array in MIPS

我应该编写一个 MIPS 程序,首先接受一个输入数字,然后请求那么多的整数并将它们存储在一个数组中。在此之后,它反向打印数组,然后打印最大的元素。诀窍是我只被允许使用两个循环。我使用第一个循环来构建数组,下一个循环用于反向打印数组,同时检查最大的 int。我目前拥有的代码完美地满足了前两个要求,

它将接受如下输入:

5 <- 数组中的元素数

0

1

3

2

5

然后,它会打印:

倒过来的数组是:5,2,3,1,0

谢谢你,祝你有愉快的一天!

我还没有在第二个循环中计算最大整数的部分编码。我根本不知道如何在 MIPS 中执行此操作,而不会弄乱我已经完成的反向打印数组的工作。

真正需要的输出是:

倒过来的数组是:5,2,3,1,0

最大的元素是:5

谢谢你,祝你有愉快的一天!

这是我目前的代码: mipsCode

任何有关如何完成此操作的示例,无论是否使用我的代码,都将不胜感激。谢谢!

  1. 分配一个整数变量并将其设置为零,命名为max_value。
  2. 当您反向打印列表时,将每个值与 max_value
  3. 进行比较
  4. 如果 > max_value,将其存储在 max_value

打印出所有整数后,max_value 将包含您找到的最大整数。

CMP 将进行比较,如果 A > B,将设置进位标志,因此您可以在进位上执行分支 set/clear 以跳过替换代码。