问题标签 [mips]
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 - MIPS:从字符串中删除非字母数字字符
我正在用 MIPS 编写一个程序,该程序将确定用户输入的字符串是否是回文。它有三个正在构建的子程序。
这是主要的代码块,带有相关信息的子例程:
首先,它应该事先从字符串中删除所有非字母数字字符,但是当它遇到指定要删除的字符时,之后的所有字符都会被删除。
其次,它应该将所有小写字符转换为大写。
最后一个检查字符串是否为回文的子例程目前还没有完成。我无法找到字符串的结尾,因为我不确定 PC-SPIM 使用什么作为回车符。
任何帮助表示赞赏,我觉得我的大部分问题都是由愚蠢和愚蠢的事情引起的,所以请随时指出任何事情,无论多么小。
mips - 为什么我的 MIPS 交叉编译器在 NOT 操作时会这样工作?
我设置了我的交叉编译器来制作 MIPS 指令。
它可以很好地编译 C 代码。
但我发现 NOT 操作很奇怪。
如果我像这样编写代码
我用教科书研究了 MIPS 指令,上面写着“MIPS 将 NOT 操作转换为‘也不为零’”
所以我认为它会转换为
但我的编译器转换
////////////////////////////////我用'myaccount>> mipsel-编译了代码unknown-linux-gnu-gcc -S myfilename.c' 它使 myfilename.s 文件..
我错过了什么?
profiler - 嵌入式分析器
我应该分析/优化应用程序。我在 mips 机器上运行,所以 valgrind 不是一个选项。任何工具建议,策略?
编辑:我想我应该提供更多细节。我的工具链不支持 Gprof。我试过oprofile;但结果似乎不正确,我也无法获得调用树。我正在寻找替代方案。
assembly - 从 MIPS 程序集中的用户输入中读取文件名
我正在编写一个 MIPS 汇编代码,它会询问用户文件名,它会产生一些关于文件内容的统计信息。
但是,当我从一开始就将文件名硬编码到变量中时,它工作得很好,但是当我要求用户输入文件名时,它就不起作用了。
经过一些调试,我发现程序在内存中用户输入的末尾添加了 0x00 char 和 0x0a char(检查 asciitable.com),这就是它不根据用户输入打开文件的原因。
任何人都知道如何摆脱那些额外的字符,或者在从用户那里获得文件名后如何打开文件?
这是我的完整代码(除了来自用户事物的文件名外,它工作正常,任何人都可以自由地将它用于他/她想要的任何目的):
注意:我正在使用 MARS 模拟器,如果这有什么不同的话
更新:我已经通过编写和调用以下过程解决了这个问题:
mips - 如何在 MIPS 中获取 LSB 位?
在 MIPS 中,是否有一种简短的方法可以检查/获取 32 位整数中的最低有效位?它显然是为奇数设置的,并且检查整数是奇数还是偶数的算法可以决定这一点。但我只是想知道有没有更好的方法来做到这一点......
assembly - 如何通过用 1 填充 MSB 来移动二进制数?
在 MIPS 中,有没有办法通过每次用 1(1000 和下一次 1100 和下一次 1110 依此类推......)填充其 MSB 来移动二进制数(0000)?
assembly - 在 MIPS 汇编中,如果浮点寄存器中有浮点值 X.YZDEF,如何截断到小数点后两位?
如果我在 MIPS 的“f”寄存器中有一个值,我如何将它从 X.YZDEF 截断为 X.YZ?据说,您必须将浮点数转换为两个整数并显示它们……这是怎么做到的?
c - MIPS(或 SPIM):加载浮点数
我正在研究一个小型迷你编译器,同时尝试在这里学习一些 MIPS。这是我的问题:
MIPS 有一个指令 li (立即加载),它可以像这样工作
这会将 100 加载到寄存器 5 中。
但是,我现在需要将浮点数加载到寄存器中,并且正在努力寻找一种方法来做到这一点......因为 li $5,2.5 不起作用。
有人有什么建议吗?
我在 C 中工作,我在想我可以以某种方式获得我正在使用的浮点的整数表示(即浮点二进制表示 == ints 二进制表示)然后将“整数”加载到寄存器中并像对待它一样从此浮出水面。
也许为时已晚,但我现在卡住了。
assembly - 关于 MIPS 跳转的问题
PCGPRLEN-1..28 在这里是什么意思?这 4 位从何而来?
mips - 确定 MIPS 中数字的位表示的奇偶校验
MIPS 中是否有一些指令可以确定某个位表示的奇偶校验?我知道确定“数字”是否具有偶校验或奇校验是将二进制表示的各个位异或在一起,但这对于一组 MIPS 指令来说似乎是计算密集型的......我需要这样做尽可能快。
此外,我正在使用的数字以格雷码表示……只是为了把它扔在那里。那么 MIPS 中是否有一些伪指令来确定“数字”的奇偶性,还是我必须手动完成?
如果没有 MIPS 指令(这似乎不太可能),关于如何手动操作的任何建议?
谢谢, 赫里斯托
跟进:我找到了一个优化,但我的实现不起作用。