第一章 基础知识
引言
汇编语言是直接在硬件之上的编程语言,首先先要了解硬件系统的结构(CPU, 内存),才能有效的应用汇编语言对其编程。
汇编课程的研究重点放在如何利用硬件系统的编程结构和指令集有效灵活的控制系统进工作。
1.1 机器语言
机器语言是机器指令的集合。
机器指令展开来讲就是一台机器可以正确执行的命令。
指令:01010000
1.2 汇编语言的产生
汇编语言的主体是汇编指令。汇编指令与机器指令的差别在于指令的表示方法上。
例:
机器语言:1000100111011000
操作:寄存器BX的内容送到AX中
汇编指令:MOV AX,BX
补充:寄存器:CPU中可以存储数据的器件,一个CPU中可以有多个寄存器。AX,BX是寄存器的代号。
1.3 汇编语言的组成
1、汇编指令(机器码的助记符)
2、伪指令(由编译器执行)
3、其他符号(由编译器识别)
1.4 存储器
CPU是计算机的核心部件,它控制整个计算机的运作并进行运算,要想让一个CPU工作,就必须向他提供指令和数据。
指令和数据在存储器中存放,也就是平时所说的内存。离开了内存,性能再好的CPU也无法工作。
磁盘不同于内存,磁盘上的数据或程序如果不读到内存中,就无法被CPU使用。
例如一个游戏,被程序加载到内存,CPU才能和内存间互相交流数据运行游戏。
1.5指令和数据
在内存或磁盘上,指令和数据没有任何区别,都是二进制信息。
二进制信息:
1000 1001 1101 1000——> 89D8(H) (数据)//——>MOV AX,BX(程序)
1.6存储单元
存储器被划分为若干个存储单元,每个单元从0开始编号
1KB=1024B
1MB=1024KB
1GB=1024MB
1TB=1024GB
(B即Byte)
1.7 CPU对存储器的读写
CPU要想进行数据的读写,必须和外部器件(芯片)进行三类信息的交互:
1、存储单元的地址(地址信息)
2、器件的选择、读或写命令(控制信息)
3、读或写的数据(数据信息)
在计算机中专门有连接CPU和其他芯片的导线,通常称为总线
逻辑上划分为:
地址总线
数据总线
控制总线
地址总线能传送多少个不同的信息,CPU就可以对多少个存储单元进行寻址。(例如我们常说的64位,32位,反映的是不同的寻址能力,真正的64位速度指同时拥有64位CPU,64位操作系统(Win7),64位操作软件)
1.8地址总线
CPU的地址总线宽度为N(即CPU有N根地址总线,即N位CPU)
这样的CPU最多可以寻找
2
N
2^{N}
2N个内存单元。
(1Byte=8bit 一个字节等于8位)
1.9数据总线
CPU与内存或其他器件之间的数据传送是通过数据总线来进行的。
数据总线的宽度决定了CPU和外界的数据传送速度。
8088一次传8位:89D8
先D8 后89
8086一次传16位
控制总线
控制总线是一些不同控制线的集合;
有多少根控制总线,就意味着CPU提供了对外部器件的多少种控制;
控制总线的宽度决定了CPU对外部器件的控制能力。
- 13
- 1024 0 1023
- 2 13 2^{13} 213 , 2 10 2^{10} 210
- 2 30 2^{30} 230 , 2 20 2^{20} 220, 2 10 2^{10} 210
- 2 6 2^{6} 26 1 2 4 2^{4} 24 4
- 1 1 2 2 4
- 1024/2=512,1024/4=256
- 二进制
1.12主板
主板上有核心器件与主要器件,通过主线连接
1.13 接口卡
CPU通过接口卡对外部设备进行控制
1.14各类存储器芯片
从读写属性上分类:
随机存储器(RAM)
只读存储器(ROM)
从功能和连接上分类:
随机存储器RAM
装有BIOS(Basic Input/Output System)的ROM
接口卡上的RAM
1.15 内存地址空间
这些存储器物理上独立,CPU操控他们时,把它们都当作内存看待。