所以这是一个学校项目:我需要设计一个程序(使用分支循环),将 1 存储在内存位置 91,2 存储在 92 等等......到 5 存储在 95。我不太了解 LMC 和想要一些建议。我使用 peterhigginson.co.uk/LMC 作为我的代码(如果有帮助的话)。程序不可能像在 91 中存储 1 那样简单,它必须使用有限循环来完成。我可以在任何其他编码控制台中轻松实现这一点,但不是 LMC。任何帮助都非常感谢。
谢谢!
所以这是一个学校项目:我需要设计一个程序(使用分支循环),将 1 存储在内存位置 91,2 存储在 92 等等......到 5 存储在 95。我不太了解 LMC 和想要一些建议。我使用 peterhigginson.co.uk/LMC 作为我的代码(如果有帮助的话)。程序不可能像在 91 中存储 1 那样简单,它必须使用有限循环来完成。我可以在任何其他编码控制台中轻松实现这一点,但不是 LMC。任何帮助都非常感谢。
谢谢!
这不是一个简单的问题。对于写入不同地址的代码,您必须STA使用编码构建正确的指令,STA xx即3xx.
这是一种方法:
L LDA COUNT
ADD INS
STA X
LDA COUNT
X HLT
LDA COUNT
ADD ONE
STA COUNT
LDA FIVE
SUB COUNT
BRP L
HLT
COUNT DAT 1
ONE DAT 1
FIVE DAT 5
INS STA 90
有一个COUNT从 1 到 5 的计数器(存储在 中),每次通过循环L时,它都会被添加到390(存储在 中)——这会在迭代 1、2、3、4 上INS构造指令STA 91、STA 92、 .. STA 95, 5. 这条指令写在 处X,然后以A的值执行COUNT。其余的只是递增COUNT,当它大于 5 时停止。