问题标签 [mars-simulator]

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

assembly - 我的 MIPS 代码中的错误在哪里?

我需要帮助。我已经在 MARS 中编写了这段代码。它应该从用户那里接收一个整数,并将其转换为 HEX。我已经检查了几个小时,据我所知,它应该可以正常工作。我只包含了程序的循环和输出部分,因为这是唯一不起作用的部分。有人可以指出代码哪里出错了吗?谢谢你。

PS我认为它在逐位AND上搞砸了,我用它来掩盖低位,但由于某种原因,它几乎看起来像是在添加而不是ANDing。:-(

环形:

MakeHighDigit:

MakeLowDigit:

数字输出:

0 投票
2 回答
85857 浏览

arrays - 在 MIPS 中创建(和访问)数组

我正在尝试在 MIPS 程序集中创建一个数组,然后将所有元素添加在一起。但是,当我尝试组装以下内容时,它说

read_array 第 1 行位置 7 出错:“.word”指令不能出现在文本段中 汇编:操作完成但有错误。

这是我的程序集:

谢谢!

0 投票
1 回答
11890 浏览

assembly - 从 MIPS 程序集中的用户输入中读取文件名

我正在编写一个 MIPS 汇编代码,它会询问用户文件名,它会产生一些关于文件内容的统计信息。

但是,当我从一开始就将文件名硬编码到变量中时,它工作得很好,但是当我要求用户输入文件名时,它就不起作用了。

经过一些调试,我发现程序在内存中用户输入的末尾添加了 0x00 char 和 0x0a char(检查 asciitable.com),这就是它不根据用户输入打开文件的原因。

任何人都知道如何摆脱那些额外的字符,或者在从用户那里获得文件名后如何打开文件?

这是我的完整代码(除了来自用户事物的文件名外,它工作正常,任何人都可以自由地将它用于他/她想要的任何目的):

注意:我正在使用 MARS 模拟器,如果这有什么不同的话

更新:我已经通过编写和调用以下过程解决了这个问题:

p>

0 投票
3 回答
28498 浏览

assembly - 无效的程序计数器值:0

我目前正在 MIPS 处理器下使用汇编语言。我目前正在使用 MARS 模拟器,由于未知原因,每次运行后我都会收到以下错误消息:

去:运行 try.s

错误:无效的程序计数器值:0

Go:执行因错误而终止。

我收到此错误消息,与我正在使用的代码无关,只是想知道这是否是 MARS 模拟器中的错误,或者是我缺少的东西。

0 投票
3 回答
38073 浏览

file - 使用 MIPS 程序集读取文件

我正在尝试编写一个程序,该程序从 .dat 文件中读取对应于要在 LED 模拟器中显示的不同颜色的字符;x = off,R = red 等。我的问题是,我无法弄清楚打开 .dat 文件时我做错了什么。我环顾四周,尝试了所有我能想到的方法,但每次我组装和运行时,我都会在 $v0 中得到一个 -1 表示错误。这是我打开/读取/关闭文件的代码:

文件 maze1.dat 与 MIPS 程序位于同一目录中。非常感谢任何帮助或建议。

0 投票
1 回答
3569 浏览

assembly - 创建队列、enque、deque 和 qempty 函数

这是广度优先的图遍历算法。我不知道如何创建“queue”、“dequeue”、“enqueue”、“qempty”函数,急需帮助!

queue: 创建一个队列 ($s5)

enqueue:从源获取值到 q

出队:将项目从 q 弹出到 v ($s5 --> $s3)

qempty:检查 q 是否为空

这是我的代码:

0 投票
1 回答
458 浏览

assembly - 寻找翻转/反转字中字节的指令

我需要翻转/反转 4 字节字中的字节,以便在 LED 显示屏上显示它。

显然有一个简单的指令来完成这个,但我无法在任何地方找到它。

0 投票
2 回答
5456 浏览

assembly - MIPS:如何排序

我需要你的帮助来解决这个在 MIPS 程序集中排序的问题:

如何编写 MIPS 程序来读取仅包含十进制整数的文本文件并按降序对它们进行排序。

该程序应执行以下操作:

■ 打开一个文本文件并将其内容读入一个字符数组。该数组应限制为 1000 个字符。MARS 提供用于打开和读取文本文件的系统调用。

■ 逐个字符遍历数组。将每个十进制字符串转换为二进制。十进制字符串由一个或多个十进制字符组成。它应该以空格或换行符结尾。忽略并跳过所有其他字符。将所有十进制整数存储到单词数组中。整数数组的大小应限制为 100 个字。

■ 按降序对整数数组进行排序。

■ 显示排序后的数组


实际上我对数组进行排序没有问题,因为我有它,但是处理文本文件,从中读取,转换为十进制插入数组的问题。

你有什么想法 ?注释 ?建议?

提前谢谢


更新:有人问这是什么问题?问题是如何从 txt 文件中读取,将数字转换为十进制?这就是问题。

0 投票
1 回答
751 浏览

assembly - 设置除法操作数的最右边位

我正在使用 MARS MIPS 模拟器来模拟汇编代码中的划分。在移位过程中,如何将商的最右边位设置为1和0?我用 ori $t2,$t2,1 设置 1 和 andi$t2,$t2,-2 设置 0,我应该这样做吗?

0 投票
1 回答
913 浏览

assembly - 规范化浮点

我正在使用 MARS 进行浮点加法。

对齐指数后,我将有效数字相加,但是如何检测总和是否仍归一化以便将有效数字向左或向右移动?谢谢