欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【汇编语言】01 基础知识

程序员文章站 2024-02-02 16:01:46
...

1.1 机器语言

机器语言是机器指令的集合。计算机的机器指令就是一列二进制数字,计算机将二进制码转换为一列高低电平,以使计算机的电子器件受到驱动,进行运算。

每一种微处理机,由于硬件设计内部结构的不同,就需要用不同的电平脉冲来控制,使它工作。所以每一种微处理机都有自己的机器指令集,也就是机器指令。

1.2 汇编语言的产生

由于机器语言人难以看懂,比较繁琐,难于辨别和记忆,给程序员带来的困难。所以就产生了汇编语言。

汇编语言的主体是汇编指令。汇编指令是机器指令便于记忆的书写格式。

汇编程序的工作过程:

汇编指令 ----》 编译器 ----》机器码(计算机能够识别的二进制码) ----》 计算机执行

1.3 汇编语言的组成

汇编语言由三类指令组成:

  • 汇编指令:机器码的助记符,有对应的机器码
  • 伪指令:没有对应的机器码,由编译器执行,计算机并不执行
  • 其他符号:如 +、-、*、/ 等,由编译器识别,没有对应的机器码

1.4 存储器(内存)

想让 CPU 工作,就必须向它提供指令和数据。指令和数据在存储器中存放,也就是我们平时所说的内存。在一台 PC 机中内存的作用仅次于 CPU 。CPU 离不开内存。

1.5 指令和数据

指令和数据在内存和磁盘上,没有任何区别,都是二进制码。

但是 CPU 在工作的时候把有的信息看作指令,有的信息看作数据。

1.6 存储单元

存储器被划分为若干个存储单元,每个存储单元从 0 开始顺序编号。例如一个存储器中有 128 个存储单元,编号从 0 ~ 127。

一个存储单元能存放一个 Byte(字节),就是一个二进制位。1 Byte 等于 1 bit。一个存储器中有 128 个存储单元,就能存放 128 个 Byte。

微机存储器的容量是以字节为最小单位来计算的。 对于拥有 128 个存储单元的存储器,我们可以说他的容量是 128 个字节。

1 KB = 1024 Byte                   1 MB = 1024 KB                    1 GB = 1024 GB                    1 TB = 1024 GB

1.7 CPU 对存储器的读写

存储单元的编号可以看做存储单元在存储器中的地址。

CPU 要从内存中读数据,首先要指定存储单元的地址,也就是说要先确定要从哪一个存储单元中读取数据。另外,还需要指明对哪一个器件进行操作,进行那种操作,是从中读数据,还是写入数据。

CPU 想要进行数据的读写,必须和外部器件(标准的说法是芯片)进行下面三类信息的交互:

  • 存储单元的地址(地址信息)
  • 器件的选择,读或写的命令(控制信息)
  • 读或写的数据(数据信息)

计算机能处理、传输的都是电信号,电信号使用导线进行传输。在计算机中专门有连接 CPU 和其他芯片的导线,通常称为总线。总线在物理上就是导线的集合。在逻辑上被分为三类,地址总线、控制总线、数据总线。

例: CPU 从 3 号单元读取数据的过程。

  • CPU 通过地址总线将地址信息 3 发出
  • CPU 通过控制总线发出内存读命令,选中存储器芯片,并通知它,将要从中读取数据。
  • 存储器将 3 号单元中的数据通过数据总线送入 CPU

1.8 地址总线

CPU 是通过地址总线来制定存储器单元的。可见地址总线上能传送多少个不同的信息, CPU 就可以对多少个存储单元进行寻址。

假设一个 CPU 有 10 根地址总线,一根导线可以传送的稳定状态只有两种,高电平和低电平,在二进制中也就是
0 和 1 ,10 根导线可以传送 10 位二进制数。就可以表示 2 的 10 次方个不同的数据。

一个 CPU 有 N 根地址线,则可以说这个 CPU 的地址总线的宽度为 N 。 这样的 CPU 最多可以寻找 2 的 N 次方个内存单元。

1.9 数据总线

CPU 与内存或其他器件之间的数据传送是同过数据总线来进行的。数据总线的宽度决定了 CPU 和外界传输的速度。8 根数据总线一次可传送一个 8 位二进制数(即一个字节)。16 根数据总线一次可传送 16 位二进制数(即两个字节)

8088 CPU 的数据总线宽度为 8 ,8086 CPU 的数据总线的宽度为 16 。

1.10 控制总线

CPU 对外部器件的控制是通过控制总线来进行的。有多少根控制总线,就意味着 CPU 提供了对外部器件的多少中控制。所以,控制总线的宽度决定了 CPU 对外部器件的控制能力。

1.11 内存地址空间(概述)

一个 CPU 的地址总线的宽度为 10 ,那么可以寻址 1024 个内存单元,这 1024 个内存单元就构成这个 CPU 的内存地址空间。

1.12 主板

主板上有核心器件和一些主要器件。例如 CPU、存储器、外围芯片组、扩展插槽等。

1.13 接口卡

CPU 不能直接控制外部设备,需要通过接口卡。CPU 通过总线向接口卡发送命令,接口卡根据 CPU 的命令控制外设进行工作。

1.14 各类存储器芯片

存储器分为随机存储器(RAM)和只读存储器(ROM)。随机存储器可读可写,但必须带电工作,关机后存储的内容丢失;只读存储器只能读取不能写入,关机后其中的内容不丢失。

  • 随机存储器 (用于存放供 CPU 使用的绝大部分程序和数据),分为在主板上和扩展插槽上两种
  • 装有 BOIS(Basic Input/Output System)的 ROM
  • 接口卡上的 RAM

1.15 内存地址空间

逻辑存储器就是内存地址空间,所有的物理存储器被看作一个由若干个存储单元组成的逻辑存储器,每个物理存储器在这个逻辑存储器中占有一个地址段,即一段地址空间。CPU 在这段地址空间中读写数据,实际上就是在相应的物理存储器中读写数据。