1.SDM指令功能描述(LEA)
LEA
总体描述:
从第二个操作数(源操作数)计算有效地址,并将结果存入第一个操作数(目的操作数)。源操作数是指定了一种访存操作的内存地址,目的操作数为一个通用寄存器。地址大小和操作数大小都会影响该指令的结果,操作数大小被指令中指定的寄存器大小决定,地址大小由代码段描述符中的属性指定。如果地址位数大于操作数位数,计算结果将被截断至操作数指定的宽度并存入寄存器中;如果地址位数小于操作数位数,计算结果将被零扩展至操作数指定的宽度并存入寄存器中。此指令常被编译器用来优化一些算术运算,因为此指令占用的空间要比单独实现Base + Scale * Index + Offset要少得多。

伪代码:(u16/u32/u64)addr = effective_addr();
(u16/u32/u64)dst_reg = addr;

标志位影响:

相关异常:
UD:
源操作数不是一个内存地址
使用了LOCK prefix

示例代码

void test()
{struct lseg_st les;int addr;les.a = 0xffffffff;les.b = 0x08;__asm__ volatile("leal %0, %%eax\t\n"::"m"(les));printk("addr 0x%X\n", &les);
}

X86 LEA指令详解相关推荐

  1. X86 LSS指令详解

    SDM指令功能描述(LSS) 总体描述: 用32位或48位或64位的数据加载16位SS段选择符和16或32位或64位的通用寄存器值,其中通用寄存器在目的操作数中. LSS (16or32or64)通用 ...

  2. #pragma comment和#pragma 预处理指令详解

    该宏放置一个注释到对象文件或者可执行文件. 例如,#pragma   comment(lib,"Ws2_32.lib")表示链接Ws2_32.lib这个库. 和在工程设置里写上链入 ...

  3. arm-linux-ld中的参数,arm-linux-ld指令详解

    arm-linux-ld指令详解 我们对每个c或者汇编文件进行单独编译,但是不去连接,生成很多.o 的文件,这些.o文件首先是分散的,我们首先要考虑的如何组合起来:其次,这些.o文件存在相互调用的关系 ...

  4. 九爷带你了解 nginx 日志配置指令详解

    nginx日志配置指令详解 日志对于统计排错来说非常有利的. 本文总结了nginx日志相关的配置如 access_log.log_format.open_log_file_cache.log_not_ ...

  5. movsb movsw movsd 指令详解

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u013490896/article/d ...

  6. java中Freemarker list指令详解

    java Freemarker中list指令主要是进行迭代服务器端传递过来的List集合. 定义 <#list nameList as names> ${names} </#list ...

  7. C#中的预处理指令详解

    这篇文章主要介绍了C#中的预处理指令详解,本文讲解了#define 和 #undef.#if.#elif.#else和#endif.#warning和#error.#region和#endregion ...

  8. pragma comment的使用 pragma预处理指令详解

    pragma comment的使用 pragma预处理指令详解 #pragma comment( comment-type [,"commentstring"] ) 该宏放置一个注 ...

  9. PUSHA/PUSHAD POPA/POPAD 指令详解

    PUSHA/PUSHAD POPA/POPAD 指令详解 官方文档的解释 在<Intel Architecture Software Developer's Manual Volume 2:In ...

最新文章

  1. weevely入手使用笔记
  2. 《未来架构师》的教学范例(1)
  3. Spring中bean的作用域
  4. Vue组件实现tips的总结
  5. python画父子关系图_将有父子关系的一维数组转换成树形结构(多维)数据
  6. InnoDB存储引擎详解
  7. idea自动下载gradle_如何在IDEA中下载Gradle项目的依赖源?
  8. CCNA路由综合实验配置详解
  9. 虚拟机查看HWADDR(即MAC)地址
  10. 【OpenCV 例程300篇】48. 直方图处理之彩色直方图匹配
  11. HDU4622: Reincarnation
  12. 不同颜色蔬菜代表什么营养?
  13. android磁盘分区,Android SD卡做磁盘分区图文教程
  14. 群晖设置腾讯云ddns显示认证失败的两种解决办法【实测第二种成功了】
  15. Apahce虚拟主机与伪静态
  16. 怎样卸载teams_如何在Windows 10上永久卸载Microsoft Teams
  17. 安卓简洁地实现点击ImageView查看大图功能
  18. Android组件化开发详解
  19. 数字电路与逻辑设计(重邮集成电路考研专业课)
  20. 台式机和工作站到底有什么区别?

热门文章

  1. Web系统中出现 localhost 将您重定向的次数过多问题
  2. uni-app(plus设计app图标角标)
  3. 微软编程一小时比赛--题目1 : Arithmetic Expression
  4. qt中使用 ui 文件进行界面设计
  5. android集群管理工具,使Kubernetes管理更轻松的十个工具
  6. MySQL~外键约束
  7. 让我们一起来看什么是元宇宙
  8. Unity Shader 高光反射光照模型
  9. 如何秒级搭建低成本私人云盘
  10. 图片转换成word的技巧