Мари симулятор зацикливается, когда не предназначен для хранения входов
Я написал этот очень простой код Мари для умножения двух чисел, X и Y. Я построил его без первых 6 строк и просто назначил десятичные числа X и Y для проверки программы, но понял, что мне нужно разрешить пользователю вводить числа. Теперь, когда я прохожу через это или запускаю его, он просто запрашивает ввод, сохраняет X, запрашивает ввод, сохраняет Y и затем возвращается к запросу на ввод, т.е. вход для X. И это делает это бесконечно..... что?
Multiply_Subroutine, Dec 0
Input
Store X
Input
Store Y
multiply, Dec 0
Load Y
Skipcond 800
Jump end
Load temp
Add X
Store temp
Load Y
Subt One
Store Y
Skipcond 400
Jump multiply
Load temp
Store X
Output X
end, Halt
X, Dec 0
temp, Dec 0
Y, Dec 0
Null, Dec 0
One, Dec 1
1 ответ
Это потому, что имя / переменная строки умножения подпрограммы имеет операнд 0, когда она является строкой 8, для работы она должна быть 8 декабря:)