Marie Simulator将三个数相乘

时间:2018-11-17 18:18:02

标签: assembly marie

在Marie模拟器中,我如何将3个正数(例如21 19和23)相乘,并使用循环将结果存储到变量 product 中?我是Marie的新手,无法解决这个问题。谢谢!

1 个答案:

答案 0 :(得分:0)

我在迭代中使用了两个变量Sum1和Sum2。 Sum1将第一个变量与第二个变量的计数相加。然后,将总数与第三个变量的计数相加。最后的结果就是您的product

例如: 2 x 3 x 4
2 + 2 + 2 = 6(Sum1加2、3次)
6 + 6 + 6 + 6 = 24(Sum2加6、4次)

    Input
    Store   A
    Input
    Store   B
    Input
    Store   C

    Load    B
    Store   Count   /Set count for B times

Loop1,  Load    A
    Add     Sum1
    Output  /Track process
    Store   Sum1

    Load    Count
    Subt    One
    Store   Count
    Skipcond 800
    Jump    Count2
    Jump    Loop1

Count2, Load    C
    Store   Count   /Set count for C times

Loop2,  Load    Sum1
    Add     Sum2
    Store   Sum2    /Final Sum2 == Product
    Output  /Track process
    Load    Count
    Subt    One
    Store   Count
    Skipcond 800
    Jump    End
    Jump    Loop2

End,    Load    Sum2
    Output
    Halt

A,  Dec 0
B,  Dec 0
C,  Dec 0
Sum1,   Dec 0
Sum2,   Dec 0
Count,  Dec 0
One,    Dec 1