leaq c 汇编语言,汇编语言lea指令使用方法解析
这篇文章主要介绍了汇编语言lea指令使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
lea指令变种(按大小分类):
leaw #2个字节
leal #4个字节
leaq #8个字节
lea的用法:
leaq a(b, c, d), %rax
首先lea指令是mov指令的变种,据说,lea指令是x86体系结构中,是一条最古老但是从某个方面来讲又是最神奇的指令。
表面上看,它做的事情非常简单,根据括号里的源操作数来计算地址,然后把地址加载到目标寄存器中。
例如:leaq a(b, c, d), %rax 先计算地址a + b + c * d,然后把最终地址载到寄存器rax中。
最逗的是leaq不引用源操作数里的寄存器,只是单纯的计算。那这样的完全可以把它当作乘法指令使用。
例如:
rbx * 2
movq $8, %rbx
leaq (, %rbx, 2), %rax
rbx * 3
movq $8, %rbx
leaq (%rbx, %rbx, 2), %rax
rbx * 3 - 1
movq $8, %rbx
leaq -1(%rbx, %rbx, 2), %rax
什么时候用lea指令:
在打算用五六条指令来完成某个乘法运算之前,看看能否通过两三条lea指令来代替它。
注意事项:
d的取值范围是1,2,4,8(64位cpu)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
leaq c 汇编语言,汇编语言lea指令使用方法解析相关推荐
- linux汇编 lea,汇编语言lea指令使用方法解析
这篇文章主要介绍了汇编语言lea指令使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 lea指令变种(按大小分类): leaw #2个字节 ...
- leaq c 汇编语言,汇编 LEA 指令
Opencl 并行求和 上周尝试用opencl求极大值,在网上查到大多是求和,所谓的reduction算法.不过思路是一样的. CPP: ; unsigned ; ; ; int nGroup = n ...
- 汇编语言 LEA指令 ZZ
http://blog.chinaunix.net/uid-7390305-id-2057250.html LEA: Load Effectiv Address 该指令有两个操作数.左边是目的操作数, ...
- 汇编语言-中括号-mov指令-cmp指令-lea指令
文章目录 1.汇编语言中"[]"的用法 2.mov指令中用到"[]" 3.cmp指令中用到"[]" 4.lea指令 5.test指令 其实& ...
- 8086汇编语言中的lea指令
举例说明: lea 0x4(%esp),%ecx lea指令的作用是,取出esp寄存器中的值,加上4,不再继续寻址,而是将得到的值直接传递给ecx; 如果是其他指令,则还需要进行间接寻址,再将值传递给 ...
- std在汇编语言是什么指令_汇编语言指令
汇编指令英文全称 1.通用数据传送指令 MOV----> move MOV dest,src ;dest←src MOV指令把一个字节或字的操作数从源地址src传送至目的地址dest. MOVS ...
- std在汇编语言是什么指令_汇编语言的所有指令
汇编语言的所有指令 数据传送指令集 MOV 功能 : 把源操作数送给目的操作数 语法 : MOV 目的操作数 , 源操作数 格式 : MOV r1,r2 MOV r,m MOV m,r MOV r,d ...
- 汇编语言---字符串操作指令
汇编语言---字符串操作指令 字符串操作指令的实质是对一片连续的存储单元进行处理,这片连续的存储单元由隐含指针DS:SI或ES:DI来指定;字符串操作指令可对内存单元按照字节.字.双字进行处理,并能根 ...
- #有关汇编语言的org指令(许多不为人知的故事):
有关汇编语言的org指令(许多不为人知的故事): 也许不知道是从什么时候开始,java这种高级语言已经占领市场,连我毕业的大学,现在都不再教C语言的内容了,为了就业率,但是其实作为一个程序员,我表示深 ...
最新文章
- 语言在msin函数验证_R语言时间序列分析(七):模型准确度估计
- bool类型头文件_[C++基础入门] 2、数据类型
- 最新Kernel 2.6.29正式版发布啦
- 6.FreeRTOS学习笔记-信号量
- 让nginx 支持 pathinfo ,支持thinkphp
- 如何使用SQL Server链接服务器查询Excel数据
- javascript是一门多线程的语言_如何理解JavaScript是一种单线程非阻塞脚本语言?...
- 二项分布期望与方差的证明
- 域用户创建和计算机加入域
- origin做主成分分析图_Origin如何进行主成分分析
- C++ async future deferred
- WOL网络唤醒远程开机的关键步骤,魔术唤醒一步都不能少!
- 对多项式求积分和微分
- 二进制拆弹(炸弹炸掉了我的头发 T.T)
- 面试题一(计算机基础、逻辑)
- 怎么让照片变年轻_如何用ps把人变年轻水嫩
- QT中关闭应用程序和窗口的函数(quit(),exit()以及close()的区别)
- mysql和eclipse用户管理系统_房产备案管理系统的设计与实现(Eclipse,SpringBoot,MySQL)...
- I5 4590 台式机安装黑苹果再次入坑记(2019.12.23)
- Adobe Photoshop CS6 安装失败 解决方法
热门文章
- web 平台搭建-LAMP-源码包(CentOS-6)
- Linux+mysql重置_linux环境mysql重置密码
- oracle跨库 导库,Oracle 用dblink 跨库导数据
- php获取搜索框的函数,php获取搜索引擎入站关键词的函数
- 大连海事大学计算机系王兴元,王兴元,
- python绘图和可视化_Python 绘图和可视化详细介绍
- 网络拓扑图一般用什么软件画_视频后期一般用什么软件
- C#中导出Excel报表的方法
- 机器学习之挖掘melb_data.csv数据
- bzoj 1731 [Usaco2005 dec]Layout 排队布局——差分约束