汇编语言是直接在硬件之上工作的编程语言
1.1 机器语言
机器语言是机器指令的集合。电子计算器的机器指令是一列二进制数字,计算机将之改变为一列高低电平,以使计算器的电子器件受到驱动,进行计算。
CPU(Central Processing Unit,中央处理单元)执行机器指令,CPU是一种微处理器。每一种CPU都有自己的机器指令集,也就是机器语言。
1.2 汇编语言的产生
由于机器语言难于辨别和记忆,汇编语言产生。汇编语言的主体是汇编指令,汇编指令和机器指令的差别在于指令的表示方法上。
汇编指令通过汇编编译器转换成机器指令,程序员用汇编语言写出源程序,再用汇编编译器将其编译为机器码,由计算机最后执行。
1.3 汇编语言的组成
汇编语言由3类指令组成:
(1)汇编指令:机器码的助记符,有对应的机器码
(2)伪指令:没有对应的机器码,由编译器执行,计算机并不执行
(3)其他符号:如+、-、*、/等,由编译器识别,没有对应的机器码
1.4 存储器
存储器即内存,指令和数据在存储器中存放。
1.5 指令和数据
指令和数据本质上都是二进制信息,CPU在工作时将信息赋予了不同的意义,分成了指令和数据。
1.6 存储单元
电子计算器的最小信息单位是bit(音译为比特),也就是一个二进制位,一个存储单元是一个字节(Byte),即8个二进制位。一个存储器有128个存储单元,它可以存储128个Byte。
1B=8bit, 1KB=1024B,1MB=1024KB,1GB=1024MB,1TB=1024GB。
1.7 CPU对存储器的读写
存储器被划分为多个存储单元,存储单元从零开始顺序编号。这些编号可以看作存储单元在存储器中的地址。
CPU要从内存中读数据,首先要指定存储单元的地址。
CPU和外部器件的信息交互:
(1) 存储单元的地址(地址信息);
(2) 器件的选择,读或写的命令(控制信息);
(3) 读或写的数据(数据信息)。
在计算机中专门有连接CPU和其他芯片的导线,通常称为总线。总线从物理上来讲,就是一根根导线的集合。总线从逻辑上分为3类:地址总线、控制总线和数据总线。
1.8 地址总线 CPU通过地址总线来指定存储器单元。一个CPU有N根地址线,则可以说这个CPU的地址总线的宽度为N。这样的CPU可以寻找2的N次方个内存单元。
1.9 数据总线 CPU与内存或其他器件之间的数据传送是通过数据总线来进行的。数据总线的宽度决定了CPU和外界的数据传送速度。8086CPU的数据总线宽度为8,8086CPU的数据总线为16.
1.10 控制总线 CPU对外部控制线的集合。器件的控制是通知控制总线来进行的。控制总线是一些不同控制线的集合。有多少根控制总线,就意味着CPU提供了对外部器件的多少种控制。
1.11 内存地址空间
CPU地址总线的宽度决定了内存地址空间的大小。
在汇编语言中,面对的是内存地址空间。存储器在物理上是独立的器件,共同点为:都和CPU的总线相连,CPU对它们进行读和写的时候都通过控制线发出内存读写命令。具体是主板上,计算机的各个器件通过电线连接在一起,每个器件有自己的存储器,CPU在操纵它们的时候,把它们都当作内存来对待,把它们总的看作一个由若干存储单元组成的逻辑存储器,这个逻辑存储器就是我们所说的内存地址空间。相当于把各个存储器连起来形成一个完整的存储器。