在循环时,小人计算机不会在零处分支

时间:2016-02-16 21:25:42

标签: assembly little-man-computer

所以我在LMC中创建了一个从5到17计数并显示奇数的东西。我已经完成了代码,但是当我尝试在代码命中17时将其分支时,它不会工作并且它将继续输出超过17.我尝试这样做的方式是在循环的每次迭代之前减去17并且最终当使用命中17,17的计数变量I将被减去并且它将在0处分支时,停止该程序。任何人都可以告诉我为什么这不起作用,也许是我这样做的顺序?

       lda third
print  out
       sub first
       brz done
       lda third
       add second
       sto third
       br  print
done   hlt

first  dat 0x17
second dat 0x02
third  dat 0x05

1 个答案:

答案 0 :(得分:-1)

我不知道造成这个问题的原因,但是当我第一次改为11时它停在17号。我不知道为什么差异有效,但对我有用:D