博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mov offset和lea的区别
阅读量:4646 次
发布时间:2019-06-09

本文共 557 字,大约阅读时间需要 1 分钟。

 原文地址:

全局变量取地址用mov offset

例如:mov     dword ptr [ebp-14h],offset ConsoleTest+0x94620(00494620)

局部变量取地址用lea

例如:

0042fb24 8d45f8          lea     eax,[ebp-8] 

0042fb27 8945ec          mov     dword ptr [ebp-14h],eax//EBP-8这个变量的地址存入变量[ebp-14h]

其实区别就是offset的第二个参数是地址,lea第二个参数是寄存器。

 

LEA SI,STR与MOV SI,OFFSET STR最大区别在于OFFSET STR是一条伪指令,与SEG DATA之类相似,它在编译和连接过程被赋给一个值,你可以把它看成一个立即数,LEA SI,STR是把STR的内存指针赋给SI,你可以把它看成内存变量。另外,MOV SI,OFFSET STR是一条2字节指令,LEA SI,STR是一条3字节指令,后者虽然有比较灵活的,但前者具有更小的容量和更快的执行速度,推荐尽可能使用MOV SI,OFFSET STR。当然,OFFSET后面只能是标号或变量名。

 

 

转载于:https://www.cnblogs.com/xiangtingshen/p/11469416.html

你可能感兴趣的文章
C#实现 单点登录(SSO)
查看>>
高精度计算(2015.8.1)
查看>>
cocos2d-x tile map瓦片地图的黑线及地图抖动解决方案
查看>>
软工网络15团队作业2——团队计划
查看>>
Android屏幕适配
查看>>
ps简单操作文档
查看>>
CSS之float样式
查看>>
08test
查看>>
测试用例方法总结
查看>>
基数---SQL Server 2008 Bible
查看>>
第一个JSP程序
查看>>
数组常用的API——splice()截取
查看>>
sbt教程
查看>>
djang1.7 复制粘贴小项目(generic View的使用)
查看>>
Python For Delphi---更好地协同(续)
查看>>
Java的内存泄漏
查看>>
152-PHP htmlspecialchars函数
查看>>
061-PHP函数定义默认参数
查看>>
Genymotion下载模拟器失败解决方案
查看>>
The Apostrophe and the Quote Function ‘和引用函数 未翻译完)
查看>>