-4

我已经在互联网上寻找了一个关于如何在 masm32 汇编中进行乘法和除法的简单易懂的评估。我的问题是:

  1. 我应该把被相乘的数字放在哪里?

  2. 我应该把被除数的数字放在哪里?

  3. 其余部分在哪里?

有人可以为我回答这个问题吗?

谢谢,

程序

4

1 回答 1

3

通过查看Intel 64 and IA-32 Instruction Set Reference的正确页面,可以很容易地找到这个问题的答案。在这种情况下,您正在寻找MULandDIV指令(如果您正在对无符号操作数进行操作)或IMULandIDIV指令,它们用于有符号整数乘法和除法。

所以,如果你真的不想看手册:

  1. EAX如果您使用的是乘法运算,其中一个操作数必须放在寄存器中MUL。如果您使用该指令,这将更加灵活IMUL,它允许您指定源寄存器和目标寄存器。
  2. 在 32 位模式下,被除的数字始终是 64 位数字。高位进入EDX,而低位进入EAX
  3. 余数总是放在EDX.
于 2012-05-21T12:04:18.697 回答