LMC循环获取最高编号和多少编号(N =)(Max =)

时间:2018-10-18 17:58:57

标签: python loops assembly

我正在尝试实现一个循环,该循环接受用户希望输入的数字作为输入,然后将其最大的输出打印为Max = highest numberN = total number of inputs

当输入为0

时,程序应停止

这是我到目前为止所做的,但是N和Max不能打印出来?

LOOP    INP
        BRZ F
        STA first
        BRA LOOP
LOOP    INP
        BRZ F
        STA second
        BRA LOOP
        SUB second
        BRP secondBig
        LDA second
        OUT 
F       LDA \n
        OTC
        LDA N
        OTC
        LDA =
        OTC
secondBig LDA second
        LDA \n
        OTC
        LDA M
        OTC
        LDA a
        OTC
        LDA x
        OTC
        LDA =
        OTC
END     HLT
N       DAT 78
=       DAT 61
\n      DAT 10
M       DAT 77
a       DAT 97
x       DAT 120
first   DAT
second  DAT 

这是我要在python代码中做的事情

number = 0
max = 0
x = int(input(""))
while x != 0:
if x > max:
max = x
number = number + 1
x = int(input(""))
print("n=", number)
if number > 0:
    print("max=", max)

1 个答案:

答案 0 :(得分:0)

我也正在为此而苦苦挣扎,但有一些提示:您只需要一个INP。读取输入,启动BRZ循环,并在该循环中调用比较newinp和max(在该循环中进行输入计数的方法)。

至于我的代码,我无法打印出最大值,只能打印最后的输入。我试过了:(而不是它自己的INP,它是从读取方法中获得的)

findMax LDA newinp    
        STA newinp
        LDA max
        STA max
        SUB newinp
        [...]