简述基址寻址方式和变址寻址方式的主要区别。
变址寻址就是把变址寄存器Rx的内容(变址值)与指令中给出的形式地址D相加,形成操作数的有效地址EA,即EA一(Rx)+D。当存储器容量较大、所需地址码的长度大于字长时,由指令地址码字段直接给出的地址就不能直接访问到存储器的所有单元。解决的方法通常是把整个存储空间分成若干个段,段的首地址存放于基址寄存器中,段内位移量由指令直接给出,存储器的实际地址就等于基址寄存器的内容(即段首地址)与段内位移量之和,这样通过修改基址寄存器的内容就可以访问存储器的任一单元。基址寻址与变址寻址在形式上和操作数地址的形成上都很相似,但它们的应用场合不同。基址寻址面向系统,主要用于逻辑地址到物理地址的变换,用以解决程序在存储器中的定位和扩大寻址空间等问题。在某些大型机中,基址寄存器只能由特权指令所使用,而不能被一般用户指令访问,因而确保了系统的安全性。而变址寻址是面向用户,解决程序循环控制问题,用于访问字符串、向量和数组等成批数据,支持向量线性表的操作,属于指令系统向用户提供的一种寻址技术。在小型、微型计算机中,往往两者实际上是合二为一的。