IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 汇编语言:AX、BX、CX、DX寄存器知识点梳理 -> 正文阅读

[嵌入式]汇编语言:AX、BX、CX、DX寄存器知识点梳理

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

本文记录笔者为了汇编语言考试,梳理基于8086CPU的汇编语言相关知识点

一、8086CPU及通用寄存器的由来

在了解标题中的四个寄存器之前,笔者先对学习的8086CPU进行一番整理

Intel 8086是一个由Intel于1978年所设计的16位微处理器芯片,是x86架构的鼻祖。不久之后,Intel 就推出了 Intel 8088(一个拥有8位外部数据总线的微处理器)。它是以8080和8085的设计为基础,拥有类似的寄存器组,但是地址总线扩充为20位。总线接口单元(Bus Interface Unit)透过6字节预存(prefetch) 的队列(queue)位指令给执行单元(Execution Unit),所以取指令和执行是同步的,8086CPU有20条地址线,可直接寻址1MB的存储空间,每一个存储单元可以存放一个字节(8位)二进制信息。

Intel 8086拥有四个16位的通用寄存器,也能够当作八个8位寄存器来存取,以及四个16位索引寄存器(包含了堆栈指标)。资料寄存器通常由指令隐含地使用,针对暂存值需要复杂的寄存器配置。它提供64K 8 位元的输出输入(或32K 16位元),以及固定的向量中断。大部分的指令只能够存取一个内存位址,所以其中一个操作数必须是一个寄存器。运算结果会储存在操作数中的一个寄存器。

划重点,我们对以上的两段话进行整理如下:

  • 8086处理器具备20条地址总线
  • 8086处理器具有16根数据线
  • 8086处理器拥有四个16位通用寄存器,可当作八个8位寄存器进行存取

二、四个通用寄存器

1.通用寄存器

通用寄存器,顾名思义,是用来存放数据的,数据寄存器,针对8086处理器,你可以把他理解为能够存放16位数据的箱子

对于16位寄存器,能够存放的数据为

0000 0000~1111 1111 1111 1111 即0 ~FFFFH 0 ~ 6553

8086CPU具备四个通用寄存器,它们分别是AX、BX、CX和DX

2.AX、BX、CX和DX寄存器的特点

在这里插入图片描述

对于以上四种寄存器,他们与其他数据寄存器的不同之处在于,他们存储数据的16位,可以各自分为2个8位寄存器


AX= AH + AL, AX的高8位为AH寄存器, H =high
BX= BH + BL,
CX=CH + CL,
DX= DH + DL

三、为什么寄存器设计成8位、16位

我们知道,在计算机中,内存的最小单元为字节,即8位数据

而在第一部分已经提及,8086CPU的数据线为16根数据线,即8086CPU可以处理2种尺寸的数据

  • 字节型数据 1byte=8bit --8位寄存器
  • 字型数据 2byte=16bit --16位寄存器 2个字节

对于字型数据,存放到通用寄存器中,分为两种

1.高位字节(AH,BH,CH,DH)
2.低位字节(AL,BL,CL,DL)

在进行汇编语言代码编写时,保证指令和数据的一致性非常重要!!!!

8位数据,只能给8位的寄存器;16位数据,只能给16位的寄存器
在这里插入图片描述

位数溢出会发生什么

若加法超过寄存器,如8位寄存器AL,往里面填充数值超过8位,则AL寄存器只保留相加溢出后未溢出的8位数据,溢出的数据,并不会保存到AH寄存器中,而是会存放到其他寄存器中

同样的AX寄存器,相加溢出时,只保存后16位数据,不会保存溢出16位的部分

寄存器是互相独立的,AL就是AL, AX就是AX,不会互相影响

总结

以上便是关于数据寄存器中的四种通用寄存器的总结

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-05-24 18:23:18  更:2022-05-24 18:25:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 0:26:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码