设某计算机有变址寻址、间接寻址和相对寻址等寻址方式,一个指令字长等于一个存储字。设当前指令的地址码部分为001AH,正在执行的指令所在地址为1F05H,变址寄存器中的内容为23AOH。已知存储器的部分地址及相应内容如下表所示。 (1)当执行取数指令时,如

admin2017-01-07  48

问题 设某计算机有变址寻址、间接寻址和相对寻址等寻址方式,一个指令字长等于一个存储字。设当前指令的地址码部分为001AH,正在执行的指令所在地址为1F05H,变址寄存器中的内容为23AOH。已知存储器的部分地址及相应内容如下表所示。

(1)当执行取数指令时,如为变址寻址方式,取出的数为多少?
(2)如为间接寻址,取出的数为多少?
(3)设计算机每取一个存储字PC自动加1,转移指令采用相对寻址,当执行转移指令时,转移地址为多少?若希望转移到23AOH,则指令的地址码部分应设为多少?

选项

答案本题考查指令的寻址方式。前两小题涉及数据寻址,其最终目的是寻址操作数,第3小题涉及指令寻址,其目的是寻址下一条将要执行的指令地址。下表列出了基本的寻址方式,其中偏移寻址包括变址寻址、基址寻址和相对寻址三种方式。 [*] 特别注意相对寻址方式中的PC值更新的问题,根据历年统考真题,通常在取出当前指令后立即将PC的内容加1(或加增量),使之变成下一条指令的地址。 (1)变址寻址时,操作数S=((Rx)+A)=(23AOH+001AH)=(23BAH)=1748H。 (2)间接寻址时,操作数S=((A))=((001AH))=(23AOH)=2600H。 (3)转移指令使用相对寻址,因为指令字长等于存储字长,PC每取出一条指令后自动加1,因此,转移地址=(PC)+1+AH=1F05H+l+001AH=1F20H。若希望转移到23AOH,则指令的地址码部分应为23AOH一(PC)一1=23AOH—1F05H一1=049AH。

解析
转载请注明原文地址:https://kaotiyun.com/show/1HRi777K
0

最新回复(0)