写这个MARIE程序

时间:2015-10-29 16:12:02

标签: assembly marie

对于这个问题,我不确定我是否已正确完成(没有提供解决方案): 考虑一下程序段:

 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是内存访问)? 会很感激一些指导。

1 个答案:

答案 0 :(得分:1)

经过很长一段时间回到这里,我想我会回答:

  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