问答题
设某计算机有变址寻址、间接寻址和相对寻址等寻址方式,一个指令字长等于一个存储字。设当前指令的地址码部分为001AH,正在执行的指令所在地址为1F05H,变址寄存器中的内容为23AOH。已知存储器的部分地址及相应内容如下表所示。
|
地址
|
内容
|
|
001AH
|
23A0H
|
|
1F05H
|
2400H
|
|
1F1FH
|
2500H
|
|
23A0H
|
2600H
|
|
23BAH
|
1748H
|
问答题
当执行取数指令时,如为变址寻址方式,取出的数为多少?
【正确答案】
【答案解析】变址寻址时,操作数S=((Rx)+A)=(23A0H+001AH)=(23BAH)=1748H。
问答题
如为间接寻址,取出的数为多少?
【正确答案】
【答案解析】间接寻址时,操作数S=((A))=((001AH))=(23A0H)=2600H。
问答题
设计算机每取一个存储字PC自动加1,转移指令采用相对寻址,当执行转移指令时,转移地址为多少?若希望转移到23A0H,则指令的地址码部分应设为多少?
【正确答案】
【答案解析】转移指令使用相对寻址,因为指令字长等于存储字长,PC每取出一条指令后自动加1,因此转移地址=(PC)+1+A=1F05H+1+001AH=1F20H。若希望转移到23A0H,则指令的地址码部分应为23A0H-(PC)-1=23A0H-1F05H-1=049AH。
[解析] 本题考查指令的寻址方式。前两小题涉及数据寻址,其最终目的是寻址操作数,第3小题涉及指令寻址,其目的是寻址下一条将要执行的指令地址。下表列出了基本的寻址方式,其中偏移寻址包括变址寻址、基址寻址和相对寻址三种方式。
|
寻址方式
|
规则
|
主要优点
|
主要缺点
|
|
立即寻址
|
操作数=A
|
无需访问存储器
|
操作数范围受限
|
|
寄存器寻址
|
EA=R
|
无需访问存储器
|
寻址空间受限
|
|
直接寻址
|
EA=A
|
简单
|
寻址空间受限
|
|
间接寻址
|
EA=(A)
|
寻址空间大
|
多次访问主存
|
|
寄存器间接寻址
|
EA=(R)
|
寻址空间大
|
多访问一次主存
|
|
偏移寻址
|
EA=(R)+A
|
灵活
|
复杂
|
特别注意相对寻址方式中的PC值更新的问题:根据历年统考真题,通常在取出当前指令后立即将PC的内容加1(或加增量),使之变成下条指令的地址。