指令能够采用的寻址方式越多,指令获得的操作方式就越灵活,该指令的功能也就越强,请介绍常见的寻址方式。
指令能够采用的寻址方式越多,指令获得的操作方式就越灵活,该指令的功能也就越强,请介绍常见的寻址方式。
【正确答案】:立即寻址:操作数跟在操作码的后面,指令的地址字段直接给出了操作数。在取出该指令的同时,也就取出了可以立即使用的操作数,这样的数称为立即数。寄存器寻址:指令的地址码字段给出某一个通用寄存器的编号[地址],该寄存器中存放着操作数。直接寻址:指令的地址码字段直接给出的是操作数的有效地址EA。用这个有效地址访问一次存储器,便可从指定的存储单元中获得操作数。由于这样给出的操作数地址是不能修改的,与程序本身所在的位置无关,所以又叫做绝对寻址方式。寄存器间接寻址:指令中的地址码给出了某一通用寄存器的编号,以该寄存器中的内容为有效地址EA,用这个有效地址访问一次存储器,便可从指定的存储单元中获得操作数。存储器间接寻址:这是一种与寄存器间接寻址类似的间接寻址方式。变址寻址:就是把变址寄存器Rχ的内容[变址值]与指令中给出的形式地址D相加,形成操作数的有效地址EA,即EA-[Rr]+D。相对寻址:相对寻址方式是变址寻址的特例。它以程序计数器PC为变址器,与指令提供的地址相加,从而得到有效地址EA。有效地址与形式地址D和程序计数器PC器的关系为:EA一[PC]+D。基址寻址:当存储器容量较大、所需地址码的长度大于字长时,由指令地址码字段直接给出的地址就不能直接访问到存储器的所有单元。解决的方法通常是把整个存储空间分成若干个段,段的首地址存放在基址寄存器中,段内位移量由指令直接给出,存储器的实际地址就等于基址寄存器的内容[即段首地址]与段内位移量之和,这样通过修改基址寄存器的内容就可以访问到存储器的任一单元。
Top