1.汇编语言的定义?
汇编语言是各种CPU提供的机器指令的助记符的集合(汇编指令同机器指令一一对应),而且汇编语言可以直接操作硬件系统。
2.汇编语言是机器最终要执行的指令序列,所有的高级语言最终都要转换为汇编语言,汇编语言再转换为0,1序列,最终可以在机器上运行。
3.不同的CPU具有不同的汇编语言。本书采用的平台为8086CPU。纯粹的8086PC机已经不存在了,但是,现在的任何一台PC机中的微处理器,只要和Intel兼容的系列,都可以8086的方式进行工作。
4.汇编语言的组成?
(1)汇编指令:机器码的助记符,有对应的机器码。
(2)伪指令:没有对应的机器码,由编译器执行,计算机并不执行。
(3)其他符号:如+、-、*、/等,由编译器识别,没有对应的机器码。
核心是汇编指令,它决定了汇编语言的特性。
5.磁盘不同于内存,磁盘上的数据或程序如果不读到内存中,就无法被CPU使用。也就是说,CPU直接操作的对象是内存。
6.在内存或磁盘上,存储的都是二进制信息,即0,1序列。
7.存储单元?
一个存储单元的大小为一个字节。
8.在一台微机中,不只有存储器这一种器件。CPU在读写数据时还要指明,它要对哪一个器件进行操作,进行哪种操作,是从中读出数据,还是向里面写入数据。
9.CPU要想进行数据的读写,必须和外部器件(标准的说法是芯片)进行下面3类信息的交互。
(1)存储单元的地址(地址信息)
(2)器件的选择,读或写的命令(控制信息)
(3)读或写的数据(数据信息)
上图中就是地址总线、数据总线和控制总线。图中显示的是CPU和内存之间3类总线的连接,CPU和其它外部器件总线的连接也是类似的(并行连接)。
10.数据总线?
不同的CPU,数据总线的宽度也是不同的。数据总线的宽度决定了CPU和外界的数据传输速度。
8080CPU的数据总线宽度为8,8086CPU的数据总线宽度为16(对于数据宽度为16的CPU,一次存储2个存储单元,速度显然比一次存储1个存储单元的要快)。
主板
每一台PC机中,都有一个主板,主板上有核心器件和一些主要器件,这些器件通过总线(地址总线、数据总线、控制总线)相连。这些器件有CPU、存储器、外围芯片组、扩展槽等。扩展槽上一般插有RAM内存条个各类接口卡。
接口卡
计算机系统中,所有可用程序控制其工作的设备,必须受到CPU的控制。CPU对外部设备都不能直接控制,如显示器、音箱、打印机等。直接控制这些设备进行工作的是插在扩展槽上的接口卡。扩展槽通过总线和CPU相连,所以接口卡也通过总线同CPU相连。CPU可以直接控制这些接口卡,从而实现CPU对外设的间接控制。简单地讲,就是CPU通过总线向接口卡发送命令,接口卡根据CPU的命令控制外设进行工作。
各类存储芯片
一台PC机中,装有多个存储器芯片。这些存储器可以分为以下几类:
(1)随机存储器
用于存放供CPU使用的绝大部分程序和数据,主随机存储器一般由两个位置上的RAM组成,装在主板上的RAM和插在扩展槽上的RAM。
(2)装有BIOS的ROM
BIOS是由主板和各类接口卡(如显卡、网卡等)厂商提供的软件系统,可以通过它利用该硬件设备进行最基本的输入输出。在主板和某些接口卡上插有存储相应BIOS的ROM。例如,主板上的ROM中存储着主办的BIOS(通常称为系统BIOS);显卡上的ROM中存储着显卡的BIOS;如果网卡上装有ROM,那其中就可以存储网卡的BIOS。
(3)接口卡上的RAM
某些接口卡需要大批量输入、输出数据进行暂时存储,在其上装有RAM。最典型的的是显示卡上的RAM,一般称为显存。显示卡随时将显存中的数据向显示器上输出。换句话说,我们将需要显示的内容写入显存,就会出现在显示器上。
12.内存地址空间
上图那些存储器,CPU在操控它们的时候,把它们都当做内存来对待,把它们总的看作一个由若干存储单元组成的逻辑存储器,这个逻辑存储器就是我们所说的内存地址空间。
CPU在这段地址空间中读写数据,实际上就是在相应的物理存储器中读写数据。
我们在基于一个计算机硬件系统编程的时候,必须知道这个系统中的内存地址空间分配情况。
不同的计算机系统的内存地址空间的分配情况是不同的。