问题标签 [spim]
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.
mips - 将内存中可变数量的参数扩展到参数空间
我有一个函数,它采用内存地址作为$a0
,我通过使用访问(可变)字数x($a0)
,其中x
是 8 的倍数。我需要将它们存储在$sp
寄存器中,以便我可以使用$a0
寄存器将参数传递给其他函数。对 MIPS 程序集来说是全新的,所以这里的任何指针都会有所帮助!
assembly - 尝试分配变量时 MIPS 程序集解析错误
我的 MIPS 汇编代码有问题。它在 li $t4, $zero 行(实际代码的第 4 行)中显示语法错误。你能帮我解决吗?
PS我知道代码可能还有更多问题,我只是开始调试......
mips - 'jalr $a0, $a0' 的正确行为是什么?
我遇到了指令jalr $t1, $t2
指令,它应该将 $t1 设置为返回地址并跳转到 $t2。然而,关于哪个操作首先发生似乎有些模糊。例如,以下在 MARS 和 SPIM 中的工作方式不同:
在 MARS 中,$t0
首先设置为pc + 4
(返回地址),然后跳转到$t0
,这样下面的代码func
就永远不会运行。然而,SPIM 似乎做了相反的事情:先跳转,然后将 value 设置$t0
为 (the previous) pc + 4
;因此func
被调用并照常运行。
因此,我的问题是,在这种情况下哪个模拟器实现了正确的行为?
assembly - 再次运行程序时,MIPS 输出包括先前的输出
您好,我有一个程序可以按字母顺序排列用户输入的 20 个字符串,同时过滤掉不是小写字母的字符。我让程序使用递归循环按字母顺序排列,然后设置一个更简单的过滤器来清除不是小写字母的字符。我可以让程序正确地按字母顺序排列并过滤掉字符,一旦发生这种情况,程序会询问用户是否想再试一次。这是我遇到问题的地方,当前一个字符串比下一个字符串长时,会打印出剩余的字符。
例如,如果第一个字符串按字母顺序排列为 abcdefgxyz,而第二个应该只是 abcdefg,则输出仍将显示 xyz。
任何帮助将不胜感激!
这是我的代码
assembly - MIPS 左移/右移
我正在自学 MIPS 并遇到了这段代码:
我感兴趣的部分是srl $t0 1 $t0
&sll $t0 1 $t0
这是正确的吗?正如我认为的那样srl $t0 $t0 1
,最后的 n 值。
此外,如果 $t1 包含 5,即 00000101 当我执行 srl 后跟 sll 时,我最终会得到这样的结果:00000101
所以 $t0 现在是 4?
然后子部分将是 5-4,即 1?
提前致谢
assembly - 从控制台读取时,SPIM 如何处理不正确的类型?
我正在创建一个 MIPS 模拟器,并且遇到了一个我认为有多种解决方案的点。SPIM 使用系统调用操作模拟从控制台读取。我以前使用过 SPIM,但目前无法访问它。从控制台读取时如何处理不正确的类型?例如,如果您对 read_int 进行系统调用,然后输入“asdf”然后按 Enter,会发生什么?应该发生什么?SPIM 参考表明它从行中读取一个整数,并忽略该整数之后的任何内容,这只是第一个数字序列的正则表达式匹配。当首先有非数字,然后是数字,然后是更多的非数字时会发生什么?没有数字怎么办?
我不希望重新创建 SPIM,我想我会从社区那里得到关于他们希望 MIPS 模拟器在输入错误类型时如何执行的建议。
需要考虑的一些可能的输入:
1234(正确)
a1234(这应该怎么做?)
a1234b(这应该怎么做?)
ab(这应该怎么做?)
(只需按回车键应该做什么?)
谢谢!
mips - 如何在 MIPS 中连接两个字符串?
我是 MIPS 的新手,我将此代码作为作业,我不知道要添加什么以使其在 QtSpim 上运行,请帮忙。
assembly - SPIM 中的标度 i
我有这个 Spim 代码,还有 Scale i,这是什么意思?
mips - Qtspim (MIPS emulator) extra code showing up?
I installed Qtspim to try out some MIPS commands. I've written a few text files, saved with a ".asm" extension, with some commands. Here's one:
However, when I try the "Reinitialize and Load File" command in Qtspim, the text that shows up in the "text" section of the program does not correspond to my text file. My code is in the middle of it, but with a bunch of EXTRA code that wasn't in my file. Why is this? Am I loading it wrong somehow? What's all this other code?
assembly - Spim 崩溃到从文件读取的 Mips
我正在尝试使用 mips 程序集读取文件,但每次运行代码时,Spim 都会崩溃。
我从几个网站上得到了代码,它们都有相同的代码,而且对他们来说效果很好。
我究竟做错了什么 ?