汇编语言与微机原理(1)基础知识

简介: 汇编语言与微机原理(1)基础知识

前言

(1)本人使用的是 王爽老师的汇编语言第四版和 学校发的微机原理教材配合学习。

(2)推荐视频教程 通俗易懂的汇编语言(王爽老师的书); 贺老师C站账号网址;

(3)文章配套资料: Github仓库链接;

(4)本文是介绍8086汇编语言。


汇编语言简介

汇编语言诞生

(1)我们都知道计算机是二进制的,上个世纪的程序员是使用01进行写程序,因为0101001010这种代码不适合人来看,稍微搞错了一个地方代码就出问题了。


(2)于是前人就想到了使用特定符号表示一段固定的二进制数据,也就是现在要讲的汇编语言。

(3)首先需要强调的是, 计算机是无法识别除了01以外的所有编程语言的!所以我们的汇编指令需要经过一个编译器将汇编代码转换为机器码,也就是01语言,最终计算机才可以执行指令。

(4)为什么是只能识别01呢?这个其实有一点点数模电知识就能够理解了,因为怕阅读此文章的人真的基础太差。还是赘述一遍。对于计算机而言,其他它也无法识别0和1,它真正能够识别的东西是叫做电压!我们初中物理学过,电压是相对的,我们将地球的电压看作是0V。所有计算机内部的控制单元都是与或非三个门电路组成,而这三个门电路其实又是三极管组成,三极管其实可以看成是一个水龙头,它有截至区,放大区(这个区域本文不谈),饱和区。当电压为0V的时候,处于截至区,输出低电平。当电压为5V的时候(以TTL电平为例),处于饱和区输出高电平。所以说,我们将点低电平称为0,高电平称为1。


汇编语言的组成

(1)汇编语言由三类指令组成:汇编指令,伪指令,其他符号。这一部分后面的文章会详细讲解。

(2)汇编指令:机器码助记符,由编译器执行,计算机并不执行。

(3)伪指令:没有对应的机器码,由编译器执行,计算机并不执行。

(3)其他符号:入+,-,*,/等,由编译器识别,没有对应的机器码。


微型计算机简介

微型计算机构成

微型计算机是由 软件硬件所组成。结构框图如下


软件简介

(1)软件这个东西是个人认为比较抽象,软件就是各种程序的集合体。软件本质就是要依靠硬件来实现的,你可以将它理解为一个已经设置好的硬件模块,它能够执行规定的任务。

(2)软件分为系统软件和应用软件。

(3) 系统软件的核心就是操作系统,比如windows,Linux,mac这种。

(4) 应用软件是为例某种应用目的而编制的计算机程序。比如谷歌浏览器,qq,微信这些都是应用软件。


硬件简介

(1)硬件部分就很好理解了,它就是一个主机和一个外部设备。 主机可以通过IO口控制外部设备。

(2)主机由微处理器,内存储器和IO接口组成。 对于8086而言,微处理器就是我们常说的CPU,至于上图为什么写MPU,我也比较的懵,查了很多资料也没查明白。只是知道很多时候MPU就会被当成是CPU来讲,但是两者又有区别。这个区别很模糊,我也不明白。


微机硬件构成与工作原理

微型计算机的硬件组成

(1)因为外围设备都是通过CPU对IO的控制间接控制的,所以我将对IO的控制理解为对外围的控制。

(2) 微型计算机的硬件由微处理器、存储器、IO三大部分组成。而由于系统总线是开放的,所以微机的硬件也可以包括系统总线。(注意,看不懂没关系,先有一个了解)

(3)从计算机构成原理来看, 微型计算机也可以说是由运算器、控制器、存储器、输入设备和输出设备等五大部分组成。(运算器和控制器集成在微处理器中,输入输出设备就可以理解为IO)


微处理器(CPU)

(1) 8086CPU中可编程使用的有14个16伪寄存器。按照用途分为, 通用寄存器, 段寄存器, 控制寄存器。

(2) 通用寄存器:数据寄存器(AX,BX,CX,DX),指针寄存器(SP,BP),变址寄存器(SI,DI)。

(3) 段寄存器:CS(代码段寄存器),SS(堆栈段寄存器),DS(数据段寄存器),ES(附加段寄存器)。

(4) 控制寄存器:IP(指令寄存器),FLAG(标志寄存器)。



存储器

(1)作为计算机,只有CPU是无法执行任务的,还需要存储器。CPU你可以理解为你的脑袋灵不灵活,而存储器就是你的脑袋记忆力好不好。

(2)举个例子,最强大脑中,水哥的实力是毋庸置疑的。它能够将一大堆的水杯中选出题目所要的水杯。 这需要他的大脑首先能够记住着一些水杯,也就是需要有足够的存储器。而就算记住了,也无法找出所要的水杯,所以需要快速的分辨,这就是CPU。


三大总线结构

地址总线

根据上面存储器部分的讲解,我们对CPU与存储器之间的关系有了一个简单的了解。但是,又有问题了,CPU怎么知道该区存储器的哪个地方读取指令呢?这个时候就需要一个地址总线了。CPU的CS和IP寄存器将会告诉我们应该区内存的哪个地方读取指令,而CS和IP的值通过地址总线传输给存储器,找到存储指令的部分。


数据总线

我们现在读取到了存放指令的地方了,那么CPU还不知道呀。那么这个时候就需要数据总线将数据回传给CPU,告诉CPU,你应该做什么。


控制总线

(1)控制总线就两个寄存器,一个IP,一个FLAG。

(2)IP寄存器和CS寄存器配合,知道指令存放的位置(后面文章会详细讲解)。

(3)FLAG就是标志寄存器,比如数据有了进位信号,有符号数产生溢出,产生中断请求等等,寄存器中相应位就会置1,这样我们可以读取相应位,知道CPU的情况。


目录
相关文章
|
8月前
王道408计组汇编语言部分学习总结
用于实现分支结构、循环结构的指令: cmp、 test、 jmp、 jxxx 用于实现函数调用的指令: push、pop、call、 ret 用于实现数据转移的指令: mov
339 0
|
10月前
第五章 汇编语言程序设计【微机原理】1
第五章 汇编语言程序设计【微机原理】1
69 0
|
10月前
第五章 汇编语言程序设计【微机原理】2
第五章 汇编语言程序设计【微机原理】2
121 0
第五章 汇编语言程序设计【微机原理】2
|
10月前
第四章 80x86指令系统【微机原理】
第四章 80x86指令系统【微机原理】
41 0
|
11月前
|
存储 芯片
微机原理基础知识
微机原理基础知识
193 0
|
12月前
|
移动开发 自然语言处理 算法
编译原理课设-设计一个词法分析器
编译原理课设-设计一个词法分析器
248 0
|
12月前
|
机器学习/深度学习 算法 数据格式
【微机原理笔记】第 4 章 - 8086 汇编语言程序设计
【微机原理笔记】第 4 章 - 8086 汇编语言程序设计
277 0
|
12月前
【微机原理笔记】第 3 章 - 8086/8088的指令系统
【微机原理笔记】第 3 章 - 8086/8088的指令系统
391 1
|
存储 编译器 C语言
计算机底层知识之汇编语言
汇编语言和本地代码是一一对应的 推荐阅读指数⭐️⭐️⭐️⭐️⭐️ 不会转换成本地代码的伪指令 推荐阅读指数 ⭐️⭐️⭐️ 汇编语言的语法是操作码 + 操作数 推荐阅读指数⭐️⭐️⭐️⭐️⭐️ mov指令 推荐阅读指数 ⭐️⭐️⭐️ 对栈进行push 和 pop 推荐阅读指数 ⭐️⭐️⭐️ 函数调用机制 推荐阅读指数 ⭐️⭐️⭐️⭐️⭐️ 函数内部的处理 推荐阅读指数 ⭐️⭐️⭐️⭐️⭐️ 全局变量用的内存空间 推荐阅读指数 ⭐️⭐️⭐️ 循环处理的实现方法 推荐阅读指数 ⭐️⭐️⭐️⭐️⭐️
计算机底层知识之汇编语言
计算机组成原理<六>——指令系统(思维导图)
计算机组成原理<六>——指令系统(思维导图)
计算机组成原理<六>——指令系统(思维导图)