问题标签 [smips]

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 回答
976 浏览

assembly - 装配地址:标签与绝对地址

我正在编写要在 HDL 定义的处理器上运行的简单 SMIPS 组装测试。

例如,我有以下代码应该生成溢出异常:

我知道如果处理器做正确的事情,它应该重定向到放置在 address 的处理程序0xdeadbeef。我只知道为跳转添加标签,就像在上面添加以下代码一样:

有没有办法让 overflowHandler 代码从正确的 0xdeadbeef 地址开始?main 是否从地址 0 开始?

编辑:(我可以控制 HDL 中描述的处理器的跳转地址)

由于我可以从 Bluespec 中的处理器设计描述中控制处理器跳转地址,因此我可以将其更改为可被 4 整除并跳转到更近更方便的位置。所以我的问题是:地址是否从 main 开头的地址 0x0 开始计数?什么是最好的解决方案?: 改地址跳转,还是标签来对应呢?

提前致谢,

0 投票
2 回答
6734 浏览

mips - 在 MIPS 中使用跳转表(如何在 JT 数组中跳转标签)

我正在尝试使用跳转表为我的工作制作菜单。Everyting 对我来说看起来不错,但下面的代码不起作用。在“jr $s0”指令之后,火星给了我一个错误,比如:

Error in : invalid program counter value: 268501840

我知道十进制地址268501840是 L1 标签的实际地址,而代码应该去那个标签,但那时我犯了这个错误。为什么?

0 投票
2 回答
439 浏览

smips - 在 MIPS 中生成随机词

我想在 MIPS 中生成随机词。我知道如何生成随机数,我只想要一个词库中的随机词。我已经尝试过了,但我不知道如何打印它们。

如何从给定列表中选择一个随机单词?

0 投票
0 回答
250 浏览

mips - 将多达 32 个 int 存储到数组 MIPS 中

我正在尝试将 int 类型的数字存储到 MIPS 中的数组中,这是我目前所拥有的,但显然因为我没有足够的寄存器来这样做,所以效率不高。最后,我几乎对数组进行了排序。有什么帮助吗?

ETC...

0 投票
3 回答
369 浏览

assembly - RISC 汇编编程语言

我想知道是否有RISC汇编编程语言的练习要做?我了解汇编语言但没有什么可以在汇编中实现。所以我想知道是否有一些资源可以在汇编中实现程序?

0 投票
1 回答
156 浏览

assembly - 如何在 MIPS 中创建一个包含来自另一个二维数组的非零元素的新数组?

我有一个二维整数数组 A(length m, width n) 保存在 MIPS 的地址中。在这个数组中,我想创建另一个数组 B,它只包含数组 A 中的非零值。从伪代码的角度来看,如何实现它?

我的想法是逐行遍历数组A(每行作为一维数组)。这意味着将数组 A 细分为 n 个一维数组,并使用 for 循环过滤掉非零元素。

这种方法听起来可信吗?

0 投票
1 回答
1241 浏览

assembly - 在数组 MIPS 中查找第 K 个不同的元素

我正在尝试编写与下面的 C 代码等效的 MIPS。

我想$s1用下面的代码存储结果。

虽然我期待8$s1注册中看到,但我得到了1. 我的汇编代码有什么问题?

0 投票
1 回答
133 浏览

assembly - 了解 MIPS 汇编代码

A,B,C 是长度为 6 的数组,基地址在寄存器中找到,如下所示:

现在对于代码本身:

我的问题是:

1.) 当添加 $t4 和 $t1 时,我们是否在每个 B[i] 中添加零?

2.) 在 mips 中添加数组时,假设add $t6, $t0,$t1我们在做什么:

  • A[i]+B[i] 用于所有索引,然后 $t6 是一个新数组?
  • 或者我们只是在做 A[0]+B[0]?

3.) 你究竟如何在数组上使用 OR?

0 投票
0 回答
145 浏览

assembly - 在 MIPS 中将字符串存储在 .data 之外

对于一个项目,我们正在寻找通过 .data 存储没有过去的字符串的方法。实际上,我们希望在程序的所有执行过程中动态存储它们。

我们在程序开始时看到了这样的事情:

但是我们希望在所有执行期间将它们存储在堆栈段中

感谢您未来的帮助

0 投票
0 回答
415 浏览

c - MIPS 程序不会打印出正确的浮点数

我正在做一个家庭作业,我必须提示用户输入一定数量的浮点数,将它们存储在一个数组中并打印出第一个包含重复项的数字。这是 C 中的随附代码。

这是我在 MIPS 中的实现。

我遇到的问题接近我的代码的最后。在 for_compare 循环中的 compare_conditional2 中,分支不等于语句永远不会跳转到 compare_body,因此 j end_compare 总是被执行。谁能帮我弄清楚这是为什么?