解释此汇编代码以查找余数

时间:2015-12-10 09:30:55

标签: algorithm visual-studio assembly hex division

我有这个代码用于从Visual Studio 2015编译的程序中查找低于1000的3或4的乘法。

Find multiplies of 3 or 4 below 1000

我可以识别循环的每个部分,并且可以理解除第一部分之外的每个部分。我得到乘法的乘法的高位和0xAAAAAAAB将存储在edx中,然后除以2并乘以3,然后如果结果与原始数字相同(在本例中为i),那么是3的倍数。我只是不知道为什么这是真的,它背后的逻辑是什么,也许最重要的是0xAAAAAAA来自哪里。

这种方法对我来说似乎也有些过分。为什么它不只是做一个div,从寄存器中得到余数?

0 个答案:

没有答案