计算机中十类指令寻址方式总结

数据寻址方式

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

在这里插入图片描述
形式地址 AA: 指令字中的地址
有效地址 EAEA: 操作数的真实地址

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

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


一、立即寻址

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

在这里插入图片描述

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

特点

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

二、直接寻址

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

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

在这里插入图片描述

特点

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

三、隐含寻址

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

ADDADD 操作,即是默认另一个操作数在 ACCACC 中。将 AA 地址中的数取出与 ACCACC 中的数进行加法运算。

在这里插入图片描述


四、间接寻址

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

在这里插入图片描述

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

特点

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

在这里插入图片描述

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


五、寄存器寻址

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

如 "MOVMOV AX,BXAX, BX" 指令,即是将 BXBX 寄存器中的数据送到 AXAX 中。

在这里插入图片描述

特点

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

六、寄存器间接寻址

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

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

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

在这里插入图片描述

特点

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

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

七、基址寻址

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

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

专用寄存器基地寻址

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

在这里插入图片描述

通用寄存器基址寻址

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

在这里插入图片描述

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

特点

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

八、变址寻址

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

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

在这里插入图片描述

特点

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

九、相对寻址

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

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

在这里插入图片描述


十、堆栈寻址

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

在这里插入图片描述

参考资料: MOOC
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章