【深入浅出】寄存器精讲第一期

news2024/11/26 6:23:03

在这里插入图片描述
🌈个人主页:聆风吟
🔥系列专栏:数据结构、算法模板、汇编语言
🔖少年有梦不应止于心动,更要付诸行动。


文章目录

  • 📋前言
  • 一. ⛳️开篇
    • 1.1 🔔CPU 概述(简单了解)
    • 1.2 🔔寄存器概述(简单了解)
  • 二. ⛳️通用寄存器
  • 三. ⛳️字在寄存器中的存储
  • 四. ⛳️几条汇编指令
  • 五. ⛳️小结检测
    • 5.1 🔔习题
    • 5.2 🔔习题答案
  • 📝全文总结

📋前言

    💬 hello! 各位铁子们大家好哇,又许久没有更新我们的汇编啦,事情比较繁多还希望大家能够多多包含。不知道上期使用咱们的安装教程是否已经把dosbox安装好了,今天又给大家带来了新的知识——初识寄存器,让我们一起来学习吧
    📚 系列专栏:本期文章收录在《汇编语言》,大家有兴趣可以浏览和关注,后面将会有更多精彩内容!
    🎉 欢迎大家关注🔍点赞👍收藏⭐️留言📝



一. ⛳️开篇

1.1 🔔CPU 概述(简单了解)

    一个典型的 CPU 由运算器、控制器、寄存器等器件组成,这些器件靠内部总线相连接。说到总线,我们在第一期提到过的总线相对于 CPU 内部来说是外部总线。内部总线实现 CPU 内部各器件之间的联系,外部总线实现 CPU 和主板上其它器件的联系。 简单的说,在 CPU 中:

  • 运算器进行信息处理;
  • 寄存器进行信息存储;
  • 控制器控制各种器件进行工作;
  • 内部总线连接各种器件,在它们之间进行数据的传送。

    对于一个程序猿来说,CPU 中的主要部件是寄存器。寄存器是 CPU 中程序猿可以用指令读写的部件。程序猿通过改变各种寄存器中的内容来实现对 CPU 的控制。

1.2 🔔寄存器概述(简单了解)

    寄存器是计算机中一种用于暂时存储数据的硬件组件。它们通常是非常快速的,通常直接嵌入到中央处理器(CPU)中。寄存器主要用于缓存指令和数据,以便CPU可以更快地访问和处理它们。所有计算机中的寄存器都由一定数量的二进制位组成,并且具有固定的大小。其中8086CPU 有14个寄存器,它们的名称分别为:AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、DS、ES、PSW。这些寄存器我们将会在后续的课程中陆续介绍。



二. ⛳️通用寄存器

    8086CPU 的所有寄存器都是16位的,可以存放两个字节。AX、BX、CX、DX通常用来存放一般性的数据,被称为通用寄存器
     以 AX 为例,寄存器的逻辑结构如下图所示:在这里插入图片描述

    一位16位寄存器可以存储一个16位的数据。数据在寄存器中的存放情况如下图所示:在这里插入图片描述有以上示例我们可以总结出,一个16位寄存器所能存储的的数据的最大值为2^16 -1,同理一个8位寄存器所能存储的的数据的最大值为2^8 -1

    8086CPU 的上代CPU中的寄存器都是 8 位的,为保证兼容,使原来基于上代CPU编写的程序稍加修改就可以运行在8086之上,AX、BX、CX、DX这四个寄存器都可以分为两个独立的8位寄存器使用:
在这里插入图片描述
分析: AX的低 8 位(0位 ~ 7位)构成了AL寄存器,高8位(8位~15位)构成了AH 寄存器。AH 和 AL寄存器是可以独立使用的8位寄存器。
在这里插入图片描述



三. ⛳️字在寄存器中的存储

    出于对兼容性的考虑,8086CPU 可以一次性处理以下两种尺寸的数据:

  • 字节:记为byte,一个字节有 8 个 bit 组成,可以存放在 8 位寄存器中;
  • 字:即为word,,一个字有两个字节组成,这两个字节分别称为这个字的高位字节和地位字节,如下图所示:

在这里插入图片描述

由上所述: 一个字可以在一个16位的寄存器中,这个字的高位字节和低位字节自然就存在这个寄存器的高8位寄存器和低8位寄存器中。



四. ⛳️几条汇编指令

在这里插入图片描述
注意:在写一条会汇编指令或一个寄存器的名称时不区分大小写。如:mov ax,18 和 MOV AX,18 的含义相同;bx 和 BX 的含义相同。



五. ⛳️小结检测

5.1 🔔习题

(1):写出每条汇编指令执行后相关信息寄存器中的值

指令寄存器的值
mov ax,62627AX =
mov ah,31HAX =
mov al,23HAX =
add ax,axAX =
mov bx,826CHBX =
mov cx,axCX =
mov ax,bxAX =
add ax,bxAX =
mov al,bhAX =
mov ah,blAX =
add ah, ahAX =
add al,6AX =
add al,alAX =
mov ax,cxAX =

(2):只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方。

5.2 🔔习题答案

注明:一天后习题答案将在评论区展示,一周或两周后将会把答案修订到文章中。



📝全文总结

归纳:
    本文主要是初识寄存器,介绍了通用寄存器AX,BX,CX,DX以及寄存器的逻辑结构,数据在寄存器中的存储形式。紧接着我们又讲解了字在寄存器中的存储占两个字节,后面简单介绍了几条汇编指令,最后我们以习题的形式结束今天的文章,希望大家都能够自己动手尝试做做题目,孰能生巧。

     今天的内容就到这里了,你对今天的内容是否有所掌握?如果还有疑问的话请在评论区里多多提问,大家可以一起帮你解决,让我们共同进步。创作不易,如果对你有用的的话点个赞支持下作者,你们的支持是作者创作最大的动力。关注我不迷路,让我们下期再见✋✋。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1146972.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

两数和的目标 python (初学者vs程序员)

题目描述 1)给定一个整数列表,在列表中,从前向后查找两个元素使其相加之和等于目标数,并返回两个整数在列表中的下标。如果没有符合条件的数字,输出False,本题假设题目的解唯一。‬‪‬‪‬‪‬‪‬‮‬‪…

07. 蜂鸣器

07. 蜂鸣器 硬件原理分析代码编写 硬件原理分析 此处为PNP型三极管,BEEP为低的时候三极管才会导通,也就是BEEP0时,蜂鸣器会叫。BEEP是通过SNVS_TAMPER1这个IO控制的 代码编写 将前面的bsp、imx6ul、obj和project拷贝过来 初始化SNVS_TAMPE…

首次cmake 多目录构建失败

新建test3目录,新建如下图空目录;前文有4个源码文件,2个h,2个cpp;把前文的cpp文件拷贝到src目录下,把h文件拷贝到include目录下;前文的CMakeLists.txt拷贝到test3目录下; 在src目录新…

基于小安派AiPi-Eye-S1的Nes游戏机

1.作品展示 作品功能可见以下B站视频 外壳可以使用灰太狼大佬提供的外壳STL文件。在嘉立创三维猴上打印(外壳12元快递6元)。 外壳从以下的帖子中获取: 模型分享 2.作品说明 2.1 硬件部分 硬件上使用到了AiPi-Eye-S1开发板以及3.5寸 240*3…

社恐了怎么办?如何改变社交恐惧症?

社恐这个词已经算是普及了,自嘲自己是社恐的人真的挺多的,好像一句我社恐了就能解析很多问题,其实真正的社恐远比我们想象的要痛苦多了,社恐能被更多人认识到本来是件好事,但是过于的用社恐来给自己贴标签,…

VBA技术资料MF75:测量所选单元格范围的高度和宽度

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。我的教程一共九套,分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到…

从InnoDB索引的数据结构,去理解索引

从InnoDB索引的数据结构,去理解索引 1、InnoDB 中的 BTree1.1、BTree 的组成1.2、BTree中的数据页 2、聚簇索引2.1、聚簇索引的特点2.2、聚簇索引的结构示例2.3、聚簇索引的优缺点 3、非聚簇索引3.1、非聚簇索引结构示例3.2、关于回表3.3、聚簇索引和非聚簇索引的区…

ALS算法在菜品智能推荐系统的应用

核心推荐模块的推荐算法是基于用户推荐模 型(user_model)协同过滤的矩阵分解过滤算法 ALS。其算法原理可叙述为: ALS收集大数据样本的用户评分喜好信息,训 练推荐模型,基于该模型进行协同过滤。 对于任意一个形如用户-…

记录几个常用的docker镜像

背景 Docker 部署有着非常多的优势,可以帮助提高开发、测试和部署的效率,降低成本,使应用更具可移植性和可扩展性,包括但不限于 标准化应用发布,跨平台和主机使用:Docker的镜像提供了标准化发布环境&…

基于引力搜索算法的无人机航迹规划-附代码

基于引力搜索算法的无人机航迹规划 文章目录 基于引力搜索算法的无人机航迹规划1.引力搜索搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用引力搜索算法来优化无人机航迹规划。 …

报错:Error: error:0308010C:digital envelope routines::unsupported

运行旧项目时,报错:Error: error:0308010C:digital envelope routines::unsupported 主要原因:node版本太高了 解决方法:package.json 包文件中,添加代码 set NODE_OPTIONS--openssl-legacy-provider && &am…

代码审计-锐捷EG易网关 download.php 后台任意文件读取漏洞

首先登录到后台中(可以组合 锐捷EG易网关 管理员账号密码泄露漏洞) 关键部分代码为 直接从Get请求中提取 file参数读取文件,可以使用 …/ 跳转目录 验证POC /download.php?aread_txt&file../../../../etc/passwd漏洞证明: 文笔生疏,…

C的自定义类型

目录 1. 结构体 1.1. 结构体类型的声明 1.1.1. 特殊声明 2. 结构的自引用 3. 结构体变量的定义和初始化 4. 结构体内存对齐 4.1. 结构体内存对齐 4.2. 修改默认对齐数 5. 结构体传参 6. 结构体实现位段(位段的填充&可移植性) 6.1. 什么是位…

集丰照明|博物馆照明设计安全保护四大注意事项

博物馆展品是博物馆一切行为的中心,策划、装修、布展、照明、开展、撤展所有过程都围绕珍贵的展品而设置。因此,在整个行为过程中如何安全保护独一无二的珍稀展品成为博物馆展览的首要课题, 博物馆照明设计 必须优先处理好安全保护展品和更…

问题 X: 阿牛的EOF牛肉串(分类讨论)

算法如下: eg.f(n,o)表示的是以N为长度,以O为结尾的合法字符串个数 代码实现:

拿捏面试官,高频接口自动化测试面试题总结(附答案)狂收offer...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 面试题&#xff1…

基于水循环算法的无人机航迹规划-附代码

基于水循环算法的无人机航迹规划 文章目录 基于水循环算法的无人机航迹规划1.水循环搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用水循环算法来优化无人机航迹规划。 1.水循环…

Windows防火墙导致端口访问不通

计算机A的IIS中部署的服务,在另外的计算机B中始终无法访问,ping和telnet都不通。   最初认为是硬件的问题,但是检查了网络后并未发现问题,同时计算机B与其它联网计算机之间也是可以相互访问。   接着测试从计算机A中ping和tel…

【网络安全 --- 文件上传靶场练习】文件上传靶场安装以及1-5关闯关思路及技巧,源码分析

一,前期准备环境和工具 1,vmware 16.0安装 若已安装,请忽略 【网络安全 --- 工具安装】VMware 16.0 详细安装过程(提供资源)-CSDN博客文章浏览阅读186次,点赞9次,收藏2次。【网络安全 --- 工…

idea 提升效率的常用快捷键 汇总

点击File --> Settings --> keymap便可进入看到 IDEA 提供的快捷键。我们也可以搜索和自定义所有快捷键 下面13个事我常用的快捷键,后面还有全部,可以当做字典来查 1.当前文件下查找:CtrlF 当前文件下替换:CtrlR 2.当前…