【发布时间】:2017-01-27 10:43:01
【问题描述】:
有人可以帮我理解,为什么只有在 input
INP
STA INPUT
LDA C
OUT
ADD ONE
OUT
LOOP LDA A \\ first loop
ADD ONE
STA A
SUB INPUT
BRP END
LDA A
ADD LDINS
STA READINS
READINS DAT
BRZ PRIME
BRA LOOP
PRIME LDA A
OUT
STA B
WRITELOOP LDA B \\ second loop
SUB INPUT
BRP LOOP
LDA B \\ at this moment program breakdown when input is more than 69
ADD STINS
STA WRINS
LDA A
WRINS DAT
LDA B
ADD A
STA B
BRA WRITELOOP
END HLT
INPUT DAT 0
LDINS DAT 531 \\ this is working, but i think i might do a better code
STINS DAT 331
A DAT 1
ONE DAT 1
B DAT
C DAT 2
我使用http://peterhigginson.co.uk/lmc/ 来尝试运行这个程序
【问题讨论】:
-
这是什么类型的问题?什么编程领域?
-
小人电脑的简单汇编代码。这仅在输入小于 69 时有效,我不知道为什么
-
你从哪里得到这个代码?我相信这是对我编写的代码的改编,有一些非常小的改编。您可以在我的博客上看到指向我的原始代码的链接:paulhankin.github.io/LittleManComputer。我个人认为我的 LMC 模拟器比你现在使用的那个更好,但也许我有偏见:)
-
无论输入如何,您所做的编辑都会使其无法正常工作。
标签: sieve-of-eratosthenes little-man-computer