LEA 指令

lea,加载有效地址,将计算出的“存储器地址”放在结果寄存器中。优化

LEA不必定必须用于计算地址,编译器喜欢使用它来执行简单的算术。spa

 

LEA快速寄存器乘法 3,5或9编译器

LEA EAX, [EAX * 2 + EAX]   ;EAX = EAX * 3
LEA EAX, [EAX * 4 + EAX]   ;EAX = EAX * 5
LEA EAX, [EAX * 8 + EAX]   ;EAX = EAX * 9编译

​LEA指令的另外一个重要特征是它不会改变标志寄存器(诸如CF和ZF之类),该功能下降了指令之间的依赖关系,从而为编译器或硬件调度程序进一步优化提供了空间。硬件

相关文章
相关标签/搜索