问题标签 [marie]

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 投票
0 回答
2078 浏览

assembly - 如何使用 MARIE 编写堆栈组织程序

我正在编写一个程序来评估下面的语句,但我必须使用堆栈组织的计算机来完成。这意味着只有 pop 和 push 才能访问内存。

在此处输入图像描述

在将此程序用作我的程序示例时,我将如何做到这一点?:

任何帮助,将不胜感激。我是 MARIE 的新手,到目前为止几乎没有收到任何帮助。谢谢!=)

0 投票
1 回答
1985 浏览

assembly - marie 汇编代码的输出

我有这个用 MARIE 汇编语言编写的代码:

当我在 MARIE 中运行此代码时,它给出了输出 = FFFB,我不知道输出如何变为 FFFB,因为在 Skipcond 000 指令中我们应该跳过 Jump Else 指令(因为 AC 值为负)并清除指令将使 AC = 0,然后添加 z,这将使 AC = 10 的十进制值或 A 的十六进制值。

任何帮助将不胜感激。

0 投票
1 回答
83 浏览

assembly - 简单的汇编语言任务

我正在阅读这本书:“计算机组织和架构的本质,Linda Null 和 Julia Lobur”。在第 4 章第 172 页上,它是汇编语言如何与指令一起使用的示例,但我无法理解。我无法理解,因为图像上的数字没有很好的解释。

这是图片: http: //postimg.org/image/6imlsa3t9/

谁能帮我?

0 投票
2 回答
7299 浏览

assembly - 我不明白为什么这个 MARIE Sim 代码不能正常工作

所以,我在使用 MARIE 模拟器时遇到了问题。这是提示:

编辑:当前代码:

我的问题来自这样一个事实,即当您运行它时,数学计算不正确。例如,如果您为 X 输入 4,则答案是 7,而应该是 9。有人能指出我哪里出错了吗?

0 投票
1 回答
11601 浏览

assembly - 在 while 循环中进行测试 (MARIE)

我正在尝试编写一个while循环,而N> 5。

虽然我理解只是创建一个循环点并跳回它,但我应该如何为 N > 5 编写一个 skipcond 测试?

我查看了关于 while 循环的另一个 MARIE 问题,但并没有从中得到答案。

编辑:忘了提我的想法是从 N 中减去 5,然后跳过 800 来查看它是否正确。这是一种正确的做法吗?

0 投票
4 回答
4412 浏览

divide - 使用 Marie Simulator 进行除法

我很难弄清楚玛丽西姆的划分。我不想要-1,但它一直显示负数。我只想要最多2个。有什么建议吗?

这是我的代码:

输出:11 8 5 2 -1

0 投票
1 回答
460 浏览

assembly - 与 MARIE 汇编语言相关的指令编码

我正在处理以下问题:

单地址计算机是其指令最多可以包含一个操作数地址的计算机。MARIE 就是这种计算机的一个例子。通常,每条指令都作为单个字存储在内存中。假设以下机器细节。

(i) 一个词包含 n 位,并且 k 位 (k < n) 用于对每个操作码进行编码。其余位用于指定内存地址。

(ii) ISA 中有 100 个不同的操作码。

(iii) 最大的程序需要 128M 字(128x2^20)的内存才能运行。

(a) k 的最小值是多少?n 所需的最小值是多少?保持k的最小值,可以使用的最大操作码数是多少?

(b) 如果每个字的大小必须是整数字节,那么所需的 n 的最小值是多少?那么这台计算机可以使用的最大内存是多少呢?

到目前为止,我已经想出了一个,但我对我的答案有点确定:a)k 的最小数量是 7,因为要拥有 100 个操作码,你需要在操作码字段中使用 7 位。n 的最小数量为 9(我不确定这是 9 还是 8,因为问题说“保持 k 的最小值,k 是操作码位)。我也不确定这个问题是否隐含地说word 有 16 位或更多。

对于 b 我对问题的性质感到困惑,是说新词将有 8 位还是这个词是由位组成的?例如:1 个字(16 位)是 2 个整数字节。此外,在尝试解决此问题时,我对最大程序大小(128M 字)的用途有点困惑。

0 投票
1 回答
605 浏览

assembly - 玛丽的汇编程序

我想为 marie 编写一个汇编程序,但是我一开始就被卡住了。我的机器代码必须具有以下格式:FFFF 'first address' 'last addres' '... commands'

假设我们有这样的代码:

现在,没有办法知道我们从哪个地址开始,所以我应该一直使用 100,还是有时会改变?

现在,对于最后一个地址,它只是 100+(命令数)吗?

提前致谢

0 投票
0 回答
3806 浏览

assembly - 玛丽模拟器;如何检查加法数字是否太大而无法保存在累加器中

我必须在 MARIE 模拟器(我认为它只是使用普通的汇编语言)中编写一个程序,该程序从输入寄存器中获取 10 个数字并将它们加在一起。

我还必须每次检查加法是否太大而无法保存在累加器中,如果是,程序必须停止。MARIE 中的累加器是 16 位的,所以可以保存的最大数是 hex FFFF。

我已经完成了第一部分,但不知道如何进行第二部分。

编辑:我试图弄清楚,这是我现在的代码:

它似乎以我尝试过的几种方式起作用;例如,如果我输入十六进制数字 0002 和 FFFF,它将它们相加并得到 0001,这被检测为错误并且程序结束。

当添加的总和为 FFFF 时,它不起作用。我添加了 0002 和 FFFD 得到结果 FFFF,但是程序然后就好像出错了一样结束了,但我不明白为什么。

我感谢所有回答的人。并且回复吉姆米歇尔,为这个错误道歉,我不会再犯了。

0 投票
0 回答
1620 浏览

arrays - 在 Marie 中模拟数组

我正在修补 MARIE 汇编语言,但我找不到模拟数组功能的方法。我正在尝试编写一个程序来查找两个向量(数组)的点积,但我不知道如何获取保存的任意数字列表,然后再保存第二个。

我实际上查阅了一本以 MARIE 为特色的实际教科书,但没有找到任何内容。