我的小矮人计算机代码陷入了循环

时间:2018-11-27 02:28:33

标签: computer-science little-man-computer

最初的目标是使用小型计算机创建程序。我以为我可以使用它,但我相信它会卡在我的循环中。 谁能看到我哪里出问题了?

这就是我所拥有的:

       INP          ; 00 901 input p
       STO p        ; 01 308 store p
       INP          ; 02 901 input q
       BRZ end      ; 03 705 while q > 0
       BRP loop     ; 04 810
end    LDA p        ; 05 508 result is p
       OUT          ; 06 902
       HLT          ; 07 000
p      DAT          ; 08
q      DAT          ; 09
loop   SUB p        ; 10 208 compute q - p in calculator
       BRZ end      ; 11 705
       BRP loop     ; 12 810 if q > p, q := q - p
       ADD p        ; 13 108 else
       STO q        ; 14 309
       LDA p        ; 15 508
       SUB q        ; 16 209
       STO p        ; 17 308 p := p - q
       LDA q        ; 18 509
       BRA loop     ; 19 610

0 个答案:

没有答案