汇编第一课预习——基础知识(1)

学校开设的汇编语言提供的教材是电子版的:汇编语言/王爽著.——北京:清华大学出版社,2013 。

第一章 基础知识

1.0 汇编概述

在学习新知识时,我通常遵循的原则是:先明白是什么,再探究为什么。那么汇编语言是什么呢?

按照书上的内容:
在这里插入图片描述
嗯好像有点感觉,不急,再看看百度百科的说法:
在这里插入图片描述
好像更啰嗦了,说来说去还是那一句话:汇编语言是一个规定好的符号(助记符)集合,用这些符号代替对应的二进制数(机器指令)。

assembly [əˈsembli]:原意会议、集会。

翻译成的汇编一词中的“汇”字便是原意的体现,那么多的这个“编”字又体现在哪?这就要牵扯出另外一个老问题:机器只会机器语言,汇编语言机器怎么听得懂?
那么就需要由一种程序将汇编语言翻译成机器语言,这个过程便是“编”,这就是“汇编”这个词的意思吧。相对应的这个翻译的程序就叫汇编程序。很多时候,我们会把汇编语言简称为汇编。

再来看看汇编的一个特性:
在这里插入图片描述

微处理器 :微处理器由一片或少数几片大规模集成电路组成的中央处理器
也就是说微处理器就是规模小的中央处理器(CPU)。

划红线的地方就是说:不同的设备有不同的机器语言指令集,那么与之对应的汇编语言也不尽相同。特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间就不可直接移植

由此,汇编语言的学习必须要给定某一个特定的设备了,这本教材是基于8086PC机开展的:
在这里插入图片描述

PC机:PC是Personal Computer 的缩写,也就是通常说的个人电脑,专业点就是称为微型计算机,简称微机。

好了,到这算是结束了“是什么”的问题,接下来就是为什么会产生汇编语言的问题。

1.1 机器语言

在这里插入图片描述
机器语言就是二进制数字序列。其实也不准确,电子计算机连二进制数都不会,只是能分别高低电平,一高一低就抽象成了对应的二进制数序列。
在这里插入图片描述
这是多么复杂且繁琐的工程啊,书上就举了两个例子让我们感受一下:
在这里插入图片描述
这个例子貌似还行,再看看下个例子:
在这里插入图片描述

1.2 汇编语言的产生

不论给谁看到上面用机器语言写的程序,都得崩溃。
在这里插入图片描述
机器语言是机器指令的集合,那么,每一条机器指令就得有对应的符号表示:
在这里插入图片描述
这种用符号表示的就是汇编指令。原来刚才自己理解的汇编语言只是汇编语言的主体——汇编指令。

寄存器:寄存器 (register) 是一种存储结构,用来存储二进制代码。上面说的AX、BX就是两个不同寄存器的代号。
存储器:说到寄存器就不得不提一下存储器,存储器也是一种存储结构,狭义上的存储器一般指的是硬盘、U盘等。
寄存器比存储器读写数据的速度快很多、性能更优越、价格自然更昂贵,但容量更小。
在很多情况下,存储器也可以是一个广义的表示,指的是所有可以存储数据的结构,在这个概念下寄存器是从属于存储器的。

有了汇编语言,肯定方便了不少,那么接下来的问题就是:汇编语言编写程序的工作过程是怎样的?这其实在刚才“编”这个字的讲解中了解过了:
在这里插入图片描述

1.3 汇编语言的组成

除了主体汇编指令还有什么呢?
在这里插入图片描述
伪指令和其他符号真没啥感觉,也没办法啊先放放,还是继续往下看:
在这里插入图片描述
所以我们有必要来学习一下硬件系统的相关知识。(都是概述)

1.4 存储器

在这里插入图片描述

内存:内存(Memory)也被称为内存储器和主存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。计算机中所有程序的运行都是在内存中进行的
内存和寄存器:寄存器是CPU里的东西;内存不是在CPU里的,但它和CPU直接相关。

1.5 指令和数据

在这里插入图片描述

1.6 存储单元

在这里插入图片描述

1.7 CPU对存储器的读写

在这里插入图片描述
CPU对存储器的读写必须要经过以下步骤:先确定读写内容的内存地址(存储单元的编号);再确定具体的操作,是读还是写;最后进行数据的交换。因为这三个步骤都是传递二进制数,所以为了防止混乱,它们必须要通过不同的总线——地址总线、控制总线、数据总线。

书上举了个例子,感受一下这个过程:
在这里插入图片描述
再来看看这个过程 8086CPU的机器指令和汇编指令的区别:
在这里插入图片描述

1.8 地址总线

在这里插入图片描述
一个CPU有N根地址线,则可以说这个CPU的地址总线的宽度为N。这样的CPU最多可以访2N(0~2N-1)个内存单位。

1.9 数据总线

在这里插入图片描述

地址值和数据值用十六进制表示是非常常见的现象,主要原因如下:1. 数字一旦大了用二进制表示会很长,不利于书写。 2.因为16进制和二进制转换很容易看出来,一位就是4个二进制位,与或运算一眼就能看出来。3.另外内存地址用16进制也算是约定俗成,如果地址也用其他进制可能不太容易转化,最根本的还是二进制。

8088:
在这里插入图片描述
8086:

在这里插入图片描述

1.10 控制总线

在这里插入图片描述

1.11 内存地址空间

在这里插入图片描述

1.12 主板

在这里插入图片描述
说直白点,主板相当于电脑的骨架或者躯干,用来支撑各个硬件的连接。主板就像车子的框架,车子的各个部件(CPU、总线、存储器等等)都有了,但是没有车架(主板)把它们更紧密的融合在一起,这是肯定不行的。主板在生活中很常见,长的就像这样的:在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值