发生在movl中的故事
来源:互联网 发布:ubuntu分辨率命令 编辑:程序博客网 时间:2024/04/28 13:19
通常来说,学到汇编这个层次对于一个程序员来说已经是比较底层的知识了,但是有时候更进一步,探究一下汇编指令背后的故事也挺有意思的。
比如简单一个存储器读写,背后都隐藏着很多知识。
movl A,%eax //地址A中的内容被加载的eax寄存器中,实际上是一个存储器读操作。
1,CPU将地址A放到系统总线上
2,I/O桥将信号传递到存储器总线
3,主存接收到存储器总线上的地址信号,读出地址,从DRAM中取出数据字,并将数据写到存储器总线。
4,I/O桥将存储器总线信号翻译成系统总线信号,然后沿着系统总线传递
5,CPU接收到系统总线的中断,从系统总线读取数据,并将数据字写入eax
那么一条写指令呢,比如下面这条指令
movl %eax, A //将eax寄存器中的内容吸入主存地址A中,实际上是一个存储器写操作。
1,CPU将地址放到系统总线上,
2,存储器从存储器总线上读出地址,并等待数据到达。
3,CPU将eax中的数据拷贝到系统总线。
4,主存从存储器总线上读取数据,并将数组写入对应的DRAM中。
0 0
- 发生在movl中的故事
- 发生在春天的故事
- 发生在山东的一个故事
- 发生在动物身上的哲理小故事
- 一个正发生在现代社会的一个真实的故事
- 发生在main函数之前的故事(C语言)
- 非法制裁 豆瓣影评 有些事情,如果发生在别人身上,那是故事;发生在你身上就是事故。
- 用户故事在软件管理中的应用
- 在浏览器中输入一个网址,解析其背后发生的故事
- 滴滴美团58携程,那些发生在大并购谈判桌背后的故事
- Web系统与技术--在浏览器地址栏里输入一个网址后所发生的故事
- [翻译] Emacs改变了我的人生 (发生在Emacs和Ruby之间的故事)
- 当我在浏览器地址栏里输入一个网址后所发生的故事
- leal 和 movl区别
- 谈谈在项目过程中的发生争论与争吵
- (转)一个发生在美国通用汽车的客户与该公司客服部间的真实故事
- 发生在眼前的故事:做好最坏的打算,往往事情不会去到最坏的地步(一)
- 发生在眼前的故事:做好最坏的打算,往往事情不会去到最坏的地步(二)
- Codeforces Round #281 (Div. 2) B
- HDFS的运行原理
- java基础之内部类
- Flex书籍和资料推荐
- 支持不同密度(Supporting Different Densities)
- 发生在movl中的故事
- 沉默是否是无言的抗争
- 深入理解Java虚拟机笔记---内存区域
- getopt和getopt_long函数
- 哺乳动物视觉皮层的深层结构研究
- 在eclipse中反编译并查看jar包的class文件,批量反编译
- document.ready()与window.load()的区别
- iOS常用设计模式-MVC模式初解
- Linux中查看各文件夹大小命令du -h --max-depth=1