0

我个人正在尝试学习小人电脑。

我发现了一个问题:

  1. 编写一个 LMC(小人计算机)程序来完成以下任务。

    if (value == 0) { some_statements; } 下一个语句;

我目前的答案:

    00 901  IN (value)
    01 399 STORE
    02 808 TEST
    03 901  IN (value)
    04 808 TEST
    05 000 STOP 

我不相信这是正确的......有人可以帮助我吗?任何指导信息将不胜感激或指导。谢谢你。

4

1 回答 1

0

计算机所做的只是遵循一系列代码,例如加、减、存储等......

其中一个代码允许您跳过其他代码。这就是计算机在最基本的层面上处理条件的方式。如果您的累加器设置为 0,BRZ 代码将跳转到指定的代码行。

10 Input to accumulater
20 BRZ 60                    < go to line 60 if accumulator is 0
30 do something //skip me
40 do something //skip me
50 HALT
60 do something else
70 do something else
80 BRZ 30

如果累加器不为 0,它将继续执行第 30 行和第 40 行,然后在第 50 行终止。

于 2017-05-24T06:23:38.123 回答