码迷,mamicode.com
首页 > 其他好文 > 详细

《深入理解计算机系统》3.2程序编码

时间:2015-11-08 22:14:51      阅读:305      评论:0      收藏:0      [点我收藏+]

标签:


程序编码

在Unix机上使用命令
技术分享
编译代码

优化编译的等级越高,编译时间越长,程序性能越高

机器级代码
对于机器级编程,两种抽象尤为重要
第一种
机器级程序的格式和行为(ISA指令集体系结构)
第二种
机器级程序使用的存储器地址是虚拟地址
机器级代码把存储器看成一大块数组罢了


汇编代码案例
具体的代码作用是后面章节才讲的
技术分享

学完寄存器和栈后才画出的图,书上某些部分例子没有讲全,搜了很多资料,可能这些部分是再靠后的章节才讲
相关资料链接
http://www.cnblogs.com/jiu0821/p/4504917.html    给了非常详细的一段函数的汇编及其解释


技术分享

其中CPU主要包含以下几个对象
程序计数器(PC):记录下一条指令的地址。
整数寄存器文件:共8个,可以存储一些地址或者整数的数据。
条件寄存器:保存算数或逻辑指令的状态信息,可以实现程序的流程控制。
浮点寄存器:存储浮点数。

程序存储器:包含程序可执行机器代码,操作系统需要的一些信息,操作系统负责管理虚拟地址空间,将虚拟地址翻译成实际处理器存储器中的物理地址



ATT与Intel汇编代码风格区别


ATT
技术分享
Intel
技术分享

  • Intel省略了指示大小的后缀,mov,而不是movl
  • Intel省略了寄存器名字前面的%,esp而不是%esp
  • Intel用不同的方式描述存储器的位置,"DWORD PTR [ebp+8]"而不是8(%ebp)






《深入理解计算机系统》3.2程序编码

标签:

原文地址:http://www.cnblogs.com/Recoding/p/4948459.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!