问题标签 [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.

0 投票
2 回答
135 浏览

methods - 如何实现 MIPS 方法

我可以制作一个方法并在数组上使用它吗?例如像这样java:bubbleSort(a),还是只能跳转到标签内容?

0 投票
1 回答
187 浏览

assembly - MIPS 和 XSPIM 转换中的字符串

给定一个字符串,当我将其插入 ASCII 计算器时,让我们说“长数字”,我得到了这个

这是我第一次使用 MIPS,我找不到只教如何使用 MIPS 的指南。

所以,我得到了 32 位,但似乎“长数字”远不止 32 位?所以可以说“长数字”在内存中。

如果我想打印“Long Numbers”,那将如何工作?

我对地址和数据总线感到困惑,如果它超过一个字节,数据传输,以及它如何打印,因为不打印只在内存中占用一个地址?

如果数据只是一个字节,我知道如何传输数据。如果不止于此,我会感到困惑。

0 投票
1 回答
185 浏览

assembly - MIPS XSPIM 不同的字节顺序混乱

作为第一次使用 MIPS 的用户,我似乎很困惑。我有一些同学说XSPIM是大端的。但是,在 Linux 中,它是小端字节序。如果 MIPS 可以是小端或大端。有没有办法在 XSPIM 中找出它在您的机器中以小端或大端运行?

0 投票
1 回答
203 浏览

assembly - Don't understand MIPS program

I don't understand the behaviour of this piece of MIPS code:

There are several things bugging me:

  1. The task is to determine the value of $s0 at the end of execution. How can you do it?

  2. What does the line: v: .word y mean? Does it declare a char, why doesn't it have quotes?

  3. If I comment out everything in .data, but v:, the User Data Segment shows:

    User data segment [10000000]..[10040000] [10000000]..[1003ffff] 00000000

    Is there no data in it now?? Where's v then?

Thanks.

0 投票
1 回答
4082 浏览

mips - Mips 字符串长度、连接和复制显示错误

我正在编写 Mips 汇编代码,以在我的计算机组织和汇编类中获得额外的学分。

我们要取三个字符串(S1, S2, S3)。然后我们将三个字符串连接成另一个(S4 = S1+S2+S3)。我们也复制这个字符串,这样S6 = S4. 我们还获得了连接字符串的长度 so L2 = S4length。
之后,我们将S3字符串复制到S5. 最后,我们得到 的长度S1

但是,我的显示是错误的。代码应该显示'三个字符串组合在一起是:我喜欢汇编。字符串 4 的长度是:15。当字符串 4 复制到字符串 6 时,字符串 6 是:I love assembly。将字符串 3 复制到字符串 5 时,字符串 5 为:汇编。第一个字符串的长度是:2'。

我的显示器没有得到这个,而是显示'三个字符串组合在一起是:我喜欢 ssemblyy。字符串 4 的长度是:268501001。当字符串 4 复制到字符串 6 时,字符串 6 是:I love ssemblyy。将字符串 3 复制到字符串 5 时,字符串 5 为:ssemblyy。第一个字符串的长度是:17'。

我在创建此显示的代码中哪里出错了?

`

0 投票
1 回答
10510 浏览

mips - 使用 sbrk 的 MIPS 动态内存分配

我试图sbrk用于动态内存分配。但是,作为 SPIM 和 MIPS 的新手,我无法这样做。我草拟了一个粗略的代码。

0 投票
2 回答
4346 浏览

mips - 从 mips 中获取结果

我是汇编语言的新手,我对乘法感到非常困惑。

我在这里阅读快速教程(死链接,网络存档在这里

它说我使用后mult $t0, $t1结果存储在 Hi 和 Lo 中,我知道这些是 and 的特殊寄存器multdiv但是我如何访问它们呢?

假设我在mult $t0, $t1where$t0$t1are both 2. 我如何得到结果?(4)

0 投票
0 回答
39 浏览

mips - 没有足够的 MIPS 单步遍历字节字符串

我有一个任务,我必须输入一个十进制数并输出二进制版本中有多少个“1”位。该数字不能大于或等于 4096,因此我们需要进行错误检查。我们还必须使用至少一个逻辑运算符。我已经设置了所有这些东西,但我似乎无法让它们正常工作。

我的问题:循环似乎没有超过第 8 位。数字 4095 在应该返回 11 时返回 8,而 2048 返回 0。任何不超过 255 的输入都会返回正确的值。

实际上,我从这个网站上以前的帖子中得到了一些想法,这就是我所拥有的。任何更多的帮助将不胜感激。

0 投票
1 回答
1046 浏览

assembly - MIPS32 SPIM:读取 int 然后打印

我无法理解为什么在第 20 行出现语法错误,sw $v0, $t0. $v0应该是从上一次调用 read int 返回的整数,并且$t0是一个临时寄存器。谢谢!

0 投票
3 回答
15723 浏览

assembly - 帧指针 MIPS 的使用

我需要将我的代码从堆栈指针转换为仅使用帧指针,我该怎么做?我对 MIPS 很陌生。

我在下面有这个递归 C 代码及其 MIPS 代码。我正在使用堆栈指针,如何将其更改为使用帧指针?

这是我的 C 代码

这是我的 MIPS 代码