通常你只会使用模数来确定这一点,但由于这不是一个选项,我尝试使用重复的减法循环并使用 skipcond400 来确定该值是否等于 0。如果每次我要输入一个数字,这很好它是均匀的。我遇到的问题是,如果数字是奇数,则永远不会满足该条件,从而导致无限循环。我可以使用 skipcond000 作为替代方案,但它无法告诉我一个数字是否是偶数,因为奇数永远不会等于 0,因为它们不能精确地分成对。我坚持如何确定这一点,因为我的最终目标是使用它来添加所有偶数,直到某个值。为了做到这一点,我首先需要确定用户输入是偶数还是奇数,这样我就可以有一组不同的指令去做。到目前为止,我有这样的想法,但我完全不知道从这里去哪里。我接近这个完全错误吗?
ORG 100
Input
Store y //store input in a variable thats not messed with
Load y
Store x //store a duplicate of the input so i can mess with it
loop, Load x // loop that does repeated subtraction
Subt two
Store x
Skipcond 400
Skipcond 000
Jump loop
x, DEC 0
counter, DEC 0
two, DEC 2