问题标签 [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 回答
871 浏览

macos - 输入命令行参数 MIPS

我正在尝试运行 MIPS 程序,我需要输入命令行参数。我在计算机上执行此操作时遇到问题。我已经安装了 QTSipm 并尝试像我们在课堂上一样在 mac 终端中输入“spim -f program.s arg1 arg2”,但我收到错误“-bash: spim: command not found”。我不知道如何解决这个问题。

0 投票
1 回答
1789 浏览

assembly - MIPS print float 系统调用只打印零

我有一个非常不寻常的问题,我无法弄清楚,也无法在任何地方找到解决方案。

我编写了一个用于计算 MIPS 中浮点数的幂的代码。该算法工作正常,但最终当系统调用应该打印返回值时,它只打印 0。

以下是用于打印返回值的代码,对我来说似乎很好,我不知道出了什么问题。

我尝试在 qtSpim 中调试代码,一切似乎都运行良好,即使在系统调用时相关寄存器中的值也是正确的。

样本输出:

在此处输入图像描述

打印结果时 FP 寄存器:

寄存器中的值似乎很好,十进制的 4 * 4 = '16' 或十六进制的 '10'。

在此处输入图像描述

完整代码:

0 投票
1 回答
288 浏览

system-calls - 如何确定或设置 QtSpim 的工作目录?

我只想使用 Syscall 运行任何类型的 Spim 程序来打开、读取和/或写入文件,但这不起作用。我知道我的程序和文件可能不在 QtSpim 的工作目录中,但我不知道如何找到它或设置一个新目录。所以在第一个 Syscall 之后 $v0 是 -1,这表明一个错误。我尝试使用要读取文件的整个路径名(下面的示例)并尝试编写/创建一个文件以查看 QtSpim 将保存文件的位置。如果我有一个根本性的缺陷,请随时告诉我。我在 Windows 下使用 QtSpim

0 投票
1 回答
1232 浏览

assembly - MIPS 汇编:INT 到 STRING 函数只有 2 个字符(截断最后一个字符)

我编写了这个函数来将 int 值转换为 ascii 字符串。但是当输入类似于 315 时,它会将 31 打印到字符串中。由于我不是组装专家,因此我将不胜感激。这是代码:(int_buf 是存储整数输入的位置,$a 是字符串输出)

编辑:我发现问题不在函数中,因为它是在我之后将字符串打印到文件的方式中:

当我将它设置为默认的 4 位数字时,如何防止该工具将空字符打印到我的文件中?

0 投票
1 回答
1765 浏览

assembly - 无效的语言元素:[变量]

目前正在编写汇编语言作业。我最初在 MARS 编译器中启用了伪对其进行编码,然后将伪命令一一翻译。目前我无法收到错误消息“无效的语言元素:[str1]”。这只是我代码的一小部分。

我不确定我需要修复什么,因为如果我通过 qtSpim 运行代码会正常执行,但不会执行并且会转发错误消息“Invalid Language Element: [str1]”

错误是我如何编写第 13 行和第 14 行引起的吗?我是否需要处理实际的十六进制地址而不是 .asciiz 名称?

0 投票
0 回答
211 浏览

assembly - MIPS中的while循环,lw异常

我试图让这个简单的 while 循环工作。我正在使用教科书,但我不确定我错过了什么,因为我复制了所有内容。我唯一添加的是顶部的“main:”

我正在使用 QtSpim 模拟器,一旦运行“lw $t0, 0($t1)”,就会收到错误异常错误

0 投票
1 回答
717 浏览

assembly - Mac QtSpim 上的汇编语言 .asciiz 错误

我在将文本文件导入 QtSpim 时遇到了一些问题。以下是我输入的确切文件。

节目二

只要我没有在 .asciiz 语句中包含第 4 行,将其导入 QtSpim 就可以正常工作。每次我尝试使用该语句运行它时,我都会收到此错误消息。

错误信息

如果有人能对这里发生的事情有所了解,那就太好了。我尝试在文本编辑和 word 中创建一个 .txt 文件,然后将其保存为 .s 或 .asm ,无论我收到什么相同的错误消息。

0 投票
0 回答
144 浏览

assembly - MIPS QtSpim 数据移动问题

我现在正在编写的程序有问题,这正是程序。

发生的问题是在最后几行代码中,我指示 lw 从 WORD1 和 WORD2 中提取信息并将其存储在保存寄存器中。出于某种原因,当我一次运行该代码时没有任何反应,但是当我清除所有寄存器并再次重新初始化程序时,在前 2 条指令中,这些指令被正确执行。任何见解将不胜感激。

注意突出显示的指令和寄存器 19 中打印的内容。再次在最初运行代码时,寄存器 19 中没有发生任何事情,然后当我重新初始化它时,它在指令 3 中弹出。

这是内存库的图片:

0 投票
1 回答
5570 浏览

c++ - 将值存储到数组的每个元素中:将 C do{}while 循环转换为 MIPS asm

我需要将此 C++ 函数转换为 MIPS 程序集:

其中数组的地址是 in $a0, n 是 in $a1, v 是 in $a2。这是我在 MIPS 中编写函数的尝试,但我得到“指令在 0x00400054 处引用未定义符号”。在 main (由我的教授提供)中有一个jal set应该调用该set函数的调用,我很确定我的错误与此有关。我也不知道我是否成功转换了函数。这是我的尝试:

我正在使用 QTSPIM,如果这很重要的话。感谢您的帮助,如果您对 MIPS 编程有任何建议,那也太好了。

更新:

现在正在链接文件,但我得到一个“PC=0x004000f0 发生异常”和“数据/堆栈读取中的错误地址:0x00000000”的无限循环。这是我更新的文件:

为什么我的代码必须在.globl?目的是.text什么?

0 投票
0 回答
1377 浏览

assembly - MIPS 程序集 QtSpim 异常/错误地址错误

我正在尝试为斐波那契序列执行此 MIPS 汇编代码(试图在 QtSpim 中找到第 10 个斐波那契数,fib(10),它不断抛出错误,例如:“PC=0x7ffff774 发生异常”和“错误地址在文本中阅读......”

我不确定我做错了什么,我认为错误可能在主要语句中。