如何在Marie模拟器中进行乘法然后加法

时间:2016-08-20 20:03:48

标签: marie

我是Marie模拟器的新手。我知道如何在模拟器中添加,但不幸的是我不知道如何繁殖。 例如,我如何为此设置代码:S = x * Y + z 提前致谢

1 个答案:

答案 0 :(得分:0)

您可以使用重复添加来实现乘法。

这是一个基本算法。

For positive integers use the algorithm:
    Result = Result - Multiplier
    Multiplicand = Multiplicand - 1
For negative integers use the algorithm:
    Result = Result + Multiplier
    Multiplicand = Multiplicand + 1

在伪代码中:

while Multiplicand != 0
    if Multiplicand > 0
        Result = Result - Multiplier
        Multiplicand = Multiplicand - 1
    else
        Result = Result + Multiplier
        Multiplicand = Multiplicand + 1

这需要两个变量来保存乘数和乘法。 此外,您可以使用JNS(跳转和存储指令)和JUMPI(跳转间接)将其转换为通用例程。

JNS Multiply

/ Somewhere else
/ Define Multiply as a variable
/ JNS will store the current HEX address
/ in Multiply and start executing the next
/ line

Multiply, DEC 0

/ *** Multiply Body *** /

/ Lastly use JUMPI to Jump Indirectly
/ back to where Multiply was
/ executed from

JUMPI Multiply