Просто работаю с Little Man Computer здесь и столкнулся с проблемой, которая как бы меня беспокоит.Так как здесь нет «если» и т. Д., Мне трудно не допустить, чтобы нечетные числа переходили в отрицательные числа при вычитании из четного числа.Например, я беру 3 из 10 в цикле и ветви в ноль.Но это никогда не достигает нуля.Поэтому я хочу знать, как заставить приложение остановиться до того, как оно станет отрицательным, например, 3, вычтенное из 10 в цикле, будет 10, 7, 4, 1, -2.Но я хочу, чтобы он остановился на 1, поэтому не углублялся в минус и не преодолевал эту проблему.
Это то, что я имею до сих пор, и работает только для четных и четных чисел:
INP
STA DEC
INP
LOOP SUB DEC
OUT
BRZ QUIT
BRA LOOP
QUIT HLT
DEC DAT
(для начала, я думаю, было бы неплохо объявить второй вход как переменную, верно? Или нет?)
Буду очень признателен, если вы мне поможете.И придумайте постоянное решение этого вопроса.