问题标签 [qtspim]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
981 浏览

mips - Java to mips 汇编练习

我有一个任务,我的目标是将以下 Java 代码(在 asm 文件顶部的注释块中)翻译成 mips 汇编代码。当我尝试在 QTSpim 中编译时,我收到错误消息“尝试在 0x0040007c 处执行非指令”。此外,我不断收到一个错误,说我的主标签在第 36 行第二次使用,但我不明白这是怎么可能的。任何帮助将不胜感激,谢谢。

这是我的代码:

0 投票
1 回答
34617 浏览

c - MIPS 组装 - 阵列?

我对汇编编程绝对是全新的,并且正在尝试在 MIPS 中实现以下功能(在 C 中):

到目前为止,我所拥有的是:

我的主要问题是

  1. 我将如何访问数组的元素,或者我从哪里开始la

  2. 我是否正确声明了数组?

  3. 我的注册地图对想要完成的事情有意义吗?

感谢您的任何帮助。

0 投票
0 回答
980 浏览

assembly - MIPS Palindrome with Stack,错误的结果。更新代码。

我正在尝试构建 MIPS Palindrome 并实现堆栈。该程序要求用户输入一个字符串,以确定它是否是回文。我已经尝试调试了一段时间,但没有找到解决方案。更新了代码。

0 投票
1 回答
102 浏览

assembly - 无法将从 x+4 地址开始的单词加载到 QtSpim 的注册表中

我想从内存中加载一个单词,地址为 x +4 到注册表中,但以下代码不起作用。我究竟做错了什么?

我在 inst/data fetch 错误和异常发生中得到一个未对齐的地址

0 投票
1 回答
1887 浏览

assembly - 如何转换 Mips 伪指令?

我被要求用 mips 汇编语言编写一个程序来执行一些基本的算术运算,例如将摄氏温度转换为华氏温度。由于我使用了伪指令,我最终在这项作业中得到了很差的成绩。我不知道我什至在使用伪指令,因为看起来许多在线教程都在没有太多说明的情况下使用它们。

出于好奇,我想知道是否有人可以解释如何将伪指令转换为非伪指令?

下面是我的带有伪指令的工作程序:

我的一个朋友告诉我,Spim 模拟器实际上会自动转换伪指令并显示它。他说将其复制并粘贴到记事本中并进行较小的更改。我仍然很困惑。

这就是我最终复制和修改的内容:

0 投票
1 回答
479 浏览

assembly - 如何在 Qtspim 中获取第二个字符串的地址?

在上面的代码中,我可以得到“字符串”的内存地址,即“输入您的号码:”。有什么方法可以在不使用 la 之类的伪指令的情况下获取“string2”的内存地址。我正在使用 Qtspim 运行代码。感谢你们!

0 投票
0 回答
144 浏览

mips - 为 mips 程序添加一些控制指令

我为 mips 编写了一个非常简单的程序,它计算默认单词(在本例中是“esame”)出现在默认短语“Esame: Programma di riconoscimento parole, realizzato per l'esame orale di calcolatori”中的次数电子产品”。

这是代码:

在这种情况下,“esame”这个词在句子中出现了两次。现在我想添加一个这样的控件:如果默认单词由撇号组成,如 es'ame 或 esame',则不应计算此单词。在第二种情况下,“esame”这个词只会在句子中出现一次。我应该写什么指令来实现这个控制?谢谢你。

0 投票
1 回答
1180 浏览

arrays - MIPS 动态阵列错误

我正在尝试分配一个动态数组并让它接受来自控制台的输入,但是一旦我开始在数组中输入一些数字,它就会说出现异常 7 错误。(坏数据地址)

这是我在运行使用 read_array 从控制台读取数字的子程序之前使用的代码:

我知道参数传递有很多多余的移动命令,但这主要来自故障排除。据我所知,动态数组应该在运行 syscall 9 后将它们的基地址存储在 $v0 中,对吗?(一个月前刚开始学习 MIPS。)

这是 read_array 的子程序:

奇怪的是,这段代码非常适合我必须在程序前面分配的静态数组,但是动态数组似乎破坏了我的代码,我不知道是不是因为我没有传递正确的值到子程序,或者是因为子程序一开始就有缺陷。

为了更全面地了解 subprograms 参数传递结构,我已将我的整个程序代码上传到 Pastebin此处。任何见解将不胜感激!

0 投票
1 回答
853 浏览

assembly - 如何在 MIPS 程序集中添加参数?

所以我在 MIPS 程序集中为我的 comp arch 类编写了一个简单的程序。我们现在需要增强这个程序,以便它接受两个参数。如果参数都相同,那么答案应该与只接受一个参数的原始程序的答案相同。如果它们不同,那么您应该根据上述情况弄清楚您的程序应该做什么。尝试进行尽可能少的更改。增强程序以允许它从键盘接收两个参数并在 SPIM 的控制台窗口中显示结果。如果任何输入参数为负数(小于零),您的增强程序应在控制台中显示零。

这是我未增强部分的代码:

0 投票
0 回答
106 浏览

mips - 在 MIPS 程序中,如何以十六进制打印指令存储器的内容?

我想知道是否有一种简单的方法/代码可以在 MIPS 程序的控制台上以十六进制格式显示指令存储器的内容?