问题标签 [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 代码
从考试中,我有以下代码要理解:
根据考试的处理器在Little Endian方法中工作。
根据考试,这段代码的输出是:
我在 MARS 4.4 模拟器上的输出是 0x616263abc。
- 我猜答案的差异来自 Little Endian 与 Big Endian 方法?
- 为什么msg2的输出是abc?我不明白为什么从 0x636261 输入,我得到“abc”输出?我想这是因为它存储在一个单词中?
感谢您的帮助。
assembly - 在 mips .asciiz 中存储一个非常大的字符串
我想以这种格式将这样的字符串存储在 .data 部分中:
这可能吗?还是我必须将其存储在一行中,例如:
assembly - 使用 jal 陷入无限循环
所以这只是我在使用 MIPS 时遇到的问题的一个例子。我陷入了无限循环,因为 function2_end 将继续跳转到 external_function。
有没有办法让function2_end跳回function1,所以它可以退出循环?
assembly - 从输入的整数中打印相应的 ascii 值
嘿伙计们,我正在为一个 comp 编写一个 mips 程序。拱。我正在上的课。教授要求我们:
提示输入 65 到 90 之间的四个整数,然后打印出与输入整数对应的 4 个 ASCII 字符的字符串。例如,如果用户输入“65 66 67 和 68”,程序将打印“ABCD”。假设我们只有 syscall #4 而没有 syscall #11。
我在下面添加了我的代码,每当我运行它时,我都会在 0x004000e8 处得到运行时异常:地址超出范围 0x00000041 作为错误。对我做错的任何帮助都会很棒,谢谢。
mips - MIPS 变化计算器
所以我被分配了一个项目,基本上我们必须计算有多少四分之一,一角硬币,镍币和便士在一定数量的变化中。除了不是硬币外,它是 2 美元的幂。我们有:
1024
256
64
16
4
1
美元钞票。无论如何,数字都不重要,但最简单的方法是使用 div 函数,然后除以您输入的金额。说它的 2000,只取商和余数,然后继续除法,直到我得到 1。但是,我的导师希望我使用 sll、srl、sra、mul、div 和 sub 来查找这些值。如何使用乘法或减法来找到这些值?Div 绝对是最简单和最有效的,但我对这种语言很陌生,可能是错误的。当划分似乎是最好的方法时,我只是不明白如何使用它们来找到这些。谢谢
assembly - 为什么在 MIPS 中使用带有寄存器间接操作数的“la”是非法的?
因为我“非法”使用加载地址将目标寄存器设置为 s 寄存器内容,所以我的家庭作业得分被退回到 8/10 分。下面显示的是有问题的操作:
$t0 持有一个十六进制单词,我们将其转换为十进制,但这并不重要。MARS(我们用于汇编语言类的 MIPS 模拟器)在您键入 la 时会建议:
"la $t1, ($t2) 加载地址:将 $t1 设置为 $t2 的内容"
她刚刚告诉全班同学(他们都做了同样的事情)这是非法的,然后我向她展示了 MARS 是如何建议该指令的。程序运行良好,包含在此处:
所以,我的冗长问题:这真的是非法的,还是她只是不知道她在说什么?
mips - 使用 mips 中的嵌套循环刺激时钟
我试图制作一个像这样输出时间的程序:00:00:00 一直到 12:59:59
这是我的代码,它只循环第二个,没有其他输出它从 0:0:0 到 0:0:59 输出
我在做什么错以及如何以##:##:## 格式获取输出
c - 将 Quicksort 从 C 转换为 MIPS 程序集?
我正在尝试创建一个对字符串进行排序的 Quicksort 算法的 MIPS 程序。我有一些我正在尝试翻译的 C 代码,但我很难处理它。
这是C代码:
这是我到目前为止的 MIPS 代码:
我真的不知道我的任何 MIPS 代码是否正确或是否有效,而且我特别卡在分区部分(C 中的最后两行递归代码),我不知道如何去做.
有人愿意帮我弄清楚如何做到这一点吗?太感谢了。
arrays - MIPS 汇编器问题 - 数组
我有一个包含数组的汇编代码,我根本无法理解 $s2 寄存器中实际显示的结果。如果有人可以为我提供帮助并解释或简化它,那就太好了。这是代码:
recursion - 在 mips 中使用递归打印斐波那契数列
嘿伙计们,我需要打印出斐波那契数列的值,直到第 n 个值(用户输入)。因此,如果用户输入 3,我将不得不打印 1、1、2。我必须递归和迭代地进行。我得到了迭代部分,但我在递归部分遇到了一些麻烦。在程序中,我可以让它打印值。任何帮助,将不胜感激。