该程序旨在将第一个输入减去第二个,如果结果为正或零,则输入 1 更大(或相同),因此首先输出输入 1。当第一个数字较大时,这一切都可以正常工作,但是当第一个数字较小时,即使减法的结果为负,它仍会运行“如果为正”循环。我不明白为什么会发生这种情况,但我希望对此程序有更多经验的人可以提供帮助。
INP
STA VONE
INP
STA VTWO
LDA VONE
SUB VTWO
STA NUM
LDA NUM
BTOS LDA VONE
OUT
LDA VTWO
OUT
BRA LOOP
BRP BTOS
LDA VTWO
OUT
LDA VONE
OUT
BRA LOOP2
这BRA LOOP
是程序的不同部分,可以正常工作,因此您可以忽略它。