关于leal和mov
2024-09-14 12:23:31
最近在学习leal的时候遇到了一点非常迷惑的地方,就是leal是用来取有效地址的,但是为什么它也可以实现赋值呢?偶然发现一个博客讲的不错,遂自己记录一下
一个这样的例子
leal 7(%edx,%edx,4),%edx
如果寄存器edx里面存的值为x,我们知道这句结束之后edx里面的值会被置为5x+7,但是看起来为什么是值而不是地址呢?
实际上这之中发生了这样的步骤:
首先,edx寄存器里面的值为x
显然,这是一种基址比例变址的寻址方式,%edx+%edx*4+7,目标内存地址为5x+7
3.那么,我们假设地址为5x+7对应的值为y,由于leal取的是有效地址,所以对于值y来说,它的地址就是5x+7,故leal取5x+7
4.5x+7被赋给寄存器edx
参考来源:
https://www.jianshu.com/p/29ce0edcd975
最新文章
- zookeeper原理解析-数据存储
- Synchronized和Static Synchronized区别
- spring boot分布式技术,spring cloud,负载均衡,配置管理器
- 驱动开发学习笔记. 0.01 配置arm-linux-gcc 交叉编译器
- 免费电子书:微软Azure基础之Azure Automation
- pyCharm使用
- Eclipse JavaEE设置内置浏览器和外部浏览器
- jQuery Mobile里xxx怎么用呀?(集成篇)
- Oracle中NULL值与索引
- iOS多线程编程之GCD的使用
- 解读sample3
- CppCon - Modern Template Metaprogramming 杂记
- 【Nginx笔记】nginx配置文件具体解释
- python绝技 — 用Scapy测试无线网卡的嗅探功能
- border表格有的自动换行,有的不能自动换行!
- NYOJ201作业题
- dhtmlx Gantt知识点1
- Qt5.12.2开发Android环境搭建
- 干货 | 10分钟玩转PWA
- mysql数据库指定ip远程访问 指定用户 指定数据库
热门文章
- Unity 让物体朝摄像机观察方向移动,已摇杆方向转向
- HashMap 和 Hashtable 的 6 个区别,一般人不知道最后一条
- sql语句中select……as的用法
- debugging kubernetes (Delve and Goland)
- WebStorm过期解决方法
- django2.0.6 连接使用redis集群
- iOS进阶之如何进行 HTTP Mock(转载)
- Flutter 输入控件TextField设置内容并保持光标(cursor)在末尾
- MySQL主从复制虽好,能完美解决数据库单点问题吗?
- redis集群部署+节点端口修改+数据恢复