编写这个 MARIE 程序

Writing this MARIE program

对于这个问题,我不确定自己是否做对了(没有提供解决方案): 考虑程序段:

 X = 3
 If(X > 0) { Y = X }
 Stop

使用MARIE的指令集编写该程序段的助记汇编代码。

我想到了这个:

Load Three
Store X
If, Load X
Subt Three
Skipcond 800
Jump Endif
Then, Load X
Store Y
Endif, Halt
X, DEC ?
Y, DEC ?
Three, DEC 3

这个解决方案可以接受吗?另外,就内存访问次数而言,是否为 8(我不认为 Halt 是内存访问)? 希望得到一些指导。

时隔很久才回来,想分享一下答案:

  Load Three
    Store X
    If, Load X
    Skipcond 800
    Jump Endif
    Then, Load X
    Store Y
    Endif, Halt
    X, DEC ?
    Y, DEC ?
    Three, DEC 3