当前位置: 首页 > news >正文

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

相关文章:

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

前言(1)本人使用的是王爽老师的汇编语言第四版和学校发的微机原理教材配合学习。(2)推荐视频教程通俗易懂的汇编语言(王爽老师的书);贺老师C站账号网址;(3)文…...

ASEMI代理瑞萨TW8825-LA1-CR汽车芯片

编辑-Z TW8825-LA1-CR在单个封装中集成了创建多用途车载LCD显示系统所需的许多功能。它集成了高质量的2D梳状NTSC/PAL/SECAM视频解码器、三重高速RGB ADC、高质量缩放器、多功能OSD和高性能MCU。TW8825-LA1-CR其图像视频处理能力包括任意缩放、全景缩放、图像镜像、图像调整和…...

什么是 .com 域名?含义和用途又是什么?

随着网络的发展,网络上出现了各种不同后缀的域名,这些域名的后缀各有不同的含义,也有不同的用途。今天,我们就一起来探讨一下 .com 后缀的域名知识。 .com 域名是一种最常见的顶级域名,它是由美国国家网络信息中心&…...

VueX快速入门(适合后端,无脑入门!!!)

文章目录前言State和Mutations基础简化gettersMutationsActions(异步)Module总结前言 作为一个没啥前端基础(就是那种跳过js直接学vue的那种。。。)的后端选手。按照自己的思路总结了一下对VueX的理解。大佬勿喷qAq。 首先我们需要…...

前列腺癌论文笔记

名词解释 MRF: 磁共振指纹打印技术( MR Fingerprinting)是近几年发展起来的最新磁共振技术,以一种全新的方法对数据进行采集、后处理和实现可视化。 MRF使用一种伪随机采集方法,取代了过去为获得个体感兴趣的参数特征而使用重复系列数据的采集方法&…...

Python+Yolov5道路障碍物识别

PythonYolov5道路障碍物识别如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01;前言这篇博客针对<<PythonYolov5道路障碍物识别>>编写代码&#xff0c;代码整洁&#xff0c;规则&#xff0c;易读。 学习与…...

全新升级,EasyV 3D高德地图组件全新上线

当我们打开任意一个可视化搭建工具或者搜索数据可视化等关键词&#xff0c;我们会发现「地图」是可视化领域中非常重要的一种形式&#xff0c;对于许多可视化应用场景都具有非常重要的意义&#xff0c;那对于EasyV&#xff0c;地图又意味着什么呢&#xff1f;EasyV作为数字孪生…...

从管理到变革,优秀管理者的进阶之路

作为一位管理者&#xff0c;了解自身需求、企业需求和用户需求是非常重要的。然而&#xff0c;仅仅满足这些需求是不够的。我们还需要进行系统化的思考&#xff0c;以了解我们可以为他人提供什么价值&#xff0c;以及在企业中扮演什么样的角色。只有清晰的自我定位&#xff0c;…...

安装Anaconda3

安装Anaconda3 下载安装文件 可以去官网下载 https://repo.anaconda.com/archive/根据自己的操作系统选择合适的Anaconda版本 我选择的是Anaconda3-2021.05-Linux-x86_64.sh的版本 方法一&#xff1a;可以下载到本地然后在上传到虚拟机 方法二&#xff1a;在终端输入以下…...

HTTPS,SSL(对称加密和非对称加密详解)

上一篇博客&#xff08;HTTP详解_徐憨憨&#xff01;的博客-CSDN博客&#xff09;详细讲解了关于HTTP的知识&#xff0c;了解到HTTP协议下的数据传输是一种明文传输&#xff0c;既然是明文传输&#xff0c;可能导致在传输过程中出现一些被篡改的情况&#xff0c;此时就需要对所…...

【数据结构】还不懂算法复杂度?一文带你速解

前言:前面我们已经系统的学完C语言的相关知识&#xff0c;现在我们已经较为熟练的掌握了C语言中的各中代码语法和结构使用&#xff0c;能够使用代码来解决一些简单问题。但是对于一个程序员来说&#xff0c;仅仅会语法是远远不够的&#xff0c;从今天开始&#xff0c;我们将进入…...

案例描述:update中,MySQL inner join 和 left join的区别,小结果集驱动大结果集

场景描述 以一个场景为例&#xff1a; 单据A&#xff1a;下游子表 &#xff08;数据量级小&#xff09; 单据B&#xff1a;下游主表&#xff08;数据量级小&#xff09; 单据C&#xff1a;中游子表&#xff08;数据量级小&#xff09; 单据D&#xff1a;中游主表&#xff08;…...

CF1784D Wooden Spoon

CF1784D Wooden Spoon 题目大意 有2n2^n2n个人&#xff0c;进行nnn轮比赛。比赛的图是一棵完全二叉树。编号小的人一定能赢编号大的人&#xff0c;如果一个人满足&#xff1a; 第一次比赛被打败打败这个人的人在第二次比赛中被打败打败上一个人的人在第三次比赛中被打败…\d…...

【数据结构】栈

文章目录&#x1f63a;前言栈初始化栈顶入栈栈顶出栈栈体判空栈的数据个数获取栈顶元素栈的销毁整体代码&#x1f63c;写在最后&#x1f63a;前言 &#x1f47b;前面我们学习了链表&#xff0c;总算是跨过一个台阶了&#xff0c;本章带大家轻松一波&#xff0c;领悟一下栈的魅力…...

C++单继承和多继承

C单继承和多继承继承单继承写法继承中构造函数的写法写法构造和析构的顺序问题多继承继承 1.继承&#xff0c;主要是遗传学中的继承概念 2.继承的写法&#xff0c;继承中的权限问题 3.继承中的构造函数的写法 继承&#xff1a;子类没有新的属性&#xff0c;或者行为的产生 父类…...

金三银四,今年企业招聘如何?

又是一年求职季&#xff0c;互联网人找工作&#xff0c;和找对象一样严谨&#xff0c;不随便放手更不随便牵手。于是挑挑拣拣&#xff0c;最后的结果可能就是把自己挑剩下了。 时间已经悄然滑进3月中旬&#xff0c;多少无处安放的青春&#xff0c;还没尘埃落定&#xff1f;优秀…...

数字信号处理:滤波、频谱

一、滤波算法 应该说数字滤波器可以有效减小50Hz工频的干扰&#xff0c;完全消除是不可能的。以20ms为最小单位的整倍数周期滤波&#xff0c;可以有效减少工频的干扰。 软件中构建 IIR 陷波或者 FIR 带阻 数字滤波器&#xff0c;消除工频干扰对测量结果的影响。 1. 自适应滤波 …...

C#等高级语言运行过程

C#等高级语言运行流程&#xff1a;假设您编写了一个 C# 程序并将其保存在一个称为源代码的文件中。特定于语言的编译器将源代码编译成 MSIL&#xff08;Microsoft 中间语言&#xff09;&#xff0c;也称为 CIL&#xff08;通用中间语言&#xff09;或 IL&#xff08;中间语言&a…...

如何优雅的用POI导入Excel文件

在企业级项目开发中&#xff0c;要经常涉及excel文件和程序之间导入导出的业务要求&#xff0c;那么今天来讲一讲excel文件导入的实现。java实现对excel的操作有很多种方式&#xff0c;例如EasyExcel等&#xff0c;今天我们使用的是POI技术实现excel文件的导入。POI技术简介1.P…...

【AI 工具】文心一言内测记录

文章目录一、申请内测二、收到内测邀请三、激活内测四、开始使用1、普通对话2、生成图片3、生成代码4、写剧本5、生成小说五、问题反馈一、申请内测 到 https://yiyan.baidu.com/welcome 页面 , 点击 " 开始体验 " 按钮 , 申请试用 ; 申请时 , 需要填写相关信息 ; 主…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中&#xff0c;新增了一个本地验证码接口 /code&#xff0c;使用函数式路由&#xff08;RouterFunction&#xff09;和 Hutool 的 Circle…...

华硕a豆14 Air香氛版,美学与科技的馨香融合

在快节奏的现代生活中&#xff0c;我们渴望一个能激发创想、愉悦感官的工作与生活伙伴&#xff0c;它不仅是冰冷的科技工具&#xff0c;更能触动我们内心深处的细腻情感。正是在这样的期许下&#xff0c;华硕a豆14 Air香氛版翩然而至&#xff0c;它以一种前所未有的方式&#x…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...

【笔记】WSL 中 Rust 安装与测试完整记录

#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统&#xff1a;Ubuntu 24.04 LTS (WSL2)架构&#xff1a;x86_64 (GNU/Linux)Rust 版本&#xff1a;rustc 1.87.0 (2025-05-09)Cargo 版本&#xff1a;cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

华为OD机考-机房布局

import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...

scikit-learn机器学习

# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...

Java并发编程实战 Day 11:并发设计模式

【Java并发编程实战 Day 11】并发设计模式 开篇 这是"Java并发编程实战"系列的第11天&#xff0c;今天我们聚焦于并发设计模式。并发设计模式是解决多线程环境下常见问题的经典解决方案&#xff0c;它们不仅提供了优雅的设计思路&#xff0c;还能显著提升系统的性能…...

数据结构:泰勒展开式:霍纳法则(Horner‘s Rule)

目录 &#x1f50d; 若用递归计算每一项&#xff0c;会发生什么&#xff1f; Horners Rule&#xff08;霍纳法则&#xff09; 第一步&#xff1a;我们从最原始的泰勒公式出发 第二步&#xff1a;从形式上重新观察展开式 &#x1f31f; 第三步&#xff1a;引出霍纳法则&…...

ffmpeg(三):处理原始数据命令

FFmpeg 可以直接处理原始音频和视频数据&#xff08;Raw PCM、YUV 等&#xff09;&#xff0c;常见场景包括&#xff1a; 将原始 YUV 图像编码为 H.264 视频将 PCM 音频编码为 AAC 或 MP3对原始音视频数据进行封装&#xff08;如封装为 MP4、TS&#xff09; 处理原始 YUV 视频…...