🌈个人主页:聆风吟
🔥系列专栏:数据结构、算法模板、汇编语言
🔖少年有梦不应止于心动,更要付诸行动。
文章目录
- 📋前言
- 一. ⛳️开篇
- 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,62627 | AX = |
mov ah,31H | AX = |
mov al,23H | AX = |
add ax,ax | AX = |
mov bx,826CH | BX = |
mov cx,ax | CX = |
mov ax,bx | AX = |
add ax,bx | AX = |
mov al,bh | AX = |
mov ah,bl | AX = |
add ah, ah | AX = |
add al,6 | AX = |
add al,al | AX = |
mov ax,cx | AX = |
(2):只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方。
5.2 🔔习题答案
注明:一天后习题答案将在评论区展示,一周或两周后将会把答案修订到文章中。
📝全文总结
归纳:
本文主要是初识寄存器,介绍了通用寄存器AX,BX,CX,DX以及寄存器的逻辑结构,数据在寄存器中的存储形式。紧接着我们又讲解了字在寄存器中的存储占两个字节,后面简单介绍了几条汇编指令,最后我们以习题的形式结束今天的文章,希望大家都能够自己动手尝试做做题目,孰能生巧。
今天的内容就到这里了,你对今天的内容是否有所掌握?如果还有疑问的话请在评论区里多多提问,大家可以一起帮你解决,让我们共同进步。创作不易,如果对你有用的的话点个赞支持下作者,你们的支持是作者创作最大的动力。关注我不迷路,让我们下期再见✋✋。