Marie] Вычислить арифметическое выражение
Как реализовать вычисление выражения r=15(x+y-z) в симуляторе Marie.
Как умножить на 15?
Input
Store x
Input
Store y
Input
Store z
Load x
Add y
Subt z
Store r
Ответы (1 шт):
Автор решения: Roman Konoval
→ Ссылка
Так как операции умножения нет, то ее нужно реализовать сложением в цикле:
loop, Load result
Add r / на каждом шаге добавляем (x+y-z)
Store result / тут накапливаем результат умножения
Load M / счетчик цикла
Subt one
Store M
Skipcond 400 / достигло ли M нуля
Jump loop / если нет, переходим на loop
Предполагаем, что у нас объявлены переменные
one, DEC 1
M, DEC 15
r, DEC 0
result, DEC 0