第一章 基础知识
汇编语言研究的重点在于如何利用硬件系统的编程结构和指令集有效灵活地控制系统进行工作。
1.1 机器语言
机器语言是机器指令的集合。电子计算机的机器指令是一列二进制数字。计算机将其转换为一列高低电平,使计算机的电子器件收到驱动,进行运算。
CPU(Central Processing Unit,中央处理单元),CPU是一种微处理器。每一种微处理器,由于硬件设计和内部结构的不同,就需要用不同的电平脉冲来控制。所以每一个微处理器都有一个自己的机器指令集,也就是机器语言。
1.2 汇编语言的产生
汇编语言的主体是汇编指令。汇编语言与机器语言的差别在于指令的表示方式上。
寄存器:简单的讲是CPU中可以存放数据的器件,一个CPU有多个寄存器。
程序员用汇编语言写出源程序,再用汇编编译器将其编译为机器码,由计算机最终执行。
1.3 汇编语言的组成
汇编语言发展至今,有三类指令组成。
① 汇编指令:机器码的助记符,有对应的机器码
② 伪指令:没有对应的机器码,由编译器执行,计算机并不执行
③ 其他符号:如+、-、*、/等,由编译器识别,没有对应的机器码
汇编语言的核心是汇编指令,它决定了汇编语言的特性。
1.4 存储器
CPU是计算机的核心部件,他控制整个计算机的运作进行运算。要想让一个计算机进行工作,就必须向他提供指令和数据。指令和数据在存储器中存放,也就是我们平时说的内存。
磁盘不同于内存,磁盘上的数据和程序如果读不到内存中,就无法被CPU使用。
1.5 指令和数据
指令和数据只是在应用上的概念。在内存和磁盘上,指令和数据没有区别,都是二进制信息。
1.6 存储单元
存储器被划分成若干个存储单元,每个存储单元从0开始顺序编号。
微型机存储器的一个存储单元可以存储一个Byte,即8个bit(二进制位)。若一个计算机有128个存储单元,它可以存储128个Byte,也就是128Byte*8=1024bit。
1.7 CPU对存储器的读写
存储器被划分成多个存储单元,存储单元从0开始顺序编号。这些编号可以看作存储单元在存储器中的地址。
CPU想要在存储器中进行数据的读写,必须和外部器件进行下面三类的信息交互。
① 存储单元的地址(地址信息)
② 器件的选择,读或写的命令(控制信息)
③ 读或写的数据(数据信息)
电子计算机能处理、传输的信号都是电信号。在计算机中专门有连接CPU和其他芯片的导线,通常称为总线。从物理上讲,总线就是一根根导线的集合。
总线从逻辑上分为:地址总线、控制总线和数据总线。
1.8 地址总线
CPU是通过地址总线来指定存储单元的。
一个CPU有N根地址线,则可以说这个CPU的地址总线宽度为N。这样的CPU最多可以寻找2的N次方个内存单元。
1.9 数据总线
CPU与内存或其他器件之间的数据传送是通过数据总线来进行的。数据总线的宽度决定了CPU和外界的数据传送速度。8根数据总线一次可传送一个8位二进制的数据(即一个字节)。
1.10 控制总线
CPU对外部器件的控制是通过控制总线来进行的。在这里控制总线只是一个总称,控制总线是一些不同控制线的集合。有多少根控制线,就意味着CPU提供了对外部器件的多少种控制。所以控制总线的宽度决定了CPU对外部器件的控制能力。
小结:
地址总线的宽度决定了CPU的寻址能力;
数据总线的宽度决定了CPU与其他器件进行数据传送时的一次数据传送量;
控制总线的宽度决定了CPU对系统中其他部件的控制能力。
整理自清华大学出版社 汇编语言(第三版)王爽 著