2 寄存器

news2024/11/16 16:02:52

寄存器

CPU是由运算器、控制器、寄存器等器件构成,他们依靠内部总线连接。

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

寄存器是程序员可以使用指令读写的器件,我们通过控制寄存器控制CPU

1 通用寄存器

8086CPU所有的寄存器都是16位的。可以存放2个字节。AX 、BX 、CX、DX 这4个寄存器通常用来存放一般性的数据,被称为通用寄存器。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RW0lvMjR-1670244555041)(C:\Users\ALANSHAO\AppData\Roaming\Typora\typora-user-images\image-20221204152234335.png)]

8086CPU 的上一代CPU 中的寄存器都是8 位的,为了保证兼容,使原来基于上代CPU 编写的程序稍加修改就可以运行在8086 之上, 8086CPU 的AX 、BX 、CX 、DX 这4个寄存器都可分为两个可独立使用的8 位寄存器来用:

  • AX 可分为AH 和AL
  • BX 可分为BH 和BL
  • CX 可分为CH 和CL
  • DX 可分为DH 和DL

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GUpFEzZ9-1670244555042)(C:\Users\ALANSHAO\AppData\Roaming\Typora\typora-user-images\image-20221204152332865.png)]

字在寄存器的存储

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

  • 字节:记为byte , 一个字节由8 个bit 组成,可以存在8 位寄存器中。
  • 字:记为word, 1个字由两个字节组成,这两个字节分别称为这个字的高位字节和低位字节

2 物理地址

2.1 16位结构的CPU

16位CPU说明具有以下特性:

  • 运算器一次最多处理16位数据
  • 寄存器最大宽度是16位
  • 寄存器和运算器的通路最大是16位

2.2 8086CPU给出物理地址的方法

8086CPU 有20 位地址总线,可以传送20 位地址,达到l1MB 寻址能力。8086CPU 又是16 位结构,在内部一次性处理、传输、暂时存储的地址为16 位。从8086CPU 的内部结构来看,如果将地址从内部简单地发出,那么它只能送出16 位的地址,表现出的寻址能力只有64KB 。

不要混淆:20位是用来确定存储单元的地址的,2的20次方就是可以寻找多少个B,而不是多少个b

8086CPU 采用一种在内部用两个16 位地址合成的方法来形成一个20 位的物理地址。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ETP79KFQ-1670244555042)(C:\Users\ALANSHAO\AppData\Roaming\Typora\typora-user-images\image-20221204154141380.png)]

地址加法器采用物理地址=段地址×16+偏移地址的方法用段地址和偏移地址合成物理地址

2.3 物理地址的本质含义

CPU 在访问内存时,用一个基础地址(段地址× 16)和一个相对于基础地址的偏移地址相力日,给出内存单元的物理地址。

段的划分来自于CPU ,由于8086CPU 用“基础地址(段地址xl6)+偏移地址=物理地址”的方式给出内存单元的物理地址,使得我们可以用分段的方式来管理内存。我们可以认为:地址lOOOOH~ IOOFFH 的内存单元组成一个段,该段的起始地址(基础地址)lOOOOH,段地址为lOOOH ,大小为lOOH :我们也可以认为地址lOOOOH~ 1007FH, I 0080H~ lOOFFH 的内有单元组成两个段,它们的起始地址(基础地址)为: lOOOOH 和10080H ,段地址为: lOOOH 和1008H,大小都为80H 。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RXd1d1z8-1670244555042)(C:\Users\ALANSHAO\AppData\Roaming\Typora\typora-user-images\image-20221204154359472.png)]

2.4 CS和IP

CS是代码段寄存器,IP是指令指针寄存器。8086 机中,任意时刻, CPU 将CS:IP 指向的内容当作指令执行。

“jmp 段地址:偏移地址”指令的功能为: 用指令中给出的段地址修改c s ,偏移地址修改IP 。

3 汇编编程基础

Debug 是DOS 、Windows 都提供的实模式(8086 方式)程序的调试工具。使用它,可以查看CPU 各种寄存器中的内容、内存的情况和在机器码级跟踪程序的运行。

3.1 R命令

可以使用R命令查看全部寄存器的值

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KZ8MW5Lh-1670244555043)(C:\Users\ALANSHAO\AppData\Roaming\Typora\typora-user-images\image-20221204155044621.png)]

也可以使用R命令修改某个寄存器的值

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-agKT6C3v-1670244555043)(C:\Users\ALANSHAO\AppData\Roaming\Typora\typora-user-images\image-20221204155205082.png)]

3.2 D命令

使用D命令查看内存中的值

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ipLAcSv4-1670244555044)(C:\Users\ALANSHAO\AppData\Roaming\Typora\typora-user-images\image-20221204155327221.png)]

3.3 E命令

使用E命令修改内存中的值

在这里插入图片描述

3.4 U命令和T命令

U命令用来将指定位置的机器码翻译为汇编指令

T命令执行当前指令

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RIZXbg0Q-1670244555045)(C:\Users\ALANSHAO\AppData\Roaming\Typora\typora-user-images\image-20221204155834094.png)]

3.5 A命令

A命令将以汇编指令的形式将内存中保存机器码

翻译为汇编指令

T命令执行当前指令

在这里插入图片描述

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

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

相关文章

[附源码]Python计算机毕业设计Django社区住户信息管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

AI 绘画整体认知

体验 ChatGPT 之后,深刻感觉到 “了解 AI 绘画” 这件事必须得安排上了。 于是用了两三个日夜,了解如下: (文末附完整脑图链接) 一、发展时间线 二、使用已有的AI绘画云平台(目前国内外有很多&#xff09…

华为与思科路由器静态路由配置

一、华为路由器配置静态路由 1、静态路由基础 拓扑如下: 配置静态路由,使得PC1可以ping通PC3。 R1: interface Ethernet0/0/0ip address 124.16.8.1 255.255.255.0 # interface Ethernet0/0/1ip address 110.69.70.1 255.255.255.0 # # ip route-static 172.16.3.0 255.25…

Java_笔记_继承_虚方法表_成员变量方法构造_thisSuper

一、继承的概念以及优势: 1.概念: 1)继承是面向对象三大特征(封装,继承,多态)之一,可让类与类之间产生子父的关系。 2)封装:对象代表什么,就封装…

VCS Design Compiler(1)

|||||||||||| ========= =============================== VCS & Design Compiler 联合应用 =================================

[附源码]JAVA毕业设计流行病调查平台(系统+LW)

[附源码]JAVA毕业设计流行病调查平台(系统LW) 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术&#xff1…

PTA 7-251 汉诺塔问题

PTA 7-251 汉诺塔问题 分数 100 作者 于延 单位 哈尔滨师范大学 任务描述 在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候&am…

DBCO 点击化学试剂:DBCO-PEG24-O-NH2,DBCO-PEG24-O-amine

DBCO-PEG24-O-amine中叠氮化物和DBCO基团,DBCO 点击化学可以在水性缓冲液中运行,也可以在有机溶剂取决于底物分子的性质。带有 PEG 臂的试剂会增加化合物的亲水性。DBCO 试剂已广泛应用于生物偶联、标记和化学生物学。 西安凯新生物科技有限公司​DBCO系…

探花交友_第5章_圈子功能实现(新版)

探花交友_第5章_圈子功能实现(新版) 文章目录探花交友_第5章_圈子功能实现(新版)课程说明1、首页推荐1.1、接口分析1.2、功能实现1.2.1 controller1.2.2 service1.2.3 API接口1.2.4 请求dto对象2、圈子功能2.1、功能说明1.2、实现方案分析1.3、技术方案(重点)1.4、表结构设计3、…

js input 正则保留2位小数中文拼音输入问题 + 限制输入整数的方案

js input 正则保留2位小数中文拼音输入问题 限制输入整数的方案 problem 背景 element ui el-input组件原生input事件 需求 限制输入框的输入只允许输入数字和小数点保留2位小数,不允许输入第3位小数 实现 使用 input 原生 oninput 事件使用 js 正则匹配 /…

二分图(Bipartite Graph)

预计阅读时间:10分钟 一、简介 二分图の定义 二分图又叫二部图,是图论中的一种特殊模型。 假设S(V,E)是一个无向图。如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in…

常见的限流算法分析以及手写实现(计数器、漏斗、令牌桶)

常见的限流算法分析 限流在我们日常生活中经常见到,如火车站门口的栏杆、一些景点的门票只出售一定的数量 等等。在我们的开发中也用到了这种思想。 为什么要限流 🏫在保证可用的情况下尽可能多增加进入的人数,其余的人在排队等待,或者返回友好提示,保…

[附源码]JAVA毕业设计楼宇管理系统(系统+LW)

[附源码]JAVA毕业设计楼宇管理系统(系统LW) 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术:…

Python笔记 · 魔法函数 / Magic Methods / Dunder Methods

在上篇文章《Python笔记 私有方法、私有属性 & 单下划线、双下划线》我们介绍过以前置双下划线开始,后置双下划线结束的方法名:__*__,这是系统定义的一批特殊函数,通常被称之为:魔法函数(Magic Method…

5-2:Kafka入门

Kafka简介 原本的kafka只是一个处理消息队列的技术,但随着功能不断增加,不断综合,成为了一个分布式的流媒体平台 Kafka是一个分布式的流媒体平台。 应用:消息系统、日志收集、用户行为追踪、流式处理。 Kafka特点 高吞吐量、消息…

电源模块测试解决方案-电源测试系统方案-电源模块测试报告NSAT-8000

*测试仪器:可编程直流电源、可编程直流电子负载、数字示波器、功率计 *测试产品:电源模块。纳米软件电源ATE自动测试系统适用于大功率工业电源、AC/DC类DC电源供应器、适配器、充电器、LED电源等开关电源之综合性能测试。 *被测项目:有效值电…

目标检测之多尺度融合

多尺度 卷积神经网络通过逐层抽象的方式来提取目标的特征,其中一个重要的概念就是感受野。 高层网络的感受野比较大,语义信息表征能力强,但是特征图的分辨率低,几何信息的表征能力弱(空间几何特征细节缺乏&#xff09…

深入React源码揭开渲染更新流程的面纱

转前端一年半了,平时接触最多的框架就是React。在熟悉了其用法之后,避免不了想深入了解其实现原理,网上相关源码分析的文章挺多的,但是总感觉不如自己阅读理解来得深刻。于是话了几个周末去了解了一下常用的流程。也是通过这篇文章…

深入了解Spring循环依赖本质

说明: 1. 本文基于Spring-Framework 5.1.x版本讲解 2. 建议读者对创建对象部分源码有一定了解 概述 这篇讲讲Spring循环依赖的问题,网上讲循环依赖的帖子太多太多了,相信很多人也多多少少了解一点,那我还是把这个问题自己梳理一遍&#xff…

kubernetes,service详解下

kubernetes,service详解下 HeadLiness类型的Service 在某些场景中,开发人员可能不想使用Service提供的负载均衡功能,而希望自己来控制负载均衡策略,针对这种情况,kubernetes提供了HeadLiness Service,这类…