汇编第一次作业.

  通过对汇编第一章的学习,我复习了以往的知识,同时也收获到了一些新知识。

  这章主要讲述了以下几个内容:计算机编程语言的演进,汇编语言源程序的组成,计算机硬件系统的基本结构以及内存地址空间。

  计算机编程语言经历了从机器语言到汇编语言再到高级语言的三个阶段.机器语言就是一些0,1组成的数字,然后计算机将之转变成一列高低电平以使计算机的电子器件受到驱动,进行运算。早期的程序设计均使用机器语言。程序员们将用0, 1数字编成的程序代码打在纸带或卡片上,1打孔,0不打孔,再将程序通过纸带机或卡片机输入计算机,进行运算。这样的机器语言由纯粹的0和1构成,十分复杂,不方便阅读和修改,也容易产生错误。程序员们很快就发现了使用机器语言带来的麻烦,它们难于辨别和记忆,给整个产业的发展带来了障碍,于是汇编语言产生了。

  汇编语言就是用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。汇编语言不像其他大多数的程序设计语言一样被广泛用于程序设计。在今天的实际应用中,它通常被应用在底层,硬件操作和高要求的程序优化的场合。驱动程序、嵌入式操作系统和实时运行程序都需要汇编语言。汇编语言大体由汇编指令,伪指令,其他一些符号组成。其中,汇编指令有机器码一一对应,其余都由编译器识别。

  高级语言(High-level programming language)相对于机器语言(machine language,是一种指令集的体系。这种指令集,称机器码(machine code),是电脑的CPU可直接解读的数据)而言。是高度封装了的编程语言,与低级语言相对。它是以人类的日常语言为基础的一种编程语言,使用一般人易于接受的文字来表示(例如汉字、不规则英文或其他外语),从而使程序编写员编写更容易,亦有较高的可读性,以方便对电脑认知较浅的人亦可以大概明白其内容。由于早期电脑业的发展主要在美国,因此一般的高级语言都是以英语为蓝本。在1980年代,当东亚地区开始使用电脑时,在日本、台湾及中国大陆都曾尝试开发用各自地方语言编写的高级语言,当中主要都是改编BASIC或专用于数据库数据访问的语言,但是随着编程者的外语能力提升,现时的有关开发很少。由于汇编语言依赖于硬件体系,且助记符量大难记,于是人们又发明了更加易用的所谓高级语言。在这种语言下,其语法和结构更类似汉字或者普通英文,且由于远离对硬件的直接操作,使得一般人经过学习之后都可以编程。高级语言通常按其基本类型、代系、实现方式、应用范围等分类。
 
  计算机系统的体系结构大多遵循冯诺依曼体系结构。冯诺依曼指出他认为的计算机体系结构由五个部分组成,分别为计算器,存储器,控制器以及输入和输出。
 
  内存地址空间:设一个 CPU 的地址总线宽度为 n,那么可以寻址2n 个内存单元,这2n 个可寻到的内存单元就构成了这个 CPU 的内存地址空间。内存地址空间,也叫寻址空间。与 CPU 地址总线的宽度直接相关,表示CPU所能寻找到的最大地址空间范围。内存地址空间是一个逻辑上的概念。
  在每台 PC 机上,都有一个主板,主板上有核心器件和一些主要器件。这些器件通过总线相连。根据总线上传输的信息,从逻辑上分为地址总线,数据总线,控制总线。CPU 在操控这些独立的物理存储器是,把他们同意当做一个逻辑存储器看待。这个逻辑存储器即内存地址空间。每个物理存储器在这个逻辑存储器中都占有地址空间;CPU 在这段地址空间中读写数据,实际上就是在相对应的物理存储器中读写数据。所以,内存地址空间的容量不等于内存的容量。不同的计算机系统的内存地址空间分配是不同的。
 
  

猜你喜欢

转载自www.cnblogs.com/Willeasun/p/9658653.html