汇编语言·基础知识

1.机器语言和汇编语言

CPU是一种微处理器,早期的计算机就相当于现在的CPU。所以,在汇编语言的语境里,「计算机」应当理解为微处理器或者CPU。

机器语言是机器指令集的集合,每一种微处理器都有自己的机器指令集。机器语言晦涩难懂且不易查找错误,所以产生了汇编语言,汇编指令是机器指令便于记忆的写法。也就是说,汇编指令与机器指令存在一一对应的关系。

将汇编指令翻译为机器指令的程序称为编译器。

汇编语言发展至今,分为三个部分:汇编指令(有对应的机器码),伪指令(没有对应的机器码,编译器执行而计算机不执行),其他符号(没有对应的机器码,由编译器识别,例如+、-、*、/等运算符号)。

2.存储器

在存储设备上,指令和数据没有任何区别,都是二进制数字。一串二进制数字可以被解释为指令,也可以解释为数据。

CPU对数据的读写,要进行三类信息的交互:地址信息,控制信息(器件的选择,读或写的命令)和数据信息。对应的物理设备就是地址总线、控制总线和数据总线。

一个内存单元存储的是1字节,即1byte。

3.地址总线,数据总线和控制总线

一根导线只能传递两种信息:高电平或者低电平。所以,10根导线可以传送10位二进制数据,也就是2的10次方种不同的数据,最小为0,最大为1023。一个CPU有N根地址线,就称其地址总线的宽度为N,其寻址能力为2^N个内存单元。

数据总线的宽度决定了CPU和外界的数据传送速度。

控制总线是一些不同控制线的集合,有多少根控制总线,就意味着CPU提供了对外部器件的多少种控制。

4.内存地址空间

PC机主板上的各类器件通过总线相连。CPU对外部设备不能直接控制,它通过控制插在扩展插槽上的接口卡,来对外部设备进行间接控制。简而言之,CPU通过总线向接口卡发送命令,接口卡再根据命令控制外设进行工作。

存储器芯片分为随机存储器RAM和只读存储器ROM,根据功能和连接又可以细分为:

主板上的RAM,即通常所说的内存;

BIOS上的ROM,如主板上的ROM存储着主板的BIOS(系统BIOS),显卡和网卡上也可能有存储BIOS的ROM;

接口卡上的RAM,例如显存。

CPU在操控这些存储器的时候,把它们都当成内存来对待,看作一个总的逻辑存储器,这就是所谓的内存地址空间。内存地址空间的大小受CPU地址总线宽度的限制,例如80386CPU的地址总线宽度为32,那么内存地址空间最大为2^32byte,也就是4GB。

基于计算机硬件系统编程的时候,必须知道系统内存地址空间的分配情况。

你可能感兴趣的:(汇编语言)