У меня есть некоторый код OAM здесь, и я просмотрел все инструкции, что они делают, как они действуют, и я переписал все это псевдо, но у меня возникла проблема с поиском (так что я могу сосчитатьсколько) циклов в программе.Я чувствую, что это должно смотреть мне в глаза, и я сделал тысячу факторных программ на C / Java и т. Д., Но я не вижу этого здесь.
Таким образом, он принимает пользовательскую запись, если == 0, он прерывается на done [brz], если> 0 break, чтобы пропустить [brp] neg, используемый для отмены значения для значения abs
Процедура пропуска выполняет умножение и decrememntsзатем следуют дополнительные условия, чтобы увидеть, нужно ли вызывать его снова или программа завершена.
Мне нужно, по сути, найти циклы в этой программе.Как я уже сказал, это, вероятно, смотрит мне в лицо, но это часто задаваемый вопрос со стороны цессионария.
РЕДАКТИРОВАТЬ, чтобы уточнить: программа не принимает факториал одного числа, а скорее умножает факториалкаждого введенного числа.
Таким образом, я мог бы ввести 3, -4, 2, 0, и результат будет 288. (3 * 2 * 1) (4 * 3 * 2 * 1) (2 *1)
РЕДАКТИРОВАТЬ для BRI:
read: noop
lda stdin
brp return
neg
return: bri read