汇编语言程序设计第一章总结

  1. 汇编语言的特点
  • 机器相关性:这是一种面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。因为是机器指令的符号化表示,故不同的机器就有不同的汇编语言。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。
  • 高速度和高效率:汇编语言保持了机器语言的优点,具有直接和简捷的特点,可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等,且占用内存少,执行速度快,是高效的程序设计语言。
  • 编写和调试的复杂性:由于是直接控制硬件,且简单的任务也需要很多汇编语言语句,因此在进行程序设计时必须面面俱到,需要考虑到一切可能的问题,合理调配和使用各种软、硬件资源。这样,就不可避免地加重了程序员的负担。与此相同,在程序调试时,一旦程序的运行出了问题,就很难发现。

 

2.指令跟数据

  指令跟数据都是应用上的概念。在内存或磁盘上,指令跟数据没有任何区别,都是二进制信息。CPU在工作的时候把有的信息看作指令,把有的信息看作数据,为同样的信息赋予了不同的意义。例如,内存中的二进制信息,计算机可以把它看作大小为89D8H的数据来处理,也可以将其看作指令 mov  ax,bx 来执行。

      1000100111011000->89D8H(数据)

      1000100111011000->mov ax,bx(指令)

3.cpu通过总线对存储器数据的读写过程

  CPU对于内存的读写是通过导线和内存进行传输数据,这些导线和平常电子元件常见的铜线一样只是做的细罢了,这些导线在一起通常成为总线,为了区分这些总线传输的内容逻辑上分为3类,地址总线(传输的是内存地址)、控制总线(传输的是控制命令)、数据总线(传输的是控制的数据)比如CPU发出取回编号为3内存地址的数据8那么读取数据的过程可用图表示

比如mov ax,[3]即CPU通过地址线发送3这个内存地址,控制线发送mov这个命令,数据线把3号地址的内容通过数据线取出返回CPU存放到ax中

地址总线

 

由上图可见地址总线的数量决定着能够传输的数量比如上图CPU地址总线为10针脚既只能由10根导线与内存相连,那么传输的数据只能是0000000000到1111111111,转换为10进制为0-1023共计1024个数据,那么地址总线宽度为10 那么cpu可访问的内存为1024个内存空间,并口传输数据可一次传输完毕,但是在内存中存放比如100个内存地址那么就需要从0开始存放直到100(见下图),因为地址总线是并口总线所以一次可传输10位数据(串口为4跟导线一根电源线、一根地线、一根发送数据、一根接收数据,所以并口传输数据快,但是并口的缺点很容易理解就是一次100位那么需要100根导线,这是不实际的,所以现在并口除了老式打印机基本上绝迹了,除了对数据传输速度有特别要求的,比如CPU用并口当然会比串口速度快很多)比如8位数据219在内存中的存放方式如图

 

数据总线的宽度决定了CPU的寻址能力      

4.内存地址空间

  概述:一个CPU的地址总线宽度为10,那么可以寻址1024个内存单元,这1024个可寻找到的内存单元就构成这个CPU的内存地址空间

     

在计算中,内存地址是对不同级别的软件和硬件所使用的特定内存位置的引用。内存地址是固定长度的数字序列,通常以无符号整数的形式显示和操作。这样的数字语义基于 CPU (如指令指针和增量地址寄存器) 的特性,以及内存的使用,如由各种编程语言支持的数组。

内存地址类型

物理地址

数字计算机的主内存由许多内存位置组成。每个内存位置都有一个物理地址(一个代码)。CPU (或其他设备) 可以使用代码访问相应的内存位置。通常只有系统软件,即 BIOS、操作系统和一些专门的实用程序 (如内存测试器),内存控制器使用机器代码操作数或处理器寄存器来寻址物理内存,指示 CPU 引导硬件设备,用内存总线或系统总线,或单独的控制地址和数据总线,以执行程序的命令。内存控制器总线由多个并行行组成,每个平行线由二进制数字 (位) 表示。因此,寻址存储单元的数量,以及每个单元中的比特数,在计算机之间会有所不同。

逻辑地址

计算机程序使用内存地址来执行机器代码,并存储和检索数据。在早期的计算机逻辑和物理地址对应,但自引入虚拟内存后,大多数应用程序对物理地址一无所知。而是使用计算机的内存管理单元和操作系统内存映射来处理逻辑地址或虚拟地址。

 

 

 

 

 

posted @ 2018-11-30 14:38  Frank111111  阅读(336)  评论(0编辑  收藏  举报