问题标签 [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.
assembly - 我的 MIPS 代码中的错误在哪里?
我需要帮助。我已经在 MARS 中编写了这段代码。它应该从用户那里接收一个整数,并将其转换为 HEX。我已经检查了几个小时,据我所知,它应该可以正常工作。我只包含了程序的循环和输出部分,因为这是唯一不起作用的部分。有人可以指出代码哪里出错了吗?谢谢你。
PS我认为它在逐位AND上搞砸了,我用它来掩盖低位,但由于某种原因,它几乎看起来像是在添加而不是ANDing。:-(
环形:
MakeHighDigit:
MakeLowDigit:
数字输出:
arrays - 在 MIPS 中创建(和访问)数组
我正在尝试在 MIPS 程序集中创建一个数组,然后将所有元素添加在一起。但是,当我尝试组装以下内容时,它说
read_array 第 1 行位置 7 出错:“.word”指令不能出现在文本段中 汇编:操作完成但有错误。
这是我的程序集:
谢谢!
assembly - 从 MIPS 程序集中的用户输入中读取文件名
我正在编写一个 MIPS 汇编代码,它会询问用户文件名,它会产生一些关于文件内容的统计信息。
但是,当我从一开始就将文件名硬编码到变量中时,它工作得很好,但是当我要求用户输入文件名时,它就不起作用了。
经过一些调试,我发现程序在内存中用户输入的末尾添加了 0x00 char 和 0x0a char(检查 asciitable.com),这就是它不根据用户输入打开文件的原因。
任何人都知道如何摆脱那些额外的字符,或者在从用户那里获得文件名后如何打开文件?
这是我的完整代码(除了来自用户事物的文件名外,它工作正常,任何人都可以自由地将它用于他/她想要的任何目的):
注意:我正在使用 MARS 模拟器,如果这有什么不同的话
更新:我已经通过编写和调用以下过程解决了这个问题:
assembly - 无效的程序计数器值:0
我目前正在 MIPS 处理器下使用汇编语言。我目前正在使用 MARS 模拟器,由于未知原因,每次运行后我都会收到以下错误消息:
去:运行 try.s
错误:无效的程序计数器值:0
Go:执行因错误而终止。
我收到此错误消息,与我正在使用的代码无关,只是想知道这是否是 MARS 模拟器中的错误,或者是我缺少的东西。
file - 使用 MIPS 程序集读取文件
我正在尝试编写一个程序,该程序从 .dat 文件中读取对应于要在 LED 模拟器中显示的不同颜色的字符;x = off,R = red 等。我的问题是,我无法弄清楚打开 .dat 文件时我做错了什么。我环顾四周,尝试了所有我能想到的方法,但每次我组装和运行时,我都会在 $v0 中得到一个 -1 表示错误。这是我打开/读取/关闭文件的代码:
文件 maze1.dat 与 MIPS 程序位于同一目录中。非常感谢任何帮助或建议。
assembly - 创建队列、enque、deque 和 qempty 函数
这是广度优先的图遍历算法。我不知道如何创建“queue”、“dequeue”、“enqueue”、“qempty”函数,急需帮助!
queue: 创建一个队列 ($s5)
enqueue:从源获取值到 q
出队:将项目从 q 弹出到 v ($s5 --> $s3)
qempty:检查 q 是否为空
这是我的代码:
assembly - 寻找翻转/反转字中字节的指令
我需要翻转/反转 4 字节字中的字节,以便在 LED 显示屏上显示它。
显然有一个简单的指令来完成这个,但我无法在任何地方找到它。
assembly - MIPS:如何排序
我需要你的帮助来解决这个在 MIPS 程序集中排序的问题:
如何编写 MIPS 程序来读取仅包含十进制整数的文本文件并按降序对它们进行排序。
该程序应执行以下操作:
■ 打开一个文本文件并将其内容读入一个字符数组。该数组应限制为 1000 个字符。MARS 提供用于打开和读取文本文件的系统调用。
■ 逐个字符遍历数组。将每个十进制字符串转换为二进制。十进制字符串由一个或多个十进制字符组成。它应该以空格或换行符结尾。忽略并跳过所有其他字符。将所有十进制整数存储到单词数组中。整数数组的大小应限制为 100 个字。
■ 按降序对整数数组进行排序。
■ 显示排序后的数组
实际上我对数组进行排序没有问题,因为我有它,但是处理文本文件,从中读取,转换为十进制插入数组的问题。
你有什么想法 ?注释 ?建议?
提前谢谢
更新:有人问这是什么问题?问题是如何从 txt 文件中读取,将数字转换为十进制?这就是问题。
assembly - 设置除法操作数的最右边位
我正在使用 MARS MIPS 模拟器来模拟汇编代码中的划分。在移位过程中,如何将商的最右边位设置为1和0?我用 ori $t2,$t2,1 设置 1 和 andi$t2,$t2,-2 设置 0,我应该这样做吗?
assembly - 规范化浮点
我正在使用 MARS 进行浮点加法。
对齐指数后,我将有效数字相加,但是如何检测总和是否仍归一化以便将有效数字向左或向右移动?谢谢