玛丽模拟器在存储输入后并不意味着循环

时间:2016-04-19 03:24:30

标签: loops assembly calculator marie

我已经编写了这个非常基本的Marie代码,用于将两个数字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 :(得分:0)

这是因为你的乘法子程序行名/变量在第8行时有操作数0,它必须是12月8才能工作:)