如何在 LMC 中打印未知数量的输入的最大值/最小值?
我知道我可以从 INPUT 2 SUB INPUT 1 看看它是负数还是正数,但我不知道如何命名输入以便加载它们。
PS:我发现这个有用的链接可以帮助我处理“未知数量的输入”部分 如何在 LMC(小型计算机)的不同地址中存储未知数量的输入?
如何在 LMC 中打印未知数量的输入的最大值/最小值?
我知道我可以从 INPUT 2 SUB INPUT 1 看看它是负数还是正数,但我不知道如何命名输入以便加载它们。
PS:我发现这个有用的链接可以帮助我处理“未知数量的输入”部分 如何在 LMC(小型计算机)的不同地址中存储未知数量的输入?
您链接到存储未确定数量的输入值的代码。但在您的情况下,这不是必需的:您可以在读取输入值时跟踪最小值和最大值。不需要实际存储每个输入值:
#input: 5 3 9 6 2 4
INP ; data size
STA count
BRZ exit ; nothing to do
; initialise
LDA zero
STA max
LDA big
STA min
loop LDA count
SUB one
BRP nextvalue
output LDA min
OUT
LDA max
OUT
exit HLT
nextvalue STA count
INP ; get data value
STA value
SUB min
BRP checkmax
LDA value
STA min
checkmax LDA max
SUB value
BRP loop
LDA value
STA max
BRA loop
zero DAT 0
one DAT 1
big DAT 999
count DAT
min DAT
max DAT
value DAT
<script src="https://cdn.jsdelivr.net/gh/trincot/lmc@v0.812/lmc.js"></script>