LMC是一个超过@ http://gcsecomputing.org.uk/lmc/index.html的学习工具,一组问题是“编写程序以按升序输出数字1到10。
编写一个程序,按降序输出数字1到10。“
使用指令集http://gcsecomputing.org.uk/lmc/instruction_set.html我能够得到这个
loop LDA value1
OUT
SUB value2
STA value1
BRP loop
value1 DAT 10
value2 DAT 1
这从10到0计数,但我无法弄清楚如何向上计数到10然后停止计数。任何帮助解决这两个问题的人都会非常感激。
答案 0 :(得分:1)
更改方向(SUB
变成ADD
),更改开始/结束值(value1
,value2
)并与10进行比较(通过执行{ {1}}和SUB
)来检测是否已达到最终值。在那种情况下,您只需要输出那个并停止。
不要忘记在程序中添加BRZ
,因为您不希望执行在数据部分继续进行。
我还建议使用更有意义的变量名(HLT
标签)。
DAT