问答题 设某计算机有变址寻址、间接寻址和相对寻址等寻址方式。设当前指令的地址码部分为001AH,正在执行的指令所在地址为1F05H,变址寄存器中的内容为23A0H。
(1)当执行取数指令时,如为变址寻址方式,取出的数为多少?
(2)如为间接寻址,取出的数为多少?
(3)当执行转移指令时,转移地址为多少?
已知存储器的部分地址及相应内容,见下表:
地址 内容
001AH
1F05H
1F1FH
23A0H
23BAH
23AOH
2400H
2500H
2600H
1748H
【正确答案】(1)变址寻址的寻址讨程如下: [*] 变址寻址工作原理:指令地址码部分给出的地址A和指定的变址寄存器X的内容通过加法器相加,所得的和作为地址从存储器中读出所需的操作数。 因此,操作数S=((Rx)+A)=(23A0H+001AH)=(23BAH)=1748H。 (2)间接寻址的寻址过程如下: [*] 变址寻址工作原理:对于存储器一次间址的情况,需访问两次存储器才能取得数据 ·第一次从存储器读出操作数地址; ·第二次从该地址中读取操作数。 因此,操作数S=((A))=((001AH))=(23A0H)=2600H。 (3)转移指令使用相对寻址,其过程如下: [*] 转移地址=(PC)+A=1F06H+1H+001AH=1F21H。
【答案解析】