汇编中MOV和LEA的区别是什么
3个回答
展开全部
LEA 指令,可以用MOV 指令代替,但是写法上要注意. 例如把0x114地址单元的地址送给eax, (at&t 书写格式)可以写成 lea edx, dword ptr ds:0x114, 其结果等价于movl $0x114,%edx, LEA 指令在取到内存地址时比较方便,例如汇编指令 lea ignore_int,%edx
ignore_int 是一个地址符号,会被翻译成一个地址值, 它等价于 movl $ignore_int,%edx
但 lea 还有另一种应用场景
例如: lea idt(,%ecx,8), %esi
以idt 为基地址,%ecx*8为偏移,计算这个数值赋值给esi , 显然这是为表格操作而设计的,所以LEA 在处理地址方面还稍显灵活。
ignore_int 是一个地址符号,会被翻译成一个地址值, 它等价于 movl $ignore_int,%edx
但 lea 还有另一种应用场景
例如: lea idt(,%ecx,8), %esi
以idt 为基地址,%ecx*8为偏移,计算这个数值赋值给esi , 显然这是为表格操作而设计的,所以LEA 在处理地址方面还稍显灵活。
上海巴鲁图工程机械科技有限公司_
2022-05-15 广告
2022-05-15 广告
光电编码器,是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。光电编码器每转输出60(我们用老板没有说)个脉冲,五线制。其中两根为电源线,三根为脉冲线(A相、B相、Z)。电源的工作电压为 (+5~+24V)直流电源。光...
点击进入详情页
本回答由上海巴鲁图工程机械科技有限公司_提供
展开全部
LEA指令的功能是取偏移地址,例如LEA AX,[1000H],作用是将源操作数[1000H]的偏移地址1000H送至AX;
MOV指令的功能是传送数据,例如MOV AX,[1000H],作用是将1000H作为偏移地址,寻址找到内存单元,将该内存单元中的数据送至AX。
MOV指令的功能是传送数据,例如MOV AX,[1000H],作用是将1000H作为偏移地址,寻址找到内存单元,将该内存单元中的数据送至AX。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
区别是:传数据,传地址。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询