html tool

2018年11月27日星期二

转:windows汇编指令 lea与mov 的区别



https://blog.csdn.net/asce1885/article/details/5565433

lea:取得地址(第二个参数)后放入到前面的寄存器(第一个参数)中。实际上,有时候lea用来做和mov同样的事情,比如赋值

lea edi,[ebp – 0cch]

其中,方括弧表示存储器,也就是ebp-0cch这个地址所指的存储器内容。但是lea语法要求取[ebp-0cch]的地址,这个地址就是ebp-0cch,把这个地址放到edi中,也就是说,这等同于:

mov edi,ebp-0cch

但以上的mov指令时错误的,因为mov不支持后一个操作数写成寄存器减去数字。而lea支持,因此可以用lea来代替它。



没有评论:

发表评论