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