Подсчет пользовательского ввода в Little Man Computer - PullRequest
0 голосов
/ 20 октября 2018

Итак, я пытался создать в 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" в качестве записи.Все было бы очень полезно

...