【问题标题】:Marie simulator multiplication of three numbers三个数字的玛丽模拟器乘法
【发布时间】:2018-11-17 18:18:01
【问题描述】:

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

【问题讨论】:

    标签: assembly marie


    【解决方案1】:

    我使用两个变量 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-15
      相关资源
      最近更新 更多