逆向知识第七讲,三目运算符在汇编中的表现形式
一丶编译器优化方式
首先说一下编译器优化方式.
1.常量折叠
2.常量传播
3.复写传播
4.公共表达式
5.去掉不可达到分支...如果看做是100秒时间,那么我们只用了10^n秒(n的取值看上面的指令,比如mov,占4个指令周期,举个例子,那么合起来才14个指令周期)
二丶三木运算符在汇编中的表现形式
高级代码:
#include...35 : 98); 第四种表达方式,指令支持
}
1.三木运算符第一种表达形式.
?
有用的汇编代码就4行.
1.变量给寄存器保存.
2.寄存器内容求补码
3.带进位的减法....其中,这种优化方式,则是顺序优化.也就是上面没说的.结果之后有一方成立
2.三木运算符的第二种表达方式
高级代码:
printf("%d\r\n", argc > 9 ?...看上面汇编代码解析
这里的esi是argc变量,因为上下文关系,所以变量的值已经在esi保存了。