首页 > 编程知识 正文

如何实现多种寻址方式,判断寻址方式的题目

时间:2023-05-06 14:25:27 阅读:177112 作者:284

寻址方式寻址方式分为指令寻址方式和数据寻址方式。

目录

地址方式

一.命令地址

二.数据地址

1 .立即寻址

2 .直接寻址

3 .隐式寻址

4 .间接寻址

5 .寄存器(直接)寻址

6 .寄存器间接寻址

7 .寻址

8 .索引寻址

9、相对地址

10、堆栈地址

另一方面,命令寻址、命令寻址依次分为寻址和跳跃寻址。

顺序地址是通过对程序计数器PC加1而自动形成下一个命令的地址。

跳转寻址通过跳转类指令实现。

二、数据地址方式很多,所以必须在指令字中设置表示是哪个地址方式的字段。 另外,命令的地址字段一般不表示操作数的有效地址,将其称为形式地址,记为a,有效地址记为EA,由地址方式和形式地址共同决定。

命令的格式通常如下。

为了便于研究,假设机器字长、记忆字长、指令字长都相同。

1 .即时寻址的特点是操作数位于指令内。 因此,也称为即时数,以补数的形式存储,在执行阶段不访问存储器。

但是,命令的位数有限,这也限制了即时数的范围。

2 .直接地址直接地址指令字中的形式地址a是操作数的有效地址EA,即EA=A;

他的优点是可以从指令中直接获得操作数的有效地址,并且只能访问一次存储器。 缺点是a的位数限制了操作数的寻址范围,并且必须修改a的值才能修改a的地址。

3 .隐式寻址是不明显的。 隐式寻址是指未明确提供操作数的地址,操作数的地址隐式提供给操作数或某个寄存器。 例如,地址格式的加法指令只提供一个操作数的地址,而另一个操作数的地址隐式提供给ACC累加器。 这样,累加器的地址就是操作数的地址。

这种隐式寻址方式,有利于指令字少一个地址,缩短指令字的长度。

4.间接寻址

间接寻址的操作数的有效地址是由指令字中的形式地址给出的,也就是指令字中给出的是真实地址的地址,即EA=(A);

间接寻址的优点有,扩大了操作数的寻址范围,便于编制程序。

例如:

图中表示在调用子程序前先将返回地址保存在子程序最末端指令形式地址A内便可以准确的返回断点处。

缺点就是,在执行阶段要访问内存两次或多次执行时间过长。

5.寄存器(直接)寻址

寄存器直接寻址指令字中的内容是寄存器的编号,操作数在指定编号的寄存器里。

由于寄存器直接寻址不访问内存,执行的速度加快,而且,只需指定寄存器的编号就可以了(计算机内寄存器数量有限),所需指令字较短,节省了储存空间。因此寄存器寻址在计算机中得到广泛应用。

6.寄存器间接寻址

寄存器间接寻址也是指定寄存器编号,但是寄存器内存放的并不是操作数,而是操作数的有效地址。


有效地址在寄存器中,操作数在存储器中,执行阶段访存,但访存比间接寻址少一次,便于编制循环程序

 

7.基址寻址

基址寻址需要有基址寄存器BR,操作数的有效地址等于形式地址加上基址寄存器中的内容(基地址)。

基址寄存器分为隐式和显式。隐式是指计算机内设有一个专门的,用户不必明显指出该基址寄存器,只需由寻址特征位反应基址寻址就可以。而显式是在一组通用寄存器内由用户指定一个基址寄存器存放基地址。

基址寻址中的BR由系统或者管理程序根据主存的使用情况分配初始值,便可将用户程序的逻辑地址转化为主存的物理地址(实际地址)。

8.变址寻址

变址寻址与基址寻址极为相似,有效地址等于指令字中的形式地址与变址寄存器IX的内容相加 。

基址寻址主要用于为程序或数据分配内存空间,故基址寄存器的内容通常由操作系统或管理程序确定,在程序的执行过程中其值是不可变的,而指令字中的形式地址A是可变的,在变址寻址中,变址寄存器的内容是用户设定的,在程序执行过程中其值可变,而指令字中的A是不可变的。

变址寻址主要用于处理数组问题,在数组处理过程中,可设定A为数组的首地址,不断改变变址寄存器的IX内的内容,便可以得到数组中任一数据中的地址,特别适合编制循环程序。

9、相对寻址

相对寻址的有效地址是将程序计数器PC内容与指令字中形式地址A相加而成。

如图可见,操作数的位置与当前指令的位置有一段距离A。

相对寻址最大的特点就是转移地址不固定,他随PC值的变化而变化,因此,无论主程序在哪段区域,都可正常运行,对编写浮动程序特别有利。

10、堆栈寻址

堆栈要求计算机中设有堆栈,可以用寄存器组,也可以主存的一部分空间来做堆栈。

栈只能从栈顶进行操作,堆栈也只能从一个口进行读写,操作数只能从栈顶地址指示的主存单元进行存或取。

SP始终指示着栈顶,所以不论是出栈还是进栈SP都需要发生变化。若栈底元素大于栈顶元素,则每次进栈SP=(SP)-△;每次出栈 SP=(SP)+△;

△的值与主存编址方式有关。若以字编址,△区1;以字节编址,则根据存储字长是几个字节才能确定△。

 

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。