逆向课程第五讲逆向中的优化方式,除法原理,以及除法优化下
一丶除法的优化
1.有符号被除数 / 无符号除数的情况下
高级代码为:
汇编中优化的体现形式
相比于昨天,我们发现了的 无符号...依据上面的汇编代码n值等于1
也就是shr edx,1 那么我们知道,算一个除法的时候,必须扩展符号位
也就是 变成了 EDX.EAX 了,现在EDX右移一位,那么相当于 eax移动了32位+1,也就是...又晕了是不是,一个DIV没用到,很难看到这是一个除法对不对....那么根据上面的程式,继而得到了
一步一步简化
第一次简化: 可以把2^32次方拿到上面来
第二次简化
第三次简化:
第四次简化
第五次简化
第六次简化:
第八次简化:
得出了
那么根据以前的除法公式...二丶除数为负数
1.除数为 -2的幂的情况下
高级代码:
汇编代码:
公式还是一样的,向上取整的公式.也就是昨天的
b- 1是3
b是除数, 结果是2 ^2次方.