以问答方式学习王爽的《汇编语言》(一)—— 前言、第1章 基础知识

王爽的《汇编语言》是国内计算机领域少有的经典教材,教材设计脉络清晰、深入简出、通俗易懂,是汇编语言学习佳作。

在此,我将以问答方式,记录我学习这本教材的理解和收获,希望与大家共勉,本人水平有限,如有不妥之处希望大家及时指出。

前言

Q:不同CPU的汇编语言是相同的吗?

CPU不同,使用的汇编指令集是不同的,因此可以说——“不同CPU汇编语言不同”

Q:教学中使用什么CPU,为什么?

教学一般使用8086CPU,因为它简洁、通用,只要是和Intel兼容CPU,都能以8086的方式工作

前言中提到了本书的核心教学思想————知识屏蔽

  • 知识屏蔽指的是对教学内容进行最小化分割,让所讲的知识点是当前唯一需要学习理解的,不需要用到之后才学到的内容,以达到线性学习的效果。
  • 本书的课程内容经过作者精心设计,打破了传统教材的教学顺序,极大保证了学习者能够循序渐进地掌握书上的内容。

TIPS:我们在学习本书时要按照课程设计的顺序进行,按要求通过每一个检测点,完成每一个实验后,再进行后续课程的学习。

第一章 基础知识

推荐课程:

  1. 对PC机及CPU的物理结构和编程结构的全面研究——《微机原理与接口》
  2. 对于计算机一般的结构、功能、性能的研究——《组成原理》

1.1 机器语言

Q:机器指令、机器语言是什么?

  • 机器指令:是指机器可以正确执行的命令,对计算机来说就是一列二进制数,用一列高低电平来表示。
  • 机器语言:是机器指令的集合。

CPU不同,使其工作的指令集不同。也就是说相同的二进制序列对不同的CPU来说,可能代表了不同的命令。

Q:机器语言具有什么特点?

机器语言对人来说难以理解,用机器语言编写的程序阅读困难,很难进行排错。

1.2汇编语言的产生

Q:汇编语言解决的问题

将机器指令转变成程序员容易理解的汇编指令,便于阅读和记忆。

Q:如何让计算机执行汇编指令程序?

汇编指令——>编译器——>机器码——>计算机
mov ax,bx1000100111011000执行

1.3 汇编语言的组成

Q:汇编语言由哪几类指令组成?

  1. 汇编指令:机器指令的助记符,每个汇编指令有对应的机器指令,是汇编语言的核心部分。
  2. 伪指令:没有对应的机器指令,仅供编译器执行
  3. 其他符号:如:+、-、*、/等,由编译器识别,无对应的机器码。

1.4 存储器

一般指内存,内存向CPU直接提供需要处理的指令和数据。

1.5 指令和数据

Q:指令和数据的本质是什么?

在内存或硬盘上,指令和数据本质上都是二进制信息。

1.6 存储单元

Q:存储器的基本单元是什么?

存储设备的基本单位是存储单元。存储器被划分成若干存储单元,存储单元以字节为单位。1存储单元=1字节=8二进制位。

Q:常用存储单位有哪些?

1KB=1024B、1MB=1024KB、1GB=1024MB、1TB=1024GB

1.7 CPU对存储器的读写

Q:CPU如何寻找某个存储单元?

存储单元从零开始顺序编号,这些编号可以看做存储单元在存储器中的地址。CPU通过存储单元的编号或者说地址找到相应的存储单元。

Q:CPU与其他部件交互需要哪些信息?

  1. 地址信息:存储单元的地址。
  2. 控制信息:器件的选择,读或写的命令。
  3. 数据信息:读/写的数据。

Q:CPU与其他部件是如何进行信息交互的?

电子计算机中传输、处理的信息都是电信号,电信号通过导线传输。专门连接CPU和其他芯片的导线,通常称为总线。从逻辑上分为地址总线控制总线数据总线

Q:CPU对存储器进行读写操作时大致的交互过程是怎样的?

例如:CPU要从3号存储单元中读取数据的过程(如下图)

CPU读取数据过程

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

写操作与此过程类似,通过地址总线发送需要写入的地址,通过控制总线发出内存写命令,通过数据总线送入需要写入的数据。

1.8 地址总线

1.9 数据总线

1.10 控制总线

Q:地址总线、数据总线、控制总线的宽度分别代表什么含义?

  • 地址总线的宽度表示CPU的寻址能力,地址总线能表示多少个不同的信息,就表示CPU能对多少个不同的存储单元进行寻址。

CPU有N条地址总线,能寻址 2 N 2^N 2N个存储单元

  • 数据总线的宽度,决定CPU和存储器之间一次能传输数据的大小。

CPU有N条数据总线,一次最多能传输N位2进制数据。

  • 8088CPU总线宽度为8,一次最大可以传输一个字节(8位)的数据;
  • 8086CPU总线宽度为16,一次最大可以传输两个字节(16位)的数据。
  • 控制总线宽度决定CPU可以表示的命令数,决定CPU对其他部件的控制能力。

CPU有N条控制总线,表示CPU发出的命令最多有 2 N 2^N 2N种。

1.11 内存地址空间

Q:内存地址空间是什么?

内存地址空间指CPU可以寻址到的内存单元的集合。

1.12 主板

Q:主板的作用

主板通过总线将主板上的CPU、存储器、外围芯片组、扩展插槽等连接起来。

扩展插槽一般插有RAM内存条、网卡、显卡、声卡等。

1.13 接口卡

Q:CPU与外部设备如何交互?

CPU通过总线连接接口卡,通过控制接口卡间接控制外部设备。

1.14 各类存储器芯片

Q:存储器有哪些分类?

  1. 按照存储器的读写属性分类:

    • 随机存储器RAM:断电后其中的数据自动清空。
    • 只读存储器ROM
  2. 按照存储器的功能和连接分类:

    • 随机存储器:板载的RAM,扩展插槽的RAM
    • 装有BIOS的ROM:主板、显卡、网卡
    • 接口卡上的RAM:显存等

1.15 内存地址空间

Q:CPU如何管理本计算机上的所有存储器?

CPU将连接在主板上的所有存储器都看成CPU管理的内存空间的一部分,不同的存储器对应的地址不同。往不同的地址中写入数据,等同于往不同的存储器中写入数据,有不同的效果。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值