max/min LMC 中未知数量的输入?

max/min of an unknown number of inputs in LMC?

如何在 LMC 中打印 maximum/minimum 未知数量的输入?

我知道我可以从输入 2 子输入 1 并查看它是负数还是正数,但我不知道如何命名输入以便加载它们。

PS:我发现这个很有用 link 可以帮助我解决“未知数量的输入”部分

您 link 编写存储不确定数量的输入值的代码。但在您的情况下不需要:您可以在读取输入值时跟踪最小值和最大值。实际上不需要 store 每个输入值:

#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>