博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
4-4-2偏移寻址
阅读量:3960 次
发布时间:2019-05-24

本文共 996 字,大约阅读时间需要 3 分钟。

学习目标:

理解概念


学习内容:

概念:

1、基址寻址:以程序的起始存放地址作为“起点”
2、变址寻址:程序员自己决定从哪里作为“起点”
3、相当寻址:以程序计数器PC所指地址作为“起点”


0.简单理解

在这里插入图片描述

1.基址寻址(多道程序)

     将CPU中基址寄存器(BR)(OS课中的“重定位寄存器”就是“基址寄存器”)的内容加上指令格式中的形式地址A,而形成操作数的有效地址,即EA=(BR)+A。

在这里插入图片描述

在这里插入图片描述
:基址寄存器是面向操作系统的,其内容由操作系统或管理程序确定。当采用通用寄存器作为基址寄存器时,可由用户决定哪个寄存器作为基址寄存器,但其内容仍由操作系统确定
优点:可扩大寻址范围(基址寄存器的位数大于形式地址A的位数)﹔用户不必考虑自己的程序存于主存的哪一空间区域,故有利于多道程序设计,以及可用于编制浮动程厅(整个程序在内存里边的浮动)。BNNB

2.变址寻址(循环程序,数组问题)

     变址寻址:有效地址EA等于指令字中的形式地址A与变址寄存器IX的内容相加之和,即EA=(IX)+A,其中IX可为变址寄存器(专用),也可用通用寄存器作为变址寄存器。

在这里插入图片描述
优点:在数组处理过程中,可设定A为数组的首地址,不断改变变址寄存器x的内容,便可很容易形成数组中任一数据的地址,特别适合编制循环程序

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

在这里插入图片描述

变址寻址:变址寄存器是面向用户的,在程序执行过程中,变址寄存器的内容可由用户改变(IX作为偏移量),形式地址A不变(作为基地址)。
基址寻址基址寻址中,BR保持不变作为基地址,形式地址A作为偏移量
上面这个区别很好理解,变址寄存器(IX),所以IX的内容可由用户改变,基址寄存器(BR),所以BR里面存的地址保存不变。看名字即可看出寄存器作用。

4.相对寻址(转移指令,多道程序)

     把程序计数器PC的内容加上指令格式中的形式地址A而形成操作数的有效地址,即EA=(PC)+A,其中A是相对于PC所指地址的位移量,可正可负,补码表示。

     相对寻址中,有效地址EA=(PC)+A(A为形式地址),执行本条指令时,PC已完成加Ⅰ操作,PC中保存的是下一条指令的地址,因此以下一条指令的地址为基准位置的偏移量。

在这里插入图片描述

优点:操作数的也不是固定的,它随着PC值的变化而变化,并且与指令地址之间总是相差一个固定值因此 便于程序浮动(一段代码在程序内部的浮动)。相对寻址广泛应用于转移指令。

5.PSW

在这里插入图片描述

转载地址:http://wzmzi.baihongyu.com/

你可能感兴趣的文章
活动图(Activity Diagram)—UML图(四)
查看>>
状态图(Statechart Diagram)—UML图(五)
查看>>
时序图(Sequence Diagram)—UML图(六)
查看>>
构件图(Component Diagram)—UML图(八)
查看>>
部署图(Deployment Diagram)—UML图(九)
查看>>
协作图(Collaboration Diagram)—UML图(七)
查看>>
什么是RUP
查看>>
什么是UML(UML总结)
查看>>
UML基础与应用系列文章汇总
查看>>
C#方法重载(overload)方法重写(override)隐藏(new)
查看>>
javascript实现滚动图片
查看>>
css+div练手-工作室
查看>>
CSS+DIV布局之道
查看>>
CSS+DIV练手-公司
查看>>
CSS+DIV练手—鲜花展
查看>>
深入浅出JavaScript(1)—ECMAScript
查看>>
深入浅出JavaScript(2)—ECMAScript
查看>>
Asp.Net+Jquery.Ajax详解1-开篇
查看>>
我的软件工程之路(四)—半年总结
查看>>
Asp.Net+Jquery.Ajax详解5-$.getScript
查看>>