MIPS:用户输入数组大小

时间:2013-03-25 15:17:38

标签: arrays input size mips

我最近在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个浮点数。有没有办法允许用户以这种方式创建数组大小?

注意:我不会那么仓促地问,但是这本课程的书已经绝版,在亚马逊(RISC编程简介)上花费300美元,所以我正在学习没有手头的书。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:3)

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

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

MARS模拟器

中可以找到有关如何使用系统调用的最小参考资料