问题标签 [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 投票
1 回答
37 浏览

assembly - 如何将全局数据初始化为引用标签的指针?

MARIE 严重依赖数据中的(全局)指针:它唯一的间接能力是通过 AddI、JumpI、LoadI 和 StoreI 来延迟内存位置。

例如,常见的顺序是LoadI pointer取消引用,然后Load pointer; Add One; Store pointer将指针推进以供下次使用。

但它没有直接的机制来初始化指针变量以通过汇编程序标签引用内存位置。因此,许多人要么组装两次,第一次计算某些数据的十六进制地址(然后调整源代码),要么将数据放在靠近开头(易于预先计算其地址)并在数据周围跳转开始。

有没有办法使用标签初始化指针?例如,我希望将带有标签的数据位置pointer初始化为保存/引用的地址array

但是,这是 MARIE 汇编中的语法错误。

能不能做到:初始化一个数据字来引用一个标签?

仅供参考,我正在使用https://marie.js.org/进行模拟。

0 投票
0 回答
22 浏览

loops - 如何将 if 条件转换为 marie 的程序集?

我被要求编写一个代码,在 Marie 的程序集中将用户的 2 个输入相乘。我做的一切都是正确的,除了在问题中有一个伪代码中的条件我不能在我的代码中完全暗示..如果 x = 0 那么 x = x + 3 这意味着如果第一个输入为零,我需要将 x 增加 3 . 我原来的乘法代码有效,就是这样:

此代码适用于任何 x 或 y 相乘,但即使我尝试过,我也无法实现上述条件

但是当我把 x 和 y 都作为正数时,这就搞砸了,它对乘法给出了奇怪的答案。

0 投票
1 回答
27 浏览

cpu-architecture - 为什么指令寄存器 1106 的值是 load One 指令?

对于这个问题:

跟踪以下程序的 fetch-decode-execute 循环:

对于加载一指令:

我不明白上面显示的指令寄存器的 1106 是从哪里来的。如果有人可以解释那就太好了

0 投票
0 回答
11 浏览

operators - MARIE 中的对数

我将如何编写计算对数的 MARIE 汇编代码。输入 A 并存储 A 输入 B 并存储 B。在 A 中输入 2 并在 B 中输入 16 将打印结果并显示输出 4。记录基数 2 的 16 = 4。