Computer science 如何找到两个以上输入数字中的最大值

Computer science 如何找到两个以上输入数字中的最大值,computer-science,little-man-computer,Computer Science,Little Man Computer,我能写一个LMC程序,它能找到两个输入值中的较大值。但是我如何修改它来找到任意数量的输入值中的最大值,而不仅仅是两个 下面是我的代码: START INP STA NUM1 INP STA NUM2 LDA NUM1 SUB NUM2 BRP Positive LDA NUM2 OUT HLT Positive LDA NUM1

我能写一个LMC程序,它能找到两个输入值中的较大值。但是我如何修改它来找到任意数量的输入值中的最大值,而不仅仅是两个

下面是我的代码:

START    INP 
         STA NUM1
         INP
         STA NUM2
         LDA NUM1
         SUB NUM2
         BRP Positive
         LDA NUM2
         OUT
         HLT
Positive LDA NUM1
         HLT
NUM1     DAT
NUM2     DAT
设NUM1为目前为止的最大值,并进行循环以将下一个输入读取到NUM2中。如果比较显示下一个输入更大,则更新NUM1,否则不更新

使用此方法,最好将NUM1重命名为MAX,将NUM2重命名为just NUM

您还应确定已提供所有输入的指示。一种方法是同意用户必须输入一个特定的值来标记输入的结束。显然,这意味着特殊值不能成为输入本身的一部分

以下是终止值为0时的外观:

#输入:5 2 8 4 5 0
启动INP
BRZ输出
斯塔马克斯
环路INP
BRZ输出
STANUM
LDA最大值
子编号
BRP环路;投入没有增加
LDA数值
斯塔马克斯;投入更大
文胸环
输出LDA最大值
出来
HLT
数字数据
最大数据0

让我们使用num1存储到目前为止看到的最大数字。因此,将第一个数字存储在那里,在每个新数字之后,将其与num1进行比较,如果新数字更大,则用新数字覆盖num1。最后只显示num1。