转载此处,请点击

基址寻址

定义:指令中给出一个寄存器号和一个形式地址,寄存器的内容为基准地址,形式地址是作为偏移量。
基准地址加上偏移量作为操作数的有效地址。

变址寻址

定义:指令给出一个寄存器号和形式地址,寄存器的内容作为偏移量,形式地址作为基准地址。基准地址加上偏移量得到有效地址。

思考

从两者定义来看,感觉没有多大区别。只是寄存器中存放基准地址还是偏移地址。为什么不看成一种呢?我们来详细解释。

基址寻址

基址寻址中的基址寄存器内容通常由操作系统或管理程序确定,程序执行过程中值不可变。其偏移量可变。主要是面向系统的。
基址寻址典型应用是程序重定位。目标程序由操作系统调入内存,用户并不知道放在了内存哪里。用户编程使用的地址实际是逻辑地址,在将来运行时才转换成实际的物理地址。基址寻址方式下,程序重定位时由操作系统给用户分配一个基准地址(在基准寄存器中),在程序执行时就可以映射成物理地址了。
而且基准寻址能扩大寻址范围(基址寄存器位数大于形式地址位数)。举个例子:主存16M,基址寄存器24位(不是寄存器地址24位!)。指令中地址段使用16位,2位用来寻址寄存器(假设由4个寄存器,则需两位地址),剩余14位给出位移量,可访问16KB连续存储空间。每次修改基址寄存器的值,那么基址加变址每次可以寻找连续16KB的空间。显著提高寻址性能

变址寻址

变址寻址是面向用户的,变址寄存器的内容可以由用户进行改变,形式地址不变(直接写在了指令中)。常用于数组。可设定形式地址位数组首址,每次通过改变变址寄存器的值实现数组的操作。

基址寻址和变址寻址区别相关推荐

  1. 详细解释基址寻址和变址寻址区别

    基址寻址 定义:指令中给出一个寄存器号和一个形式地址,寄存器的内容为基准地址,形式地址是作为偏移量. 基准地址加上偏移量作为操作数的有效地址. 变址寻址 定义:指令给出一个寄存器号和形式地址,寄存器的 ...

  2. 基址寻址与变址寻址的区别

    说到区别一般来讲都会有共同点.基址寻址与变址寻址都类似于相对寻址,它们的有效地址EA = 基址+指令字中形式地址A. 1.基址寻址 计算公式:EA = (BR) + A 有效地址是将CPU中基址寄存器 ...

  3. 基址寻址和变址寻址区别(白话版)

      在寻址方式里面,基址寻址和变址寻址是比较常用的两种寻址方式.但因为两种太像了,总是搞不清楚.上网查到的描述太过专业看起来特别吃力.写这篇,希望能用一种通俗易懂的方式对二者做个区分.   为什么总容 ...

  4. 基址寻址与变址寻址的个人理解

    两者都有一个写明在指令里的形式地址A(比如一个16位数),与一个指明寄存器编号的字段R(比如一个2位的编号来区分4个寄存器,这个寄存器可以是隐式的) 区别在于,如果寄存器存的是一个基地址,那就是基址寻 ...

  5. 基址寻址和变址寻址的不同

    基址寻址作用:1.可扩大寻址范围 2.有利于多道程序 3.基址寄存器内容由操作系统或管理程序确定 变址寻址的特点: 1.可扩大寻址范围 2.IX的内容由用户指定 3.便于处理数组问题

  6. ARM处理器9种基本寻址方式,和单片机微机原理寻址方式截然不同,(例如没有直接地址寻址,只能间接指针寻址或者寄存器变址寻址,立即数寻址,不是所有立即数都可直接寻址)不可套用理解。需独立学习

    基本寻址方式 寻址方式是根据指令中给出的地址码字段来实现寻找真实操作数地址的方式,ARM处理器有9 种基本寻址方式. 1.寄存器寻址 操作数的值在寄存器中,指令中的地址码字段给出的是寄存器编号,寄存器 ...

  7. 嵌入式:ARM间接寻址、变址寻址与多寄存器寻址

    文章目录 寄存器间接寻址 基址加偏址寻址(变址寻址) 偏移地址 传送数据类型 块拷贝寻址(多寄存器寻址) 块拷贝寻址示例 寄存器间接寻址 寄存器间接寻址就是以寄存器中的值作为操作数的地址,而操作数本身 ...

  8. Linux汇编----变址寻址与间接寻址

    经常会把AT&T汇编语法中的变址寻址(indexed memory mode)与寄存器间接寻址搞混. 1. 变址寻址模式 变址寻址特别适合于访问内存中的一系列连续数据,即数组.表达式格式为 b ...

  9. 指令系统寻址方式——指令寻址,数据寻址

    前言 寻址方式是指确定本条指令的数据地址以及下一条将要执行的指令地址的方法,它与硬件结构紧密相关,而且直接影响指令格式和指令功能. 一.寻址方式的分类 寻址方式分为:指令寻址和数据寻址两大类. 指令寻 ...

最新文章

  1. (4)关于Alpha通道问题
  2. C# 连接SQL数据库以及操作数据库
  3. 关于Eclipse安装Scala插件不显示
  4. C 运算符中不能重载的是哪些
  5. ajax传输json数据格式乱码_解决Ajax加载JSon数据中文乱码问题
  6. 《BI项目笔记》多维数据集中度量值设计时的聚合函数
  7. 【PostgreSQL-9.6.8】序列
  8. 项目SOW工作说明书模板
  9. UE4+LiveLinkFace面部动作捕捉
  10. 网络通讯协议——TCP/IP协议
  11. 熊猫烧香手工清除实验
  12. 【JavaSE】学了这么久Java,你真的会用代码块吗?
  13. Elasticsearch之静态模板
  14. 双阈值检测阈值选择_通过阈值进行计算机视觉高级车道检测
  15. 【苹果推??iMessage群发设置内容参数】什么是苹果推信?什么是苹果推?什么是日历推
  16. Android基础入门教程——1.1 背景相关与系统架构分析
  17. Software Version 1976
  18. [work] Jacobian矩阵和Hessian矩阵
  19. 继电器模块和L298N电机驱动模块的使用
  20. 淡雅小清新绿色系感恩节介绍PPT模板

热门文章

  1. fspecial 在MATLAB中的用法
  2. c#中如何进行com口操作?
  3. 如何在 Mac 上安装 Maven
  4. p2p传输实时视频流
  5. 在Ubuntu PHP中基于wxsqlite3扩展使用加密的Sqlite数据库
  6. Java—求绝对值(选择结构)
  7. 考试 --微信小程序学习用demo:考证通,在线题库类小程序
  8. 9,kubernetes-Helm及其他功能性组件
  9. IBUFDS、IBUFGDS和OBUFDS
  10. Java架构师成长之道之Java架构师技术栈