码迷,mamicode.com
首页 > 编程语言 > 详细

《汇编语言第三版(王爽)》 读书笔记

时间:2018-01-07 15:59:56      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:操作   而在   存储器   div   运行   编译   相对   角度   strong   

前言


  说起自己读汇编,总有人会在问:读汇编有啥意义?读汇编对我的开发工作有帮助吗?...我觉得读汇编是为了让我们更好地有计算机工作原理方面的知识,不仅仅是一味地高屋建瓴。就拿 IDE 和 Linux gcc 来说,我们为什么要试着用 gcc 去编译链接并生成可执行程序,而不是点一下 Run 程序就能跑起来?原因还是在我们想探究程序运行的本质。

  而汇编就是一门帮助我们更好地理解程序如何“跑起来”的语言,它最接近机器语言这门计算机唯一能识别的语言,深入数据在内存单元的存储,直接对内存单元进行操作,自然就涉及到 CPU 相关的运作等等等计算机核心部件,相信读了它,我们对操作系统能有更深入地认识。

 

CPU与数据


  由于最终运行程序的是CPU,所以我们使用汇编语言编程的时候,最好从CPU的角度去考虑问题,这里谈谈存储器、三条总线、内存地址空间的概念。

  • 存储器
    • 想让CPU工作,就得给CPU提供指令和数据,而这些东西存在哪呢?存在内存器里,也就是我们常说的内存,这些内存被划分成多个存储单元,顺序编号,以方便CPU从里头拿出、放入数据。
  • 三条总线
    • 三条总线的目的是让CPU知道此时是该从哪儿拿出放入数据,而想要完成这一步操作,就得告诉CPU:在哪儿、干什么。
    • 地址总线:将地址传输给CPU,告诉CPU在哪儿操作
    • 控制总线:告诉CPU是读出数据还是写入数据
    • 数据总线:传输数据
  • 内存地址空间
    • 什么叫内存地址空间?由于我们的地址总线数量是一定的,那代表了我们可得到的地址数值也是有限的,举个例子:地址总线数量为10,那么从编号为0到1024的内存单元可以被寻址到,而在往后的地址就无可奈何了。这1024个可被寻址的内存单元就构成了内存地址空间。
    • 内存地址空间是一个逻辑存储器,因为它把不同的硬件内存都映射在一个空间里,占有不同的地址段,而在实际上硬件的内存位置是离散的。
    • 我们在对内存地址空间进行操作的同时,实际上就是对相对应的物理存储器进行操作。

 

  

《汇编语言第三版(王爽)》 读书笔记

标签:操作   而在   存储器   div   运行   编译   相对   角度   strong   

原文地址:https://www.cnblogs.com/Bw98blogs/p/8227784.html

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