问题标签 [mips32]
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 ASM 计算二叉树中的节点
如果我用更高级别的语言来做这件事,我可以使用递归......
或迭代...
我不确定从哪里开始在装配中实施其中任何一个。它是否类似于高级语言,其中递归更优雅但通常效率较低(没有尾递归优化)?
我是否必须使用堆栈,或者我可以使用仅修改寄存器的循环来执行此操作?我需要实际计算节点 - 而不仅仅是在添加它们时保留一个计数器。
节点使用两个指针和一个数据值存储在内存中,其中指针指的是存储子节点的内存地址。
如果这对方法有任何影响,我正在使用 QtSpim 模拟器。
另外,我不是要求完整的代码(如果有代码的话..)我应该如何解决这个问题。我知道树遍历是如何工作的,但我很难看到它是如何在汇编中完成的。
assembly - j(jump) 指令在内存中可以跳转多远?(MIPS)
考虑 MIPS 中的 j(jump) 指令。它在记忆中能跳多远?会是32位吗?我能解释一下吗?
mips32 - MIPS 处理器的交叉编译
我已经为 android 平台开发了一个应用程序。它适用于 ARM 处理器。它工作正常。我想在 MIPS(32 位)处理器上运行的 Android 上尝试相同的应用程序。我尝试交叉编译应用程序但无法生成共享库。我正在使用为 MIPS 处理器定制的 MIPS ndk 和 android 源代码。生成静态库时,它没有显示任何错误,但是在生成共享库时,我收到以下错误:
/home/user/android-ndk-r7m/toolchains/mips-linux-android-4.4.3/prebuilt/linux-x86/bin/../lib/gcc/mips-linux-android/4.4.3/.. /../../../mips-linux-android/bin/ld: /home/user/workspace/testing/ccl_obj/libccl.a(teccl_call_initiate.o): 不能使用针对 `__gnu_local_gp' 的重定位 R_MIPS_HI16制作共享对象时;使用 -fPIC /home/user/workspace/testing/ccl_obj/libccl.a 重新编译:无法读取符号:错误值 collect2:ld 返回 1 退出状态 make:* [obj/local/mips-r2/libhello-jni.so ] 错误 1
请提出任何解决方案。
谢谢
assembly - Mips 单精度(涉及牛顿法)
我正在上计算机拱门课程,我们正在使用单精度进行 mips。作业涉及创建牛顿法。我已经编写了所有需要的函数,但无法弄清楚代码到底出了什么问题。我也不完全确定如何将值打印到屏幕上。非常感谢所有帮助。我已经逐行写了评论来解释我在做什么。
这是我的代码:
input - 在 MIPS 程序集中加载大于 32 位的整数
我正在做一个学校项目(如果你不能仅仅因为我使用 MIPS 和 QTSpim 就知道的话),我的团队选择为大(128 位)数字制作一个计算器。我们知道如何对 128 位数字进行操作,但我们遇到的问题是用户输入。
教授不太清楚该怎么做,那么有谁知道是否有办法使用 MIPS 和 QTSimp 加载 128 位整数?
MIPS 寄存器保存 32 位整数,因此结果必须存储在 4 个寄存器中,但有没有办法做到这一点?
谢谢!
assembly - 在 MIPS 中铸造
我有一个有趣的问题!
我在 MIPS 中实现了一个记忆游戏,游戏首先在屏幕上随机打印一个 10-99 之间的数字,然后要求用户输入确切的数字。如果用户输入正确的数字,游戏会继续显示第一个数字和第二个随机生成的 10-99 之间的数字。并且这两个数字必须一个接一个地显示,它们之间有 3 秒的延迟。然后要求用户按照屏幕上出现的正确顺序输入数字。如果用户正确输入了两个数字,则游戏将继续输入三个数字,然后是四个数字,依此类推。
这是游戏的快速总结,但事情就是这样。
我想添加一个助手选项,如果用户输入字母 'H' ,程序会给他一个提示。
我用它来从接受数字的用户那里获取输入
李 $v0,5
系统调用
这个“读取一个整数”但是一旦用户输入一个“H”它就会给出一个运行时错误,
我虽然'H'的值是:ASCII中的72,我把它作为用户用作提示的数字,但不幸的是,程序可能会生成一个随机数'72'并且当用户输入它时,它给了他一个提示,而他不想要这个提示,他只是想继续游戏
问题:
我正在寻找的是一种用高级语言进行这种铸造的方法或任何技巧。到目前为止,我找不到任何解决此问题的方法。
并且有什么方法可以清除 MIPS 中的屏幕或控制台?因为显然它是记忆游戏!所以数字应该消失!
任何关于此的建议或问题,完全欢迎!
assembly - 如何从 MIPS 组件打印到屏幕
有人告诉我这是怎么做的,但是当我运行带有显示和键盘添加的模拟器时,屏幕上仍然没有输出。我究竟做错了什么?
assembly - 在 MIPS 中使用全局变量编写函数?
好的,这就是功能。我有 teechar 和 update_frog 函数完全编写和工作。我了解前两个项目符号,但不确定后两个项目符号。我将如何在 MIPS 中编写最后两个项目符号?
这是功能说明:
编写一个不带参数的 MIPS 函数frogger,并返回一个字符(使测试更容易)。它执行以下操作:
- 调用您的 teechar 来读取并回显一个字符 c.
- 打电话给你的 update_frog(c)。
- 如果 c 不为零,则将 c 存储在全局变量中以指示游戏结束以及游戏结束的方式。(当然,您必须将该全局变量初始化为零。)
- 返回 C.
这是我的代码:
抱歉,我只是在思考如何做到这一点时遇到了麻烦:(
valgrind - mips 上的 valgrind
我一直在尝试在 MIPS 机器上运行 valgrind。我成功交叉编译了 valgrind 并从测试套件中运行了一些测试。但是每当 valgrind 尝试创建一个核心转储时,断言就会失败。它来自文件 coredump-elf.c
显然,这个断言检查字节数组的大小是否与 valgrind 的寄存器结构相同。
但我无法克服这个错误。
我在 MIPS 32 机器上使用 valgrind。
谢谢
c - 尝试使用函数编写基本的主程序
我正在尝试编写一个函数来将单词从源内存复制到目标内存。
我已经编写了函数,但我在执行代码时遇到了困难。它给了我execption 4
一个错误
我想编写一个调用此函数的主程序,将 800 个字从地址 0x50000 复制到内存中的 0x90000。但是当我在 $a0-$a2 中添加值并运行代码时它不起作用。有谁知道如何修理它。(我正在将 C 代码转换为 MIPS,这就是我包含 C 标记的原因
干杯