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之类),该功能下降了指令之间的依赖关系,从而为编译器或硬件调度程序进一步优化提供了空间。硬件