汇编程序(在MARIE中),如何填写First和second pass?

Assembly program (in MARIE), How to fill First and second pass?

我真的做了 sympol table 并且确实很容易填充它但是代码有很多错误,比如 Repeat is not vaild 和 values var1,var2 & res 其中没有 HEX 或 DEC 等的数据类型。所以填什么真的很迷惑

Click to see the problem

有帮助吗?

你是对的:Repeat没有定义,所以从技术上讲,这个问题无法完成。可能是打字错误,他们打算使用正确定义的标签 Again 而不是 Repeat。建议您继续该假设,并尽可能在您提交的工作中清楚地说明该假设。


post-first-pass table 显示操作码和操作数,第一个操作数以数字形式显示,第二个操作数在必要时以符号形式显示(或以数字形式显示,如果称为例如,对于 SkipCond,因为操作数已经是数字了)。

因此,对于第一条指令,我们有 1, Var1,这是机器代码指令的表示形式,其中操作码为 1 (Load),操作数为 Var1.


当我们到达 post-second-pass table 时,符号操作数(作为名称)将替换为处理器在执行此程序时将看到的数值。在许多情况下,这些名称的数值在第一遍完成之前是未知的,第一遍将数字赋予标签。所以,在第二遍之后,我们现在有了程序机器代码的完整数字表示。