1

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

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

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

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

4

1 回答 1

1

这是一个靠近你的 while 循环和在 marie 中的样子,看看看看这个是否对你有任何帮助,或者发布你到目前为止的内容,我会帮助你。关于您的问题,在您编写 Loop, Load N 之后从 N 中减去 5 应该可以正常工作。

 X := 1;
    while X < 10 do
 X := X + 1;
   endwhile;

----- 上面的玛丽代码

ORG 100
Load One
Store X /Initialize X
Loop, Load X /Load loop constant
Subt Ten /Compare X to 10
SkipCond 000 /If AC<0 (X is less than 10), continue loop
Jump Endloop /If X is not less than 10, terminate loop
Load X /Begin body of loop
Add One /Add 1 to X
Store X /Store new value in X
Jump Loop /Continue loop
Endloop, Halt /Terminate program
X, Dec 0 /Storage for X
One, Dec 1 /The constant value 1
Ten, Dec 10 /The loop constant
于 2014-11-13T02:35:54.670 回答