永发信息网

汇编 LEA 指令,请高手帮我详细讲下。

答案:3  悬赏:80  手机版
解决时间 2021-03-04 09:23
  • 提问者网友:龅牙恐龙妹
  • 2021-03-04 03:12
汇编 LEA 指令,请高手帮我详细讲下。
最佳答案
  • 五星知识达人网友:鸠书
  • 2021-03-04 04:35
总的来看,LEA指令常被用作运算求值,要比mov、add、sub等指令搭配快速。
LEA opera1, opera2的本来作用是取opera2的地址,然后把这个地址赋给opera1。
既然这样,那如果我把opera2的形式写成”[address]“,很显然opera2的地址就是address,所以LEA会傻瓜似地把address这个数复制给opera1。
发现没有?这就好比是我们把一个计算公式address的运算结果复制给了opera1.所以当遇到LEA eax, [ebx-3+4]时,其效果就是把ebx-3+4的计算结果赋给eax了。
全部回答
  • 1楼网友:渡鹤影
  • 2021-03-04 06:17
LEA指令的作用是将源操作数的偏址传送到目的操作数中,如LEA DX,FLDD(FLDD是定义的数据),编译时将FLDD所在的地址(即偏址)传送到DX中。这相当于MOV DX,OFFEST FLDD,即把FLDD的偏址传送到DX。希望这对你有所帮助!
  • 2楼网友:一秋
  • 2021-03-04 06:10
地址传递.比如:lea bx,[bx+si+10H];意思是:计算bx+si+10H的值后把计算结果存到bx里.可以理解为:mov bx,[bx+si+10H];这只是理解.在汇编语法里因为有些这类运算用mov是不允许的,但用lea却允许.这就是它们的区别.我也从没编译过汇编程序,我顶多用汇编镶入c所以具体你还是自己去实践体会.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯