计算机指令系统中采用不同寻址方式的主要目的是 (1) 。在下列寻址方式中取得操作数速度最慢的是 (2) 。
(2)处填()。
A.相对寻址
B.基址寻址
C.寄存器间接寻址
D.存储器间接寻址
参考答案:D
解析:
中央处理器是不能直接访问外存的,所以A错误。多种寻址方式会使汇编指令变得复杂,译码难度增加,所以第(1)空的选项B、C错误。
常用的寻址方式有以下几种:
隐含寻址:在指令中并不直接给出操作数的地址,而是隐含着操作数的地址。例如,ADD B,表示另一个操作数的地址隐含为累加器AC。
立即寻址:操作数在指令中。例如,“ADD B,3”中的3为立即数。
直接寻址:操作数地址在指令中。
间接寻址:间接寻址是相对于直接寻址而言的,在间接寻址的情况下,指令地址字段中的形式地址D不是操作数的有效地址,而是操作数地址的地址。
寄存器寻址方式:操作数不放在内存中,而是放在CPU的通用寄存器中。
寄存器间接寻址方式:指令中的寄存器内容不是操作数,而是操作数的地址,该地址指明的操作数应在内存中。
相对寻址:以程序计数器PC的内容加上指令格式中的形式地址D来形成操作数的有效地址,即有效地址为E=(PC)±D。
基址寻址方式:以基址寄存器的内容加上指令格式中的形式地址来形成操作数的有效地址,即E=(R)变址±D。
变址寻址方式:以变址寄存器的内容与偏移量D相加来形成操作数的有效地址,即E=(R)基址±D。
复合寻址方式:多种寻址方式的组合,主要有相对间接寻址、间接相对寻址、变址间接寻址、间接变址寻址。
本题中,相对寻址、基址寻址和寄存器间接寻址都是在寄存器中寻找目标地址,而存储器间接寻址则需要多次访问速度较慢的内存,才能找到目标地址。