程序设计用于减去第二个输入的第一个输入,如果结果是正数或零,则输入1更大(或相同),因此输入1首先输出。当第一个数字较大时,一切正常,但是当第一个数字较小时,即使减法的结果为负,它仍然会运行'if positive'循环。我不明白为什么会这样,但我希望有这方面经验的人可以提供帮助。
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
是程序的另一部分,它可以正常工作,因此您可以忽略它。
答案 0 :(得分:1)
您要在此处执行的操作是删除一个数字,然后使用BRA
和BRP
命令查看哪个更大。
这是修改后的代码:
INP
STA VONE
INP
STA VTWO
LDA VONE
SUB VTWO
BRP BTOS
BRA BTOS2
BTOS LDA VONE
OUT
LDA VTWO
OUT
BTOS2 LDA VTWO
OUT
LDA VONE
OUT
VONE DAT
VTWO DAT