如何在LMC中找到奇数和

时间:2019-09-07 23:44:41

标签: little-man-computer

我正在学习LMC,但是在LMC中直到100都找不到奇数之和 例如1 + 3 + 5 + 7 ...等

我确实编写了将两个数字相加的代码

  INP //here I wil input 1
  STA 99
  INP // here I will input 2
  ADD 99
  OUT
  HLT

我不确定如何遍历它,因此我可以获得奇数之和。如果有人可以帮助我?

1 个答案:

答案 0 :(得分:0)

如果需要输出1到100之间的奇数,则没有理由要求用户输入:您已经具有解决问题的所有要素,因此无需提出任何要求。

使用LMC,您通常需要定义一些常量数据,例如...数字1。对于本练习,数字2也很容易准备。因此,请为这两个数字保留两个“邮箱”(使用DAT)。

以下是程序的工作方式:

LOOP      LDA CURRENT  // start with one
          OUT          // output less than 100
          ADD TWO
          STA CURRENT
          SUB HUNDRED  // compare with 100
          BRP EXIT     // halt when above
          BRA LOOP     // and repeat
     EXIT HLT
  CURRENT DAT 1
      TWO DAT 2
  HUNDRED DAT 100

<script src="https://cdn.jsdelivr.net/gh/trincot/lmc@v0.7/lmc.js"></script>