Итак, я пытался создать в LMC программу, которая позволяла бы пользователю вводить случайные числа до тех пор, пока он не нажмет «0».Затем предполагается, что программа подсчитает количество входных данных (не все числа, сложенные вместе), найдет число с наибольшим значением и выведет оба.Пока это моя программа:
INP
STA MAX
LDA COUNT
ADD V1
STA COUNT
LOOP INP // Loop input
BRZ EXIT
STA TEMP
SUB MAX
BRP N1 // N1 is the first input
BRA LOOP
N1 LDA TEMP
STA MAX
LDA V1
ADD COUNT
STA TELLER
BRA LOOP
EXIT LDA m
OTC
LDA a
OTC
LDA x
OTC
LDA =
OTC
LDA MAX
OUT
LDA LF
OTC
LDA c
OTC
LDA =
OTC
LDA COUNT
OUT
HLT
m DAT 109
a DAT 97
x DAT 120
= DAT 61
MAX DAT 000
TEMP DAT 000
LF DAT 10
c DAT 110
= DAT 61
V1 DAT 1
COUNT DAT
Пока программа выводит номер наибольшего значения и даже выводит перед ним «max =».Но он не считает количество входов и не останавливается полностью, когда пользователь нажимает «0».Предполагается, что не считается "0" в качестве записи.Все было бы очень полезно