数据寻址方式

数据寻址有多种,需要在指令中明确指出采用哪一种寻址方式,可以专门设置一个寻址方式特征字段,或纳入地址码中。


形式地址 AAA: 指令字中的地址
有效地址 EAEAEA: 操作数的真实地址

有效地址由形式地址根据寻址方式来确定。

在大多数机器中,指令字长 = 存储字长 = 机器字长。


一、立即寻址

又称为立即数寻址,即指令中的形式地址部分不是一个操作数的地址,而是操作数本身,因此该指令的执行过程不需要寻址。

如指令 "MOVMOVMOV AX,20HAX, 20HAX,20H",将 20H20H20H 放入 AXAXAX 寄存器中,其中立即数可正可负,负数需要用补码来表示。

特点

  • 立即寻址的指令执行阶段不访存
  • A 的位数限制了立即数的范围

二、直接寻址

指令中的形式地址部分即为有效地址,即 EA=AEA = AEA=A。

例如指令 "MOVMOVMOV AX,[20H]AX, [20H]AX,[20H]",即是将 [20H] 地址中的数据传输到 AX 寄存器中。

特点

  • 执行阶段访问一次存储器
  • A 的位数限制了该指令操作数的寻址范围
  • 操作数的地址不易修改

三、隐含寻址

指令中不直接给出操作数地址,操作数地址通常隐含在操作码或某个(约定)寄存器中。

如 ADDADDADD 操作,即是默认另一个操作数在 ACCACCACC 中。将 AAA 地址中的数取出与 ACCACCACC 中的数进行加法运算。


四、间接寻址

指令中的形式地址不是操作数的地址,而是 “操作数地址的地址”。

其中在多次间址时,需要查看数据单元格中的第一位数据,如果为 111 则表示继续间址,如果为 000 则为真正地址。

特点

  1. 可以扩大寻址范围
  2. 便于编制转移程序

JMPJMPJMP @A@A@A 指令,表示跳转到 AAA 单元中所指示的地址,为间接寻址。正因为这条间址指令,我们转入子程序时只需修改 A 单元中数据,即可实现从子程序再跳转回主程序的功能。


五、寄存器寻址

指令中的形式地址直接指出寄存器的编号,操作数存储于寄存器中,即 EA=RiEA=R_iEA=Ri​,有效地址即为寄存器编号。

如 "MOVMOVMOV AX,BXAX, BXAX,BX" 指令,即是将 BXBXBX 寄存器中的数据送到 AXAXAX 中。

特点

  • 执行阶段不访存,只访问寄存器,执行速度快
  • 寄存器个数有限,可缩短指令字长

六、寄存器间接寻址

指令中的形式地址为寄存器的编号,寄存器的内容是操作数的有效地址。

EA=(Ri)EA = (R_i)EA=(Ri​),有效地址在寄存器中。

如指令 "MOVMOVMOV AX,[BX]AX, [BX]AX,[BX]",就是根据 BXBXBX 寄存器中的地址,去主存中访问对应数据,并将数据存入 AXAXAX 寄存器中。

特点

有效地址在寄存器中,操作数在存储器中,执行阶段访存便于编制循环程序。

  • 可以访存一次,就将寄存器数值加1,实现类似于数组的访问。

七、基址寻址

指令中的形式地址与基址寄存器内容之和为有效地址。

  1. 采用专用寄存器作为基址寄存器(隐式)
  2. 采用通用寄存器作为基址寄存器(显式)

专用寄存器基地寻址

EA=(BR)+AEA=(BR)+AEA=(BR)+A,其中 BRBRBR 为基址寄存器

通用寄存器基址寻址

需要给出寄存器编号作为基址寄存器。

  • 可指定由哪个通用寄存器作为基址寄存器。
  • 在程序的执行过程中 R0R_0R0​ 内容不变,形式地址 AAA 可变。

特点

  • 可扩大寻址范围
  • 有利于多道程序
    • 将程序开头地址定位于某个寄存器中,即可实现更换通用寄存器,即实现程序切换。
  • 基址寄存器内容由操作系统或管理程序确定

八、变址寻址

指令中的形式地址与变址寄存器内容之和为有效地址。

EA=(IX)+AEA = (IX) + AEA=(IX)+A,与基地寻址非常相似。唯一的不同点在于基址寄存器中的值由操作系统或管理程序决定,而 IX 的内容由用户指定。

特点

  • 可以扩大寻址范围
  • 由于 IXIXIX 的内容由用户指定,因此在程序执行过程中,IXIXIX 内容可变,可以用于设计处理一些数组问题。

九、相对寻址

有效地址为程序计数器 PCPCPC 的值与形式地址之和。

EA=(PC)+AEA = (PC) + AEA=(PC)+A,AAA 的位数决定操作数的寻址范围,可编写浮动程序(程序放哪都能执行)。


十、堆栈寻址

堆栈有两个操作,分别是 PUSHPUSHPUSH(压栈) 与 POPPOPPOP(弹栈)。进栈与出栈的操作分别由 SPSPSP 指针的加减完成。

参考资料: MOOC

计算机中十类指令寻址方式总结相关推荐

  1. 计算机中十二种常用密码的破解方法(转)

    计算机中十二种常用密码的破解方法(转)[@more@] 在日常操作中,我们经常要输入各种各样的密码,例如开机时要输入密码,QQ时也要先输入密码,假如你忘记了这些密码,就有可能用不了机器.打不开文件.不 ...

  2. 计算机中十六乘十六进制怎么算,16进制的乘法怎么算

    满意答案 momoko625 2013.04.23 采纳率:59%    等级:12 已帮助:14443人 原码乘法计算时只计算原码绝对值部分,结果的符号是根据符号位通过异或来求得. http://2 ...

  3. 福建省计算机中职类高考400分多少名,重要参考!福建高职分类各院校近两年招生计划及分数线汇总来了,快收藏...

    昨天,福建省教育考试院公布了2021年高职分类的切线, 分数线公布后,有什么信息是我们需要了解的?对比去年又有什么新变化?一起来了解一下! 一.近两年分数线对比 1.专科分数线保持,本科分数线上涨 对 ...

  4. 计算机中cmd的指令如何停下,怎么样用CMD命令实现电脑倒计时和快捷键关机操作...

    在日常使用电脑的过程中,有时候需要使用到倒计时和快捷键关机的CMD命令操作,对此操作很多用户没有使用过,所以也就不会使用.但是鉴于这个功能的实用性,今天本文就给大家详细介绍下如何用CMD命令实现倒计时 ...

  5. or1200处理器的异常处理类指令介绍

    下面内容摘自<步步惊芯--软核处理器内部设计分析>一书 我们在计算机体系结构的学习中知道:中断实质上包含由外部事件引起的硬中断(又称外中断)和由内部预先安排的特定指令或内部异常引起的软中断 ...

  6. 计算机cache高速缓存的原理,在计算机中,高速缓存(Cache)的作用是____。

    答案 查看答案 解析: [解析题]计算机病毒的传播途径可以是( ? ? ? ? ). [解析题]把自己的构想和任务方案存入计算机文件,或者在床上等可看得见的地方挂着,是督促自己采取积极行动的有效方法之 ...

  7. 计算机中cpu是不是内存,电脑卡是cpu还是内存

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 电脑卡和CPU.内存都有关系,可能是CPU性能过低,需要更换性能更好的CPU.也可能是内存太小,需要升级内存. 中央处理器(CPU ...

  8. 计算机中最基础 最重要的部件是,电脑最重要的部件是什么

    电脑最重要的部件是CPU:CPU作为计算机系统的运算和控制核心,是信息处理.程序运行的最终执行单元:CPU是电子计算机的主要设备之一,电脑中的核心配件,其功能主要是解释计算机指令以及处理计算机软件中的 ...

  9. 计算机中的流水线技术到底是个啥?

    写在前面 流水线技术是计算机中的一种相当重要的技术.简单的说,流水线技术的出现使得计算机能够支持并行计算,能够并行执行任务.尽管流水线技术非常重要,但是很多小伙伴对流水线技术还是一知半解,甚至很多小伙 ...

  10. 计算机组成原理指令寻址方式,计算机组成原理第四章第4讲指令和数据的寻址方式.ppt...

    <计算机组成原理第四章第4讲指令和数据的寻址方式.ppt>由会员分享,可在线阅读,更多相关<计算机组成原理第四章第4讲指令和数据的寻址方式.ppt(51页珍藏版)>请在装配图网 ...

最新文章

  1. 调用script方法_自己撸一个代码生成器输入参数和方法
  2. 每日一皮:当两个程序员结婚后...
  3. python 做个创越火线挂_一日一技:用Python做个能挂墙上的大钟表
  4. 从难以普及的数据增强技术,看AI的性价比时代
  5. 亚马逊抢甲骨文的 Java 饭碗,推出 Corretto
  6. python中的字典和集合_Python 字典和集合
  7. Java面试详解(2020版):500+ 面试题和核心知识点详解
  8. C语言——迭代法求a的平方根——更新01
  9. ES6新语法--箭头函数
  10. echarts固定柱子宽度(barWidth)
  11. POI动态下载Excel模板案例
  12. 计算机基础考试题库(含答案)
  13. ResourceBundle使用详解
  14. python入门汇总
  15. 不同网段怎么ping通
  16. html5 扩展 cs6,Dreamweaver CS6提高了HTML5工具的效率
  17. python只保留大写字母_python 将文件中除保留字外的小写字母换成大写字母(转换后可运行)...
  18. PredRNN++:网络结构和代码解读
  19. 基于JS实现购物车图片局部放大预览效果
  20. 苹果笔记本学php,Mac_Mac怎么连接校园网?苹果电脑系统设置可实现连接校园网方法步骤介绍,  在家使用Mac系统的电脑, - phpStudy...

热门文章

  1. SOA webservice
  2. 升级:myeclipse 2015 ci 16发布
  3. 程序员的寂寞,你们不懂
  4. 关于nagios监控系统添加主机和服务脚本
  5. Sun发布MySQL 5.4 响应速度提升90% ?
  6. SpringBoot 房屋租赁系统3.0 manland.liuyanzhao.com
  7. Mybatis mapper代理开发方法实现增删改查
  8. wordpress如何去掉顶部工具条
  9. ThinkPHP实现ajax无刷新分页
  10. 登录,注册,个人信息,退出的隐藏和出现