所以这是一个学校项目:我需要设计一个程序(使用分支循环),将 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 时停止。