首页 理论教育机器指令寻址方式:详解

机器指令寻址方式:详解

【摘要】:这个问题称为机器指令的寻址方式,本节我们详细地讨论机器指令的寻址方式问题。设X=011表示操作数为相对寻址方式。显然,变址寻址方式的地址变化范围更大。

3.1.2节讨论机器指令时指出,机器指令由操作符和操作数两部分组成,其中操作数的地址是用操作数部分的数值表示该操作数在内存中的地址方法来表示的。实际上,操作数的地址表示方法还可以有许多种。这个问题称为机器指令的寻址方式,本节我们详细地讨论机器指令的寻址方式问题。

机器指令的操作数一般由寻址方式和形式地址两部分组成,设寻址方式为3位,寻址方式用符号x表示;设形式地址有若干位,形式地址用符号d表示。这样,操作数地址的不同表示方法就可以编码为不同的寻址方式数值。为表示方便,我们用符号EA表示操作数的有效地址。机器指令中常见的寻址方式有如下几种。

(1)设X=001表示操作数为直接寻址方式。直接寻址就是形式地址d是操作数的有效地址,即

EA=d

3.1.2节讨论的操作数地址的表示方法就是直接寻址方式。

(2)设X=010表示操作数为间接寻址方式。间接寻址就是形式地址d是操作数的有效地址的地址,我们用括号表示一个内存地址中的数值,则间接寻址方式表示为

EA=(d)

由于此时形式地址d是操作数地址的地址,所以称为间接寻址方式。(www.chuimin.cn)

(3)设X=011表示操作数为相对寻址方式。相对寻址就是程序计数器(用符号PC表示)的数值加上形式地址d的数值为操作数的有效地址,即

EA=PC+d

由于此时有效地址EA实际上是相对于程序计数器PC的一个相对值(偏差为形式地址d),所以称为相对寻址方式。

(4)设X=100表示操作数为变址寻址方式。变址寻址就是变址寄存器(用符号Ⅸ表示)的数值加上形式地址d的数值为操作数的有效地址,即

EA=Ⅸ+d

变址寻址方式和相对寻址方式的区别是基础地址不同,相对寻址是在程序计数器PC基础上的变化,变址寻址是在变址寄存器Ⅸ基础上的变化。显然,变址寻址方式的地址变化范围更大。

(5)设X=101表示操作数为立即寻址方式。立即寻址就是形式地址d的数值即为操作数。由于立即寻址方式中形式地址d的数值即为操作数,所以立即寻址方式不用到内存中去读取数据,这既可简化程序编写,也可提高程序的运行速度。