1

我最近在我的 MIPS 课上得到了一个作业,正在寻求一些帮助。

该问题要求我允许用户输入数字“n”。这个数字将创建一个大小为 n 的数组,然后用户将在其中存储浮点数据。示例运行如下所示:

Enter n: 5
Enter a float: 1.2
Enter a float: 3.2
Enter a float: 5.5
Enter a float: 2.99
Enter a float: 4.4

如果 n 为 6,则数组将是 6 并且将输入 6 个浮点数。有没有办法让用户以这种方式创建数组大小?

注意:我不会这么急着问,但是这门课的书已经绝版了,亚马逊上要卖 300 美元(RISC 编程简介),所以我手头没有书就学习了。任何帮助,将不胜感激!

4

1 回答 1

3

您必须使用操作系统的服务:

  • 使用syscall4 打印您的字符串($a0指向要打印的 asciiz 字符串)
  • 使用syscall5 输入一个整数(您的数组的项目数将在 中返回$v0
  • 使用syscall9 在堆中分配内存(并$a0指示要分配的字节数),返回$v0已分配缓冲区的地址
  • 然后syscall根据需要使用 6 次输入浮点数(在 中返回的浮点数$f0

可以在MARS 模拟器中找到有关如何使用系统调用的最小参考

于 2013-03-25T15:33:37.310 回答