x86汇编 - masm32:乘法和除法的绝对细分

时间:2012-05-21 11:51:53

标签: assembly x86 divide

我已经在互联网上查看了如何在masm32程序集中进行乘法和除法的简单易懂的评估。我的问题是:

  1. 我应该在哪里放置数字?

  2. 我应该将数字放在哪里?

  3. 其余部分在哪个部门?

  4. 有人可以帮我解答一下吗?

    谢谢,

    Progrmr

1 个答案:

答案 0 :(得分:3)

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

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

  1. 如果您使用EAX,则必须将乘法的一个操作数放在MUL寄存器中。如果您使用IMUL指令,则可以更灵活一些,该指令允许您指定源寄存器和目标寄存器。
  2. 在32位模式下,被分割的数字始终是64位数。高位进入EDX,低位进入EAX
  3. 其余部分始终放在EDX