汇编语言:AX、BX、CX、DX寄存器知识点梳理
文章目录
- 前言
- 一、8086CPU及通用寄存器的由来
- 二、四个通用寄存器
- 1.通用寄存器
- 2.AX、BX、CX和DX寄存器的特点
- 三、为什么寄存器设计成8位、16位
- 位数溢出会发生什么
- 四、寄存器相关题目
- 总结
前言
本文记录笔者为了汇编语言考试,梳理基于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,不会互相影响
四、寄存器相关题目
总结
以上便是关于数据寄存器中的四种通用寄存器的总结
汇编语言:AX、BX、CX、DX寄存器知识点梳理相关推荐
- 汇编语言AX,BX,CX,DX寄存器
AX,BX,CX,DX寄存器 这四个寄存器用来存放数据,也就是数据寄存器 AX的大小为2B=16bit(所有也叫16位寄存器) 数据范围:0000 0000 0000 0000----1111 111 ...
- 汇编(8086cpu): AX,BX,CX,DX寄存器
AX,BX,CX,DX寄存器这四个寄存器也被称为通用寄存器.一般用来存放数据,一个寄存器可以存放16bit,也就是2bytes. 所以也被称为16位寄存器. 什么特殊的地方导致这四个寄存器和其他寄存器 ...
- Win-MASM64汇编语言-通用寄存器AX/BX/CX/DX/SI/DI/BP
(1)AX: ①用于数据中转:高级语言反汇编中CPU通常使用ax进行中转数据,比如要往ds寄存器中放数据的话,不可以mov ds,0001H这样写,而是应该先mov ax,0001H,然后再mov d ...
- 汇编中的通用基础寄存器ax,bx,cx,dx等的含意及作用解释
对一些汇编语言中基础的寄存器的代表的字符及含意(基础的) 一.段寄存器 在程序中起到声明段的作用,一般与assume同时出现 1.DS 数据段寄存器 2.ES 附加数据段寄存器 3.CS 代码段寄存器 ...
- 汇编语言 知识点梳理(王爽)
汇编语言(王爽) 第一章 基础知识 汇编语言的三类指令 (1)汇编指令:机器码的助记符,有对应的机器码 (2)伪指令:没有对应的机器码,由编译器执行,计算机不执行 (3)其它符号,如+,-,*,/等, ...
- [汇编语言学习笔记][第二章寄存器]
第二章 寄存器 8086有14个寄存器,分别为AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW. 2.1 通用寄存器 8086CPU的所有寄存器都是16位,可以存放 ...
- 呕心沥血 JavaScript知识点梳理大全,超详细 建议收藏!!!
呕心沥血 JavaScript知识点梳理大全,超详细 建议收藏!!! ✴️大家好,我是王同学,爆肝三天三夜王同学把JavaScript 知识点梳理了一遍,文章没有一点套路,只有满满的干货 ✴️如果对你 ...
- OpenCV图像处理知识点梳理
OpenCV知识点梳理 OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux.Windows.Android和Mas OS操作系统上. 它轻量级而且高效 ...
- MOV AX,BX 与 MOV AX,[BX] 区别
<1> MOV AX,BX 假设 AX = 2022H,BX = 2099H,则在指令 MOV AX,BX 执行之后,AX = 2099H,BX = 2099H <2 ...
最新文章
- 中文企业云操作系统 CecOS
- 波音737-800座位图哪个好_澳媒一张图揭秘,飞机选座秘诀!经济舱最舒适的位置在这儿...
- [USACO1.2]双重回文数 Dual Palindromes
- 腾讯AI Lab的研究方向
- SAP 电商云 Spartacus UI 设置 Delivery Mode 的时序分析和一个竞争条件问题分享
- Angular的scope. apply和CRM WebClient UI的modify方法
- asp.net core监控—引入Prometheus(二)
- sublime配置python2和3_请教各位,关于sublime text3 配置python环境的两个小问题。
- python点击屏幕_python实现鼠标自动点击屏幕
- Xampp的apache无法启动时的解决办法
- SAP ABAP Development Tool 如何设置黑色主题
- Android车载蓝牙相关开发3:蓝牙音频接收器BluetoothA2dpSink
- 云计算技术基础【10】
- 博士生导师谈他如何检索文献
- 幼麟棋牌游戏进程分析
- 【T3】win10系统成功注册加密锁后,登录软件依然提示“产品未找到合法的license授权”
- 简单的科普(引导模式、分区格式)
- 新视野大学英语(1)课本单词汇总
- DICTATOR第一周二分查找作业
- 解密淘宝优惠群泛滥的原因