汇编(1)
一. 概述
汇编语言是直接在硬件之上工作的编程语言,首先要了解硬件系统的结构,才能有效的应用汇编语言对其编程
1. 汇编语言的产生
计算机能读懂的只有机器指令,什么是机器指令?
- 机器指令展开来讲就是一台机器可以正确执行的命令
例1:
指令:01010000 (PUSH AX)
电平脉冲:
例2:
S = 768 + 12288 - 1280
机器码:
101100000000000000000011
000001010000000000110000
001011010000000000000101
汇编语言的主体是汇编指令,汇编指令是机器指令便于记忆的书写格式(汇编指令是机器指令的助记符)
例1:
机器指令: 1000100111011000
这个指令是将寄存器 BX的内容送到寄存器AX中
汇编指令实现:
汇编指令:MOV AX,BX
寄存器
:简单的讲是CPU中可以存储数据的器件,一个CPU中有多个寄存器。AX是其中一个寄存器的代号,BX是另一个寄存器的代号
计算机是如何将汇编指令作为机器指令来执行的呢?
2. 汇编语言的组成
汇编语言由以下3类组成:
- 汇编指令(机器码的助记符)
- 伪指令 (由编译器执行)
- 其它符号(由编译器识别)
汇编语言的核心是汇编指令,它决定了汇编语言的特性
3. 存储器
CPU 是计算机的核心部件.它控制整个计算机的运作并进行运算,要想让一个CPU 工作,就必须向它提供指令和数据
指令和数据在存储器中存放,也就是平时所说的内存
4. 指令和数据
在存储器中,指令和数据没有任何区别,都是二进制信息,指令和数据是应用上的概念
二进制信息:
1000100111011000
当成数据就是 ─> 89D8H
当成指令就是 ─> MOV AX,BX
5. 存储单元
存储器被划分为若干个存储单元,每个存储单元从0开始顺序编号
一个存储器有128个存储单元, 编号从0~127, 如下图示:
存储单元的计量单位:
1KB=1024B
1MB=1024KB
1GB=1024MB
1TB=1024GB
6. CPU对存储器的读写
CPU要想进行数据的读写,必须和外部器件(标准的说法是芯片)进行三类信息的交互:
- 存储单元的地址(地址信息)
- 器件的选择,读或写命令(控制信息)
- 读或写的数据(数据信息)
CPU通过导线将地址、数据和控制信息传到存储芯片中,计算机中专门有连接CPU和其他芯片的导线,通常称为总线
总线:
-
物理上
- 一根根导线的集合
-
逻辑上
- 地址总线
- 数据总线
- 控制总线
总线在逻辑上划分的图示:
6.1 地址总线
- cpu通过地址总线来确定将要操作的存储单元
- 总线并不是只有一根线,而是由很多线组合而成
- 地址总线的条数决定了cpu能够访问存储单元的范围。一个cpu有N根地址线就说该cpu的地址总线的宽度为N,最多能够访问的存储单元的个数为2的N次方
当计算机收到一条101000000000001100000000
的机器指令,这条指令的含义是 从3号单元读取数据送入寄存器AX,cpu对一个存储单元进行操作时,就必须得知道这个内存的地址,cpu通过地址总线来确定将要操作的存储单元
6.2 数据总线
- CPU与内存或其它器件之间的数据传送是通过数据总线来进行的
- 数据总线的宽度决定了CPU和外界的数据传送速度
6.3 控制总线
- CPU对外部器件的控制是通过控制总线来进行的。在这里控制总线是个总称,控制总线是一些不同控制线的集合。
- 有多少根控制总线,就意味着CPU提供了对外部器件的多少种控制
7. 内存地址空间
一个CPU的地址线宽度为10,那么可以寻址1024个内存单元,这1024个可寻到的内存单元就构成这个CPU的内存地址空间
8. 主板
在每一台PC机中,都有一个主板,主板上有核心器件和一些主要器件,这些器件通过总线(地址总线、数据总线、控制总线)相连
9. 接口卡
计算机系统中,所有可用程序控制其工作的设备,必须受到CPU的控制。
CPU对外部设备不能直接控制,如显示器、音箱、打印机等。直接控制这些设备进行工作的是插在扩展插槽上的接口卡
10. 各类存储器芯片
从读写属性上看分为两类:
- 随机存储器(RAM)
- 只读存储器(ROM)
从功能和连接上分类:
- 随机存储器RAM
- 装有BIOS的ROM
- 接口卡上的RAM
装有BIOS的ROM
- BIOS:Basic Input/Output System,基本输入输出系统。
BIOS是由主板和各类接口卡(如:显卡、网卡等)厂商提供的软件系统,可以通过它利用该硬件设备进行最基本的输入输出。在主板和某些接口卡上插有存储相应BIOS的ROM