指令格式与寻址方式

news2024/10/5 13:20:44

指令与指令系统

指令:

  • 控制计算机完成某种操作的命令。

指令系统:

  • 处理器所能识别的所有指令的集合。

指令的兼容性:

  • 同一系列机的指令都是兼容的。

汇编语言:

  • 指令助记符。

在这里插入图片描述

在这里插入图片描述


指令格式

在这里插入图片描述

例如:
在这里插入图片描述

在这里插入图片描述

寻址方式

操作数可能的来源或存放处:

  • 由指令直接给出
  • 存放于寄存器中的寻址方式
  • 内存单元 或 I/O 端口

寻找操作数所在地址的方法可以三大类:

  • 立即寻址
  • 寄存器寻址
  • 存放于存储器或 I/O端口中的寻址方式

1.立即数寻址

  • 立即数本身是参加操作的数据,可以是8位或16位,只能作为源操作数。

在这里插入图片描述


2.寄存器寻址

  • 参加运算的数存放在CPU的通用寄存器中,可以是8位或16位。

在这里插入图片描述

在这里插入图片描述


3.直接寻址(存储器操作数寻址)

  • 参加运算的数存放在存储器的某一个或某两个单元中,操作数是8位或16位数据。
  • 表现形式:[ ],[ ] 中的内容是操作数在内存中的偏移地址。
  • 存储器操作数的字长本身不确定,其字长取决于指令中另一个寄存器操作数,或通过其他方式指定字长。

指令的操作数出现 [ ],表示要寻址的数在内存中。
内存地址是由段地址和偏移地址组成的,在直接寻址中,默认的操作数所在的段是数据段,即操作数的物理地址是由数据段的段地址和指令中给出的偏移地址组成的。

例:MOV AX, [1200H],AX位宽是16位,要读取1200H和1201H两个字节的内存单元。
在这里插入图片描述

也可以明确指出操作数所在的段:例:MOV AX, ES:[1200H]

4.寄存器间接寻址(寄存器操作数寻址)

  • 操作数的偏移地址存放在寄存器内,以寄存器的形式出现在指令中。
  • 存放偏移量的间址寄存器只有4个:BX,BP,SI,DI。

注意:

  • 当使用 BX,SI,DI时,操作数默认在数据段中。
  • 当使用 BP 时,操作数默认在堆栈段中。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5.寄存器相对寻址(存储器操作数寻址)

  • 操作数的偏移地址为寄存器的内容加上一个偏移量。

在这里插入图片描述

相对寻址主要用于一维数组的操作:
常将位移量作为“表头”地址,间址寄存器中的值作为表内相对寻址。


6.基址寻址

可以用作寄存器间接寻址的 4 个寄存器中 BX,BP,SI,DI 中,BX 基址寄存器(Base Register)、BP 基数指针(Base Pointer),SI 源变址指针(Source Index)、DI 目的变址指针(Destination Index)称为变址寄存器。

  • 操作数的偏移地址由基址寄存器 BX 或 BP 加上一个偏移量共同给出。

在这里插入图片描述

注意, 以下几种写法是完全等同的
MOV AX, 10H[BX]
MOV AX, [BX]10H
MOV AX, [BX + 10H]
MOV AX, [BX] + 10H


7.变址寻址

  • 操作数的偏移地址由变址寄存器 SI 或 DI 加上一个偏移量共同给出。

例:MOV AX, [SI+03H]
操作数默认在数据段中,可以段超越:例:MOV AX, ES:[SI+03H]


8.基址+变址寻址

  • 操作数在内存中,其偏移地址是由基址寄存器 (BX 或 BP) 加上变址寄存器 (SI 或 DI) 再加上一个位移量共同组成的。

在这里插入图片描述

例如:
在这里插入图片描述


寄存器间接、寄存器相对、基址变址、相对基址变址四种寻址方式的比较:

寻址方式指令操作数形式
寄存器间接只有一个寄存器(BX/BP/SI/DI之一)
寄存器相对一个寄存器加上位移量
基址—变址两个不同类别的寄存器
相对基址-变址两个不同类别的寄存器加上位移量

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

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

相关文章

SpringCloud(11)— 微服务保护(Sentinel)

SpringCloud(11)— 微服务保护(Sentinel) 一 认识Sentinel 1.雪崩问题及其解决方案 微服务调用链路中的某个服务出现问题,引起整个链路中所有的微服务都不可用,这就是我们常说的雪崩问题。 如何解决雪崩问题? 常见…

Qt之实现自定义控件的两种方式——插件法

文章目录前言一、需求二、实现1、新建项目2、自定义控件类3、编译插件4、拖拽使用(1)在designer.exe中直接拖拽(2)在Qt Creator的设计师中直接拖拽5、在项目中正常使用前言 可以通过Qt设计师拖拽原生控件进行界面开发,…

【Linux】操作系统及进程概念

大家好我是沐曦希💕 文章目录一、冯诺依曼体系结构二、操作系统OS三、系统调用和库函数概念四、进程1.概念2.描述进程-PCB3.查看进程4.查看系统调用5.查看进程调用6. 通过系统调用创建进程-fork初识一、冯诺依曼体系结构 我们常见的计算机,如笔记本。我…

外贸业务员该如何拓客?

最近几个月,做外贸的朋友都来吐槽,外贸干不下去了。一个B2B店铺和Google推广要花很多钱,竞争太激烈了。投入和产出极不成比例,就问我能不能解决。我也是行业出身。我问他们有没有听说过以下五种实惠高效的营销方式。然后我就想告诉…

JWT的组成以及工作原理

什么是 JWT? JWT (JSON Web Token) 是目前最流行的跨域认证解决方案,是一种基于 Token 的认证授权机制。 从 JWT 的全称可以看出,JWT 本身也是 Token,一种规范化之后的 JSON 结构的 Token。 JWT 自身包含了身份验证…

SpringBoot项目中基本常用依赖分享(个人向)

目录 (1)spring-boot-starter-web (2)mysql-connector-java (3)mybatis-spring-boot-starter (4)mapper-spring-boot-starter (5)mybatis-plus-boot-st…

数组string

数组 目录:数组一维数组一维数组的定义和初始化一维数组数据元素的访问练习1 找小猪练习2 算平均值比较两个数组是否相等一维数组冒泡法排序一维数组操作一维数组查找元素**普通查找**:二分查找:二分查找 最小下标最大下标查找元素个数一维数…

如何优化 MySQL

为什么要对 SQL 进行优化 有时候数据库会出现性能低、执行时间太长、等待时间太长、SQL 语句欠佳(连接查询)、索引失效等问题,这些问题会严重拖慢一个系统的速度,因此需要对 SQL 进行优化。 SQL 的编写过程和解析过程并非是一致…

Qt样式表语法

样式规则每个样式规则由选择器和声明组成。选择器:指定受该规则影响的部件。声明:指定这个部件上要设置的熟悉如:QPushButton{color:red} QPushButton是选择器;{color:red}是声明;color是属性;red是值。选择…

使用prometheus监控ES

下载elasticsearch_exporter wget 下载二进制包并解压、运行: wget https://github.com/prometheus-community/elasticsearch_exporter/releases/download/v1.3.0/elasticsearch_exporter-1.3.0.linux-amd64.tar.gz tar -xvf elasticsearch_exporter-1.3.0.linux-a…

ARM6818开发板画任意矩形,圆形,三角形,五角星,6818开发板画太极,画五星红旗(含码源与思路)

本文利用6818开发板完成LCD屏上绘制任意的矩形,圆形,三角形或五角星形图案,还有绘制太极,五星红旗的方案。 目录 映射 绘制矩形 代码思路 代码实现 实践出真知 绘制圆形 代码思路 代码实现 绘制三角形 代码思路 代码实现…

【回答问题】ChatGPT上线了!用给写出可执行的实体链接模型

如何实现一个实体链接模型/代码 在实现实体链接模型之前,您需要确定所要链接的实体类型(例如人名、地名、组织机构等)。然后,您需要准备一份包含大量实体及其相应识别码的实体百科数据集。接着,您可以使用深度学习模型…

乾元通多卡聚合通信系统在应急通信领域的解决方案

后疫情时代,日益增多的大型集会类事件给现有通信系统带来极大的压力。目前,我国已经认识到应急通信系统的重要性,因此我国各个部门已经配置了不少应急通信系统和设备,并且积累了相当的使用经验。 在不同情况下,对应急…

基础数据结构——数组

目录 一、前言 二、一维数组 1、定义和初始化 2、一维变长数组 3、一维正向遍历 4、一维反向遍历 5、一维数组区间操作、一维数组从 a[1] 开始,读入一维数组 6、一维数组例题1 7、一维数组例题2 三、二维数组 1、二维数组初始化 2、三维数组初始化 3…

HTTP_day02

掘金地址 结合 小林 coding 当键入网址后,到网页显示,其间发生了什么 DNS 服务器 专门保存了 Web 服务器域名与 IP 的对应关系 域名用“.”分隔成多个单词,级别从左到右逐级升高,最右边的被称为“顶级域名” DNS 服务器是一个分…

聊聊Spring中最常用的11个扩展点

前言 我们一说到spring,可能第一个想到的是 IOC(控制反转) 和 AOP(面向切面编程)。 没错,它们是spring的基石,得益于它们的优秀设计,使得spring能够从众多优秀框架中脱颖而出。 除…

第三十六讲:神州无线AP胖AP模式配置与管理

胖AP(Fat AP)配置一个开放式WLAN非常方便,需要完成的操作包括有线和无线两部分的配置。有线部分即ethernet接口的配置,保证AP能够接入Internet,无线部分的配置包括关联WLAN与VLAN,广播SSID,启用VAP,若无其他DHCP服务器的话&#x…

业务状态实时监控预警,「告警配置」来帮您

腾讯云数据连接器iPaaS团队服务了各行各业的数百家客户后,发现许多企业有大量的自建应用/SaaS应用,却缺乏一套可靠灵活的告警系统。当相关的IT系统/资源调配出现故障后,往往是影响到业务系统被用户投诉后,技术人员才发现故障并展开…

【超详细】LightGBM介绍与应用

目录 1. LightGBM简介 2. LightGBM详细介绍 2.1 单边梯度抽样算法 2.2 直方图算法 2.3 互斥特征捆绑算法 2.4 基于最大深度的 Leaf-wise 的垂直生长算法(带深度限制的 Leaf-wise 算法) 2.5 类别特征最优分割 (直接支持类别特征&#xf…

【自学Python】Windows安装Python

Windows安装Python Python下载 Python下载地址 https://www.python.org/Python下载 打开上面的链接,打开 Python 的下载页面,如下图所示: 我们把鼠标放到 Downloads 上,然后点击 Windows,此时界面如下图所示&#…