当前位置: 主页 > 计算器资讯 >
2 Comments

计算运算之相对寻址法与变址寻址法

发布于:2019-03-21  |   作者:http://www.zxjsq.net  |   已聚集:人围观

计算运算之相对寻址法与变址寻址法

1.相对寻址法

当编制程序时数据放在什么地方不一定能事先确定,这时确定数据实际位置的合适方式是由数据与它所在数据区域开始单元的距离(相对位移量)及该区域的开始地址来确定。譬如,某数据的相对位移量是10(即第11个单元),而所在存区是从单元3000开始,则相应有效地址是3010。

采用相对寻址法时,不改变相对位移量却改变基地址值,则能对新的有效地址进行存取。这意味着,在不同时刻把某个程序连同其数据重定位到新的存储位置时,只需简单地在基地址寄存器中置以相应的基地址值,无需改变指令本身,该程序的指令都能正确地对相应存储器位置进行存取。这种无需修改程序本身而能将它重新定位在存储器中任意位置的程序称可重定位程序。因此可自动重定位是相对寻址法的重要用途。

2.变址寻址法

在相对寻址法中,基地址寄存器内的基地址值是不变的,通过不同指令中不同的相对位移量而获得不同的有效地址,因此,所能引用的不同单元数取决于最大相对位移量,也即指令中用来存放相对位移量的位数。今如果让相对位移量放在一个寄存器中,允许在形成一个有效地址后自动地改变这寄存器的内容。这样,当要遍历一个相继或等间隔存放的表时,只需每次把寄存器的内容递增1或递增间隔长就行。这种寻址法称变址寻址法,那个寄存器称变址寄存器,其内容称变址值。因此,有效地址一般如下计算:

有效地址=变址值+区首地址。

这里,区首地址是变址值为签时的有效地址。表面上,变址寻址法与相对寻址法很相似,实质上迥然不同。其区别在于:采用变址法只需改变变址寄存器的内容,重复使用同一条指令就可以对新的有效地址访问;然而对于相对寻址法,同一条指令中相对位移量固定不变,且基地址值也是相对地保持不变的,因此总是涉及唯一的有效地址,要对若于不同的有效地址存取,就得不单使用一条指令,而是使用若干条不同的指令,大家可自行进一步讨论两者的区别。


标签:                   喜欢:收藏