汇编语言与微机原理(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的情况。


目录
打赏
0
1
1
0
10
分享
相关文章
快速带你上手通义灵码 2.0,体验飞一般的感觉
通义灵码个人版为开发者免费提供智能编码能力,专业版限免期内开放更多功能。使用需先注册阿里云账号,支持JetBrains IDEs、Visual Studio Code等开发工具。以Visual Studio Code为例,安装插件并登录后即可体验其强大功能。通义灵码2.0在代码生成、需求理解及单元测试自动化等方面有显著提升,支持多语言和复杂场景,大幅提高开发效率。
234836 33
快速带你上手通义灵码 2.0,体验飞一般的感觉
利用通义灵码AI在VS Code中快速开发扫雷游戏:Qwen2.5-Max模型的应用实例
本文介绍了如何利用阿里云通义灵码AI程序员的Qwen2.5-Max模型,在VS Code中一键生成扫雷小游戏。通过安装通义灵码插件并配置模型,输入指令即可自动生成包含游戏逻辑与UI设计的Python代码。生成的游戏支持难度选择,运行稳定无Bug。实践表明,AI工具显著提升开发效率,但人机协作仍是未来趋势。建议开发者积极拥抱新技术,同时不断提升自身技能以适应行业发展需求。
22185 16
一键部署 Dify + MCP Server,高效开发 AI 智能体应用
本文将着重介绍如何通过 SAE 快速搭建 Dify AI 研发平台,依托 Serverless 架构提供全托管、免运维的解决方案,高效开发 AI 智能体应用。
1408 4
7.9K star!免费解锁Cursor Pro功能,这个开源神器太强了!
"无需付费即可畅享AI编程神器Cursor的Pro功能,支持Windows/macOS/Linux全平台!"
397 2
函数计算支持热门 MCP Server 一键部署
MCP(Model Context Protocol)自2024年发布以来,逐渐成为AI开发领域的实施标准。OpenAI宣布其Agent SDK支持MCP协议,进一步推动了其普及。然而,本地部署的MCP Server因效率低、扩展性差等问题,难以满足复杂生产需求。云上托管成为趋势,函数计算(FC)作为Serverless算力代表,提供一键托管开源MCP Server的能力,解决传统托管痛点,如成本高、弹性差、扩展复杂等。通过CAP平台,用户可快速部署多种热门MCP Server,体验高效灵活的AI应用开发与交互方式。
790 9
重定义数字人交互!OmniTalker:阿里推出实时多模态说话头像生成框架,音视频实现唇语级同步
阿里巴巴推出的OmniTalker框架通过Thinker-Talker架构实现文本驱动的实时说话头像生成,创新性采用TMRoPE技术确保音视频同步,支持流式多模态输入处理。
666 2
重定义数字人交互!OmniTalker:阿里推出实时多模态说话头像生成框架,音视频实现唇语级同步
【MCP教程系列】在阿里云百炼,实现超级简单的MCP服务部署
阿里云百炼推出业界首个全生命周期MCP服务,支持一键在线注册托管。企业可将自研或外部MCP服务部署于百炼平台,借助FC函数计算能力,免去资源购买与服务部署的复杂流程,快速实现开发。创建MCP服务仅需四步,平台提供预置服务与自定义部署选项,如通过npx安装代码配置Flomo等服务。还可直接在控制台开通预置服务,体验高效便捷的企业级解决方案。
【MCP教程系列】在阿里云百炼,实现超级简单的MCP服务部署